![]() |
Paralleles Ausführen von SubVIs - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Paralleles Ausführen von SubVIs (/Thread-Paralleles-Ausfuehren-von-SubVIs) Seiten: 1 2 |
Paralleles Ausführen von SubVIs - MatthiasHellberg - 08.02.2011 11:12 Hallo zusammen, ich bastel zurzeit an meiner Bachelorthesis und benötige ein wenig Hilfe, da ich in LV nicht 100%ig fit bin. Ziel ist es eine Anlage auf einem Notebook zu simulieren. Die Simulationsdaten werden per Ethernetverbindung an eine S7-SPS übermittelt, die daraufhin die "Anlage" steuert. Kommunikation zwischen LV und S7 klappt wunderbar, jedoch hakt es sprichwörtlich in LV. Da ich den Prozess mit einem Übersichtsbild visualisieren und dort auch Einstellungen über SubVIs - Dialogfenster - vernehmen möchte, stoppt das Hauptprogramm nun solange das neue Dialogfenster offen ist. Wie kann man dieses beheben? Habe eine Case-Schleife, die das entsprechende SubVI mit Dialogmaske aufruft, sobald auf ein Ventil oder ähnliches geklickt wird und es wird ein Cluster aus dieser Schleife zu meinem KommunikationsVI herausgeführt. Des Weiteren wäre es wünschenswert, wenn mehr als eine Dialogmaske gleichzeitig aufgerufen werden könnte. Benutze LV2009 Beste Grüße Matthias [attachment=32181] RE: Paralleles Ausführen von SubVIs - GerdW - 08.02.2011 11:30 Hallo Matthias, als Bachelor sollte man wissen, dass PNG wesentlich kleinere Dateien erzeugt! (s. Anhang, 11kB statt 1,9MB ![]() - Beschäftige dich bitte mit parallel laufenden Schleifen. Dann kannst du Eingabe (Dialogfenster) und Ausgabe (SPS, Visualisierung) trennen und unabhängig laufen lassen. - Wenn du Dialoge erstellst, die nicht blockieren sollen, dann setze deren Fenster-Einstellungen nicht auf "Modal"... - Überlege dir einen zentralen Datenspeicher (z.B. in Form einer FunctionalGlobalVariable/FGV), um die diversen Einstellungen intern zu speichern! RE: Paralleles Ausführen von SubVIs - jg - 08.02.2011 11:34 ![]() Gerd hat es schon gesagt: (08.02.2011 11:30 )GerdW schrieb: als Bachelor sollte man wissen, dass PNG wesentlich kleinere Dateien erzeugt! (s. Anhang, 11kB statt 1,9MBBitte keine Screenshots als BMP (vgl. Forenregeln). BMP ist gelöscht und gegen PNG ausgetauscht. Gruß, Jens RE: Paralleles Ausführen von SubVIs - MatthiasHellberg - 08.02.2011 12:05 (08.02.2011 11:30 )GerdW schrieb: als Bachelor sollte man wissen, dass PNG wesentlich kleinere Dateien erzeugt! (s. Anhang, 11kB statt 1,9MB Kommt auf das Studienfach an ;-) Ich werde mich dann erstmal mit den parallelen Schleifen beschäftigen ![]() RE: Paralleles Ausführen von SubVIs - MatthiasHellberg - 04.04.2011 08:44 Moin zusammen! Ich bin mittlerweile sehr gut vorangekommen und habe es auch mit den parallelen Schleifen hinbekommen, danke nochmal für den Hinweis :-) Da ich nun in den Endzügen meiner Arbeit stecke, bin ich noch am Verfeinern. Dazu gehört nun noch das Öffnen mehrerer Frontpanels. Die Suchfunktion habe ich schon bemüht, aber es leider nicht geschafft etwas passendes für mich zu finden :-( Ich habe SubVIs als Menus erstellt, in denen ich Parameter für meine Simulation eingeben kann. An diese Übergebe ich zum Einen eine Referenz auf einen Cluster und zum Anderen einen String.Der String wird als Überschrift verwendet wird, damit man die einzelnen Menus (welche gleich aufgebaut sind) unterscheiden kann. Aufgerufen werden diese SubVIs durch eine Ereignisstruktur. Zusammengefasst bräuchte ich also Hilfe dabei, weitere Menus über eine Ereignisstruktur zuöffnen und ihnen dabei diese beiden Eingänge zu übergeben. Bereits geöffnete VIs sollten auch offen bleiben. Habt Ihr eine Idee wie das funktionieren könnte? Beste Grüße! Matthias ![]() RE: Paralleles Ausführen von SubVIs - GerdW - 04.04.2011 08:50 Hallo Matthias, Zitat:Aufgerufen werden diese SubVIs durch eine Ereignisstruktur.Ich hoffe doch "nicht blockierend"... Zitat:Hilfe dabei, weitere Menus über eine Ereignisstruktur zuöffnen und ihnen dabei diese beiden Eingänge zu übergeben.??? Du rufst schon solche "Menus" auf (wohl doch eher "Dialogfenster") und willst jetzt wissen, wie du weitere solcher Fenster öffnest??? Ich würde mal sagen. Genau wie bisher auch... Zitat:Habt Ihr eine Idee wie das funktionieren könnte?Ja. Bitte dein Problem genauer beschreiben. Oder ein (Beispiel-)VI anhängen... RE: Paralleles Ausführen von SubVIs - MatthiasHellberg - 04.04.2011 09:16 Mein genaues Problem besteht darin, dass ich beispielsweise ein Objekt im Hauptfenster anklicke und sich dann ein Dialogfenster(1) (von mir als Menu bezeichnet :-) ) öffnet, in dem ich Parameter einstellen kann. Soweit ist das auch gewollt, jedoch möchte ich im Hauptfenster ein weiteres Objekt anklicken, damit sich dann ein weiteres Dialogfenster(2) öffnet und ich hier ebenfalls Parameter einstellen kann. Dieses funktioniert allerdings nicht, sondern das angeforderte Fenster(2) öffnet sich erst, wenn ich das erste Dialogfenster(1) geschlossen habe. Bei entsprechend mehreren Klicks öffnet sich das Fenster erst, wenn das vorherige geschlossen wird. Es ist momentan nur möglich ein SubVI Frontpanel zurzeit geöffnet zu haben. Der Aufruf dieser Dialogmasken geschieht in einer eigens dafür angelegten While-Schleife (im Blockdiagramm des MainVI) in welcher sich eine Ereignisstruktur befindet. Unterscheidung ist dann mit Mausklicks auf die verschiedenen Ojekte gegeben. Unter Fenstererscheinungsbild habe ich: Verhaltensweise des Fensters: Voreinstellung ausgewählt. RE: Paralleles Ausführen von SubVIs - GerdW - 04.04.2011 09:33 Hallo Matthias, was hatte ich vorhin gefragt: Zitat:Ich hoffe doch "nicht blockierend"...Default-Einstellung für Events ist: "UI blockieren, bis abgearbeitet". Ist anscheinend der Fall bei dir... Außerdem: Datenfluss beachten. Solange ein Event abgearbeitet wird ("Aufruf eines subVI"), kann kein zweites Event abgearbeitet werden. Hier böte sich eine Producer-Consumer-Struktur an, in der dann die subVIs nicht-blockierend (per VI-Server-Call) aufgerufen werden. RE: Paralleles Ausführen von SubVIs - MatthiasHellberg - 05.04.2011 10:05 Danke für den Hinweis, kannte diese Option bei der Ereignisstruktur noch nicht. :-) Habe mich mal in dem VI-Server-Call versucht, allerdings fehlt mir dazu einfach die Erfahrung. Bekomme es hin, dass Werte übergeben werden und ich auch Werte lesen kann, allerdings hilft mir das ganze gerade nicht weiter. Mein Problem, dass ich nur ein SubVI zurzeit öffnen kann besteht leider noch. Habe mal ein MainVI und zwei Mini-Dialoge angehängt, die ich zum Testen erstellt habe. Könnte mir jemand mal zeigen, wie ich das in dem Fall grundsätzlich hinbekommen würde? ![]() RE: Paralleles Ausführen von SubVIs - jg - 05.04.2011 10:24 Du musst aus dem Datenfluss von LabVIEW rauskommen. Deshalb muss bei "Wait until Done" bei der InvokeNode "Run VI" ein False angeschlossen sein, kein True. Gruß, Jens |