You are on page 1of 159

Universidad De Oriente

Núcleo de Anzoátegui
Escuela de Ingeniería y Ciencias Aplicadas
Departamento de Electricidad

* *

Controlador Lógico Programable (PLC).


Curso Tutorial.

Realizado por:
Prof. Danilo A. Navarro G.

Trabajo Presentado Como Requisito Parcial Para


Ascender a la Categoría de Profesor Agregado.

Puerto La Cruz, Julio de 2001.


CONTENIDO
Introducción.
1. El comienzo.
1.1 ¿Qué es un PLC? Pag. 1
1.2 Historia de los PLCs. Pag. 3
1.3 Características sobresalientes de los PLCs Pag. 5
1.4 Ventajas de los PLCs sobre la lógica a relés. Pag. 8
1.5 Listado de principales fabricantes. Pag. 9
2. Operación de los PLCs.
2.1 Estructura interna. Pag. 12
2.2 Como trabajan los PLCs. Pag. 16
2.3 Tiempo de respuesta de los PLCs y sus efectos. Pag. 18
3. Conexionado e interfaces de entrada / salida.
3.1Tipos de Entrada / Salida a los PLCs. Pag. 22
3.2 Entradas al PLC Pag. 24
3.3 Entradas DC. Pag. 26
3.4 Conexionado de entradas DC. Pag. 29
3.4.1 Conexionado de entradas tipo NPN. Pag. 30
3.4.2 Conexionado de entradas tipo PNP Pag. 31
3.4.3 Conexionado de sensores tipo 2 hilos. Pag. 32
3.5 Entradas AC. Pag. 34
3.6 Conexionado de entradas AC Pag. 36
3.8 Salidas del PLC. Pag. 37
3.9 Salidas a relé. Pag. 39
3.10 Salidas a transistores Pag. 41
4. Creación de programas.
4.1 Sustitución de relés. Pag. 44
4.2 lenguajes de programación. Pag. 48
4.3 Instrucciones básicas. Pag. 51
4.4 Registros de direcciones en los PLCs. Pag. 55
4.5 Un ejemplo de control de nivel. Pag. 57

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. i


CONTENIDO

4.6 Ejecución del programa de control de nivel. Pag. 59


5. Principales instrucciones.
5.1 Álgebra Booleana. Pag. 62
5.2 Instrucciones memorizadas. Pag. 67
5.3 Contadores. Pag. 69
5.4 Temporizadores. Pag. 73
5.5 Precisión de los temporizadores. Pag. 78
5.6 Instrucción Un-Scan. Pag. 81
5.7 Control maestro. Pag. 84
5.8 Registros de desplazamiento. Pag. 86
5.9 Acceso y manipulación de datos. Pag. 92
5.10 Instrucciones matemáticas. Pag. 96
6. Lenguaje y equipos para la programación.
6.1 Lenguaje escalera (LADDER). Pag. 101
6.1.1 Principios de programación. Pag. 103
6.1.2 Ejemplo de control de estacionamiento. Pag. 104
6.2 Lista de instrucciones (AWL, BOOLEANO, Nemónicos). Pag. 111
6.3 Gráficos funcionales de secuencia (SFC, GRAFCET). Pag. 120
6.3.1 Reglas para la construcción del GRAFCET Pag. 124
6.3.2 Ejemplo Pag. 128
6.4 Programación con texto estructurado. Pag. 134
6.5 Bloques funcionales. Pag. 140
6.6 Equipos para la programación. Pag. 142
7. Comunicaciones.
7.1 Comunicación RS-232 (Hardware). Pag. 144
7.2 Comunicación RS-232 (Software). Pag. 146
7.3 Usando RS-232 dentro de la programación escalera Pag. 152
Conclusiones. Pag. 155
Bibliografía. Pag. 156
Anexos

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. ii


INTRODUCCION

L
os sistemas automatizados han evolucionado desde el control a relés hasta
los que usan facilidades computacionales desarrolladas en los tiempos
presentes. Actualmente el corazón del desarrollo de los sistemas
automáticos lo representa esencialmente los Controladores Lógicos Programables
(PLC). Cotejar la idea que tiene cada estudiante o profesional del área de
automatización respecto a lo que es un PLC arrojaría un cúmulo de ideas distintas
dependiendo por supuesto del conocimiento previo y el paradigma que cada
individuo se haya formado respecto a este mismo tema. En este trabajo no se trata
de unificar estas ideas o conceptos, sino más bien se trata de enriquecer el
conocimiento que estudiantes y profesionales poseen hasta este momento.
De manera especial para estudiantes y profesionales del área de eléctrica,
electrónica, computación y sistemas; es de primera necesidad tener conocimientos y
un mediano entrenamiento en el tópico de los PLCs, ya que estos forman parte
fundamental en sistemas de control, de adquisición de datos y de manejo de la
información de un gran número de procesos y máquinas que se encuentran en su
campo de trabajo.
Aunque existen textos (muy escasos) especializados en la temática de los
PLCs, para no dejar el entrenamiento en lo meramente teórico, es necesario que el
aprendiz acuda a los cursos de entrenamiento dictados por los propios fabricantes de
los equipos. Estos cursos además de ser costosos, los ofrecen muy
esporádicamente a grupos especiales, y por lo general son poco amplios ya que
tratan a un determinado tipo o marca de PLC.
Este trabajo combina los aspectos teóricos del software y del hardware de los
PLCs, con paquetes computacionales de simulación para ofrecer al interesado la
posibilidad de cumplir con un programa de auto entrenamiento que lo prepare mejor
para ejecutar trabajos en el área de los PLCs.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. iii


INTRODUCCIÓN

Para lograr esta meta se aborda en los capítulos 1 y 2 los aspectos filosóficos
de la estructura y el funcionamiento de los PLCs, para luego cubrir los extensos tipos
de conexiones e interfaces de entrada / salida en el capítulo numero 3.
Conociendo los fundamentos del software usado por un PLC, se llega
fácilmente a entender cualquier otro PLC. Por esta razón, en los capítulos 4 y 5 se
cubren las principales instrucciones soportadas por los PLCs, combinando cada
explicación con una simulación animada de la misma.
Uno de los aspectos más importantes dentro del trabajo con PLCs es la
programación de los mismos y la creación o configuración de las aplicaciones.
Considerando lo anterior, el capítulo 6 cubre lo concerniente a las distintos lenguajes
de programación tipificados en el estándar IEC 1131, así como también se
desarrollan aplicaciones que pueden ser ejecutadas en el software de simulación que
acompaña a este trabajo, o en el PLC TSX17 que se encuentra disponible en el
laboratorio de Sistemas de control del Departamento de Ingeniería eléctrica de la
Universidad de Oriente.
También, el rápido avance de los sistemas de control distribuido no es posible
sin las facilidades de comunicación con las que cuentan los PLCs. De aquí que como
parte final de este trabajo, en el capítulo 7, se detalle en forma básica la interfase de
comunicación más comúnmente usada por los PLCs: La RS-232.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. iv


1
Capítulo

EL COMIENZO.

1.1 ¿Qué es un PLC?

U
n PLC ( Controlador Lógico Programable) es un dispositivo electrónico de
estado sólido que puede controlar un proceso o una máquina y que tiene
la capacidad de ser programado o reprogramado rápidamente según la
demanda de la aplicación. Fue inventado para remplazar los circuitos secuenciales
basados en relés que eran necesarios para el control de las máquinas. El PLC
funciona monitoreando sus entradas, y dependiendo de su estado, activando y
desactivando sus salidas. El usuario introduce al PLC un programa, usualmente vía
Software, lo que ocasiona que el PLC se comporte de la manera deseada.

Fig. 1 – Aspecto físico de un PLC.

Los PLCs son usados en muchas aplicaciones: Maquinado de piezas,


Embaladoras, Manipulación de materiales, ensamblado automático, y en general
cualquier tipo de aplicación que requiera de controles eléctricos puede usar más bien
un PLC.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 1


CAPITULO 1. EL COMIENZO.

Fig. 2 – Aplicación típica de un PLC.

Por ejemplo asúmase que cuando un switch se activa, deseamos también


activar una válvula solenoide por un período de 5 segundos y luego apagarla sin
importar el tiempo que el switch estuvo activado. Esto se puede hacer con un simple
temporizador externo; pero, ¿Qué tal si el proceso incluye 10 switch y 10
selenoides?. También, ¿Qué si en el proceso es necesario contar cuantas veces
cada switch se activo?. Obviamente se necesitarían una gran cantidad de contadores
externos. Como se ve, mientras más grande el proceso, mayor es la necesidad de un
PLC, y por ejemplo en el caso descrito bastaría con simplemente programar el PLC
para que cuente sus entradas y mantenga activadas sus salidas por un cierto período
de tiempo.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 2


CAPITULO 1. EL COMIENZO.

1.2 Breve historia de los PLC.

L
os PLCs fueron introducidos por primera vez a finales de 1960. La razón
principal para introducir tal dispositivo fue la de eliminar el gran costo que
representaba remplazar los sistemas de control basados en lógica de relés.
En 1968, una expresa consultora llamada Bedford Associates (Bedford, MA) diseño
para la General Motors un dispositivo de control que llamaron Controlador Digital
Modular (Modular Digital Controller, MODICON) 084. Otras compañías al mismo
tiempo propusieron esquemas de control basados en computadoras, uno de los
cuales se basó en el PDP-8. El MODICON 084 representó el primer PLC en el
mundo dentro de la producción comercial.

La razón principal que impulsó este nuevo tipo de control fue que cuando
cambiaba los requerimientos de producción, también lo hacia el sistema de control, y
esto se tornaba costoso sobre todo cuando los cambios eran frecuentes. También,
como los relés son elementos mecánicos, ellos tienen un período de vida limitado y
además requieren de un estricto programa de mantenimiento. Igualmente, la
resolución de problemas en la lógica de control era muy tediosa sobre todo cuando
estaban involucrados gran cantidad de relés; y los paneles de control de las
máquinas incluían cada vez más funciones que si se utilizaba lógica a relés, estos
incluirían cientos de ellos, lo que ocasiona el problema inicial del difícil cableado de
los paneles.

Estos nuevos controladores también tenían que ser fáciles de programar por
los ingenieros de planta y de mantenimiento. El tiempo de vida tenia que ser largo y
los cambios en la programación de las funciones debía ser fácilmente realizable.
También, los nuevos controladores debían poseer cualidades para resistir a los
severos ambientes industriales. La respuesta a este lote de planteamientos era usar
técnicas de programación que ya le fueran familiares a los técnicos de
plantas(diagramas de contacto: LADDER) y a la par remplazar los relés
electromecánicos por unos que fueran de estado sólido.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 3


CAPITULO 1. EL COMIENZO.

A mediados de los 70 la tecnología dominante en los PLCs eran las maquinas


secuenciadoras de estados y los bit-Slice based CPU. El AMD 2901 y 2903 eran
bastante populares en los PLCs de Allen Bradley y en los de MODICON. Los
microprocesadores convencionales carecían de la potencia para satisfacer los
requerimientos de lógica en todo los PLCs excepto en los más pequeños. Según
como los microprocesadores convencionales evolucionaron, en esa misma medida
se construyeron PLCs cada vez más grandes y potentes.

Las posibilidades de comunicación comienzan a aparecer aproximadamente


en 1973. El primero de tales sistemas fue el ModBus de MODICON. Los PLCs
pueden a partir de aquí comunicarse con otros PLCs distantes e intercambiar con
ellos datos de las máquinas controladas. Igualmente se pueden usar para enviar y
recibir voltajes variables lo que les permite entrar al mundo analógico.
Desdichadamente, la carencia de estandarización acoplada con los continuos
cambios tecnológicos hicieron la comunicación entre los PLCs un mar negro de
redes y protocolos incompatibles.

En los 80 se vio el intento por estandarizar las comunicaciones con el


Protocolo de Automatización de la Manufactura de la General Motors (MAP). En este
tiempo también se redujo el tamaño de los PLCs y se hicieron programables
mediante la programación simbólica desde computadores personales PCs en vez de
mantener los terminales de programación dedicados o programadores "handheld”.
Hoy, el PLC más pequeño en el mundo es del tamaño de un simple relé de control.

En los 90 se vio una gradual reducción en la introducción de nuevos protocolos, y


en la modernización de las capas físicas de alguno de los más populares protocolos
que sobrevivieron a la década de los 80. El ultimo standard (IEC 1131-3) ha tratado
de unificar los lenguajes de programación de los PLCs bajo un único standard
internacional. Actualmente hay PLC que son programables en diagramas de Bloques
de Funciones, Lista de instrucciones, “C++” y texto estructurado, Diagrama de
Contactos(LADDER) y GRAFCET al mismo tiempo.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 4


CAPITULO 1. EL COMIENZO.

1.3 Características sobresalientes de los PLCs.


v Poseen memoria volátil y no volátil. Tanto el programa de aplicación escrito
por el usuario como los datos internos del PLCs, normalmente es guardado en
una RAM (memoria volátil), lo que le permite tener un acceso más veloz a las
instrucciones de programa y a los datos internos de registros, contadores,
temporizadores, bits internos, etc. También, una vez que se ha depurado el
programa de aplicación, los PLCs permiten la opción de salvaguardar el
programa en memorias tipo EEPROM (no volátiles) para así recuperar el
mismo en caso de un corte muy prolongado de energía que ocasiona una
perdida de datos de la RAM.

Fig. 3 – Tipos de memorias en un PLC.

v Capacidad modular de entradas / salidas. Esto permite la combinación de


distintos niveles y tipos de señal de entrada, así como también el manejo de
salidas para distintos tipos de carga. Igualmente si la aplicación crece, y se
requiere mayor número de entradas / salidas, casi sin ningún problema los
PLCs pueden adecuarse al nuevo requerimiento.

Fig. 4 – Capacidad modular de los PLCs.


v Autodiagnóstico de fallas. El PLC monitorea el funcionamiento de su CPU,
Memoria y circuito de interfases de entrada y de salida, e igualmente

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 5


CAPITULO 1. EL COMIENZO.

monitorea el correcto funcionamiento del programa de aplicación. En ambos


casos señaliza por medio de LEDs en su cara frontal el estado respectivo.
Obviamente esta capacidad es de gran utilidad para efectos de mantenimiento
y corrección de fallas.

Fig. 5 – Visualizador de status del PLC.

v Programación de la lógica de control. Esto permite la fácil adaptación a los


cambios en la lógica de operación de las máquinas y procesos.

Fig. 6 – Lógica programada.

v Capacidad para generar reportes y comunicarse con otros sistemas. Con esta
facilidad se pueden integrar interfaces de explotación Hombre-Máquina,
sacándole al sistema mayor cantidad de información. Igualmente los PLCs
pueden participar en redes de datos comunicándose con otros PLCs para
formar sistemas de control distribuidos, o integrándose a las redes
administrativas de la producción.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 6


CAPITULO 1. EL COMIENZO.

Fig. 7 – Capacidad de comunicación.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 7


CAPITULO 1. EL COMIENZO.

1.4 Ventajas de los PLCs sobre la lógica a relés.

LOGICA CON PLCs LÓGICA A RELES


v Flexibilidad de configuración y Ö Costosos cambios de hardware
programación.
v Rápidos cambios de la lógica de Ö Mayor tiempo de cambios en la
control. lógica de control
v Amplia variedad de funciones: Relés, Ö Pocas funciones: Relés,
Contadores, Temp., Secuenciadores, Contadores, Temporizadores
Registros, etc.
v Reducción de espacio Ö Mayor espacio relativo
v Montaje fácil y rápido Ö Montaje lento y tedioso
v Localización fácil y rápida de averías Ö Búsqueda lenta y más difícil de
y fallas averías
v Alta confiabilidad. Elementos de Ö Poca confiabilidad. Partes
estado sólido mecánicas
v Múltiples contactos NO, NC Ö Máximo de 4 a 6 contactos
v Consumo de energía reducido Ö Mayor consumo de energía
v Reducción del costo a medida que Ö A partir de 15 o 20 relés, el costo
aumenta la complejidad del proceso comparativo supera el costo con
PLCs

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 8


CAPITULO 1. EL COMIENZO.

1.5 Listado de principales fabricantes de PLCs.

A
continuación se muestra un listado de los principales fabricantes y
vendedores de sistemas para control, automatismos y PLCs.

ABB : http://www.abb.com/products&contracting
Alfa Laval
Allen-Bradley : http://www.ab.com/
ALSTOM/Cegelec
Aromat
AutomationDirect/PLC Direct/Koyo/ : http://www.automationdirect.com/
B&R Industrial Automation
Beck Electronic/Festo
Berthel gmbh
Cegelec/ALSTOM
Control Microsystems
Crouzet Automatismes
Control Technology Corporation
Cutler Hammer/IDT : http://www.ch.cutler-hammer.com/
Divelbiss
EBERLE gmbh
Elsag Bailey
Entertron
Festo/Beck Electronic
Fisher & Paykel
Fuji Electric
GE-Fanuc : http://www.gefanuc.com/
Gould/Modicon : http://www.modicon.com/
Grayhill
Groupe Schneider
Hima

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 9


CAPITULO 1. EL COMIENZO.

Hitachi : http://www.lighthouseplcs.com/
Honeywell : http://www.iac.honeywell.com/
Horner Electric
Idec
IDT/Cutler Hammer : http://www.ch.cutler-hammer.com/
Jetter gmbh
Keyence : http://www.keyence.com/
Kirchner Soft
Klockner-Moeller : http://www.moellerusa.net/
Koyo/AutomationDirect/PLC Direct : http://www.automationdirect.com/
LG Industrial Systems
Microconsultants
Mitsubishi : http://www.meau.com/
Modicon/Gould : http://www.modicon.com/
Moore Products
Motorola
Omron : http://oeiweb.omron.com/
Opto22
Pilz
PLC Direct/Koyo/AutomationDirect : http://www.automationdirect.com/
Reliance
Rockwell Automation : http://www.automation.rockwell.com/
Rockwell Software : http://www.software.rockwell.com/
SAIA-Burgess
Samsung
Schleicher : http://www.schleicher-de.com/
Schneider Automation : http://www.schneiderautomation.com/
Sharp
Siemens : http://www.aut.sea.siemens.com/
Sigmatek
Sixnet
SoftPLC/Tele-Denken : http://www.softplc.com/

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 10


CAPITULO 1. EL COMIENZO.

Square D : http://www.squared.com/
Tele-Denken/SoftPLC
Telemecanique : http://www.schneider.co.uk/automati.htm
Toshiba : http://www.tic.toshiba.com/plc/
Triangle Research
Triconex
Unitronics
Yokogawa
Z-World

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 11


2
Capítulo

OPERACIÓN DE LOS PLCs.

2.1 Estructura interna.

L
os PLCs constan principalmente de un CPU, área de memoria, y circuitería
apropiada de entrada /salida de datos. Se puede considerar al PLC como
una caja llena de cientos o miles de Relés independientes, contadores,
temporizadores y locaciones para almacenamiento de datos. Estos contadores,
temporizadores, etc.; ¿realmente existen?. No, Ellos no existen físicamente pero en
vez de eso son simulados y se pueden considerar como contadores, temporizadores,
etc. hechos a nivel de software. También los Relés internos son simulados mediante
bits en registros del hardware del PLC.

Fig. 3 – Estructura general simplificada de un PLC.


• Relés DE ENTRADA: Están conectados al mundo externo. Físicamente
existen y reciben señal de los switches, sensores, etc. Típicamente no son
relés pero si son transistores que funcionan como relés estáticos.

• Relés INTERNOS: Estos no reciben señal desde el mundo exterior ni existen


físicamente. Ellos son relés simulados y permiten al PLC eliminar los relés
externos. También hay relés especiales que el PLC usa para realizar una
tarea única. Algunos están siempre activados mientras que otros su estado
Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 12
CAPITULO 2. OPERACIÓN DE LOS PLCS.

normal es estar desactivados. Algunos se activan solamente durante el ciclo


de arranque y son usados para la iniciación de los datos que fueron
almacenados.

• Contadores: estos no existen físicamente. Son contadores simulados


mediante software y pueden ser programados para contar pulsos. Típicamente
estos contadores cuentan en forma ascendente y descendente. Dado que
estos contadores son simulados mediante software, su velocidad de contaje
esta limitada. Algunos PLC incluyen también contadores de alta velocidad
basados en hardware, es decir que son contadores que existen físicamente y
cuentan ascendentemente, descendentemente, o en ambas direcciones.

• TEMPORIZADORES: Estos no existen físicamente. Son de varios tipos (al


reposo, al trabajo, etc.) y de varias resoluciones de temporización. Los tipos
más comunes son los temporizadores al trabajo. Otros menos comunes son
los temporizadores con retención. En general la resolución de temporización
ve desde 1 ms hasta 1 segundo.

