Основы работы с TCP / IP в LabVIEW для профессионально-технического образования
В данный момент большинство систем управления и сбора данных создаются по принципу деления систем на отдельные функциональные узлы, которые исполняют автономные алгоритмы обработки данных и обмен данными между собой при помощи универсальных программных интерфейсов. Наиболее универсальным способом взаимодействия программных алгоритмов является сеть.
Компьютерные сети позволяют совершать не только взаимодействие разных частей одной и той же системы между собой, а также обеспечивать обмен данными между абсолютно разнородными дополнениями, которые работают на разных платформах. Именно потому компьютерные сети считаются одним из наиболее универсальных средств обмена данными.
Наибольшего распространения приобрели сети с предварительной установкой соединений, в которых используется стек протоколов TCP/IP, хотя в многих случаях успешно применяются простые протоколы сетевого обмена без установки соединения, например UDP.
Вы можете использовать LabVIEW для взаимодействия с низкоуровневыми протоколами, это лучший путь изучения сетевых протоколов «с середины». Применяйте функции TCP/IP, например, для связи с любым другим компьютером, устройством или программой, которые также поддерживают TCP/IP.
LabVIEW поддерживает и TCP/IP,и UDP-протоколы, доступ к которым совершается через палитру Data Communication » Protocols. В LabVIEW также реализованы высокоуровневые функции потоковой передачи данных, их вы найдете в палитре Data Communication » Network Streams.
TCP/IP (Протокол управления передачей данных / протокол Интернета) является основным протоколом для работы в сети Интернет и большинства внутренних сетей.
В данном случае TCP – сокращено от Transmission Control Protocol (Протокол управления передачей данных), a IP — аббревиатура для Internet Protocol (Протокол Интернета). Протокол Интернета разделяет ваши данные на управляемые пакеты, которые называются датаграмами, и решает, каким образом передать их с А в В.
Проблема полагает в том, что протокол Интернета не является «вежливым» и не будет сотрудничать с удалённым компьютером, который может создать проблемы. И как в случае с большим объёмом почты в почтовой службе, протокол Интернета не гарантирует доставку датаграм. Поэтому к протоколу Интернет добавлен протокол управления передачей, который обеспечивает взаимодействие с другими компьютерами и гарантирует доставку датаграм в установленном порядке (что больше похоже на частного экспресс-курьера).
TCP является протоколом с установлением соединения. Это означает, что перед передачей данных вы должны установить связь, используя определённый протокол. При подключении к сайту следует задать его IP-адрес и порт с этим адресом. ІР-адресом является 32-битовое число, которое часто представляется в виде ряда из четырёх чисел, разделённых точками, например, 128.25.0.112. Портом служит число в диапазоне от 0 до 65535. Одновременно вы можете иметь много активных соединений. Если вы уже знакомы с UNIX или использовали программы, которые работают с Интернетом, сказанное не будет новостью.
Виртуальные приборы LabVIEW
LabVIEW имеет набор виртуальных приборов, которые находятся в подпалитре TCP палитры Коммуникация. Они позволяют исполнять операции, связанные с ТCP, такие как открытие связи по заданному IP-адресу, перебор текущих TCP-подключений, считывание и запись данных и т.д. Они легкие в использовании, при условии, что ваша сеть настроена правильно (Рис. 1).

Рис. 1. Палитра TCP/IP
Хорошим началом работы по созданию сетевого виртуального устройств с приборами, которые имеются в полной версии LabVIEW: Simple Data Client.vi і Simple Data Server.vi. Их диаграммы показаны на Рис. 2 і 3.

Рис. 2. Блок-диаграмма Simple Data Client.vi
Рис. 3. Блок-диаграмма Simple Data Server.vi Немного познакомится с программой клиент/сервер можно, изучая эти диаграммы. Процесс создания виртуального прибора клиента в основном состоит из трех этапов:
- запрос TCP-соединение. Вы можете установить время ожидания (timeout),чтоб избежать «зависания» программы, если сервер не отвечает;
- считывание (или запись) данных. Данные всегда передаются в виде ряда;
- закрытие ТСР-соединение.
Процесс создания программы сервера также состоит из трех этапов:
- ожидание соединения;
- запись (или считывание) данных. Данные всегда передаются в виде рада;
- закрытие ТСР-соединения.
Взаимодействие с сетевым протоколом TCP/IP
Поскольку все данные в сети TCP/IP должны передаваться в виде ряда, возникает необходимость в перевоплощении ваших данных в строковый тип LabVIEW. Самым легким способом для этого является использование функций Приведение типа (Type Cast). Убедитесь только в том, что и клиент, и сервер знают точно, какой тип данных они передают. Если, например, сервер переводит число повышенной точности с плавающей комой в ряд, а клиент пытается преобразовать ряд в число удвоенной точности, то результат будет неправильный.
Если вам нужен общий метод передачи данных, попробуйте воспользоваться изменённым типом данных, преобразованным в ряд. В результате вы будете точно знать, какой тип данных преобразованный (variant). После обратного перевоплощения вы можете проанализировать variant средствами.
Управление распределённой системой сети
Сетевые дополнения очень удобны в таких случаях, когда необходимо написать программу для управления большой распределённой системой.
В дополнение для всех отличных особенностей среды разработки LabVIEW стоит вспомнить то, что они прозрачно работают в сети. Сетевая прозрачность указывает на возможность совершать операции с виртуальными приборами или средой разработки на удаленном устройстве через локальную сеть или Интернет таким же образом, как и на локальном клиентском компьютере. В таком случае необходимо организовать введение /выведение сигналов на удаленном компьютере, в то же время как компьютер на рабочем месте будет анализировать собранную информацию без необходимости разработки любых специальных сетевых программ и описания сложных функций протоколу TCP/IP.
Так, на рис. 4 и 5 показано насколько просто запустить использование программы на удаленном компьютере. Данные функции уже реализованы и входят в палитру Application Control.

Рис. 4. Реализация программы foo.vi на локальном компьютере

Рис. 5. Запуск аналогичной программы foo.vi удаленно, через Интернет, по адресу lv.app.com
Возможности сервера виртуальных приборов исполняются в окружении LabVIEW путем вызова функций блок-диаграммы, подобных наведённым на рисунках выше. Однако сервер тоже предоставляет доступ к собственным функциям с внешних дополнений, будь это алгоритмы Visual Basic или макросы, используя клиент автоматизации ActiveX и с удаленной программы LabVIEW через протокол TCP/IP.

Рис. 6. Архитектура взаимодействия с сервером
Схема на рис. 6 иллюстрирует такую архитектуру. Как можно заметить, согласно этой диаграммы функции сервера виртуальных приборов доступны через функции на блок-диаграммы, внешние ActiveX программы или через удаленный виртуальный прибор с использованием протокола TCP/IP.
Используйте современные решения для профессионально-технических учебных учреждений:
- myDAQ
- myRIO
- NI ELVIS
LabVIEW – это передовое окружение разработки и платформ для выполнения программ настоящих ученых и инженеров. Овладевайте серьёзную профессию с школы – изучая конструирование и робототехнику с Lego вы можете и в профессии использовать полученные знания.