INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

String in Array speichern für flexible Gruppenbenennung in TDMS Datei



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!

07.12.2019, 20:24
Beitrag #1

hansi_1 Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Dec 2019

2018
2017
DE



String in Array speichern für flexible Gruppenbenennung in TDMS Datei
Hallo zusammen,

das angehängte VI soll folgende Funktionalität erfüllen: Es werden Daten für eine vorgegebene Zeit erfasst und in einem TDMS-File gespeichert. Dabei wird für jedes vorgegebene Druckniveau eine Registerkarte (Gruppe) in dem File erstellt und beschrieben. Anschließend wird die Datei geöffnet und in den einzelnen Registerkarten werden die Spalten ausgelesen, der Mittelwert gebildet und eine Standardunsicherheit berechnet. Ich möchte diese Daten dann aber in ein neues TDMS schreiben und für jedes Druckniveau wieder eine eigene Registerkarte haben wo im Endeffekt nur noch zwei Werte pro Kanal (Spalte) drin sind. Leider habe ich hier das Problem, dass in der 4. Sequenz immer ein Fehler für das neue Auswertungs-File auftritt. Die Fehlermeldung sagt nur, dass es sich um eine ungültige TMDS Datei handelt.

Vermutlich liegt der Fehler in der zweiten Sequenz, wo ich versuche die Stringeingabe „Druckniveau“ in einem Array zu speichern und dann dieses Array nutzen möchte um die For-Schleife (4. Sequenz) durch die Anzahl der Arrayelemente zu steuern und gleichzeitig wieder die Registerkarten mit Namen (Gruppennamen) zu erstellen für das neue File.

Kann mir vielleicht jemand helfen, wie ich das Problem lösen könnte?

Vielen Dank im Voraus
Gruß Hansi

18.0 .vi  Abstroemrohr.vi (Größe: 61,21 KB / Downloads: 218)

18.0 .vi  Standardunsicherheit_Arithmetischer_Mittelwert.vi (Größe: 8,28 KB / Downloads: 231)

18.0 .vi  TDMS_schreiben.vi (Größe: 14,88 KB / Downloads: 234)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
09.12.2019, 09:15
Beitrag #2

Freddy Offline
Oldtimer
****


Beiträge: 729
Registriert seit: Aug 2008

2019, 2020, 2021
1996
DE

76275
Deutschland
RE: String in Array speichern für flexible Gruppenbenennung in TDMS Datei
Hallo Hansi,
in der VI Abstroemrohr.vi wird in der ersten While-Schleife zwei für mich sinnlose Schieberegister eingesetzt.

Der Zähler, der wird zwar fleißig hochgezählt hat aber keine weiter Verwendung.

Ähnlich ist es mit dem String Array Gruppenname. Du änderst ständig den ersten Wert aber es gibt keine Verwendung dafür.

Im hinteren Teil diese VI möchtest Du mit "Gruppenname 2" Daten auslesen, die vorher mit einem Eingabestring (Druckniveau) erstellt wurde.
Woher kennt "Gruppenname 2" die Eintragungen von "Druckniveau"?

Gruß
Freddy

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
09.12.2019, 15:34
Beitrag #3

hansi_1 Offline
LVF-Neueinsteiger


Beiträge: 8
Registriert seit: Dec 2019

2018
2017
DE



RE: String in Array speichern für flexible Gruppenbenennung in TDMS Datei
Hallo Freddy,

der Zähler findet keine weitere Verwendung, absolut richtig. Es wäre nur eine alternative gewesen, die Messvorgänge mitzuzählen. In der Case-Struktur werden ja für eine gewünschte
einzustellende Zeit, aus der kontinuierlichen Messwerterfassung die Daten direkt in ein TDMS eingelesen und gespeichert (z.B. 5 Sekunden). Der Zähler definiert dann die Registerkarten (als Gruppenname).

Ich möchte aber als Gruppenname das "Druckniveau" (und nicht den Zähler) welches ich per Hand eingebe. Da ich spontan entscheiden möchte, bei welchem Druckniveau ich Daten aufzeichne. Deswegen
das Schieberegister "Gruppenname". Und wie du schon richtig gesagt hast, wird immer der erste Wert einfach überschrieben. Ich möchte eigentlich erreichen, dass ich bspw. 100 Pa, 150 Pa,
300 Pa usw. eingebe und diese Stringeingaben in dem Schieberegister gespeichert werden. Somit hätte ich in dem Fall drei Registerkarten (Gruppen) mit dem entsprechenden Messdaten für dieses Druckniveau. Leider funktioniert das nicht. Aber in dem gespeicherten Messdaten-TDMS-File werden glücklicherweise die entsprechenden Registerkarten mit dem Namen erstellt.

Im hinteren Teil soll das TMDS ausgelesen werden, und für jede Registerkarte die entsprechende Berechnung durchgeführt werden. Damit die richtige Registerkarte ausgelesen wird, und
gleich wieder die gleiche Registerkarte in einem neuen Auswertungs-TDMS erstellt wird, möchte ich das zuvor aufgenommene Cluster (Gruppennamen) verwenden. Dieses ist als Type-Def. klassifiziert und sollte auch die eingegebenen Gruppennamen enthalten. Leider funktioniert das nicht, da ja im vorderen Teil das Prinzip mit der Registerkarte nicht klappt.

Hättest du einen Tipp wie ich das besser machen könnte?

Beste Grüße und vielen Dank
Hansi


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
10.12.2019, 09:45
Beitrag #4

Freddy Offline
Oldtimer
****


Beiträge: 729
Registriert seit: Aug 2008

2019, 2020, 2021
1996
DE

76275
Deutschland
RE: String in Array speichern für flexible Gruppenbenennung in TDMS Datei
Hallo Hansi,
das Problem ist das Array Gruppennamen.

Das Array Gruppennamen müsste vorbelegt sein um den ersten Satz zu ändern. ein leeres Array bleibt leer.

Die Bezeichnungen der Druckniveau wird in das Schieberegister geschrieben. Wenn Du es weiterverwenden möchtest muss es einem Array zugewiesen werden.
Wird die While Schleife beendet steht weiterhin das Gleich im Array Gruppennamen und die Information des Schieberegisters geht verloren.
Der Zweite Teil ist nicht mit den Daten des ersten Teils verbunden, der Inhalt des "Gruppenname 2" ist immer gleich.
Wenn Du den Ausgang des Schieberegisters direkt an die For Next Schleife an Stelle des "Gruppenname 2" verbindest, bekommst Du vermutlich eher eine Lösung.

THINK DATAFLOW (Lieblings Antwort von GerdW)Big Grin

Gruß
Freddy

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Messwerte aus UM232H (USB) jede ms in TDMS Datei schreiben BenBaeumker 19 9.825 23.07.2021 10:55
Letzter Beitrag: GerdW
  Maximalwert aus Array speichern Hans96 3 5.044 15.07.2021 14:56
Letzter Beitrag: Hans96
  TDMS in .wav Datei Lexaeus 5 3.969 16.07.2020 15:21
Letzter Beitrag: Lexaeus
  TDMS-Datei mit XML header konvertieren Jarrao 6 6.751 23.03.2020 15:12
Letzter Beitrag: Jarrao
Question MONATSverbrauch aus TAGES-String-Array berechnen Blondchen 1 4.638 19.02.2020 16:21
Letzter Beitrag: GerdW
  TDMS Datei Öffnen modes 8 6.723 26.11.2019 10:08
Letzter Beitrag: th13

Gehe zu: