cmmStSetCount


SYNOPSIS

VT_I4 cmmStSetCount(
    [in] VT_I4 Axis, [in] VT_I4 Target,
    [in] VT_I4 Count
    )

DESCRIPTION

  • 지정한 채널의 지정한 카운터의 값을 새로이 설정합니다. 단, 이때 지정하는 카운터값의 단위는 펄스수입니다. 이 함수는 카운터의 값을 지정하는 매개 변수의 단위가 펄스수라는 것을 제외하고는 cmmStSetPosition() 함수와 동일합니다.

PARAMETER

  • Axis: 축번호. 축번호는 상수값으로 [cmX1] 부터 0 번째 축을 기준 축으로 임의의 축을 설정할 수 있습니다.

  • Target : 설정할 카운터 번호. 이 값은 다음의 4 가지 값중의 하나이어야 합니다.

Value

Meaning

0 또는 cmCNT_COMM

Command Counter

1 또는 cmCNT_FEED

Feedback Counter

2 또는 cmCNT_DEV

Deviation Counter: Command 와 Feedback counter 의 편차 카운터

3 또는 cmCNT_GEN

General Counter: 사용자의 정의에 따라 여러가지 용도로 사용될 수 있는 카운터

  • Count : 지정한 값으로 대상 카운터의 값을 설정합니다. 이 값은 이 값은 논리단위가 아닌 실제 펄스 카운트값입니다.

RETURN VALUE

Value

Meaning

음수

수행 실패

cmERR_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
C/C++

#include “Cmmsdk.h”
#include “CmmsdkDef.h”

void OnSetCount ()
{
   long nCommCount; // Command Count
   long nFeedCount; // Feedback Count

   /* Command, Feedback 카운트 값을 확인한 후, ‘0’ 으로 초기화 합니다. */

   if (cmmStGetCount (cmX1, cmCNT_COMM, &nCommCount ) == cmERR_NONE )
   {
       if ( nCommCount != 0 )
       {
           // Command 카운트를 0 으로 설정합니다.
           cmmStSetCount (cmX1, cmCNT_COMM, 0 );
       }
   }

   if (cmmStGetCount (cmX1, cmCNT_FEED, &nFeedCount ) == cmERR_NONE )
   {
       if ( nFeedCount != 0 )
       {
           // Feedback 카운트를 0 으로 설정합니다.
           cmmStSetCount (cmX1, cmCNT_FEED, 0 );
       }
   }
}
 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
Visual Basic

Private Sub OnSetCount ()

   Dim nCommCount As Long ‘ Command Count
   Dim nFeedCount As Long ‘ Feedback Count

   ‘ Command, Feedback 카운트 값을 확인한 후, ‘0’ 으로 초기화 합니다.

   If cmmStGetCount (cmX1, cmCNT_COMM, nCommCount ) = cmERR_NONE Then
       If nCommCount <> 0 Then
           ‘ Command 카운트를 0 으로 설정합니다.
           Call cmmStSetCount (cmX1, cmCNT_COMM, 0 )
       End If
   End If

   If cmmStGetCount (cmX1, cmCNT_FEED, nFeedCount ) = cmERR_NONE Then

       If nFeedCount <> 0 Then
           ‘ Feedback 카운트를 0 으로 설정합니다.
           Call cmmStSetCount (cmX1, cmCNT_FEED, 0 )
       End If
   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
27
28
29
30
Delphi

procedure OnSetCount ();
var
   nCommCount : LongInt; // Command Count
   nFeedCount : LongInt; // Feedback Count

begin

   // Command, Feedback 카운트 값을 확인한 후, ‘0’ 으로 초기화 합니다.

   if cmmStGetCount (cmX1, cmCNT_COMM, @nCommCount ) = cmERR_NONE then
   begin
       if nCommCount <> 0 then
       begin
           // Command 카운트를 0 으로 설정합니다.
           cmmStSetCount (cmX1, cmCNT_COMM, 0 );
       end;
   end;

   if cmmStGetCount (cmX1, cmCNT_FEED, @nFeedCount ) = cmERR_NONE then
   begin
       if nFeedCount <> 0 then
       begin
           // Feedback 카운트를 0 으로 설정합니다.
           cmmStSetCount (cmX1, cmCNT_FEED, 0 );
       end;
   end;

end;

See also

cmmStGetCount