========================================== Appendix ========================================== .. _Appendix_00: 에러코드표 ---------- +------------+--------------------------------+------------------------------------------------------------+ | 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 | +------------+--------------------------------+------------------------------------------------------------+ ----- .. _Appendix_01: Fast Function ------------- - 일반적인 Comizoa API의 함수 실행 단계는 다음과 같고 함수의 수행시간만큼 지연이 발생합니다. +----------------------------+----------------------+------------------------+--------------------------+------------------------------+ | 어플리케이션에서 함수 호출 | 프로세서로 명령 전달 | 프로세서에서 명령 수행 | 프로세서에서 결과값 반환 | 어플리케이션으로 결과값 전달 | +----------------------------+----------------------+------------------------+--------------------------+------------------------------+ - Fast Function 모드는 함수의 지연이 발생되는 부분을 제거하는 모드로, Fast Function의 함수 실행 단계는 다음과 같습니다. +----------------------------+----------------------+-------------------------------------------------+ | 어플리케이션에서 함수 호출 | 프로세서로 명령 전달 | 수행 결과를 기다리지 않고 어플리케이션으로 반환 | +----------------------------+----------------------+-------------------------------------------------+ - Fast Function 모드로 동작하는 함수들은 '_FF' 접미어가 붙습니다. .. warning:: Fast Function 모드의 함수들은 함수 수행이 완료되기 전에 함수에서 반환될 수 있다는 점을 유의해야 합니다. ----- .. _Appendix_02: 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) ----- .. _Appendix_03: Analog 입/출력시 Digit값 표시 ----------------------------- - Voltage Mode 사용시 - mV단위로 표시되며 예를 들어 1V의 경우 1000으로 표시됩니다. - Current Mode 사용시 - μA단위로 표시되며 예를 들어 4mA의 경우 4000으로 표시됩니다. .. toctree:: :glob: :hidden: struct/* enum/*