LabVIEWForum.de
Messwerte schreiben (Zeitversetzung) - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Messwerte schreiben (Zeitversetzung) (/Thread-Messwerte-schreiben-Zeitversetzung)

Seiten: 1 2


Messwerte schreiben (Zeitversetzung) - Justice18 - 12.09.2013 14:03

Hallo zusammen Smile,


ich bin neu hier und habe auch erst seit 3 Tagen überhaupt mit Labview zu tun (bin also ein kompletter Anfänger....)

Meine, (denke ich mal banale Big Grin) Fragestellung ist folgende:

Ich steuere drei verschiedene Massendurchflussregler von Bronkhorst mit Labview an.
Die Ansteuerung funktioniert auch soweit. Nun möchte ich die Messwerte in eine Datei schreiben, sodass alle beispielsweise 10 Sekunden ein Messwert aufgezeichnet wird. Wenn ich die Aufzeichnung in einen Case mit Verzögerung packe, nimmt er mir zwar alle 10 Sekunden einen Messwert auf, jedoch reagiert das System auf Veränderungen im Sollwert (Setpoint) auch mit einer Verzögerung von 10 Sekunden, obwohl die Sollwerteinstellung in einem anderen Case ist.

Sobald ich den Schalter zur Aufzeichnung der Daten ausschalte, reagiert das System wieder sofort auf die Sollwertänderung.


Ich hoffe das war einigermaßen verständlich erklärt...


und nicht wundern, den Großteil der angehängten Datei habe ich schon vorgefertigt irgendwo gefunden.


Bin für jede Hilfe dankbar


RE: Messwerte schreiben (Zeitversetzung) - Trinitatis - 12.09.2013 14:06

Hallo Justice,

ohne dein VI öffnen zu können tippe ich mal darauf, dass du das Datenflussprinzip in LV nicht beachtest. Längere Wartezeiten müssen parallel zur Abarbeitung anderer (schnellerer) Aktionen laufen.

Gruß, Marko


RE: Messwerte schreiben (Zeitversetzung) - RadioactiveMan - 12.09.2013 15:34

Ich geh mal davon aus, dass das nicht alles du selbst geamcht hast. Wichtig wäre vielleicht zu wissen, was schon da war.

Ich würde die Messwerte in eine Globale Variable schreiben und diese alle 10s mittels eigener While-Schleife in eine Datei mit Messwerten.


RE: Messwerte schreiben (Zeitversetzung) - Justice18 - 13.09.2013 09:00

Vielen Dank erstmal für die Antworten,

das einzige was von mir hinzugefügt wurde, ist die Case-Schleife in der Messdaten geschrieben werden. Den Rest hatte ich schon vorher irgendwo her (hätte ich au niemals so hinbekommen...)

wo würde man die Messdaten abzweigen, um diese in eine globale Variable zu schreiben? Die Messwerte lassen sich ja nicht direkt mit einer globalen Variable verbinden. (unterschiedliche Datenstrukturen)


RE: Messwerte schreiben (Zeitversetzung) - Trinitatis - 13.09.2013 11:55

Hallo Justice,

speichere dein VI dochmal unter einer etwas tieferen LV-Version ab. Das erhöht die Chancen, dass mehrere draufsehen können.
Die Idee mit Variablen ist bei hohem Datenaufkommen immer so eine Sache und oftmals einfach durch eine Producer/Consumer-Struktur zu umgehen.


Gruß, Marko


RE: Messwerte schreiben (Zeitversetzung) - Justice18 - 13.09.2013 12:53

Hey,

ich habe die Datei mal auf Labview 2008 umgespeichert, ich hoffe soweit hat das geklappt.

Eine weitaus wichtigere Frage von mir wäre: Wie lassen sich die Sollwerte zeitlich steuern? Sodass man vorgeben kann, nach welcher Zeit der Sollwert in einen bestimmten Wert geändert werden soll.

Wäre nett wenn dazu jemand einen Hinweis hätte Smile


RE: Messwerte schreiben (Zeitversetzung) - Trinitatis - 13.09.2013 13:47