• Relés DE SALIDA: Estos se conectan al mundo exterior al PLC. Físicamente


existen y funcionan enviando señales de encendido / apagado a selenoides,
luces, etc. Basados en hardware, pueden estar construidos con transistores,
relés electromecánicos o TRIACS, según el modelo que se escoja.

• ALMACENAMIENTO DE DATOS: Típicamente hay registros del PLC que


están asignados al simple almacenamiento de datos. Usualmente se usan
para almacenamiento temporal para manipulación matemática o de datos.
También son usados para almacenar datos cuando se corta el suministro de
energía al PLC. Una vez regresa la energía, los registros disponen de los
mismos datos que tenían cuando se corto la energía.

Un diagrama de bloques más completo que describe la estructura de un PLC


sería el siguiente.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 13


CAPITULO 2. OPERACIÓN DE LOS PLCS.

Fig. 4 – Estructura general de un PLC.

v Unidad Central de procesamiento (CPU): Esta formada por la unidad de


control, la tabla imagen de proceso, y por los temporizadores, contadores y
bits internos. La CPU se encarga del tratamiento de los datos internamente
(sumas, operaciones lógicas, transferencias, etc), busca o escribe operandos
en la memoria, lee o escribe datos en las unidades de entrada y salida, etc.

v Memoria: Es la circuitería electrónica capaz de almacenar el programa de


aplicación escrito por el usuario, y los datos provenientes de la máquina o
proceso controlado. También es la encargada de almacenar las variables
internas generadas por la CPU y las variables de salida a ser transferidas a
los periféricos.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 14


CAPITULO 2. OPERACIÓN DE LOS PLCS.

Fig. 5 – Memorias dentro del PLC.

v Periféricos: Corresponden a la circuitería de entrada / salida del PLC, o lo


que representa lo mismo: su comunicación con el proceso o máquina a
controlar y con el usuario u operador del sistema. Las señales de entrada
provenientes de los sensores son de naturaleza diversa: Voltaje AC, Voltaje
DC, Corriente, señales binarias, señales analógicas, etc. Es así como los
periféricos son los encargados de convertir estas señales a información capaz
de ser interpretada por la CPU, y de convertir las señales provenientes de la
CPU a señales capaces de excitar los preaccionadores de las máquinas.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 15


CAPITULO 2. OPERACIÓN DE LOS PLCS.

2.2 ¿Cómo trabajan los PLCs?.

U
n PLC trabaja realizando continuamente un barrido(SCAN) sobre un
programa. Este ciclo de barrido o scan consta principalmente de 3 pasos,
aunque típicamente son mas de tres ya que existen otros como el chequeo
del sistema y la actualización de los contadores y temporizadores internos.

Fig. 6 – Ciclo de trabajo de un PLC.

Paso 1-DIAGNÓSTICO INTERNO: En este paso el PLC revisa su circuitería interna


en busca de defectos de entradas, salidas, CPU, memorias y batería. También revisa
el WATCHDOG y los desbordamiento de memoria para revisar fallas en el programa
de aplicación.

Paso 2-CHEQUEAR EL ESTADO DE LAS ENTRADAS: Al principio el PLC accede


cada una de las entradas para determinar si están activadas o desactivadas (on /
off). Es decir, ¿ Esta activado el sensor conectado a la primera entrada?, ¿El
segundo?, ¿El tercero? … Luego el PLC graba estos datos en la tabla imagen de
proceso para usarlos en el próximo paso.

Paso 3-EJECUTAR EL PROGRAMA DE LA APLICACIÓN: El PLC ejecuta el


programa de la aplicación creada por el usuario una instrucción a la vez. Por
ejemplo, si el programa especifica que si la primera entrada esta “on” se debe activar
la salida numero 2, el PLC graba este resultado para tomarlo en cuenta en el próximo
Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 16
CAPITULO 2. OPERACIÓN DE LOS PLCS.

paso. Como ya el PLC conoce cuales entradas están activadas o desactivadas (paso
2), él será capaz de decidir cuales salidas se deben activar basado en el estado de
las entradas y en el estado de los contadores, temporizadores y bits internos. Como
ya se dijo el PLC guarda este resultado para usarlo en el próximo paso.

Paso 4-ACTUALIZAR EL ESTADO DE LAS SALIDAS: Finalmente el PLC actualiza


el estado de las salidas basado en los resultados lógicos del paso 3. Siguiendo el
ejemplo del paso 3, el PLC activara en este tercer paso la salida numero 2 basado en
el hecho que la primera entrada estaba en “on”.

Después del cuarto paso el PLC vuelve al paso uno y repite la rutina continuamente.
Así, un SCAN se define como el tiempo que toma el PLC para ejecutar los cuatro
pasos descritos anteriormente.

Fig. 7 – Esquema de tiempos relativos dentro del SCAN del PLC.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 17


CAPITULO 2. OPERACIÓN DE LOS PLCS.

2.3 Tiempos de respuesta de los PLCs y sus efectos.

E
l tiempo de respuesta total de un PLC es un hecho que se debe considerar
al momento de adquirir un PLC. El mismo esta formado por el tiempo de
adquisición de entradas, el tiempo de ejecución de la lógica programada, y
el tiempo para activar sus salidas. El PLC toma cierta cantidad de tiempo
para realizar un autodiagnóstico de sus tarjetas electrónicas.

Fig. 8 – Tiempo típico de SCAN de un PLC.

Autodiagnóstico: Chequea para verificar que todas las tarjetas estén libres de falla,
restaura el perro de guardia(WATCHDOG TIMER), etc. (El “WATCHDOG” causará
un error e interrumpirá el funcionamiento del PLC sino es restaurado dentro de un
período corto de tiempo. Esto indicaría que la lógica del programa no esta siendo
escaneada normalmente).

Barrido de Entradas: Lee los valores de entrada disponibles en los chips de las
tarjetas de entrada y copia sus valores en la memoria. Esto hace al PLC más rápido
y evita casos donde una entrada cambia entre el principio y el final del programa.
Existen también funciones especiales de los PLCs que leen las entradas
directamente y evitan el uso de las tablas de imagen.

Ejecución de la Lógica: Basado en la tabla de imagen de entradas, el programa es


ejecutado un paso a la vez, y al mismo tiempo se va actualizando en memoria la
tabla de imagen de salida.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 18


CAPITULO 2. OPERACIÓN DE LOS PLCS.

Barrido de Salidas: La tabla de imagen de salida es copiada desde la memoria


hacia los chips de salida. Estos chips de salida entonces accionan los dispositivos de
salida (relés, transistores, etc).

El PLC pude ver la entrada on / off solamente durante el tiempo de barrido de


entrada. En otras palabras, él solamente ve sus entradas durante la parte del scan
correspondiente al chequeo de entradas.

Fig. 9 – Error en el barrido de entradas.

En el diagrama, la entrada 1 no es vista sino hasta el scan 2. Esto se debe a que


cuando la entrada 1 esta en alto, el scan 1 ya ha finalizado su tiempo de chequeo de
entradas. La entrada 2 no es vista sino hasta el scan 3 por la misma razón anterior.
La entrada 3 nunca es vista o validada como activa ya que cuando el scan 3 estaba
haciendo el barrido sobre las entradas, la misma no estaba aun en on, y además
cambia a off antes de que el scan 4 active su tiempo de chequeo de entradas. Por
tanto, la entrada 3 nunca es vista por el PLC.

Para evitar lo que ocurre con la entrada 3 del ejemplo anterior, se debe establecer
que la entrada este activa al menos por 1 tiempo de barrido de entradas + un
tiempo de barrido de programa o Scan.

Fig. 10 – Tiempo de entrada activa.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 19


CAPITULO 2. OPERACIÓN DE LOS PLCS.

Pero, ¿Qué pasa si no es posible que la entrada se mantenga durante el período


especificado?, Entonces el PLC no valida la entrada como activa. Para resolver este
tipo de problemas, actualmente existen 2 métodos.

Función alargamiento del pulso: Esta función extiende la duración de la señal de


entrada hasta que el PLC la lea en el próximo scan.

Fig. 11 – Alargamiento de pulso.

Función interrupción: Esta función interrumpe el scan para procesar una rutina
especial que el usuario haya programado. Esto es que tan pronto como la entrada se
activa, sin importar en que parte del scan este, el PLC inmediatamente para lo que
esta haciendo y ejecuta una rutina de interrupción. (Una rutina puede ser interpretada
como un mini programa aparte del programa principal). Después de realizar la rutina
de interrupción, el PLC regresa al mismo punto donde dejo el hilo principal y continúa
el proceso normal del scan.

Fig. 12 – Interrupción.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 20


CAPITULO 2. OPERACIÓN DE LOS PLCS.

Considerando ahora el máximo tiempo para que una salida se active, asúmase que
cuando un switch se activa se necesita activar una carga conectada a la salida del
PLC. El diagrama siguiente muestra el mayor retardo (El peor caso ya que la entrada
no es vista sino hasta el scan 2) para que la salida se active después de que la
entrada relacionada se ha activado. El máximo retardo es:

2 ciclos de scan – 1 tiempo retardo de la entrada.

Fig. 13 – Máximo retardo de operación.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 21


3
Capítulo

CONEXIONADO E INTERFACES DE ENTRADA / SALIDA.


3.1 Tipos de Entrada / Salida a los PLCs.

L
as entradas y salidas a un PLC le sirven para controlar y monitorear las
máquinas y procesos. Existen básicamente dos tipos de entradas / salidas a
los PLCs: Entradas-Salidas discretas, y Entradas-Salidas analógicas. Las
entradas discretas, también conocidas como entradas digitales, son las que poseen
dos estados: ON u OFF. Provienen de Pushbottons, detectores de proximidad,
interruptores de posición, etc. En la condición de ON, una entrada discreta puede ser
llamada como un 1 o como un ALTO, mientras que en la condición de OFF se
conoce como un 0 o como un BAJO.

Fig. 14 – Entradas – Salidas discretas al PLC.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 22


CAPITULO 3. CONEXIONADO E INTERFACES DE ENTRADA / SALIDA.

Las salidas discretas tienen también dos condiciones posibles: ON u OFF.


Ellas van a servir a las bobinas de los contactores, a válvulas selenoides, a luces
pilotos, etc.

Por su parte las entradas analógicas son voltajes o corrientes continuas que
provienen de procesos de control de temperatura, presión, flujo, nivel, etc.
Típicamente son señales cuyo rango es de 4 a 20 mA DC, o señales de rango de 0 a
10 voltios DC.

Fig. 15 – Entradas – Salidas analógicas al PLC.

Las salidas analógicas son señales de corriente o voltaje continuo. Pueden ser
tan simples como un nivel de 0 a 10 voltios que maneje un voltímetro analógico, o un
poco más complejas como señales de corriente que manejen convertidores corriente
- presión de aire que a su vez sirvan a actuadores como lo son Servo válvulas para el
control de flujo. Igualmente, con la interfase adecuada, servirían a otros tipos de
actuadores dentro de esos mismos procesos como lo son: servomotores, controles
de potencia de hornos, etc.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 23


CAPITULO 3. CONEXIONADO E INTERFACES DE ENTRADA / SALIDA.

3.2 Entradas al PLC.

L
as entradas a los PLCs son poco variadas. Las más populares son las DC
(Fuente o Sumidero) y las AC. Los rangos típicos de voltajes de entrada
listados en orden de popularidad son los siguientes:
• 12 – 24 Vdc
• 100-120 Vac
• 5 Vdc(TTL)
• 200-240 Vac
• 48 Vdc
• 24 Vac

El PLC debe convertir esta variedad de niveles lógicos de voltaje a niveles de


voltaje de lógica TTL (5 Vdc). Para lograr esto utiliza dos interfaces circuitales típicas:
DC a TTL, y AC a TTL.

Fig. 16 – Interfase típica de conversión DC a TTL.

Los optoacopladores son usados para aislar la circuitería interna de las


tensiones de alimentación externas. Esto elimina la posibilidad de que cualquier
voltaje dañino o cualquier ruido alcance los circuitos lógicos internos del PLC. Los
optoacopladores convierten la señal eléctrica de corriente o voltaje a una señal

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 24


CAPITULO 3. CONEXIONADO E INTERFACES DE ENTRADA / SALIDA.

luminosa, y luego la transforman de luminosa a eléctrica para que así los circuitos
lógicos del PLC puedan procesarla.

Fig. 16 – Interfase típica de conversión AC a TTL.

Una primera vista comparativa del uso de entradas DC o AC se da a continuación:


• Los voltajes DC usualmente son más bajos (12 – 24 V) y por lo tanto es
menos riesgoso operar con ellos.
• Las entradas DC son muy rápidas. Las entradas AC requieren de un tiempo
mayor para ser reconocida.
• Los voltajes DC pueden ser conectados a una gran variedad de equipos y
sistemas eléctricos.
• Las señales AC son más inmunes al ruido que las señales DC, por eso
pueden cubrir mayor distancia y ambientes ruidosos.
• El suministro AC es más fácil y menos costoso al momento de alimentar
equipos eléctricos.
• Las señales AC son muy comunes en muchos equipos de automatización.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 25


CAPITULO 3. CONEXIONADO E INTERFACES DE ENTRADA / SALIDA.

3.3 Entradas DC.

T
ípicamente existen módulos de entradas DC que trabajan a 5, 12, 24, o 48
voltios, pero el de uso más popular es el de 24 VDC. Los módulos de
entradas DC permiten conectar sensores transistorizados del tipo PNP
(fuente) o NPN (sumidero). Si se está usando un switch convencional (interruptores o
pushbutton) no hay cuidado si las entradas son NPN o PNP. Sin embargo, si se está
usando un sensor electrónico (fotoeléctricos, de proximidad, etc.) se debe tener
cuidado que su configuración de salida sea compatible con el tipo de entrada (NPN o
PNP) del PLC. La diferencia entre los dos tipos es que la carga (en este caso el PLC)
es conmutada a tierra o es conectado a un voltaje positivo. Un sensor tipo NPN
conmuta la carga a tierra, mientas que un sensor tipo PNP suministra a la carga un
voltaje positivo.

Fig. 17 – Etapa de salida de un sensor tipo NPN (Sumidero).

En este tipo de sensor se conecta uno de los terminales de salida al PLC,


mientras que el otro se conecta a la referencia de la fuente de alimentación. Si el
sensor no es alimentado de la misma fuente que alimenta al PLC, los negativos de
ambas fuentes deben unirse entre sí para formar un terminal de referencia común.
Los sensores NPN son de uso común mas que todo en Norte América.

En los sensores tipo PNP se conecta uno de los terminales de salida al


positivo de la fuente, mientras que el otro se conecta a la correspondiente entrada
del PLC. Si el sensor no es alimentado por la misma fuente que alimenta al PLC, se
deben conectar ambos V+'s entre sí. Los sensores tipo PNP son más comúnmente
usados en Europa.
Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 26
CAPITULO 3. CONEXIONADO E INTERFACES DE ENTRADA / SALIDA.

Fig. 18 – Etapa de salida de un sensor tipo PNP (Fuente).

Dentro del sensor el transistor actúa como un switch estático. Es decir, la


circuitería interna de procesamiento del sensor habilita al transistor de salida para
que se active cuando por ejemplo sea detectada la presencia de un objetivo. De esta
manera el transistor cerrará el circuito entre las 2 conexiones que se muestra arriba
(V+ y entrada del PLC).

Fig. 19 – Interfase DC de entrada al PLC.

En el PLC, lo único accesible al usuario son los terminales nombrados como


COMÚN, ENTRADA 0000, ENTRADA 0001, ENTRADA xxxx... El terminal común
debe conectarse a V+ o a tierra, dependiendo del tipo de sensor que se este usando.
Cuando se usan sensores tipo NPN el terminal se conecta a V+, mientras que
cuando se usan sensores tipo PNP el terminal común se conecta a 0V (tierra).

Un switch ordinario como por ejemplo un limit switch, pushbutton, selector, etc;
debe ser conectado a las entradas del PLC de una manera similar a la conexión de
los sensores descritos anteriormente. Un terminal del switch debe ser conectado
directamente a V+, mientras que el otro se debe conectar a la entrada del PLC, si se
asume compatibilidad PNP. Es decir esta conexión asume que el común esta
Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 27
CAPITULO 3. CONEXIONADO E INTERFACES DE ENTRADA / SALIDA.

conectado a 0v. Si por el contrario el común esta conectado a V+ (compatibilidad


NPN) entonces un extremo del switch debe ser conectado a 0V (ground) mientras
que el otro va al terminal de entrada en el PLC.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 28


CAPITULO 3. CONEXIONADO E INTERFACES DE ENTRADA / SALIDA.

3.4 Conexionado de entradas DC.

C
uando un sensor detecta un cambio lógico, él debe señalar ese cambio al
PLC. Esto típicamente lo consigue mediante la conmutación de un voltaje o
de una corriente de “ON” a “OFF” o viceversa. En este sentido existen
sensores con distintos tipos de salida:

v Salida tipo Switch o relé: Conmutan un voltaje DC o AC.

Fig. 20 – Salida tipo relé.

v Salida tipo TTL: Transistor Transistor Logic.

Fig. 21 – Salida tipo TTL.

v Salida DC tipo Sumidero: Conmutan corriente a tierra.

Fig. 22 – Salida tipo NPN.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 29


CAPITULO 3. CONEXIONADO E INTERFACES DE ENTRADA / SALIDA.

v Salida DC tipo Fuente: Corriente sale desde el sensor.

Fig. 23 – Salida tipo PNP.

3.4.1 Conexionado de entradas tipo NPN.


Cuando el sensor detecta un cambio lógico, permite que por dentro de él fluya
corriente en un camino hacia el común. Conmutando corriente en lugar de voltaje, se
resuelven muchos de los problemas del ruido eléctrico. La salida de un sensor tipo
sumidero esta compuesta por un transistor tipo NPN. En forma simple estos
sensores se conocen como tipo NPN, y los mismos necesitan de una fuente de
alimentación para poder funcionar.

Fig. 24 – Sensor NPN simplificado.

Si el sensor ha detectado algún fenómeno, activa el transistor permitiendo así


el flujo de corriente hacia el común.
Cuando se tiene una tarjeta de entrada que tiene un +V (no un común), entonces se
pude usar sensores tipo NPN. En este caso la corriente sale de la tarjeta (Fuente) y
el sensor la conmuta a tierra.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 30


CAPITULO 3. CONEXIONADO E INTERFACES DE ENTRADA / SALIDA.

Fig. 25 – Tarjeta simplificada del PLC para sensor tipo NPN.

3.4.2 Conexionado de entradas tipo PNP.


Cuando el sensor detecta un cambio lógico, permite que desde el +V salga
una corriente que fluyendo a través de él, active una carga o la entrada de un PLC.
Complementario al sensor tipo sumidero, la salida de un sensor tipo fuente consta de
un transistor tipo PNP. En forma simple estos sensores se conocen como tipo PNP, e
igualmente necesitan de una fuente de alimentación para poder operar.

Fig. 26 – Sensor tipo PNP simplificado.

Si el sensor ha detectado algún fenómeno, activa el transistor permitiendo así


que el flujo de corriente salga por el transistor.
Cuando se tiene una tarjeta de entrada que tiene un COM (común), entonces se
pude usar sensores tipo PNP. En este caso la corriente fluye hacia la tarjeta buscado
el común de la fuente de alimentación.
Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 31
CAPITULO 3. CONEXIONADO E INTERFACES DE ENTRADA / SALIDA.

Fig. 27 – Tarjeta simplificada del PLC para sensor tipo PNP.

3.4.3 Conexionado de sensores tipo 2 hilos.


Los sensores NPN o PNP a dos hilos se han hecho populares ya que ellos
reducen el cableado en las aplicaciones de PLCs. Un sensor a dos hilos puede ser
usado como Fuente o como sumidero. Necesita sólo de una pequeña corriente para
mantenerse polarizado, auque cuando se activa permite un mayor flujo de corriente.

Fig. 28 – Conexión de sensores de 2 hilos tipo PNP y NPN.


Finalmente, la conexión de sensores tipo 2 hilos requiere que la tarjeta de
entrada de los PLCs permita una cierta corriente de fuga, que sería la necesaria para
que el sensor opere en stand-by.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 32


CAPITULO 3. CONEXIONADO E INTERFACES DE ENTRADA / SALIDA.

Fig. 29 – Resumen de conexión de sensores DC tipo NPN.

Fig. 30 – Resumen de conexión de sensores DC tipo PNP.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 33


CAPITULO 3. CONEXIONADO E INTERFACES DE ENTRADA / SALIDA.

