Unterschied Aufruf in SubVI oder direkt in Hauptprogramm
Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Unterschied Aufruf in SubVI oder direkt in Hauptprogramm
Hallöchen!
Ich hab folgendes Problem: ich berechne Daten in for- und flat-sequence-Schleifen und gebe diese auf dem Frontpanel aus. Wenn ich meine for- und flat-sequence-Schleifen direkt in meinem Hauptprogramm (while-Schleife) hab funktioniert alles. Wenn ich jedoch meine for- und flat-sequence-Schleifen in einem sub-VI hab (welches ich aber auch in der while-Schleife aufrufe) zeigt er mir die Daten kurz auf dem Frontpanel an und danach zeigt er dann immer nur noch Nullen an.
Wie kann ich das vermeiden und was ist der Unterschied zwischen den beiden Aufruf-Arten?
Unterschied Aufruf in SubVI oder direkt in Hauptprogramm
Hi,
es gibt prinzipiell keinen Unterschied zwischen beiden Aufrufarten!
Mach mal die Highlight-Funktion an (Lampe), und schau dir (evtl. mit Sonden) an, was genau passiert!
Ansonsten: Poste mal dein VI! Evtl. wird was falsch initialisiert, evtl. rufst du ein VI mehrmals auf, ohne es als "ausführungs-invariant" gespeichert zu haben...tausend Möglichkeiten...
Gruss
Achim
PS: Ne Sequence ist definitiv keine "Schleife", sondern ne Struktur!
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Unterschied Aufruf in SubVI oder direkt in Hauptprogramm
Hab die gleichen Einstellungen wie bei anderen SubVI's die auch Ausgaben haben, jedoch haben die keine Schleifen...
Hab mir den Datenfluss mal angeschaut, finde aber nix wo ich ansetzen kann...
Kann leider mein VI nich hochladen und ins Forum stellen, hatte gestern schon das Problem und heut klappt's auch net....
Aber vielleicht hast du ja so noch nen Tipp?
Unterschied Aufruf in SubVI oder direkt in Hauptprogramm
Hi,
mir fällt auch noch was auf: Warum steuerst du die Ausgänge Boolean2 und Boolean4 über den Umweg "Case" an? Bei Case=TRUE gibst du TRUE weiter, ebenso wie bei Case=FALSE der Wert FALSE übergeben wird...da kannst du doch direkt deinen Wert anschließen!
Wie Kvasir schon gesagt hat: Poste mal auch das HauptVI
Gruss
Achim
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Anzeige
13.07.2006, 11:56 (Dieser Beitrag wurde zuletzt bearbeitet: 13.07.2006 12:06 von Newcomer.)
Unterschied Aufruf in SubVI oder direkt in Hauptprogramm
Ja, das mit der Case-Struktur war nur zum Testen, hab ich schon geändert.
Die for-Schleife statt der Case-Struktur hab ich genommen weil ich möchte dass die Berechnung wirklich nur einmal stattfindet...
Mein Haupt-VI ist nen bissl zu groß um es hier ins Netz zu stellen, der Teil den ich jetz als Sub-VI hab sieht ja da eh 100%ig genauso aus.
Ich hatte das so gemacht dass ich den Teil markiert und dann mit Create SubVI das SubVi draus gebildet hab. Da kommt aber auch ne Meldung dass ich Indikatoren in einer Case-Abfrage habe und dass es zu Veränderungen kommen kann.... Wie kann ich das vermeiden?
Unterschied Aufruf in SubVI oder direkt in Hauptprogramm
hah...
ich glaube, ich weiß woran es liegt...dein hinweis mit der schleife isses...
wenn die schleife null mal ausgeführt wird, das vi aber mehrfach aufgerufen wird (in der umgebenden while schleife...), was meinst du, was in den ausgängen für werte abgelegt werden? gar keine! und folglich wird auch nur kurz was angezeigt, nämlich beim ersten ausrechnen!
das musst du abfangen! z.B. in dem du den alten wert mit ins subvi führst und diesen in der case-struktur (ersatz für deine for-schleifen) durchschleifst, wenn keine berechnung stattfinden soll/darf!
ich wette...
gruss
achim
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)