Передача сигналов в SCADA по Modbus TCP

вот конфиг для этого сигнала ID:201, Register: 100

Получилось что-то выяснить?

Я воспроизвожу у себя - (если верить скриншоту) с теми же праметрами - работает.

Добрый день! Пришлите, пожалуйста, скрин, где у вас работает…

Если верить настройкам modbus (таблицам регистров), которые вы указываете в документации, то передать что либо в SCADA не получается.

Приходится вручную “методом тыка” находить нужные параметры, которые не соответствуют офиц. документации.

Ниже строчка из офиц. документации:

В основном проблема возникает с Inpur Register. Ниже прикрепляю скрин настройки MAP3E, эти настройки не совпадают с настройками из документации… но с ними приходят верные значения…

Ниже наши строчки подобранные “методом тыка”:

У нас огромный проект, где вручную настраивать каждый регистр - проблема!

Неужели не было таких проблем?

Как я понял, что офиц. таблица неверная? Очень просто, я показания, которые приходят по Modbus с WirenBoard, сравниваю с показаниями во вкладке “Устройства” в вебке.

Прошу помочь разобраться

Забыл указать сообщение выше как ответ.

Счетчик.
Screenshot_20231025_135442
Топик /devices/wb-map6s_27/controls/AP energy 1
содержит значение

mosquitto_sub -v -t '/devices/wb-map6s_27/controls/AP energy 1'
/devices/wb-map6s_27/controls/AP energy 1 6e-05

Беру этоn топик и конфигурирую в mbgate так:

   {
    "topic": "wb-map6s_27/AP energy 1",
    "address": 4000,
    "unitId": 11,
    "meta_type": "power_consumption",
    "enabled": true,
    "format": "float",
    "size": 8,
    "max": 0,
    "scale": 1,
    "byteswap": false,
    "wordswap": false
   },

Получаю:

modbus_client -mtcp  --debug -p502 10.0.0.78 -a11 -t0x04 -o500 -r4000 -c4
Connecting to 10.0.0.78:502
[00][01][00][00][00][06][0B][04][0F][A0][00][04]
Waiting for a confirmation...
<00><01><00><00><00><0B><0B><04><08><0F><3F><10><75><55><4D><69><1D>
SUCCESS: read 4 of elements:
	Data: 0x0f3f 0x1075 0x554d 0x691d 

Какая таблица?
Таблица чего?

https://wirenboard.com/wiki/WB-MAP3E_Data_Registers_v.2

При настройке мы ориентируемся на эту таблицу

Вопрос в следующем: есть какой-то принцип настройки каналов и регистров в шлюзе MQTT - Modbus RTU/TCP slave? Или это все ручная настройка?

В документе, на который выше ссылку дал, регистр AP energy - u64
little endian, а мы в шлюзе MQTT - Modbus RTU/TCP slave ставим для него - Float

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

Так как вам удобно настраиваются.

Неважно, в шлюз отправляется значение из топика. В топик оно может попадать считываясь из счетчика, может быть каим-то расчетным. И именно значение уже можно представить в удобном виде.

Спасибо за ответ :handshake:
Это конечно мое личное мнение, но было бы намного удобнее с готовой таблицей для ваших устройств предназначенной для передачи сигналов на верхний уровень. Уходит очень много времени на выставление нужных параметров в конфигураторе, чтобы значения совпадали с реальными.
Как свою таблицу сделаем, сюда прикреплю.

Тут дело в том, что именно требуется передавать на верхний уровень.
Четно говоря если для верхнего уровня подходит таблица регистров устройства “как есть” - то зачем в этой цепочке контроллер? Достаточно шлюза, например Преобразователь интерфейсов WB-MGE v.2 — Wiren Board

Потому что очень часто параметры с удаленных модулей используются в логике (автоматике) и, следовательно, обрабатываются ПЛК. Также данные с этих модулей надо передать в SCADA. Поэтому приходится использовать конфигуратор Modbus RTU/TCP Slave.

Если есть TCP - то, возможно, проще отдавать сразу из MQTT значения? Нет необходимости настраивать дополнительный шлюз.

Наверху (в SCADA) могут принять только Modbus или МЭК-104. Точнее это ТЗ такое у них.

Ну, тогда - только конфигурировать, да. Хотя и МЭК104 есть.

Все решаемо, потом поделюсь файлами, вдруг пользователям будет полезно. Тем более все чаще WB используют в промышленности.

Я сейчас готовлю топик по МЭК104, есть много нюансов, из-за которых WB не пускают на объекты. Попробую описать подробно. Надеюсь, что совместно решим проблему.

Да, это будет весьма полезно.

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.