LabVIEWForum.de
Schieberegler Wertänderung - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Schieberegler Wertänderung (/Thread-Schieberegler-Wertaenderung)

Seiten: 1 2 3 4


RE: Schieberegler Wertänderung - Lucki - 10.11.2015 10:47

Zitat:... Eventstruktur kann immer noch bis zu einer Sekunde lang blockiert sein
Die ganze Struktur ist immer noch Krampf zum Quadrat.
Eine Queue-Struktur kann mehre Erzeuger haben haben, aber immer nur einen Verbraucher. Das wäre hier der Fall: Die obere und untere Schleife sind Erzeuger, die mittlere ist Verbraucher. Was läge also näher, als eine Queue zu verwenden - und nicht deren zwei??
Habe das VI mal geändert:
[attachment=54563]


RE: Schieberegler Wertänderung - Hydrogencarbonat - 10.11.2015 18:03

Hi Lucki,

dein Kommentar macht SinnSmile.
Ist so nun auch viel einfacher gelöst und man braucht das Time Out nicht mehr.
Danke für die HilfeSmile

Habe es nun mit meinem Hauptprogram verheiratet und es funktioniert nun alles bis auf den " Programm beenden" Button.
Der ist komischerweise ohne Funktion, obwohl ich alles genau so habe wie in dem TestVI. (viele Ursachen können es ja nicht sein, ist ja nur ein Button 0.o)

Gruß HCO


RE: Schieberegler Wertänderung - jg - 10.11.2015 18:40

(10.11.2015 10:47 )Lucki schrieb:  
Zitat:... Eventstruktur kann immer noch bis zu einer Sekunde lang blockiert sein
Die ganze Struktur ist immer noch Krampf zum Quadrat.
Eine Queue-Struktur kann mehre Erzeuger haben haben, aber immer nur einen Verbraucher. Das wäre hier der Fall: Die obere und untere Schleife sind Erzeuger, die mittlere ist Verbraucher. Was läge also näher, als eine Queue zu verwenden - und nicht deren zwei??
Habe das VI mal geändert:
Was ich genauso in Beitrag #6 vorgeschlagen habe!!!


RE: Schieberegler Wertänderung - Lucki - 10.11.2015 18:45

(10.11.2015 18:03 )Hydrogencarbonat schrieb:  ... und es funktioniert nun alles bis auf den " Programm beenden" Button.
Der ist komischerweise ohne Funktion, obwohl ich alles genau so habe wie in dem TestVI. (viele Ursachen können es ja nicht sein, ist ja nur ein Button 0.o)
Meinst Du "Programm stoppen"?. Hast Du die Änderungen gesehen, die ich gemacht hatte?
1. Wegfall der lokalen Variablen. In der oberen Schleife kann "Neuer Wert" benutzt werden. Die Variable kann dann in der mittleren Schleife direkt zum Stoppen verwendet werden.
2. Da keine lokalen Variablen mehr verwendet werden, kann die Funktion auf "Latch" umgestellt werden. Das erspart die zweite lokale Variable zum Rücksetzen das Stopp-Knopfes.

Das Quadrat in meinem Kramp-Ausdruck nehme ich zurück. So ganz schlecht ist die Struktur doch nicht, aber ich übertreibe eben gern Big Grin


RE: Schieberegler Wertänderung - jg - 10.11.2015 18:46

(10.11.2015 18:03 )Hydrogencarbonat schrieb:  Habe es nun mit meinem Hauptprogram verheiratet und es funktioniert nun alles bis auf den " Programm beenden" Button.
Der ist komischerweise ohne Funktion, obwohl ich alles genau so habe wie in dem TestVI. (viele Ursachen können es ja nicht sein, ist ja nur ein Button 0.o)
Da liegt auch eine schöne Race-Condition vor! In der Erfassungsschleife wird "Messung starten" ausgelesen, dann wird bei "True" in den 1 Sekunde dauernden True-Case gesprungen. Wenn zu diesem Zeitpunkt "Messung beenden" betätigt wird, dann wird zwar "Messung starten" in der Eventstruktur auf False gesetzt, aber dann in der Erfassungsschleife wieder durch "True" überschreiben. Wall

