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;
|