Hallo Justice,

du kannst die Systemzeit auslesen (Timingpalette) und im nächsten Schleifendurchlauf wieder die Systemzeit auslesen und die Differenz vergleichen mit einem Vorgabewert und bei Überschreitung etwas ausführenlassen.

Grundsätzlich kann ich dir aber nur raten, in deinem VI mal etwas aufzuräumen. Gerade als Anfänger hast du sonst keine Chance, etwas zu debuggen. Da liegen Leitungen übereinander, laufen versteckt hinter Strukturen lang, dein VI ist viel zu groß, es sei denn, du hast eine Auflösung von 5000 Pixeln in der Höhe.


Gruß, Marko


RE: Messwerte schreiben (Zeitversetzung) - Justice18 - 13.09.2013 14:20

Hallo Marko,

vielen Dank für die Antwort. Ja ich weiß, dass mein VI sehr unübersichtlich aufgebaut ist, wie du schon richtig erkannt hast bin ich total Anfänger und daher ist das vi mit dem ich arbeite sicher erstmal zu kompliziert aufgebaut. Ich bin aber erstmal froh dass sich mit diesem vi meine Massendurchflussregler steuern lassen und weiß demher nicht welche Verbindungen ich löschen kann, sodass die Ansteuerung weiterhin funktioniert....

Ein kleines hilfreiches VI, das ich in diesem Forum gefunden habe ist angehängt. Ich habe versucht es einzufügen, jedoch ohne Erfolg.... Wenn jemand weiß, wie man dieses mit der Setpointverbindung verbindet sodass sich diese mit dem vi "Steps" steuern lässt wäre ich sehr dankbar Smile glaube damit wäre meine Frage auch gelöst


Viele Grüße,

Frank


RE: Messwerte schreiben (Zeitversetzung) - GerdW - 13.09.2013 14:39

Hallo Frank,

Zitat:Ein kleines hilfreiches VI
Dieses VI ist in seiner jetzigen Form nicht hilfreich: Steuerung über Event-Struktur, nicht reentrant, keine Verbindungen im ConPane...

Zitat:Ich habe versucht es einzufügen, jedoch ohne Erfolg...
Wieso? Man kann es doch einfach ins BD reinschmeißen Big Grin

Zitat:Wenn jemand weiß, wie man dieses mit der Setpointverbindung verbindet sodass sich diese mit dem vi "Steps" steuern lässt wäre ich sehr dankbar
- Erstelle ein ConnectorPane, verbinde es mit den gewünschten Ein-/Ausgängen des VIs.
- Wenn du es mehrfach nutzen willst, solltest du über "Ablaufinvarianz" nachdenken...
- THINK DATAFLOW! Momentan blockiert dieses (sub)VI dein Haupt-VI...

Zitat:mit der Setpointverbindung
Welche Verbindung? Du hast mehrere Drähte, an denen ein Setpoint-Control dranhängt...

Allgemein:
- Schau dir die Links in meiner SIgnatur an, dort werden die genannten Begriffe erläutert bzw. solltest du diese (auch als Anfänger) kennen.
- VI aufräumen. Hilft (nicht nur dir) bei der Übersicht...


RE: Messwerte schreiben (Zeitversetzung) - Justice18 - 16.09.2013 10:04

Hallo Gerd,

danke für die ausführliche Antwort. Ich glaube ich bin schonmal einen kleinen Schritt weiter Big Grin

ich habe im Sub- VI dem Anschlussblock die entsprechenden Anschlüsse zugeordnet und abgespeichert. Wenn ich dieses Sub-VI im übergeordneten VI aufrufe und die entsprechenden Bedien/Anzeigeelemente hinzufüge, lässt sich zwar das übergeordnete VI ausführen. Jedoch ändern sich die Parameter des Sub - VI nicht...

Zuerst einmal ist es egal in welche der drei Schleifen zum Setpoint die vom Sub - VI gelieferten Werte hinzu addiert werden, für die anderen beiden Schleifen gilt das dann ja analog.

Gruss Frank