Jump to content

Fehlermeldungen und Schaltbildanalyse


Mein Schaltbild wird zwar geladen, aber darin sind „unbekannte Module“ mit einem Symbol, das einen roten Kreis mit einem weißen Kreuz zeigt.

Da DASYLab modular ist, kann es passieren, dass das geladene Schaltbild Informationen zu Modulen enthält, die dem gerade ausgeführten DASYLab nicht zur Verfügung stehen.

(1) Standard-Treiber nicht geladen

Der häufigste Fall ist der, dass einer der im Lieferumfang enthaltenen Standard-Treiber im Konfigurator nicht aktiviert ist. Diese werden bei der Installation DASYLabs zwar eingerichtet, aber diese Standard-Treiber sind nicht alle aktiv, also in DASYLab nicht verfügbar.
Die im Lieferumfang enthaltenen Treiber können Sie über den Konfigurator aber leicht aktivieren, sodass diese in DASYLab zur Verfügung stehen:

  • Navigieren Sie im Windows-Startmenü zum DASYLab-Ordner und starten Sie den Konfigurator.
    Starten Sie alternativ die Datei configurator.exe im DASYLab-Programmverzeichnis, üblicherweise lautet dieses C:\Program Files (x86)\DASYLab <versionsnummer>.
  • Im Konfigurator auf den Reiter "Pakete" wechseln und in der Kategorie "Datenerfassung" den fehlenden Treiber suchen.
  • Verlassen Sie den Konfigurator durch Bestätigen der Änderung mit der Ok-Taste.
  • Im wieder gestarteten DASYLab stehen jetzt die Module zur Verfügung.

(2) 3rd-Party-Modul nicht geladen

Viele Hersteller bieten für ihre Messhardware auch DASYLab-Treiber an, die nicht im Lieferumfang von DASYLab enthalten sind. Wenden Sie sich bitte an den Vertriebspartner, über den Sie den Treiber erworben haben, oder an den Hersteller des Treibers.
Diese Treiber integrieren sich entweder in den Konfigurator und können wie oben erläutert aktiviert werden. Oder diese müssen manuell in DASYLab eingerichtet werden.

Der DASYLab-Treiber ist im Allgemeinen eine Treiberdatei mit der Endung DLL, bspw. mein_treiber.dll. Kopieren Sie diese Datei in das DASYLab-Programmverzeichnis, üblicherweise lautet dieses C:\Program Files (x86)\DASYLab <versionsnummer>.
Zusätzlich muss diese Datei noch in einer Konfigurationsdatei von DASYLab "angemeldet" werden:

  1. Navigieren Sie zum Pfad der DASYLab-Konfigurationsdateien, z.B. C:\Users\Public\Documents\DASYLab\14.2.0\ger, und öffnen Sie die Datei dasylab.ini mit einem Texteditor.
  2. Hier finden Sie eine in eckigen Klammern eingeschlossene Sektion namens [Extend] mit acht Zeilen, z.B. DLL1=DLAB_UX1.DLL. In jeder Zeile kann eine andere Datei angemeldet werden. Wählen Sie eine beliebige freie Zeile -- das sind die Zeilen mit den Platzhaltern, welche DLAB_UX<Nummer>.DLL heissen -- und tragen Sie den Namen der Treiberdatei ein, die Sie in das Programmverzeichnis kopiert haben.

Beispiel:

[Extend]
DLL1=mein_treiber.dll
DLL2=DLAB_UX2.DLL
DLL3=DLAB_UX3.DLL
...

Beachten Sie bitte, dass DASYLab-Treiber u.U. noch herstellerspezifische Betriebssystemtreiber oder Software benötigen können, um zu funktionieren. Für National Instruments-Hardware wird bspw. der NI-DAQmx-Betriebsystemtreiber benötigt, für Hardware der Measurement Computing Company wird die InstaCal-Software, etc.

Eine Übersicht der Hardware-Treiber finden Sie auf unserer >> Übersichtsseite <<.


 „Der Datenfluss wird durch eines der nachfolgenden Module blockiert." Was heisst das?

Hilfsmittel zur Analyse:

  • In der Titelzeile des Fehlerdialogs finden Sie den Namen des Moduls, das diesen Fehler meldet!
  • Über die Menüoption Ansicht >> Animation >> FIFO-Füllstand können Sie während einer laufenden Messung den zur Verfügung stehenden Speicherplatz für Daten an den Modulausgängen sichtbar machen. Bei drohendem Datenstau füllt sich die Anzeige (rot=belegt, grün=frei).

 

(I) Geperrte und nicht synchrone Datenströme

Viele Module können Daten unterschiedlicher Datenströme nur verarbeiten, wenn diese dieselbe Abtastrate und Blockgröße haben und zum selben Zeitpunkt erfasst bzw. erzeugt wurden, also dieselben Zeitstempel haben.

  • Wenn Sie unterschiedliche Datenströme in einem Modul zusammenführen, stellen Sie bitte sicher, dass die Werte liefernden Datenquellen dieselbe Zeitbasis verwenden.
  • Achten Sie darauf, dass Datenströme, die in einem Modul zusammengeführt werden sollen, synchron sind.

 

Beispiel:

Möchten Sie bspw. zwei Datenströme mit einem Arithmetik-Modul verrechnen, nur einer der Datenströme wird durch ein Relais-Modul unterbrochen, so werden sich die Daten des nicht unterbrochenen Datenstroms vor dem Arithmetik-Modul aufstauen: das Modul wartet darauf, dass zeitlich zueinander passende Daten an seinen Eingängen anliegen. Dies geschieht aber nicht, weil das Relais Datenblöcke verwirft.

Das Arithmetik-Modul nimmt keine Werte des nicht durch ein Relais unterbrochenen Datenstroms an. Diese stauen sich im Vorgängermodul auf, das die Daten an das Arithmetik-Modul liefert. Das Vorgängermodul erhält aber weiterhin kontinuierlich Daten von SEINEM Vorgängermodul.

Da jedes Modul nur begrenten Platz zur Verfügung hat, um Daten zwischenzuspeichern, kommt es zum Datenstau. Wenn der Platz für Daten in einem Modul belegt ist, nimmt es keine Daten vom Vorgänger an. Das Aufstauen setzt sich in der Kette der Module in Richtung der Datenquelle fort.

Achten Sie in diesem Fall darauf, dass alle Datenströme, die das Arithemtik-Modul verrechnen soll, durch das Relais-Modul zu denselben Zeitpunkten gesperrt und wieder freigegeben werden.

 

(II) Zu hohe Abtastrate und/oder zu geringe Blockgröße

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 (1/1000 = 0,001s) eingestellt haben, 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.

  •  Erhöhen Sie die Blockgröße: dadurch ändert sich nicht die Anzahl der Werte pro Sekunde, sondern es können bei höheren Blockgrößen mehr Werte in eine Berechnung eingehen, sodass insgesamt weniger Berechnungen pro Sekunde notwendig sind.
  •  Reduzieren Sie Abtastrate: wenn Sie eine geringe Blockgröße benötigen, weil Sie bspw. eine Analogausgabe im "1 Sample"-Modus im Schaltbild verwenden, führt eine geringere Abtastrate dazu, da weniger Werte pro Sekunde verarbeitet werden müssen.
    Prüfen Sie bitte, ob der Einsatz einer Messhardware sinnvoll ist, die einen "kontinuierlichen" Ausgabemodus beherrscht, um nicht nur Einzelwerte, sondern Datenblöcke ausgeben zu können.
  • Wenn Sie ein Datenfenster-Modul nutzen, prüfen Sie bitte, ob eine geringere Überlappung ausreichend ist.

„Generell bzw. für den Subtyp stehen keine nutzbaren Tasks zur Verfügung.“ Was bedeutet das?

Bei der Verwendung von Messhardware von National Instruments kommuniziert DASYLab nicht direkt mit der Messhardware, sondern mit so genannten Messaufgaben bzw. Tasks. Diese definieren bspw. für ein Gerät, von welchen Analogeingängen während einer Messung Daten erfasst werden sollen.
Tasks müssen im Measurement & Automation Explorer ("MAX") von National Instruments eingerichtet werden. Wenn Sie den NI DAQmx- Betriebssystemtreiber installieren, ist der MAX Teil der installierten Software.

Im gestarteten MAX finden Sie im linken Bereich eine Browserstruktur mit dem Punkt "Mein System". Darin sind in den Kategorien Datenumgebung die erstellen Tasks und in Geräte und Schnittstellen die am Rechner angeschlossene Messhardware zu finden.

Einen Task erstellen

