LabVIEWForum.de - Datenerfassung für Spannungen - Einige Fragen

LabVIEWForum.de

Normale Version: Datenerfassung für Spannungen - Einige Fragen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Servus Leute,

in einer Arbeit an der Uni beschäftigte ich mich mit Dehnungsmessstreifen (DMS). Hierzu habe ich ein 9191 Chassi und ein NI-cRio Modul 9205 mit bis zu 32 Kanälen, 16 bit auflösung und einer eingangsspannung von 200mV.
Meine DMS werden auf verschiedenen Stangen befestigt, insgesamt sind es 12 Messpunkte die ich aufnehmen möchte. Die DMS wurden alle appliziert und nach und nach an das Modul angeschlossen. jeweils begegenüberliegenden Kanäle dienen zur Datenerfassung der Spannungen die ich vom DMS abgreife.
Im Ni-DaqMax habe ich erste Messungen gestartet und bin mit dem Verlauf, den mir die Spannungskurve liefert, sehr zufrieden .

Nun möchte ich einen Schritt weiter gehen, und mir ein VI realiseren, in welchem ich die Daten aufnehmen und in einen Datei schreiben lassen kann. Hierzu habe ich die Tutorials, welches hier im Forum angeboten, abgearbeitet und mir Schritt für Schritt meinn VI aufgebaut. Das VI Funktiniert bis auf die Daten in die .txt schreiben ganz gut, allerdings habe ich hier einige Fragen dazu:

1. Aktuell kann ich nur einen Kanal auslesen. Ich habe aber 12 Kanäle die ich auslesen möchte und zwar gleichzeitig. Muss ich diesen VI aufbau nun 12 mal realisieren ? Oder kann ich einen ganzen Task, welchen ich in DaqMax erstellt habe auch direkt auslesen ? Das habe ich versucht und hier immer einen Error bekommen, weil er einen physikalischen Kanal möchte

2. Die Datenausgabe in eine TXT datei. Ich greife die Daten, die an meinem Kanal entstehen ab und will sie in eine TXT Datei schreiben. Das funktioniert einige Sekunden lang gut und dann gibt er mir den Fehler aus, dass die Datei schon exisiter und er nicht weiter schreiben kann. Was mache ich hier falsch ?

3. Der Trigger: Ich möchte, dass die eigentliche Datenauswertung erst beginnt, wenn ein analoges Signal, welches auf einem der 32 Kanäle liegt, auf 12V steigt. Ich habe aufgrunddessen einen analogtrigger realisiert, der als Quelle diesen Kanal bekommt und dann erst bei steigender Flanke ausgelöst wird. Ist das so richtig implementiert ?

Ich hoffe ihr könnt mir ein paar Tipps geben. Wer passende Programme zur Verfügung hat darf mir diese gerne geben Wink Auch für Tutorials bin ich offen!

Danke für eure Hilfe

Lg
Johannes
Hallo bbq,

1a. Hilfe zur Funktion "Kanal erzeugen" aufrufen, dort die Sätze zu "Physikalische Kanäle" lesen und den Link auf "Liste oder Bereich" anklicken. Dann 12 Kanäle statt nur einem auswählen...
1b. Wenn du schon einen Task in MAX erstellt hast, solltest du diesen auch an der passenden Stelle anschließen. Dann brauchst du aber kein "Kanal erzeugen" mehr...

2. Du schreibst eine LVM-Datei, leider mit einem ExpressVI. Deshalb keine Hilfe von mir, die nutze ich zu selten...

3. Wenn du einen Start-Trigger haben willst, solltest du auch einen auswählen. Momentan hast du aber "Referenz" gewählt...
Moin,

2. du kannst in dem ExpressVI einstellen, ob er die Daten an die Datei anhängen soll oder ne neue Datei erstellen soll... doppelklick auf das Express-VI

(denk dass da der Fehler liegt, ich benutz die auch nicht)

Grüßle
S.
Servus Leute

