Was sollte es eigentlich nach einem RETURN weitergehen ?

2006-04-19
2006-04-19
  • Erik Böhm - 2006-04-19

    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

    Init();
    
         bInit := true;
    
    RETURN;
    

    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

     
  • Erik Böhm - 2006-04-19

    Sorry, hab nur den Rechtschreibfehler im Titel geändert, da wurde das Ganze noch mal gepostet...

    Einfach ignorieren

     
  • Anonymous - 2006-04-19

    Originally created by: Bernhard Werner

    Hallo Herr Böhm,

    es ist natürlich so, wie Sie es erwarten. Nach return in einem Unterprogramm kommt man bei Aufrufer nach dem Aufruf wieder raus. Alles andere wäre ein schwerer Fehler.

    Wenn Sie durch das Programm steppen, dann springt man beim Return an das Ende der jeweiligen Funktion (Program, FB) und kehrt von dort zum Aufrufer zurück.

    Beschreiben Sie doch mal genauer, auf welcher Plattform Sie arbeiten und hängen Sie mal ein Testprojekt mit an, damit wir das analysieren können.

    mit freundlichen Grüßen,

    Bernhard Werner

     
  • Erik Böhm - 2006-04-19

    Hallo Herr Werner

    Vielen Dank für die schnelle Antwort.

    Ich hab grade eine neue 'Combo'-Steuerung von Elrest mit 167 CPU zum Testen.

    In besagtem Aufruf waren mehrere RETURN ineinander verschachtelt.

    Ich habe das ganze ein wenig einfacher und übersichtlicher gestaltet, dann funktionierts auch. Das wurde der Steuerung (oder dem Compiler) wohl etwas zu kompliziert.

    Auf die selbe Weise habe ich das aber auch schon mit der RTE gemacht, da gibts kein Problem.

    Es lohnt wohl momentan nicht unbedingt das weiter zu verfolgen.

    MfG

    Erik Böhm

     

Log in to post a comment.