INAT OPC und CPx43 Wie werden die Daten synchronisiert?

plc_tippser

Level-1
Beiträge
2.500
Reaktionspunkte
308
Zuviel Werbung?
-> Hier kostenlos registrieren
Wann schreibt/liest der INAT bzw. die CP die Daten in/aus einem DB? Kann es vorkommen, dass die Daten während der Bearbeitung eines Zyklus wechseln?

Ich denke ja. Gibt es eine Möglichkeit diese Inkonsistenz zu umgehen?

pt
 
Ich bin sicher, daß das asynchron zum Zyklus, also an beliebiger Stelle geschieht, da es bei Prodave, Libnodave, AgLink auch so ist. Wenn z.B ein Merker- oder Datenwort zunächst Zwischenwerte und erst später im Zyklus das Endergebnis eine Berechnung enthält, liest du zufällig alles mögliche.
Wenn du wirklich verhindern willst, daß du Mist liest, nimmst du einen DB und kopierst z.B. am Zyklusende die Werte hinein. Ich kann dir aber nicht sagen, ob es dennoch passieren könnte, das das Lesen der Daten z.B. mitten im Kopiervorgang erfolgt und daher z.B. die eine Hälfte eines Doppelworts schon die neuen, die andere noch die alten Byte-Werte enthält. Ist mir noch nicht passiert.
Dagegen hilft nur, den gleichzeitigen Zugriff zu verhindern:
1. OPC-Programm setzt einen Merker.
2. S7 Programm testet den Merker auf 1. Wenn 1 erfolgt Kopie. Merker wird gelöscht.
3. OPC-Programm fragt den Merker ab. Ist er 0, holt es die Werte.
4. Erst danach kann es den Merker wieder setzen.
 
Zurück
Oben