3.5 Entradas AC.

U
n voltaje AC es uno que no posee polaridad, es decir, no hay positivo o
negativo por el cual preocuparse a la hora de la conexión. Sin embargo
este tipo de entrada posee la desventaja de ser algo peligrosa (SHOCK
eléctrico) si no se toman las precauciones debidas. Los módulos de entrada AC que
existen típicamente trabajan con voltajes de 24, 48, 110, y 220 voltios.

Los módulos de entradas AC son menos comunes que los de entrada DC. La
razón es que la gran mayoría de los sensores actuales utilizan salidas
transistorizadas (NPN o PNP), y un transistor no trabaja con polarizaciones AC.

Fig. 31 – Entrada AC al PLC.

La conexión típica de los elementos de entrada AC a los módulos del PLC se


muestra en la figura de arriba. Comúnmente la línea activa (fase) se conecta a los
switch, mientras que el neutro se conecta a la entrada común del PLC. El terminal de
aterramiento de la red AC debe ser conectado a la carcasa del PLC.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 34


CAPITULO 3. CONEXIONADO E INTERFACES DE ENTRADA / SALIDA.

Los únicos terminales accesibles al usuario son los marcados como COMÚN,
ENTRADA 0000, ENTRADA xxxx. Un switch ordinario como por ejemplo un limit
switch, pushbutton, etc; debe ser conectado directamente a los terminales de
entrada. Un terminal del switch se conecta al conductor activo y el otro terminal va a
la entrada del PLC. Esto por supuesto asume que el terminal común esta conectado
al neutro.

Finalmente, vale mencionar que típicamente una entrada AC toma más tiempo
para que el PLC la vea que la que toma para una entrada DC. Sin embargo en
muchos casos esto no representa un problema ya que normalmente los elementos
de entrada AC son switch o elementos mecánicos que son bastantes lentos en su
reacción. Es común que un PLC requiera que la entrada este ON por 25 o más
milisegundos antes de que él la valide. Estos tiempo son requeridos para efectos de
filtrado de las entradas del PLC.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 35


CAPITULO 3. CONEXIONADO E INTERFACES DE ENTRADA / SALIDA.

3.6 Conexionado de entradas AC.

U
Pocas veces los PLCs incluyen la fuente para excitar las entradas y para
alimentar los sensores. Por esa razón hay que disponer de una fuente
externa.

Fig. 32 – Tarjeta de entrada AC típica.

La tarjeta de entrada compara el voltaje con la referencia (COM), si está


dentro de cierto rango, la entrada se activa. En este caso, el neutro es el punto de
referencia de voltaje(COM), por lo que sí existen otras fuentes hay que unir todos los
neutros. También, se debe tomar en cuenta que Tierra NO es igual a COM, el
aterramiento es usado para prevenir “shocks” eléctricos y daños de los equipos.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 36


CAPITULO 3. CONEXIONADO E INTERFACES DE ENTRADA / SALIDA.

3.8 Salidas del PLC.

L
os módulos de salida raras veces o nunca suplen potencia a las cargas,
más bien ellos actúan como switches. Fuentes externas son conectadas a
las tarjetas de salida de los PLCs y entonces ellas se encargan de conmutar
la potencia (ON u OFF) hacia cada salida. Los rangos típicos de voltajes típicos que
son conmutados en los módulos de salida son lo que se listan a continuación:
• 120 VAC
• 24 VDC
• 220 VAC
• 12 – 48 VAC
• 12 – 48 VDC
• 5 VDC (TTL)
Los módulos de salida normalmente tienen de 8 a 16 salidas de un mismo tipo: a
relés, a transistores, o a TRIACs. Los PLCs deben convertir los niveles lógicos TTL
(5 VDC) presente en el bus de datos a niveles de voltaje externos. Esto se logra con
el uso de circuitos de interfase como los mostrados a continuación, los cuales
además de usar básicamente un optoacoplador para conmutar la circuitería externa,
también utilizan algunos componentes para proteger la circuitería de voltajes
excesivos y de polaridad inversa.

Fig. 33 – Interfase típica para salida a relé.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 37


CAPITULO 3. CONEXIONADO E INTERFACES DE ENTRADA / SALIDA.

Las salidas a relé son las más flexibles con respectos al uso. Ellas son
capaces de conmutar tanto cargas AC como cargas DC. Sin embargo este tipo de
salida es bastante lenta (Tiempo de conmutación típico: 10 ms), de mayor tamaño,
de mayor costo, y de tiempo de vida más corto. Cuando se dedica un relé separado
por cada salida, a menudo se le conoce como contactos secos. Esto permite mezclar
voltajes (AC o DC a distintos niveles de tensión), así como también permite aislar las
salidas, protegiendo las mismas y al PLC mismo. Este método es menos sensitivo a
las variaciones y a los picos de voltaje.

Fig. 34 – Interfase típica para salida a transistor.

Fig. 35 – Interfase típica para salida a TRIAC.

Las salidas a transistores usan del tipo NPN o PNP y están limitadas a servir
cargas DC hasta 1 amp, mientras que las salidas a TRIACs sirven a cargas AC
típicamente hasta 1 Amp. Las salidas a transistores o a TRIACs son conocidas como
salidas conmutadas o salidas estáticas, y su tiempo de conmutación esta
normalmente por debajo de 1 ms..

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 38


CAPITULO 3. CONEXIONADO E INTERFACES DE ENTRADA / SALIDA.

3.9 Salidas a relé.

U
no de los tipos mas populares de salidas disponibles son las de relé. Esto
se debe a que un relé puede ser usado tanto con cargas AC como con
cargas DC. Algunas de las formas más comunes de cargas son
solenoides, lámparas, motores, etc; las cuales vienen en muchos tamaños eléctricos.
Por esta razón siempre hay que chequear las especificaciones de la carga antes de
conectarla a la salida del PLC, a fin de asegurar que la corriente máxima que ellas
consumen estará dentro de los límites permitidos en las especificaciones de las
salidas del PLC.

Existe un tipo de carga a las que se le debe prestar especial atención: las
llamadas cargas inductivas. Este tipo de carga tiene la tendencia de desarrollar una
sobrecorriente al energizarlas, y lo que es peor, desarrollan un sobre impulso de
voltaje inverso cuando son desactivadas. Esta corriente y voltaje inverso propensa el
daño de la salida a relés del PLC. Típicamente se deben usar diodos, varistores o
circuitos "snubber" para ayudar a combatir el daño de los relés de salida del PLC.

Fig. 36 – Módulo de salidas a relés.

Los relés de salida están dentro del PLC. La figura de arriba muestra un
diagrama circuital típico de las salidas a relés. Cuando la lógica del programa de
aplicación indica que se debe activar una salida física, entonces el PLC aplica un

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 39


CAPITULO 3. CONEXIONADO E INTERFACES DE ENTRADA / SALIDA.

voltaje a la bobina del relé correspondiente. Esto a su vez causará el cierre de los
contactos del relé activado. Luego, cuando los contactos cierran se permite el flujo de
corriente a través de la carga conectada en la salida en cuestión. Contrariamente,
cuando la lógica programada indica que se debe desactivar la salida física, el PLC
interrumpe el suministro de voltaje a la bobina del relé, causando la inminente
apertura de los contactos del mismo, y con ello la desactivación de la carga
conectada a esta salida.

Fig. 37 – conexión típica de un módulo de salidas a relés.

La figura de arriba muestra el modo típico de conexión de las salidas a relés


de los PLCs. Aunque la figura muestra sólo la conexión en circuitos DC, también se
puede conectar de manera similar en circuitos AC; ya que un relé es un elemento de
salida no polarizado y en consecuencia él puede conmutar tanto AC como DC. En
este caso se trata de salidas a contactos secos.

Un resumen de las salidas a relés es el siguiente: son relativamente lentas,


pueden conmutar corrientes algo grandes, tiene tiempo de vida relativamente
corto y trabajan tanto en AC como en DC.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 40


CAPITULO 3. CONEXIONADO E INTERFACES DE ENTRADA / SALIDA.

3.10 Salidas a transistores.

U
n transistor solo puede conmutar en circuitos de corriente directa. Por esta
razón el transistor no puede ser usado con voltajes de corriente alterna
(AC). En este tipo de aplicación, el transistor es tratado como un switch de
estado sólido. Una pequeña corriente aplicada a la “base” del transistor permite
conmutar una corriente considerablemente mayor a través de su unión Colector-
Emisor. Basado en este fundamento, Cuando la lógica programada en el PLC indica
que se debe activar una salida física, el PLC aplica una pequeña corriente a la base
del transistor de la salida en cuestión y así la misma “cierra sus contactos”. Una vez
establecido el flujo eléctrico a través de los contactos de la salida activada, la carga
conectada a esta salida se activara también.

En general existen dos tipos de transistores usados en la etapa de salida de


los PLCs: Transistores NPN y transistores PNP. El tipo “físico” de transistor usado
también varía de fabricante a fabricante. Algunos de los tipos mas comúnmente
usados son los BJT y los MOSFET. Un transistor tipo BJT(Bipolar Junction
Transistor) generalmente tiene menos capacidad de conmutación (Puede manejar
menos corriente) que uno tipo MOS-FET(Metal Oxide Semiconductor- Field Effect
Transistor). Sin embargo, el BJT tiene un tiempo de conmutación ligeramente más
pequeño que el tiempo de los MOS-FET. Al igual que con las salidas a relés, hay que
chequear las especificaciones dadas por el fabricante acerca de un grupo de salidas
a transistores en particular, a fin de verificar que la máxima corriente de carga no
exceda la del transistor.

La figura que se muestra a continuación incluye un típico diagrama circuital de


salida para una del tipo NPN.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 41


CAPITULO 3. CONEXIONADO E INTERFACES DE ENTRADA / SALIDA.

Fig. 38 – Salida a transistor.

Aquí también se muestra un foto acoplador cuya función es aislar los voltajes y
corrientes del mundo exterior de la circuitería interna del PLC. Cuando la lógica
programada indica que se debe activar esta salida, el circuito interno aplica un
pequeño voltaje al LED del foto acoplador el cual emite entonces una luz que causa
que el fototransistor permita el flujo de una pequeña corriente hacia la base del
transistor conectado a la salida 0500. De aquí que lo que este conectado entre el
COM y el terminal 0500 se active. Cuando la lógica programada indica que se debe
desactivar la salida 0500, entonces se deja de aplicar el voltaje al foto acoplador lo
que causa que ya el LED pare de emitir luz y así el transistor de salida conectado
entre 0500 y COM se desactivara “abriendo” sus contactos.

Fig. 39 – Conexión típica de un módulo de salidas a transistores.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 42


CAPITULO 3. CONEXIONADO E INTERFACES DE ENTRADA / SALIDA.

La figura anterior muestra la forma típica de conectar una salida a transistor.


Nótese que se trata de un transistor tipo PNP. Si la salida mostrada fuese una tipo
NPN, el terminal común estaría conectado a –V, mientras que el terminal final de
cada carga estaría conectado a +V.

Una cuestión importante ha denotar es que el transistor por lo general no


puede conmutar cargas tan altas como las que conmuta un relé. Para reparar esta
situación, si la carga a conmutar excede la permisible a través del transistor,
entonces se debe conectar un relé de interposición a la salida del PLC, y luego
conectar la carga a los terminales de este relé.

Un resumen de las salidas a transistor sería el siguiente: son rápidas, conmutan


sólo corrientes relativamente pequeñas, poseen largo tiempo de vida y trabajan
solamente con DC.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 43


4
Capítulo

CREACIÓN DE PROGRAMAS.

4.1 sustitución de los relés.

E
l principal propósito de los PLCs es remplazar los relés del mundo real. El
relé es un switch electromagnético. Aplicando un voltaje a la bobina, se
genera un campo magnético que atrae la armadura que sostiene los
contactos, causando entonces que los mismos produzcan la conexión. La
unión de los contactos permite que la corriente fluya entra los dos puntos
estableciendo así un circuito eléctrico.

Fig. 40 – Relé electromecánico.

Aquí se muestra el simple encendido de una campana cuando se cierra el


switch. Existe 3 partes del mundo real: Un switch, un relé y una campana. Siempre
que el switch se cierre se aplica una corriente eléctrica a la campana ocasionando
que la misma suene.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 44


CAPITULO 4. CREACIÓN DE PROGRAMAS.

Fig. 41 – Circuito de control por relé.

Nótese que existen 2 circuitos separados. El inferior que es la parte DC, y el


superior que es la parte AC. Aquí se esta usando un relé DC para controlar un
circuito AC, que es justamente la función de los relés.

Ahora, usemos un PLC en lugar de un relé. Lo primero por hacer es crear lo


que se conoce como un diagrama escalera (LADDER). Aunque los PLC son
computadoras que solo reconocen códigos de programación, afortunadamente
muchos de ellos poseen software con el cual puede convertir el diagrama escalera a
código de máquina.

Primer paso: se deben convertir todos los ítem del diagrama de control de la
aplicación a símbolos que el PLC entiende. El PLC no entiende de switch, relés o
campanas, mas bien él interpreta entradas, bobinas de salida, contactos, etc.

Primero se remplazará la batería con un símbolo. Este símbolo es común en


todos los diagramas escalera y son llamados barras de potencial. Las mismas son
simplemente dos líneas verticales, una a cada lada del diagrama. Se puede pensar
que la de la izquierda es el potencial “+”, mientras que la de la derecha es el
potencial “-“. Así el flujo lógico será de izquierda hacia la derecha.

Luego se colocará el símbolo de las entradas. En el ejemplo que se trata se


tiene una entrada del mundo real (el switch) el cual se representará con el símbolo

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 45


CAPITULO 4. CREACIÓN DE PROGRAMAS.

siguiente. Este símbolo también se puede usar para representar el contacto de un


relé.

Fig. 42 – Símbolo de un contacto.

Luego se debe colocar el símbolo de las salidas. En este ejemplo existe una
salida del mundo real (La campana). La salida estará físicamente conectada a la
campana. Dicha salida usa el siguiente símbolo.

Fig. 43 – Símbolo de una bobina.

El suministro de AC es una fuente externa y por lo tanto no se coloca en el


diagrama escalera. El PLC sólo tiene que ver con encender sus salidas sin importar
que está físicamente conectado a ellas.

Segundo paso: Debemos decir al PLC donde están ubicadas cada una de las
entradas y salidas mencionadas. En otras palabras debemos dar todas las
direcciones correspondientes a cada símbolo. Esto es: ¿Dónde esta físicamente
conectado el switch?, ¿Dónde esta conectada la campana?. Cada fabricante de
PLCs tiene su manera diferente de indicar estas direcciones, pero por ahora
asúmase que la entrada tiene la dirección “0000” y que la salida tiene la dirección
“500”

Paso final: Se debe convertir el esquemático de control en una secuencia


lógica de eventos. Esto es que el programa que se escribirá dirá al PLC que hacer
cuando ciertos eventos aparezcan en su contexto. En este ejemplo, se debe indicar
al PLC que hacer cuando el operador active el switch.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 46


CAPITULO 4. CREACIÓN DE PROGRAMAS.

Fig. 44 – Diagrama escalera del ejemplo.

La figura anterior representa la conversión del esquemático de control a un


diagrama escalera.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 47


CAPITULO 4. CREACIÓN DE PROGRAMAS.

4.2 Lenguajes de programación.

E l estándar IEC 1131-3 define 5 lenguajes de programación que pueden


ser usados para definir los procedimientos de control y automatización.

1. Nemónicos o Lista de instrucciones: Es un lenguaje de bajo nivel basado


en operaciones Booleanas y cuya apariencia es similar al código del lenguaje
ensamblador.

ETIQUETA INSTRUCCIÓN OPERANDO

00001 LD 00001

00002 LDN 00002

00003 AND

00004 LD 00003

00005 LD 00004

00006 AND

00007 OR

00008 ST 00107

00009 END

Tabla 1 – Ejemplo de programación en lista de instrucciones.

2. Diagrama Escalera: Es un lenguaje de programación gráfica que conserva la


estructura de los diagramas eléctricos de control.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 48


CAPITULO 4. CREACIÓN DE PROGRAMAS.

Fig. 45 – Ejemplo de diagrama escalera.

3. Gráficos secuenciales (GRAFCET): Este lenguaje divide el ciclo de proceso


en un cierto número de pasos bien definidos, y en transiciones que los
separan. Este lenguaje es el núcleo del estándar IEC 1131-3. Los otros
lenguajes se usan para describir las acciones realizadas en cada uno de los
pasos, y para describir las condiciones lógicas para pasar de una etapa a otra
(Transiciones).

4. Diagrama de bloques funcionales: Es un lenguaje gráfico que permite al


usuario construir procedimientos complejos mediante la unión de bloques
funcionales prediseñados.

Fig. 46 – Programación con bloques funcionales.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 49


CAPITULO 4. CREACIÓN DE PROGRAMAS.

Fig. 47 – Ejemplo de diagrama GRAFCET.

5. Texto estructurado: Este es un lenguaje estructurado de alto nivel parecido


al PASCAL, pero más intuitivo para el ingeniero de control. Este lenguaje es
usado principalmente para implementar procedimientos complejos que no
pueden ser expresados mediante lenguajes gráficos.

Fig. 48 – Ejemplo de código de programación con texto estructurado.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 50


CAPITULO 4. CREACIÓN DE PROGRAMAS.

4.3 Instrucciones básicas.

A continuación se detallan las instrucciones básicas de los PLCs.

Cargar(Load): La instrucción cargar o “Load” (LD) se refiere a un contacto


abierto. En otros casos se describe como la instrucción “examinar sí esta on”
(examine if on: XIO). El símbolo usado es el siguiente:

Fig. 49 – Símbolo para la instrucción “LoaD”

Este símbolo es usado cuando se requiere que la señal este presente para
que el símbolo este lógicamente activo. Cuando la entrada física esta activa o en alto
se puede decir que la condición lógica del símbolo es “Cierta”. El PLC examina si la
señal de entrada esta en “on”, es decir, si la entrada física está “on” entonces el
símbolo también estará “on”. Una condición “on” también se conoce como un estado
lógico “1” o un “alto”.

Este símbolo normalmente puede ser usado con entradas internas, entradas
externas y contactos de salida externos.

Cargar Barra(LoadBar): La instrucción “LoaDBar” se refiere a un contacto


cerrado. También es conocida como “examinar si esta cerrado” (examine if closed:
XIC) y como “Cargar negado” (LoaDNot: LDN). Esto es examinar si la entrada física
esta desactivada. El símbolo para la instrucción LoadBar es el siguiente:

Fig. 50 – Símbolo para la instrucción LoaDBar.

Es usado cuando se requiere que el símbolo este activo en ausencia de señal.


Esto es, cuando la señal física esta en “off” o en un nivel “bajo”, entonces el símbolo

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 51


CAPITULO 4. CREACIÓN DE PROGRAMAS.

tiene la condición lógica “cierto”. En otras palabras, el PLC examina si la entrada


física esta “off” y luego asigna al símbolo el estado lógico “on”. Una condición “off”
también se trata de un estado lógico “0”.

Este símbolo es usado con entradas internas, entradas externas y algunas


veces con contactos de salida externos.

NOTA: En muchos PLCs las instrucciones LoaD y LoaDBar deben es obligatorio que
sean el primer símbolo a la izquierda del diagrama escalera.

Estado Lógico Load LoadBar


0 Falso Cierto
1 Cierto Falso

Tabla 2 – Resultados lógicos de las instrucciones LOAD y LOADBAR.

Salida(Out): La instrucción Out conocida en algunos casos como Energice la


salida (OutputEnergize) es similar a la bobina de un relé. El símbolo usado es el
siguiente:

Fig. 51 – Símbolo OUT (Bobina de salida)

Cuando en un “peldaño” existe una secuencia de símbolos con condición


lógica “cierta” que preceden esta instrucción, entonces se activa la salida física
correspondiente a la dirección indicada en la instrucción OUT. Esto es equivalente a
una salida que esta normalmente desenergizada. Esta instrucción es usada tanto en
bobinas internas que son simuladas (no existen físicamente) como en salidas hacia
el mundo exterior.

SalidaBarra(Outbar):La instrucción Outbar se conoce también como salida


negada (OutNot). Es similar a la bobina de un relé que esta normalmente energizada.
El símbolo usado para esta instrucción corresponde a:

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 52


CAPITULO 4. CREACIÓN DE PROGRAMAS.

Fig. 52 – Símbolo instrucción OUTBar(Bobina normalmente energizada)

Cuando en un “peldaño” existe una secuencia de símbolos con condición


