NEWS
Modbus Adapter / Wago / Holding Registers
-
Hallo zusammen,
versuche nun schon seit einiger Zeit Werte per Modbus von iobroker zur Wago zu übertragen.
Mit binären Werten funktioniert das schon, d.h. grundsätzlich besteht eine Verbindung.
Leider komme ich mit diesen Holding Registers nicht klar.
Ich habe dort einen Float Wert definiert auf Adresse 12388, also Wago Seite auf %MD100.
Man kann ja dann in der Konfig im Modbus Adapter noch die Flags poll/WP/CP setzen. Wenn ich nun kein Flag setzte oder CP setze taucht der Wert nicht im Objekt-Baum auf. Wenn ich dann das WP Flag noch setze scheint sich der ganze Adapter zu verabschieden, geht auf rot???
Versteht es einfach nicht. Läuft bei mir was falsch, oder mach ich was falsch.
Bitte um nen Tipp, kann ja nicht so schwer sein .
Danke
Stefan
-
Hallo Stefan,
ich habe mal versucht dein Problem nachzustellen. Mit Admin 2.0.9 und Modbus 1.1.1 funktionert es. Habe folgendes eingestellt (12288 = %MD0):
Wenn ich im ioBroker den Wert ändere ändert er sich in der SPS auch.
Wenn ich jetzt mit Admin 3.xund Modbus 2.0.7 das gleiche mache bekomme ich auch Fehlermeldungen.
Eingestellt ist folgendes:
SPS ist dieselbe.Fehler-Log:
! ````
host.ioBroker-Test 2018-09-25 21:06:09.908 info Restart adapter system.adapter.modbus.0 because enabled
host.ioBroker-Test 2018-09-25 21:06:09.908 error instance system.adapter.modbus.0 terminated with code 0 (OK)
Caught 2018-09-25 21:06:09.908 error by controller[0]: at tryOnImmediate (timers.js:768:5)
Caught 2018-09-25 21:06:09.908 error by controller[0]: at runCallback (timers.js:810:20)
Caught 2018-09-25 21:06:09.908 error by controller[0]: at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3429:38)
Caught 2018-09-25 21:06:09.908 error by controller[0]: at Adapter.emit (events.js:214:7)
Caught 2018-09-25 21:06:09.908 error by controller[0]: at emitTwo (events.js:126:13)
Caught 2018-09-25 21:06:09.908 error by controller[0]: at Adapter.adapter.on (/opt/iobroker/node_modules/iobroker.modbus/main.js:79:24)
Caught 2018-09-25 21:06:09.908 error by controller[0]: at Master.write (/opt/iobroker/node_modules/iobroker.modbus/lib/master.js:452:17)
Caught 2018-09-25 21:06:09.908 error by controller[0]: at writeHelper (/opt/iobroker/node_modules/iobroker.modbus/lib/master.js:440:13)
Caught 2018-09-25 21:06:09.908 error by controller[0]: at send (/opt/iobroker/node_modules/iobroker.modbus/lib/master.js:402:30)
Caught 2018-09-25 21:06:09.908 error by controller[0]: at Object.writeMultipleRegisters (/opt/iobroker/node_modules/iobroker.modbus/lib/jsmodbus/handler/client/WriteMultipleRegisters.js:69:25)
Caught 2018-09-25 21:06:09.907 error by controller[0]: ReferenceError: Q is not defined
modbus.0 2018-09-25 23:06:09.897 info terminating
modbus.0 2018-09-25 23:06:09.891 error at tryOnImmediate (timers.js:768:5)
modbus.0 2018-09-25 23:06:09.891 error at runCallback (timers.js:810:20)
modbus.0 2018-09-25 23:06:09.891 error at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3429:38)
modbus.0 2018-09-25 23:06:09.891 error at Adapter.emit (events.js:214:7)
modbus.0 2018-09-25 23:06:09.891 error at emitTwo (events.js:126:13)
modbus.0 2018-09-25 23:06:09.891 error at Adapter.adapter.on (/opt/iobroker/node_modules/iobroker.modbus/main.js:79:24)
modbus.0 2018-09-25 23:06:09.891 error at Master.write (/opt/iobroker/node_modules/iobroker.modbus/lib/master.js:452:17)
modbus.0 2018-09-25 23:06:09.891 error at writeHelper (/opt/iobroker/node_modules/iobroker.modbus/lib/master.js:440:13)
modbus.0 2018-09-25 23:06:09.891 error at send (/opt/iobroker/node_modules/iobroker.modbus/lib/master.js:402:30)
modbus.0 2018-09-25 23:06:09.891 error at Object.writeMultipleRegisters (/opt/iobroker/node_modules/iobroker.modbus/lib/jsmodbus/handler/client/WriteMultipleRegisters.js:69:25)
modbus.0 2018-09-25 23:06:09.891 error ReferenceError: Q is not defined
modbus.0 2018-09-25 23:06:09.891 error uncaught exception: Q is not definedWas hast du für einen Admin installiert? Was seltsam ist, dass das Rücklesen mit Admin 3 funktioniert. Wenn ich den Wert mit Admin 2 verändere, zeigt Admin 3 den richtigen Wert an. Gruß Thomas
-
Hallo Stefan,
ich habe mal versucht dein Problem nachzustellen. Mit Admin 2.0.9 und Modbus 1.1.1 funktionert es. Habe folgendes eingestellt (12288 = %MD0):
2018-09-25_230020.png
2018-09-25_230107.png
Wenn ich im ioBroker den Wert ändere ändert er sich in der SPS auch.
Wenn ich jetzt mit Admin 3.xund Modbus 2.0.7 das gleiche mache bekomme ich auch Fehlermeldungen.
Eingestellt ist folgendes:
2018-09-25_230456.png
SPS ist dieselbe.
Fehler-Log:
! ````
host.ioBroker-Test 2018-09-25 21:06:09.908 info Restart adapter system.adapter.modbus.0 because enabled
host.ioBroker-Test 2018-09-25 21:06:09.908 error instance system.adapter.modbus.0 terminated with code 0 (OK)
Caught 2018-09-25 21:06:09.908 error by controller[0]: at tryOnImmediate (timers.js:768:5)
Caught 2018-09-25 21:06:09.908 error by controller[0]: at runCallback (timers.js:810:20)
Caught 2018-09-25 21:06:09.908 error by controller[0]: at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3429:38)
Caught 2018-09-25 21:06:09.908 error by controller[0]: at Adapter.emit (events.js:214:7)
Caught 2018-09-25 21:06:09.908 error by controller[0]: at emitTwo (events.js:126:13)
Caught 2018-09-25 21:06:09.908 error by controller[0]: at Adapter.adapter.on (/opt/iobroker/node_modules/iobroker.modbus/main.js:79:24)
Caught 2018-09-25 21:06:09.908 error by controller[0]: at Master.write (/opt/iobroker/node_modules/iobroker.modbus/lib/master.js:452:17)
Caught 2018-09-25 21:06:09.908 error by controller[0]: at writeHelper (/opt/iobroker/node_modules/iobroker.modbus/lib/master.js:440:13)
Caught 2018-09-25 21:06:09.908 error by controller[0]: at send (/opt/iobroker/node_modules/iobroker.modbus/lib/master.js:402:30)
Caught 2018-09-25 21:06:09.908 error by controller[0]: at Object.writeMultipleRegisters (/opt/iobroker/node_modules/iobroker.modbus/lib/jsmodbus/handler/client/WriteMultipleRegisters.js:69:25)
Caught 2018-09-25 21:06:09.907 error by controller[0]: ReferenceError: Q is not defined
modbus.0 2018-09-25 23:06:09.897 info terminating
modbus.0 2018-09-25 23:06:09.891 error at tryOnImmediate (timers.js:768:5)
modbus.0 2018-09-25 23:06:09.891 error at runCallback (timers.js:810:20)
modbus.0 2018-09-25 23:06:09.891 error at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3429:38)
modbus.0 2018-09-25 23:06:09.891 error at Adapter.emit (events.js:214:7)
modbus.0 2018-09-25 23:06:09.891 error at emitTwo (events.js:126:13)
modbus.0 2018-09-25 23:06:09.891 error at Adapter.adapter.on (/opt/iobroker/node_modules/iobroker.modbus/main.js:79:24)
modbus.0 2018-09-25 23:06:09.891 error at Master.write (/opt/iobroker/node_modules/iobroker.modbus/lib/master.js:452:17)
modbus.0 2018-09-25 23:06:09.891 error at writeHelper (/opt/iobroker/node_modules/iobroker.modbus/lib/master.js:440:13)
modbus.0 2018-09-25 23:06:09.891 error at send (/opt/iobroker/node_modules/iobroker.modbus/lib/master.js:402:30)
modbus.0 2018-09-25 23:06:09.891 error at Object.writeMultipleRegisters (/opt/iobroker/node_modules/iobroker.modbus/lib/jsmodbus/handler/client/WriteMultipleRegisters.js:69:25)
modbus.0 2018-09-25 23:06:09.891 error ReferenceError: Q is not defined
modbus.0 2018-09-25 23:06:09.891 error uncaught exception: Q is not definedWas hast du für einen Admin installiert? Was seltsam ist, dass das Rücklesen mit Admin 3 funktioniert. Wenn ich den Wert mit Admin 2 verändere, zeigt Admin 3 den richtigen Wert an. Gruß Thomas `
Kannst du issue auf github erstellen?
-
Issue ist erstellt
-
Hallo,
danke für den Test.
bei mir ist installiert
Admin 3.3.5
modbus Adapter 2.0.7
-
ok, hab jetzt auf modbus 1.1.1 downgegradet
tut leider immer noch nicht.
Wie hast du den Merker in der Wago deklariert ? Als real oder DWORD ?
bei mir, hab aber beides probiert.
PV_Leistung AT %MD100 :DWORD;
-
Hallo,
nochmal nen Update von mir.
Mittlerweile habe ich es geschafft 16bit Werte zu übertragen , also unsigned 16bit auf Wago %MW1..5 usw. Alles super !
Nur leider schaffe ich es ums verrecken nicht die Float Werte zu übertragen , habe es genauso wie oben beschrieben konfiguriert. Auf Wago Seite dann mit %MD10 z.B. deklariert.Da passiert leider garnichts, habe anderen Andressen probiert, andere Datentypen wie unsigned 32bit usw. NIchts ?
Danke für weitere Tipps.
Stefan
edit:
so nachdem ich nun alles mögliche Versucht habe und bei der Wago nur Müll ankommt, beschränke ich mich bis auf Weiteres mit den 16 bit Werten. Ich denke bezüglich den 32bit Werten scheint an dem Adapter noch was falsch zu laufen. Hatte vorher ähnliches per Fhem aufgesetzt und da ging alles ohne Probleme, auf den gleichen Adressen.
Falls nun doch jemand weiß wie man mehrere Float-Werte zur Wago rüber bekommt wäre ich natürlich trotzdem dankbar.
-
Hallo,
also ich übertrage 32-bit float zur Wago. Allerdings mache ich das nicht mit Merkern, sondern beschreibe PFC-In-Variablen. Das funktioniert bei mir schon lange ohne Probleme.
Zusatz: Hast du mal Wireshark mitlaufen lassen um zu sehen was ioBroker anfragt und Wago antwortet?
Gruß
Thomas
-
Hallo,
Ich habe das selbe Problem. Am Wochenende wollte ich die Heizung in Betrieb nehmen und die Sollwerte für die Raumtemperaturen (FLOAT) per ioBROKER auf die Wago schreiben. In der SPS geänderte Werte, werden im ioBROKER richtig gelesen. Einzig das Schreiben von ioBROKER zur SPS scheint nicht zu funktionieren. Ich bin mir sicher, dass es letztes Jahr noch funktioniert hat.
Viele Grüße
Erik
-
Beschreibst du Merker oder PFC-In-Variablen?
Gruß
Thomas
-
Hallo,
ich nutze Merker. Werde heute Abend mal PFC-In-Variablen probieren. Sind diese Daten dann bidirektional beschreibbar (Wago –> ioBROKER und ioBROKER --> Wago)?
Viele Grüße - Erik
-
Hallo,
ich habe eine Wag0 750-880 im Einsatz. Dort gibt es zwei Bereiche: PFC-IN (ioBroker->Wago) und PFC-Out (Wago->ioBroker). Meines Wissens nach sind die nicht bidirektional. Bei anderen Controllern kann ich das nicht sagen.
Hatte auch schon überlegt auf Merker umzubauen, da die ja von SPS und Modbus beschrieben werden können. Wenn ich dazu komme werde ich die SPS mal ändern und schauen ob ich auch die Probleme habe.
Gruß
Thomas
-
Hallo,
ich hatte heute leider keinen Erfolg bzgl. PFC-Variablen. Ich habe testweise auch %ID129 probiert - leider ohne Erfolg.
@Dolomiti - hättest du evtl. noch einen Tipp für mich.
Hast du noch irgendwo einen Offset parametriert?
Schönen Abend - Erik
5114_1.png
5114_2.png
5114_3.png -
Hallo Erik,
anhand deines Screensshots vermute ich, dass du Modbus 2.0.7 installiert hast. Damit stürzt bei mir der Adapter nach dem schreiben von Float immer ab. Bin jetzt zurück auf 1.1.1. Damit klappt es. Allerdings gibt es dann Probleme mt den Coils, die Adressmäßig weit auseinander liegen. Das Problem mit 2.0.7 und 1.1.1 hatte ich oben schon beschrieben und auch ein Issue auf Github angelegt.
Probier mal ein Downgrade auf 1.1.1
Ergänzung: Hab mal mit Adresse 770 (%ID129) und auch 12288 (%MD0 als Real) Float schreiben probiert. 1.1.1 Funktioniert, 2.0.7 Stürzt ab.
Gruß
Thomas
-
Hallo,
ich habe gerade den Downgrade auf 1.1.1 durchgeführt und siehe da … auch die Floats können wieder bidirektional geschrieben werden.
Vielen Dank für die Hilfe!!!
Grüße - Erik
-
Habe hierfür soeben einen Bug behoben, der auch euer Problem beheben sollte: https://github.com/ioBroker/ioBroker.modbus/pull/27
-
Kann ich die neue Version momentan nur von GitHub installieren? Unter latest taucht sie noch nicht auf.
Habe ihn von GitHub installiert. Leider kommt folgendes:
modbus.1 2018-10-10 23:00:58.696 warn On error: {} modbus.1 2018-10-10 23:00:58.696 error Client in error state. modbus.1 2018-10-10 23:00:58.696 error Socket Error modbus.1 2018-10-10 23:00:58.694 info Disconnected from slave 192.168.1.191 modbus.1 2018-10-10 23:00:58.689 info Connected to slave 192.168.1.191 modbus.1 2018-10-10 23:00:57.683 info Disconnected from slave 192.168.1.191 modbus.1 2018-10-10 23:00:57.683 error Cannot write [12288]: {}
Mit 1.1.1 funktioniert es und Coils mit 2.07 funktionieren auch.
-
probier mal, von hier manuell zu installieren: https://github.com/Bjoern3003/ioBroker.modbus
-
Leider eine Menge Fehler
host.ioBroker-Test 2018-10-11 20:10:27.553 info Restart adapter system.adapter.modbus.0 because enabled host.ioBroker-Test 2018-10-11 20:10:27.553 error instance system.adapter.modbus.0 terminated with code 0 (OK) Caught 2018-10-11 20:10:27.553 error by controller[0]: at tryOnImmediate (timers.js:768:5) Caught 2018-10-11 20:10:27.553 error by controller[0]: at runCallback (timers.js:810:20) Caught 2018-10-11 20:10:27.553 error by controller[0]: at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3429:38) Caught 2018-10-11 20:10:27.553 error by controller[0]: at Adapter.emit (events.js:214:7) Caught 2018-10-11 20:10:27.553 error by controller[0]: at emitTwo (events.js:126:13) Caught 2018-10-11 20:10:27.553 error by controller[0]: at Adapter.adapter.on (/opt/iobroker/node_modules/iobroker.modbus/main.js:79:24) Caught 2018-10-11 20:10:27.553 error by controller[0]: at Master.write (/opt/iobroker/node_modules/iobroker.modbus/lib/master.js:452:17) Caught 2018-10-11 20:10:27.553 error by controller[0]: at writeHelper (/opt/iobroker/node_modules/iobroker.modbus/lib/master.js:440:13) Caught 2018-10-11 20:10:27.553 error by controller[0]: at send (/opt/iobroker/node_modules/iobroker.modbus/lib/master.js:402:30) Caught 2018-10-11 20:10:27.553 error by controller[0]: at Object.writeMultipleRegisters (/opt/iobroker/node_modules/iobroker.modbus/lib/jsmodbus/handler/client/WriteMultipleRegisters.js:69:25) Caught 2018-10-11 20:10:27.552 error by controller[0]: ReferenceError: Q is not defined modbus.0 2018-10-11 22:10:27.533 error at tryOnImmediate (timers.js:768:5) modbus.0 2018-10-11 22:10:27.533 error at runCallback (timers.js:810:20) modbus.0 2018-10-11 22:10:27.533 error at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3429:38) modbus.0 2018-10-11 22:10:27.533 error at Adapter.emit (events.js:214:7) modbus.0 2018-10-11 22:10:27.533 error at emitTwo (events.js:126:13) modbus.0 2018-10-11 22:10:27.533 error at Adapter.adapter.on (/opt/iobroker/node_modules/iobroker.modbus/main.js:79:24) modbus.0 2018-10-11 22:10:27.533 error at Master.write (/opt/iobroker/node_modules/iobroker.modbus/lib/master.js:452:17) modbus.0 2018-10-11 22:10:27.533 error at writeHelper (/opt/iobroker/node_modules/iobroker.modbus/lib/master.js:440:13) modbus.0 2018-10-11 22:10:27.533 error at send (/opt/iobroker/node_modules/iobroker.modbus/lib/master.js:402:30) modbus.0 2018-10-11 22:10:27.533 error at Object.writeMultipleRegisters (/opt/iobroker/node_modules/iobroker.modbus/lib/jsmodbus/handler/client/WriteMultipleRegisters.js:69:25) modbus.0 2018-10-11 22:10:27.533 error ReferenceError: Q is not defined modbus.0 2018-10-11 22:10:27.533 error uncaught exception: Q is not defined
Edit: Jetzt geht es auf einmal. Werde weiter testen.
-
Leider eine Menge Fehler
host.ioBroker-Test 2018-10-11 20:10:27.553 info Restart adapter system.adapter.modbus.0 because enabled host.ioBroker-Test 2018-10-11 20:10:27.553 error instance system.adapter.modbus.0 terminated with code 0 (OK) Caught 2018-10-11 20:10:27.553 error by controller[0]: at tryOnImmediate (timers.js:768:5) Caught 2018-10-11 20:10:27.553 error by controller[0]: at runCallback (timers.js:810:20) Caught 2018-10-11 20:10:27.553 error by controller[0]: at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3429:38) Caught 2018-10-11 20:10:27.553 error by controller[0]: at Adapter.emit (events.js:214:7) Caught 2018-10-11 20:10:27.553 error by controller[0]: at emitTwo (events.js:126:13) Caught 2018-10-11 20:10:27.553 error by controller[0]: at Adapter.adapter.on (/opt/iobroker/node_modules/iobroker.modbus/main.js:79:24) Caught 2018-10-11 20:10:27.553 error by controller[0]: at Master.write (/opt/iobroker/node_modules/iobroker.modbus/lib/master.js:452:17) Caught 2018-10-11 20:10:27.553 error by controller[0]: at writeHelper (/opt/iobroker/node_modules/iobroker.modbus/lib/master.js:440:13) Caught 2018-10-11 20:10:27.553 error by controller[0]: at send (/opt/iobroker/node_modules/iobroker.modbus/lib/master.js:402:30) Caught 2018-10-11 20:10:27.553 error by controller[0]: at Object.writeMultipleRegisters (/opt/iobroker/node_modules/iobroker.modbus/lib/jsmodbus/handler/client/WriteMultipleRegisters.js:69:25) Caught 2018-10-11 20:10:27.552 error by controller[0]: ReferenceError: Q is not defined modbus.0 2018-10-11 22:10:27.533 error at tryOnImmediate (timers.js:768:5) modbus.0 2018-10-11 22:10:27.533 error at runCallback (timers.js:810:20) modbus.0 2018-10-11 22:10:27.533 error at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3429:38) modbus.0 2018-10-11 22:10:27.533 error at Adapter.emit (events.js:214:7) modbus.0 2018-10-11 22:10:27.533 error at emitTwo (events.js:126:13) modbus.0 2018-10-11 22:10:27.533 error at Adapter.adapter.on (/opt/iobroker/node_modules/iobroker.modbus/main.js:79:24) modbus.0 2018-10-11 22:10:27.533 error at Master.write (/opt/iobroker/node_modules/iobroker.modbus/lib/master.js:452:17) modbus.0 2018-10-11 22:10:27.533 error at writeHelper (/opt/iobroker/node_modules/iobroker.modbus/lib/master.js:440:13) modbus.0 2018-10-11 22:10:27.533 error at send (/opt/iobroker/node_modules/iobroker.modbus/lib/master.js:402:30) modbus.0 2018-10-11 22:10:27.533 error at Object.writeMultipleRegisters (/opt/iobroker/node_modules/iobroker.modbus/lib/jsmodbus/handler/client/WriteMultipleRegisters.js:69:25) modbus.0 2018-10-11 22:10:27.533 error ReferenceError: Q is not defined modbus.0 2018-10-11 22:10:27.533 error uncaught exception: Q is not defined
Edit: Jetzt geht es auf einmal. Werde weiter testen. `
Scheint immer noch alte Version zu sein.Ich habe die Änderungen von Bjorn schon übernommenen und 2.0.9 kann über latest installiert werden.