SA0038: Lesezugriff auf Ausgabevariable
Funktion | Ermittelt Ausgangsvariablen (VAR_OUTPUT), auf die innerhalb der POU lesend zugegriffen wird. |
Begründung | Nach 61131-3 ist es verboten, einen Ausgang innerhalb eines Bausteins zu lesen. Es weist darauf hin, dass der Ausgang nicht nur als Ausgang sondern gleichzeitig als temporäre Variable für Zwischenergebnisse verwendet wird. Eine solche Doppelverwendung sollte vermieden werden. |
Wichtigkeit | Niedrig |
Beispiel:
Funktionsbaustein FB_Sample:
FUNCTION_BLOCK FB_Sample
VAR_OUTPUT
bOut : BOOL;
nOut : INT;
END_VAR
VAR
bLocal : BOOL;
nLocal : INT;
END_VARMethode FB_Sample.SampleMethod:
IF bOut THEN // => SA0038
bLocal := (nOut > 100); // => SA0038
nLocal := nOut; // => SA0038
nLocal := 2*nOut; // => SA0038
END_IF