cmcPmStReadMIOStatuses


SYNOPSYS

VT_I4 cmcPmStReadMioStatuses ([in] VT_I4 BoardID,  [in] VT_I4 NodeId,
[in] VT_I4 Channel, [out] VT_PI4 MioStates )

DESCRIPTION

  • 이 함수는 현재 모션과 관련된 여러 가지 MIO 상태를 반환합니다. 각 비트별로 할당된 MIO 의 상태를 표시하므로 사용자는 비트 마스크를 수행하여 원하는 I/O 의 상태를 확인하여야 합니다.

  • 범용적인 모션 응용 프로그램에서는 MIO(Machine I/O) 상태를 표현하기 위한 용도로 본 함수의 사용 빈도가 매우 높습니다.

  • 이 함수의 사용과 호출에 있어, 제공된 ㈜커미조아의 함수 헤더 Visual Basic 에서는 함수의 첨두어 cmc 가 붙지 않습니다.

PARAMETER

▶ BoardID : 사용자가 설정한 디바이스(보드) ID.

▶ NodeId : 노드 번호. 노드 번호는 3부터 시작합니다.

▶ Channel : 축 번호. 통합 축으로 관리되는 축 번호를 의미하며, 상수 값으로 0 (Zero Based) 이상, 최대 통합 축 개수 - 1 이하의 값을 축 번호로 설정할 수 있습니다.

▶ MioStates : Machine I/O 상태

Bit No.

Name

Meaning

0 (cmcIOST_RDY)

RDY

Servo ready signal input status(1=ON)

1 (cmcIOST_ALM)

ALM

Alarm signal status(1=ON)

2 (cmcIOST_ELN)

-EL

Negative limit switch status(1=ON)

3 (cmcIOST_ELP)

+EL

Positive limit switch status(1=ON)

4 (cmcIOST_ORG)

ORG

Origin switch status(1=ON)

5 (cmcIOST_DIR)

DIR

Operating direction status(1=ON)

6 (cmcIOST_EZ)

EZ

Index signal status(1=ON)

7 (cmcIOST_LTC)

LTC

Latch signal input status(1=ON)

8 (cmcIOST_SD)

SD

Slow Down signal input status(1=ON)

9 (cmcIOST_INP)

INP

In-Position signal input status(1=ON)

10 (cmcIOST_DRN)

DRN

-DR input signal status(1=ON)

11 (cmcIOST_DRP)

DRP

+DR input signal status(1=ON)

12 (cmcIOST_STA)

STA

STA input signal status(1=ON)

13 (cmcIOST_STP)

STP

STP input signal status(1=ON)

14 (cmcIOST_ALMR)

ALMR

Alarm Reset output signal status(1=ON)

15 (cmcIOST_EMG)

EMG

Emergency output signal status(1=ON)

16 (cmcIOST_SVON)

SVON

Servo-ON output signal status(1=ON)

17 ~31

Reserved

RETURN VALUE

Value

Meaning

음수

수행 실패

ERR_NONE

수행 성공

EXAMPLE

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
   C/C++
   #include “ComiMLink3_SDK.h”
   #include “ComiMLink3_SDK_Def.h”
   long BoardID = 0;
   long nMioState = 0;
   //0번 축의 MioState Bit가 설정된 32Bit값을 반환합니다.
   cmcPmStReadMioStatuses(BoardID, 3, ccmcX1, &nMioState );
   //nMioState 의 값을 오른쪽으로 쉬프트 연산하여, 해당 상태 값을 얻습니다.
   bool ALM_State = ( nMioState >> ccmcIOST_ALM ) & 0x01;
   bool ELP_State = ( nMioState >> ccmcIOST_ELP ) & 0x01;
   bool ELN_State = ( nMioState >> ccmcIOST_ELN ) & 0x01;
   bool ORG_State = ( nMioState >> ccmcIOST_ORG ) & 0x01;