Está en la página 1de 15

CURSO DE PLC

LENGUAJES DE PROGRAMACIN
Lista de Instrucciones (IL)


1
Objetivo de la Leccin

Presentar el lenguaje de Lista de Instrucciones IL.
Lista de Temas

Instrucciones IL
Instrucciones de Bit
Instruccin AND
Instruccin OR
Asignacin Simple
Instrucciones de Retencin
Instrucciones de Palabra y Byte
Instruccin AND
Instruccin NAND
Instruccin OR
Instruccin NOR
Instruccin EXOR
Instruccin EXNOR
Instruccin de Comparacin
Instrucciones de Carga y Transferencia
Instrucciones para Temporizadores
Instrucciones para Contadores
Instrucciones Aritmticas
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
LENGUAJES DE PROGRAMACIN
Lista de Instrucciones (IL)


2
Cada instruccin se divide en cinco campos:

1. Operando (sintaxis OPP): Indica que hace la instruccin.
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 informacin.
4. Destino (sintaxis DEST): lugar en donde se produce el resultado de la
instruccin, siempre se antecede con una coma.
5. Comentario (sintaxis coment): campo opcional que permite escribir un
comentario para clarificar la instruccin, el procesador no lo tiene en
cuenta; siempre se inicia con punto y coma.

Instrucciones IL:

A continuacin se hace una descripcin de las instrucciones IL ms comunes:

Instrucciones de Bit: Este tipo de instrucciones evala los bits de la fuente
consecutivamente en cada sentencia.

Instruccin 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 instruccin se forma con el Operando y la fuente.

Ejemplo:

A I0.0
A I0.1 ; Desempea I0.0 AND I0.1
AN I0.1 ; I0.0 AND (NOT I0.1)
AN I0.1 ; (NOT I0.0) AND (NOT I0.1)


Instruccin OR: El operando es O; la instruccin se conforma agregando la
fuente; para negar la entrada se usa ON. La primera sentencia o instruccin es
AND cuando se requiere realizar una funcin OR.

Ejemplos:
A I0.0 ;I0.0
O I0.1 ; I0.0 OR I0.1



CURSO DE PLC
LENGUAJES DE PROGRAMACIN
Lista de Instrucciones (IL)


3
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)


Asignacin 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 retencin de bit: Instrucciones de puesta a uno S y puesta
a cero R. La sintaxis de la instruccin se compone de: operando y fuente.

Ejemplo:

En la tabla a continuacin, se presentan un conjunto de instrucciones IL y su
equivalente FBD.

Lenguaje
Instruccin
IL FBD
AND
A I0.0
A I0.1
R
Q0.
0

OR
A I0.0
O I0.1
ON I0.1
=
Q0.
0
EXOR
A I0.0
AN I0.1
ON I0.0
A I0.1
=


CURSO DE PLC
LENGUAJES DE PROGRAMACIN
Lista de Instrucciones (IL)


4
Q0.
0
NAND
AN I0.0
ON I0.1
=
Q0.
0

NOR
AN I0.0
AN I0.1
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 instruccin
se carga en el registro destino.

Instruccin AND: El operando es A y la operacin 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 nmero 10, el resultado se guarda
en B.

Instruccin NAND: Realiza la operacin NAND entre la fuente y el destino el
resultado se guarda en el destino. El operando es AN. Tenga en cuenta que la
instruccin 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 nmero 7, el resultado se
guarda en C.

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

Instruccin OR: Realiza la operacin OR entre la fuente y el destino, el
resultado se almacena en el registro de destino.

CURSO DE PLC
LENGUAJES DE PROGRAMACIN
Lista de Instrucciones (IL)


5
Ejemplo: O W B,C.

Instruccin NOR: Efecta 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 )

Instruccin 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

Instruccin 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:

Funcin
Lgica
Registro B Registro C Instruccin Resultado
AND 1111 0000
1100 11 00
0000 0000
1111 0000
A W B, C
0000 0000
1100 0000
NAND 1010 1010
1010 1010
1111 0000
0000 1111
AN W B, C
0101 1111
1111 0101
OR 1010 1010
1010 1010
1111 1111
1111 0000
O W B, C
1111 1111
1111 1010
NOR 1010 1010
1010 1010
1111 1111
1111 0000
ON W B, C
0000 0000
0000 0101
EXOR 0100 0101
0110 0111
1001 1010
1011 1100
XO W B, C
1101 1111
1101 1011
EXNOR 0100 0101
0110 0111
1001 1010
1011 1100
XON W B, C
0010 0000
0010 0100


