Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
09.07.2012, 12:59 (Dieser Beitrag wurde zuletzt bearbeitet: 09.07.2012 13:01 von ralph_schuster.)
ich möchte Messdaten aus einem DAQ-Assistenten in ein tdms-file schreiben. Wenn ich den DAQ in einer Schleife mit dem tdms-write habe, bricht das VI irgendwann ab, weil beim Schreiben ein Fehler auftritt.
Nun hatte ich die Idee, den Datenfluss per Queue zu vermitteln. Leider läuft die Schleife, welche die Queue ausliest, gar nicht.
Ich habe zur Vereinfachung den DAQ herausgenommen und will erstmal den Array aus doubles übertragen.
Dies wundert mich sehr. Über Hinweise dazu und Alternativvorschläge würde ich mich sehr freuen.
Ralph
PS: Wie kann ich Blockschaltbilder elegant als Grafik exportieren, um sie hier ansehlich präsentieren zu können??
(09.07.2012 12:59 )ralph_schuster schrieb: bricht das VI irgendwann ab, weil beim Schreiben ein Fehler auftritt.
Welcher Fehler tritt denn auf?
(09.07.2012 12:59 )ralph_schuster schrieb: Nun hatte ich die Idee, den Datenfluss per Queue zu vermitteln. Leider läuft die Schleife, welche die Queue ausliest, gar nicht.
Mindestens einmal sollte sie aber durchlaufen werden. Hast du das ganze schon (mit Sonden und Haltepunkte) gedebuggt?
(09.07.2012 12:59 )ralph_schuster schrieb: PS: Wie kann ich Blockschaltbilder elegant als Grafik exportieren, um sie hier ansehlich präsentieren zu können??
@ NWO:
Nach mehreren Minuten Messung brach die Messung ab und es kam ein Fehler, dass die zu speichernden Daten nicht da seien.
Dabei wurden 8 Kanäle mit je 100kS ausgelesen. (Die KArte 6259 kann 1MS, wenn mehrere Kanäle genutzt werden.) Das Problem konnte ich durch halbieren der ABatstrate beheben, aber das kann auch nicht die Lösung sein.
Bei der Analyse der zweiten Schleife mit Sonden wird deutlich, dass die Queue nichtmal erkannt wird,weil die Schleife nicht läuft. Wenn ich i in eine Anzeige führe, sehe ich, dass es bei der 0. Interation bleibt.
@ GerdW
Inwiefern programmiere ich ein Nichtfunktionieren dieser Konstruktion? Eingentlich war meine Absicht, dass sie läuft...
09.07.2012, 13:45 (Dieser Beitrag wurde zuletzt bearbeitet: 09.07.2012 13:46 von GerdW.)
verfolge doch einfach mal mittels Highlighting, was in welcher Reihenfolge abgearbeitet wird. Sprich: guck dir den DATAFLOW an. Dann wird dir auffallen, warum die zweite Schleife (die da die Queue lesen soll) nicht läuft - bzw. später als gedacht...
Die Fehlermeldung könnte damit zusammenhängen, dass dein RAM voll belegt war nach mehreren Minuten Messung bei 100kS/s. Das Halbieren der Abtastrate löst das Problem nicht, sondern es dauert nur doppelt so lange, bis es wieder auftritt...
ALso ich sehe deutlich, dass an einem Tor nichts anliegt und daher die Schleife nicht aktiv wird. Also darf man die Fehlerverbindung nicht in Reihe schalten, wenn man möchte, dass etwas parallel stattfindet? Oder wie ist dies zu erklären?
Vielen Danke auf jeden Fall!
Das Queue-Problem scheint gelöst,
nun bekomme ich den Fehler -50103, wie im Screenshot ersichtlich beim starten des Tasks.
Zu diesem Fehler habe ich folgendes gefunden, sehe aber nicht, dass einer dieser Fälle zutrifft. Sieht jemand das Problem?
Zitat:Solution:
This error is the result of NI-DAQmx recognizing a physical resource conflict. Because the error can be observed in a variety of situations, we describe several possible cases below.
Case 1: Running a DAQmx application after a Traditional DAQ application without first resetting the Traditional DAQ driver.
Case 2: Continuously starting and clearing a DAQmx task (in a loop) for an extended period of time.
Case 3: Generating a finite pulse train and another counter task on the same device in LabVIEW with NI-DAQmx.
Case 4: Using multiple DAQ Assistant Express VIs to access channels on the same data acquisition board.
Case 5: Using multiple SubVIs that run without any error independently, but generate an error when called from a top-level VI.
Case 6: Concurrently running two or more analog input or analog output tasks.
Case 7: Failing to properly clear a task and release its resources.
leider sieht man auf dem Bild nicht alles, was nötig wäre. Z.B. erkennt man nicht, welche Kanäle du zum Task hinzufügst und ob einer davon doppelt vorkommt...
Vielleicht mal das VI anhängen statt sub-optimaler Bilder?