Hallo zusammen,
ich wollte fragen wie man in einer Messwerttabelle Datum u. Zeit in einer Spalte neben anderen Messwerten anzeigen kann.
z.B: 17.04.2010 13:47:01 3,15
In LabVIEW ist gibt es das Format "Tabelle". Es ist eine Art 2D-Array mit Strings als Elementen. Gegenüber dem reinen 2D-Array sind neben anderem zusätzlichem Schnickschnack haubtsächlich die Editiermöglichkeiten verbessert. Damit geht es - die Frage ist nur, ob Du das meintest.
[
attachment=25780]
und wie genau kann ich dieses format verwenden, wenn ich den baustein "tabellenstring in array" verwende?
Hi kappi,
genau so wie es Lucki gezeigt hat...
Ist deine Frage eher darauf gerichtet, wie man einen Timestamp in einen String umwandelt?
Dann lies dir die Hilfe zu FormatIntoString durch, da findest du genauere Angaben zu diesem Formatstring: "%<%d.%m.%y %H:%M:%S>T"
am besten ich zeige euch, was ich gemacht habe.
die messwerte habe ich so, ich brauche zusätzlich die aktuelle Zeit in einer Spalte davor.
wie soll ich das am besten machen?
Hallo kappi,
uh-oh...
Warum:
- wandelst du erst alle Zahlen in Strings um?
- verwendest du nicht ein (!) FormatIntoString statt vieler einzelner ConvertString Funktionen, gefolgt von einem ConcatString?
- wandelst du den so gewonnenen String wieder in ein DBL-Array um?
(Bis hierhin kann man alles mit einem oder zwei "BuildArray" erledigen...)
- hast du da ein SignalBundle mit genau einem Signal so kurz vor dem ExpressVI drin?
- verwendest du das ExpressVI?
Eine Tabelle ist doch nur ein 2D-Array von Strings. Also einfach deine Zahlen in Strings umwandeln und die gewünschte Spalte mit in Strings umgewandelten Timestamps (s.o.) als erste Spalte einfügen... Bzw. da deine Werte ja zeilenweise ankommen: den Time-String als ersten Wert vor die anderen Werte hängen.
so, ich habs jz so probiert wie du gesagt hast, nur wie kann ich dann den String in der Tabelle anzeigen?
Hallo kappi,
bei besserem Einsatz von Formatstrings würde sich dein Problem leichter lösen lassen. Wenn du dein VI statt eines Bildes angehangen hättest übrigens auch...
Siehe Bild:
[
attachment=25799]
Entweder du verwendest bei StringToArray das korrekte Trennzeichen (wie gezeigt) oder du gibst einen besseren Formatstring für FormatIntoString an!
Edit:
Da du ja noch LV7.0 verwendest, habe ich die ursprüngliche FeedbackNode gegen ein handelsübliches Shiftregister ausgetauscht sowie nur LV7.0-kompatible Funktionen eingesetzt...
Ich hab es jz geschafft, dass Datum Zeit und alle Messwerte jeweils in einer Spalte sind.
Es wird jedoch jedes mal die erste Zeile überschrieben, anstatt dann in der nächsten Zeile fortzufahren.
Wie kann ich dieses Problem lösen?
Hallo kappi,
da du jedesmal eine komplett neue Tabelle erzeugst, wird (natürlich) die erste Zeile überschrieben.
Du müsstest die neuen Zeilen an die vorhandenen anhängen, das geht am einfachsten mit einem ShiftRegister und einer BuildArray-Funktion... Außerdem würde es dann ausreichen, ein 1D-Array aus deinem String zu erzeugen!