========================================== Appendix ========================================== .. _Appendix_00: 에러코드표 ---------- +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | Error Code | Define | Meaning | +============+============================+================================================================================================================================+ | 0 | ceERR_NONE | 에러 없음 | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | 1 | | 모션 함수의 수행에 오류가 발생하지 않았습니다. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | 2 | | DIO 함수의 수행에 오류가 발생하지 않았습니다. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | 3 | | AD/DA 함수의 수행에 오류가 발생하지 않았습니다. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | 4 | | 범용 함수의 수행에 오류가 발생하지 않았습니다. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -1 | | 모션 함수 수행에 알 수 없는 오류가 발생하였습니다. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -2 | | DIO 함수의 수행에 알 수 없는 오류가 발생하였습니다. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -3 | | AD/DA 함수의 수행에 알 수 없는 오류가 발생하였습니다. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -4 | | 범용 함수 수행에 알 수 없는 오류가 발생하였습니다. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -101 | ceGnERR_TIMEOUT | communication timeout error. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -102 | ceGnERR_INVALID_PACKET | Packet data error. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -103 | ceGnERR_CHECKSUM | checksum mismatch | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -104 | ceGnERR_FLASH_ERASE_FAIL | fail to erase flash-memory. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -105 | ceGnERR_UNDEFINE_COMMAND | Undefined control command has been received. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -290 | cemERR_MEM_ALLOC_FAIL | Memory allocation fail. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -292 | cemERR_GLOBAL_MEM_FAIL | Global memory allocation fail. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -310 | cemERR_ISR_CONNEC_FAIL | ISR(Interrupt Service Routine) registration fail. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -400 | cemERR_DIVIDE_BY_ZERO | Cause divide by zero error. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -500 | cemERR_WORNG_NUM_DATA | Number of data is too small or too big. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -600 | cemERR_VER_MISMATCH | Version(of file or device) mismatch. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -601 | cmERR_FLASH_ERASE_FAIL | fail to erase a flash-memory sector. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -602 | cmERR_FLASH_WRITE_FAIL | fail to write a flash-memory sector. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -603 | cmERR_FLASH_COPYSECT_FAIL | fail to copy whole data from source sector to target sector. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -604 | cmERR_FLASH_CANNOTMODIFY | cannot modify the sector. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -605 | cmERR_INVALID_SYSCFG | TSysConfig 의 dwSign 값이 SYS_CFG_SIGN 과 맞지 않음. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -606 | cmERR_MAXBYTESLIMIT_SYSCFG | TSysConfig 의 dwComment 의 최대 허용바이트수 초과됨. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -1010 | cemERR_INVALID_DEVICE_ID | User set invalid device id. Refer to “DeviceId” property. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -1020 | cemERR_INVALID_HANDLE | Device handle is not valid. This means that loading a device has been failed or not performed. Refer to “ceGnLoad” function. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -1030 | cemERR_UNSUPORTED_FUNC | cannot modify the sector. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -1101 | cemERR_INVALID_PARAMETER | Some of the function parameters are invalid. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -1105 | cemERR_INVALID_CHANNEL | The channel setting parameter(s) is(are) invalid. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -1111 | cemERR_INVALID_INPUT_RANGE | Invalid range value (AI, AO). | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -1121 | cemERR_INVALID_FREQ_RANGE | User selected invalid frequency range. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -1501 | cemERR_FILE_CREATE_FAIL | File creation has been failed. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -1511 | cemERR_FILE_OPEN_FAIL | File openning has been failed. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -1522 | cemERR_FILE_READ_FAIL | File reading fail. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -1550 | cemERR_EVENT_CREATE_FAIL | Event handle creation has been failed. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -1560 | cemERR_INT_INSTANCE_FAIL | Interrupt event instance creation has been failed. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -1570 | cemERR_DITHREAD_CRE | D/I state change monitor thread creation fail. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -1580 | cemERR_BUFFER_SMALL | Buffer size is too small. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -1590 | cemERR_HIGH_TIMER_UNSUPP | The installed hardware doesn’t support a high-resolution performance counter(when cemUtlDelayMicroSec() had failed). | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | -1600 | cemERR_OUT_OF_RANGE | The range of some parameter is out of range that it is occurred. | +------------+----------------------------+--------------------------------------------------------------------------------------------------------------------------------+ .. _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/*