Modbus TCP schreiben klappt nicht
Verfasst: 26. Aug 2019 21:52
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?
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?