Está en la página 1de 60

Programación Avanzada

de PLC

Código: 89000140

Técnico de Nivel Operativo


PROGRAMACIÓN AVANZADA DE PLC´s

1.- Generalidades
- Introducción
- El archivo de Control
- El archivo Entero
- Revisión de instrucciones básicas de programación.

2.- Instrucciones Matemáticas


- Instrucciones: ADD, SUB, MUL, DIV, DDV, NEG, CLR, TOD, FRD, DCD

3.- Instrucciones Lógicas y de Movimiento


- Instrucciones : MOV, MVM, AND; OR; XOR; NOT

4.- Instrucciones de Archivo


- Instrucciones: COP; FLL

5.- Instrucciones de Registros de Desplazamiento


- Instrucciones: BSL, BSR, FFL, FFU, LFL,LFU

6.- Instrucciones de Secuenciadores


- Instrucciones: SQO, SQC, SQL

7.- Instrucciones de Control


- Instrucciones de control: JMP, LBL, JSR, SBR, RET, MCR, TND, SUS, INT

8.- Procesamiento de Señales Analógicas


- Módulos E/S analógicos
- El Módulo Análogo 1746-NIO4I
- El módulo de entrada a termocupla
- El módulo de entrada a RTD

9.- La Instrucción de Escalamiento


- La Instrucción SCL
- Parámetros
- Aplicaciones

10.- La Instrucción PID


- Descripción general de la instrucción PID
- Indicadores de la Instrucción PID
- La instrucción PID y escalado de señales análogas de E/S
- Aplicaciones

3
PROGRAMACIÓN AVANZADA DE PLC´s

PROGRAMACIÓN AVANZADA DE PLCs

1.- GENERALIDADES

Introducción

Los avances tecnológicos que se han venido dando en estos últimos tiempos en el campo de la automatiza-
ción industrial, ha producido que los controladores programables (PLCs) se hayan convertido en unos equi-
pos de uso generalizado en el control de los procesos productivos. Una de las más grandes ventajas del PLC
frente a sistemas tradicionales es que éste puede sustituir a todo aparato o dispositivo de control, como son:
relés de control, temporizadores, programadores, secuenciadores y otros; esto trae como consecuencia otras
ventajas como: reducción de costo y del tamaño del tablero, confiabilidad del sistema de control, etc. Pero,
además, el PLC tiene otras herramientas adicionales que le permiten optimizar cualquier programa de control
e incluso elevarse hasta el nivel de supervisión del proceso que controla a través de redes industriales imple-
mentadas a base de los controladores programables. Estas herramientas son, precisamente, un paquete de
instrucciones especiales llamadas instrucciones avanzadas de programación y que hacen posible la elabora-
ción de programas de control avanzados y que incluso permiten el procesamiento de señales de E/S analógi-
cas para la medición y control de variables físicas y químicas industriales.

El Archivo de Control

Son elementos de 3 palabras, usados con instrucciones de registros de desplazamiento y secuenciadores. Su


estructura se muestra a continuación

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Palabra 0 EN EU DN EM ER UL IN FD No se usan
Palabra 1 Tamaño del conjunto de bits (número de bits)
Palabra 2 Puntero de bit (actualmente no se usa)

La palabra 0 es la palabra de status,


La palabra 1 indica la longitud del dato almacenado, y
La palabra 2 indica la posición

Bits Direccionables:
EN: Enable, bit 15
EU: Unload Enable, bit 14
DN: Done, bit 13
EM: Stack Empty, bit 12
ER: Error, bit 11
UL: Unload, bit 10 (Sólo registradores)
IN: Inhibit, bit 9
FD: Found, bit 8 (Sólo Secuenciadores)

Palabras Direccionables:
LEN: Lenght
POS: Position

5
PROGRAMACIÓN AVANZADA DE PLC´s

El formato de direccionamiento es el siguiente

Formato Significado
R Archivo de control
Elemento: Número de archivo. Por defecto es
Rf:e f el número 6. Pero un número entre
10-255 puede ser utilizado
Palabra: : Delimitador de elemento
Rf:e.s e Número de elemento. Rango 0-255.
Cada elemento tiene 3 palabras
Bit: . Delimitador de palabra
Rf:e.s/b s Número de palabra
/ Delimitador de bit
b Número de bit

Ejemplos:

R6:2 Elemento 2, archivo de control 6


R6:2/15 ó R6:2/EN Bit de habilitación
R6:2/11 ó R6:2/ER Bit de error
R6:2.1 ó R6:2.LEN Valor de longitud
R6:2.1/0 Bit 0 del valor de longitud

El Archivo Entero

Son elementos de una sóla palabra. Son direccionables a nivel de elemento y bit.
Este archivo es utilizado para almacenar valores enteros en el rango de –32768 á +32767

Elemento 0 1 2 3 4 5 6 7 8 9
N7:0 0 0 0 0 0 0 0 0 0 0
N7:10 0 0 0 0 0 0 0 0 0 495
N7:20 0 0 0 0 0 0 0 0 0 0
. . . . . . . . . . .
. . . . . . . . . . .
N7:240 0 0 0 0 0 0 0 0 0 66
N7:250 0 0 0 0 0 0

El elemento 19 tiene un valor decimal de 496


El elemento 249 tiene un valor decimal de 66

El formato de direccionamiento es el siguiente

Formato Significado
N Archivo de entero
Número de archivo. Por defecto es
Elemento: f el número 7. Pero un número entre
Nf:e 10-255 puede ser utilizado
: Delimitador de elemento
e Número de elemento. Rango 0-255.
Bit: Cada elemento tiene 1 palabra.
Nf:e/b / Delimitador de bit
b Número de bit

6
PROGRAMACIÓN AVANZADA DE PLC´s

Ejemplos:

N7:0 Elemento 0, archivo de entero 7


N7:10 Elemento 10, archivo de entero 7
N7:2/15 Bit 15 del elemento 2 del archivo de entero 7
N7:20/0 Bit 0 del elemento 20 del archivo de entero 7

Revisión de Instrucciones Básicas de Programación

Instrucciones tipo Bit (Relé)

Son instrucciones usadas principalmente para programas basados en lógica de relés, registros de desplaza-
miento y secuenciadores.

Set de Instrucciones tipo Relé


Las instrucciones tipo relé se usan también para monitorear y controlar el estado de los bits en la tabla de
datos, tal como los bits de entrada o los bits de palabra de control de un temporizador.

Estas instrucciones operan en un solo bit de datos. Durante la operación, el procesador puede establecer o
restablecer el bit en base a la continuidad lógica de los renglones de escalera.

Se puede direccionar un bit las veces que el programa lo necesite.

Los datos siguientes usan instrucciones de bits:

Los bits en estos archivos: Representan:


Archivos de entrada y salida Salidas y entradas externas
Archivo de estado Varias condiciones tal como se explica en el archi-
vo de estado
Archivo de datos de bits Lógica de relé interna de su programa
Archivos de temporizador, contador y control Varios bits de control para la temporización, la
habilitación, etc.
Archivos de datos de enteros Bits de datos según lo requiera su programa El
máximo tamaño del archivo es 256 elementos de 1
palabra de (de 16 bits) y un total de 4095 bits.
Las instrucciones de bits más usadas son:

La Instrucción XIC (Examine si está cerrado)

7
PROGRAMACIÓN AVANZADA DE PLC´s

Esta instrucción funciona como un bit de entrada o almacenamiento.

Si el bit de memoria correspondiente es un "1" (On), esta instrucción permitirá la continuidad del renglón y
se activarán las salidas

Nota Otros factores podrían afectar la continuidad del renglón.

Si el bit de memoria correspondiente es un "0" (Off), esta instrucción no permitirá la continuidad del renglón
(asume su estado normalmente abierto) y las salidas en el renglón serán desactivadas (otros factores pueden
afectar la continuidad del renglón).

Si se usa como un bit de entrada, su estado debe corresponder al estado de los dispositivos de entrada reales
asociados con la tabla de imagen de entrada mediante las direcciones idénticas.

Ayuda para direccionamiento

Ejemplo: I:2/03

En la dirección del ejemplo:


I indica la tabla de imagen de entrada;
2 representa la ranura dos (decimal);
03 indica el bit tres.

Las direcciones de entrada se especifican al nivel de bits.

La Instrucción XIO (Examine si está abierto)

Esta instrucción (también denominada "examina si Off" o "normalmente cerrado") funciona como un bit de
entrada o almacenamiento.

Si el bit de memoria correspondiente es un "1" (On), esta instrucción no permitirá la continuidad del renglón
y las salidas del renglón serán desactivadas (Nota Otros factores podrían afectar la continuidad del renglón).

Si el bit de memoria correspondiente es un "0" (Off), esta instrucción asume su estado normal y permite la
continuidad del renglón y las salidas del renglón serán activadas.

Otros factores pueden afectar la continuidad del renglón

Si se usa como un bit de entrada, su estado debe corresponder al estado de los dispositivos de entrada reales
asociados con la tabla de imagen de entrada mediante las direcciones idénticas.

8
PROGRAMACIÓN AVANZADA DE PLC´s

La Instrucción OTE (Energice Salida)

Esta instrucción establece el bit especificado cuando se alcanza la continuidad del renglón (el renglón se hace
verdadero). Bajo condiciones normales de operación, si el bit establecido corresponde a un dispositivo de
salida, el dispositivo de salida será activado cuando el renglón se haga verdadero.

Las direcciones de salidas se especifican a nivel de bits.

¡ADVERTENCIA!
Nunca use una dirección de salida en más de un lugar en su programa lógico. Siempre tenga presente la car-
ga representada por una bobina de salida.

Ayuda para direccionamiento

En una dirección de salida, tal como O:4/03:

O indica la tabla de imagen de salida


4 representa la ranura cuatro (decimal)
03 representa el bit tres

La Instrucción OTL (Enganche Salida)

Esta instrucción funciona muy parecido a la instrucción OTE con la excepción que una vez que se establece
un bit con una instrucción OTL, se "enclava" en estado activado. Una vez que un bit OTL se ha establecido
en "ON" (1 en la memoria) permanecerá en "ON" aún si la condición del renglón se hace falsa. El bit debe
restablecerse con una instrucción OTU.

A las instrucciones de enclavamiento y desenclavamiento se les debe asignar la misma dirección en su pro-
grama lógico. Las direcciones de salidas se especifican a nivel de bits.

9
PROGRAMACIÓN AVANZADA DE PLC´s

¡ADVERTENCIA!
Si ocurre una condición de error que detenga el procesamiento, la salida física será desactivada (OFF). Pero
una vez que se borre la condición de error, el controlador continuará la operación con el OTL en el estado
determinado por su valor de la tabla de datos.

Nota: En caso de una pérdida de alimentación eléctrica, los dispositivos de salida controlada por OTL se
activarán al retornar la alimentación eléctrica si el bit OTL estaba establecido cuando ocurrió la pérdida de
alimentación eléctrica.

Ayuda para direccionamiento

En una dirección de salida, tal como O:12/03:


O indica la tabla de imagen de salida
12 representa la ranura doce (decimal)
03 representa el bit tres

Nota: El "12" representa la ranura 12 (La ranura 0 está reservada para el procesador.). Esta podría ser la
última ranura disponible en un chasis de 13 ranuras (0-12), o podría ser la sexta ranura en un chasis #2 si
están interconectados dos chasis de 7 ranuras.

La Instrucción OTU (Desenganche Salida)

Use esta instrucción de salida para desenclavar (restablecer) un bit enclavado (establecido) que fue estableci-
do por una instrucción OTL. La dirección OTU debe ser idéntica a la dirección OTL que originalmente es-
tableció el bit.

¡ADVERTENCIA!
Si ocurre una condición de error que detiene el procesamiento, la salida física será desactivada (OFF). Pero
una vez que se borre la condición de error, el controlador continuará la operación con el OTL en el estado
determinado por su valor de la tabla de datos.

Nota: En caso de una pérdida de alimentación eléctrica, los dispositivos de salida controlada por OTL se
activarán al retornar la alimentación eléctrica si el bit OTL estaba establecido cuando ocurrió la pérdida de
alimentación eléctrica.

10
PROGRAMACIÓN AVANZADA DE PLC´s

La Instrucción OSR (Activar un bit para un escán sólamente)

La instrucción OSR es una instrucción de entrada condicional que activa un evento para que ocurra una vez.
Use la instrucción OSR cuando un evento debe comenzar en base a un cambio de estado del renglón de falso
a verdadero, como activado por un botón pulsador. Un ejemplo sería el uso de la instrucción OSR para in-
movilizar valores LED que se muestran rápidamente.

Coloque la instrucción OSR en un renglón inmediatamente antes de la instrucción de salida. Luego haga
referencia a la salida como un frente en su programa. La dirección que usted da a la instrucción de entrada
OSR es donde se retiene el estado previo del renglón.

Usted debe introducir una dirección de bit para la instrucción OSR. Use una dirección ya sea de archivo
binario o archivo de enteros. La dirección de bit que usted usa debe ser única. No la use en ningún otro
lugar en el programa.

La dirección asignada a la instrucción OSR no es la dirección de única a que hace referencia el programa, ni
indica el estado de la instrucción OSR. Esta dirección permite que la instrucción OSR recuerde el estado
anterior del renglón.

Operación

Cuando las condiciones del renglón que precede a la instrucción OSR pasan de falsas a verdaderas, la ins-
trucción OSR es verdadera durante un escán. Después que se completa un escán, la instrucción OSR se
vuelve falsa, aun cuando las condiciones del renglón que la precede permanezcan verdaderas. La instrucción
OSR vuelve a ser verdadera si hay una transición de falso a verdadero de las condiciones del renglón que la
precede.

2.- INSTRUCCIONES MATEMÁTICAS

Son instrucciones de salida para realizar cálculos usando una expresión o una instrucción aritmética específi-
ca.
En instrucciones matemáticas, si está usando un procesador 5/02, 5/03, 5/04 o MicroLogix, puede usar direc-
ciones indexadas para los parámetros fuente o destino. Si está usando un procesador 5/03 OS302 o un 5/04
OS401, puede usar direcciones indirectas para los parámetros fuente o destino.

11
PROGRAMACIÓN AVANZADA DE PLC´s

Seleccione entre estas instrucciones matemáticas

Si desea Use esta instrucción


Sumar dos valores ADD
Restar dos valores SUB
Multiplicar un valor por otro MUL
Dividir un valor entre otro DIV
Realizar una doble división DDV
Cambiar el signo del valor fuente
y colocarlo en el destino NEG
Establecer en cero todos los bits de una palabra CLR
Convertir un valor entero a BCD TOD
Convertir un valor BCD a un valor entero FRD
Multiplexar datos DCD

Si está usando un procesador 5/02 Serie C o posterior, o un 5/03, 5/04 o MicroLogix (con capacidad de suma
y resta de 32 bits), puede establecer el bit de overflow matemático (S:2/14) en el archivo de estado. Esto hace
que los 16 bits menos significativos, truncados y sin signo permanezcan en el destino.

Si este bit no está establecido y ocurre una condición de overflow o underflow, la operación será la misma
que con un procesador Serie B. La dirección destino tendrá un 32767 (si el resultado es positivo) o -32768
(si el resultado es negativo).

Bits de estado aritmético

Después de ejecutarse una instrucción, se actualizan los bits de estado aritmético en el archivo de estado. Los
bits de estado aritmético están en la palabra 0 bits 0-3 en el archivo de estado del procesador (S2).

Este bit: Descripción:


S:0/0 Acarreo (C)
S:0/1 Overflow (O)
S:0/2 Cero (Z)
S:0/3 Signo (S)

Otros bits/palabras de estado que usted puede monitorizar:

S:5/0 Bit de interrupción por overflow (Bit de error menor) Si este bit se establece durante la ejecu
ción de la instrucción END, TND o REF, se declarará un error mayor (0020)
S:13 Registro matemático (La palabra menos significativa de un valor de 32 bits)
S:14 Registro matemático (La palabra más significativa de un valor de 32 bits)

12
PROGRAMACIÓN AVANZADA DE PLC´s

La Instrucción ADD (Suma)

Descripción

Cuando las condiciones del renglón son verdaderas, esta instrucción de salida suma la Fuente A a la Fuente
B y almacena el resultado en la dirección destino. La Fuente A y la Fuente B pueden ser valores o direccio-
nes que contienen valores; sin embargo, la Fuente A y la Fuente B no pueden ambas ser constantes.

Si está usando un procesador 5/02, 5/03, 5/04 o MicroLogix, puede usar direcciones indexadas para los pa-
rámetros fuente o destino. Si está usando un procesador 5/03 OS302 o un 5/04 OS401, puede usar direccio-
nes indirectas para los parámetros fuente o destino.

¡ADVERTENCIA!

Si el bit de destino recibe un valor menor que -32,768 o mayor que +32,767 (un número que requiere más de
16 bits para representación), el procesador establece S:0/1 (bit de overflow) y S:5/0 (bit de interrupción por
overflow, error mayor 0020). Monitorice el bit S:5/0 en su programa para evitar esta situación potencial-
mente peligrosa.

Si está usando un procesador 5/02 Serie C o posterior, o un 5/03, 5/04 o MicroLogix, puede evitar esta situa-
ción estableciendo un bit de estado. Vea a continuación.

Suma de 32 bits

Si está usando un procesador 5/02 Serie C o posterior, o un 5/03, 5/04 o MicroLogix (con capacidad de suma
y resta de 32 bits), puede establecer el bit de overflow matemático (S:2/14) en el archivo de estado. Esto hace
que los 16 bits menos significativos, truncados y sin signo permanezcan en el destino.
Si este bit no está establecido y ocurre una condición de overflow o underflow, la operación será la misma
que con un procesador 5/02 Serie B. La dirección destino tendrá un 32767 (si el resultado es positivo) o -
32768 (si el resultado es negativo).

13
PROGRAMACIÓN AVANZADA DE PLC´s

La Instrucción SUB (Resta)

Descripción

Cuando las condiciones del renglón son verdaderas, la instrucción de salida SUB resta la Fuente B de la
Fuente A y almacena el resultado en el destino. La Fuente A y la Fuente B pueden ser valores o direcciones
que contienen valores; sin embargo, la Fuente A y la Fuente B no pueden ambas ser constantes.

Si está usando un procesador 5/02, 5/03, 5/04 o MicroLogix, puede usar direcciones indexadas para los pa-
rámetros fuente o destino. Si está usando un procesador 5/03 OS302 o un 5/04 OS401, puede usar direccio-
nes indirectas para los parámetros fuente o destino.

¡ADVERTENCIA!

Si el bit de destino recibe un valor menor que -32,768 o mayor que +32,767 (un número que requiere más de
16 bits para representación), el procesador establece S:0/1 (bit de overflow) y S:5/0 (bit de interrupción por
overflow, error mayor 0020). Monitorice el bit S:5/0 en su programa para evitar esta situación potencial-
mente peligrosa.

Si está usando un procesador 5/02 Serie C o posterior, o un 5/03, 5/04 o MicroLogix, puede evitar esta situa-
ción estableciendo un bit de estado. Vea a continuación.

Resta de 32 bits

Si está usando un procesador 5/02 Serie C o posterior, o un 5/03, 5/04 o MicroLogix (con capacidad de suma
y resta de 32 bits), puede establecer el bit de overflow matemático (S:2/14) en el archivo de estado. Esto hace
que los 16 bits menos significativos, truncados y sin signo permanezcan en el destino.

Si este bit no está establecido y ocurre una condición de overflow o underflow, la operación será la misma
que con un procesador Serie B. La dirección destino tendrá un 32767 (si el resultado es positivo) o -32768
(si el resultado es negativo).

14
PROGRAMACIÓN AVANZADA DE PLC´s

La Instrucción MUL (Multiplicación)

Descripción

Use la instrucción MUL para multiplicar un valor (fuente A) por otro (fuente B) y colocar el resultado en el
destino. La Fuente A y la Fuente B pueden ser valores constantes o direcciones que contienen valores; sin
embargo, la Fuente A y la Fuente B no pueden ambas ser constantes.

Si está usando un procesador 5/02, 5/03, 5/04 o MicroLogix, puede usar direcciones indexadas para los pa-
rámetros fuente o destino. Si está usando un procesador 5/03 OS302 o un 5/04 OS401, puede usar direccio-
nes indirectas para los parámetros fuente o destino.

Si retorna un valor mayor que +32,767 se establece un indicador de error menor, y el valor 32,767 es coloca-
do en el destino. Si está usando un procesador Series C o posterior, 5/02, 5/03, 5/04 o MicroLogix y tiene
establecido el bit S:2/14 (bit de selección de overflow matemático), entonces los 16 bits menos significati-
vos, sin signo y truncados del valor de overflow permanecen en el destino.

El registro matemático contiene el resultado entero de 32 bits con signo de la operación de multiplicación.
Este resultado es válido en el overflow.

La Instrucción DIV (División)

15
PROGRAMACIÓN AVANZADA DE PLC´s

Descripción

Cuando las condiciones del renglón son verdaderas, esta instrucción de salida divide la Fuente A entre la
Fuente B y almacena el resultado en el destino y en el registro matemático. El valor guardado en el destino es
redondeado. El valor guardado en el registro matemático consta del cociente sin redondear (colocado en la
palabra más significativa) y del resto (colocado en la palabra menos significativa).

La Fuente A y la Fuente B pueden ser valores constantes o direcciones que contienen valores; sin embargo,
la Fuente A y la Fuente B no pueden ambas ser constantes.

Si está usando un procesador 5/02, 5/03, 5/04 o MicroLogix, puede usar direcciones indexadas para los pa-
rámetros fuente o destino. Si está usando un procesador 5/03 OS302 o un 5/04 OS401, puede usar direccio-
nes indirectas para los parámetros fuente o destino.

Si retorna un valor mayor que +32,767 se establece un indicador de error menor, y el valor 32,767 es coloca-
do en el destino. Sin embargo, si está usando un procesador Serie C o posterior, 5/02 o 5/03, 5/04 o Micro-
Logix y tiene establecido el bit S:2/14 (bit de selección de overflow matemático), entonces los 16 bits menos
significativos, sin signo y truncados del overflow permanecen en el destino.

Si el resto es 0.5 o mayor, el destino se redondea por exceso. El cociente sin redondear se coloca en la pala-
bra más significativa del registro matemático; el resto es colocado en la palabra menos significativa.

La Instrucción DDV (Doble División)

Descripción

Cuando las condiciones del renglón son verdaderas, esta instrucción de salida divide el contenido del registro
matemático (S:13 y S:14), que contiene 32 bits de datos, entre la fuente (16 bits de datos) y almacena el re-
sultado en el destino y en el registro matemático. El valor guardado en el destino es redondeado. El valor
guardado en el registro matemático consta del cociente sin redondear (colocado en la palabra más significati-
va) y del resto (colocado en la palabra menos significativa).

Si está usando un procesador 5/02, 5/03, 5/04 o MicroLogix, puede usar una direcciones indexadas para el
parámetro destino. Si está usando un procesador 5/03 OS302 o un 5/04 OS401, puede usar direcciones indi-
rectas para los parámetros fuente o destino.

Si retorna un valor mayor que +32,767 se establece un indicador de error menor, y el valor 32,767 es coloca-
do en el destino. Si el resto es 0.5 o mayor, el destino se redondea por exceso.

16
PROGRAMACIÓN AVANZADA DE PLC´s

Operación

El registro matemático inicialmente contiene el dividendo de la operación DDV. Al ejecutarse, el cociente


sin redondear se coloca en la palabra más significativa del registro matemático. El resto se coloca en la pala-
bra menos significativa del registro matemático.

La Instrucción NEG (Negación)

Descripción

Cuando las condiciones del renglón son verdaderas, la instrucción NEG cambia el signo de la fuente y la
coloca en el destino. Los parámetros de fuente y destino deben ser direcciones de palabra.

Si está usando un procesador 5/02, 5/03, 5/04 o MicroLogix, puede usar direcciones de palabra indexada
para los parámetros fuente o destino. Si está usando un procesador 5/03 OS302 o un 5/04 OS401, puede usar
direcciones indirectas para los parámetros fuente o destino.

La Instrucción CLR (Limpiar)

Descripción

Cuando las condiciones del renglón son verdaderas, esta instrucción de salida establece en cero todos los bits
en una palabra. El destino debe ser una dirección de palabra.

17
PROGRAMACIÓN AVANZADA DE PLC´s

Si está usando un procesador 5/02, 5/03, 5/04 o MicroLogix, puede usar una dirección indexada para el pa-
rámetro destino. Si está usando un procesador 5/03 OS302 o un 5/04 OS401, puede usar una dirección indi-
recta para el parámetro destino.

Al ejecutarse esta instrucción, se restablecen todos los bits de estado aritmético.


La Instrucción TOD (Convertir a BCD)

Descripción

