LabVIEWForum.de - SubVi lässt sich vom HauptVi nicht steuern

LabVIEWForum.de

Normale Version: SubVi lässt sich vom HauptVi nicht steuern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo

Ich hoffe ich habe die richtige Kategorie gewählt, wenn nicht sry.

Zu meinen Problem:
Ich steuere 3 Schrittmotoren an, für jeden Motor habe ich ein eigens VI geschrieben. Jetzt wollte ich die 3 Vi´s zusammengeben, indem ich 1 Hauptprogramm mache, und die 3 Programme als SubVi rennen lasse.

In den 3 SubVi´s befindet sich jeweils eine Ereignisschleife wo Start Stop Power off/on abgefragt werden. Die Anschlüsse habe ich ganz normal Verbunden, wie mans halt im unterprogramm macht. Das Problem ist, im Timeout von der Ereignisschleife wird die Position des Motors abgefragt, aber in den dazugefügten Ereignisse (wie Start etc.) springt er nicht rein, er bleibt nur im Tineout. Der Schalter(zB.: start) verändert sich ja im Frontpanel vom SubVi aber mehr nicht. Ich bitte um hilfe, ich komme einfach nicht mehr weiter.
Wenns noch unklarheiten gibt, dann gleich sagen.^^
im vorraus danke.
OK, dann versuch ich mich mal an der Frage:

du kannst dir im HauptVI ein Ereignis erstellen und dies an die SubVIs senden. Um dies zu machen, schau in der Hilfe nach...

oder du machst es auf einfache Art:
du ersetzt deine Ereignisschleife durch eine Case-Structure und benutzt ein Enum als steuerndes Element Beispiel laesst sich hier finden

das wäre jetzt eine von doch mehreren Wegen das zu bewerkstelligen

Gruss,
Christian
Hallo
danke für die schnelle Antwort!
Ich werde es mal umprogrammieren... ich hoffe es klappt

Also lässt sich eine Ereignisschleife im SubVi nicht veränderen, wenn man zB.: einen Schalter drückt?

MFG
Ich denke nicht, dass das dein Problem sein wird.
Das Problem wird wohl daran liegen (ohne dein HautpVI gesehen zu haben), dass deine SubVIs nicht komplet abgearbeitet werden sondern immer im Timeout state hängen bleiben. Damit kannst du am FP des MainVI verändern was du willst, es wird nie im SubVI ankommen.
IMO ist die Ereignis-Schleife nicht dazu gemacht in SubVIs auf Events zu warten, sondern sie ist dazu da user-events komfortabel zu verarbeiten.
Für deine Aufgabenstellung eignet sich eine State-Machine mit oben genannter konfiguration....

Edit:
Wenn du deine LV-Version angibts, kann dir sicher jemand (vielleicht sogar ich?!) ein kleines Beispiel schreiben
OK, herzlichen dank für die hilfe und die Infos.
Dann werde ich es mal umschreiben.

mfg
Referenz-URLs