02-14-2011 02:45 AM
Hallo,
ich habe ein paar Fragen zur Paketverarbeitung (DIAdem 11.0 bzw 11.1).
Folgende Aufgabenstellung:
Ich möchte während einer Messung mit 2 Hz in der Einzelwertverbeitung Ereignissgetriggert einen Abschnitt eines Signalsverlaufes bilden.Dieser Abschnitt kann 1 bis ca. 300 Einzelwerte enthalten, die genaue Anzahl kennt man vorher nicht. Danach Soll das Maximum des Abschnitts ermittelt werden. Im laufe einer Messung passiert dies mehrmals und ich möchte die ermittelten Maxima summieren.
Meine Lösung:
Ich sammele die Einzelwerte in einem Paket mit variabler Länge mithilfe des "Packen-" und des "Abschnittsblocks" und wende dann den "Statistikblock" darauf an. Diesen Wert überführe ich dann wieder in die Einzelwertverarbeitung mittels "Vereinzeln".
Problem:
Bei bestimmten Taktraten kommt es zu einem Bufferüberlauf Fehler. Ändere ich den Takt kommt es oft sporadisch oder aber nach dem 2ten Paket zu diesem Fehler.
Woran kann das liegen?
Wie Funktioniert die Paketabarbeitung in meinem Beispiel? Leider ist die Hilfe zu diesem Thema in DIAdem recht mager....
Schonmal vielen Dank !!
Gruß
Tobias
Solved! Go to Solution.
02-14-2011 03:51 AM
02-15-2011 04:05 AM
Hallo,
vielen Dank für die Hilfe. Die Änderung in dem Packen-Block hat zur Lösung geführt.
Eine Frage zum Verständnis habe ich da aber noch:
Angenommen ich packe 10 Werte in ein Paket, dies muss ich ja bei dem Signal als auch bei dem Controlleingang des Abschhnittsblocks so machen. Wenn jetzt der Triggerzeitpunkt im Controllpaket bei Wert 5 von 10 erfolgt, werden dann die 5 Werte im Signalpaket vor dem Trigger verworfen und nur die 5 Werte nach dem Triggerzeitpunkt mit in das neue Paket im Abschnittsblock gepackt ? Andernfalls würde meine anschließende Berechnung über das erstellte Paket verfälscht. Das war auch der Grund weshalb ich die Paketgröße beim Packen-Blockk auf 1 gesetzt habe. Ich möchte nur die Werte zusammenpacken die nacch dem Trigger kommen.
mfG
Tobias
02-15-2011 05:14 AM