LabVIEWForum.de
Zeit und Datum in gespeicherter Datei - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA)
+---- Thema: Zeit und Datum in gespeicherter Datei (/Thread-Zeit-und-Datum-in-gespeicherter-Datei)



Zeit und Datum in gespeicherter Datei - ChipsMips - 27.08.2019 12:29

Hallo Zusammen,

ich bin neu hier und weiß nicht 100%ig ob ich es an der richtigen Stelle frage, tut mir leid falls nicht.. Smile Habe Labview 2014

Ich habe einige Druck und Temperatur Sensoren über die DAQ Assistenten einfügen können, hier funktioniert alles soweit. Einen Sensor habe ich über die Visa Funktionen einfügen müssen und wenn ich die Datei speicher wird aber nur teilweise das richtige Datum angezeigt. Bild "Speicherdaten" ist beigefügt (rechte Spalte ist der einzelne Sensor). Was mache ich falsch bzw. hat jemand eine Idee wie ich das ändern kann?

in dem Diagramm im Frontpanel sieht man ebenfalls das falsche Datum. Bekomme es einfach nicht auf die Systemzeit..

Habe schon einiges mit der "Datum/Zeit in Sekunden ermitteln" Funktion versucht und auch versucht bei der Visa Schnittstelle etwas zu verändern. Hat leider alles nicht funktioniert..

Leider hat tagelanges googeln und ausprobieren nicht gefruchtet Sad

Benötigt ihr da mehr Infos zu?


Liebe Grüße
Sammy


RE: Zeit und Datum in gespeicherter Datei - GerdW - 27.08.2019 13:31

Hallo Sammy,

herzlich willkommen im Forum!

Zitat:Einen Sensor habe ich über die Visa Funktionen einfügen müssen und wenn ich die Datei speicher wird aber nur teilweise das richtige Datum angezeigt.
So passiert das ziemlich oft…

Zitat:Was mache ich falsch
Du verwendest zu viele ExpressVIs und DDT-Drähte!

Zitat:hat jemand eine Idee wie ich das ändern kann?
Verzichte auf ExpressVIs und DDT-Drähte!

Nach diesen pragmatischen Aussagen etwas Hintergrund:
DDT-Drähte transportieren Waveforms, die Zeitinformationen enthalten: t0 und dt.
Dein VISA-Sensor liefert nur reine Samples - ohne Zeitinformationen. Und diese Samples wandelst du in ein DDT/Waveform um: LabVIEW zaubert da keine Zeitinformationen hinzu, sondern nimmt eben "Null" als t0. Und das ergibt eben den 1.1.1904…

Deshalb nochmal die Empfehlung: verzichte auf DDT/ExpressVIs und programmiere "richtig"!

Zum VI:
Es ist sehr unschön, wenn man die Labels von Controls/Indicators im Blockdiagramm ausblendet. Man will doch wissen, mit welchen Daten man da hantiert!
Es gibt eine CompoundArithmetic, da muss man nicht 5 OR-Funktionen stapeln…
Der COM-Port wird andauernd geöffnet und initialisiert, aber nirgends geschlossen: sehr unsaubere Programmierung!
BytesAtPort ist zu 99.99% der Fälle falsch verwendet, so auch bei dir! Lese einfach 999 Bytes vom Port…
Musst du wirklich einfach den gelesenen String in ein U8-Array umwandeln???


RE: Zeit und Datum in gespeicherter Datei - ChipsMips - 27.08.2019 14:00

Halle Gerd,

lieben Dank erstmal für deine schnelle Antwort.. Entschuldige die schlechte Programmierung, hab vor ca. 3 Wochen mit LabView angefangen und vorher nie wirklich programmiert. Leider muss ich das aber im Praktikum fürs Studium machen. Ich arbeite mich da noch ziemlich rein..

Genau das hatte ich dann im Internet raus gefunden, dass der Sensor nur Samples ohne die Zeitinformationen liefert und habe dann alles mögliche probiert die Zeitinfos irgendwie zu integrieren, leider ohne Erfolg.. gibt es da vielleicht eine Möglichkeit das irgendwie einzufügen auch wenn ich die Express VI's benutze? Wüsste nicht wie ich es ohne Express VI's in der kurzen Zeit schreiben könnte Sad

