Hallo zusammen,
ich habe Probleme mit dem Modbus Adapter, wenn ich mehr als einen Slave per Serial RTU abfragen möchte. Solange ich nur einen Slave abfrage (egal welchen der 3 möglichen), funktioniert das Ganze problemlos.
Meine Konfiguration:
- Raspi2 mit laufendem ioBroker
- USB-RS485-Adapter zum Zugriff auf den Bus
- Stromzähler, Typ ABB B23 (baugleich, auf Modbus-Adressen 1-3).
Bei der Konfiguration des Adapters habe ich folgendes eingestellt:
Bei den Holding Registern werden diverse (50-60) Register vom Slave 3 gepollt.
Die Abfrage dieser Register funktioniert problemlos, der "connection" Status bleibt immer auf true.
Die Polltime beträgt ca. 1,8s.
Sobald ich aber die Abfrage eines einzelnen Registers für Slave 1 oder 2 hinzufüge (ein Register vom Slave 3 verdoppelt auf den anderen Slave - die Slaves sind ja baugleich), erhalte ich timeouts.
Außerdem wechselt der "connection" Status häufig (vermutlich beim Timeout) auf "false", die Polltime wird mit ca. 120ms angegeben.
Hier die Logmeldungen:
modbus.0 2019-04-30 11:58:10.577 info Disconnected from slave
modbus.0 2019-04-30 11:58:09.580 warn Poll error count: 1 code: {"err":"timeout"}
modbus.0 2019-04-30 11:58:09.579 error Request timed out.
modbus.0 2019-04-30 11:58:09.571 warn Error: undefined
modbus.0 2019-04-30 11:57:47.923 info List of port: [{"comName":"/dev/ttyAMA0"},{"manufacturer":"1a86","pnpId":"usb-1a86_USB2.0-Serial-if00-port0","vendorId":"1a86","productId":"7523","comName":"/dev/ttyUSB0"}]
modbus.0 2019-04-30 11:57:47.426 info Connected to slave
modbus.0 2019-04-30 11:57:43.801 info starting. Version 2.0.9 in /opt/iobroker/node_modules/iobroker.modbus, node: v8.16.0
host.myhost 2019-04-30 11:57:40.981 info instance system.adapter.modbus.0 started with pid 16951
Kann es sein, dass der Adapter mit mehreren Slaves nicht zurecht kommt?
Müsste bei der Abfrage der beiden Slaves ggf. eine Wartezeit dazwischen eingebaut / diese vergrößert werden?
Kennt jemand das Problem bzw. hat jemand die Abfrage mehrerer baugleicher Slaves fehlerfrei am Laufen?