Cuando las condiciones del renglón son verdaderas, esta instrucción de salida convierte un valor fuente ente-
ro de 16 bits a BCD y lo almacena en el registro matemático o en el destino.

Si el valor entero que usted introduce es negativo, se ignora el signo y la conversión ocurre como si el núme-
ro fuera positivo. (Es decir, el valor absoluto del número se usa para la conversión.)

Si está usando un procesador 5/02, 5/03, 5/04 o MicroLogix, puede usar direcciones indexadas para los pa-
rámetros fuente o destino. Si está usando un procesador 5/03 OS302 o un 5/04 OS401, puede usar direccio-
nes indirectas para los parámetros fuente o destino.

¡ADVERTENCIA!

Si el registro matemático (S:13 y S:14) se usa como el destino, el valor BCD máximo posible es 32767. Para
valores BCD superiores a 9999, se establece el bit de overflow y también se establece el bit de error menor
S:5/0. Si esto ocurre, use su lógica de escalera para desenclavar S:5/0 antes del final del escán para evitar un
error mayor 0020.

La Instrucción FRD (Convertir desde BCD)

18
PROGRAMACIÓN AVANZADA DE PLC´s

Descripción

Cuando las condiciones del renglón son verdaderas, esta instrucción de salida convierte un valor BCD en el
registro matemático o la fuente a un entero y lo almacena en el destino.
Usted debe convertir un valor BCD a entero antes de manipular esos valores en el programa de escalera por-
que el procesador trata los valores BCD como números enteros. De lo contrario el valor BCD real puede
perderse o distorsionarse.

Si está usando un procesador 5/02, 5/03, 5/04 o MicroLogix, puede usar direcciones indexadas para los pa-
rámetros fuente o destino. Si está usando un procesador 5/03 OS302 o un 5/04 OS401, puede usar direccio-
nes indirectas para los parámetros fuente o destino.

Antes de ejecutar la instrucción FRD proporcione siempre filtros en la lógica de escalera para todos los dis-
positivos de entrada BCD. La más mínima diferencia en la demora del filtro de entrada punto a punto puede
provocar un overflow en la instrucción FRD debido a la conversión de un dígito no BCD.

¡ADVERTENCIA!

Si el registro matemático (S:13 y S:14) se usa como la fuente, y el valor BCD no excede de 4 dígitos, asegú-
rese de borrar la palabra S:14 antes de ejecutar la instrucción FRD. Si S:14 no se borra y aún se encuentra un
valor en esta palabra de otra instrucción matemática, se colocará un valor incorrecto en la palabra de destino.

La Instrucción DCD (Decodificador de 4 á 1 de 16)

Descripción

Use esta instrucción de salida para multiplexar datos para aplicaciones tales como conmutadores rotativos,
teclados, conmutadores en paralelo, etc.

Cuando las condiciones del renglón son verdaderas, la instrucción DCD descodifica un valor de 4 bits (0-16)
en la palabra fuente y activa un bit en la palabra destino que corresponda al valor descodificado . Por ejem-
plo, si los bits 0-3 de una palabra fuente son 0110, entonces se establece el bit 6 en la palabra destino. La
tabla que se muestra a continuación proporciona detalles completos.

19
PROGRAMACIÓN AVANZADA DE PLC´s

Fuente Destino
(Si este valor está en los bits 0-3 de la palabra fuente) (este bit será activado)
Bit 0 Bit 1 Bit 2 Bit 3
0 0 0 0 0
0 0 0 1 1
0 0 1 0 2
0 0 1 1 3
0 1 0 0 4
0 1 0 1 5
0 1 1 0 6
0 1 1 1 7
1 0 0 0 8
1 0 0 1 9
1 0 1 0 10
1 0 1 1 11
1 1 0 0 12
1 1 0 1 13
1 1 1 0 14
1 1 1 1 15

Los bits de estado aritmético no son afectados por esta instrucción y el registro matemático no es cambiado.

Introducción de parámetros

Si está usando un procesador 5/02, 5/03 o 5/04, puede usar direcciones indexadas para los parámetros fuente
o destino. Si está usando un procesador 5/03 OS302 o un 5/04 OS401, puede usar direcciones indirectas
para los parámetros fuente o destino.

Fuente - la dirección que contiene la información de descodificación del bit. Sólo se usan los primeros cua-
tro bits (0-3). Los bits restantes pueden ser usados para necesidades específicas de otra aplicación. Cambie
el valor de los primeros cuatro bits de esta palabra para seleccionar un bit en la palabra de destino.

Destino - la dirección de la palabra a ser descodificada. Sólo un bit de esta palabra es activado a la vez, de-
pendiendo del valor de la palabra fuente.

3.- INSTRUCCIONES LOGICAS Y DE MOVIMIENTO

Son instrucciones de salida que permiten realizar operaciones lógicas y de movimiento en palabras
individuales.

Con las instrucciones de transferencia y lógicas, si está usando un procesador 5/02, 5/03, 5/04 o MicroLogix,
puede usar direcciones indexadas para parámetros de instrucción que especifiquen direcciones de palabra. Si
está usando un procesador 5/03 OS302 o un procesador 5/04 OS401, puede usar direcciones indirectas en los
parámetros.

20
PROGRAMACIÓN AVANZADA DE PLC´s

Seleccione entre estas instrucciones

Si desea Use esta instrucción


Mover el valor fuente al destino MOV
Mover datos desde una ubicación fuente
a una porción seleccionada del destino MVM
Ejecutar una operación AND (Y) AND
Ejecutar una operación OR (O inclusivo) OR
Ejecutar una operación XOR (O exclusivo) XOR
Ejecutar una operación NOT (NO) NOT

Uso de los bits de estado aritmético

Después de ejecutarse una instrucción, se actualizan los bits de estado aritmético en el archivo de estado. Los
bits de estado aritmético están en la palabra 0 bits 0-3 en el archivo de estado del procesador (S2).
Este bit Descripción

S:0/0 Acarreo (C)


S:0/1 Overflow (O)
S:0/2 Cero (Z)
S:0/3 Signo (S)

Otro bit que usted querrá monitorizar en su programa es el bit de interrupción por overflow. Si este bit se
establece durante la ejecución de una instrucción END, TND, o REF, se declarará un error mayor (0020).
S:5/0 Bit de interrupción por overflow (Bit de error menor)
Las instrucciones de transferencia y lógicas no afectan el registro matemático.

La Instrucción MOV (Mover)

Descripción

Cuando las condiciones del renglón que precede a esta instrucción son verdaderas, la instrucción MOV mue-
ve una copia de la fuente al destino en cada escán. El valor original permanece intacto y sin cambio en su
ubicación fuente.

21
PROGRAMACIÓN AVANZADA DE PLC´s

Si está usando un procesador 5/02, 5/03, 5/04 o MicroLogix, puede usar direcciones indexadas para los pa-
rámetros fuente o destino. Si está usando un procesador 5/03 OS302 o un 5/04 OS401, puede usar direccio-
nes indirectas para los parámetros fuente o destino.

Fuente - Esta es la dirección de los datos que usted desea mover. La fuente puede ser una constante.

Destino - Esta es la dirección que identifica a dónde se van a mover los datos.

Nota Si desea mover una palabra de datos sin afectar los indicadores matemáticos, use una instrucción
Copiar (COP) con una longitud de 1 palabra en lugar de la instrucción MOV.

La Instrucción MVM (mover con Máscara)

Descripción

Cuando las condiciones del renglón son verdaderas, la instrucción MVM mueve datos de una ubicación
fuente a un destino y permite que porciones de los datos de destino tengan máscara mediante una palabra
separada. Los datos en la dirección fuente pasan a través de la máscara a la dirección destino. Siempre y
cuando el renglón permanezca verdadero, la instrucción mueve los mismos datos en cada escán.

Si está usando un procesador 5/02, 5/03, 5/04 o MicroLogix, puede usar direcciones indexadas para los pa-
rámetros fuente, máscara o destino. Si está usando un procesador 5/03 OS302 o un 5/04 OS401, puede usar
direcciones indirectas para los parámetros fuente, máscara o destino.

Introducción de parámetros

Fuente - la dirección de los datos que usted desea mover.


Máscara - la dirección de la máscara mediante la cual la instrucción transfiere los datos. La máscara puede
ser un valor hexadecimal. Puede introducir el valor en binario, decimal o hexadecimal. RSLogix500 hará la
conversión necesaria y mostrará el valor hexadecimal en pantalla. Haga clic aquí para obtener un ejemplo
que muestre cómo introducir el valor de Máscara usando valores hexadecimales, binarios o decimales.

22
PROGRAMACIÓN AVANZADA DE PLC´s

Destino - la dirección a dónde la instrucción mueve los datos.


La máscara actúa como un filtro para el destino. El patrón de caracteres en la máscara determina qué bits
pasarán de la fuente al destino y qué bits tendrán máscara. Sólo los bits en la máscara que están establecidos
(1) pasarán datos al destino.

Por ejemplo:

Si antes de mover, la dirección destino contiene: 0000000000000000


y los valores de bit en la palabra fuente son: 1111000011110000
y el establecimiento de los bits en la dirección de máscara es: 0000000011111111
después de mover, el destino tendrá: 0000000011110000

Tome nota que, en el ejemplo, los bits en la máscara que están restablecidos no pasan datos al destino. Sólo
los bits en la máscara que están establecidos (1) pasan datos de la fuente.

La Instrucción AND (Operador Lógico Y)

Descripción

Cuando las condiciones del renglón son verdaderas, las fuentes A y B de esta instrucción de salida son inter-
sectadas bit por bit y el resultado se almacena en el destino.

Las fuentes A y B pueden ser direcciones de palabra o constantes; sin embargo, ambas fuentes no pueden ser
constantes. Dependiendo del tipo de procesador que esté usando, en esta instrucción puede usar direcciona-
miento indexado o indirecto.

El Destino debe ser una dirección de palabra.

Tabla de verdad de la instrucción AND


FUENTE A FUENTE B DEST

0 0 0
0 1 0
1 0 0
1 1 1

23
PROGRAMACIÓN AVANZADA DE PLC´s

La Instrucción (Operador Lógico O)

Descripción

Cuando las condiciones del renglón son verdaderas, las fuentes A y B de la instrucción OR se someten a la
instrucción O exclusivo, bit a bit y el resultado se almacena en el destino. Las fuentes A y B pueden ser
direcciones de palabra o constantes; sin embargo, ambas fuentes no pueden ser constantes. Puede introducir
una constante o una dirección de palabra para los parámetros fuente. El destino debe ser una dirección de
palabra.

Si está usando un procesador 5/02, 5/03, 5/04 o MicroLogix, puede usar direcciones indexadas para los pa-
rámetros fuente o destino. Si está usando un procesador 5/03 OS302 o un 5/04 OS401, puede usar direccio-
nes indirectas para los parámetros fuente o destino.

Tabla de verdad de la instrucción OR

FUENTE A FUENTE B DEST

0 0 0
0 1 1
1 0 1
1 1 1

La Instrucción XOR (Operador Lógico O-Exclusivo)

24
PROGRAMACIÓN AVANZADA DE PLC´s

Descripción

Cuando las condiciones del renglón son verdaderas, las fuentes A y B de la instrucción XOR se someten a la
instrucción O exclusivo, bit a bit y el resultado se almacena en el destino. Las fuentes A y B pueden ser di-
recciones de palabra o constantes; sin embargo, ambas fuentes no pueden ser constantes. Los valores de pun-
to (coma) flotante deben estar dentro del rango de [-102943.7, +102943.7].

En esta instrucción puede usar direccionamiento indexado o indirecto.

Tabla de verdad de la instrucción XOR

FUENTE A FUENTE B DEST

0 0 0
0 1 1
1 0 1
1 1 0
La Instrucción NOT (Operador Lógico No)

Descripción

Cuando las condiciones del renglón son verdaderas, la fuente de la instrucción NOT es sometida a la opera-
ción lógica No, bit a bit y almacenada en el destino.

La fuente y el destino deben ser direcciones de palabra.

Si está usando un procesador 5/02, 5/03, 5/04 o MicroLogix, puede usar direcciones indexadas para los pa-
rámetros fuente o destino. Si está usando un procesador 5/03 OS302 o un 5/04 OS401, puede usar direccio-
nes indirectas para los parámetros fuente o destino.

Tabla de verdad de la instrucción OR

FUENTE DEST

0 1
1 0

25
PROGRAMACIÓN AVANZADA DE PLC´s

4.- INSTRUCCIONES DE ARCHIVO

Use estas instrucciones para modificar archivos existentes copiando en ellos datos de archivo de otros archi-
vos o llenando un archivo seleccionado con datos de fuente específicos.
Seleccione entre estas instrucciones de archivos

