Influencing variable synchronisation
If an asynchronous V.CH./V.E. variable has to be used for a realtime cycle, synchronicity can be forced for the current NC block.
This is done by adding an “s” to the V node of the variable. It is only valid for the current block. Access to the variable remains asynchronous for all other blocks.
N10 #RT CYCLE [ID=17 SCOPE = PROG]
N20 $IF ONCE Vs.CH.VarTest1 < 1 ; Asynchronous access is ; forced here
N30 Vs.CH.VarTest1 = 1 ; Asynchronous access is ; forced here
N40 $ENDIF
N50 #RT CYCLE END
N60 M30
Synchronisation is also possible outside of a realtime cycle.
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 ; synchronous access
N70 M30