Instruccin de Comparacin: Compara el destino con la fuente, el resultado
de la comparacin se deduce de el estado de las banderas. El operando es
CPLA. En realidad, la comparacin 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 tpico.

CURSO DE PLC
LENGUAJES DE PROGRAMACIN
Lista de Instrucciones (IL)


6

Bander
a
Smbolo
de la
Bandera
Instruccin
para consultar
la Bandera
Nombre y Funcin de la
Bandera
CY=1 A CY
CY=0
C
AN CY
Acarreo, se carga con el
acarreo de la ltima
operacin aritmtica
realizada.
CY=1: Hubo acarreo.
CY=0: No hubo acarreo.
O=1 A O
O=0
O
AN O
Sobreflujo, Indica si la
ltima operacin realizada
tuvo un desbordamiento.
O= 1: Hubo
desbordamiento.
O= 0: No hubo
desbordamiento.
Z=1 A Z
Z=0
Z
AN Z
Cero, Indica si el ltimo
resultado fue igual a cero.
Z= 1: El resultado fue
cero.
Z= 0: El resultado fue
distinto de cero.
V=1
V=0
V

Verdadero, Almacena el
resultado de la ltima
instruccin de bit
realizada.
V= 1: El resultado fue
verdadero.
V= 0: El resultado fue
falso.
N=1 A N
N=0
N
AN N
Negativo, indica el signo
del ltimo resultado.
N= 1: El resultado es
negativo.
N= 0: El resultado es
positivo.

Lo anterior quiere decir que primero se hace la comparacin y despus se
consultan las banderas para determinar cual es la relacin de magnitud
entre los valores comparados.


CURSO DE PLC
LENGUAJES DE PROGRAMACIN
Lista de Instrucciones (IL)


7
A continuacin, se presentan las equivalencias en lenguaje IL de los bloques
comparadores del lenguaje FBD.

Relacin IL FBD
M0 =28
L W M0,A
L W 28,B
CPLA W B,A
A Z
= Q0.0

M0 <>28
L W M0,A
L W 28,B
CPLA W B,A
AN Z
= Q0.0

M0 >28
L W M0,A
L W 28,B
CPLA W B,A
AN N
AN Z
= Q0.0

M0 >=28
L W M0,A
L W 28,B
CPLA W B,A
AN N
= Q0.0

M0 <28
L W M0,A
L W 28,B
CPLA W B,A
A N
= Q0.0

MO <=28
L W M0,A
L W 28,B
CPLA W B,A
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
LENGUAJES DE PROGRAMACIN
Lista de Instrucciones (IL)


8
Ejemplo:
L W 10,B ; carga el nmero 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: Definicin e
inicio del temporizador, Reposicin y Detencin. Existe un Operando
especfico de definicin e inicio para cada tipo de temporizador (Vea la tabla
siguiente), por el contrario, los Operandos de Reposicin (RT) y Detencin
(TH) son comunes para todos los tipos de temporizadores.

TIPO DE
TEMPORIZADOR
OPERANDO
EJEMPLO DE LA
SINTAXIS DE LA
INSTRUCCIN
Impulso SP SP A, T1
Impulso Memorizado SPE SPE A, T1
Retardo de Conexin SR SR A, T1
Retardo de Conexin
Memorizado
SRE SRE A, T1
Retardo de
Desconexin
SF SF A, T1

Ejemplo: Analice las instrucciones IL necesarias para desarrollar el
temporizador equivalente en FBD.

TIPO DE
TEMPORIZAD
OR
IL FBD
Impulso
A I0.0
L W
t#20s,A
SP A,T1
A I0.1
TH T1
A I0.2
RT T1
L W T1,A
A T1
= Q0.0



CURSO DE PLC
LENGUAJES DE PROGRAMACIN
Lista de Instrucciones (IL)


9
Impulso
Memorizado
A I0.0
L W
t#20s,A
SPE A,T1
A I0.1
TH T1
A I0.2
RT T1
L W T1,A
A T1
= Q0.0

