Skip to main content

Modificadores y Operadores en IL

tabla 5. Modificadores

modificador

Combinado con operador

Descripción

C

JMP, CAL, RET

El comando solo se ejecuta si el resultado de la expresión anterior es TRUE.

N

JMPC, CALC, RETC

El comando solo se ejecuta si el resultado de la expresión anterior es FALSE.

N

de lo contrario

Negación del operando (no del acumulador)



tabla 6. Operadores con los posibles modificadores

Operador

N

Significado

Ejemplo

LD

N

Carga el (negado) el valor del operando en el acumulador

LD ivar

ST

N

Almacena el contenido (negado) del acumulador en el operando

ST iErg

S

Establece el operando (tipo BOOL) a TRUE si el contenido del acumulador es TRUE

S bVar1

R

Establece el operando (tipo BOOL) a FALSE si el contenido del acumulador es TRUE

R bVar1

AND

N,(

bit a bit AND del valor del acumulador y el operando (negado)

AND bVar2

OR

N,(

OR bit a bit del valor del acumulador y el operando (negado)

OR xVar

XOR

N,(

OR exclusivo bit a bit del valor del acumulador y el operando (negado)

XOR N,(bVar1,bVar2)

NOT

Negación bit a bit del valor del acumulador

ADD

(

Suma del valor del acumulador y el operando

El resultado se escribe en el acumulador.

ADD ivar1

SUB

(

Resta del operando del valor del acumulador

El resultado se escribe en el acumulador.

SUB iVar2

MUL

(

Multiplicación del valor del acumulador y el operando

El resultado se escribe en el acumulador.

MUL ivar2

DIV

(

Suma del valor del acumulador y el operando

El resultado se escribe en el acumulador.

DIV 44

GT

(

Comprueba si el valor del acumulador es mayor que el valor del operando

El resultado (BOOL) se escribe en el acumulador.

GT 23

GE

(

Comprueba si el valor del acumulador es mayor o igual que el valor del operando

El resultado (BOOL) se escribe en el acumulador.

GE iVar2

EQ

(

Comprueba si el valor del acumulador es igual al valor del operando

El resultado (BOOL) se escribe en el acumulador.

EQ iVar2

NE

(

Comprueba si el valor del acumulador no es igual al valor del operando

El resultado (BOOL) se escribe en el acumulador.

NE iVar1

LE

(

Comprueba si el valor del acumulador es menor o igual que el valor del operando

El resultado (BOOL) se escribe en el acumulador.

LE 5

LT

(

Comprobar si el valor del acumulador es menor que el valor del operando

El resultado (BOOL) se escribe en el acumulador.

LT cVar1

JMP

CN

Salto incondicional (condicional) a la etiqueta de salto especificada

JMPN next

CAL

CN

Llamada (condicional) de un programa o un bloque de función (si el valor del acumulador es VERDADERO)

CAL prog1

RET

Salga de la caja y regrese a la caja de llamadas.

RET

RET

C

Si el valor del acumulador es TRUE: Salga del cuadro y regrese al cuadro de llamada

RETC

RET

CN

Si el valor del acumulador es FALSE: Salga del cuadro y regrese al cuadro de llamada

RETCN

)

Evaluación de la operación de reinicio



ejemplo 9. Ejemplo
_cds_img_il_example.png


Uso

Descripción

Ejemplos

Varios operandos para 1 operador

. Opciones
  • Introduzca los operandos en filas consecutivas, separados por comas en la segunda columna.

  • Repites el operador en filas consecutivas.

variante 1 :

_cds_img_il_add_multiple_operands_1.png

variante 2:

_cds_img_il_add_multiple_operands_2.png

operandos complejos

Para un operando complejo, ingrese el paréntesis de apertura ( en la primera columna. Introduzca el paréntesis de cierre en la primera columna en una fila separada después de las entradas de operandos de las siguientes filas.

Una cadena rota un carácter en cada ciclo.

_cds_img_il_complex_oparand.png

Llamada de bloque de funciones, llamada de programa

Columna 1: CAL operador o CALC operador

Columna 2: Nombre de la instancia o programa del bloque de funciones y corchete de apertura (

Si no sigue ningún parámetro, entonces el paréntesis de cierre ) se ingresa aquí.

Filas para seguir eso:

Columna 1: Nombre del parámetro seguido de := para parámetro de entrada o => para parámetro de salida

Columna 2: valor del parámetro seguido de una coma , si siguen más parámetros

El paréntesis de cierre ) se ingresa después del último parámetro.

Como limitación según la norma IEC, aquí no se pueden utilizar expresiones complejas. Debe asignar dichas construcciones al bloque de funciones o al programa antes de la llamada.

_cds_img_il_fb_call1.png

Llamada de función

Línea 1: Columna 1: LD

Columna 2: Variable de entrada

Línea 2: Columna 1: Nombre de la función Columna 2: Otros parámetros de entrada separados por comas

CODESYS escribe el valor de retorno en el acumulador.

Línea 3: Columna 1: ST Columna 2: Variable en la que se escribe el valor de retorno

_cds_img_il_function_call.png

llamada de acción

Como llamada de bloque de función o llamada de programa.

El nombre de la acción se añade al nombre de la instancia de FB o del programa.

_cds_img_il_action_call.png

Salto

Columna 1: JMP operador o JMPC operador

Columna 2: Nombre de la etiqueta de salto de la red de destino

En el caso de un salto incondicional, la secuencia de instrucciones anterior debe terminar con uno de los siguientes comandos: ST,STN, S, R, CAL, RET, JMP

En el caso de un salto condicional la ejecución del salto depende del valor cargado.

_cds_img_il_jmp.png