Startseite Über EasyKit Über EasyLab Produkte Partner Downloads Kontakt Suche

Datenflusssprache

Über EasyLabDokumentation für EndbenutzerModellierungSoftware-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:
  1. Aufbau der Datenflusssprache
  2. Ausführung der Datenflusssprache
  3. Arbeiten mit der Datenflusssprache

1. Aufbau der Datenflusssprache

Die Elemente der Datenflusssprache in EasyLab sind:
  1. Funktionsblock, z.B.:
    1. Konstante
    2. Addition
    3. Division
    4. Intervallanzeige
  2. Kante
  3. Wert

Struktur eines Programms in der Datenflusssprache

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'
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 AnsichtBeschreibungen 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.