В этом примере показано, как использовать двунаправленный канал и читать и записать данные с помощью тех же двух линий на 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');