You are on page 1of 138

MicroLogix 1100

Protocolo de comunicacin: 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 configuracin 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 1

Figura 2

2.- Se desplegar una nueva ventana la cual lleva por nombre propiedades de
conexin, seleccionamos la opcin donde dice Protocolo Internet (TCP/IP) y a
continuacin oprimimos propiedades.

Figura 3
3.-Nos saldr nuevamente otra venta donde finalmente le asignamos la IP a nuestra
PC, que en este caso tiene direccin IP: 192.168.30.25 y una Mscara de subred que
se genera por default con la numeracin: 255.255.255.0, finalmente damos aceptar

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
puede observar en la figura 6, en la pestaa 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
excepcin de la ltima cifra esta debe de ser diferente, recordemos que la direccin 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.

Figura 6

Figura 7

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 pestaas Type, IP Address,
aparece BOOTP y la direccin 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 .

Figura 9

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

Introduccin

Use las instrucciones de bits (tipo rel) para monitorear


y controlar el estado de los bits

Si desea

Use esta instruccin

Habilitar salidas cuando se


establece un bit
Habilitar salidas cuando se
borra un bit.
establecer un bit
establecer un bit
(retentivo)
borrar un bit (retentivo)
habilitar salidas por un
escn cada vez que el
rengln se hace verdadero
establecer un bit por un
escn cada vez que el
rengln se hace verdadero
establecer un bit por un
escn cada vez que el
rengln se hace falso
(1)

XIC
XIO
OTE
OTL
OTU
ONS

Disponible
en
estos
lenguajes
lgica de escalera de rels
texto estructurado(1)
lgica de escalera de rels
texto estructurado(1)
lgica de escalera de rels
texto estructurado(1)
lgica de escalera de rels
texto estructurado(1)
lgica de escalera de rels
texto estructurado(1)
lgica de escalera de rels
texto estructurado(1)

OSR

lgica de escalera de rels

OSF

lgica de escalera de rels

No hay una instruccin equivalente en texto estructurado. Use otra


programacin en texto estructurado para lograr el mismo resultado. Vea la
descripcin de la instruccin

Examinar si est
cerrado (XIC)

La instruccin XIC examina el bit de datos para determinar si


est establecido.

Operandos:
Lgica de escalera de rels
Operando
bit de datos

Tipo
BOOL

Formato
Tag

Descripcin
bit que se va a probar

Texto estructurado
El texto estructurado no tiene una instruccin XIC, pero usted
puede lograr los mismos resultados usando una construccin
IF...THEN.
IF data_bit THEN
<statement>;
END_IF;
Descripcin

La instruccin XIC examina el bit de datos para determinar si


est establecido

Identificacin de
estado aritmtico:
Condiciones de
fallo:

No afectados
ninguna

Ejecucin
Condicin

Accin de lgica de escalera de rel

preescn

La condicin de salida de rengln se establece


como falsa
La condicin de salida de rengln se establece
como falsa.

condicin de entrada de rengln es falsa


Condicin de entrada de
rengln es verdadera
Examinar bit
de datos

Bit de datos =0
La condicin de salida de
rengln se establece como
falsa

Bit de datos =1

La condicin de salida de
rengln se conoce como
verdadera
fin

post-escn

La condicin de salida de rengln se establece como falsa.

Ejemplo 1:
Si se establece limit_switch_1, esto habilita la siguiente instruccin (la condicin de
salida de rengln es verdadera).

Lgica de escalera de rels

Texto estructurado
IF limit_switch THEN
<statement>;
END_IF;

Examinar si est
abierto (XIO)

La instruccin XIO examina el bit de datos para determinar si


est borrado.

Operandos:
Lgica de escalera de rels
Operando
bit de datos

Tipo
BOOL

Formato
Tag

Descripcin
bit que se va a probar

Texto estructurado
El texto estructurado no tiene una instruccin XIO, pero usted
puede lograr los mismos resultados usando una construccin
IF...THEN.
IF NOT data_bit THEN
<statement>;
END_IF;
Descripcin

La instruccin XIO examina el bit de datos para determinar si


est borrado

Identificacin de
estado aritmtico:
Condiciones de
fallo:

No afectados
Ninguna

Ejecucin
Condicin

Accin de lgica de escalera de rel

preescn

La condicin de salida de rengln se establece


como falsa
La condicin de salida de rengln se establece
como falsa.

condicin de entrada de rengln es falsa


Condicin de entrada de
rengln es verdadera
Examinar bit
de datos

Bit de datos =0
La condicin de salida de
rengln se establece como
verdadera

Bit de datos =1

La condicin de salida de
rengln se conoce como
falsa
fin

post-escn

La condicin de salida de rengln se establece como falsa.

Ejemplo 1:
Si se borra limit_switch_2, esto habilita la siguiente instruccin (la condicin de salida
de rengln es verdadera).
Lgica de escalera de rels

Texto estructurado
IF NOT limit_switch_2 THEN
<statement>;
END_IF;

Ectivacion de salida
(OTE)

La instruccin OTE establece o barra el bit de datos.

Operandos:
Lgica de escalera de rels
Operando
bit de datos

Tipo
BOOL

Formato
Tag

Descripcin
bit que se va a
establecer o borrar

Texto estructurado
El texto estructurado no tiene una instruccin OTE, pero usted puede
lograr los mismos resultados usando una asignacin no retentiva.
data_bit [:=] BOOL_expression;

Descripcin

Identificacin de
estado aritmtico:
Condiciones de
fallo:

Cuando se habilita la instruccin OTE, el controlador establece el bit


de datos. Cuando se inhabilita la instruccin OTE, el controlador
borra el bit de datos
No afectados
Ninguna

Ejecucin
Condicin

Accin de lgica de escalera de rel

preescn

El bit de datos se borra.


La condicin de salida de rengln se establece
como falsa.
El bit de datos se borra.
La condicin de salida de rengln se establece
como falsa.
El bit de datos se establece.
La condicin de salida de rengln se establece
como verdadera
El bit de datos se borra.
La condicin de salida de rengln se establece
como falsa.

condicin de entrada de rengln es falsa

condicin de entrada de rengln es


verdadera
post-escn

Condicin de entrada de
rengln es verdadera
Examinar bit
de datos

Bit de datos =0
La condicin de salida de
rengln se establece como
falsa

Bit de datos =1

La condicin de salida de
rengln se conoce como
verdadera
El bit de datos se
borra.

bit que se va
a establecer
o borrar

Bit de datos =0

El bit de datos se borra.


La condicin de salida
de rengln se establece
como falsa.

Bit de datos =1

El bit de datos se
establece.
La condicin de salida
de rengln se establece
como verdadera.

fin

Ejemplo:
Cuando se establece switch, la instruccin OTE establece (activa) light_1. Cuando se borra
switch, la instruccin OTE borra (desactiva) light_1.

Lgica de escalera de rels

Texto estructurado
light_1 [:=] switch;

Ectivacion de salida
(OTL)

La instruccin OTL establece (enclava) el bit de datos.

Operandos:
Lgica de escalera de rels
Operando
bit de datos

Tipo
BOOL

Formato
Tag

Descripcin
bit que se va a
establecer

Texto estructurado
El texto estructurado no tiene una instruccin OTL, pero usted puede
lograr los mismos resultados usando una construccin IF...THEN y
una asignacin.
IF BOOL_expression THEN
data_bit := 1;
END_IF;

Descripcin

Identificacin de
estado aritmtico:
Condiciones de
fallo:

Cuando se habilita, la instruccin OTL establece el bit de datos. El


bit de datos permanece establecido hasta que es borrado,
generalmente por una instruccin OTU. Cuando se inhabilita, la
instruccin OTL no cambia el estado del bit de datos
No afectados
Ninguna

Ejecucin
Condicin

Accin de lgica de escalera de rel

preescn

El bit de datos no se modifica.


La condicin de salida de rengln se establece
como falsa.
El bit de datos no se modifica.
La condicin de salida de rengln se establece
como falsa.
El bit de datos se establece.
La condicin de salida de rengln se establece
como verdadera
. El bit de datos no se modifica.
La condicin de salida de rengln se establece
como falsa.

condicin de entrada de rengln es falsa

condicin de entrada de rengln es


verdadera
post-escn

Condicin de entrada de
rengln es verdadera
Examinar bit
de datos

Bit de datos =0
La condicin de salida de
rengln se establece como
falsa

Bit de datos =1

La condicin de salida de
rengln se conoce como
verdadera
El bit de datos no
se modifica.

bit que se va
a establecer

Bit de datos =0

El bit de datos no se modifica.


La condicin de salida de
rengln se establece como
falsa.

Bit de datos =1

El bit de datos se
establece.
La condicin de salida
de rengln se establece
como verdadera.

fin

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

Lgica de escalera de rels

Texto estructurado
IF BOOL_expression THEN
light_2 := 1;
END_IF;

Desenclavamiento
de salida (OTU)

La instruccin OTU borra (desenclava) el bit de datos.

Operandos:
Lgica de escalera de rels
Operando
bit de datos

Tipo
BOOL

Formato
Tag

Descripcin
bit que se va a borrar

Texto estructurado
El texto estructurado no tiene una instruccin OTU, pero usted
puedelograr los mismos resultados usando una construccin
IF...THEN y una asignacin.
IF BOOL_expression THEN
data_bit := 0;
END_IF;

Descripcin
Identificacin de
estado aritmtico:
Condiciones de
fallo:

Cuando se habilita, la instruccin OTU borra el bit de datos. Cuando


se inhabilita, la instruccin OTU no cambia el estado del bit de datos
No afectados
Ninguna

Ejecucin
Condicin

Accin de lgica de escalera de rel

preescn

El bit de datos no se modifica.


La condicin de salida de rengln se establece
como falsa.
El bit de datos no se modifica.
La condicin de salida de rengln se establece
como falsa.
El bit de datos se borra.
La condicin de salida de rengln se establece
como verdadera
. El bit de datos no se modifica.
La condicin de salida de rengln se establece
como falsa.

condicin de entrada de rengln es falsa

condicin de entrada de rengln es


verdadera
post-escn

Condicin de entrada de
rengln es verdadera

Examinar bit
de datos

Bit de datos =0
La condicin de salida de
rengln se establece como
falsa

Bit de datos =1

La condicin de salida de
rengln se conoce como
verdadera
El bit de datos no
se modifica.

bit que se va
a borrar

Bit de datos =0

El bit de datos no se modifica.


La condicin de salida de
rengln se establece como
falsa.

Bit de datos =1

El bit de datos se
establece.
La condicin de salida
de rengln se establece
como verdadera.

fin

Ejemplo: Cuando se habilita, la instruccin OTU borra light_2.


Lgica de escalera de rels

Texto estructurado
IF BOOL_expression THEN
light_2 := 0;
END_IF;

Un impulso (ONS)

