Está en la página 1de 138

MicroLogix 1100

Protocolo de comunicación: Ethernet/IP

a) Asignar IP a nuestra PC que en este caso tiene un sistema operativo Windows XP.

Pasos:

1.- Primeramente nos dirigimos a inicio y damos clic, se desplegará un menú donde aparecerá configuración y seleccionamos con un clic conexiones de red, vea figura 1; se desplegara una ventana con el nombre de las conexiones de red que existen figura 2, nos posicionamos en el icono, damos clic secundario y nos dirigimos en donde dice propiedades.

figura 2, nos posicionamos en el icono, damos clic secundario y nos dirigimos en donde dice

Figura 1

figura 2, nos posicionamos en el icono, damos clic secundario y nos dirigimos en donde dice

Figura 2

2.- Se desplegará una nueva ventana la cual lleva por nombre propiedades de conexión, seleccionamos la opción donde dice Protocolo Internet (TCP/IP) y a continuación oprimimos propiedades.

Internet (TCP/IP) y a continuación oprimimos propiedades. Figura 3 3.-Nos saldrá nuevamente otra venta donde

Figura 3

3.-Nos saldrá nuevamente otra venta donde finalmente le asignamos la IP a nuestra PC, que en este caso tiene dirección IP: 192.168.30.25 y una Máscara de subred que se genera por default con la numeración: 255.255.255.0, finalmente damos aceptar

con la numeración: 255.255.255.0, finalmente damos aceptar Figura 4 b) Asignar IP a nuestro PLC MicroLogix

Figura 4

b) Asignar IP a nuestro PLC MicroLogix 1100

Pasos:

1.- Nos dirigimos a inicio y damos clic, se desplegará un menú donde aparecerá

Programas, vamos a la carpeta de Rockwell Software, ahora pasamos a la carpeta

BOOTP-DHCP Server y damos clic en BOOTP-DHCP Server como se muestra en la figura 5.

Figura 5 2.- Se desplegara una ventana la cual lleva por nombre BOOTP/DCHP, como se

Figura 5

2.- Se desplegara una ventana la cual lleva por nombre BOOTP/DCHP, como se puede observar en la figura 6, en la pestaña Ethernet Addres (MAC), que es la MAC que tiene nuestro PLC MicroLogix 1100, damos doble clic y nos desplegara otra ventana que se llama New Entry, ver figura 7, aquí es el lugar donde le vamos asignar una IP al PLC, es importante que esta IP tenga la misma estructura que la de la PC a excepción de la última cifra esta debe de ser diferente, recordemos que la dirección IP de nuestra PC es: 192.168.30.25, así pues la IP de PLC entonces será 192.168.30.15, como se muestra en la figura 8.

PC es: 192.168.30.25, así pues la IP de PLC entonces será 192.168.30.15, como se muestra en

Figura 6

Figura 7 Figura 8 3.- Presionamos OK en la ventana New Entry, y ahora observamos

Figura 7

Figura 7 Figura 8 3.- Presionamos OK en la ventana New Entry, y ahora observamos que

Figura 8

3.- Presionamos OK en la ventana New Entry, y ahora observamos que en la ventana BOOTP/DHCP Server en la parte de Relation List, en las pestañas Type, IP Address, aparece BOOTP y la dirección 192.168.30.15 que fue la q le asignamos al PLC esto quiere decir que se le asigno una IP satisfactoriamente al PLC, ver figura 9 .

fue la q le asignamos al PLC esto quiere decir que se le asigno una IP

Figura 9

Instrucciones de bits (XIC, XIO, OTE, OTL, OTU, ONS, OSR, OSF)

Introducción

Use las instrucciones de bits (tipo relé) para monitorear y controlar el estado de los bits

Si desea

Use esta instrucción

Disponible

en

estos

 

lenguajes

Habilitar salidas cuando se establece un bit

XIC

lógica de escalera de relés texto estructurado(1)

Habilitar salidas cuando se borra un bit.

XIO

lógica de escalera de relés texto estructurado(1)

establecer un bit

OTE

lógica de escalera de relés texto estructurado(1)

establecer un bit (retentivo)

OTL

lógica de escalera de relés texto estructurado(1)

borrar un bit (retentivo)

OTU

lógica de escalera de relés texto estructurado(1)

habilitar salidas por un escán cada vez que el renglón se hace verdadero

ONS

lógica de escalera de relés texto estructurado(1)

establecer un bit por un escán cada vez que el renglón se hace verdadero

OSR

lógica de escalera de relés

establecer un bit por un escán cada vez que el renglón se hace falso

OSF

lógica de escalera de relés

(1) No hay una instrucción equivalente en texto estructurado. Use otra programación en texto estructurado para lograr el mismo resultado. Vea la descripción de la instrucción

Examinar si está cerrado (XIC)

Operandos:

Examinar si está cerrado (XIC) Operandos: La instrucción XIC examina el bit de datos para determinar

La instrucción XIC examina el bit de datos para determinar si está establecido.

Lógica de escalera de relés

Operando

Tipo

Formato

Descripción

bit de datos

BOOL

Tag

bit que se va a probar

Texto estructurado

El texto estructurado no tiene una instrucción XIC, pero usted puede lograr los mismos resultados usando una construcción IF

IF data_bit THEN <statement>; END_IF;

Descripción La instrucción XIC examina el bit de datos para determinar si está establecido

Identificación de estado aritmético: No afectados

Condiciones de fallo:

ninguna

Ejecución

Condición

Acción de lógica de escalera de relé

preescán

La condición de salida de renglón se establece como falsa

condición de entrada de renglón es falsa

La condición de salida de renglón se establece como falsa.

Condición de entrada de renglón es verdadera

Bit de datos =0 Examinar bit de datos Bit de datos =1
Bit de datos =0
Examinar bit
de datos
Bit de datos =1

La condición de salida de renglón se conoce como verdadera

La condición de salida de renglón se establece como falsa

fin
fin

post-escán

La condición de salida de renglón se establece como falsa.

Ejemplo 1:

Si se establece limit_switch_1, esto habilita la siguiente instrucción (la condición de salida de renglón es verdadera).

Lógica de escalera de relés

de renglón es verdadera). Lógica de escalera de relés Texto estructurado IF limit_switch THEN < statement

Texto estructurado

IF limit_switch THEN <statement>; END_IF;

Examinar si está abierto (XIO)

Operandos:

Examinar si está abierto (XIO) Operandos: La instrucción XIO examina el bit de datos para determinar

La instrucción XIO examina el bit de datos para determinar si está borrado.

Lógica de escalera de relés

Operando

Tipo

Formato

Descripción

bit de datos

BOOL

Tag

bit que se va a probar

Texto estructurado

El texto estructurado no tiene una instrucción XIO, pero usted puede lograr los mismos resultados usando una construcción IF

IF NOT data_bit THEN <statement>; END_IF;

Descripción

La instrucción XIO examina el bit de datos para determinar si está borrado

Identificación de estado aritmético:

No afectados

Condiciones de fallo:

Ninguna

Ejecución

Condición

Acción de lógica de escalera de relé

preescán

La condición de salida de renglón se establece como falsa

condición de entrada de renglón es falsa

La condición de salida de renglón se establece como falsa.

Condición de entrada de renglón es verdadera

Bit de datos =0 Examinar bit de datos Bit de datos =1
Bit de datos =0
Examinar bit
de datos
Bit de datos =1

La condición de salida de renglón se conoce como falsa

La condición de salida de renglón se establece como verdadera

fin
fin

post-escán

La condición de salida de renglón se establece como falsa.

Ejemplo 1:

Si se borra limit_switch_2, esto habilita la siguiente instrucción (la condición de salida de renglón es verdadera). Lógica de escalera de relés

de renglón es verdadera). Lógica de escalera de relés Texto estructurado IF NOT limit_switch_2 THEN <

Texto estructurado

IF NOT limit_switch_2 THEN <statement>; END_IF;

Ectivacion de salida (OTE)

Operandos:

Ectivacion de salida (OTE) Operandos: La instrucción OTE establece o barra el bit de datos. Lógica

La instrucción OTE establece o barra el bit de datos.

Lógica de escalera de relés

Operando

Tipo

Formato

Descripción

bit de datos

BOOL

Tag

bit que se va a establecer o borrar

Texto estructurado

El texto estructurado no tiene una instrucción OTE, pero usted puede lograr los mismos resultados usando una asignación no retentiva.

data_bit [:=] BOOL_expression;

Descripción

Cuando se habilita la instrucción OTE, el controlador establece el bit de datos. Cuando se inhabilita la instrucción OTE, el controlador borra el bit de datos

Identificación de estado aritmético:

No afectados

Condiciones de fallo:

Ninguna

Ejecución

Condición

Acción de lógica de escalera de relé

preescán

El bit de datos se borra. La condición de salida de renglón se establece como falsa.

condición de entrada de renglón es falsa

El bit de datos se borra. La condición de salida de renglón se establece como falsa.

condición

de

entrada

de

