Драйвер ModBus

Adav
starter
Beiträge: 67
Registriert: 28.12.2016, 09:27

Re: Драйвер ModBus

Beitrag von Adav » 21.07.2017, 09:32

avaal hat geschrieben: Нужно ли пересобирать драйвер модбаса?
По инструкции установка не получается, может там что то не дописано?
На текущий момент пробовал 4 разных типа modbus устройств. Просто ставил драйвер и все. Устройства такие: универсальный модуль входов-выходов, контроллеры заряда батареи, модуль опроса датчиков влажности-температуры, счетчик ЭЭ.

1. Универсальный модуль. На борту есть как 485, так и Ethernet. Полный набор входов выходов (регистров) - coil, discrete, input, holding. Подключал через modbus TCP. Заработал в итоге полностью и нормально.
2. Контроллер заряда. Только RS-485, причем только на 115200. Тоже полный набор регистров. Заработало нормально только с input и holding, причем с установкой "максимальное кол-во регистров при чтении = 1". С дискретными - никак... но они не очень-то и полезны, поэтому пока устраивает. Подключалось через 2xRS-485 - Ethernet конвертер. На ioBroker пробовал как modbus TCP, так и RTU over TCP. Работают оба, но субъективно второй работает стабильнее. Попытка добавить второе аналогичное устройство на одну шину 485 приводила к тому, что сие работало некоторое время, потом уходило в постоянные рестарты modbus драйвера из-за ошибок. В итоге просто воткнул (уже портов не хватило) USB-485 (на чипе cp210x) и второе устройство подключил туда. Работает также. Пробовал подключать на него (на одну шину) и оба устройства, но с удивлением обнаружил, что на одном драйвере вообще нет возможности настроить два устройства с разными ID. А разные драйвера с одним COM портом просто не работают из-за блокировки порта первым драйвером.
3. Модуль опроса датчиков. 485. Нормально работает. Регистры только input. Подключал через конвертор.
4. Счетчик ЭЭ. 485 Нормально работает. Регистры только input. Подключал через конвертор.

Попытка подключить устройства 3 и 4 на одну шину приводила к тому же результату, что и с вариантом 2. По одному - работают без проблем. В итоге получилось что для нормальной работы требуется подключать каждое устройство на отдельный RS-485 порт в не зависимости от того, конвертор ли это или USB затычка в сервере. Что вообщем-то быть не должно. Из-за этого остановил пока перенос устройств с контроллера WB5 (где они висят "гирляндой" на 485) на ioBroker. Надеюсь, разработчики со временем эти проблемы решат.

И да, в качестве сервера использовалась виртуальная машина на ESXi с Debian. Пробовалось (Modbus TCP и RTU over TCP) и на Orange PI Zero - результат тот же самый.

radon
starter
Beiträge: 22
Registriert: 21.11.2016, 14:58

Re: Драйвер ModBus

Beitrag von radon » 26.07.2017, 22:04

По какой то причине иногда подвисает modbus.
Протокол TCP, устройство WAGO 750-841
Через какое-то время в настройках драйверов modbus загорается жёлтым цветом, при этом команды с web интерфейса проходят крайне медленно либо вообще не проходят, помогает перезагрузка драйвера, на некоторое время, потом снова всё сначала.

Adav
starter
Beiträge: 67
Registriert: 28.12.2016, 09:27

Re: Драйвер ModBus

Beitrag von Adav » 26.07.2017, 22:15

radon hat geschrieben:По какой то причине иногда подвисает modbus.
Протокол TCP, устройство WAGO 750-841
Через какое-то время в настройках драйверов modbus загорается жёлтым цветом, при этом команды с web интерфейса проходят крайне медленно либо вообще не проходят, помогает перезагрузка драйвера, на некоторое время, потом снова всё сначала.
Версия драйвера не 0.5.0? Попробуйте обновить на 0.5.3

https://github.com/ioBroker/ioBroker.mo ... d5365a421c