Si desea Use esta instrucción


Copiar datos de una ubicación
de archivo a otra COP

Cargar un archivo con una constante


de programa o un valor de una
dirección de elemento FLL

En estas instrucciones el tipo de archivo de destino determina el número de palabras que una instrucción
transfiere. Por ejemplo, si el tipo de archivo destino es contador y el tipo de archivo fuente es enteros, se
transfieren tres palabras de enteros por cada elemento en el archivo tipo contador.

En los procesadores SLC 5/02, 5/03, 5/04, y MicroLogix, después de la ejecución de una instrucción COP o
FLL, el registro de índice (S:24) se borra a cero. Este es el registro que contiene el valor de offset que se usa
con las direcciones indexadas.

La Instrucción COP (Copiar Archivo)

Descripción

Cuando las condiciones del renglón son verdaderas para esta instrucción de salida, un archivo fuente defini-
do por el usuario es copiado a un archivo destino.
La instrucción COP no usa bits de estado. Si necesita un bit de habilitación, programe una salida paralela
que use una dirección de almacenamiento.
Los elementos de fuente y destino pueden ser de un tipo diferente; sin embargo, el tipo de archivo destino
determina cuántas palabras de datos serán transferidas.

Nota Si su destino es un temporizador, contador o archivo de control, asegúrese de que las palabras fuente
que correspondan a las palabras de estado de su archivo destino contengan ceros.

Asegúrese de que los archivos FUENTE y DEST (destino) contengan por lo menos el número de elementos
especificado en la LONGITUD. Además, tenga cuidado de evitar copiar datos a elementos que ya contengan
los datos necesarios para otras operaciones.

26
PROGRAMACIÓN AVANZADA DE PLC´s

Introducción de parámetros

