SA0105: Mehrfache Instanzaufrufe
Funktion | Ermittelt und meldet Instanzen von Funktionsbausteinen, die mehr als einmal aufgerufen werden. Damit eine Fehlermeldung für eine mehrfach aufgerufene Instanz eines Funktionsbausteins generiert wird, muss im Deklarationsteil des Funktionsbausteins das Attribut {attribute 'analysis:report-multiple-instance-calls'} hinzugefügt werden. |
Begründung | Einige Funktionsbausteine sind so designt, dass sie nur einmal im Zyklus aufgerufen werden können. Dieser Test prüft, ob ein Aufruf an mehreren Stellen erfolgt. |
Wichtigkeit | Niedrig |
PLCopen-Regel | CP16/CP20 |
Beispiel:
Im folgenden Beispiel wird die Statische Analyse einen Fehler für fb2 ausgeben, weil die Instanz mehr als einmal aufgerufen wird und der Funktionsbaustein mit dem benötigten Attribut deklariert ist.
Funktionsbaustein FB_Test1 ohne Attribut:
FUNCTION_BLOCK FB_Test1Funktionsbaustein FB_Test2 mit Attribut:
{attribute 'analysis:report-multiple-instance-calls'}
FUNCTION_BLOCK FB_Test2Programm MAIN:
PROGRAM MAIN
VAR
fb1 : FB_Test1;
fb2 : FB_Test2;
END_VARfb1();
fb1();
fb2(); // => SA0105
fb2(); // => SA0105