Synchronisation - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Synchronisation (/Thread-Synchronisation--24770) |
Synchronisation - atul - 27.09.2013 14:20 Hallo zusammen, ich bin neu hier im Forum, auf der Suche nach einer Lösung und hoffe, dass mir hier jemand helfen kann. Ich habe vier parallel laufende Schleifen und in denen noch jeweils Case-Strukturen sind. Ein Case in der 1. Schleife wird ausgeführt und der veranlasst den start unterschiedlicher cases in den schleifen 2 und 3. Am Ende des Cases in der ersten Schleife soll ein Casebefehl für die 4 Schleife durchgeführt werden. Allerdings erst wenn die Schleifen 2 und 3 beendet sind. Ich möchte das alles gerne über die erste Schleife steuern, so dass hier bei z.B. einer Sequenzstruktur gewartet wird, bis von 2 und 3 ein "Ok kommt". dass sie durchgelaufen sind und dann erst die nächste Sequenz startet und den Case-Befehl für die vierte Schleife ausgibt. Ich habe es bisher mit Meldern, Rendevousz und Occurences probiert. Die letzten beiden kann ich nicht richtig umsetzen und sind irgendwie unpassend für mein Problem und Melder bereiten mir auch Probleme bei der Realisierung. Wenn ich die Melder nach oben verbinde, dann startet die Schleife beim Ausführen nicht einmal mehr, da sie auf Werte aus den Meldern wartet die ja allerdings erst später kommen. Hoffe ich konnte mich verständlich ausdrücken und vielleicht hat ja jemand hier noch eine Idee oder einen Tipp für mich, wie ich das hinbekomme. Freue mich über jede Rückmeldung. Mit freundlichen Grüßen atul RE: Synchronisation - Trinitatis - 27.09.2013 14:25 (27.09.2013 14:20 )atul schrieb: Wenn ich die Melder nach oben verbinde, dann startet die Schleife beim Ausführen nicht einmal mehr, da sie auf Werte aus den Meldern wartet die ja allerdings erst später kommen. Hallo atul, du musst natürlich aufpassen, dass du dir mit den Meldern keine Datenabhängigkeit schaffst --> Dataflow! Ansonsten hielte ich Melder schon für ein geeignetes Mittel. Die Wartefunktionen kannst du ja auch mit Timeouts versehen, um noch etwas anderes in der Schleife machen zukönnen. Gruß, Marko RE: Synchronisation - Lucki - 27.09.2013 16:56 Es ist immer viel einfacher, ein hochgeladenes VI, und sei es nicht so fehlerhaft, zu korrigieren, als aus dem Nichts heraus etwas vorzuschlagen. Wenn Du hilfreiche Antworten erwartest, wäre das Hochladen Deines VIs enorm beschleunigend. RE: Synchronisation - Trinitatis - 27.09.2013 18:00 (27.09.2013 16:56 )Lucki schrieb: Es ist immer viel einfacher, ein hochgeladenes VI, und sei es nicht so fehlerhaft, zu korrigieren,... aber nur dann! schönes Wochenende, Marko RE: Synchronisation - Lucki - 27.09.2013 19:08 Es war ein eigentlich ein Schreibfehler, es sollte heißen "..und sei es noch so fehlerhaft". Aber so macht es auch Sinn, wenn auch einen etwas anderen... @Marko Auch Dir ein schönes Wochenende! Ludwig RE: Synchronisation - atul - 28.09.2013 09:52 Guten Morgen, vielen Dank schonmal für die Rückmeldungen. Das VI hochladen ist etwas unpraktisch. Da es riesig ist und noch ziemlich viel anderer Kram mit drin steht. Aber ich glaube Trinitatis hat das Problem schon richtig erkannt mit dem Dataflow. Wie kann ich die Datenabhängigkeit denn verhindern? Hab es mit lokalen Variablen probiert, um so die Meldungen zu übergeben, aber die laufen ja losgelöst vom Datenfluss. Somit funktionieren die Melder nicht mehr wie gewollt, indem sie ein Warten auf den Abschluss der Schleifen 2 und 3 sicherstellen sollen. Hoffe mit der weiteren Beschreibung lassen sich noch weitere Ideen finden. Gruß atul RE: Synchronisation - Trinitatis - 28.09.2013 19:48 (28.09.2013 09:52 )atul schrieb: ... Somit funktionieren die Melder nicht mehr wie gewollt, indem sie ein Warten auf den Abschluss der Schleifen 2 und 3 sicherstellen sollen. Hallo atul, anbei mal ein einfaches Beispiel für Melder. Vielleicht bringt dich das ja auf eine Idee - anderenfalls sind deine Beschreibungen recht nebulös. Gruß, Marko |