Aufrufen von benutzerdefinierten Funktionsblockinstanzen
Aufrufen einer Instanz eines benutzerdefinierten Funktionsblocks (BDFB) in Ihrem Kontaktplan, Ihrem Funktionsblockdiagramm oder Ihrem Programm des Typs „Strukturierter Text“ oder Verwenden von BDFBs, um andere Typen von Anweisungsblöcken oder andere BDFBs aufzurufen.
Wenn durch einen BDFB auf einen anderen BDFB verwiesen wird und das Hauptprogramm den verschachtelten BDFB mehr als zweimal aufruft, können die Eingabevariablenwerte bei der Überwachung des BDFB falsch im Container angezeigt werden.
- Dies ist das erwartete Verhalten, wenn „als Verweis übergeben“ wird, da Funktionsblockeingänge Zeiger sind.
- Selbst wenn der Funktionsblock nicht während des Ausführungszyklus aufgerufen wird, verweisen die Eingänge weiterhin dorthin, wo sie bei der letzten Ausführung der Funktionsblockinstanz hingezeigt haben.
- Die Funktionsblockausgänge entsprechen immer der letzten Instanzausführung.
Im folgenden Beispiel sehen Sie eine Instanz eines BDFBs, die in den ST-, FBD- und KOP-Programmiersprachen aufgerufen wird. Jeder BDFB hat zwei Eingänge und zwei Ausgänge.
Programm | Instanzvariable |
|---|---|
BDFB-Instanz – FBD ![]() | Der Name wird oben im Anweisungsblock angezeigt, gefolgt von:
|
BDFB-Instanz – KOP ![]() | Der Name des Anweisungsblocks steht ganz oben, gefolgt von:
|
BDFB-Instanz – ST ![]() | Der Instanzvariablenname wird zu Beginn eines Aufrufs verwendet. Der Name des Anweisungsblocks wird nicht im Aufruf angezeigt. |
Rückmeldung geben