Eine saubere Lösung wäre auch hier die Steuerung der Erfassungs-Loop per Queue oder Notifier (in diesem Fall eine neue Queue!).

Gruß, Jens


RE: Schieberegler Wertänderung - Hydrogencarbonat - 10.11.2015 20:21

Hi Lucki,
ja. hab das mit den lokalen Variablen mitbekommen;P.

Je weniger im Prog sind desto besser Smile. DankeSmile
Aber ob man sie drin hat oder nicht ist nicht Ursache des Problems.




Hi Jens,

verstehe das Problem.
Vielen Dank.

Ich werde mich nun mit den Melderfunktionen auseinander setzen.
Hatte bis jetzt noch nicht mit diesen Funktionen gear[/quote]beitet und den Horizont zu erweitern ist immer gut Smile

Gruß HCO



*gearbeitet


RE: Schieberegler Wertänderung - Hydrogencarbonat - 11.11.2015 09:19

Hi,

ich kann nun die Erfassungsloop per Melderfunktion steuern.
Der Stopp Button funktioniert wieder.
Nur die kontinuierliche Datenerfassung in der State Maschine geht jedoch nicht mehr.

Gruß HCO


RE: Schieberegler Wertänderung - Lucki - 11.11.2015 10:16

Habe mal auf die Schnelle eine Änderung gemacht. Hänge jetzt nur das Hauptprogramm an.
[attachment=54576]


RE: Schieberegler Wertänderung - Hydrogencarbonat - 11.11.2015 12:42

Hi,
fast meine Lösung nur mit Queues. Ja das mit dem Queue Leeren macht Sinn
Vielen DankSmile

Im angehängten VI funktioniert es auch alles wunderbar, aber habe es jetzt mit meinem Hauptprog verheiratet.
Der Stopp Button geht immer noch nicht.

Jedoch habe ich nur die 3 Schleifen und die Grunstruktur bzw. Ablauf ist der gleiche wie im TESTVI.

Irgendwo ist komischer Weise immer noch eine Race-Condition.

Gruß HCO

PS: Ich weiss ohne eine Blick auf das HauptVI zu werfen kann man schlecht den Fehler abschätzen, aber ich streube mich dagegeben es hochzuladen ;P


RE: Schieberegler Wertänderung - Lucki - 11.11.2015 14:08

(11.11.2015 12:42 )Hydrogencarbonat schrieb:  fast meine Lösung nur mit Queues. Ja das mit dem Queue Leeren macht Sinn
Das Leeren der Queue ist aber nicht das Eigentliche, das ist nur eine zusätzliche Sicherheit. Entscheidend ist, dass, solange die Messung laufen soll, mit jeder Messwerterfassung wieder der Status "Messen ausführen" in die Queue gegeben wird, so daß sich die Messung so lange wiederholt, bis von der Ereignisschleife "Messung beenden" in die Queue gegeben wird.
Das sieht nach einer Notlösung aus, ist es aber nicht. Ich habe das in einem hochprofessionellem Beispielprogramm so gesehen - allein wäre ich vielleicht nicht darauf gekommen.

Zitat:Ich weiss ohne eine Blick auf das HauptVI zu werfen kann man schlecht den Fehler abschätzen, aber ich streube mich dagegeben es hochzuladen
Warum nicht? Es gibt hier laufend berechtigte Klagen über fehlende VIs. Dass sich jemand beschwert, dass ein VI zu groß ist, habe ich noch nicht gehört.
Ideal wäre aber, wenn das VI auch ohne echte Datenerfassung lauffähig ist, d.h. dass die Messwerte weiterhin durch simulierte Werte ersetzt werden - so wie Du das in deinen geposteten VIs schon mustergültig gemacht hattest.