Está en la página 1de 15

CURSO DE PLC

1
LENGUAJES DE PROGRAMACIÓN
Lista de Instrucciones (IL)

Objetivo de la Lección

Presentar el lenguaje de Lista de Instrucciones IL.

Lista de Temas

Instrucciones IL
Instrucciones de Bit
Instrucción AND
Instrucción OR
Asignación Simple
Instrucciones de Retención
Instrucciones de Palabra y Byte
Instrucción AND
Instrucción NAND
Instrucción OR
Instrucción NOR
Instrucción EXOR
Instrucción EXNOR
Instrucción de Comparación
Instrucciones de Carga y Transferencia
Instrucciones para Temporizadores
Instrucciones para Contadores
Instrucciones Aritméticas
Instrucciones de Control de Flujo

LENGUAJE DE LISTA DE INSTRUCCIONES

El programa se realiza por medio de la escritura de instrucciones predefinidas por


el lenguaje.

Sintaxis del Lenguaje:

SINTAXIS DE LAS INSTRUCCIONES


OPERANDO ATRIBUTO FUENTE DESTINO COMENTARIO
OPP OPA SRC DEST Coment
CURSO DE PLC
2
LENGUAJES DE PROGRAMACIÓN
Lista de Instrucciones (IL)

Cada instrucción se divide en cinco campos:

1. Operando (sintaxis OPP): Indica que hace la instrucción.


2. Atributo del Operando (sintaxis OPA): Indica el formato de datos sobre el
cual se opera: Bit, Byte, Word.
3. Fuente (sintaxis SRC): fuente de información.
4. Destino (sintaxis DEST): lugar en donde se produce el resultado de la
instrucción, siempre se antecede con una coma.
5. Comentario (sintaxis coment): campo opcional que permite escribir un
comentario para clarificar la instrucción, el procesador no lo tiene en
cuenta; siempre se inicia con punto y coma.

Instrucciones IL:

A continuación se hace una descripción de las instrucciones IL más comunes:

• Instrucciones de Bit: Este tipo de instrucciones evalúa los bits de la fuente


consecutivamente en cada sentencia.

• Instrucción AND: Se realiza por medio del operando A. El complemento de la


entrada (equivalente a un contacto normal cerrado) se realiza por medio del
operando AN. Cada instrucción se forma con el Operando y la fuente.

Ejemplo:

A I0.0
A I0.1 ; Desempeña I0.0 AND I0.1
AN I0.1 ; I0.0 AND (NOT I0.1)
AN I0.1 ; (NOT I0.0) AND (NOT I0.1)

• Instrucción OR: El operando es O; la instrucción se conforma agregando la


fuente; para negar la entrada se usa ON. La primera sentencia o instrucción es
AND cuando se requiere realizar una función OR.

Ejemplos:
A I0.0 ;I0.0
O I0.1 ; I0.0 OR I0.1
CURSO DE PLC
3
LENGUAJES DE PROGRAMACIÓN
Lista de Instrucciones (IL)

A I0.0 ;I0.0
ON I0.1 ;I0.0 OR (NOT I0.1)

AN I0.0 ;NOT I0.0


ON I0.1 ;(NOT I0.0) OR (NOT I0.1)

• Asignación Simple: El operando es igual (=);la fuente le sigue a la operando.

Ejemplo:

A I0.0
AN I0.1 ; I0.0 AND (NOT I0.1)
A I0.2 ; I0.0 AND (NOT I0.1) AND I0.2
= Q0.0 ; Q0.0 = I0.0 AND (NOT I0.1) AND I0.2

• Instrucciones de retención de bit: Instrucciones de puesta a uno S y puesta


a cero R. La sintaxis de la instrucción se compone de: operando y fuente.

Ejemplo:

En la tabla a continuación, se presentan un conjunto de instrucciones IL y su


equivalente FBD.

Lenguaje
Instrucción
IL FBD
A I0.0
A I0.1
AND R
Q0.
0
A I0.0
O I0.1
ON I0.1
OR
=
Q0.
0
A I0.0
AN I0.1
EXOR ON I0.0
A I0.1
=
CURSO DE PLC
4
LENGUAJES DE PROGRAMACIÓN
Lista de Instrucciones (IL)

Q0.
0
AN I0.0
ON I0.1
NAND =
Q0.
0
AN I0.0
AN I0.1
NOR S
Q0.
0

• Instrucciones de Palabra y Byte: En estas instrucciones tanto la fuente como


el destino tienen formato de byte o palabra esto se diferencia al escribir W para
palabra y B para byte en el atributo del operando. El resultado de la instrucción
se carga en el registro destino.

• Instrucción AND: El operando es A y la operación AND se realiza bit a bit


entre fuente y destino.

Ejemplo:

A W B,C ; AND entre registro B y registro C, formato de 16 bits.


El resultado se guarda en el registro C.

A B 10,B ; AND entre registro B y el número 10, el resultado se guarda


en B.

• Instrucción NAND: Realiza la operación NAND entre la fuente y el destino el


resultado se guarda en el destino. El operando es AN. Tenga en cuenta que la
instrucción AN de bit es distinta a la AN de palabra: la AN de bit niega la
entrada, mientras que aquí se está negando el resultado de la AND.

Ejemplo:

AN W 7,C ;NAND entre el registro C y el número 7, el resultado se


guarda en C.

AN W B,C ;NAND entre los resgistro B y C. El resultado en C.

• Instrucción OR: Realiza la operación OR entre la fuente y el destino, el


resultado se almacena en el registro de destino.
CURSO DE PLC
5
LENGUAJES DE PROGRAMACIÓN
Lista de Instrucciones (IL)

Ejemplo: O W B,C.

• Instrucción NOR: Efectúa la NOR entre el registro fuente y el registro destino,


el resultado se almacena en el registro destino.

Ejemplo: ON W B,C ; C = NOT ( B OR C )

• Instrucción EXOR: Realiza la EXOR entre el registro fuente y el de destino, en


este ultimo es almacenado en el resultado.

Ejemplo: XO W B,C ; C= B EXOR C

• Instrucción EXNOR: Realiza la EXNOR entre el registro fuente y el de


destino, el resultado se almacena en el registro destino.

Ejemplo: XON W B,C ; C= B EXOR C

En la siguiente tabla se ejemplifican algunos casos de las instrucciones


presentadas:

Función Registro B Registro C Instrucción Resultado


Lógica
AND 1111 0000 0000 0000 0000 0000
A W B, C
1100 11 00 1111 0000 1100 0000
NAND 1010 1010 1111 0000 0101 1111
AN W B, C
1010 1010 0000 1111 1111 0101
OR 1010 1010 1111 1111 1111 1111
O W B, C
1010 1010 1111 0000 1111 1010
NOR 1010 1010 1111 1111 0000 0000
ON W B, C
1010 1010 1111 0000 0000 0101
EXOR 0100 0101 1001 1010 1101 1111
XO W B, C
0110 0111 1011 1100 1101 1011
EXNOR 0100 0101 1001 1010 0010 0000
XON W B, C
0110 0111 1011 1100 0010 0100

• Instrucción de Comparación: Compara el destino con la fuente, el resultado


de la comparación se deduce de el estado de las banderas. El operando es
CPLA. En realidad, la comparación resta el operando destino menos el fuente,
sin cargar el resultado.

Las banderas son bits indicadores de la CPU asociados a su ALU, en la


siguiente tabla se listan las banderas que se encuentran en un PLC típico.
CURSO DE PLC
6
LENGUAJES DE PROGRAMACIÓN
Lista de Instrucciones (IL)

Símbolo Instrucción
Bander Nombre y Función de la
de la para consultar
a Bandera
Bandera la Bandera
Acarreo, se carga con el
CY=1 A CY
acarreo de la última
operación aritmética
C
realizada.
CY=0 AN CY
CY= 1: Hubo acarreo.
CY= 0: No hubo acarreo.
Sobreflujo, Indica si la
O=1 A O última operación realizada
tuvo un desbordamiento.
O O= 1: Hubo
O=0 AN O desbordamiento.
O= 0: No hubo
desbordamiento.
Cero, Indica si el último
Z=1 A Z
resultado fue igual a cero.
Z= 1: El resultado fue
Z
cero.
Z=0 AN Z
Z= 0: El resultado fue
distinto de cero.
V= 1 Verdadero, Almacena el
resultado de la última
instrucción de bit
realizada.
V
V= 0 V= 1: El resultado fue
verdadero.
V= 0: El resultado fue
falso.
N=1 A N Negativo, indica el signo
del último resultado.
N= 1: El resultado es
N
N=0 AN N negativo.
N= 0: El resultado es
positivo.

