7.8.9
Instrucción GOTO
Tabla 7- 105 Instrucción GOTO
SCL
GOTOJumpLabel
Instrucción;
... ;
JumpLabel: Instrucción;
No es posible saltar a una sección de bucle (FOR, WHILE o REPEAT). Sí que es posible
saltar desde dentro de un bucle.
En el ejemplo siguiente: en función del valor del operando "Tag_value", la ejecución del
programa se reanuda en el punto definido por la etiqueta correspondiente. Si "Tag_value" =
2, la ejecución del programa se reanuda en la etiqueta "MyLabel2" y omite "MyLabel1".
CASE "Valor_variable" OF
1 : GOTO MyLabel1;
2 : GOTO MyLabel2;
ELSE GOTO MYLabel3
END_CASE;
MyLabel1: "Variable_1" := 1;
MyLabel2: "Variable_2" := 1;
MyLabel3: "Variable_4" := 1;
7.8.10
Instrucción RETURN
Tabla 7- 106 Instrucción RETURN
SCL
Return;
Ejemplo de instrucción RETURN:
IF "Error" <> 0 THEN
Return;
END_IF
Nota
Una vez ejecutada la última instrucción, el bloque lógico regresa automáticamente al bloque
invocante. No inserte una instrucción RETURN al final de un bloque lógico.
Controlador programable S7-1200
Manual de sistema, 11/2011, A5E02486683-05
Descripción
La instrucción GOTO omite instrucciones y salta a una etiqueta del mismo bloque.
La etiqueta ("JumpLabel") y la instrucción GOTO deben estar en el mismo bloque.
El nombre de una etiqueta sólo puede asignarse una vez dentro de un bloque.
Cada etiqueta puede ser el destino de varias instrucciones GOTO.
Descripción
La instrucción RETURN abandona sin condiciones el bloque lógico que se está ejecutando. La
ejecución del programa regresa al bloque invocante o al sistema operativo (si abandona un OB).
100BInstrucciones básicas
7.8 Control del programa
229