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;