Fuente - la dirección del archivo que usted desea copiar. Use el indicador de archivo (#) en la dirección.
Cuando utiliza un procesador SLC 5/03 OS301, OS302 o SLC 5/04 OS401, los valores en punto (coma)
flotante o de cadena son compatibles.
Destino - la dirección inicial donde se copia el archivo fuente. Use el indicador de archivo (#) en la direc-
ción. Cuando utiliza un procesador SLC 5/03 OS301, OS302 o SLC 5/04 OS401, los valores en punto (co-
ma) flotante o de cadena son compatibles.

Longitud - el número de elementos en el archivo que desea copiar. Por ejemplo, un temporizador es un solo
elemento que usa 3 palabras - la palabra de control (estado), la palabra de valor preseleccionado y la palabra
del acumulador. (Si el tipo de archivo destino tiene 1 palabra por elemento, usted puede especificar una lon-
gitud máxima de 128 palabras. Si el destino es un archivo de temporizador (3 palabras por temporizador),
puede especificar una longitud máxima de 42 elementos (3 x 42 = 126). En este caso 2 palabras quedarían
sin usar.

¡ADVERTENCIA!

Cuando se usan instrucciones de archivo y también direccionamiento indexado, ambas aplicaciones almace-
nan un valor en la palabra de estado S:24. Asegúrese de monitorizar y/o cargar el valor de offset correcto
antes de usar una dirección indexada. De lo contrario, podría producirse una operación impredecible ocasio-
nando posibles lesiones personales y/o daño al equipo.

La Instrucción FLL (Llenar archivo)

Descripción

Esta instrucción de salida llena las palabras de un archivo con un valor fuente. La fuente permanece sin
cambio. Todos los elementos en el valor fuente (típicamente una constante de programa) se envían al archi-
vo destino cada vez que la lógica del renglón se hace verdadera. Los elementos se llenan en orden ascenden-
te hasta llegar al número de elementos (longitud que usted introduce).

El tipo de archivo destino determina el número de palabras por elemento que la instrucción transfiere. Por
ejemplo, si el tipo de archivo destino es contador y el tipo de archivo fuente es enteros, se transfieren tres
palabras de enteros por cada elemento en el archivo tipo contador.

La instrucción FLL no escribe más allá de los límites del archivo. Todos los datos de overflow se pierden.
Además, no ocurre ninguna conversión de datos si los archivos fuente y destino son de tipos diferentes, use
el mismo tipo de archivo para cada uno.

27
PROGRAMACIÓN AVANZADA DE PLC´s

Introducción de parámetros

Fuente - la constante del programa o la dirección del elemento. El indicador de archivo (#) no es necesario
para una dirección de elemento. Cuando utiliza un procesador SLC 5/03 OS301, OS302 o SLC 5/04 OS401,
los valores en punto (coma) flotante o de cadena son compatibles.

Destino - la dirección del archivo destino. La instrucción escribe sobre los datos ya almacenados en el desti-
no. Cuando utiliza un procesador SLC 5/03 OS301, OS302 o SLC 5/04 OS401, los valores en punto (coma)
flotante o de cadena son compatibles.

Longitud - el número de elementos en el archivo que desea llenar. Si el tipo de archivo destino tiene 3 pala-
bras por elemento, puede especificar una longitud máxima de 42. Si el tipo de archivo destino tiene 1 pala-
bra por elemento, usted puede especificar una longitud máxima de 128 palabras.

Cuando utilice el controlador MicroLogix, consulte la tabla siguiente para obtener la longitud permitida.

Tipo de archivo de destino Longitud máxima


Salida 1
Entrada 2
Estado 33
Bit 32
Temporz 40
Contador 32
Control 16
Entero 105

Los elementos se copian desde el archivo fuente especificado a un archivo destino especificado, cada escán
en que el renglón es verdadero. Se copian (en orden ascendente sin transformación de los datos) hasta el
número especificado o hasta llegar al último elemento del archivo destino, lo que ocurra primero.

Asegúrese de especificar correctamente la dirección inicial y la longitud del bloque de datos que va a copiar.
La instrucción no escribirá más allá de un límite de archivo (tal como entre los archivos N16 y N17) en el
destino. El overflow se perdería. Sin embargo, la instrucción leerá más allá de un límite de archivo (tal como
entre N16 y N17) en la fuente. Tenga mucho cuidado si el número de palabras por elemento de los archivos
fuente y destino son diferentes.

Puede ejecutar desplazamientos de archivos especificando una dirección de elemento fuente uno o más ele-
mentos mayor que la dirección de elemento destino dentro del mismo archivo. Esto desplaza datos a direc-
ciones de elemento menores. Puede usar esta técnica para almacenar datos de eventos de la línea de ensam-
blaje en vez de usar las instrucciones de carga/descarga FIFO.

5.- INSTRUCCIONES DE REGISTROS DE DESPLAZAMIENTO

Instrucciones de Desplazamiento de Bit, FIFO Y LIFO

Son instrucciones de salida que permiten desplazar bits a través de un arreglo y a la vez ir cargando y des-
cargando los bits de inicio y fin de dicho arreglo.

No todas estas instrucciones están disponibles en todos los procesadores SLC. Consulte la información so-
bre la instrucción específica para ver si la puede usar en su aplicación.

28
PROGRAMACIÓN AVANZADA DE PLC´s

Seleccione entre estas instrucciones

Si desea Use estas instrucciones


Cargar y descargar datos un bit cada vez en un BSL, BSR
conjunto de bits
Cargar palabras a un archivo y descargarlas en el FFL, FFU (FIFO)
mismo orden (primero en entrar, primero en salir)
Cargar palabras a un archivo y descargarlas en LFL, LFU (LIFO)
orden inverso (primero en entrar, último en salir)

Todas estas instrucciones alteran el contenido del registro de índice S:24. Este es el registro que contiene el
valor de offset que se usa con las direcciones indexadas. Consulte la información sobre la instrucción especí-
fica para obtener más detalles.

La instrucción BSL [Desplazamiento a la izquierda]

Se usa con los procesadores Ejemplo de la instrucción

SLC 5/01, Compacto


SLC 5/02
SLC 5/03
SLC 5/04
MicroLogix

(Los parámetros mostrados son ejem-


plos solamente, sus datos serán diferen-
tes.)

Descripción
En cada transición de falso a verdadero, esta instrucción de salida carga un bit de datos en un conjunto de
bits, desplaza a la izquierda el patrón de datos en el conjunto y descarga el bit final de datos.
Un ejemplo del uso de esta instrucción puede ser el seguimiento de botellas en una línea de embotellado
donde cada bit representa una botella.
Para una operación continua, establezca la posición de la dirección de bit en el último bit del conjunto o al bit
UL (descarga), según corresponda.

Introducción de parámetros

Dependiendo del tipo de procesador que esté usando puede usar direccionamiento indexado o indirecto para
representar direcciones en esta instrucción.
Para programar una instrucción BSL introduzca los siguientes parámetros:

Archivo - ésta es la dirección del conjunto de bits que usted desea desplazar. Tiene que usar el indicador de
archivo (#) en la dirección del conjunto de bits. Debe comenzar el conjunto en un límite de elemento de 16
bits, por ejemplo, use el bit 0 del elemento #1, 2, 3, etc.

29
PROGRAMACIÓN AVANZADA DE PLC´s

Control - Esta es la dirección única de la estructura de control (48 bits, 3 palabras de 16 bits) en el área de
control de la memoria que almacena los bits de estado de la instrucción, el tamaño del conjunto (en número
de bits) y el puntero de bit (actualmente no se usa).

El elemento de control:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Palabra 0 EN DN ER UL No se usan
Palabra 1 Tamaño del conjunto de bits (número de bits)
Palabra 2 Puntero de bit (actualmente no se usa)

¡ADVERTENCIA!
No use la misma dirección de control para más de una instrucción. La duplicación de estas direcciones
podría resultar en una operación impredecible, causando posiblemente daño al equipo y/o lesiones al per-
sonal.

Direcc de bit - la ubicación del bit que será añadido al conjunto.

Longitud - el número total de bits a ser desplazados por la instrucción BSL. Los bits ubicados a la izquierda
del último bit en el conjunto hasta el límite de la siguiente palabra no pueden usarse.
Bits de estado de la palabra de control

10 = Bit UL (descarga)
11 = Bit ER (error)
13 = Bit DN (efectuado)
15 = Bit EN (habilitación)

Nota La operación de desplazamiento pone el registro de índice a cero. Si usa direccionamiento indexado
en su programa, asegúrese de cargar el valor de offset correcto en S:24 después de la ejecución de desplaza-
miento.

La instrucción BSR [Desplazamiento a la derecha]

Se usa con los procesadores Ejemplo de la instrucción

SLC 5/01, Compacto


SLC 5/02
SLC 5/03
SLC 5/04
MicroLogix

(Los parámetros mostrados son ejem-


plos solamente, sus datos serán diferen-
tes.)

Descripción
En cada transición de falso a verdadero, esta instrucción de salida carga un bit de datos en un conjunto de
bits, desplaza hacia la derecha el patrón de datos en el conjunto y descarga el bit final de datos.
Un ejemplo del uso de esta instrucción puede ser el seguimiento de botellas en una línea de embotellado
donde cada bit representa una botella.

30
PROGRAMACIÓN AVANZADA DE PLC´s

Introducción de parámetros
Dependiendo del tipo de procesador que esté usando puede usar direccionamiento indexado o indirecto para
representar direcciones en esta instrucción.

Para programar una instrucción BSR introduzca los siguientes parámetros:


Archivo - ésta es la dirección del conjunto de bits que usted desea desplazar. Tiene que usar el indicador de
archivo (#) en la dirección del conjunto de bits. Debe comenzar el conjunto en un límite de elemento de 16
bits, por ejemplo, use el bit 0 del elemento #1, 2, 3, etc.

Control - Esta es la dirección única de la estructura de control (48 bits, 3 palabras de 16 bits) en el área de
control de la memoria que almacena los bits de estado de la instrucción, el tamaño del conjunto (en número
de bits) y el puntero de bit (actualmente no se usa).

El elemento de control:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Palabra 0 EN DN ER UL No se usan
Palabra 1 Tamaño del conjunto de bits (número de bits)
Palabra 2 Puntero de bit (actualmente no se usa)

¡ADVERTENCIA!
No use la misma dirección de control para más de una instrucción. La duplicación de estas direcciones
podría resultar en una operación impredecible, causando posiblemente daño al equipo y/o lesiones al per-
sonal.

Dirección de bit - la ubicación del bit que será añadido al conjunto.

Longitud - el número total de bits a ser desplazados por la instrucción BSR. Los bits ubicados a la derecha
del último bit en el conjunto, hasta el límite de la siguiente palabra no pueden usarse.
Bits de estado de la palabra de control

10 = Bit UL (descarga)
11 = Bit ER (error)
13 = Bit DN (efectuado)
15 = Bit EN (habilitación)

Nota La operación de desplazamiento borra el registro de índice a cero. Si usa direccionamiento indexado
en su programa, asegúrese de cargar el valor de offset correcto en S:24 después de la ejecución de desplaza-
miento.

31
PROGRAMACIÓN AVANZADA DE PLC´s

Las Instrucciones FFL/FFU [Carga/descarga primero en entrar, primero en salir]

Se usa con los procesadores Ejemplo de la instrucción

SLC 5/02
SLC 5/03
SLC 5/04
MicroLogix

(Los parámetros mostrados son ejem-


plos solamente, sus datos serán diferen-
tes.)

Descripción
Las instrucciones de salida FFL y FFU se usan en parejas. La instrucción FFL carga palabras en un archivo
creado por el usuario llamado pila FIFO al haber transiciones sucesivas de falso a verdadero de los renglones
que controlan la lógica de entrada. La instrucción FFU (Descarga FIFO) descarga palabras de la pila FIFO
en el mismo orden en que entraron.

Esta instrucción es útil en aplicaciones donde es necesario cargar y descargar valores en el mismo orden. Un
ejemplo podría ser el seguimiento de piezas a través de una línea de ensamblaje, donde las piezas son
representadas por valores que tienen un número de pieza y un código de ensamblaje.

Si está usando un procesador 5/02, 5/03, 5/04 o MicroLogix, puede usar direcciones indexadas para los pa-
rámetros fuente o destino. Si está usando un procesador 5/03 OS302 o un 5/04 OS401, puede usar direccio-
nes indirectas para los parámetros fuente o destino.

Introducción de parámetros

Fuente - una dirección de palabra o constante de programa (-32768 a 32767) que almacena el siguiente valor
que será introducido en la pila FIFO. La instrucción FFL coloca este valor en el siguiente elemento disponi-
ble en la pila FIFO.
Destino - una dirección de palabra que almacena el valor que sale de la pila FIFO. La instrucción FFU des-
carga este valor de la pila y lo coloca en esta dirección de palabra.
FIFO - la dirección de la pila. Debe ser una dirección de palabra indexada en el archivo de entrada, salida,
estado, de bits o enteros. La misma dirección se programa para las instrucciones FFL y FFU.

Longitud - el número máximo de elementos en la pila, hasta un máximo de 128 palabras. El mismo número
es programado para las instrucciones FFL y FFU.

Posición - la siguiente ubicación disponible donde la instrucción carga los datos en la pila. Este valor cam-
bia después de cada operación de carga o descarga. El mismo número se usa para las instrucciones FFL y
FFU.

Control - una dirección de archivo de control. En este elemento se almacenan los bits de estado, la longitud
de la pila y el valor de posición. La misma dirección se programa para las instrucciones FFL y FFU.

32
PROGRAMACIÓN AVANZADA DE PLC´s

El elemento de control:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Palabra 0 EN EU DN EM
Palabra 1 Longitud
Palabra 2 Posición

¡ADVERTENCIA!

Excepto cuando empareje instrucciones de pila, no use la misma dirección de control para ninguna otra
instrucción. Podría resultar en una operación inesperada con posible daño al equipo y/o lesiones perso-
nales.

Los bits de estado en el elemento de control incluyen:

12 = Bit EM (vacío)
13 = Bit DN (efectuado)
14 = Bit EU (habilitación FFU)
15 = Bit EN (habilitación FFL)

Nota Cualquier valor de offset presente en S:24 es sobrescrito con el valor de posición cuando ocurre una
transición de falso a verdadero del renglón FFL o FFU. Si usa direccionamiento indexado dentro de su pro-
grama, asegúrese de cargar el valor de offset correcto en S:24 después de una ejecución FIFO.

En una FFU, S:24 retiene la posición de salida.


En una FFL S:24 retiene la posición de entrada.

Las Instrucciones LFL/LFU [Carga/descarga, último en entrar, primero en salir]

Se usa con los procesadores Ejemplo de la instrucción

SLC 5/02
SLC 5/03
SLC 5/04
MicroLogix

(Los parámetros mostrados son ejem-


plos solamente, sus datos serán diferen-
tes.)

33
PROGRAMACIÓN AVANZADA DE PLC´s

Descripción
Las instrucciones LFL y LFU se usan en parejas. La instrucción LFL carga palabras en un archivo creado
por el usuario (34 palabras como máximo) llamado una pila LIFO en transiciones sucesivas de falso a verda-
dero de los renglones que controlan la lógica de entrada. Cuando la pila se llena se establece el bit DN, in-
hibiendo más cargas.

En una transición de renglón de falso a verdadero, la instrucción LFU (Descarga LIFO) selecciona el último
dato que se cargó en la pila y descarga ese dato primero. Cuando la pila está vacía, el procesador establece el
bit de vacío (EM).

Si está usando un procesador 5/02, 5/03, 5/04 o MicroLogix, puede usar direcciones indexadas para los pa-
rámetros fuente o destino. Si está usando un procesador 5/03 OS302 o un 5/04 OS401, puede usar direccio-
nes indirectas para los parámetros fuente o destino.

Introducción de parámetros

Fuente - una dirección de palabra o constante de programa (-32768 a 32767) que almacena el siguiente valor
que será introducido en la pila LIFO. La instrucción LFL coloca este valor en el siguiente elemento disponi-
ble en la pila LIFO.

Destino - una dirección de palabra que almacena el valor que sale de la pila LIFO. La instrucción LFU des-
carga este valor de la pila y lo coloca en esta dirección de palabra.

LIFO - la dirección de la pila. Debe ser una dirección indexada de palabra en el archivo de entrada, salida,
bits o enteros. La misma dirección se programa para las instrucciones LFL y LFU.

Longitud - el número máximo de elementos en la pila, hasta un máximo de 128 palabras. El mismo número
es programado para las instrucciones LFL y LFU.

Posición - la siguiente ubicación disponible donde la instrucción carga los datos en la pila. Este valor cam-
bia después de cada operación de carga o descarga. El mismo número se usa para las instrucciones LFL y
LFU.

Control - una dirección de archivo de control. En este elemento se almacenan los bits de estado, la longitud
de la pila y el valor de posición. La misma dirección se programa para las instrucciones LFL y LFU.

El elemento de control:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Palabra 0 EN EU DN EM
Palabra 1 Longitud
Palabra 2 Posición

¡ADVERTENCIA!

Excepto cuando empareje instrucciones de pila, no use la misma dirección de control para ninguna otra
instrucción. Podría resultar en una operación inesperada con posible daño al equipo y/o lesiones persona-
les.

34
PROGRAMACIÓN AVANZADA DE PLC´s

Los bits de estado en el elemento de control incluyen:

12 = Bit EM (vacío)
13 = Bit DN (efectuado)
14 = Bit EU (habilitación LFU)
15 = Bit OV (habilitación LFL)

Cualquier valor de offset presente en S:24 es sobrescrito con el valor de posición cuando ocurre una transi-
ción de falso a verdadero del renglón LFL o LFU. Si usa direccionamiento indexado dentro de su programa,
asegúrese de cargar el valor de offset correcto en S:24 después de una ejecución LIFO.
En una LFU, S:24 retiene la posición de salida.
En una LFL S:24 retiene la posición de entrada.

6.- INSTRUCCIONES DE SECUENCIADORES

Las instrucciones de secuenciador se usan típicamente para controlar máquinas de ensamblaje automático
que tienen una operación constante y repetible. Use la instrucción de secuenciador de entrada para detectar
si se completó un paso, use la instrucción de secuenciador de salida para establecer condiciones de salida
para el paso siguiente. Use la instrucción de carga del secuenciador para cargar condiciones de referencia al
archivo de entrada del secuenciador.

La ventaja principal de las instrucciones de secuenciador es la conservación de la memoria del programa.


Estas instrucciones monitorizan y controlan múltiplos de 16 salidas discretas a la vez en un sólo renglón.

Si desea : Use esta instrucción :


Transferir datos de 16 bits a direccio- SQO
nes de palabra
Comparar datos de 16 bits con datos SQC
almacenados
Cargar datos de 16 bits en un archivo SQL(no se usa con procesadores 5/01,
Compacto)

Con las instrucciones de secuenciador puede usar archivos de enteros definidos por el usuario o archivos de
bits. Si su aplicación requiere más de 16 bits, use múltiples instrucciones de secuenciador en paralelo.
Puede programar los archivos que desee dentro de otro archivo. Sin embargo, tenga cuidado para que los
archivos no se superpongan.

Las instrucciones de secuenciador alteran el contenido del registro de índice (S:24). Para obtener detalles,
vea las instrucciones específicas.

35
PROGRAMACIÓN AVANZADA DE PLC´s

La Instrucción SQL [Secuenciador deCarga]

Se usa con los procesadores Ejemplo de la instrucción

SLC 5/02
SLC 5/03
SLC 5/04
MicroLogix

(Los parámetros mostrados son ejem-


plos solamente, sus datos serán diferen-
tes.)

Descripción
En transiciones sucesivas de falso a verdadero, la instrucción SQL se mueve un paso en el archivo secuen-
ciador, cargando una palabra de los datos fuente al elemento actual del archivo secuenciador. La fuente de
estos datos puede ser una dirección de palabra para almacenar E/S, una dirección de archivo o una constante
de programa.

En esta instrucción puede usar direccionamiento indexado o indirecto.

Introducción de parámetros

Archivo - Esta es la dirección del archivo secuenciador. Asegúrese de usar el indicador de archivo (#). Este
archivo almacena los datos de referencia para la monitorización de entradas.

Fuente - Esta puede ser una dirección de palabra, dirección de archivo o una constante de programa (-32768
a 32767). Si la fuente es la dirección de un archivo, la longitud del archivo es igual a la longitud del archivo
de carga del secuenciador. Los dos archivos avanzarán automáticamente, de acuerdo al valor de posición.

Control - Esta es la dirección del archivo de control, el elemento de control (3 palabras) que almacena el byte
de estado de la instrucción, la longitud del archivo y la posición en el archivo. No use esta dirección para
ninguna otra instrucción. Los bits de estado en el archivo de control incluyen:
11 = ER (bit de error)
13 = DN (bit de efectuado)
15 = EN (bit de habilitación)

El elemento de control:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Palabra 0 EN DN ER
Palabra 1 Longitud del archivo secuenciador
Palabra 2 Posición

36
PROGRAMACIÓN AVANZADA DE PLC´s

Longitud - El número de pasos del archivo secuenciador comenzando en la posición 1. Máximo = 255 pala-
bras (104 palabras cuando se utiliza el controlador MicroLogix). Posición 0 es la posición inicial. La ins-
trucción se restablece (retorna) a la posición 1 cada vez que se completa el ciclo.

Posición - La ubicación de palabra o paso en el archivo secuenciador a donde los datos se transfieren. Un
valor de posición que apunta más allá del archivo programado produce un error grave de tiempo de ejecu-
ción.

La Instrucción SQO [Secuenciador de salida]

Se usa con los procesadores Ejemplo de la instrucción

SLC 5/01, Compacto


SLC 5/02
SLC 5/03
SLC 5/04
MicroLogix

(Los parámetros mostrados son ejem-


plos solamente, sus datos serán diferen-
tes.)

Descripción

Utilice la instrucción SQO con la instrucción SQC para transferir 16 bits de datos a direcciones de palabra
para controlar las operaciones de máquina secuenciales.

En transiciones sucesivas de falso a verdadero, la instrucción SQO se mueve un paso en el archivo secuen-
ciador programado, transfiriendo datos del paso mediante una máscara a la palabra destino. El bit de efec-
tuado se establece cuando se transfiere la última palabra del archivo secuenciador. En la siguiente transición
de falso a verdadero, la instrucción restablece la posición al paso uno.

En esta instrucción, puede usar direccionamiento indexado o indirecto para representar direcciones.
Puede usar la instrucción de restablecer (RES) para restablecer un secuenciador. Todos los bits de control
(excepto FD) se restablecerán en cero. La posición también se restablecerá en cero. Programe la dirección
de su registro de control en la instrucción RES

Introducción de parámetros

Archivo - Esta es la dirección del archivo secuenciador. Asegúrese de usar el indicador de archivo (#). Este
archivo almacena los datos de referencia para la monitorización de entradas.

Máscara - Un código hexadecimal o la dirección de la palabra o archivo de máscara mediante el cual la ins-
trucción transfiere datos. Si la máscara es un archivo, su longitud será igual a la longitud del archivo secuen-
ciador. Los dos archivos tienen seguimiento automático.

Puede introducir el código en binario, decimal o hexadecimal. RSLogix500 hará la conversión necesaria y
mostrará el valor hexadecimal en pantalla. Haga clic aquí para obtener un ejemplo que muestre cómo
introducir el valor de Máscara usando valores hexadecimales, binarios o decimales.

37
PROGRAMACIÓN AVANZADA DE PLC´s

Destino - La dirección de la palabra o archivo de salida para una instrucción SQO a donde la instrucción
transfiere datos desde su archivo secuenciador.
Control - La dirección y elemento de control (3 palabras) de la instrucción que almacena el byte de estado de
la instrucción, la longitud del archivo y la posición en el archivo. No use esta dirección para ninguna otra
instrucción. Los bits de estado en el archivo de control incluyen:
11 = ER (bit de error)
13 = DN (bit de efectuado)
15 = EN (bit de habilitación)

El elemento de control:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Palabra 0 EN DN ER
Palabra 1 Longitud del archivo secuenciador
Palabra 2 Posición

Longitud - El número de pasos del archivo secuenciador comenzando en la posición 1. Máximo = 255 pala-
bras (104 palabras cuando se utiliza el controlador MicroLogix). Posición 0 es la posición inicial. La ins-
trucción se restablece (retorna) a la posición 1 cada vez que se completa el ciclo. Por ejemplo, el colocar un
6 en este parámetro significa 6 elementos más allá de la dirección inicial (total de 7 elementos). Un valor de
longitud que apunta más allá del final del archivo programado produce un error grave de tiempo de ejecu-
ción.

Posición - La ubicación de palabra o paso en el archivo secuenciador desde donde la instrucción transfiere
datos. Un valor de posición que apunta más allá del archivo programado produce un error grave de tiempo
de ejecución.

La Instrucción SQC [Secuenciador de comparación]

Se usa con los procesadores Ejemplo de la instrucción

SLC 5/01, Compacto


SLC 5/02
SLC 5/03
SLC 5/04
MicroLogix

(Los parámetros mostrados son ejem-


plos solamente, sus datos serán diferen-
tes.)

Descripción
En transiciones sucesivas de falso a verdadero, la instrucción SQC se mueve un paso a través del archivo
secuenciador programado, comparando los datos mediante una máscara con una palabra fuente o archivo
para su igualdad.

38
PROGRAMACIÓN AVANZADA DE PLC´s

Si está usando un procesador 5/02, 5/03, 5/04 o MicroLogix, puede usar direcciones indexadas para los pa-
rámetros fuente, máscara o archivo. Si está usando un procesador 5/03 OS302 o un 5/04 OS401, puede usar
direcciones indirectas para los parámetros fuente, máscara o archivo.

Introducción de parámetros

Archivo - Esta es la dirección del archivo secuenciador. Asegúrese de usar el indicador de archivo (#). Este
archivo almacena los datos de referencia para la monitorización de entradas.

Máscara - Un código hexadecimal o la dirección de la palabra o archivo de máscara mediante el cual la ins-
trucción transfiere datos. Si la máscara es un archivo, su longitud será igual a la longitud del archivo secuen-
ciador. Los dos archivos tienen seguimiento automático.

Puede introducir el código en binario, decimal o hexadecimal. RSLogix500 hará la conversión necesaria y
mostrará el valor hexadecimal en pantalla. Haga clic aquí para obtener un ejemplo que muestre cómo
introducir el valor de Máscara usando valores hexadecimales, binarios o decimales.

Fuente - La dirección de la palabra o archivo de entrada para una instrucción SQC de donde la instrucción
obtiene los datos para la comparación con su archivo secuenciador.

Control - La dirección y elemento de control (3 palabras) de la instrucción que almacena el byte de estado de
la instrucción, la longitud del archivo y la posición en el archivo. No use esta dirección para ninguna otra
instrucción. Los bits de estado en el archivo de control incluyen:

08 = FD (bit de encontrado) instrucción SQC solamente


11 = ER (bit de error)
13 = DN (bit de efectuado)
15 = EN (bit de habilitación)

El elemento de control:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
Palabra 0 EN DN ER FD
Palabra 1 Longitud del archivo secuenciador
Palabra 2 Posición

Longitud - El número de pasos del archivo secuenciador comenzando en la posición 1. Máximo = 255 pala-
bras. Posición 0 es la posición inicial. La instrucción se restablece (retorna) a la posición 1 cada vez que se
completa el ciclo. Por ejemplo, el colocar un 6 en este parámetro significa 6 elementos más allá de la direc-
ción inicial (total de 7 elementos).

Posición - La ubicación de palabra o paso en el archivo secuenciador desde/a donde la instrucción transfiere
datos.

39
PROGRAMACIÓN AVANZADA DE PLC´s

7.- INSTRUCCIONES DE CONTROL

Descripción

Use estas instrucciones para cambiar el orden en que el procesador escanea un programa de escalera. Típi-
camente estas instrucciones se usan para reducir al mínimo el tiempo de escán, para crear un programa más
eficiente y para localizar y corregir problemas en un programa de escalera.

No todas las instrucciones de control están disponibles con todos los procesadores SLC. Consulte las ins-
trucciones específicas para ver si puede usarlas con su procesador.

Seleccione entre estas instrucciones de control

Si desea : Use esta instrucción :


Saltar hacia adelante/atrás a una ins- JMP, LBL
trucción de etiqueta correspondiente
Saltar a una subrutina designada y JSR, SBR, RET
retornar
Habilitar o inhibir una zona de control MCR
maestro en su programa de escalera

Truncar el escán del programa TND


Depurar o diagnosticar su programa SUS
de usuario
Programar una etiqueta de interrup- INT
ción
(no está disponible con 5/01, Compacto)

La instrucción JMP (saltar a etiqueta)

Se usa con los procesadores Ejemplo de la instrucción


SLC 5/01, Compacto
SLC 5/02
SLC 5/03
SLC 5/04
MicroLogix
(Los parámetros mostrados son ejem-
plos solamente, sus datos serán diferen-
tes.)

Descripción

Cuando la condición de renglón para esta instrucción de salida es verdadera, el procesador salta hacia adelan-
te o hacia atrás a la instrucción de etiqueta (LBL) correspondiente y continúa la ejecución del programa en la
etiqueta. Más de una instrucción JMP pueden saltar a la misma etiqueta. Un salto hacia adelante a una eti-
queta le ahorra tiempo de escán al programa al omitir un segmento del programa hasta que se lo necesite.
Los saltos hacia atrás le permiten al controlador ejecutar repetidamente segmentos del programa.

40
PROGRAMACIÓN AVANZADA DE PLC´s

Nota Tenga cuidado cuando use la instrucción JMP para moverse hacia atrás o en lazo a lo largo de su
programa. Si hace lazos muchas veces, puede causar que el temporizador de control (watchdog) sobrepase
del tiempo y se produzca un fallo del procesador. Use un contador, temporizador o el registro de escán del
programa (S:3, bits 0-7) para limitar la cantidad de tiempo en lazos dentro de las instrucciones JMP/LBL.

Introducción de parámetros

Introduzca un número de etiqueta decimal de 0-999. Usted puede colocar:

• Hasta 256 etiquetas para los controladores SLC en cada archivo de subrutina.
• Hasta 1,000 etiquetas para controladores MicroLogix en cada archivo de subrutina.

La instrucción LBL (Etiqueta)

Se usa con los procesadores Ejemplo de la instrucción


SLC 5/01, Compacto
SLC 5/02
SLC 5/03
SLC 5/04
MicroLogix
(Los parámetros mostrados son ejem-
plos solamente, sus datos serán diferen-
tes.)

Descripción

Esta instrucción de entrada es el receptor de la instrucción JMP que tiene el mismo número de etiqueta. Tie-
ne que programar esta instrucción como la primera instrucción en un renglón. Esta instrucción no tiene bits
de control. Siempre es evaluada como verdadera o lógica 1.

Puede programar múltiples saltos a la misma etiqueta asignando el mismo número de etiqueta a múltiples
instrucciones JMP, pero la asignación del mismo número de etiqueta a dos o más etiquetas causa un error de
tiempo de compilación.

Nota No salte dentro de una zona MCR. Las instrucciones que se programan dentro de una zona MCR
comenzando con la instrucción LBL y terminando en la instrucción END MCR siempre serán evaluadas
como si la zona MCR fuera verdadera, sin considerar el estado de la instrucción START MCR.

Introducción de parámetros

Introduzca un número de etiqueta decimal de 0-999.

• En los controladores SLC se permiten hasta 256 etiquetas por subrutina.


• En los controladores MicroLogix se permiten hasta 1,000 etiquetas.

41
PROGRAMACIÓN AVANZADA DE PLC´s

La instrucción JSR (Saltar a subrutina)

Se usa con los procesadores Ejemplo de la instrucción

SLC 5/01, Compacto


SLC 5/02
SLC 5/03
SLC 5/04
MicroLogix
(Los parámetros mostrados son ejem-
plos solamente, sus datos serán diferen-
tes.)

Descripción

Cuando las condiciones del renglón son verdaderas para esta instrucción de salida, el procesador salta al
archivo receptor de subrutina. Sólo puede saltar a la primera instrucción en una subrutina. Cada subrutina
debe tener un número de archivo único (decimal, 3-255).

No programe una JSR en bifurcaciones de salida anidadas con controladores compactos o SLC 5/01.
Las subrutinas anidadas le permiten direccionar el flujo del programa desde el programa principal a una sub-
rutina y luego seguir en otra subrutina. Cuando anide subrutinas, aplique las siguientes reglas:

Procesadores compacto y 5/01 - puede anidar subrutinas hasta en 4 niveles.

Procesadores 5/02, 5/03, 5/04 y MicroLogix - puede anidar subrutinas hasta en 8 niveles. Si está usando una
subrutina STI, subrutina accionada por eventos de E/S, o rutina de fallo del usuario, puede anidar subrutinas
hasta en 3 niveles desde cada subrutina. Con los procesadores MicroLogix puede anidar subrutinas hasta en
3 niveles desde la subrutina de interrupción HSC.

La Instrucción SBR (Subrutina)

Se usa con los procesadores Ejemplo de la instrucción


SLC 5/01, Compacto
SLC 5/02
SLC 5/03
SLC 5/04
MicroLogix
(Los parámetros mostrados son ejem-
plos solamente, sus datos serán diferen-
tes.)

Utilice una subrutina para almacenar secciones recurrentes de la lógica del programa que se deben ejecutar
desde varios lugares del programa de aplicación. Una subrutina ahorra memoria porque se programa una
sola vez.

Actualice la E/S crítica dentro de subrutinas utilizando instrucciones inmediatas de entrada y/o salida (IIM,
IOM), especialmente si la aplicación llama a subrutinas anidadas o relativamente largas. De otra manera el
controlador no actualiza la E/S hasta que llega al final del programa principal (después de ejecutar todas las
subrutinas).

42
PROGRAMACIÓN AVANZADA DE PLC´s

¡ADVERTENCIA!

Las salidas controladas por una subrutina permanecen en su último estado hasta que se vuelve a ejecutar la
subrutina.

Descripción

Colocada como la primera instrucción en un archivo de subrutina, la instrucción SBR identifica el archivo.
Este es el número de archivo que se usa en la instrucción JSR para identificar el receptor a donde debe saltar
el programa.

Esta instrucción no tiene bits de control. Siempre se evalúa como verdadera. La instrucción debe progra-
marse como la primera instrucción del primer renglón de la subrutina. El uso de esta instrucción es opcional,
pero se recomienda.

La Instrucción RET ((Retorno de Subrutina)

Se usa con los procesadores Ejemplo de la instrucción

SLC 5/01, Compacto


SLC 5/02
SLC 5/03
SLC 5/04
MicroLogix

(Los parámetros mostrados son ejem-


plos solamente, sus datos serán diferen-
tes.)

Descripción

Esta instrucción de salida marca el final de la ejecución de la subrutina o el final del archivo de subrutina.
Hace que el procesador continúe la ejecución en el archivo de programa principal en la instrucción siguiente
a la instrucción JSR donde salió del programa. Si involucra una secuencia de subrutinas anidadas, la instruc-
ción hace que el procesador retorne la ejecución del programa a la subrutina anterior.

El renglón que tiene la instrucción RET puede ser condicional si este renglón precede el final de la subrutina.
De esta manera, el procesador omite el resto de una subrutina solamente si su condición de renglón es
verdade
ra.

Sin una instrucción RET, la instrucción END (siempre presente en la subrutina) automáticamente retorna la
ejecución del programa a la instrucción JSR en el programa de escalera que la llamó.

Use una instrucción RET en todas las subrutinas, incluyendo:

Subrutinas DII - procesadores 5/03 y 5/04 solamente


Subrutinas STI - procesadores 5/02, 5/03 y 5/04 solamente
Subrutinas de interrupción accionadas por eventos de E/S - procesadores 5/02, 5/03 y 5/04 solamente
Subrutinas de manipulación de errores del usuario - procesadores 5/02, 5/03 y 5/04 solamente

43
PROGRAMACIÓN AVANZADA DE PLC´s

Se usa con los procesadoresSLC 5/01, CompactoSLC 5/02SLC 5/03SLC 5/04MicroLogix


Ejemplo de la instrucción (Los parámetros mostrados son ejemplos solamente, sus datos serán diferentes.)

Descripción

Esta instrucción de entrada es el receptor de la instrucción JMP que tiene el mismo número de etiqueta. Tie-
ne que programar esta instrucción como la primera instrucción en un renglón. Esta instrucción no tiene bits
de control. Siempre es evaluada como verdadera o lógica 1.

Puede programar múltiples saltos a la misma etiqueta asignando el mismo número de etiqueta a múltiples
instrucciones JMP, pero la asignación del mismo número de etiqueta a dos o más etiquetas causa un error de
tiempo de compilación.

Nota No salte dentro de una zona MCR. Las instrucciones que se programan dentro de una zona MCR
comenzando con la instrucción LBL y terminando en la instrucción END MCR siempre serán evaluadas
como si la zona MCR fuera verdadera, sin considerar el estado de la instrucción START MCR.

Introducción de parámetros

Introduzca un número de etiqueta decimal de 0-999.

• En los controladores SLC se permiten hasta 256 etiquetas por subrutina.


• En los controladores MicroLogix se permiten hasta 1,000 etiquetas.

La Instrucción MCR (Restablecimiento Control Maestro)

Se usa con los procesadores Ejemplo de la instrucción

SLC 5/01, Compacto


SLC 5/02
SLC 5/03
SLC 5/04
MicroLogix

(Los parámetros mostrados son ejem-


plos solamente, sus datos serán diferen-
tes.)

¡ADVERTENCIA!

La instrucción MCR no es un sustituto de un relé de control maestro cableado que proporcione capacidad de
paro de emergencia. Usted aún debe instalar un relé de control maestro cableado para proporcionar desacti-
vación de la alimentación de E/S de emergencia.

Descripción

Esta instrucción de salida (algunas veces conocida como "Control de zonas") se usa para configurar áreas o
"zonas" de su programa de escalera donde se pueden inhabilitar todas las salidas no retentivas al mismo tiem-
po por la misma longitud de tiempo. Se usa en parejas, una instrucción MCR para definir el comienzo del
área de escalera que será afectada y una instrucción MCR para definir el final del área.

44
PROGRAMACIÓN AVANZADA DE PLC´s

Se programa una instrucción de entrada en el renglón de la primera instrucción MCR para controlar la conti-
nuidad lógica del renglón. Cuando el renglón se hace "falso", se inhabilitan todas las salidas no retentivas
dentro de la zona controlada. Cuando el renglón se hace "verdadero", todos los renglones se escanean de
acuerdo con sus condiciones de renglón normales (ignorando la instrucción de control de zonas).

Nota No use lógica condicional antes de una instrucción final MCR. La instrucción MCR final debe ser la
única instrucción en el renglón.

¡ADVERTENCIA!

Las áreas controladas MCR deben contener sólo dos instrucciones MCR - una para definir el comienzo y otra
para definir el final. Todas las instrucciones MCR adicionales, o una instrucción JMP programada para sal-
tar a una zona MCR, podrían producir resultados inesperados y dañar la operación del programa y de la má-
quina. ¡NO SUPERPONGA ZONAS MCR!

¡ADVERTENCIA!

Cuando edite un renglón que contenga una instrucción MCR, deben editarse ambos renglones, comienzo
MCR y final MCR, al mismo tiempo.

¡ADVERTENCIA!

Si usted inicia instrucciones tales como temporizadores o contadores en una zona MCR, la operación de la
instrucción cesa cuando se inhabilita la zona. El temporizador TOF se activará cuando se coloca dentro de
una zona MCR falsa. Si es necesario, vuelva a programar operaciones críticas fuera de la zona.

¡ADVERTENCIA!

(Específico para SLC 5/03 y 5/04) Cuando está en línea y existe una instrucción MCR sin pareja en el pro-
grama, la instrucción END actúa como la segunda instrucción MCR incondicional y todos los renglones que
siguen a la primera instrucción MCR se ejecutan mediante el estado de la instrucción MCR actual.
Usted puede guardar el programa mientras está en línea si existen instrucciones MCR sin utilizar. Sin em-
bargo, si está fuera de línea y existen instrucciones MCR sin utilizar, ocurrirá un error.

La Instrucción TND (End Temporal)

Se usa con los procesadores Ejemplo de la instrucción


SLC 5/01, Compacto
SLC 5/02
SLC 5/03
SLC 5/04
MicroLogix
(Los parámetros mostrados son ejem-
plos solamente, sus datos serán diferen-
tes.)

Descripción

Use esta instrucción para depurar progresivamente un programa u omitir condicionalmente el resto de su
archivo de programa actual o subrutinas.

45
PROGRAMACIÓN AVANZADA DE PLC´s

Cuando la lógica que precede esta instrucción de salida es verdadera, la instrucción TND detiene el escán del
resto del archivo de programa, actualiza las E/S y continúa el escán en el renglón 0 del programa principal
(Archivo 2).

Si el renglón de esta instrucción es falso, el procesador continúa el escán hasta la siguiente instrucción TND
o instrucción END.

El uso de esta instrucción dentro de una subrutina anidada termina la ejecución de todas las subrutinas anida-
das.

Cuando utilice un controlador MicroLogix, no ejecute esta instrucción desde la rutina de error de fallo del
usuario (archivo 3), la rutina de interrupción del contador de alta velocidad (archivo 4) o la rutina de inte-
rrupción de temporizador seleccionable (archivo 5), porque se producirá un fallo.

La Instrucción SUS (Suspender)

Se usa con los procesadores Ejemplo de la instrucción


SLC 5/01, Compacto
SLC 5/02
SLC 5/03
SLC 5/04
MicroLogix
(Los parámetros mostrados son ejem-
plos solamente, sus datos serán diferen-
tes.)

Descripción

Use esta instrucción cuando desee depurar o diagnosticar su programa de usuario.

Cuando es verdadera, la instrucción coloca el controlador en el modo de suspensión de funcionamiento en


vacío. El ID de suspensión se coloca en la palabra 7 (S:7) del archivo de estado. El archivo de suspensión
(número de programa o subrutina que identifica dónde reside la instrucción SUS ejecutada) se coloca en la
palabra 8 (S:8) del archivo de estado. Todas las salidas son desactivadas.

Introducción de parámetros

Introduzca un número de ID de suspensión de -32768 a +32767 cuando programe la instrucción.


Cuando se ejecuta la instrucción SUS, el ID programado así como el ID del archivo de programa desde don-
de se ejecuta la instrucción SUS, se coloca en el archivo de estado del sistema.

46
PROGRAMACIÓN AVANZADA DE PLC´s

La instrucción INT (Subrutina de interrupción)

Se usa con los procesadores Ejemplo de la instrucción

SLC 5/02
SLC 5/03
SLC 5/04
MicroLogix

(Los parámetros mostrados son ejem-


plos solamente, sus datos serán diferen-
tes.)

Descripción

Esta instrucción sirve como una etiqueta o identificador de un archivo de programa como una subrutina de
interrupción (etiqueta INT) en vez de una subrutina regular (etiqueta SBR). Puede usarse para identificar
Interrupciones temporizadas seleccionables (STI) o interrupciones accionadas por eventos de E/S.

La instrucción INT no tiene bits de control y siempre es evaluada como verdadera. La instrucción debe pro-
gramarse como la primera instrucción del primer renglón de la subrutina. El uso de esta instrucción es op-
cional, pero se recomienda.

8.- PROCESAMIENTO DE SEÑALES ANALOGICAS

47
PROGRAMACIÓN AVANZADA DE PLC´s

Módulos E/S Analógicos

48
PROGRAMACIÓN AVANZADA DE PLC´s

El Módulo Análogo 1746-NIO4I

49
PROGRAMACIÓN AVANZADA DE PLC´s

El Módulo de entrada a termocupla

50
PROGRAMACIÓN AVANZADA DE PLC´s

51
PROGRAMACIÓN AVANZADA DE PLC´s

El Módulo de entrada a RTD

52
PROGRAMACIÓN AVANZADA DE PLC´s

53
PROGRAMACIÓN AVANZADA DE PLC´s

54
PROGRAMACIÓN AVANZADA DE PLC´s

9.- LA INSTRUCCIÓN DE ESCALAMIENTO SCL

Se usa con los procesadores Ejemplo de la instrucción

SLC 5/02
SLC 5/03
SLC 5/04
MicroLogix

(Los parámetros mostrados son ejem-


plos solamente, sus datos serán diferen-
tes.)

Descripción

Use esta instrucción para escalar datos desde su módulo analógico y llevarlos dentro de los límites prescritos
por la variable del proceso u otro módulo analógico. Por ejemplo, use la instrucción SCL para convertir una
señal de entrada de 4-20 mA a una variable del proceso PID. O use la instrucción SCL para escalar una en-
trada analógica para controlar una salida analógica.

Cuando las condiciones del renglón son verdaderas, esta instrucción multiplica la fuente por una proporción
especificada. El resultado redondeado se suma a un valor de offset y se coloca en el destino.

Puede usar direcciones indirectas o indexadas para los parámetros fuente o destino.

Ecuaciones usadas en el cálculo de una relación lineal:

Valor escalado = (valor de entrada x proporción) + offset


Proporción = (escalado máx. - escalado mín.) / (entrada máx. - entrada mín.)
Offset = escalado mín - (entrada mín x proporción)

Introducción de parámetros

Los valores deben estar entre -32768 y +32767 para los parámetros siguientes.

Fuente - Esta debe ser una dirección de palabra.

Proporción - (o pendiente) es el valor positivo o negativo que usted introduce dividido entre 10,000. Puede
ser una constante de programa o una dirección de palabra.

Offset - Esta puede ser una constante de programa o una dirección de palabra.

Destino - Es la dirección del resultado de la operación.

Nota Si el resultado de la Fuente multiplicada por la Proporción y dividido entre 10,000 es mayor que
32767, ocurre un sobrerango (overflow) en la instrucción SCL, causando el error 0020 (bit de error menor),
y coloca el valor 32767 en el destino. Esto ocurre sin importar el offset actual. Si esto ocurre, resta

55
PROGRAMACIÓN AVANZADA DE PLC´s

blezca el bit S:5/0 con su programa de escalera antes del final del escán actual, de lo contrario se declarará
un error mayor.

10.- LA INSTRUCCIÓN PID


Control de lazo cerrado PID [Proporcional/Integrativa/Derivativa]

Se usa con los procesadores Ejemplo de la instrucción

SLC 5/02
SLC 5/03
SLC 5/04

(Los parámetros mostrados son ejem-


plos solamente, sus datos serán diferen-
tes.)

Descripción General de la Instrucción PID

Esta instrucción de salida se usa para controlar propiedades físicas tales como temperatura, presión, nivel de
líquido o velocidad de flujo de los ciclos del proceso.

La instrucción PID normalmente controla un lazo cerrado usando entradas desde un módulo de entradas ana-
lógicas y proporcionando una salida a un módulo de salidas analógicas como una respuesta para retener efec-
tivamente una variable del proceso en un punto de ajuste determinado.

La ecuación PID controla el proceso enviando una señal de salida al accionador. Cuanto mayor es el error
entre el punto de ajuste y la entrada de la variable del proceso, mayor es la señal de salida y viceversa. Se
puede añadir un valor adicional (alimentación anticipada o polarización) a la salida de control como un off-
set. El resultado del cálculo PID (variable de control) dirigirá a la variable del proceso que usted está contro-
lando hacia el punto de ajuste.

La instrucción PID se puede utilizar en modo temporal o modo STI. En modo temporal, la instrucción actua-
liza su salida periódicamente con una frecuencia que el usuario puede seleccionar. En modo STI, la instruc-
ción debe ser colocada en una subrutina de interrupción STI. Actualiza su salida cada vez que hay un escán
de la subrutina STI. El intervalo de tiempo de STI y la frecuencia de actualización del lazo PID deben ser
iguales para que la ecuación se ejecute correctamente.

Introducción de parámetros

Longitud del bloque de control - Especifique un archivo entero, por ejemplo N7:0. La longitud del archivo
está fijada en 23 palabras.
Variable del proceso PV - La dirección del elemento que almacena el valor de entrada del proceso. Esta
dirección puede ser la ubicación de la palabra de entrada analógica donde se almacena el valor de la entrada
A/D. También puede introducir una dirección entera si decide preescalar el valor de la entrada en el rango 0-
16383.

56
PROGRAMACIÓN AVANZADA DE PLC´s

Variable de control CV - La dirección del elemento que almacena la salida de la instrucción PID. El valor
de salida tiene un rango de 0-16383, siendo 16383 el valor 100% "ON" (activado). Normalmente ésta es una
dirección de valor entero, para que puede escalar el rango de salida PID al rango analógico particular que
requiera su aplicación.

Pantalla de configuración - haga doble clic en Pantalla de configuración en la instrucción para activar una
pantalla que le solicita otros parámetros que usted tiene que introducir para programar por completo la ins-
trucción PID.

PID: Concepto

Este es un ejemplo de cómo funciona un lazo PID simple. Es un lazo básico para el control de temperatura.

La ecuación PID controla el proceso enviando una señal de salida a la válvula de control. Cuanto mayor sea
el error entre el punto de ajuste y la entrada de la variable del proceso, mayor será la señal de salida y vice-
versa. Se puede añadir un valor adicional (alimentación anticipada o polarización) a la salida de control co-
mo un offset. El resultado del cálculo PID (variable de control) dirigirá a la variable del proceso que usted
está controlando hacia el punto de ajuste.

PID: Ecuación

La ecuación PID

La instrucción PID utiliza el siguiente algoritmo:

[ ]
OUTPUT − Kc ( E ) + 1 / Ti ∫ ( E )dt + TdD( PV ) / dt + bias

Las constantes de ganancias estándar son:

Término Rango (Bajo a Alto Referencia


Ganancia del controla- 0.1 a 25.5 (sin unidades) Proporcional
dor 0.01 a 327.67 (sin unidades)*
Término de restableci- 25.5 a 0.1 (minutos por repetición) Integral
miento 327.67 a 0.01 (minutos por repeti-
ción)
Término de régimen 0.1 a 2.55 (minutos) Derivada
0.01 a 327.67 (minutos)*

* Se aplica a los rangos de PID para 5/03 y 5/04 cuando el bit (RG) de Restablecimiento y Ganancia está
establecido en 1.
El término de derivada (régimen) proporciona suavidad mediante un filtro de paso bajo. La frecuencia de
corte del filtro es 16 veces mayor que la frecuencia máxima del término de derivada.

PID: Introducción de parámetros

Normalmente, la instrucción PID se coloca en un renglón sin lógica condicional. La salida permanece en su
último valor cuando el renglón es falso. El término integral también se borra cuando el renglón es falso.
Durante la programación, después de colocar la instrucción PID en un renglón, usted introduce las direccio-
nes del Bloque de Control, Variable del Proceso y Variable de Control

57
PROGRAMACIÓN AVANZADA DE PLC´s

La instrucción PID no permite valores en punto (coma) flotante para ninguno de sus parámetros. En conse-
cuencia, si intenta mover un valor en punto (coma) flotante a uno de los parámetros de la instrucción PID
utilizando la lógica de escalera, se producirá una conversión de punto (coma) flotante a entero.

Bloque de control - un archivo que almacena los datos necesarios para operar la instrucción. La longitud
del archivo está fijada en 23 palabras y debe introducirse como una dirección de archivo de enteros. No es-
criba a las direcciones del bloque de control con otras instrucciones en su programa.

Indicadores de la Instrucción PID

El punto de ajuste y los indicadores de la instrucción PID sólo pueden ser establecidos o restablecidos por su
programa de escalera:

SP (punto de ajuste) Palabra 2 del bloque de control


TM (bit de modo temporizado) Palabra 0, bit 0 del bloque de control
AM (bit auto/manual) Palabra 0, bit 1 del bloque de control
CM (bit modo control) Palabra 0, bit 2 del bloque de control
OL (bit de límite de salida habilitado) Palabra 0, bit 3 del bloque de control

¡ADVERTENCIA!
No altere el estado de ningún valor del bloque de control PID a menos que entienda completamente su fun-
ción y los efectos relacionados en su proceso. Podría resultar en una operación inesperada con posible
daño al equipo y/o lesiones personales.

Nota Use un archivo de datos único para sus bloques de control PID. Esto evita el reusar accidentalmen-
te las direcciones de bloque de control PID por otras instrucciones en su programa.

PID: Parámetros adicionales

El hacer clic en la Pantalla de Configuración en la instrucción PID muestra un diálogo que le permite intro-
ducir parámetros adicionales. Estos parámetros se describen aquí.

Parámetros de ajuste

Ganancia de Escriba un valor. (Con los Esta es la ganancia proporcional. Generalmente


controlador Kc controladores 5/02 el rango establezca esta ganancia a la mitad del valor necesa-
válido es 0.1 a 25.5. En rio para hacer que la salida oscile cuando los térmi-
los controladores 5/03 y nos de restablecimiento y de velocidad se establez-
5/04 el rango válido es de can a cero. Nota: El bit RG debe estar establecido
0 a 327.67). para aceptar valores que excedan 25.5 cuando se
utilizan los procesadores 5/03 y 5/04.
Reset (Restable- Escriba un valor que repre- Esta es la ganancia integral. Generalmente esta-
cimiento) Ti sente minutos. (Con los blezca el tiempo de restablecimiento igual al perío-
controladores 5/02 el rango do natural medido en la calibración de ganancia
válido es 0.1 a 25.5. En mencionada anteriormente. Nota: El bit RG debe
los controladores 5/03 y estar establecido para aceptar valores que excedan
5/04 el rango válido es de 25.5 cuando se utilizan los procesadores 5/03 y
0 a 327.67). 5/04.
Rate (Régimen) Escriba un valor que repre- Este el término de la derivada. Generalmente esta-
Td sente minutos. (Con los blezca este valor a 1/8 del tiempo integral mencio-
controladores 5/02 el rango nado anteriormente. Nota: El bit RG debe estar
válido es 0.1 a 25.5. En establecido para aceptar valores que excedan 25.5
los controladores 5/03 y cuando se utilizan los procesadores 5/03 y 5/04.
5/04 el rango válido es de

58
PROGRAMACIÓN AVANZADA DE PLC´s

0 a 327.67).
Actualización de Escriba un valor que repre- Este es el intervalo de tiempo entre los calculos
lazo sente los segundos. (Con PID. La entrada está en intervalos de 0.01 segun-
los controladores 5/02 el dos. Generalmente introduzca un tiempo de actua-
rango es de 0.1 a 25.5. lización de lazo cinco a diez veces más rápido que
Con los controladores 5/03 el período natural de la carga (determinado al esta-
y 5/04 el rango válido es blecer a cero los parámetros de restablecimiento y
de 0.01 a 10.24 segundos). régimen, y después incrementar la ganancia hasta
que la salida comience a oscilar). Al estar en el
modo STI, este valor debe ser igual al valor S:30
del intervalo de tiempo STI
Modo de control Seleccione E = SP - PV Actuación inversa causa que la salida CV se incre-
(Actuación inversa) o E = mente cuando la entrada PV sea menor que el valor
PV - SP (Actuación dire- de referencia SP (por ejemplo: una aplicación de
cta). calefacción). Actuación directa causa que la salida
CV se incremente cuando la entrada PV sea mayor
que el valor de referencia SP (por ejemplo, una
aplicación de enfriamiento).
Control PID Seleccione Auto o Manual Auto indica que PID está controlando la salida.
(Palabra 0, bit 1 está a cero). Manual indica que el
usuario está estableciendo la salida. (Se establece el
bit 1, palabra 0).
Modo tempori- Seleccione Temporizado o Cuando se selecciona Temporizado, la instrucción
zado STI. PID actualiza su salida a la velocidad especificada
en el parámetro de actualización de lazo.Al usar el
modo temporizado, el tiempo de escán de su proce-
sador debe ser por lo menos diez veces más rápido
que el tiempo de actualización de lazo a fin de evi-
tar imprecisiones o perturbaciones de temporiza-
ción.
Al seleccionar el modo STI, la instrucción PID ac-
tualiza su salida cada vez que se escanea. Cuando
selecciona STI, la instrucción PID debe estar pro-
gramada en una subrutina de interrupción STI y la
subrutina STI debe tener un intervalo de tiempo
equivalente al parámetro de actualización de lazo
PID. Establezca el período STI en palabra S:3.0.
Limitar salida Seleccione Sí o No El seleccionar Sí limita la salida a los valores míni-
CV mos y máximos. Seleccionar No excluye la aplica-
ción de límites a la salida.
Banda muerta Escriba un valor de 0 al Esta banda muerta se extiende arriba y abajo del
DB máx. escalado ó 0-16383 punto de referencia según el valor que usted intro-
cuando no exista una esca- duzca. La banda muerta se introduce en la intersec-
la. ción cero de la variable de proceso PV y el punto de
referencia SP. Esto significa que la banda muerta
estará vigente solamente después que la variable de
proceso PV entre en la banda muerta y pase a través
del punto de referencia.
Entradas Escriba un valor entre 1- El punto de control deseado de la variable de proce-
Set Point (Punto 16383, o dentro de un ran- so. Introduzca este valor a través de su programa de
de referencia) go válido escalado escalera en la tercera palabra en el bloque de control
SP (palabra 2).

59
PROGRAMACIÓN AVANZADA DE PLC´s

Punto de referencia Máx (Smax) Escriba un valor. (Con los controladores 5/02 el rango válido es de -
16383 a +16383. Con los controladores 5/03 y 5/04 el rango válido es de -32768 a +32767). Si el punto
de referencia se debe leer en unidades de ingeniería, éste corresponderá al valor del punto de referencia en
unidades de ingeniería cuando la entrada de control es 16383.

Punto de referencia Mín (Smín) Escriba un valor. (Con el controlador 5/02 el rango es de -16383 a
+16383. Con los controladores 5/03 y 5/04 el rango válido es de -32768 a +32767). Si el punto de refe-
rencia se debe leer en unidades de ingeniería, este parámetro corresponderá al valor del punto de referencia
en unidades de ingeniería cuando la entrada de control sea cero.
Variable de proceso PV (No se puede editar, para visualización solamente) Este es el valor escalado de
la variable del proceso (la entrada analógica)
Salida

Salida de control
CV (%) Escriba un valor de 0-16383 solamente si ha seleccionado el modo manual. Le permite cam-
biar el % de la variable de control de salida.

Salida Mín (CV%) Escriba un valor. Si Limitar Salida CV es Sí, el valor que usted introduzca es
el porcentaje mínimo de salida que la variable de control CV obtendrá. Si CV cae por debajo de este valor
mínimo, el CV se establece al valor que usted introdujo y se establecerá el bit de límite inferior (LL) de la
alarma de salida.Si Limitar Salida CV es No, el valor que usted introdujo determinará cuándo se establecerá
el bit de limite inferior de la alarma de salida. Si la CV cae por debajo de este valor mínimo, se establecerá
el bit de límite inferior (LL) de la alarma de salida.

Salida Máx (CV%) Escriba un valor. Si Limitar Salida CV es Sí, el valor que usted introduzca será el
máximo porcentaje de salida que la variable de control CV obtendrá. Si CV excede este máximo, la CV se
establecerá al valor que usted haya introducido y además se establecerá el bit de límite superior (UL) de la
alarma de salida.Si Limitar Salida es No, el valor que introduzcadeterminará cuando se establecerá el bit de
límite superior de la alarma de salida. Si CV excede este valor máximo, se establecerá el bit de límite supe-
rior (UL) de la alarma de salida.

Error de escala SE (No se puede editar, para visualización solamente) Este es el error de escala según se
seleccionó por el parámetro de modo de control. Al usar un procesador 5/03 ó 5/04, los errores de escala
mayores que 32767 ó menores que -32768 no pueden ser representados.
Indicadores

60
PROPIEDAD INTELECTUAL DEL SENATI PROHIBIDA
SU REPRODUCCIÓN Y VENTA SIN LA AUTORIZACIÓN
CORRESPONDIENTE

CÓDIGO DE MATERIAL EDICIÓN


0140 JUNIO 2004

También podría gustarte