У меня тоже случаются ошибки на модбасе, нечасто вроде... в результате перегружается драйвер самостоятельно (видно по логам). Раньше тоже с этим были проблемы.

ap2017
starter
Beiträge: 67
Registriert: 01.12.2017, 03:44

Re: Драйвер ModBus

Beitrag von ap2017 » 04.12.2017, 18:40

Подключил ESP8266 к IO Broker через MODBUS. Брокер как мастер, ESP как слэйв. Работает, но почему-то медленно, апдейт происходит раз в 15-20 секунд, хотя другая SCADA (mySCADA ot https://www.myscada.org/en/) делает апдейт как минимyм раз в секунду от того же ESP. Не могу понять в чем дело, может библиотека MODBUS на ESP не тянет? Я пользуюсь библиотекой от https://github.com/andresarmento/modbus-arduino

Спасибо

Pooh
professional
Beiträge: 143
Registriert: 11.05.2017, 05:15
Wohnort: Самара
Kontaktdaten:

Re: Драйвер ModBus

Beitrag von Pooh » 05.12.2017, 04:37

ap2017 hat geschrieben:Подключил ESP8266 к IO Broker через MODBUS...
Почему именно MODBUS? в чем секрет? почему не MQTT, например?

ap2017
starter
Beiträge: 67
Registriert: 01.12.2017, 03:44

Re: Драйвер ModBus

Beitrag von ap2017 » 05.12.2017, 04:41

Pooh hat geschrieben:
ap2017 hat geschrieben:Подключил ESP8266 к IO Broker через MODBUS...
Почему именно MODBUS? в чем секрет? почему не MQTT, например?
У меня также работает PLC с которым удобно общаться через MODBUS. Также хорошо работает mySENSORS и Z-Wave. Z-Wave для обмена данными с термостатами.

ap2017
starter
Beiträge: 67
Registriert: 01.12.2017, 03:44

Re: Драйвер ModBus РАБОТАЕТ

Beitrag von ap2017 » 09.12.2017, 16:46

ap2017 hat geschrieben:Подключил ESP8266 к IO Broker через MODBUS. Брокер как мастер, ESP как слэйв. Работает, но почему-то медленно, апдейт происходит раз в 15-20 секунд, хотя другая SCADA (mySCADA ot https://www.myscada.org/en/) делает апдейт как минимyм раз в секунду от того же ESP. Не могу понять в чем дело, может библиотека MODBUS на ESP не тянет? Я пользуюсь библиотекой от https://github.com/andresarmento/modbus-arduino

Спасибо
Проблема решена использованием другой MODBUS библиотеки для ESP8266 от https://github.com/JhonControl/ESP8266_ ... dbusTCP_V2

Sergey777
starter
Beiträge: 31
Registriert: 27.01.2018, 22:00

Re: Драйвер ModBus

Beitrag von Sergey777 » 28.01.2018, 15:53

Почему Modbus Постоянно отваливается?
ioBroker установлен на компе под Win10. Используется оригинальный USB-RS485 адаптер от Болид https://bolid.ru/production/orion/inter ... rs485.html , уже несколько лет ими пользуюсь, самые надёжные, никогда не глючили, имеют гальваническую развязку до 2,5кВ. Подключил три счётчика SDM120, в сумме 33 параметра. Работает минут 5-10, иногда несколько часов, и потом индикатор коннекта на самом адаптере гаснет, в драйверах ioBrokerа модбас драйвер загорается жёлтым, типа нет соединения с модбас шиной. Жму "перезагрузить", и всё начинает работать, опять до следующего падения.
Сначала думал что параметров много, или частота обновления большая, или может сами счётчики глючат... Оставил один счётчик, оставил один параметр (считывание напряжения), интервал запросов 1000 милисек. Но ситуация не поменялась, всё равно модбас отваливается. Никакой зависимости не заметил, может сразу отвалиться, может через несколько часов.
Сейчас поставил эти счётчики под мониторинг рапид скады, мониторятся почти сутки, никаких проблем, адаптер тот же самый.
Что можно предпринять? Без модбаса никак не могу? Есть альтернативные драйвера?
Логи:

Code: Alles auswählen

	Время		Сообщение

x
modbus.0	2018-01-27 19:05:25.067	warn	Poll error count: 11 code: {"err":"timeout"}
modbus.0	2018-01-27 19:05:25.066	warn	Error: undefined
modbus.0	2018-01-27 19:05:24.065	info	Connected to slave
modbus.0	2018-01-27 19:04:24.058	info	Disconnected from slave 127.0.0.1
modbus.0	2018-01-27 19:04:24.057	warn	Poll error count: 10 code: {"err":"timeout"}
modbus.0	2018-01-27 19:04:24.057	warn	Error: undefined
modbus.0	2018-01-27 19:04:23.056	info	Connected to slave
modbus.0	2018-01-27 19:03:23.048	info	Disconnected from slave 127.0.0.1
modbus.0	2018-01-27 19:03:23.047	warn	Poll error count: 9 code: {"err":"timeout"}
modbus.0	2018-01-27 19:03:23.047	warn	Error: undefined
modbus.0	2018-01-27 19:03:22.044	info	Connected to slave
modbus.0	2018-01-27 19:02:22.038	info	Disconnected from slave 127.0.0.1
modbus.0	2018-01-27 19:02:22.037	warn	Poll error count: 8 code: {"err":"timeout"}
modbus.0	2018-01-27 19:02:22.037	warn	Error: undefined
modbus.0	2018-01-27 19:02:21.036	info	Connected to slave
modbus.0	2018-01-27 19:01:21.032	info	Disconnected from slave 127.0.0.1
modbus.0	2018-01-27 19:01:21.032	warn	Poll error count: 7 code: {"err":"timeout"}
modbus.0	2018-01-27 19:01:21.031	warn	Error: undefined
modbus.0	2018-01-27 19:01:20.028	info	Connected to slave
modbus.0	2018-01-27 19:00:21.226	warn	Poll error count: 6 code: "App Timeout"
modbus.0	2018-01-27 19:00:20.022	info	Disconnected from slave 127.0.0.1
modbus.0	2018-01-27 19:00:19.222	warn	Poll error count: 5 code: "App Timeout"
modbus.0	2018-01-27 19:00:19.022	warn	Poll error count: 4 code: {"err":"timeout"}
modbus.0	2018-01-27 19:00:19.021	warn	Error: undefined
modbus.0	2018-01-27 19:00:18.020	info	Connected to slave
modbus.0	2018-01-27 18:59:19.213	warn	Poll error count: 3 code: "App Timeout"
modbus.0	2018-01-27 18:59:18.006	info	Disconnected from slave 127.0.0.1
modbus.0	2018-01-27 18:59:17.139	warn	Poll error count: 2 code: "App Timeout"
modbus.0	2018-01-27 18:59:17.006	warn	Poll error count: 1 code: {"err":"timeout"}
Перезапуск:

Code: Alles auswählen

modbus.0	2018-01-27 19:06:07.382	info	Connected to slave
history.0	2018-01-27 19:06:07.347	info	enabled logging of modbus.0.info.pollTime
history.0	2018-01-27 19:06:07.334	info	enabled logging of modbus.0.inputRegisters.0_Напряжение
modbus.0	2018-01-27 19:06:07.265	info	starting. Version 1.0.3 in C:/ioBroker/node_modules/iobroker.modbus, node: v4.7.3
host.Computer	2018-01-27 19:06:06.621	info	instance system.adapter.modbus.0 started with pid 10064
host.Computer	2018-01-27 19:06:04.129	info	instance system.adapter.modbus.0 terminated with code null ()
host.Computer	2018-01-27 19:06:04.129	warn	instance system.adapter.modbus.0 terminated due to SIGTERM
host.Computer	2018-01-27 19:06:04.100	info	stopInstance system.adapter.modbus.0 killing pid 1956
host.Computer	2018-01-27 19:06:04.099	info	stopInstance system.adapter.modbus.0
host.Computer	2018-01-27 19:06:04.095	info	object change system.adapter.modbus.0
modbus.0	2018-01-27 19:05:25.067	info	Disconnected from slave 127.0.0.1
modbus.0	2018-01-27 19:05:25.067	warn	Poll error count: 11 code: {"err":"timeout"}
При этом автоматически делает переподключение - не прокатывает. А как ручками нажму кнопку, тогда подключается.

Adav
starter
Beiträge: 67
Registriert: 28.12.2016, 09:27

Re: Драйвер ModBus

Beitrag von Adav » 01.03.2018, 08:54

Sergey777 hat geschrieben:Почему Modbus Постоянно отваливается?
Я так и не смог добиться стабильной работы если на одной шине 485 больше одного устройства. Причем в разных вариантах - и на USB-485, и на COM-сервере Ethernet-485. Вероятнее всего причина в том, что разные драйвера для разных устройств ничего не знают друг о друге и шлют запросы на одну шину случайным образом, создавая конфликты. Странно что у Вас те же проблемы и с одним устройством, я пробовал подключать такой же счетчик, работало нормально.

Ну и попробуйте разные параметры настройки драйвера. К примеру, одно из устройств стабильно у меня работает с таймаутом чтения 0. Другие же при 1000...

Alkanaft
Beiträge: 3
Registriert: 06.02.2018, 14:16

Re: Драйвер ModBus

Beitrag von Alkanaft » 25.03.2018, 20:44

Здравствуйте, Blufox.
Скажите, когда будет полноценная реализация протокола modbus? Очень необходимо, чтобы драйвер поддерживал несколько устройств на одной шине.

v965
starter
Beiträge: 47
Registriert: 02.01.2017, 23:32

Re: Драйвер ModBus

Beitrag von v965 » 01.09.2018, 20:36

Вообщем такая вот беда.
Пока iobroker работал на вот таких версиях
Orange PI Plus2
Node Js
v4.9.1
Npm
2.15.1
Драйвер ModBus последней ревизии видел Serial port без проблем можно было выбрать usb устройство
Но как только обновил систему до
Orange PI Plus2
Node.js: v8.11.4
NPM: 6.4.1
Всё драйвер modbus перестал видеть Serial port вообще в выборе просто пустота!
При этом на команду
root@orangepiplus:~# lsusb
Bus 002 Device 002: ID 05e3:0718 Genesys Logic, Inc. IDE/SATA Adapter
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 006: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Прежде чем писать этот пост я попробовал сделать многое в частности и

:!: Часто при установке драйверов, работающих с последовательным портом, возникают проблемы. Проблема происходит из за того, что NPM пакет serialport на вашей системе должен быть заново скомпилирован. Для этого необходимо установить нужные пакеты и инструменты. Linux:


sudo apt-get update
sudo apt-get install build-essential git
1
2
sudo apt-get update
sudo apt-get install build-essential git
Всё безуспешно драйвер не хочет видеть serial и всё.
Но я попробовал установить более старую версию Modbus и он без проблем видит serial port
Версии такие 1.1.0 работает ;)
1.1.1 нет :oops:
)
)
Что делать и как заставить Modbus драйвер видить serial???
Дело не в правах пользователя и не в одноплатнике а судя из происходящего в драйвере.

MSapogov
professional
Beiträge: 127
Registriert: 13.08.2015, 07:23

Re: Драйвер ModBus

Beitrag von MSapogov » 02.09.2018, 17:33

Orange PI PC (Armbian 5.38)
Платформа: linux
RAM: 1000.7 MB
Node.js: v8.11.4
NPM: 6.4.0
И /dev/ttyS1
и /dev/ttyUSB0
дает выбирать...

Antworten