Основы работы с 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).

Палітра TCP/IP

Рис. 1. Палитра TCP/IP

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

Блок-діаграма Simple Data Client.vi

Рис. 2. Блок-диаграмма Simple Data Client.vi

Блок-діаграма Simple Data Server.vi

Рис. 3. Блок-диаграмма Simple Data Server.vi Немного познакомится с программой клиент/сервер можно, изучая эти диаграммы. Процесс создания виртуального прибора клиента в основном состоит из трех этапов:

  • запрос TCP-соединение. Вы можете установить время ожидания (timeout),чтоб избежать «зависания» программы, если сервер не отвечает;
  • считывание (или запись) данных. Данные всегда передаются в виде ряда;
  • закрытие ТСР-соединение.

Процесс создания программы сервера также состоит из трех этапов:

  • ожидание соединения;
  • запись (или считывание) данных. Данные всегда передаются в виде рада;
  • закрытие ТСР-соединения.

Взаимодействие с сетевым протоколом TCP/IP

Поскольку все данные в сети TCP/IP должны передаваться в виде ряда, возникает необходимость в перевоплощении ваших данных в строковый тип LabVIEW. Самым легким способом для этого является использование функций Приведение типа (Type Cast). Убедитесь только в том, что и клиент, и сервер знают точно, какой тип данных они передают. Если, например, сервер переводит число повышенной точности с плавающей комой в ряд, а клиент пытается преобразовать ряд в число удвоенной точности, то результат будет неправильный.

Если вам нужен общий метод передачи данных, попробуйте воспользоваться изменённым типом данных, преобразованным в ряд. В результате вы будете точно знать, какой тип данных преобразованный (variant). После обратного перевоплощения вы можете проанализировать variant средствами.

Управление распределённой системой сети

Сетевые дополнения очень удобны в таких случаях, когда необходимо написать программу для управления большой распределённой системой.

В дополнение для всех отличных особенностей среды разработки LabVIEW стоит вспомнить то, что они прозрачно работают в сети. Сетевая прозрачность указывает на возможность совершать операции с виртуальными приборами или средой разработки на удаленном устройстве через локальную сеть или Интернет таким же образом, как и на локальном клиентском компьютере. В таком случае необходимо организовать введение /выведение сигналов на удаленном компьютере, в то же время как компьютер на рабочем месте будет анализировать собранную информацию без необходимости разработки любых специальных сетевых программ и описания сложных функций протоколу TCP/IP.

Так, на рис. 4 и 5 показано насколько просто запустить использование программы на удаленном компьютере. Данные функции уже реализованы и входят в палитру Application Control.

Реалізація програми foo.vi на локальному комп'ютері

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

Запуск аналогічної програми foo.vi віддалено, через Інтернет, за адресою lv.app.com

Рис. 5. Запуск аналогичной программы foo.vi удаленно, через Интернет, по адресу lv.app.com

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

Архітектура взаємодії з сервером

Рис. 6. Архитектура взаимодействия с сервером

Схема на рис. 6 иллюстрирует такую архитектуру. Как можно заметить, согласно этой диаграммы функции сервера виртуальных приборов доступны через функции на блок-диаграммы, внешние ActiveX программы или через удаленный виртуальный прибор с использованием протокола TCP/IP.

Используйте современные решения для профессионально-технических учебных учреждений:

  • myDAQ
  • myRIO
  • NI ELVIS

LabVIEW – это передовое окружение разработки и платформ для выполнения программ настоящих ученых и инженеров. Овладевайте серьёзную профессию с школы – изучая конструирование и робототехнику с Lego вы можете и в профессии использовать полученные знания.

Поділитися:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *