Está en la página 1de 15

CURSO DE PLC

1
LENGUAJES DE PROGRAMACIN
Lista de Instrucciones (IL)

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
2
LENGUAJES DE PROGRAMACIN
Lista de Instrucciones (IL)

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
3
LENGUAJES DE PROGRAMACIN
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)

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
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 PROGRAMACIN
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 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
5
LENGUAJES DE PROGRAMACIN
Lista de Instrucciones (IL)

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 Registro B Registro C Instruccin Resultado


Lgica
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

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
6
LENGUAJES DE PROGRAMACIN
Lista de Instrucciones (IL)

Smbolo Instruccin
Bander Nombre y Funcin de la
de la para consultar
a Bandera
Bandera la Bandera
Acarreo, se carga con el
CY=1 A CY
acarreo de la ltima
operacin aritmtica
C
realizada.
CY=0 AN CY
CY= 1: Hubo acarreo.
CY= 0: No hubo acarreo.
Sobreflujo, Indica si la
O=1 A O ltima operacin 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
instruccin 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 comparacin y despus se


consultan las banderas para determinar cual es la relacin de magnitud
entre los valores comparados.
CURSO DE PLC
7
LENGUAJES DE PROGRAMACIN
Lista de Instrucciones (IL)

A continuacin, se presentan las equivalencias en lenguaje IL de los bloques


comparadores del lenguaje FBD.

Relacin 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 PROGRAMACIN
Lista de Instrucciones (IL)

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.

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

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 PROGRAMACIN
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
Conexin
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
Conexin 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
Desconexin TH T1
A I0.2
RT T1
L W T1,A
A T1
CURSO DE PLC
10
LENGUAJES DE PROGRAMACIN
Lista de Instrucciones (IL)

= 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
11
LENGUAJES DE PROGRAMACIN
Lista de Instrucciones (IL)

Ejemplo:

Operacin Operand Ejemplo Descripcin


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 PROGRAMACIN
Lista de Instrucciones (IL)

Operacin Operand Ejemplo Descripcin


o

SBB B C,A

Resta con
SBB
Prstamo

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
13
LENGUAJES DE PROGRAMACIN
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 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 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 (aritmtica Z=0 y ((O=0 y N=0) o
JPAG
complemento a 2 con signo) N=1))
Si Menor Que o Cero (aritmtica (Z=1 o N=1) y (O=0 y
JPMZ
complemento a 2 con signo) (N=0 o O=1))
Menor Que o Cero (aritmtica sin
JPLG Z=0 y CY=0
signo)
Mayor Que (aritmtica sin signo) JPCZ 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
14
LENGUAJES DE PROGRAMACIN
Lista de Instrucciones (IL)

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
15
LENGUAJES DE PROGRAMACIN
Lista de Instrucciones (IL)

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