NEWS
Modbus Adapter mit WAGO 750-881 Kommunikationsproblem
-
Moin zusammen,
ich habe folgendes Problem. Ich versuche Werte (0-100) über den Modbus Adapter an meine WAGO Steuerung zu senden, welche aber nicht automatisch in der SPS aktualisiert werden. Es wird ein Wert im Datenpunkt durch die Spracheingabe geändert, allerdings erfolgt keine Übertragung zur WAGO Steuerung. Erst wenn ich im Datenpunkt händisch den Wert mit der Enter Taste bestätige, erfolgt die Übertragung. Das LOG zeigt keine Fehler.
Hier mal ein Screenshot der Einstellungen, sowie die Holding Register Mapping:
Das Lesen aus der Steuerung läuft. Ich habe einen Helligkeitssensor an einer AI Karte angeschlossen, wo die Werte im Broker angezeigt werden. -
@Dieter85 Zwei Möglichkeiten sehe ich:
- du schickst unveränderte Werte nicht weiter (siehe Modbus Einstellungen)
- wie setzt du den Wert? Aus welchem Adapter? Kannst du mal einen Screenshot von Tooltip des Wertes machen, nachdem er per Sprachbefehl verändert wurde (gleich wie dein jetziger Screenshot, aber eben ohne den Wert manuell zu ändern).
-
@UncleSam Hi,
hier ist ein Screenshot vom Ursprung aus Node Red:
Wie zu sehen steht der Wert auf 66.
Im Objekt wird der Wert auch übertragen:
Nur in der Steuerung kommt der Wert nicht an. Dort steht er noch auf 43.
Wenn ich in der Instanz "unveränderte Werte aktualisieren" aktiviere, übernimmt er direkt den Wert aus der Steuerung:
Zur Info, die Merker werden in der Steuerung bis jetzt noch nicht weiter verwendet und sind nur zu Testzwecken angelegt worden. Also es kann auch nicht sein, dass die Merker in der Steuerung überschrieben werden. -
@Dieter85 Bingo. Du schickst den Wert mit "Bestätigt = true" (Englisch: ack) an den Adapter. Ein Adapter wird nie auf eine Wertänderung reagieren, wenn diese als "bestätigt" markiert ist. Weil: normalerweise ist es genau so, wie der Adapter den Wert selber setzt (und so weiss ein Adapter auch immer: kommt die Änderung von aussen (ack=false) oder von innen (ack=true)).
Edit: Wenn das nicht klar formuliert war: im letzen Node im Node-Red musst du das ack Flag auf "false" setzen.
-
@UncleSam vielen Dank!
Ich hatte in Node Red den IOBroker Out von Command auf value umgestellt, weil ich ursprünglich davon ausgegangen bin, dass damit nur 0 oder 1 (true oder false) übertragen wird. Nun läuft es! -