11.05.2010, 17:49
Guten Abend, Forum.
Ich versuche gerade ein SubVi "Autofill_v6_LV2009.vi" in mein Main.Vi "Experiment_v1.vi" einzubinden.
Autofill_v6_LV2009.vi beinhaltet eine While-Schleife, die meine Pumpe oszillieren laesst. Ich habe mich fuer eine While-Schleife mit hochzaehlendem i entschieden, weil ich hier in einem Thread gelesen habe, dass man for loops nicht abbrechen kann bzw. aus ihnen fruehzeitig herausspringen kann.
Ich habe mich also erstmal an dieser SubVi versucht und eine Stop eingebaut. Ziel war es, die Pumpe zuverlaessig sofort anzuhalten und schnellstens den while-loop zu beenden.
Das klappt aber nur bedingt. So wie das Autofill_v6_LV2009.vi jetzt ist, passiert folgendes:
Ich druecke den Stop-Button und mind. ein oder sogar zwei Durchlaeufe der while-Schleife werden erst noch absolviert, bevor die Pumpe stoppt. Ich weiss nicht, wie ich das in einen sofortigen Stop der while-Schleife abaenden kann.
Die Stop.vi ist notwendig, der Pumpe mitzuteilen, dass sie anhalten soll. Wenn man diese vi nicht drin hat, dann hoeren die Richtungswechsel auf, aber die Pumpe faehrt einfach weiter in dieselbe Richtung, was verhindert werden muss.
Zweites Problem:
Ich habe verucht, "Autofill_v6_LV_2009.vi" in meine Main.vi einzubauen. Autofill_v6_LV2009.vi ist in einer Eventstruktur innerhalb der Main eingebettet, weil sie nur nach Druecken des KNopfes "Jiggle M1" ausgeloest werden soll.
Naiv dachte ich, ich kann einen Stop-Button (Stop inner, z.B.) einfach in die SubVi uebertragen. Man verdrahtet einen Stop-Button mit dem Eingang der SubVi und dann wird das Signal in der SubVi an die richtige Stelle geleitet.
Das klappt leider gar nicht.
Folgendes passiert: Druecke "Jiggle M1", Pumpe wackelt. Will ich vorher den Stop-Button druecken, reagiert das Programm gar nicht darauf. Jiggle-Mode wird beendet und ich kann nicht mal mehr erneut auf "Jiggle M1" druecken.
Wie im letzten Thread wollte ich nicht 10 Stop-Buttons, wenn ich 10 verschiedene Bewegungen mit der Pumpe ausfuehren muss.
Letzte Frage, aber erstmal nicht so wichtig: Da ich bis vor kurzem keinen Zugang zur Evenstruktur hatte, musste ich diese ersatzweise aus einer while-loop und case-Strukturen zusammenbauen. Ich habe die Eventstruktur fuer die Jiggle-Methode jetzt in die innere Schleife gesetzt, damit ich die Verdrahtung fuer ressource und error beibehalte, aber muss das wirklich sein? Kann diese Evenstruktur auch ausserhalb der inneren while-Schleife sein?
Ich bedanke mich fuer jegliche Hineweise und entschuldige mich, dass ich es nicht besser verstehe.
Gruss
Blue
Ich versuche gerade ein SubVi "Autofill_v6_LV2009.vi" in mein Main.Vi "Experiment_v1.vi" einzubinden.
Autofill_v6_LV2009.vi beinhaltet eine While-Schleife, die meine Pumpe oszillieren laesst. Ich habe mich fuer eine While-Schleife mit hochzaehlendem i entschieden, weil ich hier in einem Thread gelesen habe, dass man for loops nicht abbrechen kann bzw. aus ihnen fruehzeitig herausspringen kann.
Ich habe mich also erstmal an dieser SubVi versucht und eine Stop eingebaut. Ziel war es, die Pumpe zuverlaessig sofort anzuhalten und schnellstens den while-loop zu beenden.
Das klappt aber nur bedingt. So wie das Autofill_v6_LV2009.vi jetzt ist, passiert folgendes:
Ich druecke den Stop-Button und mind. ein oder sogar zwei Durchlaeufe der while-Schleife werden erst noch absolviert, bevor die Pumpe stoppt. Ich weiss nicht, wie ich das in einen sofortigen Stop der while-Schleife abaenden kann.
Die Stop.vi ist notwendig, der Pumpe mitzuteilen, dass sie anhalten soll. Wenn man diese vi nicht drin hat, dann hoeren die Richtungswechsel auf, aber die Pumpe faehrt einfach weiter in dieselbe Richtung, was verhindert werden muss.
Zweites Problem:
Ich habe verucht, "Autofill_v6_LV_2009.vi" in meine Main.vi einzubauen. Autofill_v6_LV2009.vi ist in einer Eventstruktur innerhalb der Main eingebettet, weil sie nur nach Druecken des KNopfes "Jiggle M1" ausgeloest werden soll.
Naiv dachte ich, ich kann einen Stop-Button (Stop inner, z.B.) einfach in die SubVi uebertragen. Man verdrahtet einen Stop-Button mit dem Eingang der SubVi und dann wird das Signal in der SubVi an die richtige Stelle geleitet.
Das klappt leider gar nicht.
Folgendes passiert: Druecke "Jiggle M1", Pumpe wackelt. Will ich vorher den Stop-Button druecken, reagiert das Programm gar nicht darauf. Jiggle-Mode wird beendet und ich kann nicht mal mehr erneut auf "Jiggle M1" druecken.
Wie im letzten Thread wollte ich nicht 10 Stop-Buttons, wenn ich 10 verschiedene Bewegungen mit der Pumpe ausfuehren muss.
Letzte Frage, aber erstmal nicht so wichtig: Da ich bis vor kurzem keinen Zugang zur Evenstruktur hatte, musste ich diese ersatzweise aus einer while-loop und case-Strukturen zusammenbauen. Ich habe die Eventstruktur fuer die Jiggle-Methode jetzt in die innere Schleife gesetzt, damit ich die Verdrahtung fuer ressource und error beibehalte, aber muss das wirklich sein? Kann diese Evenstruktur auch ausserhalb der inneren while-Schleife sein?
Ich bedanke mich fuer jegliche Hineweise und entschuldige mich, dass ich es nicht besser verstehe.
Gruss
Blue