CompundArithmetic check Smile danke

Den COM-Port schaue ich mir nochmal an um ihn zu schließen, probiere ich aus danke.

Wenn ich 999 als Konstante einfüge bekomme ich die Fehlermeldung 1073807339 bei der Funktion VISA:Lesen. Oder wie meinst du einfach 999 Bytes lesen? Smile

Wie kann ich es einfacher oder passender umwandeln um es an das "Messwerte in Datei schreiben" VI anzuschließen?


Sorry und viele Grüße

Sammy


RE: Zeit und Datum in gespeicherter Datei - GerdW - 27.08.2019 14:31

Hallo Sammy,

Zitat:Leider muss ich das aber im Praktikum fürs Studium machen.
Wieso "leider"? Es ist immer schön, wenn man mit LabVIEW umgehen kann! Smile

Zitat:Ich arbeite mich da noch ziemlich rein..
Schau mal in die Links in meiner Signatur…

Zitat:habe dann alles mögliche probiert die Zeitinfos irgendwie zu integrieren, leider ohne Erfolg.
"Alles mögliche" war es wohl dann nicht…

Zitat:gibt es da vielleicht eine Möglichkeit das irgendwie einzufügen auch wenn ich die Express VI's benutze?
Bau dir eine Waveform:
[attachment=60327]

Zitat:Wüsste nicht wie ich es ohne Express VI's in der kurzen Zeit schreiben könnte
Vielleicht mit Hilfe der ganzen Beispiel-VIs, die LabVIEW im Beispielfinder mitbringt?
Auch (und gerade) DAQmx ist sehr einfach…


RE: Zeit und Datum in gespeicherter Datei - ChipsMips - 27.08.2019 14:38

Hey Gerd,

stimmt eigentlich, ich finde LabView macht auch eine Menge Spaß Smile

Perfekt danke dir, ich probiere das nachher gleich mal aus.


Liebe Grüße

Sammy


RE: Zeit und Datum in gespeicherter Datei - ChipsMips - 30.08.2019 09:56

Hallo Gerd,

hab das jetzt alles soweit geändert, leider funktioniert das noch nicht so ganz, auch mit etwas ausprobieren leider nicht. VI anbei..

Wenn ich die Bytes mit einer Konstanten initialisiere dann funktioniert das ganze Programm nicht mehr, ich weiß nicht woran es liegt.. bisher funktioniert es nur mit dem Eigenschaftsknoten.. Sad

Leider speichert das Programm die Daten so wie im Bild "zu schnell" gezeigt. Habe die Messung ca. 3-4 Sekunden laufen lassen aber er zeigt fast eine Minute an.. Woran könnte das liegen, hast du da eine Idee? Vielleicht an der Abtastrate oder so? Bei den DAQ Modulen kann ich es einfach in den Einstellungen ändern, ich finde allerdings keine Möglichkeit dies auch bei den Visa Schnittstellen zu machen..

Und gibt es eventuell eine Möglichkeit, dass Zeit und Datum im Graphen dann richtig angezeigt werden? Hatte den Graph zwischen "In dynamische Daten konvertieren" und "Signale zusammenfassen" angeschlossen.. Bei den DAQ Modulen läuft das schon automatisch richtig Hmm


Viele Grüße
Sammy


RE: Zeit und Datum in gespeicherter Datei - GerdW - 30.08.2019 10:00

Hallo Sammy,



Zitat:Woran könnte das liegen, hast du da eine Idee? Vielleicht an der Abtastrate oder so?
Ja, genau. Du gibst beim dt der Waveform doch "1" vor…

Zitat:Leider speichert das Programm die Daten so wie im Bild "zu schnell" gezeigt. Habe die Messung ca. 3-4 Sekunden laufen lassen aber er zeigt fast eine Minute an..
Weil sich die Zeit aus t0+i*dt berechnet, mit i=Sampleindex…

