SA0167: Geçici fonksiyon bloğu örnekleriPermalink

Geçici değişkenler olarak bildirilen fonksiyon bloğu örneklerini tespit eder. Bu, bir yöntem veya işlevde ya da ‎VAR_TEMP‎ olarak bildirilen ve bu nedenle her işlem döngüsünde veya her POU çağrısında yeniden başlatılan örnekleri etkiler.

Gerekçe: Fonksiyon blokları genellikle birden fazla PLC döngüsü boyunca korunan bir duruma sahiptir. Yığın üzerindeki bir örnek yalnızca işlev çağrısı süresince mevcuttur. Bu nedenle, geçici bir değişken olarak bir örnek oluşturmak nadiren mantıklıdır. İkinci olarak, fonksiyon bloğu örnekleri genellikle büyüktür ve yığın üzerinde çok fazla alana ihtiyaç duyar (bu alan genellikle denetleyicilerle sınırlıdır). Üçüncü olarak, bir fonksiyon bloğunun başlatılması ve genellikle de programlanması uzun zaman alabilir.

Önemliymiş: Orta

Örnekler

PROGRAM PLC_PRG
VAR
END_VAR
VAR_TEMP
    yafb: AFB;   
END_VAR

FUNCTION Fun : INT
VAR_INPUT
END_VAR
VAR
    funafb: AFB;
END_VAR

METHOD METH : INT
VAR_INPUT
END_VAR
VAR
    methafb: AFB;		// SA0167
END_VAR

--> SA0167: Temporary function block instance: 'methafb'