ОБ ОСОБЕННОСТИ ПРИМЕНЕНИЯ ТЕХНОЛОГИИ ПРОМЫШЛЕННОГО ИНТЕРНЕТА ВЕЩЕЙ(IIOT) ПРИ ПРОГРАММИРОВАНИИ ПЛК - Студенческий научный форум

XIII Международная студенческая научная конференция Студенческий научный форум - 2021

ОБ ОСОБЕННОСТИ ПРИМЕНЕНИЯ ТЕХНОЛОГИИ ПРОМЫШЛЕННОГО ИНТЕРНЕТА ВЕЩЕЙ(IIOT) ПРИ ПРОГРАММИРОВАНИИ ПЛК

Лысенко В.Н. 1, Медведев Д.Д. 1
1Донской Государственный Технический Университет
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

Как правило, интернет вещей всегда ассоциируется с умным домом и чем-то бытовым, например, умная кофеварка, умный холодильник и т.д.

Интернет вещей (англ. Internet of Things, IoT) – суть технологии состоит в том, что несколько устройств объединяются по заданному признаку в единую сеть и далее несколько подобных сетей объединяются в другую большую сеть и т.д. Устройства в таких сетях взаимодействуют друг с другом по средствам различных интерфейсов и протоколов передачи данных.[1]

«Интернет вещей» в современном понимании - это экосистема электронных устройств, которые выполняют вычислительные задачи и отправляют результаты своей работы в сеть Интернет для использования другими устройствами или представления в той или иной форме. Эта концепция объединяет самые различные приборы и устройства, такие как кондиционеры, датчики температуры, влажности, освещенности и движения, обеспечивая полностью автоматизированное выполнение процессов (включение/выключение электроприборов, света, поддержание микроклимата в помещении, своевременный полив сада, сбережение электроэнергии и т. д.). «Интернет вещей» представляет собой одно из наиболее популярных направлений в современной науке.[2]

Аппаратная реализация

Компактная реализация IoT для встроенных систем возможна при помощи Wi-fi модуля ESP8266

Рисунок 1 Wi-fi модуль ESP8266

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

Промышленный интернет вещей (IIoT)

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

На первом этапе внедрения IIoT на промышленное оборудование устанавливают датчики, исполнительные механизмы, контроллеры и человеко-машинные интерфейсы. В результате становится возможным сбор информации, которая позволяет руководству получать объективные и точные данные о состоянии производства. Обработанные данные предоставляются всем подразделениям предприятия. Это помогает наладить взаимодействие между сотрудниками разных подразделений и принимать обоснованные решения.[3] Полученная информация может быть использована для предотвращения внеплановых простоев, поломок оборудования, сокращения внепланового техобслуживания и сбоев в управлении цепочками поставок, тем самым позволяя предприятию функционировать более эффективно.

Для связи компонентов в промышленности, с использованием концепции IIoT, протоколы реализуются с помощью таких аппаратных средств автоматизации как программируемые логические контроллеры, маршрутизаторы, модули ввода/вывода, модемы, шлюзы. А так же с помощью программных средств, например, среды программирования ПЛК, Scada-системы, облачные сервисы.

Существует несколько способов настройки ПЛК. Главное, чтобы ПЛК поддерживал протокол промышленного интернета вещей. На данный момент не так много контроллеров поддерживают данный протокол. Одним из протоколов промышленного интернета вещей является протокол MQTT.Данный протокол поддерживают оборудование уже достаточно большой номенклатуры производителей, например, программируемые логические контроллеры ПЛК210, ПЛК110 от фирмы ОВЕН.[4]

Настройка обмена с применением библиотеки MQTT-клиента в CodesysV3.5.

Для настройки взаимодействия с помощью MQTT-клиента необходимо чтобы ПЛК поддерживал данный протокол. Далее нужно установить в Codesys, с помощью репозитория библиотек, библиотеку MQTT-client. После этого необходимо добавить библиотеку в проект.

Описание библиотеки

