Управление контроллером NI PCI 6621 по сети UDP

Передача аналоговых данных по сети UDP

Измените программы клиента и сервера, дополнив их элементами управления и индикации для передачи аналоговых данных.

· Добавьте элементы Dial, Gauge и Waveform на сервер и клиент.

· Для преобразования «строка» - «число» и наоборот используйте элементы «Number To Exponential String» и «Fract/Exp String To Number»

· Для дополнительного мониторинга полученных/принятых данных создайте элементы типа «строка» и «число»

· Запустите программу - сервер. Введите номера портов. Запустите программу – клиент. Введите номера портов. Вращайте ручку элемента Dial, наблюдайте реакцию индикаторов на стороне клиента.

Запустите на исполнение демонстрационную программу «udp_write_real.exe», а затем «udp_read.exe», не забудьте нажать кнопку старта. Введите для сервера адрес порта, на котором открыт сервер - 61556 и адрес порта, в который будут передаваться данные – 61557. Окно «remote address» можно не заполнять или ввести IP адрес локального компьютера (например, 172.20.180.155 или localhost). Элементом управления на сервере служит кнопка «DIO Line p1_1», которая управляет линией 1 порта 1 цифрового вывода. Эта линия должна быть соединена с каналом 0 аналогового входа. Тогда нажимая кнопку, на аналоговом входе 0 будет появляться / исчезать напряжение около 5 В. Инструмент «Waveform Graph» на сервер и аналогичный на клиенте отобразят это на своей шкале.

Закройте программу «udp_read.exe» на локальном компьютере и откройте ее на другом компьютер. В окно сервера «remote address» нужно ввести IP адрес компьютера, где запущен клиент, например 172.20.180.154. Введите номера портов, как в предыдущих случаях. Для удобства наблюдения работы обоих программ можно воспользоваться сервисом Windows XP «Подключение к удаленному рабочему столу». Оцените скорость передачи данных по сети UDP. Создайте аналогичные программы сервера и клиента сами.

Сервер. Для реального управления контроллером NI PCI 6221 замените элемент Dial в программе–сервер на DAQ Assistant с аналоговым входом. Щелкните по виртуальному инструменту DAQ Assist и задайте его свойства:

· Выберите канал(ы) аналогового ввода (0-15)

· Проведите тестирование работы канала

· Посмотрите схему соединения

Соедините выход «Data» инструмента DAQ Assist с входом «Data In» инструмента «UDP Write» через элемент «Number To Exponential String» или «Format Into String». Добавьте графический и числовой индикаторы. Создайте еще один DAQ Assistant, но с цифровым выходом, выбрав «Digital Output». У входа данных DAQ Assistant щелкните правой клавишей мыши и создайте элемент управления. Запустите и протестируйте программу.

Клиент. Если не было сделано ранее, в программе-клиенте создайте графический индикатор «Waveform Graph», имеющий вид осциллографа, и соедините его с элементом «Gauge».

· Запустите программу-сервер.

· Введите номера портов.

· Введите адрес клиента, например 172.20.180.155 или Fk219-04 (можно localhost для своего локального компьютера).

· Запустите программу – клиент.

· Введите номер порта сервера.

· Подайте напряжение на соответствующий вход напряжение. Это можно сделать активирую линию цифрового выхода, как в демонстрационной программе.

· Наблюдайте на стороне клиента изменение аналогового сигнала. Оцените время задержки передачи информации.

· Проверьте работу пары клиент-сервер на своем локальном компьютере и дух разных компьютерах

· Сохраните все написанные вами программы в вашей папке и на съемном носителе.

Дополнительные задания повышенной сложности

1. Замените на сервере элемент, управляющий цифровым выходом на элемент управления аналоговым выходом. Соедините физически этот канал выхода (0 или 1) с используемым аналоговым входом. Подавайте на этот выход сигнал, наблюдайте в программе – клиенте изменение напряжения

2. Создайте программу-клиент, управляющую работой программой-сервером. Для этого в программе-клиента нужно создать блок на основе элемента UDP Write, передающий командую строку серверу. С другой стороны, в программе-клиенте необходим блок, получающий командную строку от клиента. Небходимо помнить, что номер локального порта на принимающей стороне должен сопадать с номером порта, через который передающая сторона «пишет» даные. Т.о. В программе будет 3 порта (со строкой ввода)

· для чтения данных у элемента UDP Open, соединненого с UDP Read

· для пердачи данных у элемента UDP Write

· локальный порт у элемента UDP Open, соединненого с UDP Write


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: