<< Click to Display Table of Contents >> Navigation: Библиотеки контроллеров > Руководство по работе с контроллером PLC WirenBoard 7 > Подключение устройств по протоколам > Специализированный протокол WirenBoard_MQTT |
Библиотека WirenBoard включает в себя протокол WirenBoard_MQTT.
Опрос контроллера WirenBoard7 происходит по протоколу WirenBoard_MQTT по умолчанию. Поэтому добавлять протокол в узел не требуется.
Настройки протокола задаются в настройках элемента Встроенные модули в категории Настройки каналов и Протокол:
Настройки, применимые к протоколу в панели свойств Встроенные модули:
Свойство |
Описание |
---|---|
Категория Протокол |
|
Порт |
Номер порта 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. |
Настройки каналов идентичны настройкам отдельного канала, описанным ниже.
Для добавления каналов модуля в устройство достаточно выполнить пункт контекстного меню Встроенные модули\Добавить\Канал в дереве системы.
ПЛК 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 |
Чтение и запись |
Свойства каналов задаются в панели свойств канала:
Основные свойства модулей ввода/вывода из раздела Настройки:
Название |
Описание |
---|---|
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 останется последнее полученное значение).
Вид структуры канала в дереве системы:
Для получения информации о состоянии связи с модулями ввода-вывода используются параметры Отказ и Ошибка протокола MQTT в группе Встроенные модули:
Параметр Отказ имеет тип значения BOOL. Если параметр принимает состояние TRUE, то это значит, что исполнительная система не может установить связь с данным модулем.
Параметр Ошибка имеет тип значения STRING. Если у исполнительной системы нет связи со всеми модулями ввода/вывода, то параметр принимает значение No connection.