이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.
외부 이벤트에 대한 다중 트리거 수집 시작
이 예제는 외부 이벤트에 대한 다중 트리거 수집을 설정하고 시작하는 방법을 보여줍니다. 이 경우, 해당 장치는 신호의 상승 에지에서 데이터 수집을 시작하도록 구성되어 있습니다.
DataAcquisition 생성 및 아날로그 입력 채널 추가
DataAcquisition 객체를 생성하고, ID가 Dev4인 NI PCIe 6363을 사용하여 측정 유형이 Voltage인 아날로그 입력 채널을 추가합니다.
dq = daq("ni"); addinput(dq,"Dev4","ai0","Voltage");
외부 트리거에 따라 DataAcquisition이 시작되도록 구성하기
외부 트리거에 따라 데이터를 수집하도록 장치를 설정하십시오. 데이터 수집을 시작하는 트리거를 ‘시작 트리거’라고 합니다. 이 예시에서 스위치는 장치 Dev4의 PFI0 단자에 연결되어 있습니다. 스위치와 단자 PFI0 간의 이 물리적 연결을 시작 트리거로 표현하십시오.
디지털 시작 트리거 추가
트리거에는 트리거 유형(Digital)이 있습니다. Digital 트리거 유형에 허용되는 값은 StartTrigger입니다.
트리거에는 소스와 대상이 있습니다. 이 예시에서 소스는 스위치입니다(소스로 'External'를 선택하십시오). 목적지는 Dev4 ('PFI0/Dev4')에 있는 PFI0 단자입니다. addtrigger를 사용하여 DataAcquisition에 이 트리거를 추가하십시오.
addtrigger(dq,"Digital","StartTrigger","External","Dev4/PFI0"); dq.DigitalTriggers
ans =
DigitalTrigger with properties:
Source: "External"
Destination: 'Dev4/PFI0'
Type: 'StartTrigger'
Condition: 'RisingEdge'
트리거 파라미터 설정
기본적으로 DataAcquisition은 상승 에지 디지털 트리거가 발생할 때까지 10초 동안 대기합니다. DigitalTriggerTimeout 속성을 사용하여 타임아웃을 30초로 늘리십시오.
dq.DigitalTriggerTimeout = 30;
DataAcquisition이 여러 이벤트에 반응해야 할 경우, 여러 트리거를 수신하도록 구성할 수 있습니다. 이 예시에서는 두 개의 외부 트리거 신호가 예상되며, 두 번째 트리거 신호를 수신하면 Dev4 장치가 스캔 수집을 시작하게 됩니다.
dq.NumDigitalTriggersPerRun = 2;
수집 시작
read를 사용하여 구성된 각 디지털 트리거 신호를 수신할 때마다 스캔 데이터를 수집합니다. 구체적인 사건의 전개 순서는 다음과 같습니다:
DataAcquisition이 시작됩니다
타임아웃 기간이 만료되지 않는 한, 첫 번째 트리거 신호를 수신하는 순간부터 1초간의 실제 수집이 시작됩니다.
타임아웃 기간이 만료되지 않는 한, 두 번째 트리거 신호를 수신하는 순간부터 1초간의 실제 수집이 시작됩니다.
데이터가 반환됩니다
[data, startTime] = read(dq, seconds(1));
데이터 그래프 그리기
두 트리거 시작 시점 사이의 시간을 기준으로 불연속성을 확인하십시오.
plot(data.Time, data.Variables, '.')
