Jump to content

 „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.
Collections
×
×
  • Create New...