4.1.25. cmmCfgSetInOutRatio¶
SYNOPSYS¶
VT_I4 cmmCfgSetInOutRatio(
[in] VT_I4 Axis, [in] VT_R8 Ratio
)
DESCRIPTION¶
Feedback 펄스와 Command 펄스의 분해능 비율(Resolution ratio)을 설정합니다. Feedback 펄스의 분해능이란 엔코더의 1회전 시에 발생되는 펄스 수를 의미합니다. Command 펄스의 분해능이란 모터를 1회전시키기 위해 필요한 Command 펄스 수를 의미합니다.
PARAMETER¶
Axis: 축번호. 축번호는 상수값으로 [cmX1] 부터 0 번째 축을 기준 축으로 임의의 축을 설정할 수 있습니다.
Ratio : cmmCfgSetInOutRatio 함수의 인자이며, Feedback 펄스와 Command 펄스의 분해능 비를 지정합니다. 이 값은 아래와 같이 설정합니다.
Ratio = (Feedback 펄스 분해능)/(Command 펄스의 분해능)
RETURN VALUE¶
cmmCfgSetInOutRatio() 및 cmmCfgGetInOutRatio() 함수의 반환값
Value |
Meaning |
---|---|
음수 |
수행 실패 |
cmERR_NONE |
수행 성공 |
seealso¶
□ In/Out Ratio 는 Actual(Feedback) position 또는 Actual speed 를 논리 단위로 읽을 때 적용됩니다. 논리적 단위 거리나 단위 속도는 Command 펄스기준으로 설정되므로 Command 펄스와 Feedback 펄스의 분해능이 서로 다르다면 Actual position 이나 Actual speed 의 논리값 계산이 잘못되게 됩니다.
□ In/Out Ratio 는 cmmStGetPosition() 함수와 cmmStGetSpeed() 함수에서 카운터를 cmCNT_FEED 으로 설정한 경우에만 영향을 미칩니다.
Example¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | C/C++
#include “Cmmsdk.h”
#include “CmmsdkDef.h”
void OnSetInOutRatio ()
{
long nAxisNo = 0; // 입력 펄스와 출력 펄스의 분해능 비율을 설정할 축을 선택합니다.
double fInOutRatio; // 분해능 비율 정보.
/* 입력 펄스와 출력 펄스의 분해능 비율(In/Out Ratio)을 설정합니다. In/Out Ratio 설정은
cmmCfgGetInOutRatio, cmmCfgSetInOutRatio 함수의 대상 카운터가 입력 펄스일 경우에만 영향을 미칩니다. */
// 분해능 비율을 얻어와 분해능 비율을 ‘1’로 설정합니다.
if (cmmCfgGetInOutRatio ( nAxisNo, &fInOutRatio ) != cmERR_NONE )
{
if ( fInOutRatio != 1.0f )
{
cmmCfgSetInOutRatio ( nAxisNo, 1.0f );
}
}
}
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | Visual Basic
Private Sub OnSetInOutRatio ()
Dim nAxisNo As Long ‘ 입력 펄스와 출력 펄스의 분해능 비율을 설정할 축을 선택합니다.
Dim fInOutRatio As Double ‘ 분해능 비율 정보.
nAxisNo = 0
‘ 입력 펄스와 출력 펄스의 분해능 비율(In/Out Ratio)을 설정합니다. In/Out Ratio 설정은
‘cmmCfgGetInOutRatio, cmmCfgSetInOutRatio 함수의 대상 카운터가 입력 펄스일 경우에만 영향을 미칩니다.
‘ 분해능 비율을 얻어와 분해능 비율을 ‘1’로 설정합니다.
If cmmCfgGetInOutRatio ( nAxisNo, fInOutRatio ) <> cmERR_NONE Then
If fInOutRatio <> 1 Then
Call cmmCfgSetInOutRatio ( nAxisNo, 1 )
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 | Visual Delphi
procedure OnSetInOutRatio ();
var
nAxisNo : LongInt; // 입력 펄스와 출력 펄스의 분해능 비율을 설정할 축을 선택합니다.
fInOutRatio : Double; // 분해능 비율 정보.
begin
nAxisNo := 0;
{ 입력 펄스와 출력 펄스의 분해능 비율(In/Out Ratio)을 설정합니다. In/Out Ratio 설정은
cmmCfgGetInOutRatio, cmmCfgSetInOutRatio 함수의 대상 카운터가 입력 펄스일 경우에만 영향을 미칩니다. }
// 분해능 비율을 얻어와 분해능 비율을 ‘1’로 설정합니다.
if cmmCfgGetInOutRatio ( nAxisNo, @fInOutRatio ) <> cmERR_NONE then
begin
if fInOutRatio <> 1 then
begin
cmmCfgSetInOutRatio ( nAxisNo, 1 );
end;
end;
end;
|
See also