La instruccin ONS habilita o inhabilita el resto del rengln,


dependiendo del estado del bit de almacenamiento

Operandos:
Lgica de escalera de rels
Operando
storage bit

Tipo
BOOL

Formato
Tag

Descripcin
bit de almacenamiento
interno
almacena la condicin de
entrada del rengln
desde la ltima vez que se
ejecut la
instruccin

Texto estructurado
El texto estructurado no tiene una instruccin ONS, pero usted
puede lograr los mismos resultados usando una construccin
IF...THEN.
IF BOOL_expression AND NOT storage_bit THEN
<statement>;
END_IF;
storage_bit := BOOL_expression;

Descripcin

Identificacin de
estado aritmtico:
Condiciones de
fallo:

Cuando se habilita y el bit de almacenamiento se borra, la


instruccin ONS habilita el resto del rengln. Cuando se inhabilita o
cuando el bit de almacenamiento se establece, la instruccin ONS
inhabilita el resto del rengln.
No afectados
Ninguna

Ejecucin
Condicin

Accin de lgica de escalera de rel

preescn

El bit de almacenamiento se establece para evitar


una activacin no vlida durante el primer escn.
La condicin de salida de rengln se establece
como falsa.
El bit de almacenamiento se borra.
La condicin de salida de rengln se establece
como falsa.

condicin de entrada de rengln es falsa

condicin de entrada de rengln es


verdadera
bit de
almacenamiento=0

Examinar el bit de
almacenamiento

bit de
almacenamiento=1

El bit de almacenamiento
permanece establecido la
condicin de salida de
rengln se establece como

post-escn

falsa

el bit de almacenamiento
se establece la condicin
de salida de rengln se
establece como
verdadera

fin

El bit de almacenamiento se borra.


La condicin de salida de rengln se establece
como falsa.

Ejemplo:
Normalmente una instruccin ONS est precedida por una instruccin de entrada, porque la
instruccin ONS se escanea cuando sta se habilita y cuando se inhabilita para que funcione
correctamente. Una vez que la instruccin ONS se habilita, la condicin de entrada de rengln
debe borrarse, o el bit de almacenamiento debe borrarse para que la instruccin ONS se habilite
nuevamente.
En todo escn en que limit_switch_1 se borra o storage_1 se establece, este rengln no tiene
efecto. En todo escn en que limit_switch_1 se establece y storage_1 se borra, la instruccin
ONS establece storage_1 y la instruccin 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.

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)

La instruccin OSR establece o borra el bit de salida, dependiendo


del estado del bit de almacenamiento.

Operandos:
Lgica de escalera de rels
Operando

Descripcin

Identificacin de
estado aritmtico:
Condiciones de
fallo:

storage bit

Tipo
BOOL

Formato
tag

output bit

BOOL

tag

Descripcin
bit de almacenamiento
interno
almacena la condicin de
entrada del rengln
desde la ltima vez que se
ejecut la
instruccin
bit que se va a establecer

Cuando se habilita y el bit de almacenamiento est borrado, la


instruccin OSR establece el bit de salida. Cuando se habilita y el bit
de almacenamiento est establecido o cuando se inhabilita, la
instruccin OSR borra el bit de salida.

No afectados
Ninguna

Ejecucin
Condicin

Accin de lgica de escalera de rel

preescn

El bit de almacenamiento se establece para evitar


una activacin no vlida durante el primer escn.
El bit de salida se borra.
La condicin de salida de rengln se establece
como falsa.
El bit de almacenamiento se borra.
El bit de salida no se modifica.
La condicin de salida de rengln se establece
como falsa.

condicin de entrada de rengln es falsa

condicin de entrada de rengln es


verdadera
bit de
almacenamiento=0

Examinar el bit de
almacenamiento

bit de
almacenamiento=1

el bit de almacenamiento
permanece establecido el
bit de salida se borra la
condicin de salida de
rengln se establece como
verdadera

post-escn

el bit de almacenamiento se
establece
el bit de salida se establece la
condicin de salida de rengln
se establece como
verdadera

fin

El bit de almacenamiento se borra.


La condicin de salida de rengln se establece
como falsa.

Ejemplo:
Cada vez que limit_switch_1 cambia de borrado a establecido, la instruccin OSR establece
output_bit_1 y la instruccin 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.

Un impulso en flanco
descendente (OSR)

La instruccin OSF establece o borra el bit de salida dependiendo


del estado del bit de almacenamiento.

Operandos:
Lgica de escalera de rels
Operando

Descripcin

Identificacin de
estado aritmtico:
Condiciones de
fallo:

storage bit

Tipo
BOOL

Formato
tag

output bit

BOOL

tag

Descripcin
bit de almacenamiento
interno
almacena la condicin de
entrada del rengln desde
la ltima vez que se
ejecut la instruccin
bit que se va a establecer

Cuando se inhabilita y el bit de almacenamiento est establecido, la


instruccin OSF establece el bit de salida. Cuando se inhabilita y el
bit de almacenamiento est borrado o cuando se habilita, la
instruccin OSF borra el bit de salida.

No afectados
Ninguna

Ejecucin
Condicin

Accin de lgica de escalera de rel

preescn

El bit de almacenamiento se borra para evitar una


activacin no vlida durante el primer escn.
El bit de salida se borra.
La condicin de salida de rengln se establece como
falsa.

condicin de entrada de rengln


es falsa
bit de
almacenamiento=0

Examinar el bit de
almacenamiento

el bit de almacenamiento
permanece borrado el bit de
salida se borra la condicin de
salida de rengln se establece
como falsa

bit de
almacenamiento=1

el bit de almacenamiento
se borra el bit de salida se
establece la condicin de
salida de rengln se
establece como falsa

fin

condicin de entrada de rengln es


verdadera

El bit de almacenamiento se establece.


El bit de salida se borra.
La condicin de salida de rengln se establece como
verdadera.

post-escn

Ntese que la condicin de entrada del rengln es


falsa arriba.

Ejemplo:
Cada vez que limit_switch_1 cambia de establecido a borrado, la instruccin OSF establece
output_bit_2 y la instruccin 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.

Instrucciones de temporizador y contador


(TON, TOF, RTO, CTU, CTD, RES)

Introduccin
Si desea
establecer el tiempo durante
el cual un temporizador est
habilitado
establecer el tiempo durante
el cual un temporizador est
inhabilitado
acumular tiempo
conteo progresivo
conteo regresivo
restablecer un temporizador o
un contador

Los temporizadores y contadores controlan operaciones en


base a tiempo o nmero de eventos.
Use esta instruccin
Disponible
en
estos
lenguajes
lgica de escalera de rels
TON
TOF

lgica de escalera de rels

RTO
CTU
CTD
RES

lgica de escalera de rels


lgica de escalera de rels
lgica de escalera de rels
lgica de escalera de rels

Temporizador de
retardo a
la conexin (TON)

La instruccin TON es un temporizador no retentivo que acumula el


tiempo cuando la instruccin est habilitada (la condicin de entrada
del rengln es verdadera)..

Operandos:
Lgica de escalera de rels
Operando
Timer

Tipo
TIMER

Formato
tag

Descripcin
Estructura de
temporizador

Preset
Acum

DINT
DINT

inmediato
inmediato

bit que se va a establecer


el tiempo en ms contado
por el temporizador el valor
inicial es tpicamente 0

Estructura TIMER
Mnemnico
.EN

Tipo de datos
BOOL

.TT

BOOL

.DN
.PRE

BOOL
DINT

.ACC

DINT

Descripcin:

Descripcin
El bit de habilitacin indica que la instruccin TON est
habilitada
El bit de temporizacin indica que se est ejecutando una
operacin de temporizacin
El bit de efectuado se establece cuando .ACC .PRE.
El valor de preajuste especifica el valor (en unidades de 1
ms) al que debe llegar el valor acumulado para que la
instruccin establezca el bit .DN.
El valor acumulado especifica el nmero de milisegundos
que han transcurrido desde que se habilit la instruccin
TON.

La instruccin TON acumula tiempo hasta que:


la instruccin 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 instruccin TON, se borra el valor .ACC

Un temporizador se ejecuta restando la hora de su ltimo escn de la hora actual:


ACC = ACC + (current_time - last_time_scanned)
Despus de que se actualiza el ACC, el temporizador establece
last_time_scanned = current_time. Esto deja el temporizador listo para el siguiente
escn.

Importante:
Asegrese 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 clculo
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 ejecucin de un temporizador, escanelo dentro de un lapso no
mayor de 69 minutos si lo coloca en una:
subrutina
seccin de cdigo comprendida entre las instrucciones JMP y LBL
diagrama de funcin secuencial (SFC)
evento o tarea peridica
rutina de estado de una fase

Indicadores de
estado
aritmtico:

no afectados

Condiciones de fallo:
Ocurrir
mayor si

un

fallo

Tipo de fallo

.PRE < 0
.ACC<0

Cdigo de fallo

4
4

34
34

Ejecucin
Condicin
Preescan
condicin de entrada
de rengln es falsa

Accin de lgica de escalera de rels


Los bits .EN, .TT y .DN se borran.
El valor .ACC se borra.
La condicin de salida de rengln se establece como falsa.
Los bits .EN, .TT y .DN se borran.
El valor .ACC se borra.
La condicin de salida de rengln se establece como falsa.

La condicin de entrada
de rengln es verdadera

Bit .DN=1
Examine el bit .DN

Bit .DN=0

Bit .EN=0

Examine el bit
.EN

El bit .EN se establece


El bit .TT se establece
Last_time=current_time

Bit .EN=1

El bit .TT se establece


.ACC=.ACC+(current_timelast_time)
Last_time=current_time

.ACC
.PRE
Examine .ACC

.ACC <
.PRE

El valor .ACC
retorna al valor
inicial

.DN se establece
el bit .TT se borra
el bit .EN se
establece

no
La condicin de
salida se
establece como
verdadera

si

.ACC=2147483647

Post-escan

Fin

La condicin de salida de rengln 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 instruccin TON. Si
limit_switch_1 se borra mientras que timer_1 est temporizando light_2 se apaga.

Temporizador de
retardo a
la desconexin (TOF)

La instruccin TOF es un temporizador no retentivo que acumula el


tiempo cuando la instruccin est habilitada (la condicin de entrada
del rengln es falsa).

Operandos:
Lgica de escalera de rels
Operando
Timer

Tipo
TIMER

Formato
tag

Descripcin
Estructura de
temporizador

Preset

DINT

inmediato

Acum

DINT

inmediato

Periodo de retardo
(acumulacin del tiempo)
el tiempo en ms que conto
el temporizador, el valor
inicial es tpicamente 0

Estructura TIMER
Mnemnico
.EN

Tipo de datos
BOOL

.TT

BOOL

.DN
.PRE

BOOL
DINT

.ACC

DINT

Descripcin:

