Mit dem Pragma 'is_connected'
schmücken Sie eine boolesche Funktionsblockvariable, die beim Aufruf einer Funktionsbausteininstanz
Auskunft darüber gibt, ob der zugehörige Eingang der POE eine Zuweisung hat.
Die Verwendung des Pragmas erfordert die Verwendung des Attributs 'reflection'
für den betroffenen Funktionsblock.
Syntax:
{attribute 'is_connected' := '<input variable>'}
Beispiel
Im Funktionsblock FB
wird für jede Eingangsvariable (in1
und in2
) eine lokale Variable deklariert und ihr jeweils das Attribut 'is connected'
mit dem Namen der Eingangsvariablen vorangestellt. Die func selbst erhält das pragma-Attribut
'reflection'
.
Beim Aufruf einer Instanz des Funktionsblocks wird die lokale Variable TRUE
aufgerufen, wenn der ihr zugewiesene Eingang eine Zuweisung erhalten hat.
{attribute 'reflection'} FUNCTION_BLOCK FB VAR_INPUT in1: INT; in2: INT; END_VAR VAR {attribute 'is_connected' := 'in1'} in1_connection_info: BOOL; {attribute 'is_connected' := 'in2'} in2_connection_info: BOOL; END_VAR
Vermutung: Beim Aufruf der Funktionsblockinstanz erhält in1
eine externe Zuweisung und in 2
erhält keine Zuweisung. Daraus ergibt sich der folgende Code:
in1_connection_info := TRUE; in2_connection_info := FALSE;