lógica “Falso” que preceden esta instrucción, entonces se activa la salida física
correspondiente a la dirección indicada en la instrucción OUTBar. Esto es
equivalente a una salida que esta normalmente energizada. Esta instrucción es
usada tanto en bobinas internas que son simuladas (no existen físicamente) como en
salidas hacia el mundo exterior.

Estado Lógico Out OutBar


0 Falso Cierto
1 Cierto Falso

Tabla 3 – Resultados lógicos de las instrucciones OUT y OUTBAR.

Ejemplo

Comparemos un diagrama escalera simple con circuitos de relés


interconectados como el de la figura para apreciar las diferencias.

Fig. 53 – Circuito con lógica a relés.

En el circuito anterior, la bobina se energizara cuando exista un circuito


cerrado entre los terminales positivo y negativo de la batería. Este mismo circuito se
puede representar mediante un diagrama escalera que consiste de peldaños
individuales justo como en una escalera real. Cada peldaño debe contener una o
más entradas, y una o más salidas. La primera instrucción en un peldaño debe ser
siempre una instrucción de entrada, y la última instrucción del peldaño debe ser
siempre una salida o su equivalente.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 53


CAPITULO 4. CREACIÓN DE PROGRAMAS.

Fig. 54 – Diagrama escalera del ejemplo.

Nótese que en este diagrama escalera se ha usado las instrucciones LoaD y


OUT, además de la instrucción END que requieren algunos PLCs para indicar que es
el último peldaño del programa. Algunos PLCs también requieren la instrucción
ENDH en el último peldaño antes de la instrucción END.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 54


CAPITULO 4. CREACIÓN DE PROGRAMAS.

4.4 Registros de direcciones en los PLCs.

E
n el ejemplo anterior, cambiando el switch 2 por un símbolo de contacto a
la apertura (LoaDBar), se cambiaría el diagrama escalera a la siguiente
forma:

Fig. 55 – Diagrama escalera con dirección de operandos.


Nótese que a cada símbolo (o instrucción) ahora se le asigno una dirección.
Esta dirección especifica una cierta área de almacenamiento en los registros de
datos del PLC, de tal manera que el estatus de la instrucción (verdadero o falso)
puede ser almacenado. Muchos PLCs usan registros de 16 bits. En el ejemplo
anterior se esta asumiendo que SW1 estará en principio físicamente abierto (off) y
que el SW2 estará en principio físicamente cerrado (on). Igualmente se esta
asumiendo que el registro 00 almacena el estatus de las entradas y que el registro 05
es la tabla de imagen de las salidas.

REGISTRO 00
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
1 0

REGISTRO 05
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
0

Tabla 4 – Registros del PLC.


En las tablas anteriores se puede apreciar que en el registro 00, el bit 00 (esto
es entrada 0000) tiene un estatus bajo, mientras que el bit 01 (entrada 0001) tiene un
estatus alto. Por otra parte el registro 05 muestra que el bit 00 (salida 0500) posee un
estatus bajo.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 55


CAPITULO 4. CREACIÓN DE PROGRAMAS.

Por otra parte, los estados lógicos bajo (0) y alto (1) indican cuando la
instrucción es Falsa o Cierta respectivamente.

CONDICIÓN LÓGICA DEL SÍMBOLO


BITS LÓGICOS LD LDB OUT
0 Logic Falso Cierto Falso
1 Lógico Cierto Falso Cierto
Tabla 5 – Resultados lógicos de las instrucciones del diagrama escalera anterior.

El PLC sólo energizara una salida cuando todas las condiciones lógicas
en un peldaño sean Cierta. De aquí que mirando la tabla anterior se concluya que
en el ejemplo el SW1 debe poseer un estatus y estado lógico alto (1), mientras que el
SW2 debe poseer un estatus bajo, para que así el PLC asigne a la salida un estado
lógico 1(cierto), energizando la salida física. Si alguna instrucción en el peldaño es
Falso, entonces el estado lógico de la salida será Falso y de esa manera no se
activará la salida física.

En la siguiente tabla de la verdad se exploran las distintas combinaciones a


las que puede dar lugar el ejemplo que se esta analizando.

Estatus de entradas Estatus Salida Estado Lógico del símbolo


SW1 SW2 BOBINA LD 0000 LDB 0001 OUT 0500
Abierto(0) Abierto(0) Desenergizada 0 1 0
Abierto(0) Cerrado(1) Desenergizada 0 0 0
Cerrado(1) Abierto(0) energizada 1 1 1
Cerrado(1) Cerrado(1) Desenergizada 1 0 0

Tabla 6 – Tabla de la verdad del ejemplo.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 56


CAPITULO 4. CREACIÓN DE PROGRAMAS.

4.5 Un ejemplo de control de nivel.

C onsiderese la siguiente aplicación: Sea desea controlar el suministro de


aceite proveniente de un tanque. Para lo anterior se usarán dos sensores:
uno en las proximidades del fondo del tanque y el otro en el borde superior.

Fig. 56 – Tanque dispensador de aceite.


Se desea que la bomba de llenado inyecte aceite al tanque hasta que el
sensor superior se active. Alcanzada la condición anterior se debe apagar el motor
de la bomba y mantenerlo desactivado hasta que el tanque se vacié y caiga por
debajo del nivel del sensor inferior. Entonces se debe encender nuevamente la
bomba de llenado y repetir el proceso según lo descrito anteriormente.

En esta aplicación son necesarios 3 I/O (Entradas / salidas): 2 entradas para


los sensores y 1 salida para el motor de la bomba. Asúmase por ejemplo que ambos
sensores serán normalmente cerrados (NC) del tipo de sensores de nivel de fibra
óptica. Cuando ellos NO están inmersos en el liquido estarán activados.
Contrariamente, cuando están inmersos en el liquido estarán desactivados.

Por otra parte, hay que asignarle a cada una de las Entradas / salidas una
dirección en el PLC, para que el mismo conozca donde están físicamente
conectadas tanto las entradas como las salidas. Las direcciones escogidas se
muestran en la siguiente tabla:

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 57


CAPITULO 4. CREACIÓN DE PROGRAMAS.

Entrada Dirección Salida Dirección Relés Internos


Sensor bajo nivel 0000 Motor 0500 1000
Sensor alto nivel 0001
Tabla 7 – Asignación de E/S y bits internos del ejemplo.
La siguiente figura muestra el diagrama escalera resultante de esta aplicación.
Nótese que se están usando relés internos aunque no son estrictamente necesarios.
Se pueden usar los contactos de este relé tantas veces como se desee. En este
ejemplo se usan los contactos dos veces para simular un relé de 2 contactos.
Recuérdese que estos relés no existen físicamente en el PLC, sino que en vez de
eso son bits en un registro que el PLC usa para simular este tipo de utilidad.

Fig. 57 – Diagrama escalera para el control de nivel.

Se debe recordar que la principal razón para usar los PLCs en la mayoría de
las aplicaciones es para sustituir los relés del mundo real, y en ese sentido los relés
internos del PLC hacen esta acción por lo demás posible. Es imposible indicar
cuantos relés internos vienen en cada tipo o marca de PLC. Algunos incluyen cientos
de relés, otros miles de relés. Típicamente, el tamaño del PLC (no es tamaño físico)
es el factor que marca la pauta. Si se esta usando un micro-PLC con pocas entradas
/ salidas, normalmente no se necesitarán muchos relés internos, pero si en cambio
se esta usando un PLC mayor con cientos o miles de entradas / salidas, obviamente
se necesitaran gran cantidad de relés internos.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 58


CAPITULO 4. CREACIÓN DE PROGRAMAS.

4.6 Ejecución del programa de control de nivel.

I
nicialmente el tanque esta vacío. Por lo tanto la entrada 0000 esta en 1 y la
entrada 0001 también esta en 1. Así al final del primer SCAN se activa el relé
interno 1000. Al comienzo del segundo SCAN las condiciones permanecen
iguales excepto que ahora el bit interno 1000 se está auto reteniendo a través de su
contacto 1000 del segundo peldaño, y al final de este SCAN se activa la salida física
0500.

a) b)

Fig. 58 – a) Scan 1. b) Scan 2 - 100.

Gradualmente el tanque se va llenando gracias a que 0500 esta activa y con


esto se activa el motor de la bomba.

Después de 100 SCANs el nivel de aceite alcanza el sensor de bajo nivel por
lo que el se activa y abre su contacto. De este manera pasa a un estado lógico
FALSO .

Fig. 59 – Scan 101 – 1000.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 59


CAPITULO 4. CREACIÓN DE PROGRAMAS.

Nótese que aun cuando el sensor 0000 es FALSO, aun existe el camino lógico
de izquierda a derecha a trabes del relé interno 1000. Este relé interno permanecerá
en ese estado hasta tanto el sensor 0001 se haga FALSO y se rompa de esta
manera el camino lógico que mantiene al relé 1000. Esto último ocurrirá después del
SCAN 1000 que es cuando el nivel de aceite alcanzará el sensor de nivel alto
ocasionando que éste abra su contacto entrando en una condición lógica FALSO.

a) b)

Fig. 60 – a) Scan 1001. b) Scan 1002.

Ya que no existe ningún camino lógico hacia la salida 0500, la misma se


desactivara apagando así el motor de llenado.

Después del SCAN 1050 el nivel de aceite cae por debajo del sensor de nivel alto y
él se hace CIERTO otra vez.

Fig. 61 – Scan 1050.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 60


CAPITULO 4. CREACIÓN DE PROGRAMAS.

Nótese que aunque el sensor de nivel alto se hace CIERTO, aun no hay
camino lógico hacia el relé interno 1000 y por lo tanto el motor sigue apagado.

Después del SCAN 2000 el nivel de aceite cae por debajo del sensor de bajo
nivel, haciéndose CIERTO y estableciendo un camino lógico CIERTO hacia el relé
1000. En este punto se cae nuevamente en la condición del SCAN 1, repitiéndose el
proceso descrito.

(VER ANIMA1.PPT EN EL CD ANEXO).

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 61


5
Capítulo

PRINCIPALES INSTRUCCIONES.

5.1 Álgebra Booleana.

E l álgebra Booleana permite realizar operaciones básicas con los bits


contenidos en los registros del PLC. Las funciones básicas incluyen las
operaciones: AND, OR y XOR.

• AND- Esta función habilita el uso de la tabla de la verdad mostrada a


continuación.

Resultado = A AND B
A B Resultado
0 0 0
1 0 0
0 1 0
1 1 1

Tabla 8 – Tabla de la verdad función AND.

Aquí se puede observar que la operación AND esta relacionada con la


multiplicación ya que la única vez que el resultado es cierto es cuando los dos
operándoos son ciertos al mismo tiempo.
La función AND es útil sobretodo cuando el PLC no cuenta con funciones de
enmascaramientos de registros. Cuando se trabaja a nivel de bits, la función de
enmascaramiento permite dejar en un registro dado un único bit. Esto se debe a
que cualquier bit que sea operado a través de una AND con sigo mismo

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 62


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

permanecerá en el valor cierto o falso que ostente en ese momento. Por ejemplo
si se desea hacer cero solamente 12 de los 16 bits de un cierto registro, se puede
realizar una AND con un registro de 0’s en todas las posiciones excepto en los
cuatro bits donde se desea mantener el estado que poseen.

• OR- Esta función se basa en la tabla de la verdad que a continuación se


presenta.

Resultado = A OR B
A B Resultado
0 0 0
1 0 1
0 1 1
1 1 1

Tabla 9 – Tabla de la verdad función OR.

Aquí se puede ver que la función OR esta relacionada con la adición ya que
mientras A o B sean ciertos, el resultado será cierto.

• EXOR- Esta función sigue la tabla de la verdad presentada a continuación.

Resultado = A XOR B
A B Resultado
0 0 0
1 0 1
0 1 1
1 1 0

Tabla 10 – Tabla de la verdad función XOR.

Aquí se puede ver que la función no esta relacionada a nada. Una nemotécnica
para recordar sus resultados es pensar que los operando deben ser opuestos
para que el resultado sea cierto. Si por el contrario los operando son iguales el
resultado será falso.
Esta operación es algunas veces útil cuando se desea comparar dos bits en dos

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 63


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

registros y resaltar cuales son diferentes. Esta operación es igualmente necesaria


cuando se calcula alguna checksum sobre todo en caso de protocolos de
comunicaciones. Una operación de checksum se usa comúnmente para chequear
los errores en las comunicaciones.

Las instrucciones del diagrama escalera son llamadas típicamente como: AND,
ANDA, ANDW, OR, ORA, ORW, XOR, EORA XORW.

Existen generalmente 2 métodos para llevar a cabo estas instrucciones. El primer


método se refiere a una instrucción simple que requiere de tres entradas:

• Operando A- Esta es la dirección de memoria del primer operando.

• Operando B- Esta es la dirección de memoria del segundo operando.

• Destino- Esta es la dirección de memoria donde se almacenará el resultado.


Por ejemplo si A AND B = 0 el resultado se colocará automáticamente en la
dirección de memoria indicada en el destino.

Fig. 62 – Símbolo AND

Las instrucciones AND, OR, y XOR en cualquier PLC típico tendrían un


símbolo parecido al de arriba. Remplazando por supuesto la etiqueta AND por OR o
XOR según corresponda. En el símbolo anterior, El operando A esta en la dirección
de memoria DM100, El operando B esta en la dirección de memoria DM101 y el
resultado se almacenará en la dirección de memoria DM102. Por lo tanto aquí se ha
creado simplemente la ecuación Booleana DM100 AND DM101 = DM102. El
resultado es almacenado automáticamente en la dirección DM102.

El siguiente diagrama escalera muestra el uso de la función Boolena AND.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 64


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

Fig. 63 – Instrucción AND en el diagrama escalera.

Nótese igualmente el uso de la instrucción DIFU para garantizar que la


instrucción AND se ejecute solamente durante un scan una vez que se halla activado
la entrada de validación 0000.

Fig. 64 – Símbolo AND(método de la instrucción dual)

El método de la instrucción dual usa un símbolo similar al que se muestra


arriba. En este método sólo se suministra con el símbolo la dirección del operando B.
La dirección del operando A se suministra con la operación LDA, y la dirección del
destino del resultado se suministra con la operación STA.

Fig. 65 – Uso de la instrucción dual para el AND en el diagrama escalera.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 65


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

El resultado es idéntico al obtenido con el método de la instrucción simple. Para


realizar las operaciones de OR y XOR con el método dual, sólo se debe cambiar la
etiqueta del símbolo AND por la correspondiente OR o XOR.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 66


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

5.2 Instrucciones memorizadas.

L
as bobinas de salida son parte esencial de los programas en los PLCs, pero
hay que tomar en cuenta que ellas se activan mientras que todas las
instrucciones que la preceden en el peldaño están también activas.
Regresando al ejemplo de los relés y la campana previamente visto, ¿Qué pasaría si
no se cuenta con un switch ON / OFF?. Se tendrá que mantener entonces el
pulsador accionado tanto tiempo como se desee que la campana suene. En los
PLCs, la instrucción de retención permite que se usen switch de acción momentánea
para mantener una bobina activa indefinidamente hasta tanto se le aplique la
instrucción de liberación.

La instrucción de retención comúnmente se llama SET, mientras que la


instrucción de liberación se llama RESET. El diagrama siguiente muestra el uso de
estas dos instrucciones.

Fig. 66 – Uso de la instrucción SET y RESET.

Aquí se están usando dos switches tipo “push button”. Uno de ellos esta
físicamente conectado a la entrada 0000 del PLC, mientras que el otro esta
conectado a la entrada 0001 del mismo. Cuando el operador oprime el switch 0000
la instrucción "set 0500" se hace cierta por lo que entonces se activa la salida física
0500. Aunque el operador deje de oprimir el switch, la salida 0500 permanecerá
Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 67
CAPITULO 5. PRINCIPALES INSTRUCCIONES.

activada ya que esta enclavada en ON. La única manera de desactivar la salida 0500
es activando la entrada 0001, lo que causará que la instrucción "res 0500" se haga
cierta restaurando así la salida física 0500.

(VER ANIMA2.PPT EN EL CD ANEXO)

Fig. 67 – Figura animación uso de la instrucción SET y RESET.

Por otra parte, ¿Qué pasaría si se activan las dos entradas(0000 y 0001) al
mismo tiempo?, ¿La salida 0500 estará enclavada en ON o restaurada en OFF?

Para responder a esta pregunta se debe pensar en la secuencia del scan que
ejecuta el PLC. El diagrama de escalera siempre es barrido de arriba hacia a bajo y
de izquierda a derecha. Lo primero que se ejecuta en el scan es el monitoreo de las
entradas física. Esto arrojará que tanto 0000 como 0001 están activas. Luego el PLC
ejecuta el programa y resuelve: Comenzando por el tope izquierdo, como 0001 esta
activa entonces la salida 0500 debe estar lógicamente activa. En segundo lugar,
como en el próximo peldaño 0001 esta activa, entonces la salida 0500 debe estar
lógicamente inactiva o en cero. Finalmente, en la última parte del scan que es donde
se actualizan las salidas, se mantendrá el último estado lógico (reset 0500) de la
salida 0500 que no es otro distinto a que la salida física se mantenga desactivada.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 68


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

5.3 Contadores.

U n contador es un elemento diseñado simplemente para contar eventos, sin


embargo dependiendo del fabricante pueden existir en general tres tipos
de contadores: Contadores ascendentes los cuales cuentan solamente
ascendentemente (1, 2, 3, …) y que usualmente se denotan como CTU(count up);
Contadores descendentes los cuales cuentan solamente descendentemente (9, 8,
7, …) y que usualmente se denotan como CTD (count down); y Contadores
bidireccionales los cuales cuentan tanto ascendente como descendentemente (1, 2,
3, 4, 3, 2, 3, 4, 5,...) y que usualmente se denotan como UDC(up-down counter) o
simplemente C.

También, muchos fabricantes incluyen un numero limitado de contadores de


alta velocidad denotados usualmente como HSC (high-speed counter). Típicamente
el contador rápido es un dispositivo del hardware del PLC, mientras que los
contadores mencionados anteriormente son implementados mediante software. Es
decir, mientras que los contadores ordinarios no existen físicamente sino que son
simulados en el programa monitor del PLC, los contadores de alta velocidad si
existen como elemento del hardware y funciona de esta manera en forma
independiente del tiempo de scan del PLC.

Una buena regla práctica es simplemente usar los contadores normales


(software) cuando los pulsos que se estén contando arriben con periodos mayores a
2 veces el tiempo del SCAN. Por ejemplo, si el tiempo de SCAN es 2 ms y los pulsos
que se están contado llegan cada 4 ms o más, es posible usar los contadores
normales. Si al contrario los pulsos arriban cada 3 ms hay que hacer uso de los
contadores rápidos.

Típicamente los contadores de 16 bits pueden contar desde 0 hasta 9999


usando BCD (decimal codificado en binario), -32,768 hasta +32,767 o 0 hasta 65535
usando codificación binaria normal. Cuando el programa esta corriendo en el PLC, el

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 69


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

valor actual o el acumulado del contador puede ser visualizado en la consola de


programación y ajuste del PLC (Hand held).

A continuación se pueden ver algunos ejemplos de la instrucción del contador.

Fig. 68 – Bloque contador típico.

Este contador usa 2 entradas: la primera es la entrada de RESET la cual al


activarse restaura a cero el valor actual o el acumulado del PLC. La segunda entrada
es por donde entrarían los pulsos que se desean contar. Por ejemplo si se esta
contando cuantas piezas pasan por el frente de un detector inductivo que esta
físicamente conectado a la entrada 0001, entonces se debe colocar un contacto al
cierre con la dirección 0001 en la segunda línea de entrada(pulse).

Cxxx es la dirección o el nombre del contador. Si se desea nombrarlo como el


contador cero (0), se debe colocar ahí "C000".

yyyyy es el preset o el número de pulso que se desean contar antes de que el


contador active su salida. Por ejemplo, si se desean contar 5 piezas antes de que se
active la salida física que activa el mecanismo de embalaje de las piezas, habrá que
colocar ahí el número 5 en decimal. Cuando el contador ha alcanzad el valor del
preset entonces él activara un conjunto de contactos etiquetados también con la
dirección C000 y que pueden ser utilizados en cualquier parte del programa de la
aplicación.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 70


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

Fig. 69 – Uso del Bloque contador en un diagrama escalera.

En el diagrama escalera anterior se puede apreciar como el contador C000


debe contar 100 pulsos provenientes de la entrada 0001 antes de activar la salida
0500. El sensor 0002 es el encargado de restaurar a cero el contador.

Fig. 70 – Símbolo típico de un contador bidireccional .

En este tipo de contador se requieren 3 entradas: La entrada de RESET la


