direktes Abbrechen im Eventcase - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Wunschliste (/Forum-LabVIEW-Wunschliste) +--- Thema: direktes Abbrechen im Eventcase (/Thread-direktes-Abbrechen-im-Eventcase) |
direktes Abbrechen im Eventcase - Teutates - 18.07.2006 17:11 Sofern mich keiner vom Gegenteil überzeugt und mir eine bestehende Lösung zeigt... Ich würde gern direkten Zugriff über das Frontpanel haben auch Events die am laufen sind durch Benutzerinteraktion direkt abzubrechen, es müsste also einfach ermöglicht werden nicht nur durch Interaktion einen Case aufzurufen sondern auch mit einer bestimmten Aktion jeder Zeit abzubrechen, ohne Zusatzschleifen. direktes Abbrechen im Eventcase - eg - 18.07.2006 17:37 Wenn ich dich richtig verstanden habe, dann willst du dass die Eventstructure nicht an einer Stelle bleibt, wenn in dem Event etwas längerdauerndes passiert. Wenn ja, dann gibt es bei jedem Event eine Option "Lock front panel until the event case for this event completes"! Einfach wegklicken. Gruss direktes Abbrechen im Eventcase - Teutates - 18.07.2006 18:08 Nein das Problem ist wenn der Event läuft wird er bis zum ende ausgeführt, und da nützt mir das unlocken auch nicht da erst am Ende des Cases aus dem Event gegangen wird. Und genau das ist das Problem bei mir das auch ein Case abgebrochen werden kann, Beispiel ist habe eine Sequenz laufen die ingesamt 10 min läuft, dann wird diese auch 10 min laufen, ich kann zwar andere Dinge in anderen Schleifen abarbeiten aber nicht direkt Einfluss nehmen. Solang also nur kurze Operationen laufen ist das ja kein Problem nur wenn ich komplette Messzyklen in einem Case laufen lasse, Beispiel das Positionieren in einem Messgitter mit 8000 Punkten wie bei mir, muss es auch eine Möglichkeit geben mit einer weiteren Interaktion direkt diesen Case auch wenn er erst zu 50% gelaufen ist abzubrechen und das direkt als Funktion in dieser Struktur ohne Hickhack. ' schrieb:Wenn ich dich richtig verstanden habe, dann willst du dass die Eventstructure nicht an einer Stelle bleibt, wenn in dem Event etwas längerdauerndes passiert. direktes Abbrechen im Eventcase - Y-P - 19.07.2006 06:58 Wie wäre es, wenn Du zwei Schleifen parallel abarbeitest und in der einen liegt die Event-Structure. In der anderen liegt der Rest (inkl. Stopschalter). Dann hast Du im Endeffekt immer Zugriff auf die "langlaufende" Schleife. Oder habe ich das falsch verstanden? Gruß Markus direktes Abbrechen im Eventcase - Achim - 19.07.2006 07:32 Hi, siehe hier: http://www.LabVIEWforum.de/index.p...opid=12479& Warum startest du zwei Threads zum gleichen Thema? Beim im Link genannten Beispiel drauf achten, was eugen graf geschrieben hat: Das Häkchen im Event-Case wegmachen! Gruss Achim direktes Abbrechen im Eventcase - Lucki - 19.07.2006 07:33 ' schrieb:Nein das Problem ist wenn der Event läuft wird er bis zum ende ausgeführt,Also ich verstehe das überhaupt nicht. Ein Event ist ein augenblickliches Ereignis, das "läuft" doch nicht, weder "bis zum Ende" noch anderswohin. Im jedem Eventcase kann allerdings Programmcode stehen, der nach dem betreffenden Event abgearbeitet wird. Mit dem kann man aber (wenn das erwähnte Häkchen weggeklickt ist) über Frontpanels genau so so kommunizieren wie in jedem anderen Programmteil auch. Also wo soll hier das Problem sein? Könntest Du nicht ein abgespecktes kleines vi als Beispiel geben, wie es unerwünschterweise läuft und dazu sagen, wie es wunschgemäß laufen sollte? Dann hätte das Rätselraten über das was Du meinst ein Ende. direktes Abbrechen im Eventcase - Achim - 19.07.2006 07:38 ach übrigens...mal abgesehen vom Thema an sich...an dieser Stelle ist das auf jeden Fall a. direktes Abbrechen im Eventcase - Teutates - 19.07.2006 10:41 Hab verstanden, Im Grunde habt Ihr ja recht , dachte mir halt das es vielleicht sinnvoll wäre im Event das mitlaufen einer Statemachine zu ermöglichen direkt als Option von LV aus sozusagen, die prüft ob direkt im Code raugesprungen werden soll, im Grunde wäre es halt nur etwas komfortabler und man müsste nicht so genau darauf achten ob man nun while oder Forschleifen verwendet und ob lange Sequenzen eingebaut werden. Ich hatte wohl den Fehler gemacht eine Doppel-Forschleife mit Sequenzen , sozusagen 8000 Punkte und an jedem Punkt wird ein Messszenario ausgeführt, sprich Sequenz. Da diese 2 Stunden nun dieser Case abgearbeitet wird nützt mir eine zweite Schleife nichts es sei denn ich nehm die Stopfunktion aus der Applikationcontrol was ich nicht wollte. Nun ich werde das mal versuchen mit Whileschleifen umzusetzen dann kann ich den Abbruch ja über das Frontpanel steuern indem ich die Iterationszahl festlege und mit der Oderfunktion dann verknüpfe und die Stoptaste abgefragt wird. Somit liegt es also an meinen Forschleifen wo das unlocken keine Auswirkung hat es sei denn ich machs mir kompliziert und setze i im Falle von Stop auf N und baue mir mit Cases zusätzlich das sozusammen das auch die Schrittmotoren stehen bleiben Manchmal sieht man den Wald vor lauter Bäumen nicht... Nun ja da fehlt mir wohl noch der Plan hab ja erst effektiv 3-4 Monate intensiv mit LV gearbeitet.... So damit wäre das hier ja nun beendet direktes Abbrechen im Eventcase - Achim - 19.07.2006 11:19 Ich glaube, du solltest deine Programmstruktur nochmal komplett überdenken und dich mit ner richtigen State-Machine anfreunden: Eine While-Schleife, darin ne Eventstruktur, im Timeout-Case der Eventstruktur kann man z.B. Code unterbringen, der dauernd ausgeführt werden soll (z.B. Aktualisierung von Anzeigen, ne Uhr, etc.) Noch ein Tipp: Sequenzen sind dazu da, die Abarbeitungsreihenfolge festzulegen. Je mehr Schritte, desto unübersichtlicher...Die Reihenfolge kann man ja z.B. auch über die Verdrahtung des Fehlerclusters realisieren, wenn es sonst keine weitere Verbindung zwischen zwei VI's gibt. Gruss Achim |