Специализированный протокол WirenBoard_MQTT

<< Click to Display Table of Contents >>

Navigation:  Библиотеки контроллеров > Руководство по работе с контроллером PLC WirenBoard 7 > Подключение устройств по протоколам >

Специализированный протокол WirenBoard_MQTT

Библиотека WirenBoard включает в себя протокол WirenBoard_MQTT.

Опрос контроллера WirenBoard7 происходит по протоколу WirenBoard_MQTT по умолчанию. Поэтому добавлять протокол в узел не требуется.

Настройки протокола задаются в настройках элемента Встроенные модули в категории Настройки каналов и Протокол:

Specializirovannie_protokols_WB7

Настройки, применимые к протоколу в панели свойств Встроенные модули:

Свойство

Описание

Категория Протокол

Порт

Номер порта TCP IP, который используется для работы с MQTT-сервером.

Имя пользователя

Задается имя пользователя, если оно задано в настройках MQTT-сервера.

Пароль

Задается пароль, заданный в настройках MQTT-сервера.

Получать метку времени и признак качества

Определяет тип данных для каналов: SYSTEM_*_PARAM (включает метку и качество) или атомарные. Флаг должен быть установлен, т.к. за один цикл опроса может быть получено несколько значений одновременно.

Игнорируемые топики

 

Игнорировать топики, которые заканчиваются на значение, заданное в данном поле. Значения могут быть заданы через запятую.

Суффикс для записи

 

В некоторых серверах топик на чтение отличается от топика на запись окончанием. В этом случае можно задать окончание в данном поле. Например, для того чтобы работало изменение значений входов/выходов контроллера, добавленных через протокол MQTT, необходимо выставлять значение суффикса для записи /on.

Чистая сессия

 

Данная настройка имеет тип BOOL. По умолчанию значение TRUE. При значении FALSE брокер сохранит все подписки клиента, а так же передаст ему все сообщения с флагом Qos1 и Qos2, которые были получены брокером во время отключения клиента, при его следующем подключении. Когда значение настройки TRUE при повторном подключении клиенту будет необходимо, повторно подписываться на топики.

Задержка записи

Определяет, будут ли учитываться первые значения при расчетах при старте системы. При старте сервера или при переключении в режим MASTER заданное этой настройкой число циклов выполняется без записи выходов. Это необходимо для того, чтобы значения выходных параметров начинали выдаваться не сразу, а через некоторое время, когда уже обновятся значения входных параметров и пересчитаются алгоритмы.

Идентификатор клиента

Передается в качестве ClientId при установке соединения. Может быть не указано.

Топик статуса опроса канала

Используется для контроля потери связи с модулем (значение StatusCode каналов). В зависимости от устройства, используемого в качестве сервера MQTT, задается окончание топика устройства, отвечающего за вывод ошибок. У протокола WirenBoard_MQTT для формирования StatusCode должно быть проставлено значение /meta/error - топик meta с атрибутом error (установлено по умолчанию).

Таймаут подписки

 

По умолчанию значение настройки 15000 ms. Устанавливается временной интервал, регулирующий передачу ping-запросов и ping-ответов для контроля отключения одной из сторон.

Использовать TLS

Определяет использование защищенного подключения. Путь к сертификату сервера задается в настройке Путь к сертификату.

Путь к сертификату

Задается путь к сертификату TLS. Используется, если включена настройка Использовать TLS. Сертификаты должны иметь расширения .cer.

Настройки каналов идентичны настройкам отдельного канала, описанным ниже.

Каналы встроенных модулей WirenBoard_MQTT

Для добавления каналов модуля в устройство достаточно выполнить пункт контекстного меню Встроенные модули\Добавить\Канал в дереве системы.

Specializirovannie_protokols_WB7_1

ПЛК WirenBoard7 содержит следующие типовые каналы обмена:

Название

Тип данных параметров

Доступ

AI

SYSTEM_LREAL_PARAM

Чтение

DI

SYSTEM_BOOL_PARAM

Чтение

AO

SYSTEM_LREAL_PARAM

Запись

DO

SYSTEM_BOOL_PARAM

Запись

AIO

SYSTEM_LREAL_PARAM

Чтение и запись

DIO

SYSTEM_BOOL_PARAM

Чтение и запись

Свойства каналов задаются в панели свойств канала:

Specializirovannie_protokols_WB7_2

Основные свойства модулей ввода/вывода из раздела Настройки:

Название

Описание

Topic

Указывается имя раздела (топика)

 

QoS

Указывается тип QoS. Доступные варианты:

0 - без подтверждения получения,

1 - с подтверждением получения,

2 - с подтверждением подтверждения получения.

Retain

Если флаг установлен, то при публикации данных, брокер сохранит их. При следующей подписке на этот топик брокер незамедлительно отправит данные с этим флагом.

Структура канала модуля ввода-вывода

Предопределенные каналы имеют тип данных структура. Они содержат три параметра:

Value - читаемое или записываемое значение соответствующего типа (REAL, LREAL, BOOL, INT, DINT, STRING, BYTE,WORD, DWORD, LWORD, DT, LINT);

SourceTime - метка времени, формируемая MasterSCADA 4D при получении и отправке данных, тип данных DT;

StatusCode - признак качества, начальное значение которого установлено в BadWaitingForInitialData для того, чтобы до получения значения по связи не выполнялась запись начального значения в архив, а также выдача начального значения на выходные каналы. Если в дальнейшем опрос произойдет успешно, то значение параметра поменяется на Good. Если при первом опросе возникнет ошибка, то параметр установится в BadNoCommunication. Если при опросах сначала будет установлено Good, а потом возникнет ошибка, то параметр примет значение BadOutOfService (при этом в Value останется последнее полученное значение).

Вид структуры канала в дереве системы:

Specializirovannie_protokols_WB7_3

Информация о состоянии связи с модулем ввода-вывода

Для получения информации о состоянии связи с модулями ввода-вывода используются параметры Отказ и Ошибка протокола MQTT в группе Встроенные модули:

Specializirovannie_protokols_WB7_4

Параметр Отказ имеет тип значения BOOL. Если параметр принимает состояние TRUE, то это значит, что исполнительная система не может установить связь с данным модулем.

Параметр Ошибка имеет тип значения STRING. Если у исполнительной системы нет связи со всеми модулями ввода/вывода, то параметр принимает значение No connection.