Instructions

Table Of Contents
Programmierkonzepte
7.3 Verwendung von Bausteinen zum Strukturieren Ihres Programms
S7-1200 Automatisierungssystem
Systemhandbuch, V4.2.3, 08/2018, A5E02486681-AL
199
7.3.2
Funktion (FC)
Eine Funktion (FC) ist ein Codebaustein, der typischerweise eine bestimmte Operation mit
einer Anzahl von Eingangswerten durchführt. Die FC speichert die Ergebnisse dieser
Operation an bestimmten Speicherorten. Verwenden Sie beispielsweise FCs, um
Standardoperationen und mehrfach verwendbare Operationen (z. B. mathematische
Berechnungen) oder technologische Funktionen (z. B. für einzelne Steuerungsvorgänge
über Bitverknüpfungsoperationen) durchzuführen. Eine FC kann auch mehrmals an
verschiedenen Stellen eines Programms aufgerufen werden. Diese Wiederverwendung
vereinfacht die Programmierung häufig wiederkehrender Aufgaben.
Einer FC ist kein zugehöriger Instanz-Datenbaustein(DB) zugeordnet. Die FC verwendet den
lokalen Datenspeicher für die temporären Daten, die für die Berechnung der Operation
benötigt werden. Die temporären Daten werden nicht gespeichert. Für die dauerhafte
Datenspeicherung muss der Ausgangswert einem globalen Speicherplatz, wie z. B. dem
Merkerspeicher, oder einem globalen DB zugewiesen werden.
7.3.3
Funktionsbaustein (FB)
Ein Funktionsbaustein (FB) ist ein Codebaustein, der für seine Parameter und statischen
Daten einen Instanz-Datenbaustein nutzt. FBs haben einen variablen Speicher, der sich in
einem Datenbaustein (DB) oder einem Instanz-DB befindet. Der Instanz-DB stellt einen
Speicherbaustein bereit, der dieser Instanz (oder diesem Aufruf) des FBs zugewiesen ist
und die Daten nach Ablauf des FBs speichert. Sie können verschiedenen Aufrufen des FBs
verschiedene Instanz-DBs zuordnen. Der Instanz-DB ermöglicht es Ihnen, einen
allgemeinen FB für die Steuerung mehrerer Geräte zu verwenden. Sie können Ihr Programm
strukturieren, indem ein Codebaustein einen FB und einen Instanz-DB aufruft. Die CPU führt
dann den Programmcode in diesem FB aus und speichert die Bausteinparameter und die
statischen Lokaldaten im Instanz-DB. Wenn die Ausführung des FBs beendet ist, setzt die
CPU die Ausführung mit dem Codebaustein fort, der den FB aufgerufen hatte. Der Instanz-
DB speichert die Werte für diese Instanz des FBs. Diese Werte stehen nachfolgenden
Aufrufen des Funktionsbausteins entweder in demselben Zyklus oder in anderen Zyklen zur
Verfügung.
Wiederverwendbare Codebausteine mit zugewiesenem Speicher
Typischerweise wird ein FB für die Steuerung des Ablaufs von Tätigkeiten oder Geräten
verwendet, deren Betrieb nicht innerhalb eines Zyklus endet. Für die Speicherung der
Betriebsparameter, damit diese zwischen zwei Zyklen schnell zugänglich sind, hat jeder FB
in Ihrem Anwenderprogramm einen oder mehrere Instanz-DBs. Mit dem Aufruf eines FBs
geben Sie gleichzeitig einen Instanz-DB an, in dem die Bausteinparameter und die
statischen Lokaldaten für diesen Aufruf oder diese "Instanz" des FBs enthalten sind. Der
Instanz-DB speichert diese Werte nach der Ausführung des FBs.
Wird der FB für allgemeine Steuerungsaufgaben entworfen, so kann er für mehrere Geräte
verwendet werden, indem verschiedene Instanz-DBs für die verschiedenen Aufrufe des FBs
ausgewählt werden.
Ein FB speichert die Eingangs-, Ausgangs- und Durchgangsparameter sowie die statischen
Parameter in einem Instanz-DB.