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:

  • Maximale Anzahl an Eingängen (Standardwert: 10)
  • Maximale Anzahl an Ausgängen (Standardwert: 10)
  • Maximale Anzahl an Ein-/Ausgängen (Standardwert: 10)

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

SA0166: Maximale Anzahl an Eingabe-/Ausgabe-/VAR_IN_OUT-Variablen 1:

Entsprechende Metriken verfügbar

Zur Berechnung der Eingabe- und Ausgabevariablen als Bestandteil der Metriken-Tabelle stehen die folgenden Metriken zur Verfügung:

Anzahl Eingabevariablen

Anzahl Ausgabevariablen

Beispiel:

Regel 166 ist mit folgenden Parametern konfiguriert:

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