cemCfgSeqMode_Get¶
SYNOPSYS¶
VT_I4 cemCfgSeqMode_Get ([out] VT_PI4 SeqMode )
DESCRIPTION¶
cemCfgSeqMode_Get() 함수는 설정되어 있는 시퀀스 모드를 반환합니다.
PARAMETER¶
▶ SeqMode : 현재 이송이 진행되고 있는 축에 새로운 이송 명령이 하달되었을 때 이의 처리를 어떻게 할 것인지에 대한 시퀀스(Sequence) 모드를 설정 혹은 반환합니다. 이 값의 의미는 다음과 같습니다.
Value |
Meaning |
---|---|
0 (cemSEQM_SKIP_RUN)[Default]
|
|
1 (cemSEQM_WAIT_RUN)
|
|
RETURN VALUE¶
Value |
Meaning |
---|---|
음수 |
수행 실패 |
0(ERR_NONE) |
수행 성공 |
REFERENCE¶
Warning
시퀀스(Sequence) 모드가 ccemSEQM_SKIP_RUN[Default]으로 설정된 경우에 이전 이송 명령이 아직 끝나지 않은 상태에서 새로운 이송 명령이 하달되면 에러 처리되고 해당 이송 명령은 실행되지 않습니다. 따라서 이 모드에서 이송 명령을 내릴 때 사용자는 이전의 이송 명령이 완료되었음을 확인하는 것이 바람직합니다.
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 | C/C++
#include “ceSDK.h”
#include “ceSDKDef.h”
void OnGetSeqMode ()
{
long nSeqMode;
// 시퀀스 모드 정보.
// 설정되어있는 시퀀스 모드를 확인 후, cemSEQM_SKIP_RUN 모드로 설정합니다.
if ( cemCfgSeqMode_Get ( &nSeqMode ) == ceERR_NONE )
{
if ( nSeqMode != cemSEQM_SKIP_RUN )
{
cemCfgSeqMode_Get ( cemSEQM_SKIP_RUN )
}
}
}
void OnMove ()
{
SxVMoveStart ( cemX1 );
// 속도 이송 명령 수행
if ( SxMoveStart ( cemX1, 100000 ) != ceERR_NONE )
{
// -5170 에러 코드 반환
// 시퀀스 모드가 cemSEQM_SKIP_RUN 모드로 설정되어 있으므로
// 이송 명령이 완료되지 않은 상태에서 다른 이송 명령은 실행되지 않습니다.
}
}
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | Visual Basic
Private Sub OnGetSeqMode ()
Dim nSeqMode As Long
‘ 시퀀스 모드 정보.
‘ 설정되어있는 시퀀스 모드를 확인 후, cemSEQM_SKIP_RUN 모드로 설정합니다.
If cemCfgSeqMode_Get ( nSeqMode ) = ceERR_NONE Then
If nSeqMode <> cemSEQM_SKIP_RUN Then
Call cemCfgSeqMode_Get ( cemSEQM_SKIP_RUN )
End If
End If
End Sub
Private Sub OnMove ()
Call SxVMoveStart ( cemX1 )
‘ 속도 이송 명령 수행
If SxMoveStart ( cemX1, 100000 ) <> ceERR_NONE Then
‘ -5170 에러 코드 반환
‘ 시퀀스 모드가 cemSEQM_SKIP_RUN 모드로 설정되어 있으므로
‘ 이송 명령이 완료되지 않은 상태에서 다른 이송 명령은 실행되지 않습니다.
End If
End Sub
|
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 | Delphi
procedure OnGetSeqMode ();
var
nSeqMode : LongInt;
// 시퀀스 모드 정보.
begin
// 설정되어있는 시퀀스 모드를 확인 후, cemSEQM_SKIP_RUN 모드로 설정합니다.
if cemCfgSeqMode_Get ( @nSeqMode ) = ceERR_NONE then
begin
if nSeqMode <> cemSEQM_SKIP_RUN then
begin
cemCfgSeqMode_Get ( cemSEQM_SKIP_RUN );
end;
end;
end;
procedure OnMove ();
begin
SxVMoveStart ( cemX1 );
‘ 속도 이송 명령 수행
if SxMoveStart ( cemX1, 100000 ) <> ceERR_NONE then
begin
{ -5170 에러 코드 반환
시퀀스 모드가 cemSEQM_SKIP_RUN 모드로 설정되어 있으므로
이송 명령이 완료되지 않은 상태에서 다른 이송 명령은 실행되지 않습니다. }
end;
end;
|