LabVIEWForum.de - Cont Acq & Graph Voltage - Analog SW Trigger

LabVIEWForum.de

Normale Version: Cont Acq & Graph Voltage - Analog SW Trigger
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,
bei der Ausführung des Beispiel-VI`s Cont Acq & Graph Voltage - Analog SW Trigger (siehe Anhang, LV 8.2) besteht bei mir ein mir unerklärliches Problem. Über die NI-PCI 6251 habe ich einen Wegaufnehmer angeschlossen. Nach der Auslösung durch Überschreiten einer Schwelle sollen eine bestimmte Anzahl Samples samt der Pretrigger-Samples aufgezeichnet werden. Folglich habe ich "Above Level" gewählt.

1. Liegt die nahezu konstante Spannung des unbelasteten Wegaufnehmers an und wird der Level während der Ausführung des VI`s reduziert, werden nach Unterschreiten des Levels unter die anliegende Spannung wie gewünscht die Pretrigger-Samples und die unter "Samples to read per iteration" definierte Anzahl an Samples aufgezeichnet (Gesamtzahl der aufgezeichneten Samples = Pretrigger-Samples + Samples to read per iteration).
[attachment=14149]

2. Ist ein bestimmter Level eingestellt und wird durch die Belastung des Wegaufnehmers überschritten, wird die gewünschte Anzahl an Pretrigger-Samples korrekt aufgezeichnet. Jedoch stoppt die Aufzeichnung nach einer undefinierten Anzahl von Samples. (Gesamtzahl der aufgezeichneten Samples < Pretrigger-Samples + Samples to read per iteration).
[attachment=14150]

Der eigentliche Anwendungsfall ist ja der unter Punkt 2. beschriebene. Wie schaffe ich es bzw. was muss ich einstellen, dass nach der Auslösung des Triggers durch Überschreiten des Levels eine genaue Anzahl Samples zusätzlich zu den Pretrigger-Samples aufgezeichnet wird?

Über eure Hilfe würde ich mich sehr freuen,
Christian

[attachment=14151]
' schrieb:1. Liegt die nahezu konstante Spannung des unbelasteten Wegaufnehmers an und wird der Level während der Ausführung des VI`s reduziert, werden nach Unterschreiten des Levels unter die anliegende Spannung wie gewünscht die Pretrigger-Samples und die unter "Samples to read per iteration" definierte Anzahl an Samples aufgezeichnet (Gesamtzahl der aufgezeichneten Samples = Pretrigger-Samples + Samples to read per iteration).
Genau hier liegt dein Fehler: Wenn du das Bsp. mal genau und bis ins Detail untersuchst, steht da nirgends, dass "Gesamtzahl der aufgezeichneten Samples = Pretrigger-Samples + Samples to read per iteration" ist! Was das Bsp macht, ist:

-Zeichne kontinuierlich Analog-Daten auf (jeweils "Samples to Read" pro Schleifendurchlauf).
-Überprüfe per Software, ob Trigger-Ereignis aufgetreten ist.
-Wenn ja, hole die Anzahl der gewünschten Pretrigger-Samples aus den aufgezeichneten Daten und hänge noch den Rest hinten dran.
-Dann beenden der Schleife

Ist also eigentlich logisch, dass du immer unterschiedlich viele Daten angezeigt bekommst.

MfG, Jens
Danke Jens für deine Antwort. Zum weiteren Verständnis noch eine weitere Frage:

Die jedes mal gleiche Anzahl von 1500 Samples bekomme ich also beim unter Punkt 1 beschriebenen Fall, weil ich, wenn ich den Level von Hand herabsetzte, beim 1. Sample des Schleifendurchlaufs die Triggerbedingung erfülle, und die restlichen 1000 zusäzlich zu den 500 Pretrigger-Samples aufgezeichnet werden. Sehe ich das richtig?

Wie realisiere ich am besten, dass nach meiner Triggerauslösung zu den Pretrigger-Samples jedes mal die gleiche Anzahl an Samples aufgezeichnet werden?

Danke und Gruss,
Christian
' schrieb:Danke Jens für deine Antwort. Zum weiteren Verständnis noch eine weitere Frage:

Die jedes mal gleiche Anzahl von 1500 Samples bekomme ich also beim unter Punkt 1 beschriebenen Fall, weil ich, wenn ich den Level von Hand herabsetzte, beim 1. Sample des Schleifendurchlaufs die Triggerbedingung erfülle, und die restlichen 1000 zusäzlich zu den 500 Pretrigger-Samples aufgezeichnet werden. Sehe ich das richtig?
Ich bezweifle, dass du immer exakt 1500 Samples erfasst hast. Sieht mglw. nur so aus. Dazu müsstest du dir mal die Länge des Arrays ausgeben lassen.
' schrieb:Wie realisiere ich am besten, dass nach meiner Triggerauslösung zu den Pretrigger-Samples jedes mal die gleiche Anzahl an Samples aufgezeichnet werden?
Hirn einschalten und die Abbruchbedingung der Datenerfassungsschleife abändern. Du willst bei deinen Einstellungen mind. (oder exakt) noch 1000 Werte nach Triggerereignis. Du könntest z.B. die Größe des Arrays überprüfen, in dem die Daten drinstehen. Wenn das größer ist als die Menge die du willst, dann erst Abbruch (momentan wird nach dem Eintreten des Triggerereignis abgebrochen). Und dann halt noch zu viel gesampelte Daten wieder verwerfen.

Gruß, Jens
' schrieb:Ich bezweifle, dass du immer exakt 1500 Samples erfasst hast. Sieht mglw. nur so aus. Dazu müsstest du dir mal die Länge des Arrays ausgeben lassen.
Bezweifle ich nicht. Die Anzahl beträgt 1500 Samples.
' schrieb:Hirn einschalten und die Abbruchbedingung der Datenerfassungsschleife abändern. Du willst bei deinen Einstellungen mind. (oder exakt) noch 1000 Werte nach Triggerereignis. Du könntest z.B. die Größe des Arrays überprüfen, in dem die Daten drinstehen. Wenn das größer ist als die Menge die du willst, dann erst Abbruch (momentan wird nach dem Eintreten des Triggerereignis abgebrochen). Und dann halt noch zu viel gesampelte Daten wieder verwerfen.
Hab es bereits gelöst.
Trotzdem Danke für deine Hilfe.

Gruss Christian
' schrieb:Bezweifle ich nicht. Die Anzahl beträgt 1500 Samples.
Mag sein, bei meinen Versuchen mit "nur simulierter" Hardware habe ich es nie gesehen, dass noch 1000 Samples nach Trigger gesamplet wurden. Deshalb mein (denke ich) berechtiger Zweifel. Wink
' schrieb:Hab es bereits gelöst.
Trotzdem Danke für deine Hilfe.

Gruss Christian
Referenz-URLs