Professional Documents
Culture Documents
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
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 A AN AN I0.0 I0.1 I0.1 I0.1
; Desempea I0.0 AND I0.1 ; I0.0 AND (NOT 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 O I0.1
;I0.0 ; I0.0 OR
I0.1
AN ON
I0.0 I0.1
(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. Instruccin A A R 0 A O ON = 0 A AN ON A = Lenguaje FBD I0.0 I0.1 Q0. I0.0 I0.1 I0.1 Q0. I0.0 I0.1 I0.0 I0.1
IL
AND
OR
EXOR
NAND
NOR
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 en B. 10,B ; AND entre registro B y el nmero 10, el resultado se guarda
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 guarda en C. AN W 7,C ;NAND entre el registro C y el nmero 7, el resultado se
B,C
Instruccin OR: Realiza la operacin OR entre la fuente y el destino, el resultado se almacena en el registro de destino.
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 AND NAND OR NOR EXOR EXNOR Registro B 1111 0000 1100 11 00 1010 1010 1010 1010 1010 1010 1010 1010 1010 1010 1010 1010 0100 0101 0110 0111 0100 0101 0110 0111 Registro C 0000 0000 1111 0000 1111 0000 0000 1111 1111 1111 1111 0000 1111 1111 1111 0000 1001 1010 1011 1100 1001 1010 1011 1100 A AN O ON XO Instruccin W B, C W B, C W B, C W B, C W B, C Resultado 0000 0000 1100 0000 0101 1111 1111 0101 1111 1111 1111 1010 0000 0000 0000 0101 1101 1111 1101 1011 0010 0000 0010 0100
XON W B, C
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.
Bander a CY=1
CY=0
O=1
O=0
Z=1
Z=0 V= 1
V= 0
N=1
N=0
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.
A continuacin, se presentan las equivalencias en lenguaje IL de los bloques comparadores del lenguaje FBD. Relacin L L CPLA A = L L CPLA AN = L L CPLA AN AN = L L CPLA AN = L L CPLA A = L L CPLA A O = IL W W W FBD M0,A 28,B B,A Z Q0.0 M0,A 28,B B,A Z Q0.0 M0,A 28,B B,A N Z Q0.0 M0,A 28,B B,A N Q0.0 M0,A 28,B B,A N Q0.0 M0,A 28,B B,A N Z Q0.0
M0 = 28
M0 < > 28
W W W
M0 > 28
W W W
M0 >= 28
W W W
M0 < 28
W W W
MO <= 28
W W W
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.
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 Impulso Impulso Memorizado Retardo de Conexin Retardo de Conexin Memorizado Retardo de Desconexin EJEMPLO DE LA SINTAXIS DE LA INSTRUCCIN SP A, T1 SPE A, T1 SR A, T1 SRE A, T1 SF A, T1
Ejemplo: Analice las instrucciones IL necesarias para desarrollar el temporizador equivalente en FBD. TIPO DE TEMPORIZAD OR
FBD
Impulso
Impulso Memorizado
Retardo de Conexin
Retardo de Desconexin
10
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 A CU A CD A L SC A RC L T L A = I0.0 C1 I0.1 C1 I0.2 100,A A,C1 I0.3 C1 C1,A A,M0 C1,A C1 Q0.0 FBD
W W W
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.
11
ADD B
B,A
Suma
ADC B
C,A
ADC
ADC W
C,A
D,A
B,A
12
SBB B
C,A
SBB
SBB W
D,A
MUL B
D,A
Multiplicacin
DIV
D,A
Divisin
13
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 Incondicional Si Verdadero Si Falso Si Carry Si No hay Carry Si Sobreflujo Si No hay Sobreflujo Si Negativo Si Positivo Si es cero Si es Diferente de cero Si Mayor que (aritmtica complemento a 2 con signo) Si Menor Que o Cero (aritmtica complemento a 2 con signo) Menor Que o Cero (aritmtica sin signo) Mayor Que (aritmtica sin signo) 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 CMC EM EMC FC0 FC0 ; llama incondicionalmente al mdulo FC0 ; llama al mdulo FC0 slo si V=1 (verdadero) ; retorna de manera incondicional ; retorna si V=1 (verdadero) Operando JP JPC JPCI JPCY JPCN JPO JPON JPM JPP JPZ JPN JPAG JPMZ JPLG JPCZ Condicin de Banderas V= 1 V= 0 CY= 1 CY= 0 O= 1 O= 0 N= 1 N= 0 Z= 1 Z= 0 Z=0 y ((O=0 y N=0) o N=1)) (Z=1 o N=1) y (O=0 y (N=0 o O=1)) Z=0 y CY=0 Z=1 o CY= 1
14
15