LabVIEWForum.de
Messprogramm While Schleife - Druckversion

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



Messprogramm While Schleife - em - 23.08.2012 14:49

Hallo,

bin gerade dabei ein Messprogramm zu programmieren durch das man Temperaturverläufe bekommt, das aber manchmal noch ein paar Hänger hat. Kann mir jemand einen Tipp geben:

1.) Durch den Button "Messung stoppen" möchte ich eigentlich nur die Messung stoppen nicht das ganze Programm. Hab's schon mit einer While- Schleife um den ganzen Programmiercode probiert, hat aber beim 2x drücken des Buttons "Messung starten" nicht mit einer neuen Messung begonnen. Außerdem leeren sich bei einer zweiten Messung die Diagramme nicht, d.h. es sind viele Verläufe in einem Graph. Wie kann ich das Programm am laufen halten (nicht nur für eine Messung) so dass es funktioniert? (und eventl. noch einen Button mit Programm beenden einführen?)

2.) Gibt es eine Möglichkeit vor beenden der While Schleife Daten weiterzuleiten?

3.) Gibt es eine Möglichkeit das Programm zu beschleunigen? Vor allem beim Button Messung stoppen ist es durch die While Schleife sehr langsam

Schon mal Danke für die Hilfe Smile


RE: Messprogramm While Schleife - GerdW - 23.08.2012 15:13

Hallo em,

RubeGoldberg lässt grüßen...

Was soll bitte das hier bewirken:
[attachment=41229]???
Das ist einfach nur sinnfrei (freundlich ausgedrückt)...

Zitat:Durch den Button "Messung stoppen" möchte ich eigentlich nur die Messung stoppen nicht das ganze Programm.
Du hast es aber so programmiert, dass durch "Exit" jede Schleife beendet wird. Jetzt beschwerst du dich darüber... Hmm

Zitat:Vor allem beim Button Messung stoppen ist es durch die While Schleife sehr langsam
Die Messschleife enthält Gerätekommunikation und Wartezeiten. Wenn du beides eher abbrechen willst, musst du die Programmierung ändern...
Falls du deine "Steuerung"-Schleife meinst: die könnte eine kleine Wartezeit im 100ms-Bereich vertragen!

Zitat:Gibt es eine Möglichkeit vor beenden der While Schleife Daten weiterzuleiten?
Nicht, wenn du dich an den DATAFLOW hälst. Es sei denn, du verwendest lokale/globale Variablen, FGVs, Notifier/Queues, etc.

Zitat:Außerdem leeren sich bei einer zweiten Messung die Diagramme nicht
Vielleicht, weil du ExpressVIs verwendest und deren Kontext-Hilfe nicht gelesen hast?

Insgesamt mangelt es deinem VI an vernünftiger Programmstruktur. Eine Statemachine wäre nicht schlecht (z.B. um MessungStart/Stop zu handhaben). Das BD ist auch deutlich zu groß (6mal größer als mein FullHD-Bildschirm darstellen kann...)! Die ganzen lokalen Variablen (RaceConditions!) und die VonRechtsNachLinks-Verdrahtung sind auch nicht hilfreich...