<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en" xmlns="http://www.w3.org/2005/Atom"><title>Recent posts to Wo sollte es eigentlich nach einem RETURN weitergehen ?</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/1c8c51542e/" rel="alternate"/><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/1c8c51542e/feed.atom" rel="self"/><id>https://forge.codesys.com/forge/talk/Deutsch/thread/1c8c51542e/</id><updated>2020-02-28T05:50:02.485000Z</updated><subtitle>Recent posts to Wo sollte es eigentlich nach einem RETURN weitergehen ?</subtitle><entry><title>Wo sollte es eigentlich nach einem RETURN weitergehen ?</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/1c8c51542e/?limit=25#c39b" rel="alternate"/><published>2020-02-28T05:50:02.485000Z</published><updated>2020-02-28T05:50:02.485000Z</updated><author><name>Dirk</name><uri>https://forge.codesys.com/u/dirk/</uri></author><id>https://forge.codesys.com9d4765cbb305d1ae578b3c65cd661aa25ee45c6a</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;hallo,&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;passieren sollte das eigentlich nicht und ist ein fehler.&lt;/p&gt;
&lt;p&gt;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).&lt;/p&gt;
&lt;p&gt;grüße&lt;/p&gt;
&lt;p&gt;dirk&lt;/p&gt;&lt;/div&gt;</summary></entry><entry><title>Wo sollte es eigentlich nach einem RETURN weitergehen ?</title><link href="https://forge.codesys.com/forge/talk/Deutsch/thread/1c8c51542e/?limit=25#0203" rel="alternate"/><published>2020-02-28T05:49:56.378000Z</published><updated>2020-02-28T05:49:56.378000Z</updated><author><name>Erik Böhm</name><uri>https://forge.codesys.com/u/erik-boehm/</uri></author><id>https://forge.codesys.com3244eb527c084dc349cd5960512ef3cb080955c4</id><summary type="html">&lt;div class="markdown_content"&gt;&lt;p&gt;Hallo&lt;/p&gt;
&lt;p&gt;Ich rufe aus dem PLC_PRG ein anderes Programm (PRG, FUN, FB) auf, und habe in diesem eine Abbruchbedingung, die dann ein RETURN; aufruft.&lt;/p&gt;
&lt;p&gt;Z.B.:&lt;/p&gt;
&lt;p&gt;IF not bInit THEN&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="nv"&gt;Init&lt;/span&gt;&lt;span class="ss"&gt;()&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

     &lt;span class="nv"&gt;bInit&lt;/span&gt; :&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nv"&gt;true&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;

&lt;span class="k"&gt;RETURN&lt;/span&gt;&lt;span class="c1"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;END_IF&lt;/p&gt;
&lt;p&gt;Wo sollte ich nach diesem RETURN dann rauskommen ?&lt;/p&gt;
&lt;p&gt;Ich dachte, nach dem Aufruf des Unterprogramms im PLC_PRG, also in der nächsten Zeile.&lt;/p&gt;
&lt;p&gt;Dem ist aber nicht so. Der Ablauf beginnt wieder in Zeile 1 des PLC_PRG.&lt;/p&gt;
&lt;p&gt;Das kommt mir spanisch vor...&lt;/p&gt;
&lt;p&gt;Weiss jemand,wie die korrekte Definition in der IEC 61131-3 lautet ?&lt;/p&gt;
&lt;p&gt;MfG&lt;/p&gt;
&lt;p&gt;Erik&lt;/p&gt;&lt;/div&gt;</summary></entry></feed>