주요 콘텐츠

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

MCC 장치를 사용하여 다중 채널에서 데이터 수집

이 예제는 MCC 장치를 사용하여 여러 아날로그 입력 채널에서 데이터를 수집하는 방법을 보여줍니다.

하드웨어 설정

이 예제는 Measurement Computing USB-1608FS-Plus 장치를 사용하여 함수 발생기의 출력에 연결된 아날로그 입력 채널 0과 9의 데이터를 기록합니다.

사용 가능한 장치 목록 표시

daqlist를 사용하여 시스템에 연결된 장치를 검색합니다.

d = daqlist("mcc")
d =

  1×4 table

    DeviceID                     Description                           Model                 DeviceInfo       
    ________    _____________________________________________    _________________    ________________________

    "Board0"    "Measurement Computing Corp. USB-1608FS-Plus"    "USB-1608FS-Plus"    [1×1 daq.sdk.DeviceInfo]

장치에 대한 세부 정보 가져오기

daqlist 함수는 사용 가능한 장치의 개요를 보여줍니다. 테이블의 DeviceInfo 필드를 검토하면 추가 장치 세부 정보를 확인할 수 있습니다.

deviceInfo = d{1, "DeviceInfo"}
deviceInfo = 

mcc: Measurement Computing Corp. USB-1608FS-Plus (Device ID: 'Board0')
   Analog input supports:
      4 ranges supported
      Rates from 0.1 to 100000.0 scans/sec
      8 channels ('Ai0' - 'Ai7')
      'Voltage' measurement type
   


DataAcquisition 생성 및 입력 채널 추가

daq 함수는 DataAcquisition 객체를 생성합니다. DataAcquisition에는 하드웨어, 스캔 레이트 및 수집과 관련된 기타 속성을 설명하는 정보가 포함되어 있습니다.

dq = daq("mcc")

% The |addinput| function adds an analog input channel to
% the DataAcquisition.  You can add more than one channel to a
% DataAcquisition.
ch1 = addinput(dq, "Board0", 0, "Voltage");
ch2 = addinput(dq, "Board0", 1, "Voltage");
dq = 

DataAcquisition using Measurement Computing Corp. hardware:

                     Running: 0
                        Rate: 1000
           NumScansAvailable: 0
            NumScansAcquired: 0
              NumScansQueued: 0
    NumScansOutputByHardware: 0
                   RateLimit: []

Show channels
Show properties and methods

타임스탬프가 있는 데이터 수집

read 함수는 수집을 시작하고 결과를 타임테이블로 반환합니다.

data = read(dq, seconds(1));

수집 데이터 플로팅

plot(data.Time, data.Board0_Ai0, data.Time, data.Board0_Ai1);
xlabel('Time (s)');
ylabel('Voltage (V)');

수집의 기본 속성 변경

기본적으로 수집은 초당 1000회의 스캔으로 1초 동안 실행됩니다. 다른 속도로 수집하기 위해 Rate 속성을 변경합니다.

dq.Rate = 10000;
[data, startTime] = read(dq, seconds(1));
plot(data.Time, data.Board0_Ai0, data.Time, data.Board0_Ai1);
xlabel('Time (s)');
ylabel('Voltage (V)');