Descripcin
El bit de habilitacin indica que la instruccin TOF est
habilitada.
El bit de temporizacin indica que se est ejecutando una
operacin de temporizacin.
El bit de efectuado se borra cuando .ACC .PRE.
El valor de preajuste especifica el valor (en unidades de 1
ms) al que debe llegar el valor acumulado para que la
instruccin borre el bit .DN.
El valor acumulado especifica el nmero de milisegundos
que han transcurrido desde que se habilit la instruccin
TOF.

La instruccin TOF acumula tiempo hasta que:


la instruccin 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 instruccin TOF, se borra el valor .ACC.

Un temporizador se ejecuta restando la hora de su ltimo escn de la hora actual:


ACC = ACC + (current_time - last_time_scanned)
Despus de que se actualiza el ACC, el temporizador establece
last_time_scanned = current_time. Esto deja el temporizador listo para el siguiente
escn.

Importante:
Asegrese 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 clculo 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 ejecucin de un temporizador, escanelo dentro de un lapso no mayor de
69 minutos si lo coloca en una:
Subrutina
Seccin de cdigo comprendida entre las instrucciones JMP y LBL
Diagrama de funcin secuencial (SFC)
Evento o tarea peridica
Rutina de estado de una fase

Indicadores de
estado
aritmtico:
Condiciones
fallo:

no afectados

de
Ocurrir
mayor si

un

fallo

.PRE < 0
.ACC<0

Tipo de fallo

Cdigo de fallo

4
4

34
34

Ejecucin
Condicin
Preescan

Accin de lgica de escalera de rels


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

condicin de entrada
de rengln es falsa

Bit .DN=0
Examine el bit .DN

Bit .DN=1

Bit .EN=1

Examine el bit
.EN

El bit .EN se establece


El bit .TT se establece
last_time=current_time

Bit .EN=0

El bit .TT se establece


.ACC=.ACC+(current_timelast_time)
last_time=current_time

.ACC .PRE
Examine .ACC

.DN se borra
el bit .TT se borra
el bit .EN se borra

.ACC < .PRE

El valor .ACC
retorna al valor
inicial

no
La condicion de
salida de renglon
se establece como
falsa

si

.ACC=2147483647

Fin

a condicin de entrada
de rengln es verdadera

Los bits .EN, .TT y .DN se establecen.


El valor .ACC se borra.
La condicin de salida de rengln se establece como verdadera.

Post-escan

La condicin de salida de rengln 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 instruccin TOF. Si limit_switch_2 se establece
mientras que timer_2 est temporizando light_2 se apaga.

Temporizador
retentivo activado
(RTO)

La instruccin RTO es un temporizador retentivo que acumula


tiempo cuando la instruccin est habilitada.

Operandos:
Lgica de escalera de rels
Operando
Timer

Tipo
TIMER

Formato
tag

Descripcin
Estructura de
temporizador

Preset

DINT

inmediato

Acum

DINT

inmediato

Periodo de retardo
(acumulacin del tiempo)
el tiempo en ms que conto
el temporizador, el valor
inicial es tpicamente 0

Estructura TIMER
Mnemnico
.EN

Tipo de datos
BOOL

.TT

BOOL

.DN
.PRE

BOOL
DINT

.ACC

DINT

Descripcin:

Descripcin
El bit de habilitacin indica que la instruccin RTO est
habilitada.
El bit de temporizacin indica que se est ejecutando una
operacin de temporizacin.
El bit de efectuado indica que .ACC .PRE.
El valor de preajuste especifica el valor (en unidades de 1
ms) al que debe llegar el valor acumulado para que la
instruccin establezca el bit .DN.
El valor acumulado especifica el nmero de milisegundos
que han transcurrido desde que se habilit la instruccin
RTO.

La instruccin RTO acumula tiempo hasta que se inhabilita. Cuando


la instruccin RTO se inhabilita, retiene su valor .ACC. Usted debe
borrar el valor .ACC, normalmente con una instruccin 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.

Un temporizador se ejecuta restando la hora de su ltimo escn de la hora actual:


ACC = ACC + (current_time - last_time_scanned)
Despus de que se actualiza el ACC, el temporizador establece
last_time_scanned = current_time. Esto deja el temporizador listo para el siguiente
escn.

Importante:
Asegrese 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 clculo
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 ejecucin de un temporizador, escanelo dentro de un lapso no
mayor de
69 minutos si lo coloca en una:
subrutina
seccin de cdigo comprendida entre las instrucciones JMP y LBL
diagrama de funcin secuencial (SFC)
evento o tarea peridica
rutina de estado de una fase

Indicadores de
estado
aritmtico:

no afectados

Condiciones de
fallo:

Ocurrir un fallo mayor


si

Tipo de fallo

.PRE < 0
.ACC<0

Cdigo de fallo

4
4

34
34

Ejecucin
Condicin
Preescan
condicin
de
entrada
de
rengln es falsa
a
condicin
entrada
de rengln es
verdadera

Accin de lgica de escalera de rels


Los bits .EN, .TT y .DN se borran.
El valor .ACC no se modifica.
La condicin de salida de rengln se establece como falsa.
Los bits .EN y .TT se borran.
El bit .DN no se modifica.
El valor .ACC no se modifica.
La condicin de salida de rengln se establece como falsa.

de
Bit .DN=1
Examine el bit .DN

Bit .DN=0

Bit .EN=0

Examine el bit
.EN

El bit .EN se establece


El bit .TT se establece
last_time=current_time

Bit .EN=1

.ACC .PRE
El bit .TT se establece
.ACC=.ACC+(current_time-last_time)
last_time=current_time

Examine .ACC

.DN se borra
el bit .TT se borra
el bit .EN se borra

.ACC < .PRE

El valor .ACC
retorna al valor
inicial

no
La condicin de
salida de rengln
se establece como
verdadera

si

.ACC=2147483647

Post-escan

Fin

La condicin de salida de rengln 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 instruccin
RES restablece timer_3 (borra los bits de estado y el valor .ACC).

La instruccin CTU cuenta progresivamente.


Conteo
progresivo (CTU)

Operandos:
Lgica de escalera de rels
Operando

Tipo

Counter

COUNTER

Formato
tag

Descripcin
Estructura de contado

Preset

DINT

inmediato

Acum

DINT

inmediato

valor superior hasta donde


contar
nmero de veces que
cont el contador el valor
inicial es tpicamente 0

Estructura COUNTER
Mnemnico
.CU

Tipo de datos
BOOL

.DN
.OV

BOOL
BOOL

.UN

BOOL

.PRE

DINT

.ACC

DINT

Descripcin:

Descripcin
El bit de habilitacin de conteo progresivo indica que la
instruccin CTU est habilitada.
El bit de efectuado indica que .ACC .PRE.
El bit de overflow indica que el contador excedi el lmite
superior de 2,147,483,647, por lo que el contador regresa a
-2,147,483,648 y comienza nuevamente el conteo
progresivo
El bit de underflow indica que el contador excedi el lmite
inferior de -2,147,483,648, por lo que el contador regresa a
2,147,483,647 y comienza nuevamente el conteo regresivo.
El valor de preajuste especifica el valor al que debe llegar
el valor acumulado para que la instruccin establezca el bit
.DN.
El valor acumulado especifica el nmero de transiciones
que cont la instruccin.

Cuando se habilita y el bit .CU se borra, la instruccin CTU


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

El valor acumulado contina incrementndose, incluso despus de que se establece el bit .DN.
Para borrar el valor acumulado, use una instruccin RES que referencie la estructura de
contador o escriba 0 en el valor acumulado.

Indicadores de estado
aritmtico:
no afectados

Condiciones de fallo:

ninguna

Ejecucin
Condicin
Preescan
condicin de entrada de
rengln es falsa

Accin de lgica de escalera de rels


El bit .CU se establece para evitar incrementos no vlidos durante el primer
escn del programa.
La condicin de salida de rengln se establece como falsa.
El bit .EN se borra.
La condicin de salida de rengln se establece como falsa.

a condicin de entrada
de rengln es
verdadera

SI
Examine el bit Bit .CU=0
.CU

El bit . CU se
establece
.ACC=.ACC+1

El valor .ACC
retorna al valor
inicial
NO
El bit .UN=1
El bit .UN se borra
El bit .DN se borra
El bit .OV se borra

Bit .CU=1

Examine el bit
.UN

El bit .UN=0
Bit .OV=0
Examine el bit
.UN

Bit .UN=0

Examine el bit
.OV

El bit .OV se
establece

Bit .OV=1
Bit .UN=1
.ACC.PRE
Examine .ACC

.ACC<PRE

El bit . DN se
borra

El bit .DN se
establece

La condicion de
salida de renglon
se establece como
verdadera

fin

Post-escan

La condicin de salida de rengln se establece como falsa.

Ejemplo: Despus 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 contina cambiando de inhabilitado a
habilitado, counter_1 contina incrementando su conteo y el bit .DN permanece establecido.
Cuando limit_switch_2 se habilita, la instruccin RES restablece counter_1 (borra el bit de
estado y el valor .ACC) y light_1 se apaga.

Conteo regresivo La instruccin CTD cuenta regresivamente..


(CTD)
Operandos:
Lgica de escalera de rels
Operando

Tipo

Counter

COUNTER

Formato
tag

Descripcin
Estructura de contado

Preset

DINT

inmediato

Acum

DINT

inmediato

valor inferior hasta donde


contar
nmero de veces que
cont el contador el valor
inicial es tpicamente 0

Estructura COUNTER
Mnemnico
.CU

Tipo de datos
BOOL

.DN
.OV

BOOL
BOOL

.UN

BOOL

.PRE

DINT

.ACC

DINT

Descripcin:

Descripcin
El bit de habilitacin de conteo regresivo indica que la
instruccin CTD est habilitada.
El bit de efectuado indica que .ACC .PRE.
El bit de overflow indica que el contador excedi el lmite
superior de 2,147,483,647, por lo que el contador regresa a
-2,147,483,648 y comienza nuevamente el conteo
progresivo
El bit de underflow indica que el contador excedi el lmite
inferior de -2,147,483,648, por lo que el contador regresa a
2,147,483,647 y comienza nuevamente el conteo regresivo.
El valor de preajuste especifica el valor al que debe llegar
el valor acumulado para que la instruccin establezca el bit
.DN.
El valor acumulado especifica el nmero de transiciones
que cont la instruccin.

La instruccin CTD normalmente se usa con una instruccin CTU


que referencia la misma estructura de contador.
Cuando se habilita y el bit .CD se borra, la instruccin CTD
decrementa el contador en uno. Cuando se habilita y el bit .CD se
establece, o cuando se inhabilita, la instruccin CTD retiene su valor
.ACC.

El valor acumulado contina decrementndose, aun despus de que se establece el bit .DN. Para
borrar el valor acumulado, use una instruccin RES que referencie la estructura de contador o
escriba 0 en el valor acumulado.

