11.1.21. cmlPmCfgSetInOutRatio


SYNOPSYS

VT_I4 cmlPmCfgSetInOutRatio ([in] VT_I4 BoardID,  [in] VT_I4 NodeId, [in] VT_I4 Channel, [in] VT_R8 Ratio )

DESCRIPTION

  • cmlPmCfgSetInOutRatio() 함수는 Feedback펄스와 Command펄스의 분해능 비율 (Resolution ratio)을 설정합니다. 여기서 Feedback 펄스의 분해능이란 엔코더의 1회전 시에 발생되는 펄스 수를 의미합니다. 그리고 Command 펄스의 분해능이란 모터를 1회전시키기 위해 필요한 Command 펄스 수를 의미합니다.

  • 이 함수의 사용과 호출에 있어, 제공된 ㈜커미조아의 함수 헤더 Visual Basic 에서는 함수의 첨두어 cml 가 붙지 않습니다.

PARAMETER

▶ BoardID : 사용자가 설정한 디바이스(보드) ID.

▶ NodeId : 사용자가 제어하고자 하는 노드 번호.

▶ Channel : 축 번호. 통합 축으로 관리되는 축 번호를 의미하며, 상수 값으로 0 (Zero Based) 이상, 최대 통합 축 개수 - 1 이하의 값을 축 번호로 설정할 수 있습니다.

▶ Ratio : Feedback펄스와 Command펄스의 분해능 비를 설정 혹은 반환합니다. 이 값은 아래와 같이 설정합니다. Ratio = (Feedback펄스 분해능)/(Command 펄스의 분해능)

RETURN VALUE

Value

Meaning

음수

수행 실패

0(ERR_NONE)

수행 성공

REFERENCE

  • In/Out Ratio는 Actual(Feedback) position 또는 Actual speed 를 논리 단위로 읽을 때 적용됩니다. 논리적 단위 거리나 단위 속도는 Command 펄스 기준으로 설정되므로 Command 펄스와 Feedback 펄스의 분해능이 서로 다르다면 Actual position이나 Actual speed의 논리값 계산이 잘못되게 됩니다.

  • In/Out Ratio 는 cmlPmStGetPosition() 함수와 cmlPmStGetSpeed() 함수에서 카운터를 cmlCNT_FEED 으로 설정한 경우에만 영향을 미칩니다.

EXAMPLE

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
   C/C++
   #include “ComiMLink2_SDK.h”
   #include “ComiMLink2_SDK_Def.h”
   long nChannel = 0;
   long BoardID = 0;
   double fRatio = 2.0f;
   //0번 축을 선택합니다.
   //분해능 비율을 2로 설정합니다.
   /* 0번 축의 분해능 비율을 설정합니다. 분해능 비율은
   Ratio = (Feedback 펄스 분해능)/(Command 펄스의 분해능) */
   cmlPmCfgSetInOutRatio (BoardID, 0, nChannel, fRatio );
   //0번 축의 현재 분해능 비율을 반환합니다.
   cmlPmCfgGetInOutRatio (BoardID, 0, nChannel, &fRatio );