Сгенерируйте и получите данные по двунаправленным каналам

В этом примере показано, как использовать двунаправленный канал и читать и записать данные с помощью тех же двух линий на NI 6255.

Найдите устройства соединенными с вашей системой и найдите ID для NI 6255.

d = daq.getDevices;
d = 

Data acquisition devices:

index Vendor Device ID          Description         
----- ------ --------- -----------------------------
1     ni     Dev1      National Instruments USB-6255
2     ni     Dev2      National Instruments USB-6363

Создайте сеанс и добавьте две линии от порта 0 и 2 линии от порта 1 на Dev1.

s = daq.createSession('ni');
addDigitalChannel(s,'Dev1','Port0/Line0:1','Bidirectional');
addDigitalChannel(s,'Dev1','Port1/Line0:1','Bidirectional')
Data acquisition session using National Instruments hardware:
   Clocked operations using startForeground and startBackground are disabled.
   Only on-demand operations using inputSingleScan and outputSingleScan can be done.
   Number of channels: 4
      index Type Device   Channel       MeasurementType     Range Name
      ----- ---- ------ ----------- ----------------------- ----- ----
      1     dio  Dev1   port0/line0 Bidirectional (Unknown) n/a
      2     dio  Dev1   port0/line1 Bidirectional (Unknown) n/a
      3     dio  Dev1   port1/line0 Bidirectional (Unknown) n/a
      4     dio  Dev1   port1/line1 Bidirectional (Unknown) n/a

Установите направление на всех каналах к выходным данным.

for i = 1:4
    s.Channels(i).Direction = 'Output'; 
end

Сгенерируйте цифровые данные.

outputSingleScan(s,[1,0, 1, 0])

Измените направление на всех каналах к входным данным

for i = 1:4
    s.Channels(i).Direction = 'Input'; 
end

Получите цифровые данные.

inputSingleScan(s)
ans =

     1     0     1     0

Можно также использовать MATLAB® deal функция, чтобы изменить направление на всех каналах вместе.

[s.channels(:).Direction] = deal('Input');
Для просмотра документации необходимо авторизоваться на сайте