Modbus initiale Nullen

andistadel

Level-2
Beiträge
9
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo!

Ich verwende eine PFC200 von Wago und kommuniziere über Modbus TCP mit anderen Geräten. Die Kommunikations-Partner habe ich in meinem e!Cockpit Projekt als Generic_MODBUS_Slave angelegt, wo ich auch die zu schreibenden Register definiert habe. Mir ist nun aufgefallen, dass wenn in einem Slave bereits ein Wert gespeichert ist, und ich die PFC200 neu starte, dass dann der Wert in dem Slave auf 0 gesetzt wird, und das auch wenn ich in dem ganzen e!Cockpit Projekt kein einziges mal einen Wert auf dieses Register schreibe.

Ich dachte mir nun, dass es eventuell sein könnte, dass die Modbus Schnittstelle bei einem Neustart initiale Nullen an die Register rausschreibt, ohne dass ich aktiv etwas rausschreiben will.

Hat jemand zufällig Erfahrungen damit gemacht und kann das vielleicht bestätigen? Wenn ja, gibt es dazu eine Lösung, sodass diese initialen Nullen nicht mehr gesendet werden?

Ich bin für jeden Hinweis dankbar.

Schöne Grüße,

Andi
 
Hallo Andi,

das Problem ist eine Zwischenschicht im internen Datenaustausch. Nach dem Neustart sind die internen, bis diese vom Slave gelesen wurden, auf Null gesetzt.
Somit werden deine Variablen auch auf Null geschrieben.
Beim Schreiben verhält es sich ähnlich. Da hat man wenig Möglichkeiten einzugreifen.

Meine einzige Idee ist den Master aus der Bibliothek WagoAppPlcModbus zu verwenden. Hier hast Du alles in der Hand und schreibst nur die Werte die du willst.


Grüße
 
Dein Problem kann ich auch bestätigen.
Die vorgeschlagene Lösung von Tobsucht mit den Funktionsbausteinen aus WagoAppPlcModbus funktioniert.
Ist halt deutlich mehr Programmieraufwand als mit dem Konfigurator
 
Zurück
Oben