LabVIEWForum.de - Messdaten benennen, Messdaten schreiben verzögern

LabVIEWForum.de

Normale Version: Messdaten benennen, Messdaten schreiben verzögern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen!

Ich bin neu hier im Forum, ein absoluter Laie in Labview und verzweifle leider oft an vermeintlich einfachen Problemen. Ich habe bereits viel im Forum nachgelesen aber finde selten Lösungen, die auf meine Probleme zutreffen oder ich bin einfach nur nicht in der Lage diese korrekt anzuwenden.. Würde mich auch nicht wundern wenn ein Teil meiner VI absoluter Käse ist. Undecided


Folgendes benötige ich für meine Thesis: Ich möchte über Labview Temperaturen messen, sowie über einen PID-Regler ein Labornetzteil ansteuern, welches wiederum einen Heizer versorgt. Die Temperaturen und den Verbrauch der Heizer, sowie den Zeitpunkt der Erfassung als Zeitstempel von 00:00:00 aufsteigend usw. möchte ich in ein Excel-Dokument speichern.

Ich habe Folgende Fragen/Probleme:
1. Die Beschriftung und Daten der Temperaturmessung bekomme ich bereits in Excel übertragen. Bei den anderen Daten bekomme ich keine Überschrift in die erste Zeile. Wie kann ich hier eine Überschrift/Benennung einfügen?

2. Nach einer längeren Messung Fängt alles an sich zu verzögern was sich natürlich negativ auf die Regelung usw. auswirkt. Ich gehe stark davon aus, das dies mit dem Schreiben der Messwerte zusammenhängt und Falls sinnvoll und möglich würde ich gerne die kompletten Messdaten erst nach Ende der Messung oder nach X Messungen in Excel übertragen, um so ggf. Ressourcen zu sparen.

Ich arbeite derzeit mit Labview Version 18.0.1



Liebe Grüße
Bobble
Hallo Bobble,

herzlich willkommen im Forum!

Zitat:1. Die Beschriftung und Daten der Temperaturmessung bekomme ich bereits in Excel übertragen. Bei den anderen Daten bekomme ich keine Überschrift in die erste Zeile. Wie kann ich hier eine Überschrift/Benennung einfügen?

2. Nach einer längeren Messung Fängt alles an sich zu verzögern was sich natürlich negativ auf die Regelung usw. auswirkt. Ich gehe stark davon aus, das dies mit dem Schreiben der Messwerte zusammenhängt und Falls sinnvoll und möglich würde ich gerne die kompletten Messdaten erst nach Ende der Messung oder nach X Messungen in Excel übertragen, um so ggf. Ressourcen zu sparen.
Erstmal zu 2:
Ja, insbesondere das Schreiben der Messdaten in ein XLSX macht diese Probleme. Hier solltest du eine andere Methode der Messdaten-Speicherung verwenden.
Vorschläge:
- TDMS-Dateien
- simple CSV-Dateien (aka Text!)
- Verzicht auf ExpressVI: Datei vor der Hauptschleife anlegen und öffnen, in der Schleife immer nur reinschreiben, nach der Schleife Datei schließen.

Zu 1:
Das liegt an der Verwendung von ExpressVIs und DDT-Drähten. Verzichte auf beides…
Vorschlag:
- CSV-Datei: einfach einmalig einen Header schreiben (vor der Schleife), danach in der Schleife immer nur die Messdaten…
- TDMS-Datei: mit Waveforms arbeiten und da einen Namen hinterlegen…

Zu deinem VI:
- Die FOR-Loop mit einer Iteration ist Nonsense. Einfach weglöschen!
- Verwende lieber DAQmx-Funktionen wie in allen BeispielVIs dazu. (Siehe Link in meiner Signatur.) Der DAQAssi ist langsam und nicht unbedingt dauerlauf-geeignet…
- Das Umrechnen von EGU<->Prozent bei den PID-Funktionen kann man sich meist sparen, man muss nur die PID-Gains an die Mess-/Stellgröße anpassen…
- Die PID-Funktion bringt schon eine Begrenzung der Stellgröße mit, da braucht man hinterher nicht noch extra ein InRangeAndCoerce…
- Es gibt die CompoundArithmetic, damit kannst du z.B. dein x^2/R*Heizer in eine Funktion zusammenfassen…
- Das WaitForMultiple gibt dir den gleichen ms-Wert aus wie GetTime, also kannst du statt GetTime einfach mehr Draht verwenden…

Einige Anpassungen:
[attachment=62841]
(Du solltest die CSV-/Textdatei besser nur einmal vor der Schleife öffnen und dann mit der FileReferenz arbeiten…)
Hallo GerdW und danke, dass du so schnell geantwortet hast!

Ich habe nun ewig versucht es so hinzubekommen wie du es beschrieben hast (habe leider auch nur die hälfte verstanden, da für mich gewisse zwischenschritte usw. nicht geläufig sind). allerdings bekomme ich nicht einmal das so gebacken und das obwohl es so simpel klingt und vllt. auch ist mit dem Datei öffnen -> schreiben -> schließen Confused

Meinst du, dass die Verzögerungen behoben werden können, wenn ich nach X Messungen in eine neue Datei schreibe? Oder hängt dies nicht mit der Anzahl an Messungen zusammen?
Die Kopfzeile der Messwerte, also die Beschriftungen, könnte man ja auch im Nachgang eintragen mit einem kleinen Makro/Programm welches in allen Excel-Dateien in einem Ordner eine vorgegebene Kopfzeile einfügt?


Falls du oder jemand anderes einen detaillierten Lösungsweg, der nicht so "alternativ" wie meiner sein sollte hat.. ich wäre sehr dankbar Guru2
Hallo Bobble,

Beispiel:
[attachment=62843]
Datei vor der Schleife erzeugen, Header reinschreiben, in der Loop die Messdaten schreiben, nach der Loop Datei schließen…

Zitat:Meinst du, dass die Verzögerungen behoben werden können, wenn ich nach X Messungen in eine neue Datei schreibe?
Nein.

Zitat:Oder hängt dies nicht mit der Anzahl an Messungen zusammen?
Nicht direkt, sondern eher mit der Dateigröße deiner Excel-Datei…
Hi GerdW,

vielen Dank für dein Beispiel! Ich habe zwar etwas gebraucht aber jetzt passt es einigermaßen. Smile

Der Header wird nun in die erste Zeile geschrieben und die Messdaten darunter. Muss man nun immer in Excel die Daten manuell über "Text in Spalten" auf einzelne Spalten trennen oder ist dies anders möglich?
Hallo Bobble,

Zitat:Muss man nun immer in Excel die Daten manuell über "Text in Spalten" auf einzelne Spalten trennen oder ist dies anders möglich?
Probiere doch mal ein anderes Trennzeichen anstelle des default "Tab"!
Ein deutsches Excel bevorzugt üblicherweise ein Semikolon bei CSV-Dateien…
(28.10.2024 11:04 )Bobble schrieb: [ -> ]Muss man nun immer in Excel die Daten manuell über "Text in Spalten" auf einzelne Spalten trennen oder ist dies anders möglich?

Excel ist da etwas sehr eigenwillig.
Wenn du anstatt der Dateieendung .csv die Dateiendung .tsv verwendest, dann könnte es auch mit dem Tab als Spaltentrennung funktionieren.
(Sollte es funktionieren, dann heist das nicht, dass es nach dem nächsten Excel Update immer noch so funktioniert).
Referenz-URLs