cual tiene la misma función que en el contador mencionado anteriormente, la entrada
UP para contar ascendentemente y la entrada DOWN para avanzar
descendentemente. En este ejemplo se llamara al contador como UDC000 y se le
pondrá un valor de preset igual a 1000. (se desean contar 1000 piezas. El diagrama
escalera correspondiente se muestra a continuación.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 71


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

Fig. 71 – Uso del Bloque contador bidireccional en un diagrama escalera.

(VER ANIMA3.PPT EN EL CD ANEXO)

Fig. 72 – Figura animación uso del bloque contador.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 72


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

5.4 Temporizadores.

L
os temporizadores son instrucciones que aguardan una predeterminada
cantidad de tiempo antes de ejecutar una acción. Existen diferentes tipos de
temporizadores según el fabricante. Los más comunes son los siguientes:

• Temporizadores al trabajo (On-Delay timer)- Este tipo de temporizador


simplemente retraza el encendido. En otras palabras, después que un sensor
(entrada) activa la temporización, el temporizador espera por un tiempo
predeterminado antes de activar su salida. Este es el más común de los
temporizadores y usualmente se denota como TON (timer on-delay), TIM
(timer) o TMR (timer).

• Temporizadores al reposo (Off-Delay timer)- Este temporizador retarda la


desactivación de una salida. Por ejemplo, después que un sensor detecta un
objetivo, se activa inmediatamente una salida, y luego cuando ya el sensor no
esta detectando más el objetivo, la salida se mantiene encendida por un
tiempo determinado antes de desactivarla. El símbolo para este tipo de
temporizadores es TOF (timer off-delay) y es menos común que el
temporizador ON-DELAY.

• Temporizador acumulativo o de retención- Este tipo de temporizador


requiere de dos entradas. Una de las entradas inicia la temporización y la otra
la restaura a cero. La temporización de los mencionados anteriormente es
restaurada a cero una vez que la entrada del sensor que los activa cambia de
estado sin que haya concluido la temporización, mientras que este tipo de
temporizador mantiene el tiempo de temporización que haya transcurrido
cuando el mismo sea desactivado a mitad del ciclo de temporización. Por
ejemplo, si se desea conocer cuanto tiempo estuvo un sensor activado
durante el intervalo de una hora, hay que usar temporizador acumulativo ya
que si se usan los ordinarios (on / off delay) el temporizador que lleva la

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 73


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

cuenta del tiempo se mantendría reseteado cada vez que el sensor se


desactive / active. Un símbolo para este tipo de temporizador es RTO
(retentive timer) o TMRA (accumulating timer).

Finalmente, mientras el programa de aplicación esta corriendo en el PLC, se


puede acceder mediante la consola de programación al tiempo de temporización
transcurrido o al acumulado según corresponda. Estos tiempos mencionados se
expresan en pulsos de reloj que de acuerdo al fabricante se ofrecen en varias bases
de tiempo, siendo las más típicas: 1, 10, 100 mseg, 1 seg y 1 min. Los valores de
preselección para las funciones de temporización van desde 0 hasta 9999, o desde 0
hasta 65535 pulsos de reloj.

Fig. 73 – Símbolo básico de una instrucción de temporización.

Este temporizador es uno del tipo on-delay direccionado como Txxx. Cuando
la entrada de activación (enable) se pone en un nivel alto comienza la temporización.
Cuando los pulsos de temporización han alcanzado el valor de preselección yyyyy,
él activará sus contactos que se podrán usar en cualquier forma y punto del
programa de aplicación. Hay que recordar que la duración de cada pulso de reloj
depende del tiempo base usado el cual se ajusta para cada temporizador con la
ayuda de la consola de programación.

Fig. 74 – Uso del temporizador on delay en el diagrama escalera.


Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 74
CAPITULO 5. PRINCIPALES INSTRUCCIONES.

En este diagrama cuando la entrada 0001 se activa, el temporizador T000 (un


temporizador con base de tiempo igual a 100ms) comienza a contar los pulsos de
base de tiempo hasta que alcance los 100 pulsos que son el valor de preselección.
Como cada pulso corresponde a 100 ms, entonces la temporización total será de 10
seg (100 pulsos X 100ms = 10,000ms =10 segundos). Cuando los 10 segundos se
han agotado, el contacto de T000 cierra activando así la salida 0500. También,
cuando la entrada 0001 cae a cero el temporizador T000 se restaura a cero
causando la apertura de su contacto, y con ello la desactivación de la salida 0500.

(VER ANIMA4.PPT EN EL CD ANEXO)

Fig. 75 – Figura animación uso del bloque temporizador on delay.

Un temporizador de acumulación típico sería como el siguiente.

Fig. 76 – Símbolo básico de un temporizador acumulativo.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 75


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

Este temporizador es direccionado como Txxx. Cuando la entrada de


activación (enable) se pone en un nivel alto comienza la temporización. Cuando los
pulsos de temporización han alcanzado el valor de preselección yyyyy, él activará
sus contactos que se podrán usar en cualquier forma y punto del programa de
aplicación. Si por ejemplo, la entrada ENABLE cae a cero antes de que termine la
temporización, el valor en curso se conservará, y cuando la entrada vuelva a su nivel
alto continuará la temporización tomando en cuenta el tiempo ya computado. La
única manera de forzar al temporizador a que comience la temporización desde el
principio es poner un nivel alto en la entrada de RESET.

A continuación esta la instrucción de temporización en el diagrama escalera.

Fig. 77 – Uso del temporizador acumulativo en el diagrama escalera.

En este diagrama cuando la entrada 0002 se activa, el temporizador T000 de


base de tiempo 10 ms comienza a contar pulsos hasta alcanzar 100 unidades que
corresponden a 1 segundo (100 pulsos X 10ms = 1,000ms= 1 segundo). Cuando se
alcanza la temporización de 1 segundo se cierra el contacto T000, activando de esta
manera la salida 0500. Si la entrada 0002 cae hasta cero el tiempo contabilizado
hasta el momento se retendrá hasta que la misma vuelva al nivel alto continuando la
temporización en el punto que se dejó, o hasta que se active la entrada 0001
(RESET) con lo que se restauraría a cero el tiempo contabilizado y se iniciaría desde
cero cuando se active 0002.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 76


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

(VER ANIMA5.PPT EN EL CD ANEXO)

Fig. 78 – Figura animación uso del bloque temporizador acumulativo.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 77


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

5.5 Precisión de los Temporizadores.

C uando se utilizan temporizadores con tiempos de retardo de algunos


segundos, no hay gran cuidado con su precisión ya que la misma es
insignificante. Sin embargo, cuando se utilizan temporizadores en el rango
de los milisegundos, su precisión si es de cuidado.

En general hay dos tipos de error a tomar en cuenta cuando de temporizadores


se trata: error de entrada y error de salida. El error total es la suma de los dos
anteriores.

• Error de entrada- Este tipo de error ocurre dependiendo del momento del
ciclo de scan del PLC donde se active la entrada del temporizador. Si la
entrada del temporizador se activa inmediatamente después que el PLC ha
monitoreado o capturado el status de las entradas durante el ciclo de scan, el
error de entrada será máximo (mayor o igual al tiempo de scan). Esto se debe
a que las entradas son capturadas solamente una vez durante el ciclo de
scan, y a que además hay que esperar hasta que la instrucción de
temporización sea ejecutada. Si la instrucción de temporización es la última
del peldaño, el error será aun mayor.

• Error de salida- Este tipo de error depende del momento dentro del programa
cuando el temporizador agote su tiempo de temporización, y de cuando el
PLC finalice de ejecutar la parte del programa del scan para entonces ir a la
parte donde actualiza las salidas. Esto se debe a que el temporizador finaliza
durante el tiempo de ejecución del programa pero el PLC debe primero
finalizar de ejecutar el resto del programa antes de activar la salida apropiada.

Abajo hay un diagrama donde se ilustra el peor caso de error de entrada. Ahí se
nota que el mismo corresponde a 1 tiempo completo de ejecución del scan + 1
tiempo de ejecución del programa. También hay que recordar que el tiempo de

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 78


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

ejecución del programa varia de programa a programa, y que en ese sentido


depende del tipo y cantidad de instrucciones con que cuente el mismo.

Fig. 79 – Diagrama error de entrada.

Igualmente, a continuación se ilustra el peor caso de error de salida. Ahí se


puede ver que el mismo será igual a 1 tiempo completo de ciclo de scan.

Fig. 80 – Diagrama error de salida.

Basado en lo expuesto anteriormente, se puede concluir que el peor tiempo de


error posible correspondería a:

1 tiempo de scan + 1 tiempo de ejecución de programa + 1 tiempo de scan


= 2 tiempos de scan + 1 tiempo de ejecución de programa.

Todo lo anterior significa que aunque muchos fabricantes actualmente ofrecen


temporizadores con resolución de 1 ms, estos no deben ser usados para
temporizaciones menores que algunos milisegundos, y esto asumiendo que el tiempo
de scan sea de 1 ms. Si el tiempo de scan de la aplicación es por ejemplo 5 ms, es
preferible no usar temporizaciones inferiores a 15 ms.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 79


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

Por otra parte también es de notar que los errores mencionados son sólo
errores debido al software; sin embargo existen también errores de entrada y salida
que son debido al hardware.

El error debido al hardware de entrada se debe al tiempo que toma el PLC


para validad una entrada, lo cual corresponde en muchos casos a 10 ms. La mayoría
de los PLCs requieren que la entrada este físicamente en alto por algunos ciclos de
scan antes de determinar que efectivamente es una entrada válida. Esto último es
para eliminar ruido y efectos de rebote en switches.

El error de tiempo de hardware en las salidas se debe al tiempo que ellas


toman para efectivamente activarse a partir del momento en la que el software del
PLC las activo. Típicamente un transistor toma aproximadamente 0.5 ms para
activarse plenamente, mientras que un relé electromecánica toma aproximadamente
10 ms.

Finalmente, si todos estos errores son demasiado grandes para la aplicación,


es mejor considerar el uso de temporizadores de hardware externo.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 80


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

5.6 Instrucción UN-SCAN.

E
sta instrucción (ONE-SHOT) es usada para hacer algo durante un ÚNICO
SCAN. Muchos fabricantes ofrecen ONE-SHOT que son sensibles a un
flanco subiente (Transición de off a on) y otros que son sensibles a los
flancos descendientes (Transición de on a off). Alguno de los símbolos más usados
para este tipo de instrucción corresponde a: difu/difd (differentiate up/down),
sotu/sotd (single output up/down), osr (one-shot rising) y otros.

Fig. 81 – Símbolo típico de instrucción ONE-SHOT.

Arriba se muestra el símbolo para una instrucción one-shots difu. Una


instrucción difd usaría el mismo símbolo excepto que la etiqueta interna sería “difd".
Algunos fabricantes usan como símbolo las mismas barras exteriores cambiándole la
etiqueta interna por una “P” para la activación por flanco ascendente y una “N” para
flanco descendente.

Esta instrucción es a menudo usada en conjunto con otras instrucciones


avanzadas para realizar una actividad que debe tomar lugar solamente una vez. Por
ejemplo, considérese la implementación de un flip-flop. Se desea que la primera vez
que un operador accione un pulsador se active una salida y se mantenga
memorizada en ese estado hasta tanto el operador vuelva a accionar el pulsador.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 81


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

Fig. 82 – Uso del DIFU para implementación de un FLIP-FLOP.

• Peldaño 1- Cuando la entrada 0000 se hace cierta, el DIFU 1000 también se


hace cierto.

• Peldaño 2- Como el contacto NO 1000 s cierto, NO 1001 permanece en


falso, NC 1001 permanece cierto, NC 1000 cambia a falso. Ya que existe en
este peldaño un camino cierto (NO 1000 & NC 1001), entonces OUT 1001 se
activa.

• Peldaño 3- NO 1001 es cierto, entonces la salida física OUT 500 es cierta.

Próximo Scan

• Peldaño 1- NO 0000 permanece cierto. DIFU 1000 ahora cambia a falso. Esto
se debe a que la instrucción DIFU es cierta sólo durante un scan

• Peldaño 2- NO 1000 es falso, NO 1001 permanece cierto, NC 1001 es falso,


NC 1000 cambia a cierto. Ya que aun existe un camino cierto (NO 1001 & NC
1000), entonces OUT 1001 permanece en cierto.

• Peldaño 3- NO 1001 es cierto y por lo tanto OUT 500 permanece cierto.

Después de por ejemplo 100 scan, el operador libera el pulsador y así NO 0000
cambia a falso. La lógica permanece en el mismo estado según como se describió en
los peldaños 2 y 3 de arriba. Si por ejemplo en el scan 101 el operador acciona el
pulsador, entonces NO 0000 cambia a cierto, y produciéndose los siguientes
cambios:
Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 82
CAPITULO 5. PRINCIPALES INSTRUCCIONES.

• Peldaño 1- Cuando la entrada NO 0000 se hace cierta, entonces DIFU 1000


también se hace cierto.

• Peldaño 2- NO 1000 es cierto, NO 1001 permanece en cierto, NC 1001 se


hace falso, NC 1000 también se hace falso. Como ya no hay camino lógico
cierto, entonces OUT 1001 se hace falso.

• Peldaño 3- NO 1001 es falso y por lo tanto OUT 500 se desactiva.

(VER ANIMA6.PPT EN EL CD ANEXO)

Fig. 83 – Figura animación implementación del FLIP-FLOP.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 83


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

5.7 Control maestro.

E sta instrucción puede ser concebida como una parada de emergencia en el


sentido que el segmento de programa que este marcado por ella sólo se
ejecutara si ella esta activada. Así, la instrucción de control maestro es
usada en pares: set para marcar el inicio del segmento controlado, y reset para
marcar el final. Comúnmente se simboliza como MC/MCR (master control / master
control reset), o como MCS/MCR (master control set/master control reset). De lo
anterior se desprende que un símbolo común para esta instrucción es:

Fig. 84 – a) Control Maestro. b) Reset del Control Maestro.

Para ver como funciona, considere el siguiente ejemplo:

Fig. 85 – Uso del Control Maestro en un diagrama escalera.

En este ejemplo los peldaños 2 y 3 se ejecutan solamente cuando la entrada


0000 es cierta. De no ser así, el PLC asume que las instrucciones lógicas entre MC y
MCR no existen y por lo tanto él hará un by-pass en este bloque de instrucciones e
ira al peldaño ubicada inmediatamente después del la instrucción MCR.
Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 84
CAPITULO 5. PRINCIPALES INSTRUCCIONES.

Contrariamente, si la entrada 0000 es cierta, el PLC ejecutara los peldaños 2 y 3, y


actualizara el estado de las salidas 0500 y 0501 de acuerdo al resultado lógico de
estos peldaños.

En este ejemplo, el tiempo de scan del PLC se reduce ya que el mismo ignora
la existencia de los peldaños entre las instrucciones MC / MCR y por lo tanto no las
ejecuta.

(VER ANIMA7.PPT EN EL CD ANEXO)

Fig. 86 – Figura animación uso Control Maestro.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 85


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

5.8 Registros de desplazamiento.

E n muchas aplicaciones es necesario almacenar el estado de uno o varios


eventos que ha ocurrido previamente. En este caso el uso de registros o
grupo de registros para formar un tren de bits que almacene el estado (on /
off) de los eventos reseñados, es una técnica ventajosa. Cada nuevo cambio de
estado se almacena la primera posición y los bits restantes avanzan una posición
dentro del registro.

El registro de desplazamiento se etiqueta con variados nombres: SFT (ShiFT),


BSL (Bit Shift Left), SFR (Shift Forward Register) son algunos de los más comunes.
Estos registros desplazan los bits hacia la izquierda. BSR (Bit Shift Right) y SFRN
(Shift Forward Register Not) son algunos ejemplos de instrucciones que desplazan
los bits hacia la derecha. Pocos fabricantes ofrecen registros de desplazamiento
hacia la derecha; mientras que la mayoría ofrece registros de desplazamiento hacia
la izquierda.

Fig. 87 – Símbolo típico de registro de desplazamiento.

• Datos- La entrada de datos suministra los estados cierto / falso que serán
almacenados en el tren de bits dentro del registro. Cuando la entrada de datos
es cierta el primer bit en el tren se pondrá en 1 y se almacenara en el registro
con el flanco subiente de la entrada de reloj.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 86


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

• Reloj- La entrada de reloj le indica al registro de desplazamiento que


almacene el estado de la entrada de datos en la primera posición y a la vez
que desplace el restos de los bits ya almacenados.

• Reset- La entrada de reset pone a cero o falso a todos los bits almacenados
dentro del registro.

El 1000 dentro del símbolo del registro de desplazamiento en la dirección del


primer bit del registro. El 1003 dentro del símbolo del registro de desplazamiento en
la dirección del último bit del registro. De aquí que este registro de desplazamiento
cuente con 4 bits: 1000,1001,1002,1003.

Fig. 88 – Figura del ejemplo de la máquina de barquillas.

Considérese una maquina de 4 estados destinada a la elaboración de barquillas.


Primero se verifica que el cono base no esté roto. Luego se coloca el helado sobre el
cono activando la salida 0500, luego se le adiciona maní activando la salida 0501 y
finalmente se le rocía con caramelo al activar la salida 0502. Si el cono esta roto no
se le adiciona ni el helado ni los items restantes. De aquí que se le deba hacer un
seguimiento al cono dañado a medida que él avanza dentro del proceso a fin de
informar a la máquina para que no adicione el ítem correspondiente a cada estado.
Aquí se sugiere utilizar un sensor óptico para verificar si el fondo del cono esta
dañado (entrada 0000), un codificador rotativo para seguir el viaje del cono a través
de la línea transportadora (entrada 0001), y un push button para reiniciar el registro y

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 87


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

con ello la línea de producción (entrada 0002). El diagrama escalera resultante sería
como el siguiente:

Fig. 89 – Uso del registro de desplazamiento en el ejemplo anterior.

A continuación se muestra el seguimiento del proceso según van


aconteciendo las acciones y hechos. El registro 1000 inicialmente estaría en cero.

10xx Register
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
0 0 0 0

Tabla 11 – Estado inicial del registro de desplazamiento.

Un cono en buen estado llega y el sensor (entrada 0000) cambia a cierto. El


registro 1000 no almacenará el dato hasta tanto no reciba el flanco subiente
proveniente del codificador (entrada 0001). Finalmente cuando el codificador genera
la entrada requerida, el estado de la entrada de datos es transferida hacia el
registro, el cual se vería como:

10xx Register
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
0 0 0 1

Tabla 12 – Estado del registro al llegar un cono en buen estado.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 88


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

Según el sistema de transporte se va moviendo, otro cono en mal estado


alcanza al sensor y este último permanece en falso. Ahora el codificador genera el
pulso de reloj y así el estado del cono anterior es pasado a la dirección 1001,
mientras que el estado del cono roto es pasado a la dirección 1000 que es el primer
bit del registro.

10xx Register
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
0 0 1 0

Tabla 13 – Estado del registro al llegar un cono en mal estado.

Como el registro muestra que el bit 1001 es cierto, entonces la lógica del
diagrama escalera indica que hay que activar la salida 0500 que es la que agrega el
helado al cono bueno.

Según que el transportador sigue avanzando, un cono bueno alcanza al


sensor y este cambia su estado a cierto. Nuevamente el codificador genera el pulso
de reloj con lo que ingresa el nuevo dato al registro mientras que los datos previos
son desplazados hacia la izquierda. Ahora el registro luce de la siguiente forma:

10xx Register
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
0 1 0 1

Tabla 14 – Estado del registro al llegar el próximo cono en buen estado.

Dado que el registro muestra el bit 1002 como cierto, se activa la salida que
adiciona el maní. Igualmente como el bit 1001 esta en falso mostrando el cono roto,
la lógica del diagrama escalera no esta habilitada para adicionar el helado sobre este
cono. Al seguir en movimiento el sistema de transportación, un cono en buen estado
alcanza el sensor y luego el codificador genera la entrada de validación del reloj. El
nuevo estado del registro sería:

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 89


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

10xx Register
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
1 0 1 1

Tabla 15 – Estado del registro al llegar otro cono en buen estado.

Ya que el bit 1003 es cierto, entonces según la lógica del diagrama escalera
se activaría la salida 0502 que rociaría el helado con el caramelo. Al mismo tiempo,
sobre el cono roto no se ejecuta ninguna acción ya que el bit 1002 esta en falso, y
sobre el cono bueno que esta en la posición 1 se agrega el helado ya que el bit 1001
esta puesto a cierto.

El sistema se sigue moviendo e ingresa frente al sensor un cono en mal estado por lo
que entonces el registro llena su primera posición con un cero, y a la vez desplaza
los demás bits que le van haciendo seguimiento a todos los conos.

