11.1.2. cmlPmCfgGetFilter


SYNOPSYS

VT_I4 cmlPmCfgGetFilter ([in] VT_I4 BoardID,  [in] VT_I4 NodeId, [in] VT_I4 Channel, [out] VT_PI4 IsEnabled )

DESCRIPTION

  • cmlPmCfgSetFilter()/cmlPmCfgGetFilter() 함수는 각종 I/O 신호에 필터 로직을 적용할지를 설정 혹은 설정 상태를 반환하는 함수입니다. 필터 로직이 적용되면 펄스 폭이 너무 짧은 입력 신호는 무시되게 됩니다. 필터 로직이 적용되는 I/O 신호 및 펄스 폭은 REFERENCE 를 참조하십시오.

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

PARAMETER

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

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

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

▶ IsEnable : 필터 로직의 적용 여부를 설정 혹은 반환합니다.

Value

Meaning

0 (cmlFALSE)

Filter Disable (필터 로직 비활성화).

1 (cmlTRUE)

Filter Enable (필터 로직 활성화).

REFERENCE

  • 필터 로직 적용이 Enable 됐을 때 필터 로직이 적용되는 신호 및 기준 펄스 폭은 다음과 같습니다.

필터 적용 I/O

필터 기준

+EL / -EL / SD / ORG / ALM / INP

펄스 폭이 4μs 미만은 무시

+DR / -DR

펄스 폭이 3.2ms 미만은 무시

RETURN VALUE

Value

Meaning

음수

수행 실패

0(ERR_NONE)

수행 성공

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;//0번 축을 선택합니다.
   Long BoardID = 0;
   long nFilterEnable = 0;
   /* 노이즈 필터 로직 활성 여부를 확인하여 비활성 상태이면 활성 상태로 설정합니다. */
   cmlPmCfgSetFilter(BoardID, 0, nChannel, &nFilterEnable );
   if( nFilterEnable != cmlFALSE )
   {
   //Filter 를 사용하도록 설정합니다.
   cmlPmCfgSetFilter(BoardID, 0, nChannel, cmlTRUE );
   }