Führen Sie einen Rechtsklick auf ein Gerät aus, für das Sie einen Task erstellen möchten.
Wählen Sie im Kontextmenü "Task erstellen" aus.

Ein Assistent führt durch die Erstellung des Tasks. Zunächst ist grundsätzlich festzulegen, in welche Richtung der Datenfluss stattfinden soll: sollen Signale erfasst werden oder sollen Signale erzeugt werden – sollen bspw. Daten eines Temperaturfühlers eingelesen werden oder soll z.B. die Drehzahl eines Motors verändert werden?

Im nächsten Schritt kann die Art der Erfassung und Ausgabe bestimmt werden. Soll eine Erfassung analoger Signale erfolgen oder eine digitale Erfassung? Bei der Analogerfassung werden Signalpegel erfasst, die im Signaleingangsbereich des Messgeräts liegen, z.B. ±10V, während bei der Digitalerfassung TTL-Signale verarbeitet werden. High- bzw. Low-Pegel entsprechen der logischen „0“ und „1“. Beispiele für Analogerfassungen von Sensorwerten sind eine Temperatur oder ein Druck, ein Beispiel für eine Digitalerfassung ist der Zustand eines Ein-/Ausschalters.

Für eine Analogerfassung kann ein Task so konfiguriert werden, dass ein erfasster Spannungspegel bereits in die Ursprungsgröße umrechnet wird. Ein an die Messhardware angeschlossener Drucksensor wird den gemessenen Druck in einen Spannungspegel umsetzen, der vom Messgerät erfasst wird. Die Umrechnung zurück vom Spannungspegel in den Druckwert kann mit einem „Druck-Task“ erfolgen.
Die grundlegendste Form der Analogerfassung ist aber die Erfassung von Spannungspegeln. Diese lassen sich später bei der Weiterverarbeitung mit DASYLab, mit von DASYLab angebotenen Werkzeugen ebenfalls wieder in die Ursprungsgröße zurückrechnen.

Im nun folgenden Schritt erfolgt die Auswahl der physikalischen Kanäle: an welche Analoganschlüssen der Messhardware wurden Signale angelegt? Mit gehaltener STRG-Taste können unterschiedliche Anschlüsse einzeln zur Auswahl hinzugefügt werden und mit gehaltener SHIFT-Taste kann ein Bereich ausgewählt werden.
Bei der Auswahl mit der STRG-Taste sollte drauf geachtet werden, dass die Reihenfolge beibehalten wird, in der die einzelnen AIs zum Task hinzugefügt werden: Wenn „ai0“, „ai3“ und dann erst „ai2“ angeklickt werden, so wird man später die drei Analogeingänge in eben dieser Reihenfolge auch in DASYLab wiederfinden!

Im letzten Schritt des Assistenten erfolgt die Benennung des Tasks. Durch Betätigen von „Fertigstellen“ schließt sich der Assistent. In der Datenumgebung ist nun der neue DAQmx-Task gelistet und ausgewählt, im Eigenschaften-Fenster sind Details des Tasks zu finden.

Synchronisierung der MAX-Konfiguration

Bevor der DAQmx-Task in DASYLab verwendet werden können, muss DASYLab eine neue oder geänderte Konfiguration von Tasks bekannt gemacht werden.
Soll z.B. ein Analogeingang einer NI-Messhardware gelesen werden und es gibt noch keinen entsprechenden Task im MAX, dann wird beim Versuch, ein Analogeingangs-Modul in das Schaltbild zu legen, die bekannte Fehlermeldung angezeigt.

Die Fehlermeldung wird beim Ablegen des Moduls im Schaltbild ebenfalls angezeigt, wenn während der Task-Erstellung im Measurement & Automation Explorer DASYLab schon geöffnet war! Es erfolgt keine automatische Übermittlung von Informationen über neue oder geänderte Tasks zwischen DASYLab und dem MAX.

Ein Abgleich der MAX-Konfiguration erfolgt, wenn DASYLab gestartet wird – beim Start der Anwendung, nicht beim Ausführen eines Schaltbilds! Die Synchronisierung kann auch aus DASYLab heraus über eine Option im Menü „Messen“ erfolgen:

Messen >> Messgeräte-Einstellungen >> NI >> NI-DAQmx synchronisieren…

