![]() |
Kontrolle zwischen Tabs übergeben - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Kontrolle zwischen Tabs übergeben (/Thread-Kontrolle-zwischen-Tabs-uebergeben) |
Kontrolle zwischen Tabs übergeben - tron - 03.08.2006 15:38 <div align="left">Hallo! Mein VI besteht aus mehreren Tabs, die über eine Tab-Control eine Case-Struktur schalten. Innerhalb der Case-Struktur befinden sich jeweils eine While-Schleife. Ich versuche derzeit, die Kontrolle darüber, welche Schleife läuft, an die Tab-Auswahl zu koppeln, d.h. wenn von Tab1 auf Tab2 umgeschaltet wird, dann soll die Schleife in Tab1 anhalten und die in Tab2 ausgeführt werden. Die Tabs separat zu starten funktioniert, nur das Umschalten während des Laufs hat keine Auswirkung, auch der Tab-Counter (naja, also die zahlenmäßige Repräsentation der Tabs, die die Case-Struktur steuern) ändert sich nicht. Eigentlich müßte ich doch um das Ganze eine weitere While-Schleife legen, die das Tab-Control erneut abfragt und den Zähler neu setzt - das hat aber auch keinen Effekt. Welchen fundamentalen Denkfehler begehe ich hier? Gruß, Michael </div> Kontrolle zwischen Tabs übergeben - Kvasir - 03.08.2006 15:50 Dein fundamentaler Denkfehler liegt darin, dass während die WhileSchleife läuft die Änderung deiner Tab (die ja außerhalb liegt) gar nicht abgefragt wird. Erst wenn die Whileschleife beendet wird fragt LV wieder deinen Tab ab (und das auch nur, wenn du wie du sagst eine Schleife rundherum legst). Überlege mir gerade, was du am besten gegen dein Problem machen könntest. Am besten wird wohl sein ein parallele Eventstruktur, die auf Value Change reagiert. Dann die Schleife beendet. edit: hab dir schnell ein Beispiel gebastelt, was die grobe Idee verdeutlicht. Kontrolle zwischen Tabs übergeben - tron - 03.08.2006 15:58 <div align="left"> ' schrieb:Dein fundamentaler Denkfehler liegt darin, dass während die WhileSchleife läuft die Änderung deiner Tab (die ja außerhalb liegt) gar nicht abgefragt wird. Erst wenn die Whileschleife beendet wird fragt LV wieder deinen Tab ab (und das auch nur, wenn du wie du sagst eine Schleife rundherum legst).Hmm, wo Du Recht hast, hast Du Recht. Ich hatte schon versucht, den Stop-Button der While-Schleife über den Tab zu steuern, aber sowas funktioniert dann ja nur mit Bedingungen, die innerhalb der While-Schleife entstehen. Gruß, Michael</div> Kontrolle zwischen Tabs übergeben - Kvasir - 03.08.2006 18:38 Wenn du das unbedingt so haben willst, wie beschrieben. Wirst du wohl um lokale Variablen / Property Nodes nicht auskommen. Hat dir mein Beispiel ein wenig helfen können? Kontrolle zwischen Tabs übergeben - tron - 04.08.2006 16:15 Hi! Ich habe es dann doch etwas anders gelöst - mir ist aufgefallen, daß die Prozesse in den Tabs ja auch ruhig gleichzeitig laufen könnten. Da die beide auf dasselbe Meßgerät zugreifen, habe ich die in eine Zeitschleife gesetzt, wo sie dann jede Sekunde beide nacheinander ablaufen. Mit den Tabs schalte ich dann nur noch die Ansicht um. Noch was anderes: kann man Werte zwischen Schleifen übergeben? Z.B. habe ich eine While-Schleife und eine For-Next-Schleife, beide gleich getaktet. In der For-Next-Schleife wird ein Wert inkrementiert - kann ich bei jedem Schleifendurchlauf diesen Wert an die While-Schleife als Sollwert übergeben? Vielleicht geht sowas ja mit einer globalen Variable (die Schleifen sollen sich in der Endversion mal in zwei verschiedenen VIs befinden)? Gruß, Michael Kontrolle zwischen Tabs übergeben - Kvasir - 04.08.2006 17:01 Das geht mit globalen Variablen sicher. Sieh dir aber auch mal an wie eine Queue funktioniert. Kontrolle zwischen Tabs übergeben - tron - 07.08.2006 11:15 ' schrieb:Sieh dir aber auch mal an wie eine Queue funktioniert.Hmm, auch keine schlechte Idee - es geht um eine Rampensteuerung eines Ofens. Ich könnte die (zeitabhängigen) Sollwerte ja in eine Queue schreiben und die dann von jeder Iteration der While-Schleife auslesen lassen. Das muß ich mal probieren. |