cmcPmStReadMotionState


SYNOPSYS

VT_I4 cmcPmStReadMotionState ([in] VT_I4 BoardID,  [in] VT_I4 NodeId,
[in] VT_I4 Channel, [out] VT_PI4 MotStates )

DESCRIPTION

  • cmcPmStReadMotionState() 함수는 현재 모션의 동작 상태를 반환합니다.

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

PARAMETER

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

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

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

▶ MotStates : 모션 상태.

Value

Meaning

음수

모션작업 도중 에러 발생 => 에러코드 참조.

0 (cmcMST_STOP)

Stop

1 (cmcMST_WAIT_DR)

Waiting for DR input signal

2 (cmcMST_WAIT_STA)

Waiting for STA input signal

3 (cmcMST_WAIT_INSYNC)

Waiting for internal sync. signal

4 (cmcMST_WAIT_OTHER)

Waiting other axis

5 (cmcMST_WAIT_ERC)

Waiting for ERC output finished

6 (cmcMST_WAIT_DIR)

Waiting for DIR change (DIR은 외부 입력 신호가 아닌 내부적인 신호임)

7 (cmcMST_RESERVED1)

Reserved

8 (cmcMST_WAIT_PLSR)

Waiting for PA/PB input signal

9 (cmcMST_IN_RVSSPD)

In home special speed (reverse speed)

10(cmcMST_IN_INISPD)

In start velocity motion

11(cmcMST_IN_ACC)

In acceleration

12 (cmcMST_IN_WORKSPD)

In working velocity

13 (cmcMST_IN_DEC)

In deceleration

14 (cmcMST_WAIT_INP)

Waiting for INP input signal

15 (cmcMST_SPARE0)

Reserved

16 (cmcMST_HOMMING)

In Homming

RETURN VALUE

Value

Meaning

음수

수행 실패

ERR_NONE

수행 성공

REFERENCE

  • 논리적 단위 거리는 cmcPmCfgSetUnitSpeed() 함수에 의해 결정됩니다.

EXAMPLE

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
   C/C++

   #include “ComiMLink3_SDK.h”
   #include “ComiMLink3_SDK_Def.h”

   long BoardID = 0;

   char szMstList[18][20] = {
   "Stop",
   "Wait DR",
   "Wait STA",
   "Wait INSYNC",
   "Wait Other Axis",
   "Wait ERC",
   "Wait DIR",
   "Reserved1",
   "Wait PA/PB",
   "On Reverse Speed",
   "On Initial Speed",
   "On Acceleration",
   "On Work Speed",
   "On Deceleration",
   "Wait INP",
   "Reserved",
   “In Homming”,
   “”
   };

   long nMST = 0;

   //0번 축의 모션 상태를 반환합니다.
   cmcPmStReadMotionState(BoardID, 3, ccmcX1, &nMST );

   if( nMST < 0 )
   {
   OutputDebugString( "ReadMotionState Error!" );
   }

   //화면에 표시할 문자열을 조합합니다.
   CString sMsg = "Current Motion State : " + szMstList[nMST];

   //DisplayStatus() 함수는 화면에 상태를 표시하는 가상의 함수입니다.
   DisplayStatus( sMsg );

SEE ALSO

See also

cmcPmStGetMstString