Da die Synchronisierung der MAX-Konfiguration bei Nutzung von NI-Hardware eine regelmäßig genutzte Funktion ist, lässt sich die entsprechende Menüoption bequem auf eine der selber belegbaren Shortcuts auf DASYLabs Funktionsleiste ablegen.

>>  Kann ich die Symbole in der Leiste unterhalb des Menüs umordnen oder eigene Funktionen hinzufügen?

 


„Der Treiber verwendet nicht alle Kanäle im Task. Dies ist nicht zulässig.“ Was bedeutet dies?

Der Task in einem DAQmx-Analogausgangsmodul wurde im MAX mit mehr Kanälen konfiguriert als im DASYLab-Schaltbild mit Daten versorgt werden.

Wenn der Task bspw. die Analogausgänge ao0 und ao1 enthält, erwartet der Task während der laufenden Messung auch Daten für jeden dieser konfigurierten Analogausgänge. Ein im Schaltbild vorhandenes DAQmx-Analogausgangsmodul, in dem dieser Task eingestellt wurde, muss eine dem Task entsprechende Anzahl an Kanälen aufweisen, sodass jeder Moduleingang Daten entgegennehmen kann, die den Spannungspegel am zugehörigen Analogausgang bestimmen.


Das Schaltbild reagiert sehr zäh und Änderungen werden verzögert verarbeitet. Was muss ich tun?

(1)
Möglicherweise nutzen Sie eine sehr hohe Abtastrate bei gleichzeitig niedriger Blockgröße. Es müssen in kurzer Zeit viele Datenblöcke transportiert werden, sodass den Modulen wenig Zeit für die Verarbeitung der Daten bleibt.
DASYLab verwirft keine Daten, sodass alle Daten nach und nach abgearbeitet werden. Durch die hohe Abtastrate werden neue Daten zwar "eingereiht", welche aber durch die hohe Last nur verzögert an Visualisierungsmodulen oder Hardware-Ausgängen angelangen und dargestellt bzw. ausgegeben werden.

  • Reduzieren Sie de Abtastrate oder erhöhen Sie die Blockgröße!
  • Prüfen Sie auch, ob in den verwendeten Software-Datenquellen, wie Generator oder Schalter, die Option Ausgabe in Echtzeit eingeschaltet ist. Ist diese ausgeschaltet, produziert das Modul Daten so schnell es ihm möglich ist. Das kann denselben Effekt haben wie die Verwendung einer zu hohen Abtastrate.
    Die Option Ausgabe in Echtzeit ist eine Kanaleinstellung! Prüfen Sie die Einstellung daher bitte für jeden Kanal des Moduls!

(2)
Eine niedrige Abtastrate und eine große Blockgröße führt dazu, dass nur wenige Daten pro Sekunde erzeugt oder erfasst werden. Erst wenn ein Datenblock gefüllt ist, wird dieser von einem Modul zum nächsten weitergegeben.

Beispiel:
Bei 1 Hz Abtastrate und Blockgröße 10 dauert es 10 Sekunden ehe ein neuer Datenblock aus einer Datenquelle ausgegeben wird.

(3)
Möglicherweise nutzen Sie ein Mittelungsmodul mit fixierter Intervallbildung, dadurch wird eine Datenreduktion durchgeführt. Reduzieren Sie im Konfigurationsdialog des Mittelungsmoduls die Blockgröße am Ausgang, damit der berechnete Mittelwert schneller ausgegeben werden kann.
Wenn Sie die Blockgröße am Augang auf 1 reduzieren, führt es dazu, dass bei jeder durchgeführten Mittelung, das Ergebnis sofort ausgegeben wird.


Wie verfolge ich ein laufendes Schaltbild bzw. wie finde ich heraus, wo Datenstau im Schaltbild entsteht?

Hilfsmittel zur Analyse:

  • In der Titelzeile eines Fehlerdialogs finden Sie den Namen des Moduls, das einen Fehler meldet.
  • Über die Menüoption Ansicht >> Animation >> FIFO-Füllstand können Sie während einer laufenden Messung den zur Verfügung stehenden Speicherplatz für Daten an den Modulausgängen sichtbar machen. Bei drohendem Datenstau füllt sich die Anzeige (rot=belegt, grün=frei).
  • Unter den Symbolen der Modulausgänge bewegt sich ein roter Balken hin und her, welcher den Abtransport von Datenblöcken aus einem Modulausgang darstellt. Jedesmal, wenn sich der Balken bewegt (die Richtung spielt keine Rolle), ist ein Datenblock vom Modulausgang an verbundene Moduleingänge bewegt worden.
  • Während einer Messung können Sie durch einen einfachen Linksklick auf eine Datenleitung Informationen erhalten. Diese werden in Tabellenform und grafisch im Infoblock im unteren Bereich des DASYLab-Hauptfensters angezeigt.
    Mit STRG+Linksklick auf eine Datenleitung öffnet sich ein Informationsfenster.