10xx Register
15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00
0 1 1 0

Tabla 16 – Estado del registro al llegar el próximo cono en mal estado

Nótese que el estado del primer cono que ingreso ha desaparecido, aunque
realmente ha pasado a la posición 1004 la cual no se está usando en la lógica
programada en diagrama escalera y por lo tanto carece de utilidad. La operación
descrita continua sucediéndose con cada flanco ascendente proveniente del
codificador.

(VER ANIMA8.PPT EN EL CD ANEXO)

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 90


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

Los registros de desplazamiento son usados mas comúnmente en


aplicaciones de sistema de correas transportadoras, etiquetado, envasado, etc.
Algunas veces es también conveniente usarlos para producir retrasos en líneas de
embotellado de rápido movimiento. Por ejemplo, un solenoide no puede expulsar
inmediatamente una botella en mal estado ya que cuando el solenoide reacciona ya
la botella ha pasado frente a él. Por eso lo común es colocar el solenoide un poco
mas aguas abajo en la línea de producción y utilizar registros de desplazamiento
para seguir la trayectoria de la botella en mal estado y sacarla así en un punto más
conveniente.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 91


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

5.9 Acceso y manipulación de datos.

¿ Por qué se requiere acceder y manipular datos? . Considérese que en una


aplicación se está utilizando un módulo especial de entrada como por ejemplo
uno de conversión Análogo / Digital. Este módulo adquiere las señales
analógicas del mundo exterior (una corriente o un voltaje variable) y las convierte a
un formato que el PLC pueda entender (una señal digital: 1’s y 0’s), al mismo tiempo
que las almacena en la memoria. Sin embargo se debe acceder los datos
almacenados y moverlos a otra posición de memoria o de lo contrario la próxima
muestra remplazará la previamente existente, produciéndose la perdida irremediable
de esos datos. En otros casos simplemente se desea almacenar una constante,
acceder algún dato binario no proveniente de las entradas discretas (por ejemplo
datos provenientes de un programador cíclico), realizar alguna operación matemática
y almacenar el resultado en una dirección de memoria diferente, etc.

Típicamente existen dos instrucciones que se utilizan para el acceso y la


manipulación de datos (LDA & STA), aunque algunos fabricantes utilizan una
instrucción única para realizar enteramente esta operación (MOV).

Fig. 90 – Símbolo de la instrucción MOV.

El símbolo del par de instrucciones LDA (LoaD Accumulator) y STA (STore


Accumulator) se muestra a continuación. Es de hacer notar que el acumulador es
simplemente un registro dentro del CPU donde el PLC almacena datos
temporalmente mientras ejecuta algunas operaciones.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 92


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

Fig. 91 – a) carga desde el acumulador. B) almacena en el acumulador.

Analizando primero el uso del símbolo único MOV, se nota que el mismo necesita de
dos entradas:

• Fuente (xxxx)- Esto es la dirección de memoria donde esta localizado el dato


que deseamos mover. Si se escribe DM100 significa que se desea mover el
dato que esta localizado en la dirección de memoria 100. también se puede
escribir aquí directamente el dato que se desea mover. Por ejemplo se puede
escribir una constante (2543 por ejemplo). Esto último significa que el dato
fuente es el 2543.

• Destino (yyyy)- Esta es la dirección de memoria a donde se moverá el dato.


Por ejemplo si se escribe DM201 significa que el dato se moverá a la dirección
de memoria 201. también se puede escribir por ejemplo 0500, lo que
significaría que el bit menos significativo del dato debe ser movido a la salida
física 0500, el siguiente a la 0501 … y el más significativo a la salida 0515.
Esto puede ser útil si se tiene un display binario conectado a las salidas y se
desea desplegar el valor de un contador para que lo use el operador de la
máquina.

Fig. 92 – Uso de la instrucción MOV.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 93


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

El diagrama escalera para realizar la operación de manipulación de datos


sería el mostrado arriba. Es de hacer notar que la instrucción DIFU es para evitar que
los datos sean movidos en cada ciclo del scan. Algunas veces en útil que se realice
la operación en cada scan (por ejemplo en la adquisición de datos A/D), pero otras
veces es inconveniente como por ejemplo en el caso de usar un display externo, el
cual no se podría leer por los cambios excesivos que se presentarían en los datos.

El diagrama muestra que cada vez que la entrada se hace cierta, el DIFU se
hace cierto solamente por un ciclo de scan, y en este momento el PLC mueve los
datos de la memoria 200 a la memoria 201.

La instrucción con los dos símbolos trabaja de manera similar pero luce diferente.

Fig. 93 – Uso de la instrucción a dos símbolos.

Para usar estas instrucciones se debe suministrar también 2 cosas:

• LDA - Esta instrucción es similar a la fuente de la instrucción MOV. Esto se


refiere a la dirección donde esta localizada la data que se desea mover. Si se
escribe DM100 significa que se desea mover el dato que esta localizado en la
dirección de memoria 100. también se puede escribir aquí directamente el
dato que se desea mover. Por ejemplo se puede escribir una constante (2222
por ejemplo). Esto último significa que el dato fuente es el 2222.

• STA- Esta instrucción es similar al destino de la instrucción MOV. Por ejemplo


si se escribe DM200 significa que el dato se moverá a la dirección de memoria
200. también se puede escribir por ejemplo 0500, lo que significaría que el bit
Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 94
CAPITULO 5. PRINCIPALES INSTRUCCIONES.

menos significativo del dato debe ser movido a la salida física 0500, el
siguiente a la 0501 … y el más significativo a la salida 0515. Esto puede ser
útil si se tiene un display binario conectado a las salidas y se desea desplegar
el valor de un contador para que lo use el operador de la máquina.

En este diagrama se está moviendo la constante 2222 a la posición de memoria


200. El símbolo "#" es usado por algunos fabricantes para simbolizar un número
decimal. Si se usa solamente 2222 el PLC interpretara que se trata de la dirección de
memoria 2222.

(VER ANIMA9.PPT EN EL CD ANEXO)

Fig. 94 – Figura animación manipulación de datos.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 95


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

5.10 Instrucciones matemáticas.

E n muchas aplicaciones prácticas se deben ejecutar algún tipo de operación


matemática. Es poco usual que los datos que se manejan estén
exactamente formulados como se necesitan. Por ejemplo supóngase que
se están manufacturando cierto tipo de piezas mecánicas, y no se desea mostrar el
numero total de piezas hechas sino mejor el número de piezas que son necesarias
hacer para cumplir la cuota del día. Asumiendo que la cuota diaria es de 1000
piezas, y que la producción acumulada es X, entonces se puede formular que el
número de piezas restantes por fabricar corresponden a 1000 – X. Obviamente para
implementar esta formula se necesita que el PLC tenga cierta capacidad matemática.

En general los PLCs siempre incluyen las siguientes funciones matemáticas:

• Adición- Corresponde a la capacidad de sumar unos datos a otros.


Comúnmente se denota con el símbolo ADD.

• Sustracción- Corresponde a la capacidad de sustraer unos datos de otros.


Comúnmente se denota con el símbolo SUB.

• Multiplicación- Corresponde a la capacidad de multiplicar unos datos por


otros. Comúnmente se denota con el símbolo MUL.

• División- Corresponde a la capacidad de dividir unos datos entre otros.


Comúnmente se denota con el símbolo DIV.

Similar a como ocurre con la instrucción MOV, hay generalmente dos métodos
que son usados por los fabricantes para realizar estas operaciones. El primer método
incluye el uso de un sólo símbolo que requiere de tres entradas para ejecutar la
instrucción:

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 96


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

• Operando A- Esta es la dirección de memoria donde se encuentra el primer


operando de la formula a usar. Vale mencionar que este operando puede ser
también una constante.

• Operando B- Esta es la dirección de memoria donde se encuentra el segundo


operando de la formula a usar. Vale mencionar que este operando también
puede ser una constante.

• Destino- Esto contiene la dirección de memoria donde se almacenara el


resultado de la operación.

Fig. 95 – Símbolo de suma

Las operaciones aritméticas básicas se simbolizarían como se muestra arriba,


intercambiando la etiqueta de ADD, SUB, MUL y DIV según se trate de una suma,
resta, multiplicación o división respectivamente. En el símbolo anterior se ve que la
operación es la suma, el operando 1 se encuentra en la dirección de memoria 100, el
operando 2 se encuentra localizado en la dirección de memoria 101, y el resultado se
almacenara en la dirección de memoria 102.

Fig. 96 – Uso de la operación Suma en el diagrama escalera.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 97


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

En la página anterior se muestra el uso típico de la operación matemática de


suma en una aplicación escrita en diagrama escalera. Nótese el uso de DIFU para
garantizar que la operación se ejecute sólo durante un scan. Si previamente se ha
colocado el numero 100 en la dirección DM100 y el número 200 en la dirección
DM101, El numero 300 será almacenado en la dirección DM102.(100+200=300)

Fig. 97 – Símbolo de suma(ADD método dual)

El método de la instrucción dual usaría un símbolo similar al mostrado


anteriormente. En este método se debe suministrar solamente la dirección del
operando 2 ya que la dirección del operando 1 esta dada en la instrucción LDA. La
dirección de destino del resultado de la operación esta implícitamente indicada en la
instrucción STA.

Fig. 98 – Uso de la instrucción de suma(ADD método dual).

El diagrama escalera muestra el uso de las instrucciones anteriormente


indicadas. Obviamente el resultado es similar al obtenido con la instrucción simple
mostrada antes.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 98


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

(VER ANIMA10.PPT EN EL CD ANEXO)

Fig. 99 – Figura animación manipulación de datos.

Una interrogante interesante es preguntarse ¿Qué pasaría si el resultado de


una operación matemática es más grande del máximo tamaño que se puede
almacenar en una locación de memoria?

Típicamente las locaciones de memoria son de 16 bits. Esto significa que el


mayor número que se puede almacenar corresponde a 65535 (2^16=65536). Si el
resultado es mayor a este número ocurre un desbordamiento (overflow), y
típicamente el PLC activa un relé indicando lo que ha pasado.

Algunos PLCs operan a 32 bits con lo cual resuelven este problema excepto
para números realmente muy grandes. Otra causa de desbordamiento es la división
por cero lo que también causa la activación del relé de error matemático.

Muchos PLCs también incluyen otras capacidades matemáticas tales como:

• Extracción de raíz cuadrada.

• Escalamiento.

• Valor absoluto.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 99


CAPITULO 5. PRINCIPALES INSTRUCCIONES.

• Función senoidal, cosenoidal y tangencial.

• Función logaritmo natural y base 10.

• Potenciación ( Xy )

• Otras.

Algunos PLCs también tienen la capacidad de operaciones con punto flotante. Es


decir, por ejemplo si se divide 10 entre 3 el resultado almacenado será 3.33333.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 100


6
Capítulo

LENGUAJES Y EQUIPOS PARA LA PROGRAMACION.

6.1 Lenguaje escalera (LADDER).

S Son similares a los diagramas de lógica cableada usados para representar


los circuitos de control a relés. La principal diferencia entre las dos es que en
la programación en escalera, todas las entradas son representadas mediante
símbolos de contacto ( -| |- ), todas las salidas son representadas mediante bobinas
de salida ( -( )- ), y las operaciones numéricas están incluidas en el conjunto de
instrucciones del cual dispone el lenguaje.

Fig. 100 – Equivalencia entre lógica a relés y diagrama escalera.

La figura de arriba ilustra un diagrama simplificado del control con lógica a


relés y su equivalente en diagrama de escalera. Nótese que en el diagrama de
escalera, todas los contactos de entrada están asociados con uno de los elementos
de conmutación del diagrama de lógica a relés. La bobina de salida M1 en el
diagrama de relés está representada con un símbolo de bobina de salida en el
diagrama escalera. La dirección numérica que aparece en la parte superior de cada
símbolo de contacto o de bobina en el diagrama escalera, hace referencia a la

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 101


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

localización de la conexión de Entrada / Salida física en el bus de direcciones del


PLC.
Un programa escrito en escalera (LADDER) esta compuesto por peldaños
(Conjunto de instrucciones gráficas especificas que se encuentra entre dos barras
verticales que representan las líneas de potencial) que son ejecutados
secuencialmente por el PLC. El conjunto de instrucciones gráficas disponibles
representan:
• Las entradas / Salidas físicas del PLC (Pulsadores, sensores, relés auxiliares,
luces pilotos, etc.),
• Las funciones internas del PLC (Temporizadores, contadores, programadores
cíclicos, etc).
• Las operaciones matemáticas (Suma, división, AND, XOR, etc.).
• Las operaciones de comparación y manipulación de datos (A < B, A = B,
Desplazar, rotar, etc.).
• Las variables internas al PLC (bits, palabras, etc.).
B
Estas instrucciones gráficas se relacionan mediante líneas de conexión
horizontales y verticales, que al final conducen a una o varias salidas y/o acciones.
Un peldaño no puede soporta más que un grupo de instrucciones enlazadas. Por
ejemplo el siguiente diagrama esta compuesto por dos peldaños.

Fig. 101 – Ejemplo de peldaños.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 102


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

6.1.1 Principios de programación.


En un PLC típico, cada peldaño esta compuesto por ejemplo por un conjunto
máximo de 7 líneas y 11 columnas organizadas en dos zonas perfectamente
definidas:
• Una zona de TEST que contiene las condiciones que se deben cumplirse o
ser ciertas (TRUE) para que una acción tome lugar.
• Una zona de acciones la cual contiene las salidas u operaciones que se
ejecutan a partir de los TEST conectados a ellas.

Fig. 102 – Formato de programación.

De esta forma el peldaño se visualiza como un formato de programación de 7


por 11, comenzando la programación a partir del tope de la izquierda. Aquí, se deben

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 103


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

programar las instrucciones de TEST, comparaciones, y funciones, justificándolas


por la izquierda. Estas pruebas lógicas entonces conducen a la zona de acción
donde se programan las bobinas de salida, operaciones numéricas e instrucciones
de control del flujo del programa; justificándola por la derecha. El peldaño es resuelto
o ejecutado por el PLC (Se hacen los TEST y se asignan las salidas u operaciones)
desde arriba hacia abajo y desde la izquierda a la derecha. Generalmente, además
de la zonas TEST y ACCIONES mencionadas, también existe espacio para comentar
la finalidad lógica el peldaño. Normalmente este espacio aparece como cabecera o
también puede ir como comentario lateral derecho.

6.1.2 Ejemplo del control de un estacionamiento.


a) Especificación de la aplicación.
Se planea construir un estacionamiento moderno y automatizado que opere de
acuerdo a lo siguiente:
• Control de acceso de vehículos: Tan pronto como se detecte la
presencia de un vehículo en la rampa de entrada, el sistema debe abrir
automáticamente la barrera de entrada y/o de salida, de acuerdo a lo
que corresponda. De igual forma, el numero de puestos disponibles, el
control de horario de trabajo y otros eventos especiales, debe ser
completamente administrado por el sistema.
• Seguridad de personas: Un detector de gases de escape debe iniciar el
arranque de un gran extractor con la finalidad de evacuar el exceso de
CO2 en el estacionamiento. Asimismo, por razones económicas, las
luces deben ser controladas por temporizadores.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 104


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

Fig. 103 – Control de acceso a estacionamiento.

b) Análisis orgánico y selección del PLC.


De acuerdo a la especificación anterior, el sistema debe tener capacidad para:
• Apertura / Cierre de la barrera al detectar presencia de vehículos.
• Controlar la cantidad de vehículos que han entrado o que han salido del
estacionamiento.
• Encender / Apagar luces.
• Arrancar / Parar un extractor al detectar exceso de CO2.
• Programador semanal para horario de funcionamiento del estacionamiento.
• Control manual de apertura y cierre de la barrera de acceso.
• Posibilidad de modificar los parámetros de la cantidad de puestos
disponibles en caso de eventos especiales.
• Indicar si hay disponibilidad de puestos o no en el estacionamiento.

Lo anterior conduce a la siguiente tabla de requerimientos:

Número de entradas discretas: 6


Número de entradas analógicas: 1
Numero de salidas discretas: 4
Contadores: 1
Temporizadores: 1
Reloj de tiempo real: 1

Tabla 17 – Requerimientos de entrada /salida del ejemplo del estacionamiento.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 105


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

Un PLC que cubre los requerimientos de esta aplicación es el ZELIO SR1B121BD


(Ver anexo 1 de este trabajo).

c) Parametrización y conexiónes de entrada / salida al PLC.

Fig. 104 – Diagrama de Entradas / salidas del PLC.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 106


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

N° ETIQUETA DESCRIPCION
Entradas Discretas
01 I1 Detector de entrada
02 I2 Detector de salida
03 I3 Switch temporizador
04 I4 Arranca extractor
05 I5 Para extractor
06 I6 Cierra barrera manual.
Entradas Analógicas
01 IB Detector CO2
Salidas Discretas
01 Q1 Apertura barrera
02 Q2 Cierre barrera
03 Q3 Control iluminación.
04 Q4 Control extractor
Teclas Zx
01 Z1 Apertura barrera
02 Z2 Descontaje manual
03 Z3 Cierra barrera
04 Z4 Contaje manual

Tabla 18 – Variables de entrada / salida.

Tabla 19 – Parametrización de temporizadores y entradas analógicas.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 107


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

Relojes Día y hora de inicio Día y hora de fin


Lunes 8:00 Lunes 21:00
Martes 8:00 Martes 21:00
R1 Miércoles 8:00 Miércoles 21:00
Jueves 8:00 Jueves 21:00
Viernes 6:00 Viernes 22:00
R2 Sábado 6:00 Sábado 23:59
R3 Domingo 0:00 Domingo 23:59

Tabla 20 – Parametrización de relojes.

Fig. 105 – Parametrización de bloques de texto.

d) Programa.
El listado de programa se muestra en las siguientes dos figuras. Para la
simulación, cargar el software (EVA-SOFT) del CD anexo a este trabajo y abrir el
archivo parking.zel.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 108


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

Fig. 106a – Diagrama escalera del ejemplo del estacionamiento.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 109


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

Fig. 106b – Diagrama escalera del ejemplo del estacionamiento.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 110


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

6.2 Lista de instrucciones( AWL, BOOLEANO, Nemónicos).

C orresponde al nivel más fundamental de lenguajes de programación


definidos en el estándar IEC 1131. De hecho, todos los otros lenguajes de
programación de PLCs pueden ser convertidos a lista de instrucciones o
Nemónicos. Este tipo de programación consiste en elaborar un listado de
instrucciones BOOLEANAS (únicamente operaciones sobre Bits) que se asocian a
los símbolos y contactos de un diagrama eléctrico de control, y las cuales
representarán la combinación lógica que exista entre dichos contactos.

Fig. 107 – Diagrama escalera.

En el diagrama escalera anterior contiene 4 entradas y 1 salida. Esta red


puede ser representada mediante la ecuación Booleana que aparece justo abajo.

O:01 = I:00 AND (I:01 OR (I:02 AND NOT I:03))

Igualmente, esta ecuación puede ser convertida a una lista de instrucciones


usando los Nemónicos que aparecen a continuación:

Fig. 108 – Lista de Nemónicos del ejemplo anterior.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 111


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

El comienzo del programa corresponde a la etiqueta “START”. En este punto


se carga el primer valor, y el resto de la ecuación es dividida en pequeños
segmentos. El único cambio significativo es que el “AND NOT” cambia por “ADN”.

NEMÓNICO MODIF. TIPO DATOS DESCRIPCIÓN

LD N VARIADO Cargue el valor leído

ST N VARIADO Almacene el resultado en la locación

S,R BOOLEANO Set o Reset el valor actual(flip-flop)