Данная библиотека состоит из двух функциональных блоков. Функциональный блок FB_MQTT client состоит из 416 строчек ST- кода. Поэтому в зависимости от поставленной задачи данный блок можно переписать под свои нужды.
Функциональный блок обеспечивает связь с брокером MQTT. Функциональный блок клиента отвечает за подключение ровно к одному брокеру. Чтобы обеспечить фоновую связь с этим брокером и иметь возможность получать сообщения, метод функционального блока должен вызываться циклически. Все параметры подключения доступны в качестве входных параметров и используются при установке подключения.

Синтаксис

Рисунок 2 Синтаксис функционального блока

sClientId- идентификатор клиента можно указать индивидуально. Если нет ID, то оно генерируется.

sHostName- указывается  имя или IP-адрес. Если информация не предоставлена,используется локальный хост.

nHostPort- указывается порт хоста. По умолчанию 1883.

sTopicPrefix-указывается префикс темы, который добавляется автоматически для всех команд публикации и подписки.

nKeepAlive- указывается время сторожевого таймера (в секундах), с которым осуществляется связь между клиентом и брокером.

sUserName- указывается имя пользователя.

sUserPassword- вводится пароль для имени пользователя.

stWill-если клиент нерегулярно отключается от брокера, последнее предварительно настроенное сообщение может быть отправлено из брокера в так называемую «тему завещания». Это сообщение указано здесь

ipMessageFiFo- этот входной параметр можно использовать для хранения входящих новых сообщений в очереди без реализации метода обратного вызова

Publish- метод для выполнения операции публикации в брокере сообщений MQTT.

Синтаксис вышеуказанного метода:

Рисунок 3 синтаксис метода Publish

Subscribe- метод используется клиентом, чтобы сообщить брокеру, что он хочет получить все сообщения MQTT с конкретной темой. Метод может зарегистрировать экземпляр клиента MQTT по нескольким темам.

Синтаксис метода Subscribe

Рисунок 4 синтаксис метода Subscribe

Настройка параметров функционального блока библиотеки MQTTclient

На вход «i_xEnable» необходимо подать значение True, чтобы блок был в работе. На вход «i_sBrokerAddress» необходимо указать адрес брокера, можно использовать онлайн брокер. Вход «i_uiPort» указывается адрес порта, стандартный порт для MQTT -1883. Далее вводится имя топиков, на которые будет производится подписка и куда будет идти публикация. Топику для публикации «i_sTopicPublish» задается название Pub, а топику «i_sTopicSubscribe» задается название Sub. К входу «i_sPayload» необходимо привязать переменную типа string, в которую будет записываться сообщение, которое будет публиковаться. Для спецификации подписки необходимо на входы «i_xPublish», «i_xSubscribe» привязать булевские переменные.

В роли второго MQTT клиента, для примера обмена сообщениями между MQTT клиентами, выступает программа MQTT-fx, который так же необходимо настроить, задав адрес брокера, адрес порта, client id.

Далее необходимо в MQTT-fx создать топики, в которых будет происходить публикация сообщений контроллера. Затем проект загружается в ПЛК. Далее производится передача сообщения с помощью ПЛК из Codesys в MQTT-fx. Для примера производится передача сообщения «Hello All» в топик Pub

Рисунок 5 Передача сообщения через MQTT клиент

Сообщение приходит на второй клиент MQTT:

Рисунок 6 Принятое сообщение в MQTT-fx

Для передачи сообщения, либо данных в ПЛК необходимо записать это сообщение в топике Sub в MQTT-fx, на который подписан контроллер. Передадим сообщение «MessagePLC» в контроллер

Рисунок 7 Передача сообщения в ПЛК

В ПЛК данное сообщение отобразится на выходе «q_sLastReceivedMessage»

С данного выхода сообщение можно забрать и уже в зависимости от задачи анализировать и т.д.

Рисунок 8 Получение сообщения контроллером

Взаимодействие с помощью IIoTOPC сервера MasterOPC