Indicadores de estado
aritmtico:
no afectados

Condiciones de fallo:

ninguna

Ejecucin
Condicin
Preescan
condicin de entrada de
rengln es falsa

Accin de lgica de escalera de rels


El bit .CD se establece para evitar decrementos no vlidos durante
el primer escn del programa.
La condicin de salida de rengln se establece como falsa.
El bit .CD se borra.
La condicin de salida de rengln se establece como falsa.

a condicin de entrada
de rengln es
verdadera

SI
Examine el bit Bit .CD=0
.CD

El bit . CD se
establece
.ACC=.ACC-1

El valor .ACC
retorna al valor
inicial
NO
El bit .OV=1
El bit .UN se borra
El bit .DN se borra
El bit .OV se borra

Bit .CD=1

Examine el bit
.OV

El bit .OV=0
Bit .OV=0
Examine el bit
.UN

Bit .UN=0

Examine el bit
.OV

El bit .UN se
establece

Bit .OV=1
Bit .UN=1
.ACC.PRE
Examine .ACC

.ACC<PRE

El bit . DN se
borra

El bit .DN se
establece

La condicion de
salida de renglon
se establece como
verdadera

fin

Post-escan

La condicin de salida de rengln 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 ms partes hasta que la zona de almacenamiento
intermedio tenga espacio para ms partes.

Restablecer
(RES)

La instruccin RES restablece una estructura TIMER, COUNTER o


CONTROL.

Operandos:
Lgica de escalera de rels
Operando

Tipo

Estructura

TIMER

Formato
tag

Descripcin
Estructura que se va a
establecer

CONTROL
COUNTER

Descripcin:

Cuando se habilita, la instruccin RES borra estos elementos


Cuando se usa una
instruccin RES para

TIMER
COUNTER
CONTROL

La instruccin borra

El valor .ACC
Los bits de estado de control
El valor .ACC
Los bits de estado de control
El valor .POS
Los bits de estado de control

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

Indicadores de estado
aritmtico:
no afectados

Condiciones de fallo:

ninguna

Ejecucin
Condicin
Preescan
condicin de entrada de
rengln es falsa

Accin de lgica de escalera de rels


La condicin de salida de rengln se establece como falsa.
La condicin de salida de rengln se establece como falsa.

a condicin de entrada
de rengln es
verdadera

La instruccin RES restablece la estructura especificada.


La condicin de salida de rengln se establece como verdadera.

Post-escan

La condicin de salida de rengln se establece como falsa.

Instrucciones de entrada/salida
(MSG)

Introduccin

Si desea
enviar datos desde o hacia
otro mdulo

Mensaje (MSG)

Las instrucciones de entrada/salida leen o escriben datos desde


o hacia el controlador, o un bloque de datos desde o hacia otro
mdulo en otra red.
Use esta instruccin
Disponible
en
estos
lenguajes
lgica de escalera de rels
MSG
texto estructurado

La instruccin MSG lee o escribe asncronamente un bloque de datos


en otro mdulo de una red.

Operandos:
Lgica de escalera de rels
Operando

Tipo

Mensaje
Control

MESSAGE

Formato
tag

Descripcin
Estructura de mensaje

Atencin
Si usted revisa los bits de estado ms de una vez
El controlador cambia los bits DN, ER, EW y ST de manera asncrona con el
escn de la lgica. Use una copia de los bits si los verifica en ms de un lugar
en la lgica. De lo contrario, los bits pueden cambiar durante el escn y la
lgica no funcionar segn 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 instruccin 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.
Mnemnico

Tipo de datos
.Flags INT

Descripcion
El miembro .FLAGS proporciona acceso a los
miembros de estado (bits) en una palabra de 16 bits.
Este bit: Es este miembro:

2
4

.EW
.ER

.DN

.ST

.EN

.TO

.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 comparacin
(EQU, GEQ, GRT, LEQ, LES, LIM, MEQ, NEQ)

Introduccin

Si desea
probar si dos valores son
iguales

Las instrucciones de comparacin le permiten comparar los


valores usando una expresin o una instruccin de
comparacin especfica.
Use esta instruccin
Disponible
en
estos
lenguajes
lgica de escalera de rels
EQU

probar si un valor es mayor o


igual que un segundo valor

GEQ

determinar si un valor es
mayor que otro valor

GRT

probar si un valor es menor o


igual que un segundo valor

LEQ

determinar si un valor es
menor que otro valor

LES

determinar si un valor se
encuentra entre otros
dos valores
pasar dos valores a travs de
una mscara y
determinar si son iguales
determinar si un valor
diferente a otro valor

LIM
MEQ
NEQ

texto estructurado(2)
bloque de funciones
lgica de escalera de rels
texto estructurado(1)
bloque de funciones
lgica de escalera de rels
texto estructurado(1)
bloque de funciones
lgica de escalera de rels
texto estructurado(1)
bloque de funciones
lgica de escalera de rels
texto estructurado(1)
bloque de funciones
lgica de escalera de rels
texto estructurado(1)
bloque de funciones
lgica de escalera de rels
texto estructurado(1)
bloque de funciones
lgica de escalera de rels
texto estructurado(1)
bloque de funciones

(1) No

hay una instruccin equivalente en texto estructurado. Use otra programacin en texto estructurado para lograr el
mismo resultado. Vea la descripcin de la instruccin.

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 lgica de escalera de rels,
los tipos de datos que aparecen en negrita indican tipos de datos ptimos. Las instrucciones se
ejecutan ms rpidamente y requieren menos memoria si todos los operandos de instruccin
usan el mismo tipo de datos ptimos, tpicamente DINT o REAL.

Igual a (EQU)

La instruccin EQU determina si Source A es igual a Source B.

Operandos:
Lgica de escalera de rels
Operando
Source A

Tipo
SINT

Formato

INT

Tag

Inmediato

Descripcin
Valor que se compara
con Source B

DINT
REAL
Cadena

Source B

SINT

Inmediato

INT

Tag

valor que se compara con


Source A

DINT
REAL
Cadena

Si usted introduce un tag SINT o INT, el valor se convierte en un


valor DINT mediante extensin de signo.
Los valores REAL pocas veces son absolutamente iguales. Si
necesita determinar la igualdad de dos valores REAL, use la
instruccin 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 expresin. Esta
expresin evala si sourceA es igual que sourceB.
IF sourceA = sourceB THEN
<statements>;

Descripcin:

Use la instruccin EQU para comparar dos nmeros o dos cadenas


de caracteres ASCII. Cuando usted compara las cadenas:
Las cadenas son iguales si sus caracteres coinciden.
Los caracteres ASCII permiten distinguir maysculas de
minsculas. La A mayscula ($41) es diferente a la a minscula
($61).La ventaja de la instruccin CMP es que le permite introducir
expresiones complejas en una sola instruccin.

Indicadores de estado
aritmtico:
No afectados.
ninguna

Condiciones de fallo:

Ejecucin
Condicin
Preescan
condicin de entrada de rengln es falsa

Accin
La condicin de salida de rengln se
establece como falsa.
La condicin de salida de rengln se
establece como falsa.

a condicin de entrada
de rengln es
verdadera

Si
Source A = Sorce B

La condicin de
salida de rengln
se establece como
verdadera

La condicin de
salida de rengln
se establece como
falsa
fin

Post-escan

La condicin de salida de rengln 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.

Lgica de escalera de rels

Texto estructurado
light_a := (value_1 = value_2);

Mayor o Igual que


(GEQ)

La instruccin GEQ determina si Source A es mayor o igual que


Source B.

Operandos:
Lgica de escalera de rels
Operando
Source A

Tipo
SINT

Formato

INT

Tag

Inmediato

Descripcin
Valor que se compara
con Source B

DINT
REAL
Cadena

Source B

SINT

Inmediato

INT

Tag

valor que se compara con


Source A

DINT
REAL
Cadena

Si usted introduce un tag SINT o INT, el valor se convierte en un


valor DINT mediante extensin de signo.
Los valores REAL pocas veces son absolutamente iguales. Si
necesita determinar la igualdad de dos valores REAL, use la
instruccin 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 expresin. Esta expresin evala si sourceA es mayor
o igual que sourceB.
IF sourceA >= sourceB THEN
<statements>;

Descripcin:

La instruccin 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 cdigo
hexadecimal de un carcter, remtase a la contraportada de este
manual.
Cuando las dos cadenas se clasifican como en un directorio
telefnico, el orden de las cadenas determina cul es mayor.

Indicadores de estado
aritmtico:
No afectados.
ninguna

Condiciones de fallo:

Ejecucin

Accin lgica de escalera de


rels
La condicin de salida de rengln
se establece como falsa.
La condicin de salida de rengln
se establece como falsa.

Condicin
Preescan
condicin de entrada de rengln es falsa
a condicin de entrada
de rengln es
verdadera

Si
Source A

Sorce B

La condicin de
salida de rengln
se establece como
verdadera

No

La condicin de
salida de rengln
se establece como
falsa
fin

Post-escan

La condicin de salida de rengln


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.

Lgica de escalera de rels

Texto estructurado
light_b := (value_1 >= value_2);

Mayor que (GRT)

La instruccin GRT determina si Source A es mayor que Source B.

Operandos:
Lgica de escalera de rels
Operando
Source A

Tipo
SINT

Formato

INT

Tag

Inmediato

Descripcin
Valor que se compara
con Source B

DINT
REAL
Cadena

Source B

SINT

Inmediato

INT

Tag

valor que se compara con


Source A

DINT
REAL
Cadena

Si usted introduce un tag SINT o INT, el valor se convierte en un


valor DINT mediante extensin 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
expresin. Esta expresin evala si sourceA es mayor que sourceB.
IF sourceA > sourceB THEN
<statements>;

Descripcin:

La instruccin 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 cdigo
hexadecimal de un carcter, remtase a la contraportada de este
manual.
Cuando las dos cadenas se clasifican como en un directorio
telefnico, el orden de las cadenas determina cul es mayor.

Indicadores de estado
aritmtico:
No afectados.
ninguna

Condiciones de fallo:

Ejecucin

Condicin
Preescan
condicin de entrada de rengln es
falsa

Accin lgica de escalera de rels


La condicin de salida de rengln se establece
como falsa.
La condicin de salida de rengln se establece
como falsa.

a condicin de entrada
de rengln es
verdadera

Sourse A >
Sourse B

Si

La condicin de
salida de rengln
se establece como
verdadera

no
La condicin de
salida de rengln
se establece como
falsa

Fin

Post-escan

La condicin de salida de rengln 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.

Lgica de escalera de rels

Texto estructurado
light_1 := (value_1 > value_2);

Menor o igual que


(LEQ)

La instruccin LEQ determina si Source A es menor o igual que


Source B.

Operandos:
Lgica de escalera de rels
Operando
Source A

