Birden fazla konuma yazılan çıkışları tespit eder
Gerekçe: Bir çıktı kodun farklı yerlerine yazıldığında sürdürülebilirlik azalır. Bu durumda, süreçte gerçekten etkisi olan yazma erişiminin hangisi olduğu belirsizdir. İyi uygulama, çıktı değişkenlerini yardımcı değişkenlerde hesaplamak ve hesaplanan değeri döngünün sonunda bir konuma atamaktır.
Önemliymiş: Yüksek
PLCopen kuralı: CP12
Bir çıktı değişkeni (VAR_IN_OUT) IF ve CASE deyimlerinin farklı dallarına yazıldığında bir hata verilmez.
Bir pragma bu kuralı devre dışı bırakamaz.
Örnek
VAR_GLOBAL g_xVar AT %QX0.0 : BOOL ; g_iTest AT %QW0 : INT ; END_VAR PROGRAM PLC_PRG IF g_iCondition < INT#0 THEN g_xVar := TRUE; g_iTest := INT#12; END_IF CASE g_iCondition OF INT#1: g_xVar := FALSE; INT#2: g_iTest := INT#11; ELSE g_xVar := TRUE; g_iTest := INT#9; END_CASE --> SA0004: Multiple write access on output '%QX0.0' --> SA0004: Multiple write access on output '%QW0'
Ayrıca bakınız