Ermittelt Variablen, auf die von mehr als einer Task geschrieben werden.
Begründung: Eine Variable, die in mehreren Tasks geschrieben wird, kann unter Umständen ihren Wert unerwartet ändern. Das kann zu verwirrenden Situationen führen. Stringvariablen und auf einigen 32-Bit-Systemen auch 64-Bit-Integer-Variablen können sogar einen inkonsistenten Zustand bekommen, wenn die Variable gleichzeitig in zwei Tasks geschrieben wird.
Ausnahme: In bestimmten Fällen kann es nötig sein, dass mehrere Tasks eine Variable schreiben. Stellen Sie dann sicher, beispielsweise durch die Verwendung von Semaphoren, dass der Zugriff nicht zu einem inkonsistenten Zustand führt.
Wichtigkeit: Hoch
PLCopen-Regel: CP10
Beispiel
VAR_GLOBAL g_iTemp1: INT; END_VAR PROGRAM PLC_PRG // Controlled by MainTask g_iTemp1 := g_iTemp1 + INT#2; PROGRAM PLC_PRG_1 //Controlled by SubTask g_iTemp1 := g_iTemp1 - INT#3; --> SA0006: Gleichzeitiger Schreibzugriff auf 'g_iTemp1' in Tasks MainTask, SubTask