cemCfgRingCntr_Set¶
SYNOPSYS¶
VT_I4 cemCfgRingCntr_Set ( [in] VT_I4 Channel, [in] VT_I4 TargCntr, [in] VT_I4 IsEnable,
[in] VT_R8 CntMax)
DESCRIPTION¶
cemCfgRingCntr_Set() 함수는 링 카운터 기능을 활성 또는 비활성화 하고 링 카운터 범위를 설정합니다. 해당 모션 축(Axis) 의 Command 또는 Feedback 카운터를 대상으로 링 카운터를 설정합니다.
PARAMETER¶
▶ Channel : 축 번호. 통합 축으로 관리되는 축 번호를 의미하며, 상수 값으로 0 (Zero Based) 이상, 최대 통합 축 개수 - 1 이하의 값을 축 번호로 설정할 수 있습니다.
▶ TargCntr : 링 카운터 기능 대상 카운터를 설정 혹은 반환합니다.
Value |
Meaning |
---|---|
0 (cemCNT_COMM) |
Command Counter |
1 (cemCNT_FEED) |
Feedback Counter |
▶ IsEnable : 링 카운터 기능 활성/비활성 여부를 설정 혹은 반환합니다.
Value |
Meaning |
---|---|
0 (cemFALSE) |
링 카운터 기능을 사용하지 않습니다. |
1 (cemTRUE) |
링 카운터 기능을 사용합니다. |
▶ CntMax : 링 카운터 범위(0~ 359)를 설정 혹은 반환합니다. 링 카운터 기능이 활성화되면 지정한 카운터는 0~CntMax 사이의 값에서만 카운트 됩니다.
RETURN VALUE¶
Value |
Meaning |
---|---|
음수 |
수행 실패 |
0(ERR_NONE) |
수행 성공 |
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 | C/C++
#include “ceSDK.h”
#include “ceSDKDef.h”
long nAxisNo = 1; // 링 카운터 기능을 설정할 축을 선택합니다.
void OnSetRingCounter ()
{
long nIsEnable; // 링 카운터 설정 정보.
double fCntMax;
/* 커맨드 카운터를 대상으로 링카운터 기능을 활성화합니다.
40000펄스가 되면 커맨드 카운터가 다시 ‘0’부터 카운트 됩니다.*/
cemCfgRingCntr_Set ( nAxisNo, // 대상 축 설정
cemCNT_COMM, // 링 카운터 대상 카운터 설정
CE_TRUE, // 링 카운터 기능 활성/비활성 설정
40000 // 링 카운터 범위 설정
);
// 해당 축의 링카운터 설정 상태를 반환합니다.
cemCfgRingCntr_Get ( nAxis, cemCNT_COMM, &nIsEnable, &fCntMax );
}
void OnMove ()
{
/* 링 카운터 범위가 ‘0 ~ 40000’으로 설정되어 있으므로 Command Count 값이 40000 이 되면
자동으로 0 에서 Command Count 를 계수 합니다. */
cemSxVMoveStart ( nAxisNo );
}
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | Visual Basic
Dim nAxisNo As Long ‘ 링 카운터 기능을 설정할 축을 선택합니다.
nAxisNo = 1
Private Sub OnSetRingCounter ()
Dim nIsEnable As Long ‘ 링 카운터 설정 정보.
Dim fCntMax As Double
‘ 커맨드 카운터를 대상으로 링카운터 기능을 활성화합니다.
‘ 40000 펄스가 되면 커맨드 카운터가 다시 ‘0’부터 카운트 됩니다.
Call cemCfgRingCntr_Set ( nAxisNo, cemCNT_COMM, CE_TRUE, 40000 )
‘ 해당 축의 링카운터 설정 상태를 반환합니다.
Call cemCfgRingCntr_Get ( nAxis, cemCNT_COMM, nIsEnable, fCntMax )
End Sub
Private Sub OnMove ()
‘ 링 카운터 범위가 ‘0 ~ 40000’으로 설정되어 있으므로 Command Count 값이 40000 이 되면
‘ 자동으로 0 에서 Command Count 를 계수 합니다.
Call cemSxVMoveStart ( nAxisNo )
End Sub
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | Delphi
procedure OnSetRingCounter ();
var
nIsEnable : LongInt;
fCntMax : Double;
// 링 카운터 설정 정보.
begin
{ 커맨드 카운터를 대상으로 링카운터 기능을 활성화합니다.
40000 펄스가 되면 커맨드 카운터가 다시 ‘0’부터 카운트 됩니다. }
cemCfgRingCntr_Set ( cemX1, cemCNT_COMM, CE_TRUE, 40000 );
// 해당 축의 링카운터 설정 상태를 반환합니다.
cemCfgRingCntr_Get ( cemX1, cemCNT_COMM, @nIsEnable, @fCntMax );
end;
procedure OnMove ();
begin
{ 링 카운터 범위가 ‘0 ~ 40000’으로 설정되어 있으므로 Command Count 값이 40000 이 되면
자동으로 0 에서 Command Count 를 계수 합니다. }
cemSxVMoveStart ( cemX1 );
end;
|