Este tipo de funciones son necesarias cuando no se quiere un
funcionamiento secuencial del programa. Esto se consigue mediante saltos,
bucles u llamadas a bloques.
En el IEC 61131-3 se contemplan los siguientes operadores en
IL:
|
Operador
|
Modificador
|
Operando
|
Significado
|
|
JMP
|
C,N
|
MARCA
|
Salto a marca
|
|
CAL
|
C, N
|
NOMBRE
|
Llamada a bloque funcional
|
|
RET
|
C,N
|
|
Retorno desde bloque funcional
|
En este caso el modificador “N” indica la negación booleana del operando.
El modificador “C” indica que sólo se realiza la acción cuando el resultado es
un 1 booleano (o un 0 si lleva el modificador N).
Cualquiera de estas funciones se pueden realizar de forma
condicionada o incondicionada
Funciones de gestión en CoDeSys:
Saltos
condicionados e incondicionados:
En IL
|
Orden
|
Significado
|
|
|
JMP
|
M001
|
//Salto incondicionado a la marca M001
|
|
LD
JMPC
|
VAR1
M002
|
//El salto a la marca M002 sólo se realiza si la variable VAR1
//tiene el valor TRUE
|
|
LD
JMPCN
|
VAR2
M003
|
/El salto a la marca M003 sólo se realiza si la variable VAR2 //tiene
el valor FALSE
|
En
SFC
Llamadas
a bloques funcionales o funciones
Al llamar a una función se deben proveer los parámetros de
entradas con los operandos correspondientes. El resultado de la función se
transferirá con ST a un operando.
En IL
|
Orden
|
Significado
|
|
|
RET
|
//Finalización incondicionada del bloque
|
|
|
LD
RETC
|
VAR1
|
//El bloque se finaliza si la variable VAR1
//es igual a TRUE
|
|
LD
RETCN
|
VAR2
|
//El bloque se finaliza si la variable VAR2
//es igual a FALSE
|
En
SFC
Mecanismo
EN/ENO
Las funciones y bloques funcionales en CoDeSys pueden
tener una entrada EN (enable), o salida ENO (enable output) en los lenguajes de
programación LADDER y CFC. Dependiendo de si en éstos se lee un “1” o un “0”,
se habilitará o no que se lleve a cabo la función o que se vuelque el resultado
respectivamente. Estos mecanismos se pueden condicionar.


No hay comentarios:
Publicar un comentario