Programmierkonzepte
7.3 Verwendung von Bausteinen zum Strukturieren Ihres Programms
Call-by-Reference
Wenn das Anwenderprogramm einen Parameter als "Call-by-Reference" an eine Funktion
übergibt, verweist das Anwenderprogramm auf die Adresse des tatsächlichen Parameters
für den Schnittstellentyp IN/OUT und kopiert den Wert nicht. Dieser Vorgang erfordert keinen
zusätzlichen Speicher.
Wenn das Anwenderprogramm den Baustein aufruft, verweist es auf die Adresse der
tatsächlichen Parameter.
Hinweis
Der Schnittstellentyp IN/OUT wird im Allgemeinen für strukturierte Variablen (zum Beispiel
ARRAY, STRUCT und STRING) verwendet, um eine unnötige Vergrößerung des
erforderlichen Datenspeichers zu vermeiden.
Bausteinoptimierung und Parameterübergabe
Bei einfachen Datentypen (zum Beispiel INT, DINT und REAL) übergibt das
Anwenderprogramm FC-Parameter als "Call-by-Value". Komplexe Datentypen (zum Beispiel
STRUCT, ARRAY und STRING) werden als "Call-by-Reference" übergeben.
Das Anwenderprogramm übergibt FB-Parameter normalerweise in dem zum FB
zugehörigen Instanzdatenbaustein (DB):
● Das Anwenderprogramm übergibt einfache Datentypen (zum Beispiel INT, DINT und
REAL) als "Call-by-Value", indem die Parameter in den und aus dem Instanz-DB kopiert
werden.
● Das Anwenderprogramm kopiert komplexe Datentypen (zum Beispiel STRUCT, ARRAY
und STRING) für die Parametertypen IN und OUT in den und aus dem Instanz-DB.
● Das Anwenderprogramm übergibt komplexe Datentypen als "Call-by-Reference" für den
Schnittstellentyp IN/OUT.
DBs können mit den Optionen "Optimiert" oder "Standard" (nicht optimiert) angelegt werden.
Die optimierten Datenbausteine sind kompakter als die nicht optimierten Datenbausteine.
Auch unterscheidet sich die Reihenfolge der Datenelemente innerhalb der DBs bei
optimierten und nicht optimierten DBs. Im Abschnitt "Optimierte Bausteine" in der
S7-Programmierrichtlinie für S7-1200/1500, STEP 7 (TIA Portal), 03/2014
(https://support.industry.siemens.com/cs/ww/de/view/81318674) finden Sie eine Erläuterung
zu optimierten Bausteinen.
Sie erstellen FBs und FCs, um entweder optimierte oder nicht optimierte Daten zu
verarbeiten. Sie können das Kontrollkästchen "Optimierter Bausteinzugriff" als eines der
Attribute für den Baustein aktivieren. Das Anwenderprogramm optimiert Programmbausteine
standardmäßig und die Programmbausteine erwarten die an den Baustein übergebenen
Daten im optimierten Format.
206
S7-1200 Automatisierungssystem
Systemhandbuch, V4.2, 09/2016, A5E02486681-AK