Logik in RoboPro Programm

Alles rund um TX(T) und RoboPro, mit ft-Hard- und Software
Computing using original ft hard- and software
Forumsregeln
Bitte beachte die Forumsregeln!
Antworten
jomifa
Beiträge: 41
Registriert: 09 Jun 2019, 15:22

Logik in RoboPro Programm

Beitrag von jomifa » 02 Dez 2019, 13:23

Hallo zusammen,
ich habe eine generelle Frage zu einem Programmablauf (siehe Anhang).

In dem gezeigten Unterprogramm kommen 3 weitere Unterprogramme:

- VSG Position Z
- VSG Position Y
- VSG Position X

parallel zur Ausführung.

Die Anweisung " Warten auf ..." soll solange warten bis alle Unterprogramme abgearbeitet worden sind bevor die Kontrolle an die aufrufende Routine
übergeben wird.

M.E: kann das nur geschehen, wenn die Unterprogramme VSG Position Z und Y nach dem Unterprogramm VSG Position X enden. Ansonsten
liegt an der UND Bedingung nicht der Wert "1" an und die "Warten auf ..." Bedingung ist nicht erfüllt, da sie noch nicht ausgeführt wird, obwohl alle Unterprogramme ausgeführt worden sind.
Streng genommen müsste nur ein Unterprogramm VSG Position Z oder Y nach dem Unterprogramm VSG Position X zu ende gehen, damit die UND Bedingung wahr ist und die "Warten auf ..." Bedingung ebenfalls wahr würde. Voraussetzung ist, dass VSG Position Z und Y natürlich beendet wurden.

Sehe ich das richtig?!?

Grüße
Joachim
Dateianhänge
VGS+HRL.JPG
VGS+HRL.JPG (104.51 KiB) 1738 mal betrachtet

vleeuwen
Beiträge: 1557
Registriert: 31 Okt 2010, 22:23
Wohnort: Enschede (NL)
Kontaktdaten:

Re: Logik in RoboPro Programm

Beitrag von vleeuwen » 04 Dez 2019, 01:08

Dies wird nicht immer gut funktionieren, siehe:
This will not always work well, see:
viewtopic.php?f=8&t=5672

jomifa
Beiträge: 41
Registriert: 09 Jun 2019, 15:22

Re: Logik in RoboPro Programm

Beitrag von jomifa » 04 Dez 2019, 10:52

Hallo,
schön, dass dieses Problem bereits bekannt ist. Dann sollte ft dieses in seiner vorhandene Programmlogik berücksichtigen.

M.E. würde folgende Änderung des Programms genügen, damit das Unterprogramm 'Postion 1' nur dann endet, wenn alle Funktionsaufrufe X,Y und Z beendet worden sind.
Dateianhänge
Unbenannt.JPG
Unbenannt.JPG (105.54 KiB) 1608 mal betrachtet

Antworten