renglón

es

El bit de datos se establece. La condición de salida de renglón se establece como verdadera

verdadera

post-escán

 

El bit de datos se borra. La condición de salida de renglón se establece como falsa.

Bit de datos =0 Examinar bit de datos
Bit de datos =0
Examinar bit
de datos

La condición de salida de renglón se conoce como verdadera

Condición de entrada de renglón es verdadera

La condición de salida de renglón se establece como falsa

Bit de datos =1 bit que se va Bit de datos =0 a establecer o
Bit de datos =1
bit que se va
Bit de datos =0
a
establecer
o
borrar
El bit de datos se borra.
La condición de salida
de renglón se establece
como falsa.
fin
de salida de renglón se establece como falsa. fin El bit de datos se borra. Bit

El bit de datos se borra.

Bit de datos =1

El bit de datos se establece. La condición de salida de renglón se establece como verdadera.

Ejemplo:

Cuando se establece switch, la instrucción OTE establece (activa) light_1. Cuando se borra switch, la instrucción OTE borra (desactiva) light_1.

Lógica de escalera de relés

, la instrucción OTE borra (desactiva) light_1 . Lógica de escalera de relés Texto estructurado light_1

Texto estructurado

light_1 [:=] switch;

Ectivacion de salida (OTL)

Operandos:

Ectivacion de salida (OTL) Operandos: La instrucción OTL establece (enclava) el bit de datos. Lógica de

La instrucción OTL establece (enclava) el bit de datos.

Lógica de escalera de relés

Operando

Tipo

Formato

Descripción

bit de datos

BOOL

Tag

bit que se va a establecer

Texto estructurado

El texto estructurado no tiene una instrucción OTL, pero usted puede

lograr los mismos resultados usando una construcción IF una asignación.

IF BOOL_expression THEN data_bit := 1; END_IF;

THEN y

Descripción

Cuando se habilita, la instrucción OTL establece el bit de datos. El bit de datos permanece establecido hasta que es borrado, generalmente por una instrucción OTU. Cuando se inhabilita, la instrucción OTL no cambia el estado del bit de datos

Identificación de estado aritmético:

No afectados

Condiciones de fallo:

Ninguna

Ejecución

Condición

Acción de lógica de escalera de relé

preescán

El bit de datos no se modifica. La condición de salida de renglón se establece como falsa.

condición de entrada de renglón es falsa

El bit de datos no se modifica. La condición de salida de renglón se establece como falsa.

condición

de

entrada

de

renglón

es

El bit de datos se establece. La condición de salida de renglón se establece como verdadera

verdadera

post-escán

 

. El bit de datos no se modifica. La condición de salida de renglón se establece como falsa.

Bit de datos =0 Examinar bit de datos
Bit de datos =0
Examinar bit
de datos

La condición de salida de renglón se conoce como verdadera

Condición de entrada de renglón es verdadera

La condición de salida de renglón se establece como falsa

Bit de datos =1 bit que se va a establecer Bit de datos =0 El
Bit de datos =1
bit que se va
a establecer
Bit de datos =0
El bit de datos no se modifica.
La condición de salida de
renglón se establece como
falsa.
fin
de salida de renglón se establece como falsa. fin El bit de datos no se modifica.

El bit de datos no se modifica.

Bit de datos =1

El bit de datos se establece. La condición de salida de renglón se establece como verdadera.

Ejemplo: Cuando se habilita, la instrucción OTL establece light_2. Este bit de datos permanece establecido hasta que es borrado, generalmente por una instrucción OTU.

Lógica de escalera de relés

por una instrucción OTU. Lógica de escalera de relés Texto estructurado IF BOOL_expression THEN light_2 :=

Texto estructurado

IF BOOL_expression THEN light_2 := 1; END_IF;

Desenclavamiento de salida (OTU)

Operandos:

Desenclavamiento de salida (OTU) Operandos: La instrucción OTU borra (desenclava) el bit de datos. Lógica de

La instrucción OTU borra (desenclava) el bit de datos.

Lógica de escalera de relés

Operando

Tipo

Formato

Descripción

bit de datos

BOOL

Tag

bit que se va a borrar

Texto estructurado

El texto estructurado no tiene una instrucción OTU, pero usted puedelograr los mismos resultados usando una construcción

IF

THEN

y una asignación.

IF BOOL_expression THEN data_bit := 0; END_IF;

Descripción

Cuando se habilita, la instrucción OTU borra el bit de datos. Cuando se inhabilita, la instrucción OTU no cambia el estado del bit de datos

Identificación de estado aritmético:

No afectados

Condiciones de fallo:

Ninguna

Ejecución

Condición

Acción de lógica de escalera de relé

preescán

El bit de datos no se modifica. La condición de salida de renglón se establece como falsa.

condición de entrada de renglón es falsa

El bit de datos no se modifica. La condición de salida de renglón se establece como falsa.

condición

de

entrada

de

renglón

es

El bit de datos se borra. La condición de salida de renglón se establece como verdadera

verdadera

post-escán

. El bit de datos no se modifica. La condición de salida de renglón se establece como falsa.

Condición de entrada de renglón es verdadera

Bit de datos =0 Examinar bit de datos
Bit de datos =0
Examinar bit
de datos

La condición de salida de renglón se conoce como verdadera

La condición de salida de renglón se establece como falsa

Bit de datos =1 bit que se va a borrar Bit de datos =0 El
Bit de datos =1
bit que se va
a borrar
Bit de datos =0
El bit de datos no se modifica.
La condición de salida de
renglón se establece como
falsa.
fin
de salida de renglón se establece como falsa. fin El bit de datos no se modifica.

El bit de datos no se modifica.

Bit de datos =1

El bit de datos se establece. La condición de salida de renglón se establece como verdadera.

Ejemplo: Cuando se habilita, la instrucción OTU borra light_2.

Lógica de escalera de relés

OTU borra light_2 . Lógica de escalera de relés Texto estructurado IF BOOL_expression THEN light_2 :=

Texto estructurado

IF BOOL_expression THEN light_2 := 0; END_IF;

Un impulso (ONS)

Operandos:

U n i m p u l s o ( O N S ) Operandos: La

La instrucción ONS habilita o inhabilita el resto del renglón, dependiendo del estado del bit de almacenamiento

Lógica de escalera de relés

Operando

Tipo

Formato

Descripción

storage bit

BOOL

Tag

bit de almacenamiento interno almacena la condición de entrada del renglón desde la última vez que se ejecutó la instrucción

Texto estructurado

El texto estructurado no tiene una instrucción ONS, pero usted puede lograr los mismos resultados usando una construcción IF

IF BOOL_expression AND NOT storage_bit THEN <statement>; END_IF; storage_bit := BOOL_expression;

Descripción

Cuando se habilita y el bit de almacenamiento se borra, la instrucción ONS habilita el resto del renglón. Cuando se inhabilita o cuando el bit de almacenamiento se establece, la instrucción ONS inhabilita el resto del renglón.

Identificación de estado aritmético:

No afectados

Condiciones de fallo:

Ninguna

Ejecución

Condición

Acción de lógica de escalera de relé

preescán

El bit de almacenamiento se establece para evitar una activación no válida durante el primer escán. La condición de salida de renglón se establece como falsa.

condición de entrada de renglón es falsa

El bit de almacenamiento se borra. La condición de salida de renglón se establece como falsa.

condición de entrada de renglón es verdadera bit de almacenamiento=0 Examinar el bit de almacenamiento
condición
de
entrada
de
renglón
es
verdadera
bit de
almacenamiento=0
Examinar el bit de
almacenamiento
el bit de almacenamiento
se establece la condición
de salida de renglón se
establece como
bit de
almacenamiento=1
El bit de almacenamiento
permanece establecido la
condición de salida de
renglón se establece como
fin
post-escán

El bit de almacenamiento se borra. La condición de salida de renglón se establece como falsa.

Ejemplo:

Normalmente una instrucción ONS está precedida por una instrucción de entrada, porque la instrucción ONS se escanea cuando ésta se habilita y cuando se inhabilita para que funcione correctamente. Una vez que la instrucción ONS se habilita, la condición de entrada de renglón debe borrarse, o el bit de almacenamiento debe borrarse para que la instrucción ONS se habilite nuevamente.

En todo escán en que limit_switch_1 se borra o storage_1 se establece, este renglón no tiene efecto. En todo escán en que limit_switch_1 se establece y storage_1 se borra, la instrucción ONS establece storage_1 y la instrucción ADD incrementa sum en 1. Siempre que limit_switch_1 permanezca establecido, sum permanece con el mismo valor. limit_switch_1 debe cambiar de borrado a establecido nuevamente para que se incremente sum nuevamente.

nuevamente para que se incremente sum nuevamente. Texto estructurado IF limit_switch_1 AND NOT storage_1 THEN

Texto estructurado

IF limit_switch_1 AND NOT storage_1 THEN sum := sum + 1; END_IF; storage_1 := limit_switch_1;

Un impulso en flanco ascendente (OSR)

