8. Appendix

8.1. 에러코드표

Error Code

Define

Meaning

0

ecERR_NONE

에러 없음

-20

ecERR_INVALID_NETID

잘못된 Network ID 입력

-25

ecERR_INVALID_SLAVEID

잘못된 슬레이브 주소나 슬레이브 인덱스 입력

-30

ecERR_INVALID_CHANNEL

잘못된 축번호나 채널번호 입력

-60

ecERR_INVALID_FUNC_ARG

함수의 매개변수가 유효하지 않는 값이 입력

-70

ecERR_NULL_WDMNETCTXT

WDM 드라이버에서 제공하는 공유메모리 포인터가 NULL 인 경우

-90

ecERR_INVALID_LOG_MEM_ADDR

Logical Memory의 주소값이 올바르지 않은 경우

-100

ecERR_INVALID_IO_CHAN_MAP_DATA

I/O 채널 맵핑 데이터의 일부 멤버값이 올바르지 않은 경우

-50001

secERR_NULL_FILENAME

파일 메모리 포인터가 NULL 인 경우

-50002

secERR_NULL_ECATCHECKPROC

EcatCheckProc 쓰레드 생성 실패한 경우

-50003

secERR_NONE_NETADAPTER

Network Adapter가 발견되지 않은 경우

-50004

secERR_NOT_OP_ALLSLAVE

일부 또는 전체 Slave가 OP 상태에 있지 않는 경우

-50005

secERR_NULL_BUFFER

버퍼가 NULL인 경우

-50006

secERR_EEPROM_READ

EEPROM Read 실패한 경우

-50007

secERR_EEPROM_WRITE

EEPROM Write 실패한 경우

-50008

secERR_EEPROM_FILE

EEPROM File 읽기가 실패한 경우

-50009

secERR_INVALID_EEPROM_RW_MODE

지원되지 않는 EEPROM Read/Write Mode 요청시

-50010

secERR_OVERSIZE_FIRMWARE

펌웨어 크기가 너무 큰 경우

-50011

secERR_FOE_WRITE

FOE Write 실패한 경우

-50012

secERR_FIRMWARE_FILE

Firmware 파일 읽기가 실패한 경우

-50013

secERR_TIMEOUT_BOOTMODE

BOOT 모드로 요청에 대해 Timeout된 경우

-50014

secERR_SDO_READ

SDO Read 실패시

-50015

secERR_SDO_WRITE

SDO Write 실패시

-50016

secERR_NOT_SUPPORTED_DEVICE

지원되지 않는 Device


8.2. Fast Function

  • 일반적인 Comizoa API의 함수 실행 단계는 다음과 같고 함수의 수행시간만큼 지연이 발생합니다.

어플리케이션에서 함수 호출

프로세서로 명령 전달

프로세서에서 명령 수행

프로세서에서 결과값 반환

어플리케이션으로 결과값 전달

  • Fast Function 모드는 함수의 지연이 발생되는 부분을 제거하는 모드로, Fast Function의 함수 실행 단계는 다음과 같습니다.

어플리케이션에서 함수 호출

프로세서로 명령 전달

수행 결과를 기다리지 않고 어플리케이션으로 반환

  • Fast Function 모드로 동작하는 함수들은 ‘_FF’ 접미어가 붙습니다.

Warning

Fast Function 모드의 함수들은 함수 수행이 완료되기 전에 함수에서 반환될 수 있다는 점을 유의해야 합니다.


8.3. Object & SDO (Service Data Object) & PDO (Periodic Data Object)

  • CoE(CANOpen Over EtherCAT)를 지원하는 이더캣 슬레이브 장치는 해당 슬레이브가 지원하는 기능(Function)이나 데이터(Data)를 오브젝트(Object)로 정의하여 제공합니다.

  • 오브젝트의 데이터 형식이나 속성에 대해서는 오브젝트 사전 (Object Dictionary)로 정의합니다.

  • 오브젝트는 인덱스(Index)와 서브인덱스(Sub-Index)를 통해 서로를 구분하며 오브젝트가 하나의 값을 가지는 객체일 경우 서브인덱스의 값은 0이고, 여러 개의 배열로 이루어졌거나 구조체와 같은 형식이라면 여러 개의 서브인덱스로 구성됩니다.

  • SDO는 비주기적으로 전달되는 데이터 오브젝트, PDO는 주기적으로 전달되는 데이터 오브젝트를 의미합니다.

  • Input PDO 데이터는 슬레이브로부터 마스터에게 주기적으로 전달되는 입력 데이터를 말합니다. 슬레이브 입장에서 전송하는 것이므로 Tx PDO 라고도 합니다. (마스터 - In PDO / 슬레이브 - TX PDO)

  • Output PDO 데이터는 마스터가 슬레이브에게 주기적으로 전달하는 출력 데이터를 말합니다. 슬레이브 입장에서 수신하는 것이므로 Rx PDO 라고도 합니다. (마스터 - Out PDO / 슬레이브 - RX PDO)


8.4. Analog 입/출력시 Digit값 표시

  • Voltage Mode 사용시 - mV단위로 표시되며 예를 들어 1V의 경우 1000으로 표시됩니다.

  • Current Mode 사용시 - μA단위로 표시되며 예를 들어 4mA의 경우 4000으로 표시됩니다.