27.09.2013, 14:20
Beitrag #1
|
atul
LVF-Neueinsteiger
Beiträge: 2
Registriert seit: Sep 2013
2012
2013
DE
|
Synchronisation
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
|
|
|
27.09.2013, 14:25
Beitrag #2
|
Trinitatis
LVF-Guru
Beiträge: 1.694
Registriert seit: May 2008
7.1 / 8.0 /2014-1, 18
2002
DE
18055
Deutschland
|
RE: Synchronisation
(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
|
|
|
27.09.2013, 16:56
Beitrag #3
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
RE: Synchronisation
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.
|
|
|
27.09.2013, 18:00
Beitrag #4
|
|
|
27.09.2013, 19:08
Beitrag #5
|
Lucki
Tech.Exp.2.Klasse
Beiträge: 7.699
Registriert seit: Mar 2006
LV 2016-18 prof.
1995
DE
01108
Deutschland
|
RE: Synchronisation
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
|
|
|
28.09.2013, 09:52
Beitrag #6
|
atul
LVF-Neueinsteiger
Beiträge: 2
Registriert seit: Sep 2013
2012
2013
DE
|
RE: Synchronisation
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
|
|
|
28.09.2013, 19:48
Beitrag #7
|
|
|
| |