Birden fazla task tarafından yazılan değişkenleri tespit eder
Gerekçe: Birden fazla task’e yazılan bir değişken beklenmedik bir şekilde değerini değiştirebilir. Bu durum kafa karıştırıcı durumlara yol açabilir. Dize değişkenleri (ve bazı 32 bit sistemlerde 64 bit tamsayı değişkenleri), değişken aynı anda iki task’e yazılırsa tutarsız bir duruma bile ulaşabilir.
İstisna: Belirli durumlarda, birkaç task’in bir değişken yazması gerekebilir. Örneğin, erişimin tutarsız bir duruma yol açmadığından emin olmak için semaforları kullanın.
Önemliymiş: Yüksek
PLCopen kuralı: CP10
Örnek
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: Concurrent write access to 'g_iTemp1' in Tasks MainTask, SubTask
Ayrıca bakınız