Attribut 'dataflow'

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 einen Eingang und einen Ausgang in der Deklaration eines Funktionsbausteins mit dem Attribut versehen.

Syntax: {attribute 'dataflow'}

Einfügeort: Zeile oberhalb der Deklarationszeile einer Variablen.

Bei Funktionsbausteinen ohne Attribut 'dataflow' bestimmt TwinCAT 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 TwinCAT 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: