Llamar subrutina, Retorno de subrutina
K
O
P
F
K
U
O
EN
P
P
A
SBR
W
CRET
L
221
222
Nota
Micro/WIN 32 añade automáticamente un retorno desde cada subrutina.
Se pueden anidar (situar una llamada a subrutina en otra) hasta ocho subrutinas (profundi-
dad de anidamiento = 8 niveles). Si bien la recursión (la subrutina se llama a sí misma) está
permitida, hay que utilizarla con cautela.
Cuando se llama a una subrutina, se almacena toda la pila lógica, poniéndose a "1" el nivel
superior de la pila. Sus demás niveles se ponen a "0" y la ejecución se transfiere a la subru-
tina que se ha llamado. Cuando ésta se termina de ejecutar, se restablece la pila con los
valores almacenados al llamar a la subrutina y se retorna a la rutina que ha efectuado la
llamada.
Los acumuladores son comunes a las subrutinas y a la rutina de llamada. Los acumuladores
no se almacenan ni se restablecen si se utilizan con subrutinas.
Sistema de automatización S7-200, Manual del sistema
C79000-G7078-C233-01
La operación Llamar subrutina transfiere el control a la
subrutina (n). Dicha operación se puede utilizar con o sin
parámetros. Para añadir una subrutina, elija los comandos de
SBR
menú Edición > Insertar > Subrutina.
RET
La operación Retorno condicional de subrutina se utiliza
para finalizar una subrutina en función de la combinación lógica
precedente.
SBRn
Operandos:
Tipos de datos:
RET
Una vez ejecutada la subrutina, el control vuelve a la operación
que sigue a la llamada de la subrutina (CALL).
La figura 9-55 muestra ejemplos de las operaciones Llamar
n
subrutina y Retorno de subrutina.
Condiciones de error que ponen ENO a 0 para la llamada de
subrutina con parámetros:
SM4.3 (tiempo de ejecución), 0008 (excedida la profundidad
máxima de anidamiento)
224
Operaciones SIMATIC
n:
constante
BYTE
9-145