Operandos:

Un impulso en flanco ascendente (OSR) Operandos: La instrucción OSR establece o borra el bit de

La instrucción OSR establece o borra el bit de salida, dependiendo del estado del bit de almacenamiento.

Lógica de escalera de relés

Operando

Tipo

Formato

Descripción

storage bit

BOOL

tag

bit de almacenamiento interno almacena la condición de entrada del renglón desde la última vez que se ejecutó la instrucción

output bit

BOOL

tag

bit que se va a establecer

Descripción Cuando se habilita y el bit de almacenamiento está borrado, la instrucción OSR establece el bit de salida. Cuando se habilita y el bit de almacenamiento está establecido o cuando se inhabilita, la instrucción OSR borra el bit de salida.

se inhabilita, la instrucción OSR borra el bit de salida. Identificación de estado aritmético: N o

Identificación de estado aritmético:

No afectados

Condiciones de fallo:

Ninguna

Ejecución

Condición

Acción de lógica de escalera de relé

preescán

El bit de almacenamiento se establece para evitar una activación no válida durante el primer escán. El bit de salida se borra. La condición de salida de renglón se establece como falsa.

condición de entrada de renglón es falsa

El bit de almacenamiento se borra. El bit de salida no se modifica. La condición de salida de renglón se establece como falsa.

condición de entrada de renglón es verdadera bit de almacenamiento=0 el bit de almacenamiento se
condición
de
entrada
de
renglón
es
verdadera
bit de
almacenamiento=0
el bit de almacenamiento se
establece
Examinar el bit de
almacenamiento
el bit de salida se establece la
condición de salida de renglón
bit de
almacenamiento=1
el bit de almacenamiento
permanece establecido el
bit de salida se borra la
condición de salida de
renglón se establece como
fin
post-escán

El bit de almacenamiento se borra. La condición de salida de renglón se establece como falsa.

Ejemplo:

Cada vez que limit_switch_1 cambia de borrado a establecido, la instrucción OSR establece output_bit_1 y la instrucción ADD incrementa sum en 5. Siempre que limit_switch_1 permanezca establecido, sum permanece con el mismo valor. El limit_switch_1 debe cambiar de borrado a establecido nuevamente para que sum se incremente nuevamente. Usted puede usar output_bit_1 en varios renglones para activar otras operaciones.

que sum se incremente nuevamente. Usted puede usar output_bit_1 en varios renglones para activar otras operaciones.

Un impulso en flanco descendente (OSR)

Operandos:

Un impulso en flanco descendente (OSR) Operandos: D e s c r i p c i

Descripción

La instrucción OSF establece o borra el bit de salida dependiendo del estado del bit de almacenamiento.

Lógica de escalera de relés

Operando

Tipo

Formato

Descripción

storage bit

BOOL

tag

bit de almacenamiento interno almacena la condición de entrada del renglón desde la última vez que se ejecutó la instrucción

output bit

BOOL

tag

bit que se va a establecer

Cuando se inhabilita y el bit de almacenamiento está establecido, la instrucción OSF establece el bit de salida. Cuando se inhabilita y el bit de almacenamiento está borrado o cuando se habilita, la instrucción OSF borra el bit de salida.

se habilita, la instrucción OSF borra el bit de salida. Identificación de estado aritmético: N o

Identificación de estado aritmético:

No afectados

Condiciones de fallo:

Ninguna

Ejecución

Condición

Acción de lógica de escalera de relé

preescán

El bit de almacenamiento se borra para evitar una activación no válida durante el primer escán. El bit de salida se borra. La condición de salida de renglón se establece como falsa.

condición de entrada de renglón es falsa

bit de almacenamiento=0 Examinar el bit de almacenamiento el bit de almacenamiento permanece borrado el
bit de
almacenamiento=0
Examinar el bit de
almacenamiento
el bit de almacenamiento
permanece borrado el bit de
salida se borra la condición de
salida de renglón se establece
como falsa
bit de
almacenamiento=1
fin
fin

el bit de almacenamiento

se borra el bit de salida se establece la condición de

condición

de

entrada

de

renglón

es

El bit de almacenamiento se establece. El bit de salida se borra. La condición de salida de renglón se establece como verdadera.

verdadera

post-escán

 

Nótese que la condición de entrada del renglón es falsa arriba.

Ejemplo:

Cada vez que limit_switch_1 cambia de establecido a borrado, la instrucción OSF establece output_bit_2 y la instrucción ADD incrementa sum en 5. Siempre que limit_switch_1 permanezca borrado, sum permanece con el mismo valor. El limit_switch_1 debe cambiar de establecido a borrado nuevamente para que sum se incremente nuevamente. Usted puede usar output_bit_2 en varios renglones para activar otras operaciones.

que sum se incremente nuevamente. Usted puede usar output_bit_2 en varios renglones para activar otras operaciones.

Instrucciones de temporizador y contador (TON, TOF, RTO, CTU, CTD, RES)

Introducción

Los temporizadores y contadores controlan operaciones en base a tiempo o número de eventos.

Si desea

Use esta instrucción

Disponible

en

estos

 

lenguajes

establecer el tiempo durante el cual un temporizador está habilitado

TON

lógica de escalera de relés

establecer el tiempo durante el cual un temporizador está inhabilitado

TOF

lógica de escalera de relés

acumular tiempo

RTO

lógica de escalera de relés

conteo progresivo

CTU

lógica de escalera de relés

conteo regresivo

CTD

lógica de escalera de relés

restablecer un temporizador o un contador

RES

lógica de escalera de relés

Temporizador de retardo a la conexión (TON)

Operandos:

Temporizador de retardo a la conexión (TON) Operandos: La instrucción TON es un temporizador no retentivo

La instrucción TON es un temporizador no retentivo que acumula el tiempo cuando la instrucción está habilitada (la condición de entrada del renglón es verdadera)

Lógica de escalera de relés

Operando

Tipo

Formato

Descripción

Timer

TIMER

tag

Estructura de

 

temporizador

Preset

DINT

inmediato

bit que se va a establecer

Acum

DINT

inmediato

el tiempo en ms contado por el temporizador el valor inicial es típicamente 0

Estructura TIMER

Mnemónico

Tipo de datos

Descripción

.EN

BOOL

El bit de habilitación indica que la instrucción TON está habilitada

.TT

BOOL

El bit de temporización indica que se está ejecutando una operación de temporización

.DN

BOOL

El bit de efectuado se establece cuando .ACC ≥.PRE.

.PRE

DINT

El valor de preajuste especifica el valor (en unidades de 1 ms) al que debe llegar el valor acumulado para que la instrucción establezca el bit .DN.

.ACC

DINT

El valor acumulado especifica el número de milisegundos que han transcurrido desde que se habilitó la instrucción TON.

Descripción:

La instrucción TON acumula tiempo hasta que:

la instrucción TON se inhabilita .ACC .PRE

La base de tiempo siempre es 1 ms. Por ejemplo, en un temporizador de 2 segundos, introduzca 2000 como valor .PRE.

Cuando se inhabilita la instrucción TON, se borra el valor .ACC

se inhabilita la instrucción TON, se borra el valor .ACC Un temporizador se ejecuta restando la

Un temporizador se ejecuta restando la hora de su último escán de la hora actual:

ACC = ACC + (current_time - last_time_scanned)

Después de que se actualiza el ACC, el temporizador establece last_time_scanned = current_time. Esto deja el temporizador listo para el siguiente escán.

Importante:

Asegúrese de escanear el temporizador por lo menos cada 69 minutos mientras se ejecuta.

De no hacerse, el valor ACC no será correcto. El valor last_time_scanned tiene un rango de hasta 69 minutos. El cálculo del temporizador regresa al valor inicial si usted no escanea el temporizador en un lapso de 69 minutos. Si esto sucede, el valor ACC no será correcto. Durante la ejecución de un temporizador, escanéelo dentro de un lapso no mayor de 69 minutos si lo coloca en una:

subrutina sección de código comprendida entre las instrucciones JMP y LBL diagrama de función secuencial (SFC) evento o tarea periódica rutina de estado de una fase

Indicadores de estado aritmético:

no afectados

Condiciones de fallo:

Ocurrirá

un

fallo

Tipo de fallo

Código de fallo

mayor si

.PRE < 0

4

34

.ACC<0

4

34

Ejecución

Condición

Acción de lógica de escalera de relés

Preescan

Los bits .EN, .TT y .DN se borran. El valor .ACC se borra. La condición de salida de renglón se establece como falsa.

condición de entrada de renglón es falsa

Los bits .EN, .TT y .DN se borran. El valor .ACC se borra. La condición de salida de renglón se establece como falsa.

La condición de entrada de renglón es verdadera

