LabVIEWForum.de - Aufschlüsseln von Messergebnissen

LabVIEWForum.de

Normale Version: Aufschlüsseln von Messergebnissen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
Servus, ich bin neu hier und habe ein Verständnissproblem. Ich habe eine Messkarte welche simultan 3 analoge Eingangsspannungen misst und weitergibt.
Im Programm selber hat das VI zum Lesen der Daten einen "Waveform" Ausgang, welcher die Informationen 1.) Timestamp 2.) dt und 3. eine Zahl vom Typ DBL enthällt. Momentan habe ich nur ein Signalverlaufsdiagramm angeschlossen und exportiere danach die Messergebnisse in Excel.
Nun ist mir Aufgefallen, dass das Programm im Zusammenhang mit meinem Laptop etwas "träge" ist. Wenn ich eine Samplerate über 3kS/s einstelle, werden die Ergebnisse nicht mehr live sondern gepuffert hinterher geschoben. Nun habe ich mir überlegt, das es möglichweise schneller gehen würde, wenn ich in der While-Schleife kein Diagramm hätte, sondern die Messergebnisse in einem 2D-Array einfach abspeichere.
Und nun kommt die Frage!
Ich habe versucht, den Waveform Datentyp mit der Funktion "Signalverlaufskomponenten ermitteln" zu trennen um 1.) nur an die Messwerte zu kommen und 2.) um die dt Zeit zu bekommen, um mir eine "vernünftige" Zeitachse zu erstellen um später ein Signalverlaufsgraph nutzen zu können. Mit Signalverlaufskomponenten ermitteln bekomme ich eine Fehlermeldung, vermutlich weil ich 3 Kanäle habe und das dann nicht geht?! Wenn ich die Ergebnisse in ein 2D Array lade, bekomme ich zwar alle 3 Messergebnisse, jedoch weder den Zeitstempel noch die dt Zeit. Wie komme ich an die beiden Informationen und wie schreibe ich die Messergebnisse inkl. der errechneten Zeitachse "Prozessorlast-schonend" in ein Array um es später Auswerten und Darstellen zu können?

Hier noch der Miniausschnitt vom Programm in Amhang
Hallo eveen,

herzlich willkommen im Forum!

Zitat:einen "Waveform" Ausgang, welcher die Informationen 1.) Timestamp 2.) dt und 3. eine Zahl vom Typ DBL enthällt.
Deine Waveforms enthalten nur genau ein Sample? Liest du etwa in deinem VI die Messdaten jeweils einzeln (immer nur ein Sample) ein?

Zitat:Wenn ich eine Samplerate über 3kS/s einstelle, werden die Ergebnisse nicht mehr live sondern gepuffert hinterher geschoben.
Dann hast du etwas falsch programmiert! Was genau lässt sich mangels VI nicht sagen… Glas2

Glas1 Du liest die Messdaten zu langsam aus. Glas1
Ist meine Glaskugel korrekt kalibriert? Big Grin

Zitat: Mit Signalverlaufskomponenten ermitteln bekomme ich eine Fehlermeldung, vermutlich weil ich 3 Kanäle habe und das dann nicht geht?!
Ja, korrekt.
GetWaveformComponents erwartet genau eine Waveform und nicht drei…
Es gibt aber eine ganze Palette mit Array-Funktionen! Wink

Zitat:wie schreibe ich die Messergebnisse inkl. der errechneten Zeitachse "Prozessorlast-schonend" in ein Array um es später Auswerten und Darstellen zu können?
Du kannst bei DAQmx die Messdaten schon direkt vom DAQmx-Treiber in eine Messdatei speichern lassen (DAQmxProtokollierung) und bekommst dann ein TDMS-File…

Genereller Hinweis: Wenn du Probleme mit deinem VI hast, dann solltest du dein VI auch mal anhängen! (Ich bevorzuge LV2014, "Dateimenü->Speichern für vorige…".)
Hallo GerdW und danke für deine superschnelle Antwort. Ich würde es super finden, wenn ich blos was falsch programmiert hätte.
Die Messkarte benutzt eigene Bibliotheken, muss ich die mitschicken oder reicht da nur das vi was ich programmiert habe?
Hallo eveen,

Zitat:Die Messkarte benutzt eigene Bibliotheken, muss ich die mitschicken oder reicht da nur das vi was ich programmiert habe?
Wenn es Hardware von NI ist, brauchen wir die Bibliotheken nicht.
Wenn es Hardware von Drittherstellern ist, können wir mit den Bibliotheken nichts anfangen…
Dein VI reicht (erst einmal) aus!
Und warum schreibst du nicht einfach mal, welche Hardware du benutzt?
(Vielleicht hilft der Link dabei! Big Grin)

Zitat:Hier noch der Miniausschnitt vom Programm in Amhang
Da war kein Anhang…
Ich hab zwar ein Anhang geladen aber nicht eingefügt...Blink

Die Hardware ist keine NI-Hardware sondern eine Messkarte (GES 1034-5) von der Firma Goldammer.

Hoffentlich ist dieses Mal das VI im Anhang
Hallo eveen,

und welche Werte verwendest du in deinem VI? Alle Inputs stehen auf Null…
(Man kann Standardwerte für Inputs setzen: Rechtsklick auf das Control -> aktuellen Wert als Standard setzen, danach VI speichern.)

Kannst du doch mal die subVIs mitliefern? VI speichern unter -> inkl. Hierarchie, danach den Ordner zippen…
(Goldammer ist doch recht speziell, ich hatte auf DAQmx oder wenigstens die ULx spekuliert.)
Sodele, ich hab bei Kanalzahl 3st., Abtastrate aktuell auf 3000 und "Values" auf 1 (hoffe das du das meinst).
Im Anhang der Ordner als Zip
(28.04.2017 09:26 )eveen1992 schrieb: [ -> ]Sodele, ich hab bei Kanalzahl 3st., Abtastrate aktuell auf 3000 und "Values" auf 1 (hoffe das du das meinst).
Dann erhöhe diesen Wert mininal auf 300, so dass du mind. für 0,1 Sekunden aufgezeichnete Werte auf einmal ausliest.
Bei 3 kHz kannst du eine Einzelwertabfrage vergessen.

Gruß, Jens
Hallo,

die Goldammer-VIs gehören aber auch verboten!
Da sind ja überall STOP-Funktionen drin… Hmm Wall

Ansonsten: höre auf Jens!
Hallo und Danke für die Antworten. An sich kann ich die Messfrequenz nicht unter 2000Hz setzten da ich später ms aus dem Diagramm ablesen muss. Was für mich auch okay ist, ist wenn ich erstmal gar nichts am Diagramm ausgebe und erstmal alles abspeichere. Sobald das fertig ist, gebe ich das Diagramm erst aus. Ich muss später auch max. 2sek messen. Nun erstmal wieder zurück auf meine Frage: Wie schaffe ich es die 3 Waveforms zu trennen, damit ich das VI "Signalverlaufskomponenten ermitteln" anwenden kann um danach die Messwerte in ein array speichern zu können?
Seiten: 1 2
Referenz-URLs