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