Wann soll ich einen formalen Aufruf verwenden? Wann einen nicht-formalen Aufruf?

Zur schnellen Auffrischung:

  • Beispiel für formalen Aufruf: Inst2 (EN := TRUE,IN1:=10,IN2 := 20,T1 := T#3ms, OUT => result);

  • Beispiel für nicht-formalen Aufruf: Inst2 (10,20,T#3ms)

Mehr Informationen zum formalen und nicht-formalem Aufruf finden Sie unter "Aufruf der Funktionsbaustein-Instanz in ST", "Aufruf der Funktion in ST" und "Aufruf der Methode in ST".

Jetzt zur Antwort, wann der formale Aufruf im Vergleich zum nicht-formalen Aufruf zu verwenden ist: Sicherlich sind Sie schneller, einen nicht-formalen Aufruf als einen formalen Aufruf einzugeben. Allerdings hängt die Verwendung eher von der Entscheidung ab, welche Parameter Sie im Aufruf nennen wollen/müssen.
Die folgende Tabelle soll diese Entscheidung erleichtern, da sie enthält, für welchen Anwendungszweck der Aufruf geeignet ist (= Symbol (Häkchen)) bzw. nicht geeignet ist (= Symbol (Fehler)). Die Tabelle enthält auch Voraussetzungen, die nur einen der Aufrufe möglich machen (= Symbol (Häkchen)).

Zweck

Formalen Aufruf

Nicht-formalen Aufruf

Der Aufruf soll nicht alle →Eingangsvariablen bzw. →Ausgangsvariablen anführen.
D.h., im Aufruf sollen Variablen weggelassen werden.

(Häkchen)

(Fehler)

Der Aufruf soll alle Eingangsvariablen anführen.
(Ausgenommen sind die Parameter zur Ausführungssteuerung EN und ENO. )

(Häkchen)

(Häkchen)

Der Aufruf soll EN/ENO anführen.

(Häkchen)

(Fehler)

Der Aufruf soll Zuweisungen von Ausgangsvariablen anführen.

(Häkchen)

(Fehler)

Der Aufruf soll Variablen in beliebiger Reihenfolge anführen.

(Häkchen)

(Fehler)

An die aufgerufene Funktionsbaustein-Instanz oder Funktion soll eine Funktionsbaustein-Instanz als Parameter übergeben und dort aufgerufen werden.
(Dieses Szenario bedingt →Ein-/Ausgangsvariablen im aufgerufenen Funktionsbaustein-Typ oder in der aufgerufenen Funktion.)

(Häkchen)

(Fehler)

Gegebenheit

Formalen Aufruf

Nicht-formalen Aufruf

Ein-/Ausgangsvariablen sind im aufgerufenen Funktionsbaustein oder in der aufgerufenen Funktion deklariert.

(Häkchen)

(Fehler)