Tipo
SINT

Formato

INT

Tag

Inmediato

Descripcin
Valor que se compara
con Source B

DINT
REAL
Cadena

Source B

SINT

Inmediato

INT

Tag

valor que se compara con


Source A

DINT
REAL
Cadena

Si usted introduce un tag SINT o INT, el valor se convierte en un


valor DINT mediante extensin 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 expresin. Esta expresin evala si sourceA es menor
o igual que sourceB.
IF sourceA <= sourceB THEN
<statements>;

Descripcin:

La instruccin 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 cdigo
hexadecimal de un carcter, remtase a la contraportada de este
manual.
Cuando las dos cadenas se clasifican como en un directorio
telefnico, el orden de las cadenas determina cul es mayor.

Indicadores de estado
aritmtico:
No afectados.
ninguna

Condiciones de fallo:

Ejecucin

Condicin
Preescan
condicin de entrada de rengln es
falsa

Accin lgica de escalera de rels


La condicin de salida de rengln se establece
como falsa.
La condicin de salida de rengln se establece
como falsa.

a condicin de entrada
de rengln es
verdadera

Sourse A <=
Sourse B

Si

La condicin de
salida de rengln
se establece como
verdadera

no
La condicin de
salida de rengln
se establece como
falsa

Fin

Post-escan

La condicin de salida de rengln 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.

Lgica de escalera de rels

Texto estructurado
light_2 := (value_1 <= value_2);

Menor que (LES)

La instruccin LES determina si Source A es menor que Source B.

Operandos:
Lgica de escalera de rels
Operando
Source A

Tipo
SINT

Formato

INT

Tag

Inmediato

Descripcin
Valor que se compara
con Source B

DINT
REAL
Cadena

Source B

SINT

Inmediato

INT

Tag

valor que se compara con


Source A

DINT
REAL
Cadena

Si usted introduce un tag SINT o INT, el valor se convierte en un


valor DINT mediante extensin 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
expresin. Esta expresin evala si sourceA es menor que sourceB.
IF sourceA < sourceB THEN
<statements>;

Descripcin:

La instruccin 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
cdigo hexadecimal de un carcter, remtase a la contraportada
de este manual.
Cuando las dos cadenas se clasifican como en un directorio
telefnico, el orden de las cadenas determina cul es mayor.

Indicadores de estado
aritmtico:
No afectados.
ninguna

Condiciones de fallo:

Ejecucin

Condicin
Preescan
condicin de entrada de rengln es
falsa

Accin lgica de escalera de rels


La condicin de salida de rengln se establece
como falsa.
La condicin de salida de rengln se establece
como falsa.

a condicin de entrada
de rengln es
verdadera

Sourse A <
Sourse B

Si

La condicin de
salida de rengln
se establece como
verdadera

no
La condicin de
salida de rengln
se establece como
falsa

Fin

Post-escan

La condicin de salida de rengln 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.

Lgica de escalera de rels

Texto estructurado
light_3 := (value_1 < value_2);

Limite (LIM)

La instruccin LIM determina si el valor de prueba se encuentra


dentro del rango de los lmites inferior y superior.

Operandos:
Lgica de escalera de rels
Operando
Low limit

Tipo
SINT

Formato

INT

Tag

Inmediato

Descripcin
Valor del limite inferior

DINT
REAL

Un tag SINT o INT se convierte en un valor DINT mediante


extensin de signo.
Test
Inmediato Valor que se prueba
SINT
INT

Tag

DINT
REAL

Un tag SINT o INT se convierte en un valor DINT mediante


extensin 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
extensin de signo.

Texto estructurado
El texto estructurado no cuenta con la instruccin 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 instruccin LIM determina si el valor de prueba se encuentra


dentro del rango de los lmites inferior y superior.
Descripcin:
Si es lmite inferior

y el valor de
prueba es

La condicin de
salida de rengln
se establece como

Limite superior

igual a o est entre


los lmites
diferente o est
fuera de los lmites
igual a o est fuera
de los lmites
diferente o est
dentro de los lmites

verdadera

Limite superior

falsa
Verdadera
falsa

Los nmeros enteros con signo saltan (roll over) del nmero positivo mximo al nmero
negativo mximo cuando se establece el bit ms significativo. Por ejemplo, en los nmeros
enteros de 16 bits (tipo INT), el nmero entero positivo mximo es 32,767, el cual se representa
en hexadecimal como 16#7FFF (todos los bits del 0 al 14 estn en uno). Si usted incrementa
dicho nmero 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 lnea circular de nmeros (vea los siguientes diagramas). La
instruccin LIM comienza en el lmite inferior e se va incrementando en sentido horario hasta
llegar al lmite superior. Cualquier valor de prueba que se encuentre en el rango en sentido
horario desde el lmite inferior al lmite superior establece en verdadera la condicin de salida
del rengln. Cualquier valor de prueba que se encuentre en el rango en sentido horario desde el
lmite superior al lmite inferior establece en falsa la condicin de salida del rengln.

Indicadores de estado
aritmtico:
No afectados.
ninguna

Condiciones de fallo:

Ejecucin

Condicin
Preescan
condicin de entrada de rengln es
falsa

Accin lgica de escalera de rels


La condicin de salida de rengln se establece
como falsa.
La condicin de salida de rengln se establece
como falsa.

a condicin de entrada
de rengln es
verdadera

Evaluar el
limite

La
comparacin
es verdadera

La condicin de
salida de rengln
se establece como
verdadera

La comparacin
es falsa

La condicin de
salida de rengln
se establece como
falsa

Fin

Post-escan

La condicin de salida de rengln se establece


como falsa.

Ejemplo 1: Lmite inferior Lmite superior: Cuando 0 value 100, establezca light_1.
Si value < 0 or value > 100, borre light_1.

Lgica de escalera de rels

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: Lmite inferior Lmite superior:


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

Lgica de escalera de rels

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)

La instruccin MEQ pasa los valores Source y Compare por una


mscara y compara los resultados.

Operandos:
Lgica de escalera de rels
Operando
Source

Tipo
SINT

Formato

INT

Tag

Inmediato

Descripcin
Valor que se compara
con Compare

DINT

Un tag SINT o INT se convierte en un valor DINT mediante un


relleno con ceros.
Mask
Inmediato define qu bits se deben
SINT
bloquear o pasar
Tag
INT
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 instruccin MEQ, pero se
pueden lograr los mismos resultados usando texto estructurado.
IF (Source AND Mask) = (Compare AND Mask) THEN
<statement>;
END_IF;

Un nmero 1 en la mscara significa que se pasa el bit de datos.


Un nmero 0 en la mscara 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 instruccin llena con ceros los
bits superiores de los tipos de datos enteros menores para que tengan
el mismo tamao que el tipo de datos mayores.

Descripcin:

Introduccin de un valor de mscara


inmediato
Cuando usted introduce una mscara, el software de programacin
cambia de manera predeterminada a valores decimales. Si desea
introducir una mscara 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
aritmtico:
No afectados.
ninguna

Condiciones de fallo:

Ejecucin

Condicin
Preescan
condicin de entrada de rengln es
falsa

Accin lgica de escalera de rels


La condicin de salida de rengln se establece
como falsa.
La condicin de salida de rengln se establece
como falsa.

a condicin de entrada
de rengln es
verdadera

si

Origen
enmascarado=
comparacion
enmascarada

La condicin de
salida de rengln
se establece como
verdadera

no

La condicin de
salida de rengln
se establece como
falsa

Fin

Post-escan

La condicin de salida de rengln 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 nmero 0 en la mscara impide que la instruccin
compare el bit (representado por x en el ejemplo).

Lgica de escalera de rels

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 nmero 0 en la mscara
impide que la instruccin compare el bit (representado por x en el ejemplo)

Lgica de escalera de rels

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)

La instruccin NEQ determina si Source A es diferente de Source


B.

Operandos:
Lgica de escalera de rels
Operando
Source A

Tipo
SINT

Formato

INT

Tag

Inmediato

Descripcin
Valor que se compara
con Source B

DINT
REAL
Cadena

Source B

SINT

Inmediato

INT

Tag

valor que se compara con


Source A

DINT
REAL
Cadena

Si usted introduce un tag SINT o INT, el valor se convierte en un


valor DINT mediante extensin 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 y mayor que <> juntos como operador
dentro de una expresin. Esta expresin evala si sourceA es
diferente de sourceB.
IF sourceA <> sourceB THEN
<statements>;

Descripcin:

La instruccin NEQ determina si Source A es diferente de Source B.


Cuando usted compara las cadenas:
Las cadenas son diferentes si algunos de sus caracteres no
coinciden.
Los caracteres ASCII permiten distinguir maysculas de
minsculas. Una A mayscula ($41) es diferente a una a
minscula ($61).

Indicadores de estado
aritmtico:
No afectados.
ninguna

Condiciones de fallo:

Ejecucin

Condicin
Preescan
condicin de entrada de rengln es
falsa

Accin lgica de escalera de rels


La condicin de salida de rengln se establece
como falsa.
La condicin de salida de rengln se establece
como falsa.

a condicin de entrada
de rengln es
verdadera

Sourse A =
Sourse B

Si

La condicin de
salida de rengln
se establece como
verdadera

no
La condicin de
salida de rengln
se establece como
falsa

Fin

Post-escan

La condicin de salida de rengln se establece


como falsa.

Ejemplo: Si value_1 es diferente de value_2, establezca light_4. Si value_1 es igual a


value_2, borre light_4.

Lgica de escalera de rels

Texto estructurado
light_4 := (value_1 <> value_2);

Instrucciones de clculo/matemticas
(ADD, SUB, MUL, DIV, SQR, NEG)
Introduccin

Las instrucciones de clculo/matemticas evalan las


operaciones aritmticas usando una expresin o una
instruccin aritmtica especfica.

Si desea

Use esta instruccin

Sumar valores

ADD

Restar valores

SUB

Multiplicar valores

MUL

Dividir valores

DIV

Calcular la raz cuadrada de


un valor

SQR

Tomar el signo opuesto a un


valor

NEG

Disponible
lenguajes

en

estos

lgica de escalera de rels


texto estructurado(2)
bloque de funciones
lgica de escalera de rels
texto estructurado(1)
bloque de funciones
lgica de escalera de rels
texto estructurado(1)
bloque de funciones
lgica de escalera de rels
texto estructurado(1)
bloque de funciones
lgica de escalera de rels
texto estructurado(1)
bloque de funciones
lgica de escalera de rels
texto estructurado(1)
bloque de funciones

Usted puede mezclar diferentes tipos de datos, pero puede producirs


prdida de exactitud y error de redondeo, y la instruccin requerir ms
tiempo para ejecutarse. Verifique el bit S:V para determinar si se
trunc el resultado.
Para las instrucciones de lgica de escalera de rels, los tipos de datos
que aparecen en negrita indican tipos de datos ptimos. Las
instrucciones se ejecutan ms rpidamente y requieren menos

