Modbus TCP чтение данных из Slave устройства


#1

Есть ли возможность на WB5 считывать данные из устройств по протоколу Modbus TCP и одновременно обращаться к WB как к Slave устройству по Modbus TCP?
Есть ли возможность сохранять полученные значения в памяти, чтобы они не сбрасывались после пропадания питания?
Есть ли возможность вести архивы изменения отдельных параметров и обращаться к ним путем чтения регистров Modbus TCP?


#2

пока нет. Если у вас коммерческое применение - свяжитесь пожалуйста по почте.

это есть из коробки

да

да

вот этого пока нет. Насколько я знаю, в Modbus TCP нет стандартного способа это делать.
Если вы знаете какую-нибудь реализацию где-то - подскажите, посмотрим.


#3

Подскажите, а как можно реализовать архивирование параметров и чтение архивп из вне? Может быть возможно реализовать с помощью скриптов и протокола mqtt?


#4

Оно уже реализовано, есть в стандартной прошивке. Сервис wb-mqtt-db, интерфейс общения - MQTT-RPC.
Сейчас эти данные получает веб-интерфейс (раздел history), также его получает модуль связи с SCADA Inspektor (inspektor.carbonfay.ru). Т.к. ПО открытое, то примеры можно посмотреть.

Сответственно снаружи можно например дёргать сам сервис по MQTT-RPC (это поверх стандартного MQTT-канала).


#5

Подскажите, каким образом возможно реализовать сбор данных с контроллера Beckhoff cx9020 по TCP и реализовать их архивирование?
Есть какие нибудь варианты такой связи.


#6

На контроллере Beckhoff кроме Modbus TCP slave есть что-то ещё?


#7

Есть Bacnet и OPC UA


#8

из консоли WB
modbus_client -mtcp -t0x03 -r4 172.16.0.4
где -r это регистр, а ip, соответственно железяки которую читаем.
далее у меня заббикс дергает скрипт.

root@wirenboard:# cat /customscript/manometr.sh
#!/bin/bash
ip=$1
address=$2
str=`modbus_client -mtcp -t0x03 -r$2 $1 | grep -o -G -I "Data:.*$"`
data=`expr "$str" : 'Data: \(.*\)$'`
dataint=`printf "%u\n" $data`
echo $dataint

далее скрипт дергается так

/customscript/manometr.sh $1 $2
$1 - ip , $2 регистр. на выходе только число с данными.

такой момент, у меня он данные выводит в HEX, скрипт сразу переводит в DEC
на выходе в заббиксе имею это


#9

можно уточнить? сейчас можно читать данные по Modbus TCP? а есть ли документация?

PS попробовал вот это устройство подключить https://razumdom.ru/catalog/modbus_tcp_ip/rele/491/

создал TCP соединение по IP устройства на порт 502 как в документации. Создал усройствос номером как MODBUS RTU. отключилось.=)

что то не так сделал? помогла перезагрузка по питанию.


#10

Нет, Modbus TCP Master не поддерживается.


#11

Еще не появилась штатная возможность снимать данные по modbus tcp (без скриптов)?


#12

К сожалению нет. А что за устройство хотите подключать?


#13

segnetics smh4


#14

Хм, а вам точно надо считывать данные с Segnetics? Не наоборот?


#15

Да, он управляет оборудованием, а нам нужно мониторить состояние. Хотели забирать данные на wb в mqtt, затем из mqtt в наш мониторинг.


#16

Есть ли вообще планы на разработку этого режима? (modbus tcp master)


#17

changer, добрый день! Нет, планов таких пока нет.