Jump to content

DASYLab-Eigenschaften


Was ist sind Abtastrate und Blockgröße?

Die Abtastrate gibt an, wie schnell DASYLab Daten generiert oder von der Messwerterfassungskarte anfordert.

DASYLab transportiert Daten im Schaltbild blockweise von Modul zu Modul. Einen Datenblock gibt DASYLab erst an das nachfolgende Modul weiter, wenn der Datenblock vollständig mit Daten gefüllt ist.

 

Beachten Sie bitte auch die weiteren Informationen im Beitrag Was sind (virtuelle) Zeitbasen?


·        Wozu ist speziell die „DASYLab“-Zeitbasis gedacht?

Die DASYLab-Zeitbasis ist in Software-Datenquellmodulen, wie z.B. dem Schalter und dem Handregler, voreingestellt und nutzt eine Abtastrate von 10 Hz und eine Blockgröße von 1. Das führt dazu, dass pro Sekunde 10 Werte erzeugt werden, die jeweils im Abstand einer Zehntelsekunde nachfolgenden Modulen zur Verfügung gestellt wird.

Mit dem Schalter und dem Handregler können Sie über ein Bedienfenster den Wert bestimmen, den die Module ausgeben sollen. Damit die Änderung des Werts möglichst schnell an Folgemodule weitergegeben wird, ist eine geringe Blockgröße vorteilhaft: so muss nicht erst auf die vollständige Füllung eines Datenblock gewartet werden, sodass die Wertänderung am Modulausgang nahezu sofort auf die Änderung der Schalterstellung erfolgt.
Bei höheren Blockgrößen können Sie leicht eine gewisse Latenz zwischen der Wertänderung im Bedienfenster und der Änderung des ausgegebenen Werts beobachten.

Der Ausgabewert von Software-Datenquellen ändert sich i.A. selten, sodass eine geringe Abtastrate vertretbar ist. So vermeidet man, dass unnötig viele Daten erzeugt werden, und durch die geringe Blockgröße wird eine Wertänderung ohne wesentliche Verzögerung an folgende Module weitergegeben.


·        Welche ist die ideale Blöckgröße für die Datenverarbeitung?

Faustformel: Ein Verhältnis von Abtastrate zu Blockgröße von 10:1.

Eine geringer werdende Blockgröße steigert zwar die "Reaktivität" des Schaltbilds, also Daten werden öfter von einem Modul an nachfolgende weitergegeben, allerdings erhöht sich auch der Aufwand, da öfter pro Sekunde nur wenige Daten "auf einmal" verarbeitet werden können.

Bei hoher Abtastrate (viel Messwerte pro Sekunde) und geringer Blockgröße (viele Transporte weniger Messwerte) kann es passieren, dass für die Berechungen in den Modulen nicht genug Zeit übrig bleibt, da DASYLab (und der PC) hauptsächlich mit dem Transport der Daten beschäftigt ist.

Wenn sich ein Schaltbild beispielsweise aus 100 Modulen zusammensetzt und Sie eine Abtastrate von 1000 Hz und eine Blockgröße von 1 eingestellt haben (1/1000 = 0,001s) , muss DASYLab innerhalb von 1 Millisekunde 100 Module bearbeiten. Das sind 10 Mikrosekunden, die jedem Modul verbleiben, um seine Daten zu verarbeiten.
Bei äufwändigen Berechnungen, die länger als 10 Mikrosekunden dauern, werden die Daten sich vor dem betreffenden Modul "stauen", da die Daten schneller ankommen, als sie verarbeitet werden können.


Was muss ich beachten, wenn ich unterschiedlich abgetastete Daten verrechne?

(1)
Sie können versuchen, die Daten eines schnellen Datenstroms zu reduzieren, sodass dieser zu einem langsamen Datenstrom passt. Mithilfe eines Sperarieren-Moduls können Sie periodisch Daten auslassen, z.B. einen Wert passieren lassen, die nächsten neun sollen verworfen werden. So haben Sie eine Datenreduktion des schnellen Datenstroms erreicht.
Anstatt Daten zu verwerfen, können Sie die Daten auch mit dem Mittelungsmodul mitteln (Intervall: fixiert).

(2)
Sie können einen der Datentröme in ein Modul Variable lesen leiten und den Wert wieder mit einem Variablen lesen-Modul zurück an das Schaltbild ausgeben:

