Hallo,
ich möchte die Spannung vom AD-Wandler (NI USB-6008) so lange einlesen, bis ich über einen Stopp-Button die Messung unterbreche.
Ich habe bisher mit dem DAQ-Assistenten einen analogen Eingang gewählt, die Spannugn zw. 10 und -10 V und 'zu lesende Werte' auf 5000 und die Hz auf 1000 festgelegt.
In der Beschreibung steht, dass man über einen kontinuierlichen Task die Messung stoppen kann. Allerdings geht das nicht direkt während der Messung, sonder nur wenn er seine 5000 Werte eingelesen hat. Wenn ich einige Schleifen abwarte werden mir trotzdem nur die letzten (ich gehe zumindest davon aus, dass es die letzten sind) 5000 Werte angezeigt.
Gibt es eine Möglichkeit nun die Messung bereits nach 3000 Werten bzw. zu einem variablen Zeitpunkt abzubrechen? Bin leider noch nicht dahinter gekommen.
Vielleicht hat jemand einen Tipp?
Gruß
Tschobia
Hallo Tschobia,
kannst Du Dein VI mal hochladen? Am besten mit simulierten Werten, weil ich hier leider kein DAQ habe. Dann schaue ich mal drüber.
Gruß Markus
' schrieb:Hallo,
ich möchte die Spannung vom AD-Wandler (NI USB-6008) so lange einlesen, bis ich über einen Stopp-Button die Messung unterbreche.
Ich habe bisher mit dem DAQ-Assistenten einen analogen Eingang gewählt, die Spannugn zw. 10 und -10 V und 'zu lesende Werte' auf 5000 und die Hz auf 1000 festgelegt.
In der Beschreibung steht, dass man über einen kontinuierlichen Task die Messung stoppen kann. Allerdings geht das nicht direkt während der Messung, sonder nur wenn er seine 5000 Werte eingelesen hat. Wenn ich einige Schleifen abwarte werden mir trotzdem nur die letzten (ich gehe zumindest davon aus, dass es die letzten sind) 5000 Werte angezeigt.
Gibt es eine Möglichkeit nun die Messung bereits nach 3000 Werten bzw. zu einem variablen Zeitpunkt abzubrechen? Bin leider noch nicht dahinter gekommen.
Vielleicht hat jemand einen Tipp?
Gruß
Tschobia
' schrieb:Hallo Tschobia,
kannst Du Dein VI mal hochladen? Am besten mit simulierten Werten, weil ich hier leider kein DAQ habe. Dann schaue ich mal drüber.
Gruß Markus
Klar, also hier das VI. Habe bisher immer mit bestehenden Werten das VI erstellt (ist noch mit dem Spreadsheet-VI zu sehen). Das VI soll aber eigentlich simultan Werte aufzeichnen und filtern usw. bis ein Stopp-Button gedrückt wird.
Habe bereits ein Bedienelement hinzugefügt, es aber auch schon mit einer While-Schleife probiert. Leider liest er immer die im DAQ angegebene Werte erst aus und nimmt dann 'Befehle' von außen an.
Hier das VI und eine Rohdatei die man alternativ über Spreadsheet einlesen kann
Hoffe es wird klar, wo mein Problem liegt.
Danke schonmal.
Tschobia
' schrieb:Hallo,
ich möchte die Spannung vom AD-Wandler (NI USB-6008) so lange einlesen, bis ich über einen Stopp-Button die Messung unterbreche.
Ich habe bisher mit dem DAQ-Assistenten einen analogen Eingang gewählt, die Spannugn zw. 10 und -10 V und 'zu lesende Werte' auf 5000 und die Hz auf 1000 festgelegt.
In der Beschreibung steht, dass man über einen kontinuierlichen Task die Messung stoppen kann. Allerdings geht das nicht direkt während der Messung, sonder nur wenn er seine 5000 Werte eingelesen hat. Wenn ich einige Schleifen abwarte werden mir trotzdem nur die letzten (ich gehe zumindest davon aus, dass es die letzten sind) 5000 Werte angezeigt.
Gibt es eine Möglichkeit nun die Messung bereits nach 3000 Werten bzw. zu einem variablen Zeitpunkt abzubrechen? Bin leider noch nicht dahinter gekommen.
Vielleicht hat jemand einen Tipp?
Gruß
Tschobia
Frage, brauchst du die 1kHZ Samplerate?
Wenn nicht, setz die doch runter und lese alle 10-20ms die Spannung aus und wiederhole das halt N-mal bis User Stopp drückt oder ein voreingestellter Wert z.B. N=100 erreicht ist.
Gruß, Rob
' schrieb:Frage, brauchst du die 1kHZ Samplerate?
Wenn nicht, setz die doch runter und lese alle 10-20ms die Spannung aus und wiederhole das halt N-mal bis User Stopp drückt oder ein voreingestellter Wert z.B. N=100 erreicht ist.
Gruß, Rob
Hallo Rob,
es soll im Endeffekt eine Abtastung mit 500 Hz erfolgen, die halt jederzeit gestoppt werden soll.
So wie ich das sehe durchläuft er stets seine 500 Werte und stoppt dan erst nach dem nächsten Durchgang, wenn 'Stopp' gedrückt wurde.
Ich verstehe die Funktion 'Kontinuierlich' nicht so wirklich, weil mir immer nur 500 Werte (also 1 Sekunde) im Signalverlaufsgraphen angezeigt werden. Kann man das auch simultan anzeigen lassen? Also wie die Kurve aktuell ansteigt/fällt? Bekomme immer nur am Ende des VIs die Kurve der letzten Min komplett angezeigt.
Gruß
Tschobia
Hallo,
das STOP hält auch den Task erst nach einlesen der eingestellten Werten an.
Hier ist die LabVIEW-Beschreibung für das STOP:
Specifies to
stop the task and release device resources
when this Express VI completes execution. For continuous tasks, this input is
FALSE by default, meaning the task
continues to run until the application stops. To stop the task so you can use the device again in the same application, wire this input to the same stop control you wire to the conditional terminal of the while loop. For single-point and finite tasks, this input is TRUE by default, meaning the task stops after all samples are acquired. To optimize single-point performance when using this Express VI in a loop, wire this input to the same stop control you wire to the conditional terminal of the while loop.
Hast Du schon mal die Werte in ein Array geschrieben und geschaut, ob das nur Deine 500, bzw. 5000 Werte sind?
Gruß Markus
' schrieb:Hallo Rob,
es soll im Endeffekt eine Abtastung mit 500 Hz erfolgen, die halt jederzeit gestoppt werden soll.
So wie ich das sehe durchläuft er stets seine 500 Werte und stoppt dan erst nach dem nächsten Durchgang, wenn 'Stopp' gedrückt wurde.
Ich verstehe die Funktion 'Kontinuierlich' nicht so wirklich, weil mir immer nur 500 Werte (also 1 Sekunde) im Signalverlaufsgraphen angezeigt werden. Kann man das auch simultan anzeigen lassen? Also wie die Kurve aktuell ansteigt/fällt? Bekomme immer nur am Ende des VIs die Kurve der letzten Min komplett angezeigt.
Gruß
Tschobia
' schrieb:Hallo,
...
Hast Du schon mal die Werte in ein Array geschrieben und geschaut, ob das nur Deine 500, bzw. 5000 Werte sind?
Gruß Markus
Hallo Markus,
danke für die Info, dann kann man das also nicht während dessen unterbrechen. Das wollte ich wissen.
Ja, es werden bei 500 Hz und 1000 zu lesende Werte eben immer nur die letzten 1000 Werte ins Array geschrieben.
Habe das nun so gemacht, dass er bei jeder Schleife die Werte in ein Array schreibt und diese zum vorherigen Array dazuschreibt. Nur somit kann ich alle Werte abspeichert und nicht nur die letzten vor dem Stopp.
Gut, denke damit kann ich leben.
Vielen Dank
und Gruß
Tschobia