„Die Zeitinformation oder die Blockgröße stimmen nicht überein.“ Ja, und nun?

Allgemein tritt dieser Fehler auf, wenn Datenströme mit unterschiedlicher Abtastrate, Blockgröße oder Zeitstempeln von einem Modul verrechnet werden sollen, welches aber synchrone Daten benötigt, oder in eine ASCII-Datei gespeichert werden sollen.

Ein Arithmetikmodul verlangt bspw. Datenströme mit gleicher Blockgröße, da es die an Eingängen empfangenen Blöcke wertweise verrechnet.

Die Daten in Dateien mit einem ASCII-Format sind in einer Tabelle organisiert, bei der jede Zeile ein Zeitpunkt darstellt. Für jeden Zeitpunkt muss an allen Eingängen des "Daten schreiben"-Moduls zeitlich passende Daten bereitstehen, um eine ganze Zeile der Tabelle mit Daten zu füllen. Wenn die Daten an den Eingängen bspw. unterschiedliche Abtastraten haben, würde es für einen langsamen Kanal nicht in jeder Zeile/zu jedem Zeitpunkt einen Eintrag geben. Dies ist bei den ASCII-Formaten nicht zulässig.


Um diese Fehlermeldung zu vermeiden, beachten Sie die Tipps aus dem folgenden Hinweis:
>> Was muss ich beachten, wenn ich unterschiedlich abgetastete Daten verrechne?

 


Mein Schaltbild läuft zu langsam. Was kann ich tun, um den Ablauf zu beschleunigen?

Wenn ein Schaltbild zu langsam läuft, können die Gründe hierfür sehr Vielfältig sein. Schauen Sie auf alle Fälle auch unter folgenden Frage in dieser FAQ nach:
Das Schaltbild reagiert träge
Der Datenfluss wird blockiert.
Datenfluss im Schaltbild verfolgen

Folgende allgemein Tipps und Empfehlungen können wir hier geben, um die Abarbeitung eines Schaltbildes in Dasylab zu beschleunigen:

  • Schalten sie alle nicht benötigten Anzeige aus indem sie die entsprechenden Anzeigefenster Verbergen.
  • Deaktivieren sie den Infoblock (die drei Fenster unten, mit „Ansicht->Infoblock“)
  • Schalten sie die Animationen aus (Ansicht->Animationen : beide ausschalten).
  • Vermeiden Sie es, das sich Anzeigefenster überlappen. Auch im Layout sollten sich zwei Grafik Objekte nicht überlappen.
  • Haben Sie noch nicht mehr benutzte Layouts im Schaltbild (z.B. vom Testen, etc.) ? Dann diese entfernen. Alle vorhandenen Layouts werden ständig aktualisiert, auch wenn diese nicht angezeigt werden.
  • Vermindern Sie die Anzahl der Daten für den Linienschreiber. Häufig wird der Linienschreiber dafür verwendet, eine Ablauf über eine längeren Zeitraum zu verfolgen Hierfür ist es jedoch häufig nicht notwendig, die Daten mit der vollen Messgeschwindigkeit im Linienschreiber anzuzeigen. Oft reich ein Bruchteil davon aus. Mit dem Modul "Separieren" z.B. kann man sehr einfach und effizient die Datenmenge reduzieren, bevor diese im Linienschreiber angezeigt wird.
  • Schalter für die Bedienung der Oberfläche nach Möglichkeit mit einer „langsamen“, aber reaktionsschnellen  Zeitbasis betreiben (z.B. „DASYLab“ mit 10 Hz und 1 Wert pro Block)
  • Erhöhen Sie, falls möglich, die Blockgröße. Der Datentransport in DASYLab wird hierdurch effizienter, außerdem werden Anzeigeinstrumente in der Regel mit jedem Datenblock aktualisiert.
  •  

×
×
  • Create New...