AND, & N, ( BOOLEANO AND Booleana


OR N, ( BOOLEANO OR Booleana

XOR N, ( BOOLEANO OR Exclusiva Booleana

ADD ( VARIADO Suma

SUB ( VARIADO Sustracción

MUL ( VARIADO Multiplicación

DIV ( VARIADO División

GT ( VARIADO Mayor que (>)

GE ( VARIADO Mayor o igual que (>=)

EQ ( VARIADO Igual que(=)


EN ( VARIADO Distinto que (<>)
LE ( VARIADO Menor que (<)

LT ( VARIADO Menor o igual que (<=)

JMP C, N ETIQUETA Salto a la dirección

CAL C, N NOMBRE Llamada a subrutina

RET C, N Retorno subrutina.

) Leer del “stack”

Tabla 21 – Operadores y Nemónicos que establece el estándar IEC 1131.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 112


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

DIAGRAMA ESCALERA LISTA


LD A

ST X

LDN A

ST X

LD A

AND B

ST X

LD A

ANDN B

ST X

LD A

OR B

AND C

ST X

LD A

LD B

OR C

ANB

ST X

LD A

OR B

LD C

OR D

ANB

ST X

Tabla 22 – Tabla de equivalencias Diagrama escalera - Lista de instrucciones.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 113


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

Con el lenguaje lista de instrucciones también se pueden representar


instrucciones más complejas como la que se muestra en la siguiente figura.

Fig. 109 – Función compleja programada en Lista de Instrucciones.

En esta instrucción se suma el valor decimal 3 con el contenido del


acumulador del temporizador T4:0, y se almacena en la dirección de memoria N7.0

EJEMPLO DE APLICACIÓN:
a) Descripción de la aplicación.
Un lavado de autos esta compuesto:
• Un puente que soporta un rodillo horizontal y dos rodillos verticales. El
Puente es movido en dos direcciones (adelante y atrás) por un motor
reversible.
• Un motor que rota tanto el rodillo horizontal como los rodillos verticales.
• Un motor que sube y baja el rodillo horizontal.
• Un limit switch que detecta cuando el rodillo horizontal esta en la
posición alta.
• Un limit switch que detecta cuando el puente ha llegado al tope
posterior de su recorrido.
• Un limit switch que detecta cuando el puente ha llegado al top5
delantero de su recorrido.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 114


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

• Un sensor de proximidad que detecta la presencia de vehículos en la


zona de lavado.
• Un pulsador de arranque del ciclo.
• Una lámpara piloto para indicar ciclo en proceso.

Fig. 110 – Puente de lavado.

b) Especificaciones funcionales.
Condiciones iniciales: El puente esta en la posición trasera, y el rodillo
horizontal en su posición alta. Hay un vehículo presente en el área de lavado.
Cuando se llenan estas condiciones, se presiona el botón de marcha y
comienza el siguiente ciclo automático.
• Enciende la lámpara de proceso en marcha, y es seguida por una
temporización de 10 segundos.
• El rodillo se mueve hacia abajo por un período de 5 segundos.
• Los rodillos comienzan a rotar y el puente se mueve hacia delante. Se
presume que la bomba de agua se activa al unísono con la activación
del puente.
• El avance del puente es detenido cuando toca el limit switch delantero,
y en ese momento se pone en reversa.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 115


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

• El movimiento de reversa y la rotación de los rodillos es detenida al


tocar el limit switch posterior. Aquí también se contabiliza un vehículo
lavado.

c) Representación en GRAFCET.

Fig. 111 – Descripción grafica del proceso.


d) Entradas / salidas al PLC.
Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 116
CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

ITEM DIRECC. ELEMENTO DE CONTROL


ENTRADAS
Presencia de Vehículo I0,0 Sensor de proximidad inductivo
Arrancar Proceso I0,1 Pulsador de arranque.
Parar proceso I0,2 Pulsador de parada.
Puente adelante I0,3 Interruptor de posición
Puente atrás I0,4 Interruptor de posición
Rodillo arriba I0,5 Interruptor de posición
SALIDAS
Ciclo en marcha O0,0 Lampara piloto
Bajar rodillo O0,1 Contactor KM1
Subir rodillo O0,2 Contactor KM2
Rotar rodillos O0,3 Contactor KM3
Avance puente O0,4 Contactor KM4
Retroceso puente O0,5 Contactor KM5
VARIABLES INTERNAS
Temporizador arranque T0 ON DELAY (10 seg)
Temp.bajar rodillo T1 ON DELAY (5 seg)
Contador de lavadas. C0 ASCENDENTE(9999)

Tabla 23 – análisis de entrada / salida del ejemplo del lavado de vehículos.

e) Conexión del PLC.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 117


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

Fig. 112 – Conexión del PLC.

f) Programa.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 118


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

6.3 Gráficos Funcionales de Secuencia(SFC, GRAFCET).

U n sistema es combinacional cuando para cada combinación de estado de


los elementos de entrada al sistema, existe una y sólo uno combinación de
estado de los elementos de salida. En forma distinta, un sistema es
secuencial cuando para una combinación de estado de los elementos de entrada al
sistema, pueden existir más de una combinación de estado de los elementos de
salida; o bien cuando además de considerar el estado actual de los elementos de
entrada y de salida, también se considera su estado anterior o la evolución que
hayan tenido.

La mayoría de los procesos funcionan secuencialmente pero con un solo


estado activo a la vez. Sin embargo, existen máquinas más complejas que son
diseñadas para realizar varias operaciones al mismo tiempo. Este último tipo de
máquina o proceso amerita que el controlador sea capaz de realizar procesos
concurrentes. Es decir, el procesador debe ser capaz de realizar las actividades
correspondientes a dos o más etapas que estén activas al mismo tiempo. Este último
requerimiento puede lograse con técnicas tales como los Gráficos de Funciones
Secuenciales (SFC: Sequencial Function Charts), conocido también como el
estándar IEC 848, o sencillamente como GRAFCET (Gráficos Funcionales de
Control de Etapas y Transiciones).

El GRAFCET es un método mediante el cual se describe en forma gráfica las


especificaciones de cualquier automatismo. Dentro de sus ventajas se encuentra que
permite la programación directa desde el mismo gráfico sin tener que traducirlo a
lenguaje de contactos o LADDER. También permite hacer seguimiento etapa por
etapa dentro del automatismo, de forma que la localización de algún problema se
hace sistemática y por lo tanto conduce al ahorro de tiempo.

El GRAFCET permite la representación de los sistemas secuenciales


mediante la sucesión alternada de etapas y transiciones. Los elementos básicos de
una carta GRAFCET típica se muestran a continuación.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 119


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

Fig. 113 – Principales elementos del GRAFCET.

ETAPAS: En la carta GRAFCET todos los estados estables del sistema tienen
asociado un elemento de memoria llamado etapa. Las etapas se representan con un
cuadro, o bien con un cuadro doble en el caso de etapas iniciales. Además, las
etapas están numeradas en forma ordenada de acuerdo al desarrollo del
automatismo.

a) Etapas iniciales.

v Se activan al iniciar el GRAFCET.

v Una vez iniciado, tienen el mismo tratamiento que otras etapas.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 120


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

v Un sistema debe tener como mínimo una etapa inicial.

v Pueden existir varias etapas iniciales en procesos concurrentes.

b) Etapas normales.

v Representan los estados estables del sistema.

v Deben estar numeradas aunque no necesariamente en forma correlativa.

v No puede haber dos etapas con el mismo número.

v Durante la evolución del GRAFCET, pueden estar activas o inactivas.

v Pueden o no contener acciones asociadas.

TRANSICIONES: Toda transición tiene una condición o condiciones lógicas que son
las que van marcando la evolución del sistema. Una transición marca el paso de una
etapa a la otra, ya que es una barrera que separa dos etapas y que se supera si
estando activa la etapa o etapas anteriores o de entrada a la transición, se cumplen
las condiciones lógicas en ella impuesta.

8 9 8 9 8 9 8 9

a.b = 0 o 1 a.b = 0 a.b=1 →→ a.b=0 o 1

10 10 10 10

: Etapa activa

Fig. 114 – Ejemplo de evolución del GRAFCET.

Validar la transición implica un cambio en las etapas activas del GRAFCET. Al


pasar una transición, el sistema deja de estar en una etapa e inmediatamente va a la
siguiente.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 121


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

En el GRAFCET:

v Las transiciones se representan con un pequeño segmento horizontal que


corta la línea de enlace entre dos o más etapas.

v Son etapas de entrada a una transición, todas las que conducen a ella.

v Son etapas de salida a una transición, todas las que se activan una vez se ha
superado la transición.

La condición o condiciones que deben superarse para poder pasar una transición
reciben el nombre de receptividades. Una transición puede poseer:

v Una receptividad simple o única.

v Una función Booleana.

v Una receptividad correspondiente a un temporizador o a un contador.

v Una receptividad asociada a alguno otra etapa GRAFCET.

ESTADO: Se refiere a una de las formas o maneras en la que puede encontrarse el


sistema: Parado / operando, encendido / apagado, etc.

ACCIONES ASOCIADAS: Están asociadas a las etapas del GRAFCET y son las
normalmente modifican el estado de algunos elementos de salida del sistema.

2 Ventilador

Fig. 115 – Acciones asociadas.

La figura anterior indica que al estar activa la etapa 2, se enciende el ventilador.

Existen acciones asociadas que son condicionadas. En este caso en el


rectángulo donde se representa la acción, hay un campo de entrada para las
condiciones.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 122


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

2 C Ventilador

Fig. 116 – Acciones condicionadas.

El estándar IEC 848 propone las siguientes representaciones para las


acciones asociadas condicionadas:

C Acción condicionada

D Acción retardada

L Acción limitada en el tiempo

P Impulso

S Acción mejorada

Tabla 25 – Modificación de las acciones.

LÍNEAS DE ENLACE: Son líneas verticales u horizontales que unen con una
dirección significativa, las distintas etapas con las transiciones, y las transiciones con
las etapas.

6.3.1 Reglas para construcción del GRAFCET.

a) El diagrama debe dibujarse en sucesión alternada de etapas y


transiciones. En ese sentido no puede haber ni dos etapas ni dos
transiciones seguidas.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 123


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

b) El GRAFCET es de secuencia única cuando en el diagrama sólo hay una


rama. El conjunto de etapas se irán activando consecutivamente una a la vez,
después de validarse las recepciones asociadas a las transiciones.

Fig. 117 – GRAFCET de secuencia única.

c) El GRAFCET es de Bifurcación u OR cuando a la salida de una etapa hay


una selección de secuencias. En este punto, el flujo seguirá por una sola de
ellas. Aunque no es necesario que las diferentes secuencias posean igual
número de etapas y transiciones, lo que si es conveniente es que sean
excluyentes entre si.

Fig. 118 – GRAFCET tipo OR.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 124


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

d) El GRAFCET es de Concurrencia o AND cuando a la salida de una


transición, el flujo debe evolucionar de forma simultanea por dos o mas ramas.
No es necesario que las secuencias en paralelo contengan igual número de
etapas y transiciones, ya que al final de la secuencias habrá un punto de
convergencia o de espera donde el sistema aguarda a que todas las
secuencias lleguen a esa etapa de espera para continuar su evolución.

Fig. 119 – GRAFCET tipo Paralelo

e) Una modalidad de los puntos de bifurcación lo constituyen los saltos de


etapas. Esta modalidad da la posibilidad de que se ejecute o no una
secuencia completa, o de que la evolución del flujo siga a partir de la etapa
indicada en el salto.

Fig. 120 – Saltos en cartas GRAFCET.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 125


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

f) Existen Bucles o estructuras WHILE cuando una o un conjunto de etapas se


repiten varias veces. Son controladas por temporizadores, contadores, o
simplemente se repiten infinitamente.

g) En GRAFCET se pueden escribir dos o más secuencias independientes que


funciones concurrentemente evolucionando cada una por separado y a su
ritmo según se validen sus transiciones. Aunque estas secuencias no se tocan
en el gráfico de flujo, se pueden interrelacionar a través de sus variables de
estado.

Fig. 121 – Representación de procesos concurrentes.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 126


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

6.3.2 Ejemplo de aplicación del GRAFCET en la automatización de procesos.

a) Descripción de la aplicación.
Se trata de un sistema de respaldo de energía formado por:
• 2 generadores G1 y G2 que estarán en STAND-BY esperando su turno
para respalda el sistema de suministro en caso de falla de la línea
principal.
• 3 contactores para Conectar / Desconectar las fuentes, los cuales
poseen contactos auxiliares para indicar STATUS.
• 3 relés de mínima tensión para supervisar la operación de cada fuente.

Fig. 122 – Esquemático del sistema de respaldo de energía.

b) Especificación funcional.
Condiciones iniciales: La línea de suministro principal debe estar OK, con G1 y
G2 apagados. En consecuencia KM0 debe estar cerrado y KM1 junto a KM2
abiertos.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 127


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

Al fallar la línea principal (validada por un retardo de 1 segundos después que


LV0 se activa), el sistema arrancará el generador de turno (G1 y G2 deben
alternar su funcionamiento), entonces abrir el contactor de línea y cerrar el
contactor del generador que ahora este funcionando.
Bajo las condiciones anteriores se debe computar el tiempo de funcionamiento
del generador para efector de mantenimiento preventivo de los generadores.
Al retornar la línea (validada por un retardo de 5 segundos), el sistema debe
realizar la retransferencia hacia la línea principal.
Igualmente el generador que respaldo debe pasar por un proceso de
enfriamiento de 10 minutos. (funcionamiento sin carga).
En un proceso de BACKGROUND, el sistema debe indicar a través de una luz
piloto, cuando hay que hacer mantenimiento por 200 horas de funcionamiento.
En este caso debe marcar el generador como no disponible hasta tanto un
operador confirme que el mantenimiento se ha hecho.

Fig. 123 – Descripción funcional a través de un esquema GRAFCET.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 128


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

c) Análisis de entrada / salida, y variables internas.


ITEM DIREC ELEMENTO DE CONTROL
C.
ENTRADAS
Voltaje en la línea OK I0,0 Relé mínima tensión LV0 (NA)
Voltaje en G1 OK I0,1 Relé mínima tensión LV1 (NC)
Voltaje en G2 OK I0,2 Relé mínima tensión LV2 (NC)
Contactor de línea cerrado I0,3 Contacto auxiliar NA en KM0 (13-14)
Contactor G1 cerrado I0,4 Contacto auxiliar NA en KM1 (13-14)
Contactor G2 cerrado I0,5 Contacto auxiliar NA en KM2 (13-14)
Mantenimiento G1 OK I0,6 Selector con llave S1 (NA)
Mantenimiento G2 OK I0,7 Selector con llave S2 (NA)
SALIDAS
Conectar/desconectar línea O0,0 Bobina contactor KM0
Conectar/desconectar G1 O0,1 Bobina contactor KM1
Conectar/desconectar G2 O0,2 Bobina contactor KM2
Mantenimiento G1 O0,4 Luz piloto LP1
Mantenimiento G2 O0,5 Luz piloto LP2
VARIABLES INTERNAS
Tiempo falla línea T0 ON DELAY (1 seg)
Tiempo retorno línea T1 ON DELAY (5 seg)
Tiempo enfriamiento G1 T2 OFF DELAY (10 min)
Tiempo enfriamiento G2 T3 OFF DELAY (10 min)
Funcionamiento G1 T4 ON DELAY (60 min)
Horas G1 C1 ASCENDENTE(200)
Funcionamiento G2 T5 ON DELAY (60 min)
Horas G2 C2 ASCENDENTE(200)
Alternador G1 – G2 SC0 PASO a PASO (2 pasos)

Tabla 26 – Análisis de entrada / salida del sistema de respaldo.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 129


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

d) Conexión de entradas / Salidas al PLC.

Fig. 124 – Conexión del PLC para el sistema de transferencia.

e) Programa.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 130


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 131


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

6.4 Programación con texto estructurado.

E
s un lenguaje de programación similar al C, al Pascal, al BASIC
estructurado, etc. Formando parte del estándar IEC 1131, sus
características generales son:

a) El lenguaje puede usar tanto las direcciones memoria normales de I/O como
nombres de variables.

TESTER, I, I:000, T4:0, T4:0/ACC, MOTOR, TANQUE, I:000/00

b) Los nombres de las variables pueden ser cualquiera excepto nombres de


instrucciones y los listados a continuación:

START, DATA, PROJECT, SFC, LADDER, I/O, ASCII, CAR, FORCE,


PLC2, CONFIG, INC, ALL, YES, NO, STRUCTURED TEXT.

c) Las variables se declaran de la siguiente forma:

DECLARACIÓN DESCRIPCIÓN

VAR Declaración general de variables.

VAR_INPUT Declaración de variables de entradas a una función.

VAR_OUTPUT Declaración de variables de salida de una función.

VAR_IN_OUT Declara variables de entrada / salida de una función.

VAR_EXTERNAL

VAR_GLOBAL Declaración de variable global.

VAR_ACCESS

RETAIN Variable memorizada ante un corte de energia.

CONSTANT Valor que no cambia.

Tabla 27 –Declaración de variables.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 132


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

d) Las instrucciones pueden usar indistintamente mayúsculas o minúsculas.

e) Las instrucciones pueden ser concatenadas o anidadas.

f) Los comentarios deben estar en líneas que comienzan con “;;”.

g) El sistema numérico corresponde al siguiente:

Tipo de Número Ejemplos

Enteros -100, 0, 100

Reales -100.0, 0.0, 100.0

Exponentes -1.0E-2, 0.0E0, 1.0E2

Binarios 2#111111111

Octales 8#123, 8#777, 8#14

Hexadecimal 16#FF, 16#ff, 16#9a, 16#01

Booleano 0, FALSE, TRUE

Tabla 28 –Sistema numérico.

h) Las cadenas de caracteres usables se muestran a continuación:

Ejemplos Descripción

‘’ Cadena vacia.

‘ ‘, ‘a’, ‘$’’, ‘$$’ Un espacio, un carácter, una comilla, símbolo


$(dólar)

‘$R$L’, ‘$r$l’,‘$0D$0A’ Produce la combinación ASCII <CR>, <LF>

‘$P’, ‘$p’ Avance página.

‘$T’, ‘4t’ Tabulador <TAB>

Tabla 29 –Cadenas de caracteres válidos.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 133


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

i) Las bases de tiempo típicas se muestran a continuación:

Valores de tiempo Ejemplos

2.5 ms T#25ms, T#25.0ms, TIME#25.0ms, T#-25ms,


t#25ms

5.5 horas TIME#5.3h, T#5.3h, T#5h_30m, T#5h30m

3 días,5 horas, 6 min,46 seg. TIME#3d5h6m36s, T#3d_5h_6m_36s

Tabla 30– Bases de tiempo.

j) Variables calendario se usan para comparar fechas y tiempos en el sistema.

Descripción Ejemplos

Fechas DATE#1996-12-25, D#1996-12-25

Hora TIME_OF_DAY#12:42:50.92, TOD#12:42:50.92

Fecha y hora DATE_AND_TIME#1996-12-25-12:42:50.92, DT#1996-12-25-


12:42:50.92

Tabla 31– Variables tipo calendario.

k) Funciones matemáticas básicas.

Función Descripción
:=
Asigna una variable.

+ Suma
-
Sustracción.
/
División.

+ Multiplicación.

MOD(A,B) Módulo. Provee el entero resultate de dividir A/B.

SQR(A) Raiz cuadrada.


Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 134
CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

FRD(A) Convertir de BCD a Decimal.

TOD(A) Convertir de Decimal a BCD.

NEG(A) Cambiar de signo +/- .


LN(A) Logaritmo natural.

LOG(A) Logaritmo base 10.


DEG(A) Convertir de radianes a grados.

RAD(A) Convertir de grados a radianes.

SIN(A) Seno.

COS(A) Coseno
TAN(A)
Tangente.

ASN(A) Arcoseno

ACS(A) Arcocoseno.

ATN(A) Arcotangente.
XPY(A,B)
“A” elevado a la “B”
A**B
“A” elevado a la “B”

Tabla 32– Funciones matemáticas.

l) Funciones lógicas de comparación.

Función Descripción
>
Mayor que.

>= Mayor o igual que.


=
Igual que.
<=
Menor o igual que.

< Menor que.

<> Diferente de.

Tabla 33– Funciones lógicas de comparación.

m) Funciones de lógica Booleana.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 135


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

Función Descripción
AND(A,B)
“Y” lógica.

OR(A,B) “O” lógica


XOR(A,B)
“O” exclusiva
NOT(A)
Negación o inversión lógica

! Negación o inversión lógica

Tabla 34– Funciones lógicas BOOLANAS.

n) Estructuras de ejecución y lazos.

Estructura Descripción
IF-THEN-ELSIF-ELSE-END_IF;
Ejecuta condicionalmente.
CASE-valor:-ELSE-END_CASE;
Ejecuta selectivamente.
FOR-TO-BY-DO-END_FOR;
Ejecuta cierto número de lazos.
WHILE-DO-END_WHILE;
Ejecuta lazo mientras cumpla condición.
Tabla 35– Estructuras de ejecución y lazos.

o) Instrucciones especiales.

Instrucción Descripción
RETAIN()
Causa que un bit sea memorizado.
IIN();
Actualiza una entrada (Immediate Input Update)
EXIT;
Sale de un lazo FOR o WHILE
EMPTY

Tabla 36– Instrucciones especiales.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 136


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

En el siguiente ejemplo, se acepta una entrada en BCD proveniente de la


dirección (I:000) y se usa para cambiar el tiempo de retardo de un temporizado “al
trabajo” que en combinación con el estado de la entrada (I:002/00) activa la salida
(O:001/00).

FRD (I:000, DELAY_TIME);