vielen vielen Dank für eure Antworten. Hat alles Prima funktioniert. Ich habe die Express VI jetzt auch nicht mehr verwendet, sondern eine TDMS Datenerfassung aufgebaut. Funktioniert alles problemlos, schreibt die Daten genauso wie ich sie in dem Task definiert habe in eine TDMS Datei, die ich dann mittels Excel öffnen kann -> Alles Super!

Allerdings habe ich immer noch probleme mit dem Analogtrigger:
Auf meinem 9205 Modul habe ich einen Pin, an dem ich ein Analoges Triggersignal gelegt habe -> Einfache Flanke die auf 10 Volt steigt und dann wieder auf 0V sinkt in einer bestimmen Frequenz. Dieses Signal soll mein Analog Start-trigger sein und den würde ich gerne verwenden. Wenn ich allerdings das Analog-Signal in dem Start-Trigger VI auswählen möchte, habe ich hier keine möglichkeit das zu tun. Als quelle habe ich schon probiert meinen kanal (ai30) auszuwählen -> Ich bekomme einen error Fehler, dass dies kein gültiges Analog -Trigger Signal ist.

Was mache ich hier falsch bzw. gibt es überhaupt die Möglichkeit ein von mir definiertes Signal über mein 9205 Modul abzugreifen und dies als Trigger zu verwenden ?
LG
Hallo bbq,

der Triggereingang nennt sich "PFI0" lt. Manual...
Hey Leute,

also ich habe jetzt nochmal einige Manuals durchgemacht und bin darauf gestoßen, dass der Trigger Kanal die ai0 sein muss. ALso der Aller aller erste Kanal.
Ich hab dort mein Signal über RSE angelegt und mit dem DAQmx gemessen -> Signal wird einwandfrei angezeigt.

Wie schaffe ich es nun, dieses Signal als Trigger Kanal festzulegen und dann einen fertigen Task zu starten ?
Das heißt, er liest den Triggerkanal solange aus, bis ein von mir definierter Wert erreicht ist (z.b. 5V). Wenn dieser Wert erreicht ist, dann startet er mit dem auslesen eines von mir definierten, fertigen Tasks den ich schon vorher im DAQmx fertig definiert habe mit allen Kanälen.
Gibt es hierfür ein Beispiel oder könnt ihr mir da weiterhelfen ?

Ich finde nur Beispiele mit einzelnen physikalischen Kanälen. Und immer wenn ich die ausführe, dann muss ich ein-und denselben Kanal für Trigger und für die Auswertung wählen.

Das einzige, was meinem Wunsch etwas näher kommt ist das von mir angefügte Progamm, welches allerdings einen physikalischen Kanal zum Auswerten benutzt -> es muss aber ein Task sein. Das heißt ich müsste dieses Programm mit dem vorher von mir eingefügten "verheiraten", was allerdings nicht im geringsten funktioniert.

Ich hoffe ihr könnt mir helfen/einen Tipp geben, ich bin hier langsam am verzweifeln weil nichts vorwärts geht Sad

LG
Hallo,

hilft dir das weiter? Ich hab als Triggerquelle den ersten Kanal angegeben, mehrere Kanäle zusammengefasst, die Erfassungsrate runtergesetzt und den zugewiesenen Namen entfernt.
Servus!

Ja es hat mich weitergebracht. Und zwar hatte ich einen Denkfehler bzw. hat mir eine entscheidende Kenntniss über den Trigger gefehlt.

Der Triggerkanal muss im DAQ als virtueller-glober Kanal bestimmt werden. Desweiteren muss dieser Trigger-Kanal dann IMMER an erster Stelle im Task stehen.
Den Namen des Triggerkanals gebe ich dann als Quelle für meinen Analogtrigger an und schon funktioniert alles Smile

Danke für die Hilfe von eurer Seite aus, solche Dinge zu diskutieren und über das ein oder andere nochmal nachdenken bringt meistens was.
Was mich nur wundert, warum finde ich so eine Anleitung, den Trigger virtuell zu setzen, nirgends ? Oder habe ich das einfach übersehen ?

LG
Johannes
Referenz-URLs