Mit dem Pragma steuern Sie den Datenfluss in der Abarbeitung von Funktionsbausteinen im FUP/KOP/AWL-Editor. Das Attribut legt fest, an welchem Eingang oder Ausgang eines Funktionsbausteins die Weiterverbindung zum nächsten oder vorherigen Baustein anliegt.
Sie dürfen nur 1 Eingang und 1 Ausgang in der Deklaration eines Funktionsbausteins mit dem Attribut versehen.
Syntax:
{attribute 'dataflow'}
Einfügeort: Zeile oberhalb der Zeile mit der Deklaration der entsprechenden Variablen.
Bei Funktionsbausteinen ohne Attribut 'dataflow'
bestimmt CODESYS den Datenfluss folgendermaßen:
Zunächst wird die Verbindung zwischen einem Ausgang und einem Eingang gleichen Datentyps
gelegt. Dabei wird zuerst immer die oberste Eingangs- oder Ausgangsvariable der Funktionsbausteine
genommen. Wenn es keine Variablen mit übereinstimmendem Datentyp gibt, verbindet CODESYS den obersten Ausgang mit dem obersten Eingang der benachbarten Bausteine.
Beispiel
Die Verbindung zwischen FB
und dem vorhergehenden Funktionsbaustein erfolgt über die Eingangsvariable i1
. Die Verbindung zwischen FB
und dem nachfolgenden Funktionsbaustein erfolgt über die Ausgangsvariable outRes1
.
FUNCTION_BLOCK FB VAR_INPUT r1 : REAL; {attribute 'dataflow'} i1 : INT; i2 : INT; r2 : REAL; END_VAR VAR_OUTPUT {attribute 'dataflow'} outRes1 : REAL; out1 : INT; g1 : INT; g2 : REAL; END_VAR
Siehe auch