SA0037: Schreibzugriff auf Eingabevariable
Funktion | Ermittelt Eingangsvariablen (VAR_INPUT), auf die innerhalb der POU schreibend zugegriffen wird. |
Begründung | Nach der Norm IEC 61131-3 darf eine Eingabevariable nicht innerhalb eines Bausteins verändert werden. Ein solcher Zugriff ist außerdem eine Fehlerquelle und macht den Code schlecht wartbar. Es weist daraufhin, dass eine Variable als Eingang und gleichzeitig als Hilfsvariable verwendet wird. Eine solche Doppelverwendung sollte vermieden werden. |
Wichtigkeit | Mittel |
Beispiel:
Funktionsbaustein FB_Sample:
FUNCTION_BLOCK FB_Sample
VAR_INPUT
bIn : BOOL := TRUE;
nIn : INT := 100;
END_VAR
VAR_OUTPUT
bOut : BOOL;
END_VARMethode FB_Sample.SampleMethod:
IF bIn THEN
nIn := 500; // => SA0037
bOut := TRUE;
END_IF