Beeinflussung der Synchronisierung einer Variablen
Wenn eine asynchrone V.CH.-/V.E.-Variable zwingend für einen Echtzeit-Zyklus verwendet werden muss, dann lässt sich Synchronität für den aktuellen NC-Satz erzwingen.
Dies geschieht durch ein Anfügen eines "s" an den V-Knoten der Variable. Dies ist nur für den aktuellen Satz gültig, für alle anderen Sätze bleibt der Zugriff der Variable asynchron!
N10 #RT CYCLE [ID=17 SCOPE = PROG]
N20 $IF ONCE Vs.CH.VarTest1 < 1 ; Hier wird ein synchroner ; Zugriff erzwungen
N30 Vs.CH.VarTest1 = 1 ; Hier wird ein synchroner ; Zugriff erzwungen
N40 $ENDIF
N50 #RT CYCLE END
N60 M30
Die Synchronisierung ist ebenfalls außerhalb eines Echtzeit-Zyklus möglich.
N10 #RT CYCLE [ID=17 SCOPE = GLOBAL]
N20 $IF ONCE 1 < 2
N30 V.E.LEVEL_1_A[0].REAL64 = V.E.LEVEL_1_A[0]
N40 $ENDIF
N50 #RT CYCLE END
N60 Vs.E.LEVEL_1_A[0].REAL64 ; synchroner Zugriff
N70 M30