Sumar (ADD)

La instruccin ADD suma Source A con Source B y coloca el


resultado en Destination.

Operandos:
Lgica de escalera de rels
Operando
Source A

Tipo
SINT

Formato

INT

Tag

Inmediato

Descripcin
Valor que se suma a
Source B

DINT
REAL

Source B

SINT

Inmediato

INT

Tag

valor que se suma a


Source A

DINT
REAL

Destination

SINT
INT
DINT
REAL

Tag

Tag para almacenar el


resultado

Texto estructurado
Use el signo ms como operador dentro de una expresin. Esta
expresin suma sourceA a sourceB y almacena el resultado en dest..
dest := sourceA + sourceB;

La instruccin ADD suma Source A con Source B y coloca el


resultado en Destination.
Descripcin:

Indicadores de estado
aritmtico:
Los indicadores de estado aritmtico son
afectados..

Condiciones de fallo:

ninguna

Ejecucin

Condicin
Preescan
condicin de entrada de rengln es
falsa

Accin lgica de escalera de rels


La condicin de salida de rengln se establece
como falsa.
La condicin de salida de rengln se establece
como falsa.

a condicin de entrada
de rengln es verdadera

Destination = Source A + Source B


La condicin de salida de rengln se establece
como verdadera.

Post-escan

La condicin de salida de rengln se establece


como falsa.

Ejemplo: Sume float_value_1 a float_value_2 y coloque el resultado en add_result.


Lgica de escalera de rels

Texto estructurado
add_result := float_value_1 + float_value_2;

Restar (SUB)

La instruccin SUB resta Source B de Source A y coloca el


resultado en Destination.

Operandos:
Lgica de escalera de rels
Operando
Source A

Tipo
SINT

Formato

INT

Tag

Inmediato

Descripcin
Valor del cual restar
Source B

DINT
REAL

Source B

SINT

Inmediato

INT

Tag

valor que se resta a


Source A

DINT
REAL

Destination

SINT
INT
DINT
REAL

Tag

Tag para almacenar el


resultado

Texto estructurado
Use el signo menos como operador en una expresin. Esta
expresin resta sourceB de sourceA y almacena el resultado en
dest.dest := sourceA - sourceB;

La instruccin SUB resta Source B de Source A y coloca el


resultado en Destination.
Descripcin:

Indicadores de estado
aritmtico:
Condiciones de fallo:

Los indicadores de estado aritmtico son


afectados.
ninguna

Ejecucin

Condicin
Preescan
condicin de entrada de rengln es
falsa

Accin lgica de escalera de rels


La condicin de salida de rengln se establece
como falsa.
La condicin de salida de rengln se establece
como falsa.

a condicin de entrada
de rengln es verdadera

Destination = Source A - Source B


La condicin de salida de rengln se establece
como verdadera.

Post-escan

La condicin de salida de rengln se establece


como falsa.

Ejemplo: Reste float_value_2 de float_value_1 y coloque el resultado en subtract_result.


Lgica de escalera de rels

Texto estructurado
subtract_result := float_value_1 - float_value_2;

Multiplicar (MUL) La instruccin MUL multiplica Source A por Source B y coloca el


resultado en Destination.

Operandos:
Lgica de escalera de rels
Operando
Source A

Tipo
SINT

Formato

INT

Tag

Inmediato

Descripcin
Valor del multiplicando

DINT
REAL

Source B

SINT

Inmediato

INT

Tag

Valor del multiplicando

DINT
REAL

Destination

SINT
INT
DINT
REAL

Tag

Tag para almacenar el


resultado

Texto estructurado
Use el signo de multiplicacin * como operador en una expresin.
Esta expresin multiplica sourceA por sourceB y almacena el
resultado en dest.
Dest := sourceA * sourceB;

La instruccin MUL multiplica Source A por Source B y coloca el


resultado en Destination.
Descripcin:

Indicadores de estado
aritmtico:
Los indicadores de estado aritmtico son
afectados.

Condiciones de fallo:

ninguna

Ejecucin

Condicin
Preescan
condicin de entrada de rengln es
falsa

Accin lgica de escalera de rels


La condicin de salida de rengln se establece
como falsa.
La condicin de salida de rengln se establece
como falsa.

a condicin de entrada
de rengln es verdadera

Destination = Source A * Source B


La condicin de salida de rengln se establece
como verdadera.

Post-escan

La condicin de salida de rengln se establece


como falsa.

Ejemplo: Multiplique float_value_1 por float_value_2 y coloque el resultado en


multiply_result.

Lgica de escalera de rels

Texto estructurado
multiply_result := float_value_1 float_value_2;

Dividir (DIV)

La instruccin DIV divide Source A entre Source B y coloca el


resultado en Destination.

Operandos:
Lgica de escalera de rels
Operando
Source A

Tipo
SINT

Formato

INT

Tag

Inmediato

Descripcin
Valor del dividendo

DINT
REAL

Source B

SINT

Inmediato

INT

Tag

Valor del divisor

DINT
REAL

Destination

SINT
INT
DINT
REAL

Tag

Tag para almacenar el


resultado

Texto estructurado
Use el signo de dividir como operador en una expresin. Esta
expresin divide sourceA entre sourceB y almacena el resultado en
dest.
Dest := sourceA / sourceB;

Si el destino no es un tipo REAL, la instruccin maneja la porcin


fraccionaria del resultado de la siguiente manera:
Descripcin:
Si Source A

y Source B no son
REAL

o Source B es
REAL

Entonces la
opcin
fraccionaria
del resultado
Se trunca

Se redondea

ejemplo

Source A

DINT

Source B

DINT

Destination

DINT

Source A
Source B

REAL
DINT

5.0
3

Destination

DINT

Si Source B (el divisor) es cero:


se produce un fallo menor
Tipo 4: fallo del programa
Cdigo 4: overflow aritmtico
el destino se establece de la siguiente manera:

Indicadores de estado
aritmtico:
Los indicadores de estado aritmtico son
afectados.

Condiciones de fallo:

Se produce un Tipo de fallo


fallo menor
si
El divisor es 4
cero

Cdigo
fallo

de

Ejecucin

Condicin
Preescan
condicin de entrada de rengln es
falsa

Accin lgica de escalera de rels


La condicin de salida de rengln se establece
como falsa.
La condicin de salida de rengln se establece
como falsa.

a condicin de entrada
de rengln es verdadera

Destination = Source A / Source B


La condicin de salida de rengln se establece
como verdadera.

Post-escan

La condicin de salida de rengln se establece


como falsa.

Ejemplo: Dividir float_value_1 entre float_value_2 y coloque el resultado en divide_result.


Lgica de escalera de rels

Texto estructurado
divide_result := float_value_1 / float_value_2

Ejemplo 2: Las instrucciones DIV y MOV funcionan juntas para dividir dos enteros,
redondear el resultado y colocarlo en un tag de nmero entero:
La instruccin DIV divide dint_a entre dint_b.
Para redondear el resultado, Destination es un tag REAL. (Si el destino fuera un tag entero
(SINT, INT o DINT), la instruccin truncara el resultado).
La instruccin MOV traslada el resultado redondeado (real_temp) de la DIV a
divide_result_rounded.
Puesto que divide_result_rounded es un tag DINT, el valor de
real_temp se redondea y se coloca en el destino DINT.

Lgica de escalera de rels

Raz cuadrada
(SQR)

La instruccin SQR calcula la raz cuadrada de Source y coloca el


resultado en Destination.

Operandos:
Lgica de escalera de rels
Operando
Source

Tipo
SINT

Formato

INT

Tag

Inmediato

Descripcin
Valor del multiplicando

DINT
REAL

Destination

SINT
INT
DINT
REAL

Tag

Tag para almacenar el


resultado

Texto estructurado
Use SQRT como funcin. Esta expresin calcula la raz cuadrada de
source y almacena el resultado en dest.
dest := SQRT(source);

Si Destination no es REAL, la instruccin maneja la porcin


fraccionaria del resultado de la siguiente manera:
Descripcin:

Si Source es negativo, la instruccin toma el valor absoluto de


Source antes de calcular la raz cuadrada.

Indicadores de estado
aritmtico:
Los indicadores de estado aritmtico son
afectados.

Condiciones de fallo:

ninguna

Ejecucin

Condicin
Preescan
condicin de entrada de rengln es
falsa
a condicin de entrada
de rengln es verdadera

Post-escan

Accin lgica de escalera de rels


La condicin de salida de rengln se establece
como falsa.
La condicin de salida de rengln se establece
como falsa.
Destination = source
La condicin de salida de rengln se establece
como verdadera.
La condicin de salida de rengln se establece
como falsa.

Ejemplo: Calcule la raz cuadrada de value_1 y coloque el resultado en


sqr_result.

Lgica de escalera de rels

Texto estructurado
sqr_result := SQRT(value_1);

Cambiar signo
(NEG)

La instruccin NEG cambia el signo de Source y coloca el resultado


en Destination..

Operandos:
Lgica de escalera de rels
Operando
Source

Tipo
SINT

Formato

INT

Tag

Inmediato

Descripcin
Valor del multiplicando

DINT
REAL

Destination

SINT
INT
DINT
REAL

Tag

Tag para almacenar el


resultado

Texto estructurado
Use el signo menos como operador en una expresin. La
expresin cambia el signo de source y almacena el resultado en dest.

dest := -source;

Descripcin:

Si usted cambia el signo de un valor negativo, el resultado es


positivo.
Si usted cambia el signo de un valor positivo, el resultado es
negativo.

Indicadores de estado
aritmtico:
Los indicadores de estado aritmtico son
afectados.

Condiciones de fallo:

ninguna

Ejecucin

Condicin
Preescan
condicin de entrada de rengln es
falsa
a condicin de entrada
de rengln es verdadera

Post-escan

Accin lgica de escalera de rels


La condicin de salida de rengln se establece
como falsa.
La condicin de salida de rengln se establece
como falsa.
Destination = 0 -source
La condicin de salida de rengln se establece
como verdadera.
La condicin de salida de rengln se establece
como falsa.

Ejemplo: Cambie el signo de value_1 y coloque el resultado en negate_result.


Lgica de escalera de rels

Texto estructurado
negate_result := -value_1;

Instrucciones de movimiento/lgicas
(MOV, MVM, AND, OR, XOR, NOT, CLR)

Introduccin

Usted puede mezclar diferentes tipos de datos, pero puede


producirse prdida de exactitud y error de redondeo, y la
instruccin requiere ms tiempo para ejecutarse. Verifique el
bit S:V para determinar si se trunc el resultado.
Para las instrucciones de lgica de escalera de rels, los tipos
de datos que aparecen en negrita indican tipos de datos
ptimos. Las instrucciones se ejecutan ms rpidamente y
requieren menos memoria si todos los operandos de
instruccin usan el mismo tipo de datos ptimos, tpicamente
DINT o REAL.
Las instrucciones de movimiento modifican y mueven bits.

