SA0166: Maximale Anzahl an Eingabe-/Ausgabe-/VAR_IN_OUT-Variablen
Funktion | Die Prüfung ermittelt, ob eine definierte Anzahl an Eingabevariablen (VAR_INPUT), Ausgabevariablen (VAR_OUTPUT) oder VAR_IN_OUT-Variablen in einem Baustein überschritten wird. Die Parameter, die bei dieser Prüfung berücksichtigt werden, können Sie konfigurieren, indem Sie innerhalb der Regelkonfiguration auf die Zeile von Regel 166 doppelklicken (SPS-Projekteigenschaften > Kategorie "Static Analysis" > Registerkarte "Regeln" > Regel 166). In dem aufgehenden Dialog können Sie folgende Einstellungen vornehmen:
|
Begründung | Es geht um die Überprüfung von individuellen Programmierrichtlinien. Viele Programmierrichtlinien sehen für Bausteine eine maximale Anzahl an Parametern vor. Zu viele Parameter machen den Code unleserlich und die Bausteine schwer zu testen. |
Wichtigkeit | Mittel |
PLCopen-Regel | CP23 |
![]() | Entsprechende Metriken verfügbar Zur Berechnung der Eingabe- und Ausgabevariablen als Bestandteil der Metriken-Tabelle stehen die folgenden Metriken zur Verfügung: |
Beispiel:
Regel 166 ist mit folgenden Parametern konfiguriert:
- Maximale Anzahl an Eingängen: 0
- Maximale Anzahl an Ausgängen: 10
- Maximale Anzahl an Ein-/Ausgängen: 1
Für den folgenden Funktionsbaustein werden somit zwei Fehler SA0166 gemeldet, da zu viele Eingänge (> 0) und zu viele Ein-/Ausgänge (> 1) deklariert sind.
Funktionsbaustein FB_Sample:
FUNCTION_BLOCK FB_Sample // => SA0166
VAR_INPUT
bIn : BOOL;
END_VAR
VAR_OUTPUT
bOut : BOOL;
END_VAR
VAR_IN_OUT
bInOut1 : BOOL;
bInOut2 : BOOL;
END_VAR