Retardo de
Conexin
A I0.0
L W
t#20s,A
SR A,T1
A I0.1
TH T1
A I0.2
RT T1
L W T1,A
A T1
= Q0.0

Retardo de
Conexin
Memorizado
A I0.0
L W
t#20s,A
SRE A,T1
A I0.1
TH T1
A I0.2
RT T1
L W T1,A
A T1
= Q0.0

Retardo de
Desconexin
A I0.0
L W
t#20s,A
SF A,T1
A I0.1
TH T1
A I0.2
RT T1
L W T1,A
A T1

CURSO DE PLC
LENGUAJES DE PROGRAMACIN
Lista de Instrucciones (IL)


10
= Q0.0

Instrucciones para Contadores: Los operandos son:

Definicin 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 Aritmticas: El resultado de las operaciones aritmtica 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 Prstamo.
Multiplicacin.
Divisin.


CURSO DE PLC
LENGUAJES DE PROGRAMACIN
Lista de Instrucciones (IL)


11
Ejemplo:

Operacin Operand
o
Ejemplo Descripcin
ADD B B,A

Suma ADD
ADD W B,A

ADC B C,A

Suma con
Acarreo
ADC
ADC W C,A

SUB B D,A

Resta SUB
SUB W B,A


CURSO DE PLC
LENGUAJES DE PROGRAMACIN
Lista de Instrucciones (IL)


12
Operacin Operand
o
Ejemplo Descripcin
SBB B C,A

Resta con
Prstamo
SBB
SBB W D,A

MUL B D,A

Multiplicacin MUL
MUL W B,A

DIV B D,A

Divisin DIV
DIV W C,A


CURSO DE PLC
LENGUAJES DE PROGRAMACIN
Lista de Instrucciones (IL)


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

Instrucciones de Salto: Se conforman con Operando y Destino. El Destino es
el smbolo que representa el lugar donde se debe saltar, si la condicin 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 Condicin de
Banderas
Incondicional J P
Si Verdadero J PC V=1
Si Falso J PCI V=0
Si Carry J PCY CY=1
Si No hay Carry J PCN CY=0
Si Sobreflujo J PO O=1
Si No hay Sobreflujo J PON O=0
Si Negativo J PM N=1
Si Positivo J PP N=0
Si es cero J PZ Z=1
Si es Diferente de cero J PN Z=0
Si Mayor que (aritmtica
complemento a 2 con signo)
J PAG
Z=0 y ((O=0 y N=0) o
N=1))
Si Menor Que o Cero (aritmtica
complemento a 2 con signo)
J PMZ
(Z=1 o N=1) y (O=0 y
(N=0 o O=1))
Menor Que o Cero (aritmtica sin
signo)
J PLG Z=0 y CY=0
Mayor Que (aritmtica sin signo) J PCZ Z=1 o CY=1

Instrucciones de Llamada:

Llamadas de Mdulo: Son incondicional CM condicional CMC. El campo
de destino contiene el nombre del mdulo de programa al cual se llama. A
este grupo agregamos las instrucciones de fin de mdulo, nombradas
tambin de retorno. Si un mdulo de programa fue llamado por otro, termina
con una instruccin de fin de mdulo.

Ejemplo:

CM FC0 ; llama incondicionalmente al mdulo FC0
CMC FC0 ; llama al mdulo FC0 slo si V=1 (verdadero)

EM ; retorna de manera incondicional
EMC ; retorna si V=1 (verdadero)

CURSO DE PLC
LENGUAJES DE PROGRAMACIN
Lista de Instrucciones (IL)


14
Ejemplo de Aplicacin:

Escriba la solucin al problema del Elevador de Piezas, visto en una leccin
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
LENGUAJES DE PROGRAMACIN
Lista de Instrucciones (IL)


15
Comprela ahora con la solucin en lenguaje de contactos:


Reflexiones Sobre lo Visto:

El lenguaje IL permite un mayor acceso a los recursos del sistema;
basndose en l puede hacer uso de las operaciones aritmticas, lo anterior
no era posible en los 3 lenguajes estudiados previamente.

Aqu slo se han presentado las instrucciones IL ms importantes. Sin
embargo, consideramos que forman una base slida para la comprensin
del lenguaje; el estudiante podr hacer una profundizacin de
conocimientos al estudiar el lenguaje para el tipo de PLC que disponga a
mano.

También podría gustarte