4.1.24. cmmCfgSetInMode


SYNOPSYS

VT_I4 cmmCfgSetInMode (
    [in] VT_I4 Axis, [in] VT_I4 InputMode, [in] VT_I4 IsInverse
    )

DESCRIPTION

  • 4 가지 형태의 Feedback 펄스의 입력모드를 설정할 수 있습니다.

PARAMETER

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

  • InputMode : cmmCfgSetInMode 함수의 인자이며, Feedback 펄스의 입력 모드 설정값입니다. 입력 모드는 다음과 같이 5 가지 설정값을 가집니다.

Value

Meaning

0 (cmIMODE_ABIX)

1X A/B (1 채배 엔코더 입력 모드)

1 (cmIMODE_AB2X)

2X A/B (2 채배 엔코더 입력 모드)

2 (cmIMODE_AB4X)

4X A/B (4 채배 엔코더 입력 모드)

3 (cmIMODE_CWCCW)

CW/CCW (A 펄스 - 카운트 증가, B 펄스 - 카운트 감소)

4 (cmIMODE_STEP)

이 모드에서는 Feedback 위치값을 읽으면 Command 위치값이 바이패스(bypass)됩니다. 엔코더 피드백이 없는 경우(스텝모터)에 이 모드를 선택합니다.

  • IsInverse : cmmCfgSetInMode 함수의 인자이며, Feedback Count 값의 UP/DOWN 방향을 반대로 할 것인지에 대한 설정 값입니다.

Value

Meaning

0

Feedback count 의 UP/DOWN 방향을 바꾸지 않습니다.

1

Feedback count 의 UP/DOWN 방향을 반대로 합니다.

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
C/C++

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

void OnSetInMode ()
{
   long nAxisNo = 1; // Feedback Pulse 입력 모드를 설정할 축을 선택합니다.
   long nInputMode, nIsReverse; // 입력 모드 정보.

   /* 설정되어있는 Feedback Pulse 입력 모드를 확인하여,
   입력 모드를 ‘4 채배 엔코더 입력 모드’ 로 설정합니다. */

   // 입력 모드 및 입력 펄스 로직 설정 상태 확인
   if (cmmCfgGetInMode ( nAxisNo, &nInputMode, &nIsReverse ) == cmERR_NONE )
   {
       if ( nInputMode != cmIMODE_AB4X)
       {
           cmmCfgSetInMode ( nAxisNo, cmIMODE_AB4X, cmFALSE );
       }
   }
}

---------------------------------------------------------------------------------------------------------
Visual Basic

Private Sub OnSetInMode ()

   Dim nAxisNo As Long                               ‘ Feedback Pulse 입력 모드를 설정할 축을 선택합니다.
   Dim nInputMode As Long, nIsReverse As Long        ‘ 입력 모드 정보.

   nAxisNo = 1

   ‘ 설정되어있는 Feedback Pulse 입력 모드를 확인하여,
   ‘ 입력 모드를 ‘4 채배 엔코더 입력 모드’ 로 설정합니다.

   ‘ 입력 모드 및 입력 펄스 로직 설정 상태 확인
   If cmmCfgGetInMode ( nAxisNo, nInputMode, nIsReverse ) = cmERR_NONE Then

       If nInputMode <> cmIMODE_AB4X Then
           Call cmmCfgSetInMode ( nAxisNo, cmIMODE_AB4X, cmFALSE )
       End If
   End If
End Sub

---------------------------------------------------------------------------------------------------------
Delphi

procedure OnSetInMode ();
var
   nAxisNo : LongInt; // Feedback Pulse 입력 모드를 설정할 축을 선택합니다.
   nInputMode, nIsReverse : LongInt; // 입력 모드 정보.

begin
   nAxisNo := 1;

   { 설정되어있는 Feedback Pulse 입력 모드를 확인하여,
   입력 모드를 ‘4 채배 엔코더 입력 모드’ 로 설정합니다. }

   // 입력 모드 및 입력 펄스 로직 설정 상태 확인
   if cmmCfgGetInMode ( nAxisNo, @nInputMode, @nIsReverse ) = cmERR_NONE then
   begin
       if nInputMode <> cmIMODE_AB4X then
       begin
           cmmCfgSetInMode ( nAxisNo, cmIMODE_AB4X, cmFALSE );
       end;
   end;

end;

See also

cmmCfgGetInMode