Bit .DN=1 Examine el bit .DN Bit .DN=0 El bit .EN se establece Bit .EN=0
Bit .DN=1
Examine el bit .DN
Bit .DN=0
El bit .EN se establece
Bit .EN=0
Examine el bit
El bit .TT se establece
.EN
Last_time=current_time
Bit .EN=1
.ACC≥
.PRE
El bit .TT se establece
.ACC=.ACC+(current_time-
Examine .ACC
last_time)
Last_time=current_time
.DN se establece
.ACC <
el bit .TT se borra
.PRE
el bit .EN se
establece
El valor .ACC
no
retorna al valor
La condición de
inicial
salida se
establece como
verdadera
si
.ACC=2147483647
Fin

Post-escan

La condición de salida de renglón se establece como falsa.

Ejemplo: Cuando limit_switch_1 se establece, light_2 se enciende por 180 ms. (timer_1 está temporizando). Cuando timer_1.acc llega a 180, light_2 se apaga y light_3 se enciende. Light_3 permanece encendida hasta que se inhabilita la instrucción TON. Si limit_switch_1 se borra mientras que timer_1 está temporizando light_2 se apaga.

inhabilita la instrucción TON. Si limit_switch_1 se borra mientras que timer_1 está temporizando light_2 se apaga.

Temporizador de retardo a la desconexión (TOF)

Operandos:

Temporizador de retardo a la desconexión (TOF) Operandos: La instrucción TOF es un temporizador no retentivo

La instrucción TOF es un temporizador no retentivo que acumula el tiempo cuando la instrucción está habilitada (la condición de entrada del renglón es falsa).

Lógica de escalera de relés

Operando

Tipo

Formato

Descripción

Timer

TIMER

tag

Estructura de

 

temporizador

Preset

DINT

inmediato

Periodo de retardo (acumulación del tiempo)

Acum

DINT

inmediato

el tiempo en ms que conto el temporizador, el valor inicial es típicamente 0

Estructura TIMER

Mnemónico

Tipo de datos

Descripción

.EN

BOOL

El bit de habilitación indica que la instrucción TOF está habilitada.

.TT

BOOL

El bit de temporización indica que se está ejecutando una operación de temporización.

.DN

BOOL

El bit de efectuado se borra cuando .ACC .PRE.

.PRE

DINT

El valor de preajuste especifica el valor (en unidades de 1 ms) al que debe llegar el valor acumulado para que la instrucción borre el bit .DN.

.ACC

DINT

El valor acumulado especifica el número de milisegundos que han transcurrido desde que se habilitó la instrucción TOF.

Descripción:

La instrucción TOF acumula tiempo hasta que:

la instrucción TOF se inhabilita .ACC .PRE La base de tiempo siempre es 1 ms. Por ejemplo, en un temporizador de 2 segundos, introduzca 2000 para el valor .PRE.

Cuando se inhabilita la instrucción TOF, se borra el valor .ACC.

se inhabilita la instrucción TOF, se borra el valor .ACC. Un temporizador se ejecuta restando la

Un temporizador se ejecuta restando la hora de su último escán de la hora actual:

ACC = ACC + (current_time - last_time_scanned)

Después de que se actualiza el ACC, el temporizador establece last_time_scanned = current_time. Esto deja el temporizador listo para el siguiente escán.

Importante:

Asegúrese de escanear el temporizador por lo menos cada 69 minutos mientras se ejecuta. De no hacerse, el valor ACC no será correcto.

El valor last_time_scanned tiene un rango de hasta 69 minutos. El cálculo del temporizador regresa al valor inicial si usted no escanea el temporizador en un lapso de 69 minutos. Si esto sucede, el valor ACC no será correcto. Durante la ejecución de un temporizador, escanéelo dentro de un lapso no mayor de 69 minutos si lo coloca en una:

• Subrutina

• Sección de código comprendida entre las instrucciones JMP y LBL

• Diagrama de función secuencial (SFC)

• Evento o tarea periódica

• Rutina de estado de una fase

Indicadores de estado aritmético:

no afectados

Condiciones

de

fallo:

Ocurrirá

un

fallo

Tipo de fallo

Código de fallo

mayor si

.PRE < 0

4

34

.ACC<0

4

34

Ejecución

Condición

Acción de lógica de escalera de relés

 

Preescan

Los bits .EN, .TT y .DN se borran. El valor .ACC se establece para coincidir con el valor .PRE. La condición de salida de renglón se establece como falsa.

condición de entrada de renglón es falsa

Bit .DN=0 Examine el bit .DN Bit .DN=1 El bit .EN se establece Bit .EN=1
Bit .DN=0
Examine el bit .DN
Bit .DN=1
El bit .EN se establece
Bit .EN=1
Examine el bit
El bit .TT se establece
.EN
last_time=current_time
Bit .EN=0
.ACC≥ .PRE
El bit .TT se establece
.ACC=.ACC+(current_time-
Examine .ACC
last_time)
last_time=current_time
.DN se borra
.ACC < .PRE
el bit .TT se borra
el bit .EN se borra
El valor .ACC
no
retorna al valor
La condicion de
inicial
salida de renglon
se establece como
falsa
si
.ACC=2147483647
Fin

a condición de entrada de renglón es verdadera

Los bits .EN, .TT y .DN se establecen. El valor .ACC se borra. La condición de salida de renglón se establece como verdadera.

Post-escan

La condición de salida de renglón se establece como falsa.

Ejemplo: Cuando limit_switch_2 se borra, light_2 se enciende durante 180 ms (timer_2 está temporizando). Cuando timer_2.acc llega a 180, light_2 se apaga y light_3 se enciende. Light_3 permanece encendida hasta que se habilita la instrucción TOF. Si limit_switch_2 se establece mientras que timer_2 está temporizando light_2 se apaga.

la instrucción TOF. Si limit_switch_2 se establece mientras que timer_2 está temporizando light_2 se apaga.

Temporizador retentivo activado (RTO)

Operandos:

Temporizador retentivo activado (RTO) Operandos: La instrucción RTO es un temporizador retentivo que acumula tiempo

La instrucción RTO es un temporizador retentivo que acumula tiempo cuando la instrucción está habilitada.

Lógica de escalera de relés

Operando

Tipo

Formato

Descripción

Timer

TIMER

tag

Estructura de

 

temporizador

Preset

DINT

inmediato

Periodo de retardo (acumulación del tiempo)

Acum

DINT

inmediato

el tiempo en ms que conto el temporizador, el valor inicial es típicamente 0

Estructura TIMER

Mnemónico

Tipo de datos

Descripción

.EN

BOOL

El bit de habilitación indica que la instrucción RTO está habilitada.

.TT

BOOL

El bit de temporización indica que se está ejecutando una operación de temporización.

.DN

BOOL

El bit de efectuado indica que .ACC .PRE.

.PRE

DINT

El valor de preajuste especifica el valor (en unidades de 1 ms) al que debe llegar el valor acumulado para que la instrucción establezca el bit .DN.

.ACC

DINT

El valor acumulado especifica el número de milisegundos que han transcurrido desde que se habilitó la instrucción RTO.

Descripción:

La instrucción RTO acumula tiempo hasta que se inhabilita. Cuando la instrucción RTO se inhabilita, retiene su valor .ACC. Usted debe borrar el valor .ACC, normalmente con una instrucción RES que referencia la misma estructura TIMER.

La base de tiempo siempre es 1 ms. Por ejemplo, en un temporizador de 2 segundos, introduzca 2000 para el valor .PRE.

de 2 segundos, introduzca 2000 para el valor .PRE. Un temporizador se ejecuta restando la hora

Un temporizador se ejecuta restando la hora de su último escán de la hora actual:

ACC = ACC + (current_time - last_time_scanned) Después de que se actualiza el ACC, el temporizador establece last_time_scanned = current_time. Esto deja el temporizador listo para el siguiente escán.

Importante:

Asegúrese de escanear el temporizador por lo menos cada 69 minutos mientras se ejecuta. De no hacerse, el valor ACC no será correcto. El valor last_time_scanned tiene un rango de hasta 69 minutos. El cálculo del temporizador regresa al valor inicial si usted no escanea el temporizador en un lapso de 69 minutos. Si esto sucede, el valor ACC no será correcto. Durante la ejecución de un temporizador, escanéelo dentro de un lapso no mayor de 69 minutos si lo coloca en una:

subrutina sección de código comprendida entre las instrucciones JMP y LBL diagrama de función secuencial (SFC) evento o tarea periódica rutina de estado de una fase

Indicadores de estado aritmético:

no afectados

Condiciones de fallo:

Ocurrirá un fallo mayor si

Tipo de fallo

Código de fallo

.PRE < 0

4

34

.ACC<0

4

34

Ejecución

Condición

Acción de lógica de escalera de relés

Preescan

Los bits .EN, .TT y .DN se borran. El valor .ACC no se modifica. La condición de salida de renglón se establece como falsa.

condición de

entrada renglón es falsa

de

Los bits .EN y .TT se borran. El bit .DN no se modifica. El valor .ACC no se modifica. La condición de salida de renglón se establece como falsa.

a

entrada

de renglón es verdadera

condición

de

