cedioMultiF_Get¶
SYNOPSIS¶
VT_I4 cedioMultiF_Get(
VT_I4 IniChan,
VT_I4 NumChan,
VT_I4 CutoffTime_us,
VT_PI4 States
)
DESCRIPTION¶
다중 채널을 대상으로 노이즈 필터 기능에 대응 되는 디지털 입력 상태를 확인합니다. 이 상태는
cedioLogicOne_Set, cedioLogicMulti_Set 함수를 통해 설정된 디지털 입력 로직(Digital Input)이 적
용됩니다.
이 함수에서 전달되는 매개변수 중 ‘CutoffTime_us’는 입력 신호 유지 시간(Signal Width)을
의미합니다.
이 함수를 통해 확인되는 디지털 입력 채널들은 제한된 입력 신호 유지 시간 이상의 신호가
확인되어야만 합니다. 원하지 않는 신호(Noise) 나 일정 시간 이상의 펄스 입력(Pulse Input)을 확인할
때 매우 유용한 상태 확인 함수입니다.
PARAMETER¶
IniChan : 시작 채널 번호. 통합 채널로 관리되는 채널 번호를 의미하며, 상수 값으로 0 (Zero. Based) 이상, (최대 통합 채널수 - 1) 이하의 값을 채널 번호로 설정할 수 있습니다.
NumChan : 시작 채널로부터 몇 개의 채널의 상태를 확인할 것인지에 대한 값을 전달합니다. (최대. 32 개 채널까지 설정 가능합니다.).
CutoffTime_us : 디지털 입력 신호 유지 시간을 마이크로 초(us) 단위로 설정합니다.
States : 다중 채널에 대한 디지털 입력 상태를 반환합니다.
Value |
Meaning |
---|---|
0 (CE_FALSE) |
Input Mode |
1 (CE_TRUE) |
Output Mode |
RETURN VALUE¶
Value |
Meaning |
---|---|
음수 |
수행 실패. 자세한 내용은 ‘에러 처리’ 편을 참고합니다. |
0 (ceERR_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 | C/C++
#include “ceSDK.h”
#include “ceSDKDef.h”
/* 0~3 번 채널은 디지털 출력 채널, 4~7 번 채널은 디지털 입력 채널이라 가정합니다.
출력 채널을 통해 일정 시간의 Pulse 출력을 내고 ,
입력 채널의 노이즈 필터 기능을 통해 입력 상태를 확인합니다. */
long nDoIniChNo = 0; // 디지털 출력 시작 채널 번호 설정
long nDoChNum = 4; // 디지털 출력 채널 개수
long nDiIniChNo = 4; // 디지털 입력 시작 채널 번호 설정
long nDiChNum = 4; // 디지털 입력 채널 개수
long nDiStates; // 디지털 입력 상태 정보
long nRetVal;
// 0 ~ 3 번 채널의 로직을 B 접점으로 설정합니다.
cedioLogicMulti_Set ( nDoIniChNo, nDoChNum, 0xF );
// 0 ~ 3 번 채널에 대해 10usec 동안 단일 펄스 출력을 발생합니다.
nRetVal = cedioPulseMulti ( nDoIniChNo, // 디지털 출력 시작 채널 번호
nDoChNum, // 디지털 출력 채널 개수
0xF, // B 접점일 경우 Active High 상태가 됩니다.
10, // 펄스 출력 시간. 10usec
CE_FALSE // 펄스 출력 후 바로 반환
);
if ( nRetVal == ceERR_NONE )
{
// 4 ~ 7 번 입력 채널의 노이즈 필터 기능을 활성화 하고,
// 20 usec 입력 신호 유지 시간을 설정하여 입력 상태를 확인합니다.
cedioMultiF_Get ( nDiIniChNo, nDiChNum, 20, &nDiStates );
/* 10usec 펄스가 입력되어 노이즈 필터 기능에 의해 20usec 이하의 신호는 ON 신호로 인식하지 않습니다. */
}
|