Steuerung der Messdatenaufzeichnung mit Elapsed-Time-SubVI
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!
Steuerung der Messdatenaufzeichnung mit Elapsed-Time-SubVI
Hallo zusammen,
ich bin neu in LabView und versuche gerade, meine erste Anwendung zu schreiben. Um zu verdeutlichen, was ich machen möchte, habe ich ein Minimalbeispiel vorbereitet, anhand dessen ich gerne Hilfe aus dem Forum hätte.
Folgendes soll die VI tun:
Vor dem Start der VI soll man einen Pfad auswählen, in dem die spätere Messdatei gespeichert wird. (funktioniert soweit)
Während die VI läuft, soll einmal pro Sekunde eine zufällige Zahl erzeugt werden
Es wird eine Tabelle erzeugt, welche die drei Spalten t[s] (von Elapsed Time), die aktuelle Generation der while-Schleife und die zufällig erzeugte Zahl enthalten soll
Wenn der Schalter "Write Data" umgelegt wird, sollen einmal pro Sekunde für die in "Time Target(s)" festgelegte Zeitdauer ein Array aus den zuvor beschriebenen Werten in der n-ten Zeile des Spreadsheets gespeichert werden
Ist die Zeit abgelaufen, soll der Timer und die Aufzeichnung der Messdaten stoppen
Mit einem Klick auf den Schalter "Reset Timer" Soll der Timer auf 0 zurückgesetzt werden
Folgende Probleme habe ich noch mit der VI:
Ich weiß leider nicht, wie ich das zu speichernde Array mit den "Messdaten" korrekt erzeuge und in dem Spreadsheet speichere
Die Aufzeichnung der Messdaten hält nach Ablauf der Zeit nicht an, sondern der Timer fängt wieder von vorne an zu zählen
Im Anhang findet ihr die VI, sowie einen Screenshot des Block-Diagrammes und des FP, falls es euch nicht möglich ist, die Datei zu öffnern. Ich hoffe, dass ihr mit der Beschreibung, die ich gegeben habe, einigermaßen etwas anfangen könnt und freue mich auf das Feedback!
Anzeige
06.07.2021, 13:21 (Dieser Beitrag wurde zuletzt bearbeitet: 06.07.2021 13:24 von GerdW.)
RE: Steuerung der Messdatenaufzeichnung mit Elapsed-Time-SubVI
Hallo lempy,
herzlich willkommen im Forum!
Zitat:Folgende Probleme habe ich noch mit der VI:
Ich weiß leider nicht, wie ich das zu speichernde Array mit den "Messdaten" korrekt erzeuge und in dem Spreadsheet speichere
Die Aufzeichnung der Messdaten hält nach Ablauf der Zeit nicht an, sondern der Timer fängt wieder von vorne an zu zählen
Im Anhang findet ihr die VI, sowie einen Screenshot des Block-Diagrammes und des FP, falls es euch nicht möglich ist, die Datei zu öffnern. Ich hoffe, dass ihr mit der Beschreibung, die ich gegeben habe, einigermaßen etwas anfangen könnt und freue mich auf das Feedback!
Leider hast du die Attachments vergessen! (Du musst nicht nur die Dateien auswählen, sondern auch den Button zum Hochladen klicken…)
- Die "zu speichernden Daten" kann man mit BuildArray erzeugen…
- Speichern geht ganz einfach mit WriteDelimitedFile…
- Wenn der "Timer" wieder "von vorn anfängt", dann hast du wohl das ExpressVI falsch konfiguriert! Hast du etwa den AutoReset aktiviert???
RE: Steuerung der Messdatenaufzeichnung mit Elapsed-Time-SubVI
Hallo lempy,
kannst du das VI nochmal für LV2017 speichern? (File -> Save for previous)
Zum Bild:
- Kannst du das Blockdiagramm erst noch mal aufräumen? Drähte von links nach rechts, etc.!? Wenn der Code "unleserlich" ist, dann ist er auch "schwer verständlich"!
- Verwende BuildArray, wenn du ein Array bauen willst. InsertIntoArray ist da fast immer die falsche Funktion!
RE: Steuerung der Messdatenaufzeichnung mit Elapsed-Time-SubVI
Hallo GerdW,
schonmal vielen Dank für deine Hinweise! Ich hoffe, die Version im Anhang hat jetzt ein angemessenes Maß an Übersichtlichkeit. Ich habe es außerdem einmal für die Version 17.0 gespeichert. Vielen Dank für die Hilfe!
RE: Steuerung der Messdatenaufzeichnung mit Elapsed-Time-SubVI
Hallo lempy,
Zitat: Ich hoffe, die Version im Anhang hat jetzt ein angemessenes Maß an Übersichtlichkeit.
Nun ja…
Grundregel: Wenn die AutoCleanup-Funktion das Blockdiagramm besser aussehen lässt, dann hast du vorher nicht gut genug gearbeitet!
Schau mal hier:
Du solltest dir bewusst machen, wie das ElapsedTime-ExpressVI arbeitet!
Und daraus lernen, dass es keine gute Idee ist, dieses VI in einer Case-Struktur zu verstecken…
RE: Steuerung der Messdatenaufzeichnung mit Elapsed-Time-SubVI
Hallo GerdW,
es war mir nicht bewusst, dass es eine Funktion gibt, um das BD automatisch aufzuräumen. Ich werde das in Zukunft nutzen, bevor ich eine Frage im Forum poste. Ich werde versuchen eine Lösung zu finden, bei der die ElapsedTime-ExpressVI nicht in einer Case-Structure steck. Vielen Dank für den Hinweis!