11.1.25. cmlPmCfgSetSeqMode


SYNOPSYS

VT_I4 cmlPmCfgSetSeqMode ([in] VT_I4 BoardID,  [in] VT_I4 NodeId, [in] VT_I4 SeqMode )

DESCRIPTION

  • cmlPmCfgSetSeqMode() 함수는 현재 이송이 진행되고 있는 축에 새로운 이송 명령이 하달되었을 때, 처리를 어떻게 할 것인지에 대한 모드를 설정합니다. ceSDK에서는 현재 이송 명령이 진행되고 있으므로 에러로 처리하는 모드와 이전 이송 명령이 완료될 때까지 내부적으로 루프를 돌면서 기다리다가 이전 명령이 완료되면 새로운 명령을 실행하는 모드를 지원합니다.

  • 시퀀스(Sequence) 모드 설정은 모든 축에 공통적으로 적용됩니다.

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

PARAMETER

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

▶ NodeId : 사용자가 제어하고자 하는 노드 번호.

▶ SeqMode : 현재 이송이 진행되고 있는 축에 새로운 이송 명령이 하달되었을 때 이의 처리를 어떻게 할 것인지에 대한 시퀀스(Sequence) 모드를 설정 혹은 반환합니다. 이 값의 의미는 다음과 같습니다.

Value

Meaning

0 (ccmlSEQM_SKIP_RUN)[Default]
현재 이송이 진행되고 있는 축에 새로운 이송 명령이 하달되면 -5170
(ccmlERR_MOT_SEQ_SKIPPED) 에러 값과 함께 곧바로 반환됩니다. 다양한 에러
코드의 확인 본 매뉴얼의 부록 편에 명시되어 있습니다.
1 (ccmlSEQM_WAIT_RUN)
현재 이송이 진행되고 있는 축에 새로운 이송 명령이 하달되면 이송 함수 내부에서
루프를 돌면서 이전 이송이 완료되기를 기다리다가 이전 이송이 완료되면 현재
하달된 이송 명령을 수행합니다.

RETURN VALUE

Value

Meaning

음수

수행 실패

0(ERR_NONE)

수행 성공

REFERENCE

Warning

시퀀스(Sequence) 모드가 ccmlSEQM_SKIP_RUN[Default]으로 설정된 경우에 이전 이송 명령이 아직 끝나지 않은 상태에서 새로운 이송 명령이 하달되면 에러 처리되고 해당 이송 명령은 실행되지 않습니다. 따라서 이 모드에서 이송 명령을 내릴 때 사용자는 이전의 이송 명령이 완료되었음을 확인하는 것이 바람직합니다.

EXAMPLE

1
2
3
4
5
6
7
8
9
   C/C++
   #include “ComiMLink2_SDK.h”
   #include “ComiMLink2_SDK_Def.h”
   long BoardID = 0;
   long nSeqMode = 0;
   //시퀀스 모드를 SKIP RUN 모드로 설정합니다.
   cmlPmCfgSetSeqMode(BoardID, 0, ccmlSEQM_SKIP_RUN );
   //현재 설정된 Sequence 모드를 반환합니다.
   cmlPmCfgGetSeqMode(BoardID, 0, &nSeqMode );