Настройка MQTT клиента с помощью OPC-сервера

Сначала необходимо сделать MQTT сервер (брокер). Проще всего, использовать любой облачный MQTT сервер, например, www.hivemq.com

Затем, необходимо провести настройку OPC сервера. Необходимо добавить в окно системы ПЛК, и произвести необходимые настройки MQTT клиента

Рисунок 9 настройка сервера MQTT клиента

Далее необходимо добавить теги и устройства и произвести их настройку

1) Указать IP адрес брокера, логин и пароль. Если планируется что-то передавать из сервера, то можно изменить скрипт Topic publish rule. С его помощью можно изменить строку, формируемую серверу при посылке данных (Publish), например, можно указать метку времени или признак качества, произвольно обработать отправляемые данные и т.д.[5]

2)После включения MQTT клиента, у каждого тега появляется возможность настроить его на прием или передачу MQTT сообщений. Для этого предназначены настройки Publish (передача) и Subscribe (подписка-получение). Необходимо включить нужный режим и указать имя топика – в случае публикации, сообщение будет посылаться с этим идентификатором, и все устройства, подписанные на этот идентификатор, получат данные. При подписке – в тег будут записываться только данные полученные от устройств с этим идентификатором.[6]

Рисунок 10 настройка тегов для MQTT

Заключение

На сегодняшний день концепция промышленного интернета вещей (IIoT) только развивается и начинает внедряться в промышленное производство. Поэтому ПЛК, которые поддерживают протокол промышленного интернета вещей MQTT, на данный момент очень малое количество. Информации про конфигурацию ПЛК для IIoT на данный момент так же не очень много. Способов передачи информации через MQTT-протокол практически нет, два были изложены выше в этой статье. В перспективе с MQTT-протоколом может работать так же исполнительная среда MasterScada 4D, где так же добавляется ПЛК, поддерживающий MQTT-протокол, в него в свою очередь добавляется MQTT- протокол , и так же происходит его настройка с помощью облачного сервиса.[7] На сегодняшний день так же развиваются всевозможные MQTT-шлюзы, которые подключаются к ПЛК и позволяют работать на них с MQTT-протоколами.

Применение промышленного интернета вещей на производстве позволит получать данные с датчиков на контроллер, которые находятся на очень больший расстояниях друг от друга, можно получить данные из множества различных устройств с различными протоколами, а так же управлять удаленно всевозможными органами управления, которые находятся в труднодоступных местах и поддерживают протокол IIoT.

Список использованных источников

Аристова, Н. И. , Обзор инновационных платформ IOT / Н. И. Аристова, В.М. Чадеев // Автоматизация в промышленности . – 2018. –№7. – С.8–13.

Гусейнов, Р.М. INDUSTRY 4.0, IOT, облака и перспективы информационной безопасности / Р.М. Гусейнов // Автоматизация в промышленности. – 2018. – №7. – С.44–46.

Козак, Н.В Интеграция данных систем логического управления в «умное» производство на основе концепции INDUSTRY 4.0 / Н. В. Козак, Р.А. Нежметдинов , Л.И. Мартинова // Автоматизация в промышленности . – 2018. –№5. – С.11–15.

Овен : офиц. сайт [Элект. ресурс]. – Режим доступа : https://owen.ru (дата обращения : 27.11.2020)

ИнСАТ : офиц. сайт [Элект. ресурс]. – Режим доступа : https://insat.ru (дата обращения: 26.11.2020)

Николаян, Л. Р. MASTERSCADA 4D как технология INDUSTRY 4.0 /Л.Р.Николаян // Автоматизация в промышленности. – 2018. –№7. –С.22–24.

Подлесный, А. М. MasterSCADA 4D – отечественная платформа для программирования контроллеров / А. М. Подлесный // Информатизация и Системы Управления в Промышленности [Электронный ресурс].  2018.  №1(73) .  С. 25.  Режим доступа : https://isup.ru (дата обращения :26 .11.2020)

Просмотров работы: 140