주요 콘텐츠

이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.

외부 이벤트에 대한 다중 트리거 수집 시작

이 예제는 외부 이벤트에 대한 다중 트리거 수집을 설정하고 시작하는 방법을 보여줍니다. 이 경우, 해당 장치는 신호의 상승 에지에서 데이터 수집을 시작하도록 구성되어 있습니다.

DataAcquisition 생성 및 아날로그 입력 채널 추가

DataAcquisition 객체를 생성하고, ID가 Dev4인 NI PCIe 6363을 사용하여 측정 유형이 Voltage인 아날로그 입력 채널을 추가합니다.

dq = daq("ni");
addinput(dq,"Dev4","ai0","Voltage");

외부 트리거에 따라 DataAcquisition이 시작되도록 구성하기

외부 트리거에 따라 데이터를 수집하도록 장치를 설정하십시오. 데이터 수집을 시작하는 트리거를 ‘시작 트리거’라고 합니다. 이 예시에서 스위치는 장치 Dev4PFI0 단자에 연결되어 있습니다. 스위치와 단자 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를 사용하여 구성된 각 디지털 트리거 신호를 수신할 때마다 스캔 데이터를 수집합니다. 구체적인 사건의 전개 순서는 다음과 같습니다:

  1. DataAcquisition이 시작됩니다

  2. 타임아웃 기간이 만료되지 않는 한, 첫 번째 트리거 신호를 수신하는 순간부터 1초간의 실제 수집이 시작됩니다.

  3. 타임아웃 기간이 만료되지 않는 한, 두 번째 트리거 신호를 수신하는 순간부터 1초간의 실제 수집이 시작됩니다.

  4. 데이터가 반환됩니다

[data, startTime] = read(dq, seconds(1));

데이터 그래프 그리기

두 트리거 시작 시점 사이의 시간을 기준으로 불연속성을 확인하십시오.

plot(data.Time, data.Variables, '.')