Si desea

Use esta instruccin

Disponible
lenguajes

en

estos

Copiar un valor

MOV

lgica de escalera de rels


texto estructurado(2)

Copiar una parte especifica


de un numero entero

MVM

lgica de escalera de rels


texto estructurado(1)

operacin Y a nivel de bits

AND

lgica de escalera de rels


texto estructurado(1)

operacin O a nivel de bits

OR

lgica de escalera de rels


texto estructurado(1)

operacin O exclusivo a nivel


de bits

XOR

lgica de escalera de rels


texto estructurado(1)

operacin NOT a nivel de bits

NOT

lgica de escalera de rels


texto estructurado(1)

Borrar un valor

CLR

lgica de escalera de rels


texto estructurado(1)

Texto estructurado solamente.

Mover (MOV)

La instruccin MOV copia Source en Destination. Source no


cambia.

Operandos:
Lgica de escalera de rels
Operando

Tipo
SINT

Formato

INT

Tag

Source

Inmediato

Descripcin
Valor a mover (copiar)

DINT
REAL

Destination

SINT
INT
DINT
REAL

Tag

Tag para almacenar el


resultado

Texto estructurado
Use una asignacin := con una expresin. Esta asignacin mueve
el valor de source a dest.

dest :=source;

La instruccin MOV copia Source en Destination. Source no


cambia.
Descripcin:
.

Indicadores de estado
aritmtico:
Los indicadores de estado aritmtico son
afectados.

Condiciones de fallo:

ninguna

Ejecucin

Condicin
Preescan
condicin de entrada de rengln es
falsa
a condicin de entrada
de rengln es verdadera

Post-escan

Accin lgica de escalera de rels


La condicin de salida de rengln se establece
como falsa.
La condicin de salida de rengln se establece
como falsa.
La instruccin copia Source en Destination.
La condicin de salida de rengln se establece
como verdadera.
La condicin de salida de rengln se establece
como falsa.

Ejemplo: Mueva los datos en value_1 a value_2.


Lgica de escalera de rels

Texto estructurado
value_2 := value _1;

Mover con
mascara (MVM)

La instruccin MVM copia Source a un Destination y permite


enmascarar porciones de los datos.

Operandos:
Lgica de escalera de rels
Operando
Source

Tipo
SINT

Formato

INT

Tag

Inmediato

Descripcin
Valor a mover

DINT
REAL

Mask

SINT

Inmediato

INT

Tag

Que bits se bloquean o se


pasan

DINT
REAL

Destination

SINT
INT
DINT
REAL

Tag

Tag para almacenar el


resultado

Texto estructurado
Esta instruccin est disponible en texto estructurado como MVMT.
O puede combinar lgica a nivel de bits dentro de una expresin y
asignar el resultado al destino. Esta expresin realiza un movimiento
con mscara en Source.
dest := (Dest AND NOT (Mask))
OR (Source AND Mask);

Descripcin:

La instruccin MVM usa una mscara para pasar o bloquear bits de


datos de Source. Un nmero 1 en la mscara significa que se pasa
el bit de datos. Un nmero 0 en la mscara significa que se
bloquea el bit de datos.
Si mezcla diferentes tipos de datos enteros, la instruccin llena con
ceros los bits superiores de los tipos de datos enteros menores para
que tengan el mismo tamao que el tipo de datos mayor.

prefijo
16#
8#

Descripcin
Hexadecimal
Por ejemplo; 16#0F0F
Octal
Por ejemplo 8#16

2#

Binario
por ejemplo; 2#00110011

Indicadores de estado
aritmtico:
Los indicadores de estado aritmtico son
afectados.

Condiciones de fallo:

ninguna

Ejecucin

Condicin
Preescan
condicin de entrada de rengln es
falsa
a condicin de entrada
de rengln es verdadera

Post-escan

Accin lgica de escalera de rels


La condicin de salida de rengln se establece
como falsa.
La condicin de salida de rengln se establece
como falsa.
La instruccin pasa Source a travs de la
mscara y copia el resultado en Destination.
Los bits sin mscara en Destination permanecen
sin ningn cambio.
La condicin de salida de rengln se establece
como verdadera.
La condicin de salida de rengln se establece
como falsa.

Ejemplo: Copie datos de value_a a value_b, mientras permite que los datos sean
enmascarados (un 0 enmascara los datos en value_a).

Lgica de escalera de rels

Texto estructurado
value_b := (value_b AND NOT (mask_2)) OR
(value_a AND mask_2);

Borrar (CLR)

La instruccin CLR borra (pone en cero) todos los bits de


Destination.

Operandos:
Lgica de escalera de rels
Operando

Tipo

Formato

Descripcin

Destination

SINT
INT
DINT
REAL

Tag

Tag para almacenar el


resultado

Texto estructurado
El texto estructurado no cuenta con la instruccin CLR. En lugar de
ello, asigne 0 al tag que desea borrar. Esta declaracin de asignacin
borra dest.
dest := 0;

La instruccin CLR borra todos los bits de Destination.


Descripcin:
.

Indicadores de estado
aritmtico:
Los indicadores de estado aritmtico son
afectados.

Condiciones de fallo:

ninguna

Ejecucin

Condicin
Preescan
condicin de entrada de rengln es
falsa
a condicin de entrada
de rengln es verdadera

Post-escan

Accin lgica de escalera de rels


La condicin de salida de rengln se establece
como falsa.
La condicin de salida de rengln se establece
como falsa.
La instruccin borra Destination.
La condicin de salida de rengln se establece
como verdadera.
La condicin de salida de rengln se establece
como falsa.

Ejemplo: Ponga en cero todos los bits de value.


Lgica de escalera de rels

Texto estructurado
value := 0;

Y a nivel de bits
(AND)

La instruccin AND realiza una operacin Y a nivel de bits usando


los bits en Source A y Source B, y coloca el resultado en
Destination.

Operandos:
Lgica de escalera de rels
Operando
Source A

Tipo
SINT

Formato

Descripcin

Inmediato

INT

Tag

valor con que se realiza la


operacin Y con
Source B

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

Source B

SINT

Inmediato

INT

Tag

valor con que se a realiza


la operacin AND
con Source A

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

Destination

SINT
INT
DINT

Tag

Tag para almacenar el


resultado

Texto estructurado
Use AND o el signo & como operador dentro de una expresin.
Esta expresin evala sourceA AND sourceB..
dest := sourceA AND sourceB

Una vez habilitada, la instruccin evala la operacin AND:


Descripcin:

Si mezcla diferentes tipos de datos enteros, la instruccin llena con


ceros los bits superiores de los tipos de datos enteros menores para
que tengan el mismo tamao que el tipo de datos mayor.

Indicadores de estado
aritmtico:
Los indicadores de estado aritmtico son
afectados.

Condiciones de fallo:

ninguna

Ejecucin

Condicin
Preescan
condicin de entrada de rengln es
falsa

Accin lgica de escalera de rels


La condicin de salida de rengln se establece
como falsa.
La condicin de salida de rengln se establece
como falsa.

a condicin de entrada
de rengln es verdadera

La instruccin realiza una operacin Y a nivel de


bits.
La condicin de salida de rengln se establece
como verdadera.

Post-escan

La condicin de salida de rengln se establece


como falsa.

Ejemplo: Cuando se habilita, la instruccin AND realiza una operacin Y a nivel de bits en
SourceA y SourceB y coloca el resultado en Dest

Lgica de escalera de rels

Texto estructurado
value_result_and := value_1 AND value_2;

O a nivel de bits
(OR)

La instruccin OR realiza una operacin O a nivel de bits usando los


bits en Source A y Source B, y coloca el resultado en Destination.

Operandos:
Lgica de escalera de rels
Operando
Source A

Tipo
SINT

Formato

Descripcin

Inmediato

valor con que se realiza la


operacin O con Source B

INT

Tag

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

Source B

SINT

Inmediato

INT

Tag

valor con que se realiza la


operacin O con Source A

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

Destination

SINT
INT
DINT

Tag

Tag para almacenar el


resultado

Texto estructurado
Use OR como operador dentro de una expresin. Esta expresin
evala sourceA OR sourceB.
dest := sourceA OR sourceB

Una vez habilitada, la instruccin evala la operacin O::


Descripcin:

Si mezcla diferentes tipos de datos enteros, la instruccin llena con


ceros los bits superiores de los tipos de datos enteros menores para
que tengan el mismo tamao que el tipo de datos mayor.

Indicadores de estado
aritmtico:
Los indicadores de estado aritmtico son
afectados.

Condiciones de fallo:

ninguna

Ejecucin

Condicin
Preescan
condicin de entrada de rengln es
falsa

Accin lgica de escalera de rels


La condicin de salida de rengln se establece
como falsa.
La condicin de salida de rengln se establece
como falsa.

a condicin de entrada
de rengln es verdadera

La instruccin realiza una operacin O a nivel de


bits.
La condicin de salida de rengln se establece
como verdadera.

Post-escan

La condicin de salida de rengln se establece


como falsa.

Ejemplo: Cuando se habilita, la instruccin OR realiza una operacin O a nivel


de bits en SourceA y SourceB y coloca el resultado en Dest.

Lgica de escalera de rels

Texto estructurado
value_result_or := value_1 OR value_2;

O exclusivo a
nivel de bits
(XOR)

La instruccin XOR realiza una operacin O exclusivo a nivel de


bits usando los bits en Source A y Source B, y coloca el resultado en
Destination..

Operandos:
Lgica de escalera de rels
Operando
Source A

Tipo
SINT

Formato

Descripcin

Inmediato

INT

Tag

valor con que se realiza la


operacin XOR con Source
B

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

Source B

SINT

Inmediato

INT

Tag

valor con que se realiza la


operacin XOR con Source
A

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

Destination

SINT
INT
DINT

Tag

Tag para almacenar el


resultado

Texto estructurado
Use XOR como operador dentro de una expresin. Esta expresin
evala sourceA XOR sourceB.
dest := sourceA XOR sourceB

Una vez habilitada, la instruccin evala la operacin XOR:


Descripcin:

Si mezcla diferentes tipos de datos enteros, la instruccin llena con


ceros los bits superiores de los tipos de datos enteros menores para
que tengan el mismo tamao que el tipo de datos mayor.

Indicadores de estado
aritmtico:
Los indicadores de estado aritmtico son
afectados.

Condiciones de fallo:

ninguna

Ejecucin

Condicin
Preescan
condicin de entrada de rengln es
falsa

Accin lgica de escalera de rels


La condicin de salida de rengln se establece
como falsa.
La condicin de salida de rengln se establece
como falsa.

a condicin de entrada
de rengln es verdadera

La instruccin realiza una operacin O a nivel de