Bit .DN=1 Examine el bit .DN Bit .DN=0 El bit .EN se establece Bit .EN=0
Bit .DN=1
Examine el bit .DN
Bit .DN=0
El bit .EN se establece
Bit .EN=0
Examine el bit
El bit .TT se establece
.EN
last_time=current_time
Bit .EN=1
.ACC≥ .PRE
El bit .TT se establece
.ACC=.ACC+(current_time-last_time)
Examine .ACC
last_time=current_time
.DN se borra
.ACC < .PRE
el bit .TT se borra
el bit .EN se borra
El valor .ACC
no
retorna al valor
La condición de
inicial
salida de renglón
se establece como
verdadera
si
.ACC=2147483647
Fin

Post-escan

La condición de salida de renglón se establece como falsa.

Ejemplo:

Cuando limit_switch_1 se establece, light_1 se enciende por 180 ms(timer_2 está temporizando). Cuando timer_3.acc llega a 180, light_1 se apaga y light_2 se enciende. Light_2 permanece hasta que timer_3 se restablece. Si limit_switch_2 se borra mientras que timer_3 está temporizando light_1 permanece encendida. Cuando limit_switch_2 se establece, la instrucción RES restablece timer_3 (borra los bits de estado y el valor .ACC).

Cuando limit_switch_2 se establece, la instrucción RES restablece timer_3 (borra los bits de estado y el

Conteo progresivo (CTU)

Operandos:

Conteo progresivo (CTU) Operandos: La instrucción CTU cuenta progresivamente. Lógica de escalera de relés Operando

La instrucción CTU cuenta progresivamente.

Lógica de escalera de relés

Operando

Tipo

Formato

Descripción

Counter

COUNTER

tag

Estructura de contado

Preset

DINT

inmediato

valor superior hasta donde contar

Acum

DINT

inmediato

número de veces que contó el contador el valor inicial es típicamente 0

Estructura COUNTER

Mnemónico

Tipo de datos

Descripción

.CU

BOOL

El bit de habilitación de conteo progresivo indica que la instrucción CTU está habilitada.

.DN

BOOL

El bit de efectuado indica que .ACC .PRE.

.OV

BOOL

El bit de overflow indica que el contador excedió el límite superior de 2,147,483,647, por lo que el contador regresa a -2,147,483,648 y comienza nuevamente el conteo progresivo

.UN

BOOL

El bit de underflow indica que el contador excedió el límite inferior de -2,147,483,648, por lo que el contador regresa a 2,147,483,647 y comienza nuevamente el conteo regresivo.

.PRE

DINT

El valor de preajuste especifica el valor al que debe llegar el valor acumulado para que la instrucción establezca el bit .DN.

.ACC

DINT

El valor acumulado especifica el número de transiciones que contó la instrucción.

Descripción:

Cuando se habilita y el bit .CU se borra, la instrucción CTU incrementa el contador en uno. Cuando se habilita y el bit .CU se establece, o cuando se inhabilita, la instrucción CTU retiene su valor .ACC.

El valor acumulado continúa incrementándose, incluso después de que se establece el bit .DN. Para

El valor acumulado continúa incrementándose, incluso después de que se establece el bit .DN. Para borrar el valor acumulado, use una instrucción RES que referencie la estructura de contador o escriba 0 en el valor acumulado.

Indicadores de estado aritmético:

 

no afectados

Condiciones de fallo:

ninguna

Ejecución

Condición

Acción de lógica de escalera de relés

Preescan

El bit .CU se establece para evitar incrementos no válidos durante el primer escán del programa. La condición de salida de renglón se establece como falsa.

condición de entrada de renglón es falsa

El bit .EN se borra. La condición de salida de renglón se establece como falsa.

a condición de entrada de renglón es verdadera

SI El bit . CU se El valor .ACC Bit .CU=0 Examine el bit establece
SI
El bit . CU se
El valor .ACC
Bit .CU=0
Examine el bit
establece
retorna al valor
.CU
.ACC=.ACC+1
inicial
NO
El bit .UN=1
El bit .UN se borra
Examine el bit
El bit .DN se borra
.UN
El bit .OV se borra
El bit .UN=0
Bit .OV=0
Bit .UN=0
Examine el bit
Examine el bit
El bit .OV se
.UN
.OV
establece
Bit .OV=1
.ACC≥.PRE
Examine .ACC
.ACC<PRE
El bit . DN se
El bit .DN se
borra
establece
La condicion de
salida de renglon
se establece como
verdadera
fin

Bit .CU=1

Bit .UN=1

se establece como verdadera fin Bit .CU=1 Bit .UN=1 P o s t - e s

Post-escan

La condición de salida de renglón se establece como falsa.

Ejemplo: Después de que limit_switch_1 cambia de inhabilitado a habilitado 10 veces, el bit .DN se establece y light_1 se enciende. Si limit_switch_1 continúa cambiando de inhabilitado a habilitado, counter_1 continúa incrementando su conteo y el bit .DN permanece establecido. Cuando limit_switch_2 se habilita, la instrucción RES restablece counter_1 (borra el bit de estado y el valor .ACC) y light_1 se apaga.

se habilita, la instrucción RES restablece counter_1 (borra el bit de estado y el valor .ACC)

Conteo regresivo (CTD)

Operandos:

Conteo regresivo (CTD) Operandos: La instrucción CTD cuenta regresivamente Lógica de escalera de relés Operando Tipo

La instrucción CTD cuenta regresivamente

Lógica de escalera de relés

Operando

Tipo

Formato

Descripción

Counter

COUNTER

tag

Estructura de contado

Preset

DINT

inmediato

valor inferior hasta donde contar

Acum

DINT

inmediato

número de veces que contó el contador el valor inicial es típicamente 0

Estructura COUNTER

Mnemónico

Tipo de datos

Descripción

.CU

BOOL

El bit de habilitación de conteo regresivo indica que la instrucción CTD está habilitada.

.DN

BOOL

El bit de efectuado indica que .ACC .PRE.

.OV

BOOL

El bit de overflow indica que el contador excedió el límite superior de 2,147,483,647, por lo que el contador regresa a -2,147,483,648 y comienza nuevamente el conteo progresivo

.UN

BOOL

El bit de underflow indica que el contador excedió el límite inferior de -2,147,483,648, por lo que el contador regresa a 2,147,483,647 y comienza nuevamente el conteo regresivo.

.PRE

DINT

El valor de preajuste especifica el valor al que debe llegar el valor acumulado para que la instrucción establezca el bit .DN.

.ACC

DINT

El valor acumulado especifica el número de transiciones que contó la instrucción.

Descripción: La instrucción CTD normalmente se usa con una instrucción CTU que referencia la misma estructura de contador. Cuando se habilita y el bit .CD se borra, la instrucción CTD decrementa el contador en uno. Cuando se habilita y el bit .CD se establece, o cuando se inhabilita, la instrucción CTD retiene su valor .ACC.

El valor acumulado continúa decrementándose, aun después de que se establece el bit .DN. Para

El valor acumulado continúa decrementándose, aun después de que se establece el bit .DN. Para borrar el valor acumulado, use una instrucción RES que referencie la estructura de contador o escriba 0 en el valor acumulado.

Indicadores de estado aritmético:

 

no afectados

Condiciones de fallo:

ninguna

Ejecución

Condición

Acción de lógica de escalera de relés

Preescan

El bit .CD se establece para evitar decrementos no válidos durante el primer escán del programa. La condición de salida de renglón se establece como falsa.

condición de entrada de renglón es falsa

El bit .CD se borra. La condición de salida de renglón se establece como falsa.

a condición de entrada de renglón es verdadera

SI El bit . CDse El valor .ACC Bit .CD=0 Examineel bit establece retornaal valor
SI
El bit . CDse
El valor .ACC
Bit .CD=0
Examineel bit
establece
retornaal valor
.CD
.ACC=.ACC-1
inicial
NO
El bit .OV=1
El bit .UNseborra
Examineel bit
El bit .DNseborra
.OV
El bit .OVseborra
El bit .OV=0
Bit .OV=0
Bit .UN=0
Examineel bit
Examineel bit
El bit .UNse
.UN
.OV
establece
Bit .OV=1
.ACC≥.PRE
Examine.ACC
.ACC<PRE
El bit . DNse
El bit .DNse
borra
establece
Lacondicionde
salidaderenglon
seestablececomo
verdadera
fin

Bit .CD=1

Bit .UN=1

Post-escan

La condición de salida de renglón se establece como falsa.

Ejemplo: Un transportador lleva partes a una zona de almacenamiento intermedio. Cada vez que entra una parte, limit_switch_1 se habilita y counter_1 se incrementa en 1. Cada vez que sale una parte, limit_switch_2 se habilita y counter_1 se decrementa en 1. Si hay 100 partes en la zona de almacenamiento intermedio (counter_1.dn se establece), conveyor_a se activa y detiene el transportador para que no lleve más partes hasta que la zona de almacenamiento intermedio tenga espacio para más partes.

transportador para que no lleve más partes hasta que la zona de almacenamiento intermedio tenga espacio

Restablecer

(RES)

Operandos:

Restablecer (RES) Operandos: La instrucción RES restablece una estructura TIMER, COUNTER o CONTROL. Lógica de escalera

La instrucción RES restablece una estructura TIMER, COUNTER o CONTROL.

Lógica de escalera de relés

Operando

Tipo

Formato

Descripción

Estructura

TIMER

tag

Estructura que se va a establecer

CONTROL

COUNTER

Descripción:

Cuando se habilita, la instrucción RES borra estos elementos

Cuando se usa una instrucción RES para

La instrucción borra

TIMER

El valor .ACC Los bits de estado de control

COUNTER

El valor .ACC Los bits de estado de control

CONTROL

El valor .POS Los bits de estado de control

Atención

Puesto que la instrucción RES borra el valor .ACC, el bit .DN y el bit .TT, no use la instrucción RES para restablecer un temporizador TOF.

Indicadores de estado aritmético:

 

no afectados

Condiciones de fallo:

ninguna

Ejecución

Condición

Acción de lógica de escalera de relés

Preescan

La condición de salida de renglón se establece como falsa.

condición de entrada de renglón es falsa

La condición de salida de renglón se establece como falsa.

a condición de entrada de renglón es verdadera

La instrucción RES restablece la estructura especificada. La condición de salida de renglón se establece como verdadera.

Post-escan

La condición de salida de renglón se establece como falsa.

Instrucciones de entrada/salida (MSG)

Introducción

Las instrucciones de entrada/salida leen o escriben datos desde o hacia el controlador, o un bloque de datos desde o hacia otro módulo en otra red.

Si desea

Use esta instrucción

Disponible

en

estos

 

lenguajes

enviar datos desde o hacia otro módulo

MSG

lógica de escalera de relés texto estructurado

Mensaje (MSG)

Operandos:

estructurado M e n s a j e ( M S G ) Operandos: Atención La

Atención

La instrucción MSG lee o escribe asíncronamente un bloque de datos en otro módulo de una red.

Lógica de escalera de relés

Operando

Tipo

Formato

Descripción

Mensaje

MESSAGE

tag

Estructura de mensaje

Control

Si usted revisa los bits de estado más de una vez El controlador cambia los bits DN, ER, EW y ST de manera asíncrona con el escán de la lógica. Use una copia de los bits si los verifica en más de un lugar en la lógica. De lo contrario, los bits pueden cambiar durante el escán y la lógica no funcionará según lo esperado. Una manera de hacer una copia es usar la palabra FLAGS. Copie la palabra FLAGS a otro tag y verifique los bits en la copia.

Importante

 

No cambie los siguientes bits de estado de una instrucción MSG:

DN

EN

ER

EW

ST

No cambie esos bits por sí mismos ni como parte de la palabra FLAGS. Si lo hace, el controlador puede sufrir un fallo no recuperable. El controlador borra el proyecto de su memoria cuando sufre un fallo no recuperable.

Mnemónico

Tipo de datos

Descripcion

 

.Flags

INT

El miembro .FLAGS proporciona acceso a los miembros de estado (bits) en una palabra de 16 bits.

 

Este bit: Es este miembro:

2

.EW

4

.ER

5

.DN

6

.ST

7

.EN

8

.TO

9

.EN_CC

Importante: No cambie los bits EW, ER, DN ni ST del miembro FLAGS. Por ejemplo, no borre toda la palabra FLAGS. El controlador ignora el cambio y usa los valores de los bits almacenados internamente.

.ERR

   

Instrucciones de comparación (EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Introducción

Las instrucciones de comparación le permiten comparar los valores usando una expresión o una instrucción de comparación específica.

Si desea

Use esta instrucción

Disponible

en

estos

 

lenguajes

probar si dos valores son iguales

EQU

lógica de escalera de relés texto estructurado(2) bloque de funciones

probar si un valor es mayor o igual que un segundo valor

GEQ

lógica de escalera de relés texto estructurado(1) bloque de funciones

determinar si un valor es mayor que otro valor

GRT

lógica de escalera de relés texto estructurado(1) bloque de funciones

probar si un valor es menor o igual que un segundo valor

LEQ

lógica de escalera de relés texto estructurado(1) bloque de funciones

determinar si un valor es menor que otro valor

LES

lógica de escalera de relés texto estructurado(1) bloque de funciones

determinar si un valor se encuentra entre otros dos valores

LIM

lógica de escalera de relés texto estructurado(1) bloque de funciones

pasar dos valores a través de una máscara y determinar si son iguales

MEQ

lógica de escalera de relés texto estructurado(1) bloque de funciones

determinar si un valor diferente a otro valor

NEQ

lógica de escalera de relés texto estructurado(1) bloque de funciones

(1) No hay una instrucción equivalente en texto estructurado. Use otra programación en texto estructurado para lograr el mismo resultado. Vea la descripción de la instrucción.

Usted puede comparar valores de diferentes tipos de datos como, por ejemplo, valores de punto flotante (coma flotante) y valores enteros. Para las instrucciones de lógica de escalera de relés, los tipos de datos que aparecen en negrita indican tipos de datos óptimos. Las instrucciones se ejecutan más rápidamente y requieren menos memoria si todos los operandos de instrucción usan el mismo tipo de datos óptimos, típicamente DINT o REAL.

Igual a (EQU)

Operandos:

Igual a (EQU) Operandos: La instrucción EQU determina si Source A es igual a Source B.

La instrucción EQU determina si Source A es igual a Source B.

Lógica de escalera de relés

Operando

Tipo

Formato

Descripción

Source A

SINT

Inmediato

Valor que se compara con Source B

INT

Tag

DINT

REAL

Cadena

Source B

SINT

Inmediato

valor que se compara con Source A

INT

Tag

DINT

REAL

Cadena

Si usted introduce un tag SINT o INT, el valor se convierte en un valor DINT mediante extensión de signo. Los valores REAL pocas veces son absolutamente iguales. Si necesita determinar la igualdad de dos valores REAL, use la instrucción LIM. Los tipos de datos de cadena son:

tipo de datos STRING predeterminado

cualquier tipo de datos nuevo que usted cree

Para probar los caracteres de una cadena, introduzca un tag de cadena tanto para Source A como para Source B.

Texto estructurado

Use el signo igual “” como operador dentro de una expresión. Esta expresión evalúa si sourceA es igual que sourceB.

Descripción:

IF sourceA = sourceB THEN <statements>;

Use la instrucción EQU para comparar dos números o dos cadenas de caracteres ASCII. Cuando usted compara las cadenas:

Las cadenas son iguales si sus caracteres coinciden. Los caracteres ASCII permiten distinguir mayúsculas de minúsculas. La “A” mayúscula ($41) es diferente a la “a” minúscula ($61).La ventaja de la instrucción CMP es que le permite introducir expresiones complejas en una sola instrucción.

Indicadores de estado aritmético:

 

No afectados.

Condiciones de fallo:

ninguna

Ejecución

Condición

Acción

Preescan

La condición de salida de renglón se establece como falsa.

condición de entrada de renglón es falsa

La condición de salida de renglón se establece como falsa.

a condición de entrada de renglón es verdadera Si La condición de salida de renglón
a condición de entrada
de renglón es
verdadera
Si
La condición de
salida de renglón
Source A = Sorce B
se establece como
verdadera
La condición de
salida de renglón
se establece como
falsa
fin

Post-escan

La condición de salida de renglón se establece como falsa.

Ejemplos: Si value_1 es igual a value_2, establezca light_a. Si value_1 es diferente de value_2, borre light_a.

Lógica de escalera de relés

diferente de value_2 , borre light_a . Lógica de escalera de relés Texto estructurado light_a :=

Texto estructurado

light_a := (value_1 = value_2);

Mayor o Igual que (GEQ)

Operandos:

Mayor o Igual que (GEQ) Operandos: La instrucción GEQ determina si Source A es mayor o

La instrucción GEQ determina si Source A es mayor o igual que Source B.

Lógica de escalera de relés

Operando

Tipo

Formato

Descripción

Source A

SINT

Inmediato

Valor que se compara con Source B

INT

Tag

DINT

REAL

Cadena

Source B

SINT

Inmediato

valor que se compara con Source A

INT

Tag

DINT

REAL

Cadena

Si usted introduce un tag SINT o INT, el valor se convierte en un valor DINT mediante extensión de signo. Los valores REAL pocas veces son absolutamente iguales. Si necesita determinar la igualdad de dos valores REAL, use la instrucción LIM. Los tipos de datos de cadena son:

tipo de datos STRING predeterminado

cualquier tipo de datos nuevo que usted cree

Para probar los caracteres de una cadena, introduzca un tag de cadena tanto para Source A como para Source B.

Texto estructurado

Use los signos mayor que e igual “>” adyacentes como operador dentro de una expresión. Esta expresión evalúa si sourceA es mayor o igual que sourceB.

IF sourceA >= sourceB THEN <statements>;

Descripción:

La instrucción GEQ determina si Source A es mayor o igual que Source B. Cuando usted compara las cadenas:

Los valores hexadecimales de los caracteres determinan si una cadena es mayor o menor que otra cadena. Para obtener el código hexadecimal de un carácter, remítase a la contraportada de este manual. Cuando las dos cadenas se clasifican como en un directorio telefónico, el orden de las cadenas determina cuál es mayor.

Cuando las dos cadenas se clasifican como en un directorio telefónico, el orden de las cadenas

Indicadores de estado aritmético:

 

No afectados.

 

Condiciones de fallo:

ninguna

Ejecución

Condición

Acción

lógica

de

escalera

de

relés

Preescan

La condición de salida de renglón se establece como falsa.

condición de entrada de renglón es falsa

La condición de salida de renglón se establece como falsa.

a condición de entrada de renglón es verdadera Si La condición de salida de renglón
a condición de entrada
de renglón es
verdadera
Si
La condición de
salida de renglón
Source A
Sorce B
se establece como
verdadera
No
La condición de
salida de renglón
se establece como
falsa
fin

Post-escan

La condición de salida de renglón se establece como falsa.

Ejemplo: Si value_1 es mayor o igual que value_2, establezca light_b. Si value_1 es menor que value_2, borre light_b.

Lógica de escalera de relés

que value_2 , borre light_b . Lógica de escalera de relés Texto estructurado light_b := (value_1

Texto estructurado

light_b := (value_1 >= value_2);

Mayor que (GRT)

Operandos:

Mayor que (GRT) Operandos: La instrucción GRT determina si Source A es mayor que Source B.

La instrucción GRT determina si Source A es mayor que Source B.

Lógica de escalera de relés

Operando

Tipo

Formato

Descripción

Source A

SINT

Inmediato

Valor que se compara con Source B

INT

Tag

DINT

REAL

Cadena

Source B

SINT

Inmediato

valor que se compara con Source A

INT

Tag

DINT

REAL

Cadena

Si usted introduce un tag SINT o INT, el valor se convierte en un valor DINT mediante extensión de signo. Los tipos de datos de cadena son:

tipo de datos STRING predeterminado

cualquier tipo de datos nuevo que usted cree

Para probar los caracteres de una cadena, introduzca un tag de cadena tanto para Source A como para Source B.

Texto estructurado

Use el signo mayor que “>” como un operador dentro de una expresión. Esta expresión evalúa si sourceA es mayor que sourceB.

IF sourceA > sourceB THEN <statements>;

Descripción:

La instrucción GRT determina si Source A es mayor que Source B. Cuando usted compara cadenas:

Los valores hexadecimales de los caracteres determinan si una cadena es mayor o menor que otra cadena. Para obtener el código hexadecimal de un carácter, remítase a la contraportada de este manual. Cuando las dos cadenas se clasifican como en un directorio telefónico, el orden de las cadenas determina cuál es mayor.

Cuando las dos cadenas se clasifican como en un directorio telefónico, el orden de las cadenas

Indicadores de estado aritmético:

 

No afectados.

Condiciones de fallo:

ninguna

Ejecución

Condición

Acción lógica de escalera de relés

Preescan

La condición de salida de renglón se establece como falsa.

condición de entrada de renglón es falsa

La condición de salida de renglón se establece como falsa.

a condición de entrada de renglón es verdadera La condición de Si Sourse A >
a condición de entrada
de renglón es
verdadera
La condición de
Si
Sourse A >
salida de renglón
Sourse B
se establece como
verdadera
no
La condición de
salida de renglón
se establece como
falsa
Fin

Post-escan

La condición de salida de renglón se establece como falsa.

Ejemplo: Si value_1 es mayor que value_2, establezca light_1. Si value_1 es menor o igual que value_2, borre light_1.

Lógica de escalera de relés

igual que value_2 , borre light_1 . Lógica de escalera de relés Texto estructurado light_1 :=

Texto estructurado

light_1 := (value_1 > value_2);

Menor o igual que (LEQ)

Operandos:

Menor o igual que (LEQ) Operandos: La instrucción LEQ determina si Source A es menor o

La instrucción LEQ determina si Source A es menor o igual que Source B.

Lógica de escalera de relés

Operando

Tipo

Formato

Descripción

Source A

SINT

Inmediato

Valor que se compara con Source B

INT

Tag

DINT

REAL

Cadena

Source B

SINT

Inmediato

valor que se compara con Source A

INT

Tag

DINT

REAL

Cadena

Si usted introduce un tag SINT o INT, el valor se convierte en un valor DINT mediante extensión de signo. Los tipos de datos de cadena son:

tipo de datos STRING predeterminado

cualquier tipo de datos nuevo que usted cree

Para probar los caracteres de una cadena, introduzca un tag de cadena tanto para Source A como para Source B.

Texto estructurado

Use los signos menor que e igual “<” adyacentes como operador dentro de una expresión. Esta expresión evalúa si sourceA es menor o igual que sourceB.

IF sourceA <= sourceB THEN <statements>;

Descripción:

La instrucción LEQ determina si Source A es menor o igual que Source B. Cuando usted compara las cadenas:

Los valores hexadecimales de los caracteres determinan si una cadena es mayor o menor que otra cadena. Para obtener el código hexadecimal de un carácter, remítase a la contraportada de este manual. Cuando las dos cadenas se clasifican como en un directorio telefónico, el orden de las cadenas determina cuál es mayor.

Cuando las dos cadenas se clasifican como en un directorio telefónico, el orden de las cadenas

Indicadores de estado aritmético:

 

No afectados.

Condiciones de fallo:

ninguna

Ejecución

Condición

Acción lógica de escalera de relés

Preescan

La condición de salida de renglón se establece como falsa.

condición de entrada de renglón es falsa

La condición de salida de renglón se establece como falsa.

a condición de entrada de renglón es verdadera La condición de Si Sourse A <=
a condición de entrada
de renglón es
verdadera
La condición de
Si
Sourse A <=
salida de renglón
Sourse B
se establece como
verdadera
no
La condición de
salida de renglón
se establece como
falsa
Fin

Post-escan

La condición de salida de renglón se establece como falsa.

Ejemplo: Si value_1 es menor o igual que value_2, establezca light_2. Si value_1 es mayor que value_2, borre light_2.

Lógica de escalera de relés

que value_2 , borre light_2 . Lógica de escalera de relés Texto estructurado light_2 := (value_1

Texto estructurado

light_2 := (value_1 <= value_2);

Menor que (LES)

Operandos:

Menor que (LES) Operandos: La instrucción LES determina si Source A es menor que Source B.

La instrucción LES determina si Source A es menor que Source B.

Lógica de escalera de relés

Operando

Tipo

Formato

Descripción

Source A

SINT

Inmediato

Valor que se compara con Source B

INT

Tag

DINT

REAL

Cadena

Source B

SINT

Inmediato

valor que se compara con Source A

INT

Tag

DINT

REAL

Cadena

Si usted introduce un tag SINT o INT, el valor se convierte en un valor DINT mediante extensión de signo. Los tipos de datos de cadena son:

tipo de datos STRING predeterminado

cualquier tipo de datos nuevo que usted cree

Para probar los caracteres de una cadena, introduzca un tag de cadena tanto para Source A como para Source B.

Texto estructurado

Use el signo menor que “<” como un operador dentro de una expresión. Esta expresión evalúa si sourceA es menor que sourceB.

IF sourceA < sourceB THEN <statements>;

Descripción:

La instrucción LES determina si Source A es menor que Source B. Cuando usted compara las cadenas:

Los valores hexadecimales de los caracteres determinan si una cadena es mayor o menor que otra cadena. Para obtener el código hexadecimal de un carácter, remítase a la contraportada de este manual. Cuando las dos cadenas se clasifican como en un directorio telefónico, el orden de las cadenas determina cuál es mayor.

Cuando las dos cadenas se clasifican como en un directorio telefónico, el orden de las cadenas

Indicadores de estado aritmético:

 

No afectados.

Condiciones de fallo:

ninguna

Ejecución

Condición

Acción lógica de escalera de relés

Preescan

La condición de salida de renglón se establece como falsa.

condición de entrada de renglón es falsa

La condición de salida de renglón se establece como falsa.

a condición de entrada de renglón es verdadera La condición de Si Sourse A <
a condición de entrada
de renglón es
verdadera
La condición de
Si
Sourse A <
salida de renglón
Sourse B
se establece como
verdadera
no
La condición de
salida de renglón
se establece como
falsa
Fin

Post-escan

La condición de salida de renglón se establece como falsa.

Ejemplo: Si value_1 es menor que value_2, establezca light_3. Si value_1 es mayor o igual que value_2, borre light_3.

Lógica de escalera de relés

igual que value_2 , borre light_3 . Lógica de escalera de relés Texto estructurado light_3 :=

Texto estructurado

light_3 := (value_1 < value_2);

Limite (LIM)

Operandos:

Limite (LIM) Operandos: La instrucción LIM determina si el valor de prueba se encuentra dentro del

La instrucción LIM determina si el valor de prueba se encuentra dentro del rango de los límites inferior y superior.

Lógica de escalera de relés

Operando

Tipo

Formato

Descripción

Low limit

SINT

Inmediato

Valor del limite inferior

INT

Tag

DINT

REAL

Un tag SINT o INT se convierte en un valor DINT mediante extensión de signo.

Test

SINT

INT

Inmediato

Valor que se prueba

Tag

DINT

REAL

Un tag SINT o INT se convierte en un valor DINT mediante extensión de signo.

High limit

SINT

inmediato

Valor del limite superior

INT

Tag

DINT

REAL

Un tag SINT o INT se convierte en un valor DINT mediante extensión de signo.

Texto estructurado

El texto estructurado no cuenta con la instrucción LIM, pero se pueden lograr los mismos resultados usando texto estructurado.

IF (LowLimit <= HighLimit AND (Test >= LowLimit AND Test <= HighLimit)) OR (LowLimit >= HighLimit AND (Test <= LowLimit OR Test >= HighLimit)) THEN <statement>; END_IF;

La instrucción LIM determina si el valor de prueba se encuentra dentro del rango de los límites inferior y superior.

Descripción:

Si es límite inferior

y el valor de prueba es

La condición de salida de renglón se establece como

≤ Limite superior

igual a o está entre los límites

verdadera

diferente o está fuera de los límites

falsa

≥ Limite superior

igual a o está fuera de los límites

Verdadera

diferente o está dentro de los límites

falsa

Los números enteros con signo saltan (“roll over”) del número positivo máximo al número negativo máximo cuando se establece el bit más significativo. Por ejemplo, en los números enteros de 16 bits (tipo INT), el número entero positivo máximo es 32,767, el cual se representa en hexadecimal como 16#7FFF (todos los bits del 0 al 14 están en uno). Si usted incrementa dicho número en uno, el resultado es 16#8000 (el bit 15 se pone en uno). Para enteros con signo, el hexadecimal 16#8000 es igual a -32,768 en decimal. Incrementar desde este punto hasta que los 16 bits se pongan en uno, termina en 16#FFFF, que es igual a -1 en decimal. Esto puede mostrarse como línea circular de números (vea los siguientes diagramas). La instrucción LIM comienza en el límite inferior e se va incrementando en sentido horario hasta llegar al límite superior. Cualquier valor de prueba que se encuentre en el rango en sentido horario desde el límite inferior al límite superior establece en verdadera la condición de salida del renglón. Cualquier valor de prueba que se encuentre en el rango en sentido horario desde el límite superior al límite inferior establece en falsa la condición de salida del renglón.

en sentido horario desde el límite superior al límite inferior establece en falsa la condición de

Indicadores de estado aritmético:

 

No afectados.

Condiciones de fallo:

ninguna

Ejecución

Condición

Acción lógica de escalera de relés

Preescan

La condición de salida de renglón se establece como falsa.

condición de entrada de renglón es falsa

La condición de salida de renglón se establece como falsa.

a condición de entrada de renglón es verdadera La La condición de comparación Evaluar el
a condición de entrada
de renglón es
verdadera
La
La condición de
comparación
Evaluar el
salida de renglón
es verdadera
limite
se establece como
verdadera
La comparación
es falsa
La condición de
salida de renglón
se establece como
falsa
Fin

Post-escan

La condición de salida de renglón se establece como falsa.

Ejemplo 1: Límite inferior Límite superior: Cuando 0 value 100, establezca light_1. Si value < 0 or value > 100, borre light_1.

Lógica de escalera de relés

> 100, borre light_1 . Lógica de escalera de relés Texto estructurado IF (value <= 100

Texto estructurado

IF (value <= 100 AND(value >= 0 AND value <= 100)) OR (value >= 100 AND value <= 0 OR value >= 100)) THEN light_1 := 1; ELSE light_1 := 0; END_IF;

Ejemplo 2: Límite inferior Límite superior:

Cuando value 0 o value 100, establezca light_1. Si value < 0 o value > -100, borre light_1.

Lógica de escalera de relés

> -100, borre light_1 . Lógica de escalera de relés Texto estructurado IF (0 <= -100

Texto estructurado

IF (0 <= -100 AND value >= 0 AND value <= -100)) OR (0 >= -100 AND(value <= 0 OR value >= -100)) THEN light_1 := 1; ELSE light_1 := 0; END_IF;

Mascara igual que (MEQ)

Operandos:

Mascara igual que (MEQ) Operandos: La instrucción MEQ pasa los valores Source y Compare por una

La instrucción MEQ pasa los valores Source y Compare por una máscara y compara los resultados.

Lógica de escalera de relés

Operando

Tipo

Formato

Descripción

Source

SINT

Inmediato

Valor que se compara con Compare

INT

Tag

DINT

Un tag SINT o INT se convierte en un valor DINT mediante un relleno con ceros.

Mask

SINT

INT

Inmediato

define qué bits se deben bloquear o pasar

Tag

DINT

Un tag SINT o INT se convierte en un valor DINT mediante un relleno con ceros.

Compare

SINT

inmediato

Valor del limite superior

INT

Tag

DINT

Un tag SINT o INT se convierte en un valor DINT mediante un relleno con ceros.

Texto estructurado

El texto estructurado no cuenta con la instrucción MEQ, pero se pueden lograr los mismos resultados usando texto estructurado.

IF (Source AND Mask) = (Compare AND Mask) THEN <statement>; END_IF;

Descripción:

Un número “1” en la máscara significa que se pasa el bit de datos. Un número “0” en la máscara significa que se bloquea el bit de datos. Normalmente, los valores Source, Mask y Compare son del mismo tipo de datos. Si mezcla tipos de datos enteros, la instrucción llena con ceros los bits superiores de los tipos de datos enteros menores para que tengan el mismo tamaño que el tipo de datos mayores.

Introducción de un valor de máscara inmediato

Cuando usted introduce una máscara, el software de programación cambia de manera predeterminada a valores decimales. Si desea introducir una máscara usando otro formato, preceda el valor con el prefijo correcto.

Prefijo

Descripcion

16#

Hexadecimal

Por ejemplo; 16#0F0F

8#

Octal

Por ejemplo; 8#16

2#

Binario

Por ejemplo; 2#00110011

Indicadores de estado aritmético:

 

No afectados.

Condiciones de fallo:

ninguna

Ejecución

Condición

Acción lógica de escalera de relés

Preescan

La condición de salida de renglón se establece como falsa.

condición de entrada de renglón es falsa

La condición de salida de renglón se establece como falsa.

a condición de entrada de renglón es verdadera La condición de si Origen salida de
a condición de entrada
de renglón es
verdadera
La condición de
si
Origen
salida de renglón
enmascarado=
se establece como
comparacion
verdadera
enmascarada
no
La condición de
salida de renglón
se establece como
falsa
Fin

Post-escan

La condición de salida de renglón se establece como falsa.

Ejemplo 1: Si value_1 enmascarado es igual a value_2 enmascarado, establezca light_1. Si value_1 enmascarado es diferente de value_2 enmascarado, borre light_1. Este ejemplo muestra que los valores enmascarados son iguales. Un número 0 en la máscara impide que la instrucción compare el bit (representado por x en el ejemplo).

compare el bit (representado por x en el ejemplo). Lógica de escalera de relés Texto estructurado

Lógica de escalera de relés

por x en el ejemplo). Lógica de escalera de relés Texto estructurado light_1 := ((value_1 AND

Texto estructurado

light_1 := ((value_1 AND mask_1)=(value_2 AND mask_2));

Ejemplo 2: Si value_1 enmascarado es igual a value_2 enmascarado, establezca light_1. Si value_1 enmascarado es diferente de value_2 enmascarado, borre light_1. Este ejemplo muestra que los valores enmascarados son diferentes. Un número 0 en la máscara impide que la instrucción compare el bit (representado por x en el ejemplo)

compare el bit (representado por x en el ejemplo) Lógica de escalera de relés Texto estructurado

Lógica de escalera de relés

por x en el ejemplo) Lógica de escalera de relés Texto estructurado IF (0 <= -100

Texto estructurado

IF (0 <= -100 AND value >= 0 AND value <= -100)) OR (0 >= -100 AND(value <= 0 OR value >= -100)) THEN light_1 := 1; ELSE light_1 := 0; END_IF;

Diferente de (NEQ)

Operandos:

Diferente de (NEQ) Operandos: La instrucción NEQ determina si Source A es diferente de Source B.

La instrucción NEQ determina si Source A es diferente de Source

B.

Lógica de escalera de relés

Operando

Tipo

Formato

Descripción

Source A

SINT

Inmediato

Valor que se compara con Source B

INT

Tag

DINT

REAL

Cadena

Source B

SINT

Inmediato

valor que se compara con Source A

INT

Tag

DINT

REAL

Cadena

Si usted introduce un tag SINT o INT, el valor se convierte en un valor DINT mediante extensión de signo. Los tipos de datos de cadena son: