Jak wrócić z podprogramu w PLC Siemens? Instrukcja RET

Share
Jak wrócić z podprogramu w PLC Siemens? Instrukcja RET

Wprowadzenie do instrukcji RET

Możesz użyć instrukcji „Return”, aby warunkowo lub bezwarunkowo zatrzymać wykonanie bloku programu. Jeśli chcesz łatwiej zrozumieć działanie funkcji RET w praktyce, warto sięgnąć po symulator języka drabinkowego PLC. Dzięki temu można testować różne scenariusze bez ryzyka dla rzeczywistego systemu. Stan sygnału wartości zwracanej (operand) jest mapowany w wyjściu włączającym ENO bloku programu wywołującego, gdy blok programu jest opuszczany.

Jak zakończyć blok programu?

Istnieją trzy sposoby, w jakie wykonanie bloku programu może być zakończone:

Zakończenie bloku programuDescription
Bez wywołania instrukcjiBlok programu jest opuszczany po wykonaniu ostatniej sieci. Wyjście włączające ENO bloku programu wywołującego jest ustawiane na stan sygnału „1”.
Wywołanie instrukcji z poprzednią operacją logiczną (patrz przykład)Jeśli poprzednia operacja logiczna jest spełniona, wykonanie programu w aktualnie wywoływanym bloku programu jest zakończone, a blok programu jest opuszczany. (Warunkowe zakończenie bloku programu) Wykonanie programu jest kontynuowane w wywołującym bloku programu (np. OB) po wywołaniu bloku programu. Wyjście włączające ENO bloku programu wywołującego odpowiada operandowi.
Wywołanie instrukcji bez poprzedniej logiki lub instrukcja jest bezpośrednio połączona z lewym zasilaniem.Blok programu jest opuszczany bezwarunkowo. (Bezwzględne zakończenie bloku programu) Wyjście włączające ENO bloku programu wywołującego odpowiada operandowi.

Co się dzieje po zakończeniu bloku organizacyjnego?

Jeśli blok organizacyjny (OB) jest zakończony, inny blok programu jest wybierany przez system poziomu wykonania i uruchamiany lub dalej wykonywany.

  • Jeśli cykl programu OB jest zakończony, jest on restartowany.
  • Jeśli zakończony jest OB, który przerwał inny blok programu (np. OB przerwania), to przerwany blok programu (np. OB cyklu programu) jest dalej wykonywany.

Uwaga
Instrukcja RET w odniesieniu do JMP i JMPNJeśli sieć już zawiera instrukcję „JMP: Skok, jeśli RLO = 1” lub „JMPN: Skok, jeśli RLO = 0”, instrukcja „RET: Powrót” nie powinna być używana. W sieci może być używana tylko jedna cewka skoku.

Możliwe ustawienia wartości zwracanej (operand)

Wartość zwracana przez instrukcję może przyjmować następujące wartości:

  • Ret (RLO, odpowiada wynikowi operacji logicznej RLO. Stan sygnału „1” jest dostarczany do wyjścia włączającego ENO bloku programu wywołującego, ponieważ instrukcja RET jest wykonywana tylko wtedy, gdy warunek jest PRAWDA.)
  • Ret Prawda lub Ret Fałsz (odpowiednia wartość stałej, PRAWDA lub FAŁSZ, jest dostarczana do bloku programu wywołującego.)
  • Ret Wartość (wartość tagu logicznego jest dostarczana do bloku programu wywołującego.)

Aby ustawić wartość zwracaną instrukcji, kliknij mały żółty trójkąt instrukcji i wybierz żądaną wartość z listy rozwijanej.

Następująca tabela pokazuje status bloku programu wywołującego, gdy instrukcja jest zaprogramowana w sieci w obrębie wywoływanego bloku programu:

RLOWartość zwracanaENO bloku programu wywołującego
1RLO1
PRAWDA1
FAŁSZ0
<Operand>Tag logiczny z możliwymi obszarami pamięci I, Q, M, D, L, T i C<Operand>
0RLOWykonanie programu jest kontynuowane w następnej sieci wywoływanego bloku programu.
PRAWDA
FAŁSZ
<Operand>

Przykład użycia instrukcji RET

Example

Następujący przykład pokazuje, jak działa instrukcja:

AD 4nXeFdHGe7go GUWyPGWumDqdwNbF tPzLX3Od6O7DW7u4aIwWCHKi9Wf3t7Grmk L8yg1ANA6uSke5eLTZ7YukY uq73u97YjicM1zOSFoVwFS0hhm8BeIZcYWywTF2y7JErGwUVISFW0oJnKatnEg?key=JZerwMscd5Z65SmyMbWA5Q

Jeśli operand „TagIn” ma stan sygnału „1”, instrukcja jest wykonywana. Wykonanie programu kończy się w wywoływanym bloku programu i kontynuuje w wywołującym bloku programu. Wyjście włączające ENO bloku programu wywołującego jest resetowane do stanu sygnału „0”.

Share
Recommended course!
Until 20.09.2022 rebate -15% on:

SIMATIC S7 in action

Sign up for the newsletter!
Author of entries
Tomasz Gilewski

Hello, my name is Tomasz Gilewski. I am the author of books on the S7-1200 controller and HMI panels (i.e. Siemens hardware). I have been programming exclusively on Siemens hardware and engineering tools for several years.

Leave a Comment

Select currency
Scroll to Top

Search on