NEWS
Frage zu Modbus
-
Hallo
ich möchte folgesdes Projekt realisieren.
Ich möchte im IOBroker einfach per Blockly Relais schalten (z.B. Bewässerung, Rolläden, etc).
Dazu habe ich einen RS485 Adapter Seriell USB RS-485 Modbus Raspberry Pi und 16 Kanal RS485 Relaismodul MODBUS gekauft.
https://www.ebay.de/itm/RS485-Konverter … 2749.l2649
https://www.ebay.de/itm/16-Kanal-RS485- ... 2749.l2649
Mein IOBroker läuft auf einem Tinkerboard. Egal welchen Port ich einstelle ist der Instanzadapter Modbus immer gelb.
Kann mir jemand helfen was ich einstellen muss oder was ich noch machen soll, damit die Anlage läuft?
-
Das USB-Gerät ist das Richtige? Hast du mehrere USB-Geräte am Host zu hängen?
Enrico
-
Laut ebay-Artikelbeschreibung kann dieser Adapter mit RS485 Geräten kommunizieren.
Am Tinkerboard habe ich ein ZigBee-Stick und diesen Adapter hängen.
-
welchen Linux-Befehl muss ich eingeben um herauszufinden in welchen Port mein USB-Stick steckt?
Was gibt man bei "Diskreten Eingängen" usw ein?
-
welchen Linux-Befehl muss ich eingeben um herauszufinden in welchen Port mein USB-Stick steckt?
Was gibt man bei "Diskreten Eingängen" usw ein? `
ls -la /dev/ttyUSB* lsusb -v
-
Hat keiner eine Idee? `
Ich, siehe oben!Hast Du gecheckt ob der Stick erkannt wird?
Zieh den Stick mal ab und steck ihn wieder an, jetzt auf der Konsole````
dmesgWas steht am Ende der Ausgabe?
-
Hallo Jens,
danke für deine Antwort.
Am Ende der Ausgabe steht - letzte 6 Zeilen -
[166315.156745] usb 1-1.1: new full-speed USB device number 5 using dwc2
[166315.234054] usb 1-1.1: New USB device found, idVendor=1a86, idProduct=7523
[166315.234077] usb 1-1.1: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[166315.234081] usb 1-1.1: Product: USB2.0-Serial
[166315.234633] ch341 1-1.1:1.0: ch341-uart converter detected
[166315.235609] usb 1-1.1: ch341-uart converter now attached to ttyUSB0
-
Hallo Jens,
danke für deine Antwort.
Am Ende der Ausgabe steht - letzte 6 Zeilen -
[166315.234081] usb 1-1.1: Product: USB2.0-Serial
[166315.234633] ch341 1-1.1:1.0: ch341-uart converter detected
[166315.235609] usb 1-1.1: ch341-uart converter now attached to ttyUSB0 `
Ok, ist also ein USB->>Serial Adapter(das hatten wir ja auch erwartet;-))
und das Device ist /dev/ttyUSB0
Trag das mal ein und probier weiter!
-
Habe ich eingetragen. Der Adapter wird für ca. 10 sek. grün und dann wieder gelb.
Muss ich was bei diskreten Eingängen, Ausgängen, Eingangsregister und Holding eintragen?
-
Gibts denn irgendwelche logs?
Wenn nicht stell doch mal bitte den Adapter um auf debug!
Enrico
-
Hier ist mein Log:
modbus.0 2018-12-30 22:47:01.304 debug system.adapter.admin.0: logging true modbus.0 2018-12-30 22:46:44.456 debug Cleaning up request fifo. modbus.0 2018-12-30 22:46:44.455 debug Clearing timeout of the current request. modbus.0 2018-12-30 22:46:44.450 info Disconnected from slave modbus.0 2018-12-30 22:46:43.450 warn Poll error count: 1 code: {"err":"timeout"} modbus.0 2018-12-30 22:46:43.448 error Request timed out. modbus.0 2018-12-30 22:46:43.448 warn Error: undefined modbus.0 2018-12-30 22:46:38.436 debug Poll inputRegs DevID(1) address 1 - 1 bytes modbus.0 2018-12-30 22:46:38.434 debug Poll device 1 modbus.0 2018-12-30 22:46:38.432 info Connected to slave modbus.0 2018-12-30 22:46:38.414 debug connect to serial /dev/ttyUSB0 with 9600 modbus.0 2018-12-30 22:46:38.051 info starting. Version 2.0.9 in /opt/iobroker/node_modules/iobroker.modbus, node: v6.14.4 modbus.0 2018-12-30 22:46:37.929 debug statesDB connected modbus.0 2018-12-30 22:46:37.858 debug objectDB connected modbus.0 2018-12-30 22:46:37.030 info terminating modbus.0 2018-12-30 22:46:36.046 warn Poll error count: 10 code: {"err":"timeout"} modbus.0 2018-12-30 22:46:36.045 error Request timed out. modbus.0 2018-12-30 22:46:36.045 warn Error: undefined modbus.0 2018-12-30 22:46:31.039 info Connected to slave modbus.0 2018-12-30 22:45:31.024 info Disconnected from slave modbus.0 2018-12-30 22:45:30.023 warn Poll error count: 9 code: {"err":"timeout"} modbus.0 2018-12-30 22:45:30.023 error Request timed out. modbus.0 2018-12-30 22:45:30.022 warn Error: undefined modbus.0 2018-12-30 22:45:25.014 info Connected to slave modbus.0 2018-12-30 22:44:25.001 info Disconnected from slave modbus.0 2018-12-30 22:44:24.001 warn Poll error count: 8 code: {"err":"timeout"}
-
modbus.0 2018-12-30 22:50:02.516 debug Cleaning up request fifo. modbus.0 2018-12-30 22:50:02.516 debug Clearing timeout of the current request. modbus.0 2018-12-30 22:50:02.513 info Disconnected from slave modbus.0 2018-12-30 22:50:01.520 warn Poll error count: 4 code: {"err":"timeout"} modbus.0 2018-12-30 22:50:01.520 error Request timed out. modbus.0 2018-12-30 22:50:01.520 warn Error: undefined modbus.0 2018-12-30 22:49:56.511 debug Poll inputRegs DevID(1) address 1 - 1 bytes modbus.0 2018-12-30 22:49:56.511 debug Poll device 1 modbus.0 2018-12-30 22:49:56.510 info Connected to slave modbus.0 2018-12-30 22:49:56.497 debug connect to serial /dev/ttyUSB0 with 9600 modbus.0 2018-12-30 22:48:56.503 debug Cleaning up request fifo. modbus.0 2018-12-30 22:48:56.502 debug Clearing timeout of the current request. modbus.0 2018-12-30 22:48:56.493 info Disconnected from slave modbus.0 2018-12-30 22:48:55.493 warn Poll error count: 3 code: {"err":"timeout"} modbus.0 2018-12-30 22:48:55.493 error Request timed out. modbus.0 2018-12-30 22:48:55.493 warn Error: undefined modbus.0 2018-12-30 22:48:50.496 debug Poll inputRegs DevID(1) address 1 - 1 bytes modbus.0 2018-12-30 22:48:50.496 debug Poll device 1 modbus.0 2018-12-30 22:48:50.492 info Connected to slave modbus.0 2018-12-30 22:48:50.486 debug connect to serial /dev/ttyUSB0 with 9600 modbus.0 2018-12-30 22:47:50.487 debug Cleaning up request fifo. modbus.0 2018-12-30 22:47:50.486 debug Clearing timeout of the current request. modbus.0 2018-12-30 22:47:50.483 info Disconnected from slave modbus.0 2018-12-30 22:47:49.482 warn Poll error count: 2 code: {"err":"timeout"} modbus.0 2018-12-30 22:47:49.482 error Request timed out. modbus.0 2018-12-30 22:47:49.481 warn Error: undefined modbus.0 2018-12-30 22:47:44.484 debug Poll inputRegs DevID(1) address 1 - 1 bytes
-
Da steht was von Pollerror, ich denke mal, dass da noch eine Einstellung falsch ist.
Hast du denn mal die oberste Einstellung, RTU usw verändert?
Enrico
-
Das ist ein USB-Serial-Adapter. Also Einstellung "Serial" ist richtig.
Vierschiedene Boudrate habe ich probiert - gleiches Ergebnis.
Was ist bei diskreten Eingängen, Ausgängen, Eingangsregister und Holding Registers einzutragen?
Bei mir sind die Felder leer.
-
Hallo zusammen,
ich habe sehr ähnliches, wie das hier beschriebene Problem.
Mein Adapter hängt ebenfalls am USB Anschluss und wird auch entsprechend (/dev/ttyUSB) erkannt. Das Adernpaar geht dann zu meiner Lüftungsanlage, welche für Modbus RS485 RTU konfiguriert ist. Beide Enden habe ich mit dem Abschluss-Widerstand versehen. Wenn ich mit anderen Tools (eg. Modbus Poll oder Modbus Master) mich mit dem gleichen USB-Stick und der gleichen Hardwarekonstellation verbinden, funktioniert es sehr gut und ich kann die Coils und Register auslesen.
Mache ich das gleiche via IOBroker und dem Modbus Adapter geht es schief.
Der Adapter geht nach der Konfiguaration von Rot auf Gelb, flackert dann für eine kurze Zeit in Richtung grün, fällt dann aber wieder auf gelb zurück und bleibt dann dan.
Im Log (debug) steht dann folgendes:
modbus.0 2019-01-01 13:09:32.908 info Disconnected from slave
modbus.0 2019-01-01 13:09:32.907 info Connected to slave
modbus.0 2019-01-01 13:09:32.892 debug connect to serial /dev/ttyUSB0 with 9600
modbus.0 2019-01-01 13:08:32.906 debug redis pmessage io.modbus.0.* io.modbus.0.info.connection {"val":false,"ack":true,"ts":1546344512893,"q":0,"from":"system.adapter.modbus.0","lc":1546344032780}
modbus.0 2019-01-01 13:08:32.904 debug redis pmessage io.modbus.0.* io.modbus.0.info.connection {"val":true,"ack":true,"ts":1546344512890,"q":0,"from":"system.adapter.modbus.0","lc":1546344512890}
modbus.0 2019-01-01 13:08:32.903 debug Cleaning up request fifo.
und das wiederholt sich dann.
Leider stehe ich jetzt im Wald und würde mich freuen, von euch einen Tipp zu bekommen.
Besten Dank schon im Voraus.
-
Ich habe nicht viel Ahnung vom Modbus, bin aber auch bei dir der Meinung, wie auch bei Rapsi, dass die Einstellung im ioBoker-Modbus-Adapter auf RTU stehen muss! Da muss, meinem Verständnis nach, nicht die Einstellung des USB-Adapters eingegeben werden, sondern, der Modbus-Typ, so habe ich bisher die Infos dazu verstanden. Ich gerade auf der Suche nach einem Modbus-Zähler und wie ich das anstellen kann.
Enrico
-
Hallo Enrico,
vielen Dank für deine Antwort, mit meinem Halbwissen würde ich aber vermuten, dass Serial ja RS485 RTU bedeutet. Eine RTU Abfrage kann aber auch über TCP erfolgen. Das geht natürlich gar nicht, weil ich keinen ETH zu Serial Adapter habe.
Beste Grüße
Thomas
-
Habe ich eingetragen. Der Adapter wird für ca. 10 sek. grün und dann wieder gelb.
Muss ich was bei diskreten Eingängen, Ausgängen, Eingangsregister und Holding eintragen? `
Hi,
ja es muss etwas eingetragen werden. Je nachdem was du machen willst, auslesen, schreiben etc.
Wichtig ist auch zu beachten das der Adapter immer das gleiche Device bleibt. Da ändert sich z.B. schon mal nach einem PI reboot.
-
Chapeau! Wendy
Das war genau der richtige Tip. In den Registern muss etwas stehen, sonst verbindet sich der Adapter nicht.
Herzlichen Dank. jetzt kann es bei mir los gehen.
-
Sehr schön.
Kannst du dann bitte noch den Titel deines ersten Posts um ein "Gelöst" ergänzen.