Seite 1 von 1

Asyncroner Prozess im Unterprogramm

Verfasst: 11 Feb 2012, 11:07
von roch
Guten Tag,
eine Frage zu RoboPro:
Ich möchte vom Hauptprogramm ein Unterprogramm aufrufen. Das Unterprogramm benötigt mit Wartebefehlen ca 10 Sekunden. Das Hauptprogramm soll aber sofort weiter laufen.
Wie kann ich das erreichen?

EIn Ansatz war: Im Unterprogramm einen neuen Prozess starten. Aber der scheint mir beendet zu werden, wenn das Unterprogramm beendet wird.

Hat jemand einen Tipp?

Gruß
Thomas

Re: Asyncroner Prozess im Unterprogramm

Verfasst: 11 Feb 2012, 11:49
von McDoofi
Hallo roch,

ich würde an deiner Stelle, da wo das Unterprogramm hinsoll ein =1 Befehl an eine Variable schicken und diese in einem anderen Prozess des Hauptprogramms abfragen. Wenn die Variable =1 ist, dann soll das Programm ins Unterprogramm verzweigen, ansonsten einfach weiter warten. Im Hauptprozess würde ich direkt danach noch einen =0 Befehl senden, dass das Unterprogramm nicht dauernd aufgerufen wird, und auch im Nebenprozess dann nach dem das Unterprogramm beendet wurde, warten bis die Variable =0 ist. (J/N-Elemente aus dem Verzweigungsenster).

MfG

McDoofi

Bild

P.S.: Ja, endlich funktioniert auch das Bild! :)

Re: Asyncroner Prozess im Unterprogramm

Verfasst: 11 Feb 2012, 12:03
von Dirk Fox
Hallo Thomas,

das geht mit RoboPro möglicherweise noch deutlich eleganter: Anstatt ein Unterprogramm aufzurufen, startest Du *zwei parallele* Hauptprogramme, und lässt eines davon z.B. den Wert einer Variable abfragen, der im anderen Hauptprogramm gesetzt wird - damit startest Du dann den zweiten Prozess.

Beste Grüße,
Dirk