21.09.2009, 20:45
Beitrag #1
|
NoD
LVF-Gelegenheitsschreiber
Beiträge: 70
Registriert seit: Apr 2008
8.5
2007
de
87654
Deutschland
|
TDMS Richtig programmieren
Hallo Jungs,
ich würde gerne Daten (also mehrere Kanale) mittels TDMS speichern.
ich möchte dabei bewusst eine forschleife verwenden und nicht immer einzeln (für jeden kanal) einen signalverlauf erstellen.
ich übertrage die daten mittels array und von der master in die slave schleife in der sie anschließend gespeichert werden sollen.
Wie geh ich dann vor, wenn ich die daten in der slave schleife hab und diese mit der forschleife in ein file schreiben will???
danke an euch.
|
|
|
22.09.2009, 18:46
Beitrag #2
|
|
|
22.09.2009, 18:53
Beitrag #3
|
NoD
LVF-Gelegenheitsschreiber
Beiträge: 70
Registriert seit: Apr 2008
8.5
2007
de
87654
Deutschland
|
TDMS Richtig programmieren
Nein, so klappts irgendwie nicht richtig. es werden kanäle und daten dazu in folgender reihenfolge abgespeichert:
1. Kanal : Zufallszahlen bis 1
2. Kanal : 0 (also nix)
3. Kanal : Zufallszahlen bis 100
wo ist dann mein 10 er Kanal plötzlich hin?
ja und wie könnte man das anders/besser machen?
Dank dir!
|
|
|
22.09.2009, 19:03
(Dieser Beitrag wurde zuletzt bearbeitet: 22.09.2009 19:04 von NoD.)
Beitrag #4
|
NoD
LVF-Gelegenheitsschreiber
Beiträge: 70
Registriert seit: Apr 2008
8.5
2007
de
87654
Deutschland
|
TDMS Richtig programmieren
Ich hab mir mal das übertragene array anzeigen lassen (siehe Bild)
und.... dann geht der File input auf einmal!
Kann das sein dass das ein BUG ist?
wie kann das sein!??!?!!?
|
|
|
22.09.2009, 19:42
Beitrag #5
|
schrotti
LVF-Freak
Beiträge: 842
Registriert seit: Feb 2008
2009 - 2011
2006
kA
70180
Deutschland
|
TDMS Richtig programmieren
Hm, lässt sich bestimmt nicht reproduzieren.
Du könntest das Array mit der Funktion "Array umformen" umformen, wodurch sich die Anzahl der Kanäle auch zur Laufzeit ändern ließe.
Ich weiß jetzt natürlich nicht, ob es nur im Beispiel so ist, aber nur einen Wert pro Kanal zu schreiben ist nicht sehr elegant. Es wäre auch besser, alle Kanäle auf einmal zu schreiben.
|
|
|
22.09.2009, 20:01
Beitrag #6
|
NoD
LVF-Gelegenheitsschreiber
Beiträge: 70
Registriert seit: Apr 2008
8.5
2007
de
87654
Deutschland
|
TDMS Richtig programmieren
Stimmt...das gleichzeitig schreiben aller kanäle klinkt sinnvoll...
nur wie würdest du das programmatisch machen? auch im hinblick darauf, dass man nicht
ewig viele signalverlauf erstellen benötigt?!??!
|
|
|
22.09.2009, 20:21
Beitrag #7
|
IchSelbst
LVF-Guru
Beiträge: 3.689
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
TDMS Richtig programmieren
' schrieb:Stimmt...das gleichzeitig schreiben aller kanäle klinkt sinnvoll...
nur wie würdest du das programmatisch machen?
Einfach die For-Schleife weglassen.
Wenn am Eingang für die Kanalnamen ein 1DArray anliegt (aus "Kanal1", "Kanal2" ...) muss am Dateneingang ein 2D-Array anliegen. Dann werden in der TDMS-Datei drei Kanäle erstellt die jeweils ein 1D-Array haben.
Kannst du den Sourcecode nicht mal als VI hier posten?
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
22.09.2009, 20:22
Beitrag #8
|
|
|
22.09.2009, 20:28
Beitrag #9
|
NoD
LVF-Gelegenheitsschreiber
Beiträge: 70
Registriert seit: Apr 2008
8.5
2007
de
87654
Deutschland
|
TDMS Richtig programmieren
also so?!?!?!?
was hält ihr davon?
|
|
|
22.09.2009, 20:34
|
NoD
LVF-Gelegenheitsschreiber
Beiträge: 70
Registriert seit: Apr 2008
8.5
2007
de
87654
Deutschland
|
TDMS Richtig programmieren
' schrieb:Wenn die Daten nicht als Waveform vorliegen wäre es sinnvoll, erst für jeden Kanal ein Array zu erstellen um anschließend, wenn es ans Speichern geht, dieses Array in ein Waveform zu packen. Aus den Waveforms ein 1D Array bauen und dass dann schreiben. Die Frage ist auch, ob Waveforms überhaupt gefordert sind.
Das problem ist nur, dass das daten streaming erst mit knopfdruck beginnen soll und auch enden!
|
|
|
| |