cemCfgFilterAB_Set¶
SYNOPSYS¶
VT_I4 cemCfgFilterAB_Set ( [in] VT_I4 Channel, [in] VT_I4 Target, [in] VT_I4 IsEnable )
DESCRIPTION¶
cemCfgFilterAB_Set()/cemCfgFilterAB_Get() 함수는 EA/EB(Encoder Feedback) 신호와 PA/PB(Manual Pulsar) 신호의 입력 회로에 노이즈 필터 기능의 활성/비활성 상태를 설정/반환합니다.
필터를 적용하게 되면 펄스의 폭이 308ns 보다 작은 펄스는 노이즈로 간주되어서 필터됩니다. 이는 EA/EB 신호 또는 PA/PB 신호의 입력에 대해서 비교적 노이즈에 강한 처리를 할 수 있도록 합니다. 정리하자면, 노이즈 필터를 적용하게 되면 3.25MHz 이상의 주파수를 가지는 펄스는 노이즈로 간주되므로 무시되어 결과적으로 정상적인 처리가 될 수 있습니다.
필터의 적용 여부는 EA/EB 신호와 PA/PB 신호에 대하여 각각 서로 다르게 설정할 수 있으며, 이는 Target 매개 변수를 통해서 함수의 적용 대상을 구분합니다.
PARAMETER¶
▶ Channel : 축 번호. 통합 축으로 관리되는 축 번호를 의미하며, 상수 값으로 0 (Zero Based) 이상, 최대 통합 축 개수 - 1 이하의 값을 축 번호로 설정할 수 있습니다.
▶ Target : 함수의 적용 대상을 결정합니다. 이 매개변수에 적용 가능한 값은 다음과 같습니다.
Value |
Meaning |
---|---|
0 (cemAB_ENC) |
함수의 적용 대상이 EA/EB 신호임을 의미합니다. |
1 (cemAB_PULSAR) |
함수의 적용 대상이 PA/PB 신호임을 의미합니다. |
▶ IsEnable : 필터 로직의 적용 여부를 설정 혹은 반환합니다.
Value |
Meaning |
---|---|
0 (CE_FALSE) [Default] |
Noise Filter disable. |
1 (CE_TRUE) |
Noise Filter enable. |
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 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | C/C++
#include “ceSDK.h”
#include “ceSDKDef.h”
void OnSetNoiseFilterAB ()
{
long nAxisNo = 1; // Noise Filter 기능을 적용할 대상 축 선택.
long nFilterEnable; // Noise Filter 기능 활성 상태 정보.
/* EA/EB, PA/PB 신호 입력 회로에 노이즈 필터 기능 활성 여부를 확인 후,
비활성 상태이면 활성 상태로 설정합니다. */
// EA/EB 신호 입력 회로에 노이즈 필터 기능 적용
if ( cemCfgFilterAB_Get ( nAxisNo, cemAB_ENC, &nFilterEnable ) == ceERR_NONE )
{
if ( nFilterEnable != CE_TRUE )
{
// EA/EB Noise Filter Enable
cemCfgFilterAB_Set ( nAxisNo, cemAB_ ENC, CE_TRUE );
}
}
// PA/PB 신호 입력 회로에 노이즈 필터 기능 적용
if ( cemCfgFilterAB_Get ( nAxisNo, cemAB_ PULSAR, &nFilterEnable ) == ceERR_NONE )
{
if ( nFilterEnable != CE_TRUE )
{
// PA/PB Noise Filter Enable
cemCfgFilterAB_Set ( nAxisNo, cemAB_PULSAR, CE_TRUE );
}
}
}
|
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 | Visual Basic
Private Sub OnSetNoiseFilterAB ()
Dim nAxisNo As Long ‘ Noise Filter 기능을 적용할 대상 축 선택.
Dim nFilterEnable As Long ‘ Noise Filter 기능 활성 상태 정보.
long nAxisNo = 1
‘ EA/EB, PA/PB 신호 입력 회로에 노이즈 필터 기능 활성 여부를 확인 후,
‘ 비활성 상태이면 활성 상태로 설정합니다.
‘ EA/EB 신호 입력 회로에 노이즈 필터 기능 적용
If cemCfgFilterAB_Get ( nAxisNo, cemAB_ENC, nFilterEnable ) = ceERR_NONE Then
If nFilterEnable <> CE_TRUE Then
‘ EA/EB Noise Filter Enable
Call cemCfgFilterAB_Set ( nAxisNo, cemAB_ ENC, CE_TRUE )
End If
End If
‘ PA/PB 신호 입력 회로에 노이즈 필터 기능 적용
If cemCfgFilterAB_Get ( nAxisNo, cemAB_ PULSAR, nFilterEnable ) = ceERR_NONE Then
If nFilterEnable <> CE_TRUE Then
‘ PA/PB Noise Filter Enable
Call cemCfgFilterAB_Set ( nAxisNo, cemAB_PULSAR, CE_TRUE )
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 25 26 27 28 29 30 31 32 33 34 35 | Delphi
procedure OnSetNoiseFilterAB ();
var
nAxisNo : LongInt // Noise Filter 기능을 적용할 대상 축 선택.
nFilterEnable : LongInt // Noise Filter 기능 활성 상태 정보.
begin
nAxisNo := 1;
{ EA/EB, PA/PB 신호 입력 회로에 노이즈 필터 기능 활성 여부를 확인 후,
비활성 상태이면 활성 상태로 설정합니다. }
// EA/EB 신호 입력 회로에 노이즈 필터 기능 적용
if cemCfgFilterAB_Get ( nAxisNo, cemAB_ENC, @nFilterEnable ) = ceERR_NONE then
begin
if nFilterEnable <> CE_TRUE then
begin
// EA/EB Noise Filter Enable
cemCfgFilterAB_Set ( nAxisNo, cemAB_ ENC, CE_TRUE );
end;
end;
// PA/PB 신호 입력 회로에 노이즈 필터 기능 적용
if cemCfgFilterAB_Get ( nAxisNo, cemAB_ PULSAR, @nFilterEnable ) = ceERR_NONE then
begin
if nFilterEnable <> CE_TRUE then
begin
// PA/PB Noise Filter Enable
cemCfgFilterAB_Set ( nAxisNo, cemAB_PULSAR, CE_TRUE );
end;
end;
end;
|
SEE ALSO¶
See also