Zitat:Hatte den Graph zwischen "In dynamische Daten konvertieren" und "Signale zusammenfassen" angeschlossen..
Schon wieder ExpressVIs - die helfen ganz selten bei Problemlösungen…

Zum VI:
BytesAtPort sollte nicht verwendet werden. Schon gar nicht, wenn du das TermChar explizit aktivierst!


RE: Zeit und Datum in gespeicherter Datei - ChipsMips - 30.08.2019 10:31

Hey Gerd,

danke nochmals für deine schnellen Antworten Smile


Zitat:
"Ja, genau. Du gibst beim dt der Waveform doch "1" vor…"

Genau, das wäre dann ja pro 1 Sekunde ein Messwert.. Wo könnte ich den Samleindex einstellen?


Zitat:
"Schon wieder ExpressVIs - die helfen ganz selten bei Problemlösungen…"

Meinst du das "Messwerte in Datei schreiben" VI? Smile Hat das Einfluss auf den Graphen "WearSens"?


Zitat:
"BytesAtPort sollte nicht verwendet werden. Schon gar nicht, wenn du das TermChar explizit aktivierst!"

Hast du eine Idee wie ich das dann lösen könnte? Es funktioniert wirklich mit keiner Konstante habe schon sehr viele ausprobiert.. Sad


Liebe Grüße
Sammy


RE: Zeit und Datum in gespeicherter Datei - GerdW - 30.08.2019 10:42

Hallo Sammy,

Zitat:Genau, das wäre dann ja pro 1 Sekunde ein Messwert.. Wo könnte ich den Samleindex einstellen?
Diese "1 Sekunde" war nur ein Beispielwert von mir - der trifft aber auf deine Messdaten überhaupt nicht zu!
Und der Sampleindex wird nicht eingestellt, der ergibt sich einfach aus dem Index des Elements/Sample im Array.

Das Grundproblem bei dir ist: du fügst verschiedene Signale zusammen, die aber unterschiedliche Anzahl Samples aufweisen. Jetzt musst du definieren, wie das hinterher in der Messdatei aussehen soll…

Zitat:Meinst du das "Messwerte in Datei schreiben" VI?
Nein, ich bezog mich auf "To DDT" und "Merge Signals"…

Zitat:Hast du eine Idee wie ich das dann lösen könnte? Es funktioniert wirklich mit keiner Konstante habe schon sehr viele ausprobiert..
Wie sieht die Botschaft aus, die du dort empfängst?
Hast du ein TermChar? (Das hast du ja auf TRUE gesetzt.) Wenn ja: welches?
Wie lang ist die Botschaft? Immer die gleiche Zeichenanzahl?

Im Allgemeinen gilt:
Wenn TermChar aktiviert und korrekt benutzt: einfach mehr Zeichen abfragen, als die Botschaft enthält.
Wenn kein TermChar vorhanden: genau die Anzahl Zeichen abfragen, die die Botschaft enthält. Dann aber auch das TermChar deaktivieren…

***EDIT***
Nachtrag: das Problem ist wahrscheinlich "nur", dass du die per COM-Port empfangene Botschaft falsch behandelst!
Beispiel: du empfängst die Botschaft mit den Dezimalwerten (lt. deinem Bild)
Code:
107 49 57 54 54 49 46 49 55 54 56 50 50 10
Das ist in Hex-Schreibweise
Code:
6B 31 39 35 35 31 2E 31 36 35 37 32 32 0A
Und jetzt der Trick: alles mit ASCII umgewandelt:
Code:
k19551.165722 (mit LineFeed hintendran)


Wahrscheinlich willst du diesen Zahlenwert haben: ScanFromString mit passendem Formatstring verwenden!!!
Und schon hast du nicht etwa eine Botschaft mit 14 Byte, sondern eben nur einen Zahlenwert…
Und beim VISARead solltest du das TermChar aktiviert lassen (es wird der Standard "LF" verwendet) und eben 20 Bytes abfragen!


RE: Zeit und Datum in gespeicherter Datei - ChipsMips - 12.09.2019 13:12

Danke für deine Hilfe