![]() |
Zeitdifferenz-Test.vi - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Zeitdifferenz-Test.vi (/Thread-Zeitdifferenz-Test-vi) |
Zeitdifferenz-Test.vi - GerdW - 12.05.2010 08:55 Hallo selma, bei den ganzen anderen numerischen Anzeigen? Wie oft wurde hier jetzt schon erwähnt: "ein Timestamp ist auch nur eine Zahl"... Alternativ: Rechtsklick auf den Ausgang der "Get time..."-Funktion, Create->Indicator/Control Zeitdifferenz-Test.vi - BsaiboT - 12.05.2010 12:27 Hallo Selma, da du wirklich auf dem Schlauch zu stehen scheinst und dein Hirn von der Aufgabe völlig blockiert scheint (ja soetwas kommt auch bei den Besten hin und wieder vor), habe ich dir die Lösung mal etwas vorgekaut... ![]() [attachment=26425] ![]() [attachment=26424] Ich hoffe du nimmst die Lösung jetzt nicht einfach dankbar hin, sondern guckst sie dir noch einmal genau an, um zu verstehen, was denn genau passiert. Es ist wirklich nicht kompliziert, wenn sich dein Hirnknoten einmal gelöst hat. Evtl. beschäftigst du dich ersteinmal mit irgendetwas anderem.... Ich habe im Übrigen auch geglaubt nach dem Studium nie wieder programmieren zu müssen. Es war eine Fehleinschätzung. Aber ich bin froh, dass es sich bei mir auf LabVIEW konzentriert und ich nur selten Ausflüge in C/C++ machen muss. Grüße, //Tobias Zeitdifferenz-Test.vi - selma - 12.05.2010 15:16 Danke. Ich hatte es jetzt so gelöst. [attachment=26438] Als nach dem Mittag sich ein Lichtblick ergab. ![]() Es soll ich das Datum und die Zeit auseinander nehmen so das ich die Zahlenreinfolge von 10333-95461-12510 im orginal steht 10:33:39,546 12.05.10. Wie mach ich das???? Zeitdifferenz-Test.vi - BsaiboT - 12.05.2010 15:29 Ich verstehe deine Frage leider nicht... ![]() Ausserdem möchte ich gerne, dass du noch einmal über den Sinn des "Initialisiere Array" in deinem VI nachdenkst und weshalb du erst durch 86400 teilst und dann das Ergebnis gegen 1 prüfst anstatt gleich gegen 86400 zu prüfen wie vorher gezeigt. Ein Lichtblick ist es aber in der Tat, da dein Knoten offensichtlich geplatzt ist und du nun langsam wieder auf den richtigen Weg kommst! Zeitdifferenz-Test.vi - selma - 12.05.2010 15:36 ' schrieb:Ich verstehe deine Frage leider nicht...Ich Teile durch 86400 um auf einen Tag zu komme um, wenn ein Tag abgelaufen ( also großer als 1 soll die LED leuchtet. Das war so mein gedanke. Jetzt soll ich aber das Datum und die Zeit wieder auseinander nehmen und in die Reinfolge bringen wie Oben beschrieben. Zahlenreinfolge von 10333-95461-12510 im orginal steht 10:33:39,546 12.05.10. Zeitdifferenz-Test.vi - jg - 12.05.2010 15:46 ' schrieb:Ich Teile durch 86400 um auf einen Tag zu komme um, wenn ein Tag abgelaufen ( also großer als 1 soll die LED leuchtet.Und wieso muss hierzu zwischendrin ein Array der Größe 1 erstellt werden? ' schrieb:Jetzt soll ich aber das Datum und die Zeit wieder auseinander nehmen und in die Reinfolge bringen wie Oben beschrieben.Könnte es sein, dass dein String eher 10333-95461-20510 lauten soll? Zeitdifferenz-Test.vi - selma - 12.05.2010 15:58 ' schrieb:Könnte es sein, dass dein String eher 10333-95461-20510 lauten soll? Ja Zeitdifferenz-Test.vi - selma - 12.05.2010 16:12 ' schrieb:Und wieso muss hierzu zwischendrin ein Array der Größe 1 erstellt werden?Weil ich es nicht ander oder besser wuste wie ich es hinbekomme. Stimmt habe ich mal geändert und Dimitrie hab ich jetzt auch mal geschnalt ![]() [attachment=26442] [attachment=26443] Zeitdifferenz-Test.vi - jg - 12.05.2010 16:24 Schau mal, was dir dimitri84 als in Beitrag #2 geantwortet hat: http://www.LabVIEWforum.de/index.php?s=&am...ost&p=97513 Aber ich sehe, es geht ja doch! ![]() Zu deiner anderen Frage, hier 2 Vorschläge: [attachment=26444] Gruß, Jens Zeitdifferenz-Test.vi - BsaiboT - 12.05.2010 16:28 Ich verstehe nicht wo in deinem VI die Zahlenfolge "10333-95461-12510" vorkommt.... Jetzt stehe ich auf dem Schlauch. ![]() Aber wenn du einen String bekommst, der zum Einen so unlogisch durch Bindestriche geteilt ist und zum Anderen nur ein Datum enthält, dann würde ich die Quelle des Strings anpassen um den Zeitwert in Sekunden zu bekommen. Diesen kann man dann wunderbar wie Lucki gezeigt hat (und wie ich es in meinem VI auch angewandt habe) anzeigen lassen oder auch mit "Number to Time Stamp" in Kombination mit "Format Date/Time String" in einen String umformen lassen um diesen String dann beispielsweise in ein Protokoll zu schreiben. Ein ungutes Gefühl sagt mir ich sollte noch folgenden Appell an dich richten: BITTE BITTE BITTE(!!!11elfelf) gehe niemals den Umweg erst einen Timestamp in einen Datumsstring umzuformen um diesen dann in einzelne Datumsteile zu zerlegen, wieder umzuwandeln, zu rechnen, umzuwandeln, anzuzeigen usw... usf.... Rechne lieber mit den Sekunden und alles wird einfacher. Versprochen! Zurück zu deinem VI: Aber wir sind uns ja schoneinmal einig, dass zuerst die aktuelle Zeit von der Startzeit subtrahiert wird um die verstrichene Zeit in Sekunden zu bekommen. Weshalb packst du dieses Ergebnis (a) in ein Array (b)? Weshalb teilst du dann die Elemente des Arrays (b) durch 86400, vergleichst dann das Ergebnisarray © mit 1 und fasst das boolsche Ergebnisarray (d) wiederum zusammen zu einem Ergebnis (e)? Du könntest doch auch direkt Ergebnis (a) mit 86400 vergleichen und bekommst damit dein boolsches Ergebnis (e). Sprich du hast mind. 3 Schritte weniger gemacht. (-> siehe mein VI) Edit: Ich sehe, du hast es dir nocheinmal genau angeschaut und verstanden! ![]() ![]() Grüße, Tobias |