LabVIEWForum.de
Messprogramm - Druckversion

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



Messprogramm - julia__2020 - 03.05.2021 08:10

Hallo zusammen,

ich bin noch nicht lange bei LabView dabei und habe dementsprechend meine Probleme. Mein Aufgabe ist es, ein Programm für ein Prüfstand zu schreiben.
Zur Simulation der zwei Parameter Temperatur und Differenzdruck habe ich eine Sinusfunktion verwendet. Zur Simulation des Volumenstromes habe ich eine Formel verwendet, die sich langsam bei einem Wert einpendelt. Ich habe drei verschiedene Temperaturen, die ich anfahren möchte. Es soll jedes Mal überprüft werden, ob er in einem bestimmten Temperaturbereich vorliegt. Dazu wird der Volumenstrom noch eingestellt, wenn beide Parameter in einem bestimmten Bereich sind, sollen die drei Werte Temperatur, Volumenstrom und Differenzdruck in eine Excel- Datei aufgenommen werden. Wenn der Differenzdruck über 6bar geht, soll die Schleife abgebrochen werden und alle eingestellten Werte auf 0 zurückgesetzt werden. Außerdem soll die Messwerte aufnehmen entweder nach 3s oder nach 5 Werten stoppen. Irgendwo habe ich leider noch ein Fehler, finde ihn aber nicht. Vielleicht kann mir jemand weiterhelfen. Anbei habe ich das Programm.
Vielen Dank im Voraus.

Viele Grüße
Julia


RE: Messprogramm - GerdW - 03.05.2021 08:28

Hallo Julia,

Zitat: Irgendwo habe ich leider noch ein Fehler, finde ihn aber nicht.
Kannst du den Fehler etwas genauer beschreiben?
Wie äußert sich der Fehler? Wann tritt er auf?


RE: Messprogramm - julia__2020 - 03.05.2021 08:59

Die Funktionen der Messwerterzeugung lassen sich nicht mehr ausführen. Beim Volumenstrom geht es auf die Konstante 29 hoch, jedoch sollte dieser um die 30 schwanken und schließlich auf 30 gehen. Aus der Signalerzeugung für die Sinusfunktionen für den Differenzdruck und für die Temperatur wird gar nichts mehr ausgeführt.
Auf dem Bild im Anhang ist der Zustand zu sehen, welcher sich einstellt, sobald ich das Programm starte. Wenn ich versuche an den Schieber etwas zu verändert, passiert nichts.


RE: Messprogramm - GerdW - 03.05.2021 09:13

Hallo Julia,

speichere dein VI (oder das ganze Projekt) doch bitte mal für LV2017 (File->Save for previous) und hänge das konvertierte VI an…


RE: Messprogramm - julia__2020 - 03.05.2021 09:17

Anbei das konvertierte VI.


RE: Messprogramm - GerdW - 03.05.2021 09:30

Hallo Julia,

Antwort: THINK DATAFLOW!

Zitat:Die Funktionen der Messwerterzeugung lassen sich nicht mehr ausführen. Beim Volumenstrom geht es auf die Konstante 29 hoch, jedoch sollte dieser um die 30 schwanken und schließlich auf 30 gehen. Aus der Signalerzeugung für die Sinusfunktionen für den Differenzdruck und für die Temperatur wird gar nichts mehr ausgeführt.
Falsch: es wird etwas ausgeführt! Hast du mal per Debugging (Highlight, Sonden) geprüft, was in deinem VI passiert?

Das VI bleibt in der Schleife hängen, die du im das "Messwerte schreiben"-ExpressVI gezogen hast. Der "Status" wird sich hier (wegen THINK DATAFLOW!) nie ändern, und damit diese Schleife nie beendet…
(Bei einem kurzen Test deines VIs war die aktuelle Abbruchbedingung der äußeren Schleife auch nicht wirklich hilfreich/sinnvoll, vor allem mit dem unnötigen (?) Aufruf der SetDefaultValues-Methode vor der Schleife.)

Generell zum VI:
- Bist du dir sicher, dass die ganzen StallDataflow-Aufrufe wirklich das machen, was du damit eigentlich bezweckst?
- Benötigst du wirklich diese Case-Struktur mit 3 Cases, die alle das gleiche machen? Wäre es nicht einfacher, über das Enum nur den Sollwert auszuwählen, der danach dann mittels InRangeAndCoerce geprüft wird?

