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!
ich bin absolute LabViewAnfängerin und mir wurde für meine Bachelorarbeit ein Programm vorgesetzt, mit der zum Einen die Messwerte von zwei Pt100 (oberer Teil im Bild) und zum Anderen das Signal einer Trübungssonde (unterer Teil im Bild) aufgenommen werden. Das ganze wird auch jeweils in einem Diagramm während der Laufzeit kontinuierlich aufgetragen und wenn ich es stoppe, kann ich die bis zum Zeitpunkt des Stoppens aufgenommenen Daten in einer Textdatei speichern.
Ich hänge das BlockDiagramm mal hintenan. Leider nur als Bild, aber auf meinem Rechner daheim, hab ich LabView leider nicht.
Jetzt zu meinem Problem: In den Diagrammen werden jeweils die Messwerte über der Zeit aufgetragen. Ich möchte jetzt gerne, dass letztendlich in meiner Textdatei auch die Zeit gespeichert wird. Im Moment sieht diese so aus: 1. Spalte: Messwert von einem Pt100 2. Spalte Messwert vom zweiten Pt100 3. Spalte Messwert Trübungssonde.
An welcher Stelle in meinem Programm sag ich denn, dass er genau diese drei Sachen in der Textdatei speichern soll und wie kann ich dann dort eine Zeitmessung hinzufügen???? Ist das nur ein kleines Element das ich einfügen muss oder muss auch die gesamte Programmstruktur dafür verändert werden?
Ihr merkt schon, soviel habe ich noch nicht verstanden. Ich wäre wirklich dankbar, wenn mir jemand helfen könnte.
RE: Zeitaufnahme parallel zu erfassten Messwerten?
Hallo MrsBruck,
Zitat:An welcher Stelle in meinem Programm sag ich denn, dass er genau diese drei Sachen in der Textdatei speichern soll
Das ist weiter rechts auf deinem VI-Ausschnitt, leider hast du dort abgeschnitten...
Zitat:und wie kann ich dann dort eine Zeitmessung hinzufügen????
Ich würde die Zeit schon vorher hinzufügen, nämlich dort, wo die Messwerte in ein Array zusammengepackt werden...
Zitat:Ist das nur ein kleines Element das ich einfügen muss oder muss auch die gesamte Programmstruktur dafür verändert werden?
Das ist nur ein kleines Element, du willst ja einfach nur eine vierte Spalte hinzufügen...
Allgemeine Kritik:
Dein VI zeigt typische Anfängerfehler - ob nun du oder jemand anders die verbrochen hat, ist unwichtig. Allzu schnell willst du anscheinend nicht messen...
RE: Zeitaufnahme parallel zu erfassten Messwerten?
Hallihallo,
vielen Dank schon mal für die Antwort.
Ich habe jetzt noch ein zweites Bild aufgenommen für den wohl wichtigen Teil. (LabViewBlockdiagramm2). Verstehe ich das richtig, das LabView Werte (das sind double oder?) aus dem Speicherarray nimmt, diese in strings umwandelt und dann in eine Textdatei speichert?
Die Werte in dem Speicherarray kommen noch aus dem ersten Teil oder? Ich habe ein weiteres Ausschnittsbild gemacht (LabViewBlockdiagramm3). Für diesen wurden vorher die Werte aus dem Temperaturkasten und dem Trübungskasten zusammengefasst richtig? Das passiert konkret in dem Kasten links unter output array oder?
So, wo muss ich jetzt eine Zeitmessung hinzufügen und wie hänge ich die an diesen Speicherarray? Ich habe gerade mal nach irgendwelchen Zeitmessungen gesucht und habe RT Timing/Tick Count gefunden…. Kann ich diese verwenden? Ist das sinnvoll? Setze ich diese eventuell ganz an den Anfang meines Programms, dort wo im Moment eine 0 in nem blauen Kasten steht? Wo genau muss ich was ändern, damit LabView mir die Zeit auch in der Textdatei ausgibt?
Schönen Tag!
RE: Zeitaufnahme parallel zu erfassten Messwerten?
P.S.: Nein ich muss nicht sehr schnell messen. Es geht mir nur darum zu erfahren, wann, also nach wievielen Sekunden (genauer brauche ich es nicht!), mein Trübungsvorgang einsetzt. Mein Wunsch wäre es die Trübung zu einer bestimmten Zeit in meiner Tabelle stehen zu haben. im Internet finde ich leider bis jetzt nur Beispiele für Taktungen.....
RE: Zeitaufnahme parallel zu erfassten Messwerten?
Ich bin mittlerweile auch schon bei der Funktion "Functions/Programming/Timing/Elapsed Time gelandet? Ist das der Schlüssel zum Erfolg?
Was mir auch noch nicht so ganz in den Kopf will: Wenn ich das Programm laufen lasse, bekomme ich ja in meiner Grafik die Werte über Zeit aufgetragen. Sprich, irgendwo zählt das Programm ja offensichtlich die Zeit schon mit oder seh ich das falsch? Diese Zeit möchte ich einfach nur haben.....
18.06.2012, 10:47 (Dieser Beitrag wurde zuletzt bearbeitet: 18.06.2012 10:48 von GerdW.)
RE: Zeitaufnahme parallel zu erfassten Messwerten?
Hallo MrsBruck,
Zitat:bekomme ich ja in meiner Grafik die Werte über Zeit aufgetragen.
Nein, du bekommst die Werte über ihren Messindex aufgetragen. Du verwendest einfache Charts (laut Namen und Symbol)...
Zitat:Für diesen wurden vorher die Werte aus dem Temperaturkasten und dem Trübungskasten zusammengefasst richtig? Das passiert konkret in dem Kasten links unter output array oder?
Ja, das passiert dort...
Viel einfacher wäre:
- du hängst mal das VI selbst an (dann könnte man gleich die gröbsten Fehler beseitigen, das mag man ja gar nicht anschauen)
- du öffnest die Kontexthilfe und verwendest die Namen, die dort für die Funktionen verwendet werden. Dann muss man nicht von "Kästen" sprechen...
- Ich würde ja einfach GetDateTimeInSeconds verwenden...
RE: Zeitaufnahme parallel zu erfassten Messwerten?
Entschuldige für das Programm, aber derjenige, der das zusammengestückelt hat, beschäftigt sich auch noch nicht sehr lange mit LabView. Ich bin sehr froh, dass ich überhaupt das habe.
Unten hängt das gesamte VI dran.
Hm das mit der Grafik ist komisch, weil in dem Diagramm steht an der x Achse "Time" und wenn ich es laufen lasse, läuft da genau auch die Zeit.
Das Formula Node in dem eine Formel für die Trübung steht, ist von uns nur beispielhaft eingefügt worden, falls dich das irgendwie stört.
Vielen Dank schon mal für deine Antwort
18.06.2012, 13:06 (Dieser Beitrag wurde zuletzt bearbeitet: 18.06.2012 13:07 von GerdW.)
RE: Zeitaufnahme parallel zu erfassten Messwerten?
Hallo MrsBruck,
Zitat:Hm das mit der Grafik ist komisch, weil in dem Diagramm steht an der x Achse "Time" und wenn ich es laufen lasse, läuft da genau auch die Zeit.
Nur, weil ich an die Achse (standardmäßig) "Zeit" ranschreibe, hat das nicht zu bedeuten, dass die gezeigten Werte irgendwas mit einer Zeit zu tun haben... Ein Chart zeigt einfach die vorhandenen Werte an, ohne auf der X-Achse irgendwas zu korrelieren - da steht nur der Index des angezeigten Werts.
Siehe VI anbei. Ich habe die Arrays hoffentlich richtig angeschlossen...
Ihr müsst noch den Header-String für den Tabellenkopf anpassen und euch mal überlegen, wie und warum die Zeit so berechnet und eingefügt wird. Kleine Denkaufgabe, die man mit der Kontexthilfe lösen kann...
Tipps:
- Sequenzen sind meist überflüssig...
- BuildArray ist meist effektiver/übersichtlicher als InsertIntoArray order gar Matrix-Operationen...
- Schieberegister ersparen lokale Variablen...
RE: Zeitaufnahme parallel zu erfassten Messwerten?
Vielen vielen vielen lieben Dank fürs Verbessern meines VI. Das hat mich schon praktisch ans Ziel gebracht.
Der timestamp ist immer bezogen auf einen Zeitpunkt im Jahre 1904. Dadurch dass du einen timestamp zu Beginn der Aufnahme gesetzt hast und einen bei jedem Schleifendurchlauf, wird jeweils die Schleifendurchlaufzeit und die Anfangszeit voneinander abgezogen und man bekommt die Laufzeit, oder?
Noch eine Frage: Über welchen Zeitraum, werde ich denn Werte aufnehmen können? Muss ich irgendwo eine Speicherkapazität festlegen?
RE: Zeitaufnahme parallel zu erfassten Messwerten?
Hallo MrsBruck,
du kannst in der jetzigen Form keine Speicherkapazität festlegen. Sie wird durch den vorhandenen Speicher begrenzt, da alle Messdaten im Schieberegister gespeichert werden.
Im Sinne der Datensicherheit würde ich dieses VI aber nicht tagelang messen lassen, sondern mir überlegen, wie ich öfter mal Daten sichere...