Format
CALL SFB n1, DB n2
Beschreibung
Die Operation dient zum Aufruf der von Siemens gelieferten Standardfunktionsbausteine (SFBs). Die Operation CALL ruft die SFB auf, die Sie als Operanden eingeben, unabhängig vom VKE oder einer anderen Bedingung. Wenn Sie einen SFB mit CALL aufrufen, müssen Sie ihn mit einem Instanz-Datenbaustein versehen. Nach der Bearbeitung des aufgerufenen Bausteins wird das Programm des aufrufenden Bausteins weiterbearbeitet. Die Kennung des Codebausteins kann absolut oder symbolisch angegeben werden.
Übertragen von Parametern (arbeiten Sie hierzu im inkrementellen Bearbeitungsmodus)
Der aufrufende Baustein kann mit dem aufgerufenen Baustein über die Variablenliste Parameter austauschen. Die Variablenliste wird in Ihrem AWL-Programm automatisch ergänzt, wenn Sie eine gültige Anweisung CALL eingeben.
Wenn Sie einen einen SFB aufrufen und die Variablendeklarationstabelle des aufgerufenen Bausteins über Deklarationen vom Typ IN, OUT und IN_OUT verfügt, werden diese Variablen im Programm des aufrufenden Bausteins als Liste der Formalparameter ergänzt.
Beim Aufruf der SFBs müssen Sie nur die Aktualparameter angeben, die sich gegenüber dem letzten Aufruf ändern sollen, da die Aktualparameter nach der Bearbeitung des SFB im Instanz-DB gespeichert sind. Ist der Aktualparameter ein DB, muss immer die vollständige, absolute Adresse angegeben werden, z.B. DB1, DBW2.
Die Parameter IN können als Konstanten oder als absolute bzw. symbolische Adressen angegeben werden. Die Parameter OUT und IN_OUT müssen als absolute bzw. symbolische Adressen angegeben werden. Achten Sie darauf, dass alle Adressen und Konstanten mit den Datentypen, die übertragen werden, kompatibel sind.
Die Operation CALL speichert die Rücksprungadresse (Selektor und relative Adresse), die Selektoren der beiden geöffneten Datenbausteine und das MA-Bit im B-Stack. Zusätzlich deaktiviert die Operation die MCR-Abhängigkeit und erstellt den Lokaldatenbereich des Bausteins, der aufgerufen werden soll.
Statuswort
BIE A1 A0 OV OS OR STA VKE /ER
schreibt: - - - - 0 0 1 - 0
Beispiel
CALL SFB4,DB4
Formalparameter Aktualparameter
IN: E0.1
PT: T#20s
Q: M0.0
ET: MW10
HinweisJeder Aufruf eines SFBs muss über einen Instanz-Datenbaustein verfügen. In dem obigen Beispiel müssen die Bausteine SFB4 und DB4 vor dem Aufruf vorhanden sein.