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
öffnen Sie gleichzeitig einen Instanz-DB, in dem die Werte der Bausteinparameter und die
statischen Lokaldaten für diesen Aufruf oder diese "Instanz" des FBs gespeichert sind. Diese
Werte werden nach dem Beenden des FBs im Instanz-DB gespeichert.
Sie können den Parametern in der FB-Schnittstelle Startwerte zuweisen. Diese Werte
werden an den zugehörigen Instanz-DB übertragen. Weisen Sie keine Parameter zu, so
werden die im Instanz-DB gespeicherten Werte verwendet. In einigen Fällen müssen Sie die
Parameter zuweisen.
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.
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.
Die folgende Abbildung zeigt einen OB, der einen FB drei Mal aufruft, wobei für jeden Aufruf
ein anderer Datenbaustein verwendet wird. Durch diese Struktur kann ein allgemeiner FB für
die Steuerung mehrerer gleichartiger Geräte wie z. B. Motoren verwendet werden, indem
jedem Aufruf eines Geräts ein anderer Instanzdatenbaustein zugewiesen wird.
Jeder Instanz-DB speichert die Daten (wie Drehzahl, Hochlaufzeit und Gesamtbetriebszeit)
für ein einziges Gerät. In diesem Beispiel steuert FB 22 drei verschiedene Geräte, DB 201
speichert die Betriebsdaten für das erste Gerät, DB 202 die Betriebsdaten für das zweite
Gerät und DB 203 die Betriebsdaten für das dritte Gerät.
Easy Book
Gerätehandbuch, 07/2011, A5E02486775-03
Programmierung leicht gemacht
6.1 Einfaches Entwerfen Ihres Anwenderprogramms
89