ich gehe davon aus, dass sie beim steppen über den return wieder in plc_prg landen. das passiert immer dann, wenn das laufzeitsystem die aktuelle rücksprungadresse nicht ermitteln kann. der nachfolgebreakpoint wird dann auf die erste anweisung der task gesetzt. der zyklus wird in diesem fall fertig gerechnet und es hat nur den anschein, dass man auf die erste zeile von plc_prg gesteppt ist. überprüfen kann man das, indem man auch einen breakpoint nach dem funktionsaufruf setzt. dort sollte man dann rauskommen, wenn man über den return steppt.
passieren sollte das eigentlich nicht und ist ein fehler.
ansonsten beendet der return die bearbeitung des bausteins in dem er aufgerufen wird. er muss also genau das machen was sie erwarten (und die iec61131-3 auch).
grüße
dirk
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hallo
Ich rufe aus dem PLC_PRG ein anderes Programm (PRG, FUN, FB) auf, und habe in diesem eine Abbruchbedingung, die dann ein RETURN; aufruft.
Z.B.:
IF not bInit THEN
END_IF
Wo sollte ich nach diesem RETURN dann rauskommen ?
Ich dachte, nach dem Aufruf des Unterprogramms im PLC_PRG, also in der nächsten Zeile.
Dem ist aber nicht so. Der Ablauf beginnt wieder in Zeile 1 des PLC_PRG.
Das kommt mir spanisch vor...
Weiss jemand,wie die korrekte Definition in der IEC 61131-3 lautet ?
MfG
Erik
hallo,
ich gehe davon aus, dass sie beim steppen über den return wieder in plc_prg landen. das passiert immer dann, wenn das laufzeitsystem die aktuelle rücksprungadresse nicht ermitteln kann. der nachfolgebreakpoint wird dann auf die erste anweisung der task gesetzt. der zyklus wird in diesem fall fertig gerechnet und es hat nur den anschein, dass man auf die erste zeile von plc_prg gesteppt ist. überprüfen kann man das, indem man auch einen breakpoint nach dem funktionsaufruf setzt. dort sollte man dann rauskommen, wenn man über den return steppt.
passieren sollte das eigentlich nicht und ist ein fehler.
ansonsten beendet der return die bearbeitung des bausteins in dem er aufgerufen wird. er muss also genau das machen was sie erwarten (und die iec61131-3 auch).
grüße
dirk