MEK 104: различия между версиями
Matveevrj (обсуждение | вклад) |
Matveevrj (обсуждение | вклад) |
||
(не показано 20 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
{{DISPLAYTITLE: Шлюз МЭК 104}} | {{DISPLAYTITLE: Шлюз МЭК 104}} | ||
== Описание == | == Описание == | ||
МЭК 104 — протокол | МЭК 104, 104-ый — протокол по ГОСТ Р МЭК 60870-5-104 | ||
Разработан шлюз для трансляции сообщений между MQTT-брокером и системами c поддержкой протокола МЭК 60870-5-104. | |||
Работает с контроллером Wiren Board 6. | |||
Работает с контроллером Wiren Board 6 | |||
== Принцип работы == | == Принцип работы == | ||
Строка 18: | Строка 15: | ||
* команда уставки, масштабированное значение (C_SE_NB_1); | * команда уставки, масштабированное значение (C_SE_NB_1); | ||
* команда уставки, короткое число с плавающей запятой (C_SE_NC_1). | * команда уставки, короткое число с плавающей запятой (C_SE_NC_1). | ||
Обрабатывается первый объект информации в ASDU. Если в конфигурационном файле есть включенный канал для адреса этого объекта информации, шлюз произведёт запись полученного значения в соответствующую тему канала, например | Обрабатывается первый объект информации в ASDU. Если в конфигурационном файле есть включенный канал для адреса этого объекта информации, шлюз произведёт запись полученного значения в соответствующую тему канала, например <code>/devices/wb-gpio/controls/5V_OUT/on</code>). Также поддерживается команда общего опроса станции (C_IC_NA_1, QOI равный 20), прочие команды не поддерживаются. | ||
== Установка == | == Установка == | ||
Строка 25: | Строка 22: | ||
Устанавливаем командой: | Устанавливаем командой: | ||
<syntaxhighlight lang="bash">apt install wb-mqtt-iec104</syntaxhighlight> | <syntaxhighlight lang="bash">apt install wb-mqtt-iec104</syntaxhighlight> | ||
При запуске шлюза происходит автоматическое создание конфигурационного файла <code>/etc/wb-mqtt-iec104.conf</code>. | |||
При запуске шлюза происходит автоматическое создание конфигурационного файла. | При последующих запусках шлюз анализирует доступные MQTT каналы(контролы) и добавляет их в файл. Активировать передачу данных конкретных каналов можно, редактируя файл <code>/etc/wb-mqtt-serial.conf</code>, либо воспользовавшись онлайн-редактором настроек. | ||
При последующих запусках шлюз анализирует доступные MQTT каналы(контролы) и добавляет их в | Структура конфигурационного файла описана [https://wirenboard.com тут]. | ||
Шлюз подключается к заданому MQTT брокеру и подписывается на сообщения от каналов, указанных в конфигурационном файле. В системах с поддержкой протокола МЭК 60870-5-104 шлюз выступает в роли контролируемой станции и принимает входящие TCP/IP соединения по указаному в конфигурационном файле локальному интерфейсу и порту. | Шлюз подключается к заданому MQTT брокеру и подписывается на сообщения от каналов, указанных в конфигурационном файле. В системах с поддержкой протокола МЭК 60870-5-104 шлюз выступает в роли контролируемой станции и принимает входящие TCP/IP соединения по указаному в конфигурационном файле локальному интерфейсу и порту. | ||
== Настройка в веб-интерфейсе контроллера Wiren Board == | == Настройка в веб-интерфейсе контроллера Wiren Board == | ||
После установки шлюза его можно настроить в интерфейсе [[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>. | |||
После установки шлюза его можно настроить в [[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 | | |||
Онлайн-конфигуратор позволяет указать параметры подключения к MQTT-брокеру (дополнительные параметры можно выбрать, нажав на кнопку “Properties”) и выбрать локальный IP и порт, по которым шлюз будет ожидать подключения. | |||
[[Image: online-interface.png |500px]] | |||
Ниже показан интерфейс редактирования списка групп и каналов для трансляции из MQTT в МЭК 60870-5-104. По умолчанию шлюз создаёт отдельную группу для каждого устройства. Список групп расположен слева, его можно самостоятельно редактировать. | |||
[[Image: edit-interface.png |700px]] | |||
При выборе конкретной группы в правой части появится список входящих в неё каналов. Каналы так же можно создавать, удалять и редактировать. Столбец '''MQTT device and control''' указывает конкретный канал MQTT. Он формируется из названия устройства и канала. Для первого в списке канала соответствующий топик MQTT будет <code>/devices/wb-m1w2_107/controls/External Sensor 1</code> . Уникальный адрес объекта информации согласно МЭК генерируется при старте сервиса, его можно изменить в столбце '''Unique IEC information object address'''. Также можно поменять тип объекта информации. | |||
== Полезные ссылки == | == Полезные ссылки == | ||
* [https://support.wirenboard.com/t/podderzhka-mek-60870-5-104/6465 Тема на | * [https://support.wirenboard.com/t/podderzhka-mek-60870-5-104/6465 Тема на форуме] | ||
Версия 20:06, 20 июля 2022
Описание
МЭК 104, 104-ый — протокол по ГОСТ Р МЭК 60870-5-104
Разработан шлюз для трансляции сообщений между MQTT-брокером и системами c поддержкой протокола МЭК 60870-5-104. Работает с контроллером 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. Если в конфигурационном файле есть включенный канал для адреса этого объекта информации, шлюз произведёт запись полученного значения в соответствующую тему канала, например /devices/wb-gpio/controls/5V_OUT/on
). Также поддерживается команда общего опроса станции (C_IC_NA_1, QOI равный 20), прочие команды не поддерживаются.
Установка
Обновляем список пакетов командой:
apt update
Устанавливаем командой:
apt install wb-mqtt-iec104
При запуске шлюза происходит автоматическое создание конфигурационного файла /etc/wb-mqtt-iec104.conf
.
При последующих запусках шлюз анализирует доступные MQTT каналы(контролы) и добавляет их в файл. Активировать передачу данных конкретных каналов можно, редактируя файл /etc/wb-mqtt-serial.conf
, либо воспользовавшись онлайн-редактором настроек.
Структура конфигурационного файла описана тут.
Шлюз подключается к заданому MQTT брокеру и подписывается на сообщения от каналов, указанных в конфигурационном файле. В системах с поддержкой протокола МЭК 60870-5-104 шлюз выступает в роли контролируемой станции и принимает входящие TCP/IP соединения по указаному в конфигурационном файле локальному интерфейсу и порту.
Настройка в веб-интерфейсе контроллера Wiren Board
После установки шлюза его можно настроить в интерфейсе онлайн-конфигуратора, выбрав из списка файл /etc/wb-mqtt-iec104.conf
.
Онлайн-конфигуратор позволяет указать параметры подключения к MQTT-брокеру (дополнительные параметры можно выбрать, нажав на кнопку “Properties”) и выбрать локальный IP и порт, по которым шлюз будет ожидать подключения.
Ниже показан интерфейс редактирования списка групп и каналов для трансляции из MQTT в МЭК 60870-5-104. По умолчанию шлюз создаёт отдельную группу для каждого устройства. Список групп расположен слева, его можно самостоятельно редактировать.
При выборе конкретной группы в правой части появится список входящих в неё каналов. Каналы так же можно создавать, удалять и редактировать. Столбец MQTT device and control указывает конкретный канал MQTT. Он формируется из названия устройства и канала. Для первого в списке канала соответствующий топик MQTT будет /devices/wb-m1w2_107/controls/External Sensor 1
. Уникальный адрес объекта информации согласно МЭК генерируется при старте сервиса, его можно изменить в столбце Unique IEC information object address. Также можно поменять тип объекта информации.