Skip to main content

Modificadores y Operadores en IL

tabla 5. Modificadores

Modificador

Combinado con el operador

Descripción

C

JMP, CAL, RET

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

N

JMPC, CALC, RETC

El comando se ejecuta solo cuando 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 valor (negado) 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 del 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

(

Comprueba 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 TRUE)

CAL prog1

RET

Salir de la módulo y volver a la módulo de llamada

RET

RET

C

Si el valor del acumulador es TRUE: Salir del módulo y volver al módulo de llamada

RETC

RET

CN

Si el valor del acumulador es FALSE: Salir del módulo y volver al módulo de llamada

RETCN

)

Evaluación de la operación de reinicio



ejemplo 9. Ejemplo
_cds_img_il_example.png


Solicitud

Descripción

Ejemplos

Múltiples operandos para un operador

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

  • Repite 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 corchete de apertura ( En la primera columna. El corchete de cierre se introduce en la primera columna, en una fila aparte, después de las entradas de operandos de las filas siguientes.

Una cadena se rota un carácter en cada ciclo.

_cds_img_il_complex_oparand.png

Llamada a bloque de función, llamada a programa

Columna 1: CAL operador o CALC operador

Columna 2: Nombre de la instancia del bloque de función o programa y corchete de apertura (

Si no sigue ningún parámetro, se cierra el corchete. ) Se introduce aquí.

Filas a seguir:

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

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

El corchete de cierre ) se entrada después del último parámetro.

Como limitación de la norma IEC, no se pueden utilizar expresiones complejas. Es necesario asignar dichas construcciones al bloque de función 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 coma

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 a la acción

Como la llamada a un bloque de función o una llamada a un 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
. Para obtener más información, consulte lo siguiente: