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
Asyncroner Prozess im Unterprogramm
Forumsregeln
Bitte beachte die Forumsregeln!
Bitte beachte die Forumsregeln!
Re: Asyncroner Prozess im Unterprogramm
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

P.S.: Ja, endlich funktioniert auch das Bild!
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

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

Zuletzt geändert von McDoofi am 11 Feb 2012, 12:06, insgesamt 4-mal geändert.
- Dirk Fox
- ft:pedia-Herausgeber
- Beiträge: 1845
- Registriert: 01 Nov 2010, 00:49
- Wohnort: Karlsruhe
- Kontaktdaten:
Re: Asyncroner Prozess im Unterprogramm
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
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