bits.
La condicin de salida de rengln se establece
como verdadera.

Post-escan

La condicin de salida de rengln se establece


como falsa.

Ejemplo: Cuando se habilita, la instruccin AND realiza una operacin O exclusivo a nivel
de bits en SourceA y SourceB y coloca el resultado en el tag de destino.

Lgica de escalera de rels

Texto estructurado
value_result_xor := value_1 XOR value_2;

NO a nivel de
bits (NOT)

La instruccin NOT realiza un NO a nivel de bits usando los bits en


Source y coloca el resultado en Destination.

Operandos:
Lgica de escalera de rels
Operando
Source A

Tipo
SINT

Formato

Descripcin

Inmediato

INT

Tag

valor con que se realiza la


operacin XOR
con Source B

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

Destination

SINT
INT
DINT

Tag

Tag para almacenar el


resultado

Texto estructurado
Use NOT como operador dentro de una expresin. Esta expresin
evala source con la operacin NOT.
dest := NOT source

Una vez habilitada, la instruccin evala la operacin NO:


Descripcin:

Si mezcla diferentes tipos de datos enteros, la instruccin llena con


ceros los bits superiores de los tipos de datos enteros menores para
que tengan el mismo tamao que el tipo de datos mayor.

Indicadores de estado
aritmtico:
Los indicadores de estado aritmtico son
afectados.

Condiciones de fallo:

ninguna

Ejecucin

Condicin
Preescan
condicin de entrada de rengln es
falsa

Accin lgica de escalera de rels


La condicin de salida de rengln se establece
como falsa.
La condicin de salida de rengln se establece
como falsa.

a condicin de entrada
de rengln es verdadera

La instruccin realiza una operacin NO a nivel


de bits.
La condicin de salida de rengln se establece
como verdadera.

Post-escan

La condicin de salida de rengln se establece


como falsa.

Ejemplo: Cuando se habilita, la instruccin NOT realiza una operacin NO a nivel de bits en
Source y coloca el resultado en Dest.

Lgica de escalera de rels

Texto estructurado
value_result_not := NOT value_1;

Instrucciones de secuenciador
(SQO, SQL)

Introduccin

No se toma ninguna accin. Las instrucciones de secuenciador


monitorean operaciones uniformes y repetibles..

Si desea

Use esta instruccin

Establecer condiciones de
salida para el siguiente paso
Cargar condiciones de
referencia en matrices
de secuenciador

Disponible
lenguajes

en

estos

SQO

lgica de escalera de rels

SQL

lgica de escalera de rels

Para las instrucciones de lgica de escalera de rels, los tipos de datos que aparecen en letras
negritas indican tipos de datos ptimos. Las instrucciones se ejecutan ms rpidamente y
requieren menos memoria si todos los operandos de instruccin usan el mismo tipo de datos
ptimos, tpicamente DINT o REAL.

Secuenciador
de salida
(SQO)

La instruccin SQO establece condiciones de salida para el siguiente


paso de una pareja de instrucciones SQO/SQI de secuencia.

Operandos:
Lgica de escalera de rels
Operando

Tipo

Formato

Descripcin

Array

DINT

Tag
de
matriz

matriz de secuenciador
especifica el primer
elemento de la matriz
de secuenciador

Mask

SINT
INT
DINT

Tag
inmediato

Destination

DINT

tag

Control

CONTROL

tag

Length

DINT

inmediato

Position

Dint

inmediato

no use CONTROL.POS en
el subndice
Que bits se bloquean o se
pasan

datos de salida
provenientes de la matriz
de secuenciador
estructura de control para
la operacin
normalmente, se usa el
mismo CONTROL
que para las instrucciones
SQI y SQL
nmero de elementos en la
matriz (tabla de
secuenciador) que se va a
establecer como
salida
posicin actual en la matriz
el valor inicial es
tpicamente 0

Estructura de control
Mnemonico Tipo de datos descripcin
.EN

BOOL

El bit de habilitacin indica que la instruccin SQO est


habilitada.

.DN

BOOL

.ER

BOOL

El bit de efectuado se establece cuando todos los


elementos especificados se han transferido a Destination.
El bit de error se establece cuando .LEN 0, .POS < 0, o
.POS > .LEN.

.LEN

DINT

La longitud especifica el nmero de pasos en la matriz de


secuenciador

.PDS

DINT

La posicin identifica el elemento que el controlador est


manipulando actualmente.

Descripcin:

Cuando se habilita, la instruccin SQO incrementa la posicin,


transfiere los datos en la posicin a travs de la mscara (Mask) y
almacena el resultado en Destination. Si .POS > .LEN, la instruccin
da la vuelta hasta el comienzo de la matriz de secuenciador y
contina con .POS = 1.
Normalmente, se usa la misma estructura de CONTROL que para
las instrucciones SQI y SQL.
La instruccin SQO realiza la operacin en memoria contigua.

Introduzca un valor de mscara inmediato.


Cuando usted introduce una mscara, el software de programacin
cambia de manera predeterminada a valores decimales. Si desea
introducir una mscara usando otro formato, preceda el valor con el
prefijo correcto.
prefijo
16#
8#
2#

Descripcin
Hexadecimal
Por ejemplo; 16#0F0F
Octal
Por ejemplo; 8#16
Binario
Por ejemplo; 2#00110011

Indicadores de estado
aritmtico:
No afectados

Condiciones de fallo:

ninguna

Ejecucin
Accin lgica de escalera de rels
El bit .EN se establece para impedir una carga
falsa cuando se inicia el escn del programa.
La condicin de salida de rengln se establece
como falsa.
La condicin de salida de rengln se establece
como falsa.

Condicin
Preescan

condicin de entrada de rengln es


falsa
a condicin de entrada
de rengln es verdadera

.EN=0

no

.LEN 0 o
.POS < 0

Examine el
bit .EN

El bit .EN se establece


El bit .ER se borra
El bit .DN se borra

.EN=1
si
no

si

.POS .LEN

.POS=1

.POS = .LEN
no

si
.POS =.POS+1

El bit .DN se establece

si
El valor .POS
retorna al valor
inicial

Ir a
error

no

si
Examine el bit
.UN

El bit .DN se
establece

no

si
.POS > .LEN

error

no

Destination = (Destination AND


(NOT(Mask)))
OR (Array[control.POS] AND Mask)

El bit .ER se
establece

la condicion de salida de
renglon se establece como
verdadera

fin

Post-escan

La condicin de salida de rengln se establece


como falsa.

Ejemplo: Cuando se habilita, la instruccin SQO incrementa la posicin, pasa los datos en esa
posicin en array_dint a travs de la mscara y almacena el resultado en value_1.

Un nmero 0 en la mscara significa que el bit no se compara (designado por xxxx en este
ejemplo).

Uso de SQI con SQO


Si usted empareja una instruccin SQI con una instruccin SQO, asegrese de que ambas
instrucciones usen los mismos valores de Control, Length y Position.

Restablecimiento de la posicin de SQO


Cada vez que el controlador cambia del modo de programacin al modo de marcha, la
instruccin SQO borra (inicializa) el valor .POS. Para restablecer .POS al valor de inicializacin
(.POS = 0), use una instruccin RES a fin de borrar el valor de posicin. Este ejemplo usa el
estado del bit de primer escn para borrar el valor .POS.

Carga de
secuenciador
(SQL)

La instruccin SQL carga condiciones de referencia en una matriz


de secuenciador

Operandos:
Lgica de escalera de rels
Operando

Tipo

Formato

Descripcin

Array

DINT

Tag
de
matriz

matriz de secuenciador
especifica el primer
elemento de la matriz
de secuenciador

SINT
INT
DINT

Mask

Tag
inmediato

Control

CONTROL

tag

Length

DINT

inmediato

Position

Dint

inmediato

no use CONTROL.POS en
el subndice
datos de entrada que se
van a cargar en la
matriz de secuenciador

estructura de control para


la operacin
normalmente, se usa el
mismo CONTROL
que para las instrucciones
SQI y SQL
nmero de elementos en la
matriz (tabla de
secuenciador) que se va a
establecer como salida
posicin actual en la matriz
el valor inicial es
tpicamente 0

Estructura de control
Mnemonico

Tipo de datos

descripcin

.EN

BOOL

El bit de habilitacin indica que la instruccin SQO est habilitada.

.DN

BOOL

.ER

BOOL

El bit de efectuado se establece cuando todos los elementos


especificados se han transferido a Destination.
El bit de error se establece cuando .LEN 0, .POS < 0, o .POS >
.LEN.

.LEN

DINT

La longitud especifica el nmero de pasos en la matriz de


secuenciador

.PDS

DINT

La posicin identifica el elemento que el controlador est


manipulando actualmente.

Descripcin:

Importante

Cuando se habilita, la instruccin SQL incremente la siguiente


posicin en la matriz de secuenciador y carga el valor de Source en
dicha posicin. El bit .DN se establece, o si .POS .LEN, la
instruccin establece .POS=1.
Normalmente, se usa la misma estructura de CONTROL que para
las instrucciones SQI y SQO.
Usted debe probar y confirmar que la instruccin no cambie
datos que usted no desea que cambien.
La instruccin SQL realiza la operacin en memoria contigua.
En algunos casos, la instruccin carga datos ms all de la
matriz en otros miembros del tag. Esto sucede si la longitud
es excesiva y el tag es de un tipo de datos definido por el
usuario.

Indicadores de estado
aritmtico:
No afectados

Condiciones de fallo:

Ejecucin
Condicin
Preescan

condicin de entrada de
rengln es falsa

Accin lgica de escalera de rels


El bit .EN se establece para impedir una carga falsa
cuando se inicia el escn del programa.
La condicin de salida de rengln se establece como
falsa.
El bit .EN se borra.
La condicin de salida de rengln se establece como
falsa.

a condicin de entrada
de rengln es verdadera

.EN=0

no

.LEN 0 o
.POS < 0

Examine el
bit .EN

El bit .EN se establece


El bit .ER se borra
El bit .DN se borra

.EN=1
si
no

si

.POS .LEN

.POS=1

.POS = .LEN
no

si
.POS =.POS+1

El bit .DN se establece

si
El valor .POS
retorna al valor
inicial

Ir a
error

no

si
El bit .DN se
establece

.POS =.LEN

no

si
.POS > .LEN

error

si

no

.LEN > tamao


de la matriz
Fallo
mayor

no
El bit .ER se
establece
Array[control.POS] = Source

la condicion de salida de
renglon se establece como
verdadera

fin

Post-escan

La condicin de salida de rengln se establece


como falsa.

Ejemplo: Una vez habilitada, la instruccin SQL carga value_3 en la prxima


posicin en la matriz de secuenciador la cual es array_dint[5] en este ejemplo.

Instrucciones de matriz
(Archivo/miscelneas)
(PID, PTO, PWM, LCD)