Nutzen Sie im Variable lesen-Modul die Zeitbasis, welche auch in der Datenquelle eingestellt ist, die den anderen Datenstrom erzeugt.
Falls es keine passende Zeitbasis gibt, weil Sie zwei Datenströme verrechnen möchten, von denen einer bspw. aus einem Mittelungsmodul mit nun reduzierter Datenrate stammt, können Sie dem Variable lesen-Modul in den Moduloptionen einen Eingang hinzufügen. Daran schließen Sie den Datenstrom an, der mit dem aus dem Variable lesen-Modul ausgegebenen verrechnet werden soll. Wenn nun aus dem Mittelungsmodul ein neuer Datenblock ausgegeben wird, gibt auch das Modul Variable lesen einen Datenblock aus. Beide Datenströme sind nun synchronisiert.

Beachten Sie, dass das Schreiben in eine Variable und das Herauslesen nur bei Datenströmen sinnvoll ist, die sich nicht häufig ändern oder nur wenn sie eine geringe Blockgröße haben!
Wenn ein Datenblock am Variable schreiben-Modul anliegt, wird nicht jeder Wert des Datenblocks in die Variable geschrieben, sondern nur der letzte Wert des Blocks!

(3)
Mit dem Modul Signalanpassung können Sie unterschiedlich abgetastete Datenströme angleichen. Der am Eingang 0 angeschlossene Datenstrom ist das Referenzsignal an das die Datenströme, die an den anderen Eingängen anliegen, angepasst werden.
Durch Lineare Interpolation eines langsamen Datenstroms (wenige Werte pro Sekunde) an einen schnellen Datenstrom (viele Werte pro Sekunde) werden zum langsamen Datenstrom durch lineare Interpolation berechnete Daten hinzugefügt. Im umgekehrten Fall (Anpassung schnell nach langsam) werden Daten weggelassen.
Die Einstellung Zeit anpassen erlaubt es, "alte" aus einer Datei gelesene Daten mit neuen Daten zu verrechnen, da viele Module nur Daten verarbeiten, welche dieselben Zeitenstempel haben.


DASYLab hat viele Module, aber mir fehlt dennoch eine bestimmte Berechnung. Kann ich vorhandene Module verändern oder eigene Module erstellen?

Zwar können Sie vorhandene Module nicht verändern, aber da DASYLab modular aufgebaut ist, können Sie neue Module zu den vorhandenen hinzufügen.

(1) Skriptmodul

Sie können mit dem Skriptmodul die Funktionsweise "Ihres" Moduls selber bestimmen. In das Modul kann ein speziell für DASYLab angepasstes Skript geladen werden, das mithilfe der Skriptsprache Python programmiert wurde.

Im Skript können Sie selber bestimmen, wie die an Eingängen empfangenen Daten verrechnet werden, um diese auf den Ausgängen nachfolgenden Modulen zur Verfügung zu stellen.
Sie können natürlich auch Datenquellen erstellen, die Daten von Messhardware abfragt; auch Datensenken sind möglich, die bspw. von DASYLab bereitgestellte Daten an eine Messhwardware übergeben, oder in einem eigenen Format in einer Datei schreiben.
Skriptmodule haben die Einschränkung, dass sie keine Aktionen empfangen können und dass sie keine eigenen Anzeige- bzw. Bedienfenster haben können.

Python ist eine weitverbreitete, populäre Skriptsprache für die es viele Bibliotheken gibt, sodass man auf ein reichhaltiges Angebot vorhandener Teillösungen zurückgreifen kann.
 

(2) Extension Toolkit

Eine weitere Möglichkeit, eigene Module zu erstellen, ist das Extension Toolkit (EXT). Hier handelt es sich um ein API, welche Sie in einem C/C++-Projekt verwenden können, um auf von DASYLab bereitgestellte Funktionen zuzugreifen. Im Gegensatz zum Skriptmodul könnten (fast) alle Standard-Module DASYLabs mithilfe des EXT nachprogrammiert werden -- auch Visualisierungsmodule, die von DASYLab verwaltet auf einer Layout-Seite verknüpft werden können.

 

Wir übernehmen für Sie auch gerne die Programmierung von Modulen nach Ihren Vorgaben oder von neuen Treibern für Messhardware, für die DASYLab noch keinen Standardtreiber zur Verfügung stellt! Kontaktieren Sie uns einfach!


Gibt es einen Weg, ein aktuelles Schaltbild mit einer alten Version zu öffnen?

Ja, ein Schaltbild kann in einem Format abgespeichert werden, das auch ältere DASYLab-Versionen lesen können. Wählen Sie Speichern untern... im Menü und wählen Sie das ASCII-Format.

Ein im ASCII-Format abgespeichertes Schaltbild besteht aus zwei Dateien mit der Dateiendung DSA bzw. DMX. Beide Dateien müssen sich im selben Verzeichnis befinden, damit DASYLab das Schaltbild erfolgreich laden kann.

Beachten Sie, dass neue DASYLabs neue Funktionen und Moduleinstellungen haben, welche alte DASYLabs nicht haben. Ein älteres DASYLab lädt natürlich nur die Informationen aus dem ASCII-Schaltbild, die ihm bekannt sind. Das kann dazu führen, dass ein mit einer neuen DASYLab-Version erstelltes Schaltbild nicht dasselbe Verhalten aufweist, wenn es in einem alten DASYLab ausgeführt wird.
Nutzen Sie daher nur Funktionen bei der Schaltbilderstellung, die zum Funktionsumfang der Ziel-DASYLab-Version gehören!

 

DASYLab 2016 mit Service Pack 2 bietet eine größere Schaltbildfläche. Auch im ASCII-Format abgespeicherte Schaltbilder können nicht in früheren DASYLabs geladen werden, da Module außerhalb der früher kleineren Schaltbildfläche platziert worden sein können!


·        Wie starte ich aus DASYLab heraus andere Programme?

Das Aktionsmodul bietet eine Aktion Externes Programm starten an. Geben Sie im Textfeld den vollen Pfad und den Namen der Datei an, welche ausgeführt werden soll. Verwenden Sie Anführungszeichen, falls im Pfad oder im Dateinamen Leerzeichen auftreten.

Sie können dem zu öffnenden Programm auch Parameter übergeben, die durch ein Leerzeichen getrennt folgen. Enthält ein Parameter auch eine Pfadangabe mit Leerzeichen, muss der Parameter ebenfalls in Anführungszeichen eingebettet werden.

Beispiel:

"C:\Program Files\Microsoft Office 15\excel.exe" "C:\Users\my username\Desktop\table.xls"

 


Was sind (virtuelle) Zeitbasen?

(1) Zeitbasen

Eine Zeitbasis kann man sich als eine Uhr oder einen Taktgeber vorstellen. Datenquellen, wie z.B. das Schalter-Modul, generieren Daten nicht fortlaufend, sondern sie respektieren eine solche Zeitbasis. Diese gibt an, mit welcher Häufigkeit eine bestimmte Menge Daten zu "produzieren" ist, die verbundenen Modulen dann zur Verfügung gestellt wird. Definiert wird dies über die Abtastrate, welche bspw. die Anzahl der zu produzierenden Daten pro Sekunde angibt, und die Blockgröße, welche sozusagen die Transportkapazität festlegt, mit der mehrere Messwerte "blockweise" nachfolgenden Modulen übergeben wird.

Mehrere unterschiedliche Datenquellen können so konfiguriert werden, dass sie dieselbe Zeitbasis nutzen, um Daten zu denselben Zeitpunkten mit denselben Datenstrom-Eigenschaften zu generieren.

Viele DASYLab-Treiber zur Erfassung von Daten von Messhardware bieten eigene Zeitbasen an. Sollen die Messdaten mit Daten aus Schalter- oder Handregler-Modulen verknüpft werden, sollten diese Software-Datenquellmodule auf die vom Treiber angebotene Zeitbasis konfiguriert werden: Schalter und Handregler erzeugen dann Daten im selben Takt und mit den Eigenschaften der Hardware-Datenquellmodule.


(2) Virtuelle Zeitbasen

Benutzen viele Datenquellmodule eine bestimmte Zeitbasis und man möchte vorübergehend überall eine andere Zeitbasis einstellen, etwa weil die Messhardware gerade nicht zur Verfügung steht, müsste man die Zeitbasis in jeder einzelnen Datenquelle verändern.
Einer virtuellen Zeitbasis lässt sich eine "echte" Zeitbasis zuordnen. Hat man die Datenquellen so konfiguriert, dass sie eine der virtuellen Zeitbasen nutzen, kann man fortan an einer zentralen Stelle die "echte" Zeitbasis wechseln -- ohne sämtliche Datenquellmodule anzufassen.

Es gibt zwei virtuelle Zeitbasen, die Sie frei verwenden können. Ihre Namen SAMPLING und INTERFACE können dabei helfen, zu unterscheiden, dass eine virtuelle Zeitbasis mit einer "Hardware"-Zeitbasis (Sampling) oder einer Software-getakteten Zeitbasis (Interface) verknüpft ist. Beide virtuelle Zeitbasen sind gleichberechtigt und unterscheiden sich nur durch ihre Benennung.


×
×
  • Create New...