11.1.3. cmlPmCfgGetFilterAB¶
SYNOPSYS¶
VT_I4 cmlPmCfgGetFilterAB([in] VT_I4 BoardID, [in] VT_I4 NodeId, [in] VT_I4 Channel,
[in] VT_I4 Target, [out] VT_PI4 IsEnabled )
DESCRIPTION¶
cmlPmCfgSetFilterAB()/cmlPmCfgGetFilterAB() 함수는 EA/EB(Encoder Feedback) 신호와 PA/PB(Manual Pulsar) 신호의 입력 회로에 필터 적용을 위해 설정 혹은 해당 설정 매개변수를 반환하는 함수입니다.
필터를 적용하게 되면 펄스의 폭이 308ns 보다 작은 펄스는 노이즈로 간주되어서 필터됩니다. 이는 EA/EB 신호 또는 PA/PB 신호의 입력에 대해서 비교적 노이즈에 강한 처리를 할 수 있도록 합니다. 정리하자면, 노이즈 필터를 적용하게 되면 3.25MHz 이상의 주파수를 가지는 펄스는 노이즈로 간주되므로 무시되어 결과적으로 정상적인 처리가 될 수 있습니다.
필터의 적용 여부는 EA/EB 신호와 PA/PB 신호에 대하여 각각 서로 다르게 설정할 수 있으며, 이는 Target 매개 변수를 통해서 함수의 적용 대상을 구분합니다.
이 함수의 사용과 호출에 있어, 제공된 ㈜커미조아의 함수 헤더 Visual Basic 에서는 함수의 첨두어 cml 가 붙지 않습니다.
PARAMETER¶
▶ BoardID : 사용자가 설정한 디바이스(보드) ID.
▶ NodeId : 노드 번호. 노드 번호는 3부터 시작합니다.
▶ Channel : 축 번호. 통합 축으로 관리되는 축 번호를 의미하며, 상수 값으로 0 (Zero Based) 이상, 최대 통합 축 개수 - 1 이하의 값을 축 번호로 설정할 수 있습니다.
▶ Target : 함수의 적용 대상을 결정합니다. 이 매개변수에 적용 가능한 값은 다음과 같습니다.
Value |
Meaning |
---|---|
0 (ccmlAB_ENC) |
함수의 적용 대상이 EA/EB 신호임을 의미합니다. |
1 (ccmlAB_PULSAR) |
함수의 적용 대상이 PA/PB 신호임을 의미합니다. |
REFERENCE¶
필터 로직 적용이 Enable 되면 3.25 MHz 이상의 주파수를 가지는 펄스는 노이즈로 간주되어서 카운트되지 않습니다.
RETURN VALUE¶
Value |
Meaning |
---|---|
음수 |
수행 실패 |
0(ERR_NONE) |
수행 성공 |
EXAMPLE¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | C/C++
#include “ComiMLink2_SDK.h”
#include “ComiMLink2_SDK_Def.h”
long nChannel = 0;//0번 축을 선택합니다.
Long BoardID = 0;
long nFilterABEnable = 0;
//0번 축의 EA/EB 신호 입력 회로에 필터를 적용합니다.
cmlPmCfgSetFilterAB (BoardID, 0, nChannel, ccmlAB_ENC, cmlTRUE );
//0번 축의 PA/PB신호 입력 회로에 필터를 적용합니다.
cmlPmCfgSetFilterAB (BoardID, 0, nChannel, ccmlAB_PULSAR, cmlTRUE );
//0번 축의 EA/EB 신호 입력 회로의 필터 적용 여부를 확인합니다.
cmlPmCfgGetFilterAB (BoardID, 0, nChannel, ccmlAB_ENC, &nFilterABEnable );
//0번 축의 PA/PB신호 입력 회로에 필터 적용 여부를 확인합니다.
cmlPmCfgGetFilterAB (BoardID, 0, nChannel, ccmlAB_PULSAR, &nFilterABEnable );
|
SEE ALSO¶
See also