Lo anterior quiere decir que primero se hace la comparación y después se


consultan las banderas para determinar cual es la relación de magnitud
entre los valores comparados.
CURSO DE PLC
7
LENGUAJES DE PROGRAMACIÓN
Lista de Instrucciones (IL)

A continuación, se presentan las equivalencias en lenguaje IL de los bloques


comparadores del lenguaje FBD.

Relación IL FBD
L W M0,A
L W 28,B
M0 = 28 CPLA W B,A
A Z
= Q0.0
L W M0,A
L W 28,B
M0 < > 28 CPLA W B,A
AN Z
= Q0.0
L W M0,A
L W 28,B
CPLA W B,A
M0 > 28
AN N
AN Z
= Q0.0
L W M0,A
L W 28,B
M0 >= 28 CPLA W B,A
AN N
= Q0.0
L W M0,A
L W 28,B
M0 < 28 CPLA W B,A
A N
= Q0.0
L W M0,A
L W 28,B
CPLA W B,A
MO <= 28
A N
O Z
= Q0.0

• Instrucciones de Carga y Transferencia: Son utilizadas para copiar el


contenido de la fuente en el destino. La diferencia entre Carga y Transferencia
reside en que con la carga el destino es siempre un registro de la CPU y en la
Transferencia el la fuente es siempre un registro de la CPU.
CURSO DE PLC
8
LENGUAJES DE PROGRAMACIÓN
Lista de Instrucciones (IL)

Ejemplo:
L W 10,B ; carga el número 10 en el registro B.
T W B,M0 ; carga en M0 el contenido del registro B.

• Instrucciones para Temporizadores: Se dividen en tres grupos: Definición e


inicio del temporizador, Reposición y Detención. Existe un Operando
específico de definición e inicio para cada tipo de temporizador (Vea la tabla
siguiente), por el contrario, los Operandos de Reposición (RT) y Detención
(TH) son comunes para todos los tipos de temporizadores.

EJEMPLO DE LA
TIPO DE
OPERANDO SINTAXIS DE LA
TEMPORIZADOR
INSTRUCCIÓN
Impulso SP SP A, T1
Impulso Memorizado SPE SPE A, T1
Retardo de Conexión SR SR A, T1
Retardo de Conexión
SRE SRE A, T1
Memorizado
Retardo de
SF SF A, T1
Desconexión

Ejemplo: Analice las instrucciones IL necesarias para desarrollar el


temporizador equivalente en FBD.

TIPO DE
TEMPORIZAD IL FBD
OR
A I0.0
L W
t#20s,A
SP A,T1
A I0.1
TH T1
Impulso
A I0.2
RT T1
L W T1,A
A T1
= Q0.0
CURSO DE PLC
9
LENGUAJES DE PROGRAMACIÓN
Lista de Instrucciones (IL)

A I0.0
L W
t#20s,A
SPE A,T1
A I0.1
Impulso
TH T1
Memorizado
A I0.2
RT T1
L W T1,A
A T1
= Q0.0
A I0.0
L W
t#20s,A
SR A,T1
A I0.1
Retardo de
TH T1
Conexión
A I0.2
RT T1
L W T1,A
A T1
= Q0.0
A I0.0
L W
t#20s,A
SRE A,T1
Retardo de A I0.1
Conexión TH T1
Memorizado A I0.2
RT T1
L W T1,A
A T1
= Q0.0
A I0.0
L W
t#20s,A
SF A,T1
Retardo de A I0.1
Desconexión TH T1
A I0.2
RT T1
L W T1,A
A T1
CURSO DE PLC
10
LENGUAJES DE PROGRAMACIÓN
Lista de Instrucciones (IL)

= Q0.0

• Instrucciones para Contadores: Los operandos son:

¾ Definición Contador (SCY).


¾ Conteo Ascendente (CU).
¾ Conteo Descendente (CD).
¾ Reponer Contador (RCY).

Ejemplo: En la tabla se muestran ejemplos de la sintaxis de las instrucciones.

IL FBD
A I0.0
CU C1
A I0.1
CD C1
A I0.2
L W 100,A
SC A,C1
A I0.3
RC C1
L W C1,A
T W A,M0
L W C1,A
A C1
= Q0.0

• Instrucciones Aritméticas: El resultado de las operaciones aritmética se


