Salto incondicional
La ejecución del programa continua en la etiqueta definida en el campo del operando.
Los operandos válidos para este operador deben ser de uno de los siguientes tipos de datos: Cualquier etiqueta válida del programa.
var_1, var_2, var_3, var_4 y var_5 en este ejemplo, tienen que ser de tipo numérico. LABEL1 y LABEL2 tienen que ser etiquetas válidas dentro del programa. La etiqueta dentro del programa, tiene que estar seguida de dos puntos, sin embargo en la intrucción JMP, se omiten los dos puntos después del nombre de la etiqueta.
Las etiquetas solamente se pueden insertar al comienzo de la red. Se puede insertar una etiqueta al comienzo de cualquier red, incluso si nunca se salta a ella (por ejemplo, LABEL0 en el código del ejemplo).
En la cabecera de la POU, se declaran todas las variables de entrada y de salida que van a ser usadas en la programación de esta función.
(* Beginning of network 0 *) |
|||
LABEL0: |
LD |
var_1 |
(* Load var_1 in accu *) |
ADD |
var_2 |
(* Add var_2 to accu; result is stored in accu *) |
|
JMP |
LABEL1 |
(* Continue program execution at position marked by LABEL1 *) |
|
(* Beginning of network 1 *) |
|||
LABEL1: |
MUL |
var_3 |
(* Multiply accu by var_3 *) |
SUB |
var_4 |
(* Subtract var_4 from accu; result is store in accu *) |
|
ST |
var_5 |
(* Store accu in var_5 *) |
|
JMP |
LABEL2 |
(* Continue program execution at position marked by LABEL2 *) |
|
LABEL2: |