Edit:
Bitte immer selbst auf Cross-Posts hinweisen! Mir kam das ganze VI doch merkwürdig bekannt vor…
Das mit dem InRangeAndCoerce hatten wir doch schon einmal diskutiert!?


RE: Messprogramm - julia__2020 - 03.05.2021 10:25

Hallo Gerd,

danke für Ihre Antwort. Ja, ich habe mit den Sonden mein VI untersucht, siehe das obere Bild und da kam leider, dass nichts ausgeführt wird. Aber wie kann ich die Schleife in dem das "Messwerte schreiben" alternativ beenden, sodass die Schleife abbricht, sobald TRUE geworden ist und 5 Werte geschrieben werden? Gibt es eine Alternative, wo ich überprüfen kann, ob der Wert in dem Wertebereich bleibt über 3s und nicht nur ein Ausrutscher ist? Mit dem SetDefaultValues- Methode wollte ich die Messwerte alle wieder 0 setzen, hatte dies in einem LabView Beispiel gesehen. Aber bei dem InRangeAndCoerce muss ich ja eine Ober- und Untergrenze angeben und die ist ja jedes Mal anders. Ich hatte[/quote] den Vorschlag nicht verstanden, weshalb ich es bei der Case belassen hatte.
Entschuldigung für meinen Cross- Post, hatte das Portal dann gewechselt, da ich mich in Deutsch besser ausdrücken kann als in Englisch.

Liebe Grüße Julia


RE: Messprogramm - GerdW - 03.05.2021 10:33

Hallo Julia,

Zitat:Aber bei dem InRangeAndCoerce muss ich ja eine Ober- und Untergrenze angeben und die ist ja jedes Mal anders. Ich hatte den Vorschlag nicht verstanden, weshalb ich es bei der Case belassen hatte.
Du hast doch in jedem Case einen Test auf "Setpoint ± 0.1", das lässt sich doch wunderbar mit einem InRangeAndCoerce kombinieren:
[attachment=61818]

Zitat:Aber wie kann ich die Schleife in dem das "Messwerte schreiben" alternativ beenden, sodass die Schleife abbricht, sobald TRUE geworden ist und 5 Werte geschrieben werden?
Da gehört überhaupt keine Schleife hin! THINK DATAFLOW!
Stattdessen gehört da eine Case-Struktur hin - gespeichert wird nur, wenn die entsprechende(n) Bedingung(en) erfüllt sind…

Zitat:Ja, ich habe mit den Sonden mein VI untersucht, siehe das obere Bild und da kam leider, dass nichts ausgeführt wird.
Dann hast du nicht genau genug geguckt - und in dem Bild hast du ja die Schleife mit dem Datenspeichern auch überhaupt nicht gezeigt…

Zitat:Entschuldigung für meinen Cross- Post, hatte das Portal dann gewechselt, da ich mich in Deutsch besser ausdrücken kann als in Englisch.
Der Wechsel ins deutsche LabVIEW-Forum ist vollkommen ok.
Der Hinweis auf einen Crosspost ist nur deshalb erwünscht, weil man dann schauen kann, ob man selbst noch Mühe für eine Antwort aufwenden will, wenn vielleicht schon woanders eine Antwort gegeben wurde. Wir sind hier nämlich alle freiwillig unterwegs, ohne dafür von NI für die Arbeitszeit bezahlt zu werden…


RE: Messprogramm - julia__2020 - 03.05.2021 13:35

Jetzt hat es endlich mit dem Wertebereich so funktioniert, wie Sie des beschrieben haben. Danke!Big Grin Zum zweiten das Modul "Messwerte schreiben" schreibt ja auch schon, wenn alle Bedingungen erfüllt sind, jedoch bis unendlich viele, weshalb ich es nach 5 Werten abbrechen möchte und nicht hinbekomme. Vielen Dank für die freiwillige Hilfe, es hilft mir sehr viel weiter...


RE: Messprogramm - GerdW - 03.05.2021 13:39

Hallo Julia,

Zitat:Zum zweiten das Modul "Messwerte schreiben" schreibt ja auch schon, wenn alle Bedingungen erfüllt sind, jedoch bis unendlich viele, weshalb ich es nach 5 Werten abbrechen möchte und nicht hinbekomme.
Weil in der jetzigen Schleife sich die Abbruchbedingung NIE erfüllt - THINK DATAFLOW!
Hast du mal die Links in meiner Signatur beachtet? Inbesondere den zu "THINK DATAFLOW!"?