Comi ECAT API 소개 ============================================= .. _ECAT_introduction_01: 함수의 명명 규칙 - 접두어 ------------------------- * ComiECAT SDK에서 제공하는 모든 함수는 다른 API 함수와 이름이 중복되는 것을 피하기 위하여 "ec"이라는 접두어가 붙습니다. * "ec" 뒤에 해당 함수가 속하는 기능의 그룹을 대표하는 접두어가 이어집니다. 예시 ^^^^^ +---------------------+------------+---------------------------------------------------------------------------+--------------------------------+ | 구분 | 접두어 | 설명 | 적용 함수 예시 | +=====================+============+===========================================================================+================================+ | 일반 | ecGn | 라이브러리 전체에서 일반적으로 사용될 수 있는 기능을 제공하는 함수군 | :ref:`ecGn_LoadDevices` | +---------------------+------------+---------------------------------------------------------------------------+--------------------------------+ | 네트워크 인터페이스 | ecNet | 네트워크 제어와 상태감시 및 데이터의 읽기 쓰기 관련기능을 제공하는 함수군 | :ref:`ecNet_IsBootCompt` | +---------------------+------------+---------------------------------------------------------------------------+--------------------------------+ | 슬레이브 인터페이스 | ecSlv | 슬레이브와의 인터페이스 기능을 제공하는 함수군 | :ref:`ecSlv_GetAlState` | +---------------------+------------+---------------------------------------------------------------------------+--------------------------------+ | 디지털 입력 | ecdi | 디지털입력과 관련된 기능을 제공하는 함수군 | :ref:`ecdiGetOne` | +---------------------+------------+---------------------------------------------------------------------------+--------------------------------+ | 디지털 출력 | ecdo | 디지털출력과 관련된 기능을 제공하는 함수군 | :ref:`ecdoGetOne` | +---------------------+------------+---------------------------------------------------------------------------+--------------------------------+ | 아날로그 입력 | ecai | 아날로그 입력(A/D)과 관련된 기능을 제공하는 함수군 | :ref:`ecaiGetNumChannels` | +---------------------+------------+---------------------------------------------------------------------------+--------------------------------+ | 아날로그 출력 | ecao | 아날로그 출력과 관련된 기능을 제공하는 함수군 | :ref:`ecaoGetNumChannels` | +---------------------+------------+---------------------------------------------------------------------------+--------------------------------+ | 모션제어 | ecm | 모션제어 함수군들은 그 수가 많아서 다시 세부 기능별로 접두어가 추가됨 | :ref:`ecmGn_GetAxisList` | +---------------------+------------+---------------------------------------------------------------------------+--------------------------------+ | 단축 환경설정 | ecmSxCfg | 단축의 환경 설정과 관련한 기능을 제공하는 함수군 | :ref:`ecmSxCfg_SetUnitDist` | +---------------------+------------+---------------------------------------------------------------------------+--------------------------------+ | 단축 상태제어 | ecmSxCtl | 서보온/오프와 같이 단축의 상태를 제어하는 함수군(이송 함수는 제외) | :ref:`ecmSxCtl_SetSvon` | +---------------------+------------+---------------------------------------------------------------------------+--------------------------------+ | 단축 이송명령 | ecmSxMot | 단축의 이송과 관련된 명령의 함수군 | :ref:`ecmSxMot_VMoveStart` | +---------------------+------------+---------------------------------------------------------------------------+--------------------------------+ | 단축 상태감시 | ecmSxSt | 단축의 모션 상태를 감시하거나 설정하는 기능을 제공하는 함수군 | :ref:`ecmSxSt_IsBusy` | +---------------------+------------+---------------------------------------------------------------------------+--------------------------------+ | 다축 이송명령 | ecmMxMot | 다축(Multiple Axes)의 이송과 관련된 명령의 함수군 | :ref:`ecmMxMot_VMoveStart` | +---------------------+------------+---------------------------------------------------------------------------+--------------------------------+ | 다축 상태감시 | ecmMxSt | 다축의 모션 상태를 감시하거나 설정하는 기능을 제공하는 함수군 | :ref:`ecmMxSt_IsBusy` | +---------------------+------------+---------------------------------------------------------------------------+--------------------------------+ | 다축 보간 환경설정 | ecmIxCfg | 다축 보간 이송의 환경을 설정하는 기능을 제공하는 함수군 | :ref:`ecmIxCfg_MapAxes` | +---------------------+------------+---------------------------------------------------------------------------+--------------------------------+ | 다축 보간 이송명령 | ecmIxMot | 다축 보간 이송과 관련된 명령의 함수군 | :ref:`ecmIxMot_LineStart` | +---------------------+------------+---------------------------------------------------------------------------+--------------------------------+ | 다축 보간 상태감시 | ecmIxSt | 다축 보간의 모션 상태를 감시하거나 설정하는 기능을 제공하는함수군 | :ref:`ecmIxSt_IsBusy` | +---------------------+------------+---------------------------------------------------------------------------+--------------------------------+ | 원점복귀 환경설정 | ecmHomeCfg | 원점복귀 구동의 환경을 설정하는 기능을 제공하는함수군 | :ref:`ecmHomeCfg_SetSpeedPatt` | +---------------------+------------+---------------------------------------------------------------------------+--------------------------------+ | 원점복귀 이송명령 | ecmHomeMot | 원점복귀 이송 명령과 관련된 함수군 | :ref:`ecmHomeMot_MoveStart` | +---------------------+------------+---------------------------------------------------------------------------+--------------------------------+ | 원점복귀 상태감시 | ecmHomeSt | 원점복귀 구동의 상태를 감시하거나 설정하는 기능을 제공하는함수군 | :ref:`ecmHomeSt_IsBusy` | +---------------------+------------+---------------------------------------------------------------------------+--------------------------------+ ----- .. _ECAT_introduction_02: 함수의 명명 규칙 - 접미어 ------------------------- * ComiECAT SDK의 일부 함수는 기능을 구분하기 위해 특정 접미어가 붙습니다. 예시 ^^^^^ +------------------------+--------+------------------------------------------------------------------------+--------------------------+ | 구분 | 접미어 | 설명 | 적용 함수 예 | +========================+========+========================================================================+==========================+ | FastFunctions | FF | :ref:`ECAT_Appendix_00` | :ref:`ecSlv_WriteReg` | +------------------------+--------+------------------------------------------------------------------------+--------------------------+ | Non-Blocking Functions | NB | :ref:`ECAT_Appendix_01` | :ref:`ecmSxMot_Move` | +------------------------+--------+------------------------------------------------------------------------+--------------------------+ | 슬레이브 지정 방식 | A | 슬레이브의 연결 순서에 따른 Index로 슬레이브를 지정하는 함수 | :ref:`ecSlv_ReadReg` | +------------------------+--------+------------------------------------------------------------------------+--------------------------+ | 지역 채널 지정 방식 | L | 글로벌 채널이 아닌 슬레이브 내부에서의 채널번호로 채널을 지정하는 함수 | :ref:`ecdiLtc_SetFilter` | +------------------------+--------+------------------------------------------------------------------------+--------------------------+ ----- .. _ECAT_introduction_03: 데이터형 표기 -------------------------------------------------------------- * 본 매뉴얼에서의 데이터 형 표기는 아래 표와 같습니다. +-----------+-----------------------------+----------------+ | Data type | Description | C/C++ | +===========+=============================+================+ | t_char | 1바이트 ASCII 문자 코드 | char | +-----------+-----------------------------+----------------+ | t_byte | 부호가 없는 양의 정수 | unsigned char | +-----------+-----------------------------+----------------+ | t_uchar | 부호가 없는 양의 정수 | unsigned char | +-----------+-----------------------------+----------------+ | t_bool | True 나 False 형태의 논리형 | bool | +-----------+-----------------------------+----------------+ | t_i8 | 1바이트 ASCII 문자 코드 | char | +-----------+-----------------------------+----------------+ | t_ui8 | 부호가 없는 양의 정수 | unsigned char | +-----------+-----------------------------+----------------+ | t_i16 | 부호가 있는 2바이트 정수 | short | +-----------+-----------------------------+----------------+ | t_word | 부호가 없는 2바이트 정수 | unsigned short | +-----------+-----------------------------+----------------+ | t_ui16 | 부호가 없는 2바이트 정수 | unsigned short | +-----------+-----------------------------+----------------+ | t_i32 | 부호가 있는 4바이트 정수 | int | +-----------+-----------------------------+----------------+ | t_ui32 | 부호가 없는 4바이트 정수 | unsigned int | +-----------+-----------------------------+----------------+ | t_dword | 부호가 없는 4바이트 정수 | unsigned int | +-----------+-----------------------------+----------------+ | t_f32 | 부호가 있는 4바이트 정수 | float | +-----------+-----------------------------+----------------+ | t_f64 | 부호가 있는 8바이트 정수 | double | +-----------+-----------------------------+----------------+ | t_success | True 나 False 형태의 논리형 | bool | +-----------+-----------------------------+----------------+ | t_cmdidx | 부호가 없는 4바이트 정수 | unsigned int | +-----------+-----------------------------+----------------+