CAPITULO 5 : AUTÓMATAS PROGRAMABLES
DESCRIPCIÓN DE UN PLC
Externamente un PLC se compone de una o varias cajas de plástico acopladas mecánica y el electricamente entre s . Una de ellas contiene la CPU (Central Process Unit) y las otras son módulos complementarios para entradas, salidas, comunicaciones, alimentación y otras funciones especiales.
Tanto la CPU como los m odulos adicionales tienen bornas para los cables de conexión del autómata con sensores y actuadores as como con otros autómatas y ordenadores.
ESTRUCTURA DEL PROGRAMA DE APLICACIÓN
Los Programas de aplicación se estructuran de acuerdo al modo como se procesan los programas (tareas), éstas pueden ser de dos tipos:
PROGRAMACION LINEAL
Se emplea para aplicaciones simples de automatización, su procesamiento es cíclico o secuencial y es suficiente programar las diferentes instrucciones en un solo bloque o sección de programación.
Un procesamiento cíclico o secuencial, consiste en la lectura, interpretación y ejecución de instrucción por instrucción, respetando el orden en que se han programado, salvo las instrucciones de salto. Para ejecutar las instrucciones se utilizan informaciones procedentes de la imagen de proceso de entradas (IPE), memorias internas, memorias intermedias, así como los datos actuales de los temporizadores y contadores. Los resultados se escriben en la imagen de proceso de salidas (IPS).
Después de la ejecución del programa se corre un ciclo de datos, esto significa el proceso durante el cual los datos de la IPS se transfieren a los módulos de salida, y simultáneamente, se transfieren a la IPE los datos actuales de los módulos de entrada. Con esta IPE actualizada, vuelve a lanzarse la ejecución del programa, lo que significa repetir todo el proceso desde el inicio.
Los PLCs que realizan solamente este tipo de procesamiento, están diseñados con microprocesadores del tipo (intel 8086/8088) que se caracterizan por su limitada capacidad para ejecutar un solo programa a la vez.
Estos tipos de PLCs son denominados también PLCs secuénciales, con capacidad además de ejecutar tareas de regulación, de comunicación, etc.
Sin embargo, esta forma de procesamiento dificulta notablemente el trabajo cuando se tiene que procesar diferentes funciones a la vez, y en algunos casos es casi imposible estructurar los programas debido a las siguientes desventajas:
- Incremento del tiempo de barrido`, que es proporcional a la complejidad del programa.
- En extensos programas es muy tedioso su diagnóstico. Modificación y puesta a punto.
- Dificultad para la concepción del programa resultando complejo y difícil interpretarlo y actualizarlo.
- En muchos casos es indispensable el cumplimiento en tiempo real defunciones avanzadas tales como:
* medición analógica y regulación
* servoposicionamiento
* comunicación para el diálogo operador y control
* funciones de monitoreo, etc.

PROGRAMACIÓN ESTRUCTURADA
Cuando se desea programar tareas de automatización muy complejas donde utilizar una programación lineal resulta demasiado laborioso, es conveniente en este caso dividir el problema en partes, de tal forma, que interpretándolo y resolviéndolo en forma parcial mediante bloques y al final unir este conjunto de programas en uno solo, resulta significativamente más fácil para el usuario.
A esta filosofía de programación se le conoce con el nombre de Programación Estructurada, que consiste en la división del programa de aplicación en bloques que se caracterizan por una independencia funcional, donde cada bloque del programa realiza una tarea específica claramente definida.
La programación estructurada optimiza el tiempo de escaneo ya que no se ejecutan todos los bloques en cada ciclo de barrido, ejecutándose sólo los que están en actividad en el momento dado.
Las ventajas que se obtienen programando en forma estructurada son
La compresión, solución, simulación y pruebas es mucho más fácil cuando un problema muy complejo es tratado por partes.
El diagnóstico de fallas y por ende su solución es también más fácil, dado que una vez identificado el bloque del programa donde se encuentra la falla, su corrección resulta más rápido que si se afrontara el programa global.
Los programas parciales pueden ejecutarse independientemente por equipos de programadores, cada grupo elaborando bloques individuales; además se pueden usar reiteradamente durante el escaneo del programa, o formar parte de otro programa de aplicación.
Se emplea mejor la capacidad de la memoria dado que pueden llamarse los bloques de programas las veces que se requiera sin que se tenga que programar repetidas veces.
Optimización del tiempo de barrido.
Por otro lado, dependiendo del tipo de procesador que disponga el PLC la programación estructurada puede aprovecharse con menor o mayor Eficiencia.
Este es el caso, como se mencionó anteriormente de los PLC diseñados en base a microprocesadores del tipo mono tarea, donde la programación estructurada compuesta por una serie de bloques de programación, se ejecuta en base al procesamiento secuencial o lineal de un bloque matriz, que viene hacer el núcleo de la estructura.
A continuación se puede ver un ejemplo de una programación estructurada cuya distancia medida por el número de bloques a los que "salta ', se le conoce como Profundidad de Encadenamiento o Anidado. Con este tipo de microprocesador no se puede realizar en forma simultánea otras tareas como diálogo hombre-máquina, procesamiento analógico, etc.

OB: Módulo de Organización
PB Módulo de Programa
FB Módulo Funcional
DE3 Módulo de Datos
Sin embargo, hoy en día se cuenta con procesadores de mayor velocidad de procesamiento, mayor memoria y características adicionales que le permiten ejecutar a los PLCs programas más rápidamente, estos son los procesadores multifunción (286, 386, 486, etc.), con capacidad de ejecutar varios programas en forma simultánea tales como tareas de posicionamiento, medición analógica, tratamiento secuencial, diálogo, etc.
Los PLCs multifunción desarrollados en base a microprocesadores multitarea se caracterizan por su mayor velocidad para atender diferentes programas a la vez y en tiempo real, además por su mayor capacidad de memoria para ejecutar varios programas simultáneamente sin originar conflictos.
En la siguiente figura se muestra la estructura de la multitarea, donde el conjunto de programas o tareas son totalmente independientes, un supervisor gobierna la ejecución de las diferentes tareas.
Así también, en estos procesadores la concepción del tratamiento secuencial es en base a la división en bloques de programas, algo así como subrutinas, que es básicamente el concepto de la programación estructurada.
En conclusión, la diferencia en el procesamiento de estos dos tipos de programas estructurados radica en que el primero funcionando con microprocesadores mono tarea, ejecutan los diversos módulos o bloques de programación según un procesamiento secuencial, es decir, uno a continuación del otro, mientras que el procesador multifunción además del procesamiento secuencial, puede ejecutar el programa estructurado independientemente si se ejecutó el bloque anterior. Esto significa, que si en algún momento durante el proceso de barrido del programa en el sistema de control se origina una contingencia, puede ejecutarse una tarea de interrupción sin tener que esperar el barrido total del programa
Programación estructurada con procesador multifunción (diagrama de bloques según lenguaje de programación PL7-3 de Telemecanique)

En la siguiente figura se muestra los bloques de programas en tratamiento secuencial y en Grafcet.

INTRODUCCION A LA PROGRAMACIÓN
Antes de empezar con la programación propiamente dicha, es necesario definir algunos conceptos que proporcionen al lector las bases suficientes para comprender de la manera más clara, el desarrollo de los temas que se tocarán más adelante en lo referente a la programación básica y avanzada, así por ejemplo, el lector deberá estar en condiciones de diferenciar una señal discreta de una análoga, representar las cantidades binarias, estructurar una instrucción de mando, tener presente las reglas básicas para las diferentes representaciones de los lenguajes de programación, etc.
Por consiguiente, el éxito que se tenga en lo sucesivo dependerá de lo aprendido en esta parte introductoria.
TIPOS DE SEÑALES
Existen dos tipos de señales bien definidas que un PLC puede procesar, estos son
SEÑAL DISCRETA
Este tipo de señal es conocido también con los siguientes nombres
- señal binaria
- señal digital
- señal lógica
- señal todo o nada (TON)
Se caracteriza porque sólo pueden adoptar uno de dos posibles estados o niveles. A estos dos estados posibles se le asocia para efectos del procesamiento el estado de señal "0 " y el estado de señal "l ". Así mismo, estos estados cuando se relaciona de acuerdo a su condición eléctrica se dice: no existe tensión y, existe tensión, la magnitud de la tensión no interesa ya que dependerá del diseño del componente electrónico que pueda asumir esta tensión nominal.
Como ejemplo se pueden citar aquellos dispositivos de campo de entrada y salida de donde provienen o se asigna una señal discreta con respecto a un PLC.
Entrada
- pulsador
- interruptor deposición
- interruptor fotoeléctrico, etc.
Salida
- contactor
- lámpara indicadora, etc.

SEÑAL ANÁLOGA
Se conoce como señal análoga, aquella cuyo valor varía con el tiempo y en forma continua, pudiendo asumir un número infinito de valores entre sus límites mínimos y máximos.
A continuación se citan algunos parámetros físicos muy utilizados en los procesos industriales, tal que, en forma de señal análoga pueden ser controlados y medidos.
- temperatura
- velocidad
- presión
- flujo,
- nivel, etc.

REPRESENTACION DE LAS CANTIDADES BINARÍAS
Dado que el PLC recepciona la información proveniente del proceso ya sea en forma discreta o análoga, donde la información se almacena en forma de una agrupación binaria, es preciso por lo tanto, disponer de un medio de representación que facilite su manejo y mejore la capacidad de procesamiento.
Para ello se emplean con mayor frecuencia tres tipos de representación para la información, éstos son: bit, byte y palabra, en algunos casos se utilizan la doble palabra.
BIT
El bit es la unidad elemental de información donde sólo puede tomar dos valores un "1" ó un "0 ", es decir, un bit es suficiente para representar una señal binaria.
BYTE
El byte es una unidad compuesta por una agrupación ordenada de 8 bits, es decir, ocho dígitos binarios. Los bits se agrupan de derecha a izquierda tomando como número de bit del 0 al 7.
En un byte se puede representar el estado de hasta ocho señales binarias, puede usarse para almacenar un número cuya magnitud como máximo sería:
Número máximo de un byte = 1 1 1 1 1 1 1 1 = 28 _1 = 255
PALABRA
Para obtener mayor capacidad de procesamiento a veces se agrupan los bytes formando lo que se denomina las palabras.
La palabra es una unidad mayor compuesta de 16 bits = 2 bytes. Los bits de una palabra se agrupan de derecha a izquierda tomando como número de bit del 0 al 15.
En una palabra se pueden representar hasta 16 señales binarias, puede usarse para almacenar un número cuya magnitud como máximo sería
Número máximo en una Palabra = 216 - 1 = 65535

DIRECCIONAMIENTO DE BITS
Cuando se elabora un programa de control, se van indicando las diferentes instrucciones de mando donde en cada instrucción se indica que operación se debe ejecutar, también figura la dirección exacta del módulo y canal o terminal de conexión de las señales de E/S involucradas en el proceso.
El direccionamiento puede realizarse de dos formas
- Direccionamiento Fijo
- Direccionamiento Variable
DIRECCIONAMIENTO FIJO
Cuando la dirección de las señales de E/S queda determinada por la posición o puesto de enchufe en que están ubicados los módulos de E/S respecto a la CPU, se dice que el direccionamiento es fijo. Además, un direccionamiento fijo puede ser del tipo Octal (byte) o hexadecimal.
DIRECCIONAMIENTO FIJO DEL TIPO OCTAL (BYTE)
Un direccionamiento del tipo octal queda determinado cuando a cada módulo de E/S se le agrupa los terminales por bytes, es decir, en grupos de 8 bits del (0 al 7).
En este caso, en la dirección se especificará el byte correspondiente al terminal seleccionado y que pertenece al puesto de enchufe según L posición que ocupa.
DIRECCIONAMIENTO FIJO DEL TIPO HEXADECIMAL
Este direccionamiento se diferencia del anterior en el agrupamiento de los termínales, siendo para este caso del tipo hexadecimal, ósea en grupos de 16 bits del (0 al F).