obtiene en formato de palabra o byte. La fuente y el destino son siempre
registrados en la CPU. Las operaciones son:

¾ Suma.
¾ Suma con Acarreo.
¾ Resta.
¾ Resta con Préstamo.
¾ Multiplicación.
¾ División.
CURSO DE PLC
11
LENGUAJES DE PROGRAMACIÓN
Lista de Instrucciones (IL)

Ejemplo:

Operación Operand Ejemplo Descripción


o

ADD B B,A

Suma ADD

ADD W B,A

ADC B C,A

Suma con
ADC
Acarreo

ADC W C,A

SUB B D,A

Resta SUB

SUB W B,A
CURSO DE PLC
12
LENGUAJES DE PROGRAMACIÓN
Lista de Instrucciones (IL)

Operación Operand Ejemplo Descripción


o

SBB B C,A

Resta con
SBB
Préstamo

SBB W D,A

MUL B D,A

Multiplicación MUL

MUL W B,A

DIV B D,A

División DIV

DIV W C,A
CURSO DE PLC
13
LENGUAJES DE PROGRAMACIÓN
Lista de Instrucciones (IL)

• Instrucciones de Control de Flujo: Son de salto y llamada.

¾ Instrucciones de Salto: Se conforman con Operando y Destino. El Destino es


el símbolo que representa el lugar donde se debe saltar, si la condición de
salto se cumple. En la tabla se relacionan las diversas instrucciones de salto y
las condiciones a las que obedecen.

Tipo de Salto Operando Condición de


Banderas
Incondicional JP
Si Verdadero JPC V= 1
Si Falso JPCI V= 0
Si Carry JPCY CY= 1
Si No hay Carry JPCN CY= 0
Si Sobreflujo JPO O= 1
Si No hay Sobreflujo JPON O= 0
Si Negativo JPM N= 1
Si Positivo JPP N= 0
Si es cero JPZ Z= 1
Si es Diferente de cero JPN Z= 0
Si Mayor que (aritmética Z=0 y ((O=0 y N=0) o
JPAG
complemento a 2 con signo) N=1))
Si Menor Que o Cero (aritmética (Z=1 o N=1) y (O=0 y
JPMZ
complemento a 2 con signo) (N=0 o O=1))
Menor Que o Cero (aritmética sin
JPLG Z=0 y CY=0
signo)
Mayor Que (aritmética sin signo) JPCZ Z=1 o CY= 1

¾ Instrucciones de Llamada:

™ Llamadas de Módulo: Son incondicional CM ó condicional CMC. El campo


de destino contiene el nombre del módulo de programa al cual se llama. A
este grupo agregamos las instrucciones de fin de módulo, nombradas
también de retorno. Si un módulo de programa fue llamado por otro, termina
con una instrucción de fin de módulo.

Ejemplo:

CM FC0 ; llama incondicionalmente al módulo FC0


CMC FC0 ; llama al módulo FC0 sólo si V=1 (verdadero)

EM ; retorna de manera incondicional


EMC ; retorna si V=1 (verdadero)
CURSO DE PLC
14
LENGUAJES DE PROGRAMACIÓN
Lista de Instrucciones (IL)

Ejemplo de Aplicación:

Escriba la solución al problema del Elevador de Piezas, visto en una lección


anterior, en lenguaje IL.

;AVANCE

A -S0
A -S1
A -S3
S -Y1

AN -M0_0
A -S2
A -S3
S -Y2

;BIT DE ESTADO

A -S4
S -M0_0

A -S1
A -S3
R -M0_0

;RETROCESO

A -M0_0
A -S2
A -S3
R -Y1

A -S4
R -Y2
EM
CURSO DE PLC
15
LENGUAJES DE PROGRAMACIÓN
Lista de Instrucciones (IL)

Compárela ahora con la solución en lenguaje de contactos:

Reflexiones Sobre lo Visto:

El lenguaje IL permite un mayor acceso a los recursos del sistema;


basándose en él puede hacer uso de las operaciones aritméticas, lo anterior
no era posible en los 3 lenguajes estudiados previamente.

Aquí sólo se han presentado las instrucciones IL más importantes. Sin


embargo, consideramos que forman una base sólida para la comprensión
del lenguaje; el estudiante podrá hacer una profundización de
conocimientos al estudiar el lenguaje para el tipo de PLC que disponga a
mano.