|
parallele Threads/Pfade am Sequence Pin zusammenführen
|
|
25.06.2010, 07:59
(Dieser Beitrag wurde zuletzt bearbeitet: 25.06.2010 08:07 von Marc1897.)
Beitrag: #1
|
|||
|
|||
|
parallele Threads/Pfade am Sequence Pin zusammenführen
Hallo!
Ich habe heute das Übungsbuch von Meilhaus in die Hände bekommen (ist für den Einstieg gar nicht mal so schlecht) Ein Beispiel verstehe ich aber nicht. Ihr könnt mir da sicherlich weiterhelfen ![]() Es geht um parallele Threads, die mit Gates verknüpft werden. Im Bild unten soll "Start Engine" erst ausgeführt werden, wenn alle 4 Threads abgearbeitet sind. Angenommen "Activate Batteries" und "Guidance On" sind aber schneller fertig als die anderen 2, dann wird trotzdem schon weitergemacht. (siehe zweites Bild) Jemand eine Ahnung wie man es richtig macht? Ich schicke die Lösung dann auch an Meilhaus ![]() Eigentlich braucht man ja nur ein "AND"-Objekt für Sequenzsignale... Gibt es sowas in VEE? Gruß Marc Mir ist gerade eine (etwas umständliche) Lösung eingefallen ![]() Jeder Thread/Pfad setzt eine Variable auf 1, wenn er fertig ist und vor "Start Engine" wird jede Variable mit if/then/else auf 1 geprüft. Geht das auch einfacher? |
|||
|
27.06.2010, 12:51
(Dieser Beitrag wurde zuletzt bearbeitet: 27.06.2010 13:05 von detlef.)
Beitrag: #2
|
|||
|
|||
|
RE: parallele Threads/Pfade am Sequence Pin zusammenführen
Im Prinzip geht es so:
Die Pings sind ja "binaerlos", ich muesste aber mal checken, ob sich das nicht in Vee9x geaendert hat. Dieses Beispiel hier ist in Vee8.5 getestet. Immer mal den programflow mit den Execution flow und den Data flow checken ( ich hoffe, du weisst, was ich meine ;-) ) Ausserdem sind deine 2 Beispiele nicht identisch, du muesstest deine Waits selbst in einem Object kapseln, um korrekt zu sein... Vielleicht ist es so noch ein wenig einfacher, Input ist boolean True: |
|||
|
28.06.2010, 08:46
Beitrag: #3
|
|||
|
|||
|
RE: parallele Threads/Pfade am Sequence Pin zusammenführen
Vielen Dank!
Dachte mir schon fast, dass man es so machen muss (siehe Edit von meinem Beitrag) Ich nehme mal an, dass du mit binärlose Pings meinst, dass man das Delay nicht direkt mit dem If/Then/Else verbinden kann - geht auch in der Version 9.2 nicht. Execution flow und Data flow sagt mir was ;-) Habe mich nur schon einmal gewundert, dass er für eine Schleife, die nur wenige Sekunden dauern sollte, fast eine Minute gebraucht hat. Also immer schön den Flow ausschalten, wenn es um Zeitmessung geht ;-) Die 2 Beispiele sind im Prinzip doch identisch. Die Waits laufen genauso wie Threads parallel. Wenn ich die Waits in User-Objekte (meintest du das?) packe, werden sie ja nacheinander ausgeführt. Oder hast du Thread-Objekte gemeint, dann wüsste ich aber nicht was das für einen Unterschied machen würde. |
|||
|
28.06.2010, 10:50
(Dieser Beitrag wurde zuletzt bearbeitet: 28.06.2010 10:50 von detlef.)
Beitrag: #4
|
|||
|
|||
|
RE: parallele Threads/Pfade am Sequence Pin zusammenführen
Hast schon recht. Ich werde das mal mit Vee9.2 checken und dann genauer erklaeren, was ich meinte...
|
|||
|
|

Suche
Mitglieder
Kalender
Hilfe