IF (I:002/00) THEN
TON (T4:0, 1.0, DELAY_TIME, 0);
ELSE
RES (T4:0);
END_IF;
O:001/00 := T4:0.DN;

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 137


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

6.5 Programación con bloques funcionales.

E
ste es un procedimiento de programación que hace resemblanza de los
diagramas de bloques. Al formar parte del estándar IEC 1131, cuenta con
características típicas como:

a) Existen diferentes tipos de datos en las líneas de conexión.

Fig. 125 – Ejemplo de programación con bloques funcionales.

b) Las entradas y las salidas se pueden “negar” mediante la adición de un bloque


inversor.

Fig. 126 – Bloques de negación.

c) Las funciones en los diagramas están basadas en otras funciones disponibles.


Las entradas a una función van por la izquierda, mientras que la salida
emerge por la derecha.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 138


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

Texto estructurado Equivalente bloques funcionales

O:=ADD(A,B)

Fig. 127 – Ejemplo de equivalencia entre texto estructurado y bloques funcionales.

d) Algunas funciones pueden poseer un número variables de argumentos de


entrada.

Texto estructurado Equivalente bloques funcionales

O:=LIM(MN:=A, IN:=B, MX:=C)

O:=LIM(MN:=A, IN:=B)

Fig. 128 – Funciones de tres argumentos.

e) Se pueden desarrollar bloques función usando texto estructurado, LADDER u


otros lenguajes de programación.

Texto estructurado Equivalente bloques


funcionales
FUNCTION_BLOCK DIVIDE
VAR_INPUT
A: INT;
B: INT;
END_VAR
VAR_OUTPUT
C: INT;
END_VAR
IF B <> 0 THEN
C := A / B;
ELSE
C:= 0;
END_IF;
END_FUNCTION_BLOCK
Fig. 129 – Desarrollos de bloques funcionales.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 139


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

6.6 Equipos para la programación.

E
xisten cuatro formas o equipos para la programación, configuración y
explotación de los PLCs: Los equipos integrados, las consolas
BOOLEANAS portátiles o HAND HELD, los terminales de programación
gráfica y los PCs + Software especial.

Fig. 130 – Equipos integrados.

Fig. 131 – Hand Held.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 140


CAPITULO 6. LENGUAJES Y EQUIPOS PARA LA PROGRAMACIÓN.

Fig. 132 – Terminal de programación gráfica.

Fig. 133 – Programación mediante PCs + Software especializado.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 141


7
Capítulo

COMUNICACIONES.

7.1 Comunicación RS-232 (Hardware).

L
a comunicación a través de un puerto de comunicaciones RS-232 es el
método más popular para la comunicación de los PLCs con dispositivos
externos. Este es un método de comunicación asincrónica que usa el
sistema binario (1's y 0's) para transmitir los datos en un formato ASCII(American
Standard Code for Information Interchange). Este código traduce el código humano
(letras / números) a un código legible por las computadoras(1's y 0's). La transmisión
y recepción de los datos se hace a través del puerto serial de los PLCs. Este puerto
trabaja enviando y recibiendo señales de voltaje. Un voltaje positivo se conoce
como una MARCA, mientras que un voltaje negativo es un ESPACIO.
Típicamente los PLCs trabajan con +/- 15 voltios.

Existen 2 tipos de dispositivos RS-232. El primero es llamado DTE (Data


Terminal Equipment) y un ejemplo de él es un computador. El segundo tipo de
dispositivo es llamado DCE (Data Communications Equipment) y un ejemplo de él es
un MODEM (Modulador / Demodulador). Los PLCs pueden ser tanto DTE como
DCE.

El puerto serial del PLC trabaja poniendo algún pin en on (ALTO) mientras
pone algún otro en off (BAJO). Cada uno de estos pines esta dedicado a un
propósito específico. El puerto serial viene en dos presentaciones: un tipo de 25
pines y otro de 9 pines. Los pines y sus propósitos se muestran a continuación. (esta
tabla asume que el equipo es un DTE).

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 142


CAPITULO 7. COMUNICACIONES.

9-PIN 25-PIN PROPÓSITO

1 1 Aterramiento de la carcasa

2 3 Recepción de datos (RD: Receive data)

3 2 Transmisión de datos (TD: Transmit data)

4 20 Terminal listo (DTR: data terminal ready)

5 7 Referencia de la señal

6 6 Equipo OK (DSR: data set ready)

7 4 Listo para transmitir (RTS: request to send)

8 5 Listo para recibir (CTS: clear to send)

9 22 Indicador de tono (RI: ring indicator) *Sólo para MODEMs*

Tabla 37 – Tabla asignación de pines del puerto RS-232.

• Aterramiento- Este pin debe ser conectado internamente al chasis del


dispositivo.

• Recepción de datos- este pin es por entra los datos provenientes de un


dispositivo externo.

• Transmisión de datos- Este pin es por donde salen los datos rumbo a un
dispositivo externo.

• Terminal listo- Este pin es el control maestro para el dispositivo externo.


Cuando este pin esta en 1 el dispositivo externo ni transmite ni recibe datos.

• Referencia de la señal- Ya que los datos son enviados como voltajes


positivos o como voltajes negativos, este pin sirve como referencia a ambas
señales.

• Equipo OK- Usualmente los dispositivos externos mantienen este pin


permanentemente en 0 y el PLC lo usa básicamente para determinar si el
dispositivo externo esta encendido y listo.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 143


CAPITULO 7. COMUNICACIONES.

• Listo para transmitir- este es parte de la sincronización del hardware.


Cuando el PLC desea enviar datos a un dispositivo externo, el pone este pin
en 0. En otras palabras, el PLC pone este bits en 0 para indicar que “desea
enviar datos”, y el dispositivo externo responde poniendo el pin CLEAR TO
SEND a 0 indicando así que “esta listo”. entonces, el PLC envía los datos.

• Listo para el envío- Esta es la otra mita de la sincronización del hardware.


Como se vio anteriormente, el dispositivo externo pone este pin en 0 para
indicar que esta listo para recibir datos.

• Indicador de tono- Se usa solamente cuando el PLC esta conectado a un


modem.

¿Que pasaría si tanto el PLC como el dispositivo externo son DTE o si ambos son
DCE? No podrán comunicarse uno con el otro.

La figura siguiente muestra porque 2 dispositivos del mismo tipo no pueden


comunicarse entre sí.

Fig.134 – Conexión incorrecta.

Nótese que en la figura de arriba la línea de recepción de datos (pin 2) del


primer dispositivo esta conectada con la línea de recepción de datos del segundo
dispositivo. Con la línea de transmisión de datos pasa algo similar excepto que es
para la transmisión sobre el pin 3.La solución a este problema es usar una conexión
tipo null-modem como las mostrada a continuación.

Fig. 135 – Conexión Null-Modem.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 144


CAPITULO 7. COMUNICACIONES.

Como resumen, considere este ejemplo donde ambos dispositivos están


encendido y el PLC es un DTE, mientras que otro dispositivo externo es un
DCE.

El dispositivo externo activa su pin DSR lo cual dice al PLC que está ahí y que
está encendido. El PLC activa su pin RTS lo cual es igual que preguntar al dispositivo
externo “Estas listo para recibir algunos datos”. El dispositivo externo responde
activando su pin CTS con lo cual dice que esta OK que el PLC envíe datos. El PLC
envía datos usando su pin TD terminal y el dispositivo externo la recibe por su pin
RD. Algunos datos son enviados y recibidos. Después de un tiempo, El dispositivo
externo no puede procesar los datos tan rápidamente, y por eso pone a 0 su pin CTS
y el PLC congela el envío de datos. El dispositivo externo se pone al corriente y
entonces pone nuevamente a 1 su pin CTS . El PLC reanuda el envío de datos a
trabes del terminal TD terminal y el dispositivo externo los recibe a trabes de su
terminal RD. El PLC se le acaban los datos por enviar y entonces pone a cero su pin
RTS. El dispositivo externo para de recibir y entonces aguarda por mas datos futuros.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 145


CAPITULO 7. COMUNICACIONES.

7.2 Comunicación RS-232 (Software).

• ASCII es un código de traducción de lo entendible por humanos a lo


entendible por computadoras (cada letra o número es convertido en 1's y 0's).
Su código de 7 bits permite codificar 128 caracteres (27 = 128). La tabla
siguiente muestra la representación ASCII hexadecimal de los 128 símbolos o
caracteres. Por ejemplo, en la tabla se ve que el "0" se codifica como 30h, el
"5" como 35h, la letra "E" como 45h, etc.

Bits más significantes

0 1 2 3 4 5 6 7

0 space 0 @ P ` p

1 XON ! 1 A Q a q

2 STX " 2 B R b r

3 ETX XOFF # 3 C S c s

4 $ 4 D T d t

5 NAK % 5 E U e u
Bits
6 ACK & 6 F V f v
Menos
7 ' 7 G W g w
significantes
8 ( 8 H X h x

9 ) 9 I Y i y

A LF * : J Z j z

B + ; K [ k {

C , < L \ l |

D CR - = M ] m }

E . > N ^ n ~

F / ? O _ o

Tabla38 – Tabla símbolos ASCII.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 146


CAPITULO 7. COMUNICACIONES.

• Bit de inicio- En el RS-232 lo primero que se envía es llamado bit de inicio.


Este bit de inicio (“inventado durante la 1era guerra mundial por Kleinschmidt)
es un bit de sincronización adicionada justamente antes de enviar cada
carácter. Este es considerado un ESPACIO, un voltaje negativo o un “0”.

• Bit de parada- Es el último bit que se envía después de cada carácter (fin de
carácter). Es considerado como una MARCA, Voltaje positivo o un “1”.

• Bit de paridad- Ya que muchos PLC y dispositivos externos están orientados


al byte (8 bits = 1byte), parece mejor manejar los datos como un byte. Aunque
ASCII es un código de 7 bits no es común transmitirlo de esa manera.
Típicamente se usa un octavo bit de paridad para el chequeo de errores. Este
método de chequeo de errores recibe su nombre de la idea matemática de la
paridad. En términos simples, todos los caracteres tendrán una cantidad par
de 1’s, o una cantidad impar de 1’s. De aquí que las formas comunes de
paridad sean: Par, Impar y ninguna. Considere este ejemplo:
enviar el carácter "E" (45h en Hexadecimal o 1000101b en Binario)
Paridad Ninguna: Como el bit de paridad es siempre 0, entonces se envía
10001010.
Paridad par: Se debe tener una cantidad par de 1's. Como el carácter original
tiene 3 1’s (1000101) entonces el bit de paridad a adicionar debe ser 1
(10001011). Ahora lo enviado si tiene una cantidad par de 1's.
Paridad impar: Se debe tener una cantidad impar de 1's. Como el carácter
original tiene 3 1’s (1000101), osea una cantidad impar, entonces el bit de
paridad a adicionar debe ser 0 (10001010).
Durante la comunicación el dispositivo que transmite calcula el bit de paridad y
lo envía. Por su parte el receptor calcula también la paridad para el carácter
de 7 bits y la compara con el bit de paridad recibido. Si los bits calculado y
recibido no son iguales, ha ocurrido un error y entonces se ejecuta la rutina
apropiada en este caso.
El método de chequeo de paridad no es muy popular. Esto se debe a que el
mismo es efectivo sólo la mitad de las veces, ya que el chequeo de la paridad
puede sólo detectar errores que afectan una cantidad impar de bits. Si el error

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 147


CAPITULO 7. COMUNICACIONES.

afecto a 2, 4 o 6 bits el método es inútil. Típicamente los errores son causados


por el ruido que viene en ráfagas y que difícilmente afecta a un solo bit. De
aquí que sea más popular usar el método de chequeo mediante bloque
redundante.

• Rata de Baudios- Se refiere a la cantidad de bits por segundos (bps) que son
transmitidos. Valores comunes son 1200, 2400, 4800, 9600, 19200, y 38400
bps.

• Formato de datos RS-232- (Rata de baudios-bits de datos-paridad-bits de


parada) Esta es la manera como típicamente se especifica el formato de los
datos. Por ejemplo: 9600-8-N-1 significa una rata de baudios igual a 9600 bps,
8 bits de datos, sin paridad, y un bit de parada.

La siguiente figura muestra como los datos correspondientes al carácter “E”


(45h=100 0101b) con paridad “par”, salen por el puerto serial.

Fig. 36 – Tren de bits correspondiente al carácter “E”

Otra importante característica que algunas veces es usada para la


sincronización entre dispositivos es el “control de flujo”, el cual se usa para asegurar
que ambos dispositivos estén listos para enviar / recibir datos. El más popular
“control de flujo de caracteres” se conoce como XON/XOFF. Simplemente cuando el
receptor desea que el transmisor haga una pausa, él envía el carácter XOFF.
Cuando el receptor desea recibir datos otra vez, él envía al transmisor el carácter
XON.

Una última característica son los “delimitadores”, los cuales se agregan al final
del mensaje para indicar al receptor que procese los datos que él ha recibido. El más
popular es el CR(carriage return) o el par CR y LF(line feed). Cuando el PLC u otro
dispositivo externo recibe estos delimitadores, sabe que tiene que tomar los datos del
Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 148
CAPITULO 7. COMUNICACIONES.

buffer que ya están listos.(El buffer es la memoria donde se guardan temporalmente


los datos que se están recibiendo).

Para la transmisión / recepción a veces se usa igualmente el par STX(start of


text) y ETX(end of text). El STX es enviado antes de los datos e indica al dispositivo
externo que los datos vienen a continuación. Después que todos los datos han sido
enviados, un carácter ETX es enviado.

Finalmente, poco menos usual, pero también se usa un par ACK/NAK


(acknowledge). Esencialmente , el transmisor envía sus datos y el receptor debe
enviar como respuesta un carácter ACK para indicar que recibió sin errores, o un
carácter NAK si la recepción tuvo errores. En el último caso el transmisor debe
reenviar los datos.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 149


CAPITULO 7. COMUNICACIONES.

7.3 Usando RS-232 dentro de la programación escalera.

A lgunos PLC incluyen capacidad de comunicación RS-232 en el procesador


principal, otros usan el puerto de programación para este fin, y un tercer
grupo requiere que se le instale un módulo especial RS-232 para
comunicarse con otros dispositivos externos. Como dispositivo externo se entienden
las interfaces con los operadores (HMI: Human Machine Interface), computadores,
controladores de motores, sistemas de visión y robotizados, etc.

Para comunicarse vía RS-232 se deben establecer algunas cosas:

• ¿En que lugar de la memoria se almacenaran los datos a ser enviados?

• ¿En que lugar de la memoria se almacenarán los datos recibidos de los


dispositivos externos?

• ¿Cómo indicarle al PLC que es el momento para enviar los datos por el puerto
serial?

• ¿Como se sabrá que se ha recibido datos desde un dispositivo externo?

Como se nota, para establecer la comunicación con dispositivos externos sólo hay
que escoger en la memoria disponible un área de trabajo, y seleccionar unos relés
internos para enviar y recibir datos. Pero antes de realizar esto, considérese las
siguientes definiciones.

• Buffer- Es una locación de memoria usada para almacenamiento temporal


donde el PLC o el dispositivo externo hace lo propio con los datos recibidos o
con los datos que están aguardando para ser enviado vía RS-232.

• Cadena- es una forma sencilla de referirse a un grupo de caracteres. La


palabra “hola” es una cadena, ya que es un grupo de caracteres (h-o-l-a) que
están relacionados entre sí para lograr un significado útil. "43770" también es
una cadena aunque por ahora carezca de sentido alguno. Sin embargo la

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 150


CAPITULO 7. COMUNICACIONES.

cadena anterior podría ser un comando que indique a un robot que envíe su
posición actual.

• Concatenar- Simplemente significa combinar 2 cadenas entre sí para lograr


una sola. Por ejemplo se concatena “láser” y “jet” se obtendría la cadena única
“laserjet”.

Ahora bien, los pasos típicos a seguir para lograr establecer la comunicación se dan
a continuación.

1. Se debe asignar por ejemplo las locaciones de memoria DM100 hasta DM102
para que sean el lugar donde se pondrán los datos antes de enviarlos por el
puerto serial. Como nota especial considere el hecho de que muchos PLCs
tienen áreas de memoria especialmente dedicadas a este fin.

2. Se debe asignar por ejemplo el relé interno 1000 para que funcione como
nuestra bandera de arranque de transmisión. En otras palabras, cuando se
active el relé 1000 el PLC enviará los datos contenido en DM100-DM102 por
el puerto serial hacia el dispositivo externo. Nótese nuevamente que muchos
PLCs cuentan con relés especiales para ejecutar lo mencionado.

En el siguiente ejemplo se enviará la cadena "alr" por el puerto serial del PLC
hacia una interfase hombre-máquina cuando un sensor de temperatura se active
indicando que el horno se ha sobrecalentado. Cuando el dispositivo externo que
funciona como HMI reciba esta cadena, desplegará un mensaje de alarma para que
sea vista por un operador. Al mirar la tabla ASCII se nota que “alr” en hexadecimal es
igual a 61, 6C, 72 (a=61, l=6C, r=72). De aquí que se deba escribir en forma
individual estos caracteres ASCII (en forma Hexadecimal) en las locaciones de
memoria ya antes seleccionadas (DM100-102). Para ello se utilizarán las
instrucciones LDA o MOV. Posteriormente, se activara el relé de envío cuando el
sensor de temperatura (entrada 0000) se ponga en alto. El diagrama escalera
resultante se muestra a continuación.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 151


CAPITULO 7. COMUNICACIONES.

Fig.37 – Envío de una cadena de caracteres.

Algunos PLCs pueden no tener relés internos dedicados al envió de datos a


trabes de puerto RS-232, y en consecuencia se deberá asignar manualmente por
configuración. También, algunos PLCs cuentan con instrucciones especiales para
indicar donde los datos han sido almacenados y para indicar cuando enviar los datos.
Estas instrucciones son llamadas comúnmente como AWT (ASCII Write) o RS
(Request to Send).

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 152


CONCLUSIÓN

L
os Controladores Lógicos Programables o PLCs son elementos de control de
estado sólido que si bien su origen fue en las líneas de producción de la
industria automotriz, hoy se encuentran diseminados en muy diversas
aplicaciones: desde el simple control local de una máquina o proceso hasta las más
avanzadas operaciones de control distribuido. Su operación no sólo se limita a ciclos
mono tarea sino que pueden ejecutar tareas concurrentes, tareas rápidas activadas
por eventos, sub tareas, etc. La comunicación con el mundo exterior la logra
principalmente con sus interfases de entrada / salida, siendo la forma más popular la
de las entradas discretas a 24 Vdc en conjunto con salidas a contactos secos.
En otro orden de ideas, los elementos virtuales de control forman parte sui
generis de los PLCs, siendo esta la característica que permite a los usuarios crear
aplicaciones de control imposibles de realizar con los viejos sistemas a relés,
además de que les permite la fácil reprogramación de los cambios que surjan en la
lógica de control. Para lograr esta versatilidad de programación de la lógica de
control, los PLCs disponen de varios lenguajes mediante el cual se pueden crear las
aplicaciones en cuestión, pero de ellos el de más amplio uso es el lenguaje a
contactos o diagrama escalera ya que le es el más familiar a los profesionales que
están envuelto en las operaciones con PLCs.
Las herramientas de comunicación integrada a los PLCs no sólo mejora la
posibilidad de explotación de los sistemas de control, sino que además abre sus
aplicaciones hacia los sistemas integrados de manufactura y producción tales como:
CIM, CAM, etc.
Finalmente, todo lo relacionado a los Controladores Lógicos Programables o
PLCs, esta reunido bajo el estándar IEC-1131.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 153


BIBLIOGRAFÍA

1. http://www.thelearningpit.com
2. http://www.plcs.net/contents.shtml
3. Hugh, Jack: Automated manufacturing systems. PLCs. First Draft. Enero 2000.
4. Industrial programmable controller. Modicon. Catálogo, Febrero 1998.
5. Micro autómata TSX 17.Manual de Instalación: Telemecanique. Manual 1989.
6. Petrozella, Frank: Programmable logic controller. Enero 1997.
7. Rabiee, Max et al.:Programmable logic controller: Hardware and
Programming. Enero 2000.
8. Relé programable ZELIO LOGIC. Telemecanique. Manual Enero, 2000.
9. Rosandich, Ryan: Fundamental of Programmable Logic Controller. Septiembre
1997.
10. Siemens Technical Education Program: Basics of PLCs. Julio 1986.
11. Terminal TSX T317. Programación PL7-1. Lenguaje Booleano.
Telemecanique. Manual 1989.

Prof. Danilo Navarro. Universidad De Oriente. Julio 2001. 154