MEK 104: различия между версиями

Нет описания правки
Строка 5: Строка 5:
Разработан шлюз для трансляции сообщений между MQTT-брокером и системами c поддержкой протокола МЭК 60870-5-104.
Разработан шлюз для трансляции сообщений между MQTT-брокером и системами c поддержкой протокола МЭК 60870-5-104.
Работает с контроллером Wiren Board 6.
Работает с контроллером Wiren Board 6.
== Принцип работы ==
=== Передача сообщений из MQTT в МЭК 60870-5-104 ===
Сообщения MQTT передаются в МЭК 60870-5-104 блоками данных (ASDU) с причиной передачи “спорадически”(3). При подключении нового контролирующего устройства, шлюз автоматически высылает последние известные значения всех включенных каналов. В дальнейшем каждое новое MQTT-сообщение сразу же передаётся в МЭК 60870-5-104.
=== Передача команд МЭК 60870-5-104 в MQTT ===
Шлюз поддерживает ASDU с типами:
* одноэлементная команда (C_SC_NA_1);
* команда уставки, масштабированное значение (C_SE_NB_1);
* команда уставки, короткое число с плавающей запятой (C_SE_NC_1).
Обрабатывается первый объект информации в ASDU. Если в конфигурационном файле есть включенный канал для адреса этого объекта информации, шлюз произведёт запись полученного значения в соответствующую тему канала, например <code>/devices/wb-gpio/controls/5V_OUT/on</code>). Также поддерживается команда общего опроса станции (C_IC_NA_1, QOI равный 20), прочие команды не поддерживаются.


== Установка ==
== Установка ==
Подключаем репозиторий <code>experimantal</code> командой:
Подключаем репозиторий <code>experimental</code> командой:
<syntaxhighlight lang="bash">echo 'deb http://releases.contactless.ru/experimental/stretch stretch main' > /etc/apt/sources.list.d/contactless-experimental.list</syntaxhighlight>
<syntaxhighlight lang="bash">echo 'deb http://releases.contactless.ru/experimental/stretch stretch main' > /etc/apt/sources.list.d/contactless-experimental.list</syntaxhighlight>
Обновляем список пакетов командой:
Обновляем список пакетов командой:
<syntaxhighlight lang="bash">apt update</syntaxhighlight>
<syntaxhighlight lang="bash">apt update</syntaxhighlight>
Устанавливаем командой:
Устанавливаем командой:
<syntaxhighlight lang="bash">apt install wb-mqtt-iec104=0.3.0~feature+first-release+0+64a7c63</syntaxhighlight>
<syntaxhighlight lang="bash">apt install wb-mqtt-iec104</syntaxhighlight>
При запуске шлюза происходит автоматическое создание конфигурационного файла <code>/etc/wb-mqtt-iec104.conf</code>.
При запуске шлюза происходит автоматическое создание конфигурационного файла <code>/etc/wb-mqtt-iec104.conf</code>.
При последующих запусках шлюз анализирует доступные MQTT каналы(контролы) и добавляет их в файл. Активировать передачу данных конкретных каналов можно, редактируя файл <code>/etc/wb-mqtt-serial.conf</code>, либо воспользовавшись онлайн-редактором настроек.
При последующих запусках шлюз анализирует доступные MQTT каналы(контролы) и добавляет их в файл. Активировать передачу данных конкретных каналов можно, редактируя файл <code>/etc/wb-mqtt-serial.conf</code>, либо воспользовавшись онлайн-редактором настроек.
Строка 19: Строка 30:
Шлюз подключается к заданому MQTT брокеру и подписывается на сообщения от каналов, указанных в конфигурационном файле. В системах с поддержкой протокола МЭК 60870-5-104 шлюз выступает в роли контролируемой станции и принимает входящие TCP/IP соединения по указаному в конфигурационном файле локальному интерфейсу и порту.
Шлюз подключается к заданому MQTT брокеру и подписывается на сообщения от каналов, указанных в конфигурационном файле. В системах с поддержкой протокола МЭК 60870-5-104 шлюз выступает в роли контролируемой станции и принимает входящие TCP/IP соединения по указаному в конфигурационном файле локальному интерфейсу и порту.


== Передача сообщений из MQTT в МЭК 60870-5-104 ==
== Настройка в веб-интерфейсе контроллера Wiren Board ==
Сообщения MQTT передаются в МЭК 60870-5-104 блоками данных (ASDU) с причиной передачи “спорадически”(3). При подключении нового контролирующего устройства, шлюз автоматически высылает последние известные значения всех включенных каналов. В дальнейшем каждое новое MQTT-сообщение сразу же передаётся в МЭК 60870-5-104.
 
== Передача команд МЭК 60870-5-104 в MQTT ==
Шлюз поддерживает ASDU с типами:
* одноэлементная команда (C_SC_NA_1);
* команда уставки, масштабированное значение (C_SE_NB_1);
* команда уставки, короткое число с плавающей запятой (C_SE_NC_1).
Обрабатывается первый объект информации в ASDU. Если в конфигурационном файле есть включенный канал для адреса этого объекта информации, шлюз произведёт запись полученного значения в соответствующую тему канала, например <code>/devices/wb-gpio/controls/5V_OUT/on</code>). Также поддерживается команда общего опроса станции (C_IC_NA_1, QOI равный 20), прочие команды не поддерживаются.
 
== Интерфейс онлайн-конфигуратора ==
После установки шлюза его можно настроить в интерфейсе [https://wirenboard.com/wiki/Wiren_Board_Web_Interface#Settings_-.3E_Configs_.28.D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B8_-.3E_.D0.9A.D0.BE.D0.BD.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5.29 онлайн-конфигуратора], выбрав из списка файл <code>/etc/wb-mqtt-iec104.conf</code>.
После установки шлюза его можно настроить в интерфейсе [https://wirenboard.com/wiki/Wiren_Board_Web_Interface#Settings_-.3E_Configs_.28.D0.9D.D0.B0.D1.81.D1.82.D1.80.D0.BE.D0.B9.D0.BA.D0.B8_-.3E_.D0.9A.D0.BE.D0.BD.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B8.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5.29 онлайн-конфигуратора], выбрав из списка файл <code>/etc/wb-mqtt-iec104.conf</code>.


wb_editors
236

правок