Attribut 'is_connected'

Mit dem Pragma 'is_connected' kennzeichnen Sie eine boolsche Funktionsbausteinvariable, die beim Aufruf einer Funktionsbausteininstanz Information darüber gibt, ob der zugeordnete Eingang des Bausteins eine Zuweisung erhält.

Die Anwendung des Pragmas setzt die Anwendung des Attributs 'reflection' auf den betroffenen Funktionsbaustein voraus.

Syntax: {attribute 'is_connected' := '<input variable>'}

Einfügeort: Zeile oberhalb der Deklaration der einzelnen boolschen Funktionsbausteinvariablen

Beispiel:

Im Funktionsbaustein FB wird für jede Eingangsvariable (nIn1 und nIn2) eine lokale Variable deklariert und dieser jeweils das Attribut 'is connected' mit Angabe der Eingangsvariablen vorangestellt. Der Funktionsbaustein selbst erhält das Pragmaattribut 'reflection'.

Wenn eine Instanz des Funktionsbausteins aufgerufen wird, wird die lokale Variable TRUE, falls der ihr zugeordnete Eingang eine Zuweisung bekommen hat.

{attribute 'reflection'}
FUNCTION_BLOCK FB_Sample
VAR_INPUT
    nIn1: INT;
    nIn2: INT;
END_VAR
VAR
    {attribute 'is_connected' := 'nIn1'}
    bIn1Connected: BOOL;
    {attribute 'is_connected' := 'nIn2'}
    bIn2Connected: BOOL;
END_VAR

Annahme: nIn1 erhält beim Aufruf der Funktionsbausteininstanz eine Zuweisung von außerhalb, nIn 2 erhält zu diesem Zeitpunkt keine Zuweisung. Dann entsteht folgender Code:

bIn1Connected := TRUE;
bIn2Connected := FALSE;