Datenflusssprache
Über EasyLab →
Dokumentation für Endbenutzer →
Modellierung →
Software-Modell → Datenflusssprache
Die Datenflusssprache beschreibt ein Netz aus Elementen, die jeweils Daten entgegennehmen, diese verarbeiten und schließlich neue Daten ausgeben. Durch die Verbindung mehrerer solcher Datenverarbeitungselemente ist es möglich, komplexe Berechnungen zu modellieren. Da alle Daten in
EasyLab einen
Datentyp besitzen, ist es nur möglich, kompatible Ein- und Ausgänge von Datenverarbeitungselementen miteinander zu verbinden. Die Ablaufsprache in
EasyLab ist an die entsprechende Sprache der Norm IEC 61131-3 angelehnt, implementiert diese aber nicht in vollem Umfang.
Weitere Themen auf dieser Seite:
- Aufbau der Datenflusssprache
- Ausführung der Datenflusssprache
- Arbeiten mit der Datenflusssprache
1. Aufbau der Datenflusssprache
Die Elemente der Datenflusssprache in
EasyLab sind:
- Funktionsblock, z.B.:
- Konstante
- Addition
- Division
- Intervallanzeige
- Kante
- Wert
Funktionsblock
Funktionsblöcke sind die Berechnungseinheiten in der Datenflusssprache. Sie können eine beliebige Anzahl von Ein- und Ausgängen (so genannte Konnektoren) besitzen, die durch blaue Quadrate angedeutet werden. Eingänge befinden sich immer auf der linken Seite, Ausgänge auf der rechten Seite. Die folgende Grafik illustriert weitere Bestandteile eines Funktionsblocks:
» Weitere Informationen zum Thema Funktionsblöcke
» Arbeiten mit Funktionsblöcken
Eigenschaften-Dialog
Eigenschaften-Dialog des Funktionsblocks 'Konstante'
Jeder Eingang eines Funktionsblocks in der Datenflusssprache hat einen Vorgabewert, der über seinen Eigenschaften-Dialog bearbeitet werden kann. Klicken Sie doppelt auf einen Funktionsblock, um dessen Eigenschaften-Dialog aufzurufen. Alternativ können Sie den Eintrag
Eigenschaften aus dem Kontextmenü des Funktionsblocks verwenden. Dieses erscheint, wenn Sie mit der rechten Maustaste auf den "Griff" (oberer Bereich) des Funktionsblocks klicken.
Manche Funktionsblöcke können auch direkt im Datenflussprogramm bearbeitet werden. Die Konstante bietet beispielsweise an Feld an, in dem deren Wert direkt bearbeitet werden kann, ohne dass man den Eigenschaftendialog aufruft.
Kante
Kanten transportieren Daten von einem Ausgang eines Funktionsblock zu einer beliebigen Zahl an Eingängen an dem selben oder anderen Funktionsblöcken. Dabei überschreibt der auf der Kante anliegende Wert den Vorgabewert der Eingänge, an denen die Kante angeschlossen ist. Um eine Kante hinzuzufügen, klicken Sie auf einen Ausgang eines Funktionsblocks und danach auf einen Eingang eines weiteren Funktionsblocks. Sollte eine Verbindung nicht möglich sein, so wird der zuletzt angeklickte Konnektor rot, was bedeutet, dass die zu verbindenden Konnektoren nicht kompatibel sind (ihre
Datentypen unterscheiden sich und können nicht automatisch umgewandelt werden). Beispielsweise ist es nicht ohne Weiteres möglich, die Ausgabe des Funktionsblocks Gleichheit (Ausgangsdatentyp: Wahrheitswert) an den Eingang einer Addition anzuschließen (erwarteter Datentyp: Zahl). Es ist jedoch möglich, Daten von einem Typen in einen anderen Typen mittels des Funktionsblocks
Typumwandlung zu konvertieren.
Drücken Sie
Esc, um das Ziehen einer Kante abzubrechen.
Kanten können Aus- und Eingänge direkt verbinden oder zum Zwecke der Übersichtlichkeit eine beliebige Zahl an Eckpunkten haben. Beispielsweise können sich die Kanten so modellieren lassen, dass immer nur rechte Winkel entstehen (siehe Bild).
- Um einen Eckpunkt zu einer bestehenden Kante hinzuzufügen, klicken Sie doppelt auf die entsprechende Stelle der Kante. Danach können Sie den Eckpunkt durch Klicken und Ziehen verschieben.
- Um Eckpunkte beim Erstellen einer Kante hinzuzufügen, klicken Sie an die entsprechenden Stellen im Datenflussprogramm, bevor Sie auf den Zielkonnektor klicken.
Wert
Sofern die Einstellung
Werte von Funktionsblock-Anschlüssen anzeigen im Menü
Ansicht aktiv ist, werden an den Konnektoren der Funktionsblöcke deren aktuelle Werte angezeigt. Wenn das Programm gerade nicht ausgeführt wird, sind dies die
Vorgabewerte der entsprechenden Konnektoren. Erst wenn das Programm ausgeführt wird, werden die realen Werte berechnet und entsprechend dargestellt.
An Stelle der Werte können auch Kurzbeschreibungen der Konnektoren angezeigt werden. Aktivieren Sie dazu die Menüoption
Ansicht →
Beschreibungen von Funktionsblock-Anschlüssen anzeigen.
2. Ausführung der Datenflusssprache
In einem Ausführungsschritt eines Datenflussprogramms wird jeder Funktionsblock im Normalfall genau einmal ausgeführt. Die Reihenfolge der Ausführung wird dabei automatisch so gewählt, dass den Funktionsblöcken jeweils die Daten zur Verfügung stehen, die sie für ihre Berechnung benötigen. Im Beispielprogramm oben wäre eine gültige Ausführungsreihenfolge:
- Ausführung der drei Konstanten
- Ausführung der Addition
- Ausführung der Division
- Ausführung der Intervallanzeige
Jedoch wäre es genauso möglich, die Addition direkt im Anschluss an die Ausführung der beiden Konstanten durchzuführen, die an die Addition angeschlossen sind. Da dies jedoch für das Ergebnis der Berechnung keinen Unterschied macht, wählt
EasyLab automatisch eine sinnvolle Reihenfolge.
Zyklen
Im Datenflussprogramm sind Zyklen erlaubt. Zyklen entstehen durch kreisförmige Anordnung von einer oder mehrerer Kanten. Sofern der Datenflussgraph Zyklen enthält, macht die Ausführungsreihenfolge der Funktionsblöcke auf dem Zyklus doch einen Unterschied. Es muss ein Funktionsblock auf dem Kreis bestimmt werden, der zuerst ausgeführt wird. Die Eingänge dieses Funktionsblock erhalten dann keine Daten von den angeschlossenen Kanten, die den Kreis bilden, sondern es werden stattdessen deren Vorgabewerte verwendet.
3. Arbeiten mit der Datenflusssprache
Das Arbeiten mit der Datenflusssprache ist auf die Interaktion mit Funktionsblöcken beschränkt. Daher sind die relevaten Themen unter
Arbeiten mit Funktionsblöcken beschrieben.