Hallo zusammen
Bei mir läuft OH2.4 und ich hab ein "Problem" mit Modbus TCP schreiben.
Lesen funktioniert!
Ich hab ein Item definiert:
Number PVWertzumSchreiben "Wert [%.3f kW]" { channel="modbus:data:TwinCat:holding:write0000:number" }
Zu Testzwecken schreibe ich da Werte rein (z.B. 34.21) zeige ich das in der Sitemap an. Wenn ich die geschweifte Klammer auskommentiere, dann werden die 34.21 übernommen und angezeigt. Sobald die Klammer aktiv ist, funktioniert es nicht weiter.
Ob es aber hier im Item liegt oder später, das weiss ich nicht.
Dann hab ich noch ein Thing definiert:
Bridge modbus:tcp:TwinCat [ host="192.168.1.99", port=502, id=1 ] {
Bridge poller holding [ start=12288, length=46, refresh=1000, type="holding" ] {
Thing data holding0000 [ readStart="12288", readValueType="float32_swap" ]
Thing data holding0002 [ readStart="12290", readValueType="float32_swap" ]
Thing data holding0004 [ readStart="12292", readValueType="float32_swap" ]
// geht so weiter...
Thing data holding0042 [ readStart="12330", readValueType="float32_swap" ]
Thing data holding0044 [ readStart="12332", readValueType="float32_swap" ]
}
Bridge poller items [ start=12388, length=2, refresh=1000, type="discrete" ] {
Thing data write0000 [ writeStart="12388", writeValueType="float32_swap", writeType="holding" ]
}
}
Der obere Teil, das Lesen, funktioniert!
Unten, das Schreiben, klappt nicht.
Sicher bin ich, dass die 12388 stimmen. Die beschreibe ich auch mit einem einem "Modbus Poll"-Programm und sehe die Veränderungen in der SPS und umgekehrt.
Aber ob der type="discrete" stimmt oder ob da doch holding stehen muss, bin ich nicht sicher.
Und ob poller items stimmt, weiss ich auch nicht...
Im "event.log" seh ich etwas "komisches", kann es aber nicht interpretieren:
2019-08-26 21:29:17.042 [ome.event.ItemCommandEvent] - Item 'PVWertzumSchreiben' received command 34.21
2019-08-26 21:29:17.047 [nt.ItemStatePredictedEvent] - PVWertzumSchreiben predicted to become 44.2
Er empfängt den Befehl, die 34.21 zu übernehmen. Aber irgendwie bleiben die 44.2 von früher mal, als es ohne geschweifte Klammer übernommen wurde.
Kann mir da bitte jemand weiterhelfen?
Modbus TCP schreiben klappt nicht
- Tüftler
- Beiträge: 20
- Registriert: 23. Aug 2019 21:24
- Wohnort: St. Gallen / Schweiz
Modbus TCP schreiben klappt nicht
openHAB3.4.3 mit openHABian eingerichtet // eher Konfigurier-Fähigkeiten als Programmier-Fähigkeiten

- Tüftler
- Beiträge: 20
- Registriert: 23. Aug 2019 21:24
- Wohnort: St. Gallen / Schweiz
Re: Modbus TCP schreiben klappt nicht
Das Problem konnte ich Danke Hilfe aus einem anderen Forum (leider in Englisch) lösen:
Das erneute Bridge für Schreiben war/ist nicht nötig. Es sieht dann so aus...
Ich hoffe, es dient sonst noch jemandem 
Das erneute Bridge für Schreiben war/ist nicht nötig. Es sieht dann so aus...
Code: Alles auswählen
Bridge modbus:tcp:TwinCat [ host=“192.168.1.99”, port=502, id=1 ] {
Bridge poller holding [ start=12288, length=102, refresh=1000, type=“holding” ] {
Thing data holding0000 [ readStart=“12288”, readValueType=“float32_swap” ]
Thing data holding0002 [ readStart="12290", readValueType="float32_swap" ]
Thing data holding0004 [ readStart="12292", readValueType="float32_swap" ]
// geht so weiter...
Thing data holding0042 [ readStart="12330", readValueType="float32_swap" ]
Thing data holding0044 [ readStart="12332", readValueType="float32_swap" ]
Thing data write0000 [ writeStart=“12388”, writeValueType=“float32_swap”, writeType=“holding” ]
// und so weiter

openHAB3.4.3 mit openHABian eingerichtet // eher Konfigurier-Fähigkeiten als Programmier-Fähigkeiten
