Conceptos de Programación de PLCs
(Fragmento)


En Saber Electrónica hemos publicado bastante información tanto sobre el funcionamiento de los autómatas programables y de los PLCs como de su programación e, incluso, el Ing. Ismael Cervantes de Anda ha preparado un texto sobre el tema que Editorial Quark publicará próximamente. Entre la bibliografía editada se encuentran los conceptos de programación ya sea con lenguaje de funciones (a través de compuertas), con lenguaje de instrucciones (específicamente hablamos de BASIC) y lenguaje de contactos (lenguaje ladder o escalera) pero lo hemos hecho como complementos a temas que estábamos desarrollando o para explicar la implementación de procesos industriales con PLCs. Sin embargo, muchos lectores (especialmente del sector eléctrico) manifestaron su dificultad en “entender” muchas de las explicaciones por carecer de principios básicos sobre el tema; por este motivo solicitamos al Ing. Carlos Manuel Sánchez González, de la Universidad Michoacana de San Nicolás Hidalgo, México, la publicación de algunas de sus notas con las que imparte cátedras, adaptándolas de modo que lo que expliquemos pueda ser comprendido por todos los lectores. Cabe aclarar que este trabajo, complementado con proyectos del Ing. Ismael Cervantes y textos de diferentes autores, tiene por objeto “enseñarle a programar” PLCs comerciales y para ello incluiremos algunos ejemplos utilizando equipos comerciales y brindándoles la posibilidad de bajar de nuestra web, programas de simulación para que aprenda mientras practica con utilitarios reales. A los efectos de una mejor comprensión, este trabajo lo publicaremos en varias entregas comenzando con definiciones y conceptos prácticos que “intentan” resumir la teoría sobre el funcionamiento de los Controladores Lógicos Programables.


Desarrollo


Definición de PLC

Un PLC es un control computarizado, el cual cuenta en su interior con una mini computadora con microprocesador (X86, 80486, Pentium y muchos otros que en el plano industrial usan arquitectura Von Neumann. En este tipo de arquitectura los datos y la memoria del programa se encuentran en el mismo espacio de direcciones y hace uso de un conjunto de instrucciones tipo RISC -Reduced Instruction Set Computer-). Esta unidad de proceso tiene la forma mínina de una computadora y contiene una cantidad de memoria del sistema y memoria para el usuario, una cantidad variable de funciones y puertos, un programa o sistema operativo mínimo que administra el hardware y una interfase que permite al usuario introducir el programa que permitirá que el PLC haga una tarea específica, llamado también cargador (loader).
Ahora bien, para iniciarse en el campo de los controladores programables es necesario poseer conocimientos básicos de electrónica digital y electricidad básica, un poco de computación, y conocimientos previos de controles con relevadores.
Los elementos de control lógicos que realizan funciones tales como las usadas en electrónica digital (And, Or, Nand, Nor, Xor, etc), estos elementos y otros tales como temporizadores, contadores, registros de corrimiento, banderas, etc; son usados para controlar el arranque y paro de motores; también de automatizar procesos de producción en la industria, construir sistemas de alarmas, sistemas de ahorro de energía, sistemas de neumática, hidráulica y tantas otras aplicaciones en las que los elementos mencionados son usados en conjunto, para resolver problemas de la vida real.
En la mayoría de los casos en la industria, los procesos de producción son de variables cambiantes y se requiere sean reajustados constantemente, por tal razón se necesita que los sistemas planteados para realizar tal tarea, sean de características adaptables, que puedan ser reprogramados de manera simple y rápida pues en la industria el tiempo vale dinero.
Cuando se usan controles lógicos de función fija, construido con elementos discretos, se convierten en sistemas rígidos que sólo sirven para realizar esa tarea y no otra, reacondicionarlos resulta muy complicado y requiere de mucho recursos, por ejemplo tiempo y dinero.
Se ve claro que se requiere un control lógico que se ajuste y que pueda reprogramarse sin que represente un cambio circunstancial en los circuitos.
Estos requerimientos los cumple un dispositivo conocido en el mercado como PLC, mencionado anteriormente y creado para resolver una gran cantidad de problemas de manera fácil rápida, económica y confiable pues reduce el número de componentes del sistema, y aún más cuando los sistemas son muy complejos.
Algunos PLCs comerciales son muy variados según su aplicación y marca, como: Square-D, Siemens, Festo, Allen-Bradley, etc.
Los PLCs han evolucionado en el transcurso de 15 años pues las funciones, memoria, puertos y la interface de programación han mejorado mucho.
Por ejemplo el PLC de FESTO 202 está discontinuado, ya que hoy existen PLCs de bajo costo que realizan funciones simples (mejores que las de este popular equipo) y están limitadas en hardware, pero contienen interfaces de programación muy avanzadas y amigables para el programador, como es el caso del LOGO de Siemens, el cual se programa mediante bloques (programación visual) interconectados entre sí, lo cual se traduce en una interface gráfica más avanzada y accesible para el programador.
Es tarea del programador de PLC y el gerente de producción poder seleccionar el PLC adecuado para satisfacer lo demandado y se tenga una solución fiable y factible para su sistema de control, por ejemplo cuánto dinero se puede gastar, qué funciones se requiere que contenga el PLC, el número de entradas y salidas, la cantidad de memoria del usuario, si un solo PLC puede realizar todo el proceso y la manera de cargar el programa rápidamente en caso de caídas del sistema, otros posibles reajustes del proceso de producción, fallas como pérdidas de energía, ruidos, alarmas, etc.
En la figura 1 se grafica un esquema general que representa a un PLC.

Consideraciones Básicas para Programar un PLC

1.- Enunciar claramente el problema, definiendo de manera completa y concisa la labor a realizar, estableciendo las entradas y salidas con las que se va a interaccionar, las restricciones existentes en cuanto a tiempo de ejecución, precisión, memoria disponible, etc; e indicar los resultados deseados.

2.- Planear por escrito el algoritmo de solución que describa textualmente las operaciones a realizar y el orden de las mismas.

3.-Dibujar un diagrama de flujo (opcional) que facilite visualizar las diversas operaciones y sus interdependencias, así como subdividir el problema en secciones pequeñas que podamos atacar con mayor facilidad (bloques).

4.-Codificar a diagrama de escalera, traducir la secuencia de operaciones indicadas en el diagrama de flujo en un listado de instrucciones codificadas (objetos de control) separadas en pequeños bloques que nos permitan analizar el programa, esto se logra mediante el uso de un diagrama de escalera.

5.-Convertir y Cargar el programa, el diagrama de escalera se convierte a una lista de instrucciones (lista de mnemónicos) caso de Micro-1, o bien mediante un diagrama de componentes (bloques), según el modelo y marca del PLC, que se introducen por la interface local del PLC teclado y pantalla o cargador (Loader) también bien mediante una computadora personal puerto serie de la PC al PLC, usando un cable especial para el caso de PLC con programación visual (diagrama de componentes) como el caso del LOGO de Siemens, es necesario convertir el diagrama de escalera en un diagrama de componentes discretos.

6.-Correr y verificar el programa, para verificar que opere correctamente y en caso de no ser así, detectar las fallas y corregirlas, de manera local o remota, si se programa mediante la PC, algunos programas el caso del LOGO Confort Ver.2,Ver.4, y WindLDR Ver. 4.2, tiene un programador y simulador para verificar que el programa funcione bien antes de cargarlo al PLC.

7.-Documentar el programa con texto al margen que indiquen cómo opera el programa y facilite entenderlo y usarlo, comentarios e instrucciones para el usuario, diagrama a bloques, diagrama de tiempos, mapa de memoria, manual de uso, guía de usuario, respaldo en disco del código, etc.

Diagrama de Escalera, Mnemónico y de Compuertas

Los diagramas de escalera (figura 2) son usados para la representación general de circuitos de control que facilite su análisis mediante el uso de contactos N.A y N.C, Temporizadores, Contadores de eventos, Registros de corrimiento y otros elementos de control, mediante conexiones entre elementos que tiene similitud con una escalera, de aquí su nombre. El diagrama de escalera le facilita al programador, entender el funcionamiento del programa, pero no son instrucciones que el PLC directamente ejecute para el caso de algunos equipos comerciales, por lo cual es necesario codificar. El diagrama de escalera se convierte a lista de mnemónicos, en la cual el PLC sí ejecuta en particular modelo y marca, en el caso del PLC de Allen-Bradley llamado (PICO) si se introduce directamente el diagrama de escalera sin convertir a lista de mnemónicos, esta tarea de conversión es propia del programador, para lo cual deberá dedicar tiempo para estudiar la parte técnica y características del PLC a usar.
Algunos de los elementos que se usan son los siguientes:

es la entrada I2 igual a “1” (está activa)
es la entrada I2 igual a “0” (está desactivada)
S , R (Set y Reset) activado desactivado
I , O (Input, Output) en el PLC
LOD es un mnemónico o instrucción usado para unir cada bloque o inicio de condiciones, en general conexión e interconexión con otro bloque a diferentes niveles, indicando después de LOD el elemento que lo antecede seguido del que lo sucede:

(LD) ½ Condición (s) ½ Acción (s)

Un diagrama de escalera tiene su equivalente en lista de mnemónicos. En la figura 3 vemos un equivalente para estas dos formas de expresar un programa. En esta figura se especifica, mediante dos lenguajes o formas diferentes, un programa que, al ser grabado en un PLC hará que cuando esté abierto el interruptor (1) (entrada 1) se activen las salidas (200) y (201); el mismo programa establece otra condición que especifica que cuando esté desconectada la entrada (2) se activará la salida (202) y una tercer condición que especifica que si la entrada (3) está en estado bajo, entonces se activarán las salidas (202) y (201).
Se observa que cada mnemónico es un lazo de conexión que incluye un elemento. La figura 4 muestra el mismo ejemplo, pero expresado en una forma más real.
Otra forma de expresar un programa es mediante el diagrama de instrucciones, esto es, utilizando compuertas lógicas. La figura 5 muestra el ejemplo que estamos tratando por medio de los tres sistemas de programación; los tres diagramas son equivalentes.
Es claro que el PLC sólo puede procesar o ejecutar la lista de mnemónico (caso del Micro-1), si nuestro circuito solución es un diagrama de componentes lógico (parte izquierda de la figura 5), podemos convertirlo a lista de mnemónicos (parte derecha de la figura 5) y cargarla al PLC de manera local o remota.
LOD es una función muy importante en los diagramas de escalera, los LOD nos permiten cargar “alambrar” elementos de control o bloques.
Un ejemplo de esto se observa en la figura 6.
En esta figura a LOD no lo antecede ningún elemento, pero si lo sucede un contacto o interruptor o entrada I Not 1.

En la figura 7 tenemos otro ejemplo, donde los primeros LOD no son antecedidos por ningún elemento, pero sí sucedidos por otros I 1 e I NOT 2. Vea que hay un LOD posterior al que si lo antecede el elemento CNT 1 y lo sucede un OUT 200.

Por lo que se observa que la función LOD “es” equivalente a un cable o alambre que sirve para conectar elementos de control o bloques.
Sintaxis para la Alambrada
de un Bloque

Observando el bloque de la figura 6, los elementos de control SET son de una sola entrada y una sola salida, por lo tanto se requiere un solo LOD de entrada y ningún LOD de salida.

Observando el esquema de la figura 7, vemos que tenemos dos acciones en un mismo “escalón” de programación, siempre se debe alambrar de izquierda a derecha (entradas elementos y salidas) y además de arriba para abajo, “el orden SI importa”.
Como el elemento de control CNT 1 tiene dos entradas, se requieren dos LOD (se los llama LOD de primer nivel por estar al comienzo de cada rama de programación) para sus dos entradas y un LOD de segundo nivel para su salida única. Si se tuviera un CNT 45, que es de tres entradas, se requieren tres LOD de inicio y un solo LOD para su única salida tal como se especifica en la figura 8.
Para el caso de temporizador como el de la figura 9, el Timer es un elemento de una entrada y una salida pero a diferencia del elemento SET, éste requiere de un LOD de entrada y otro LOD de salida, en donde puede haber una o más acciones, en este caso sólo una, OUT 200. Creemos que con esto ya estamos en condiciones de analizar algún ejemplo práctico. Una vez construido el diagrama de escalera podemos convertir a diagrama de componentes mediante una traducción directa, como se mencionó anteriormente, con el fin de programar a LOGO.

Programación de Compuertas en Lenguaje de Contactos

El lenguaje de programación de cada PLC cambia de acuerdo al creador del producto, y aunque se utilizan los mismos símbolos en los distintos lenguajes, la forma en cómo se crean y almacenan cambia de fabricante a fabricante, por lo tanto, la manera de cómo se interpretan las instrucciones por medio de un PLC es diferente, dependiendo de la marca.
Tal como vimos, el lenguaje escalera es una representación gráfica que, por medio de software, permite implementar tanto los contactos físicos que posee un relevador (Variables de Entrada), así como también las bobinas (Variables de Salida) que lo constituyen. Las actividades que realizan estas representaciones (variables de entrada y variables de salida) se materializan a través de las líneas de entrada y salida del PLC.
En el Lenguaje en Escalera son muy bastos los símbolos empleados, pero como introducción, en primer término, explicaremos los símbolos que relacionan las entradas con las salidas. Los elementos básicos correspondientes a las entradas, son los que a continuación se muestran:

Contacto normalmente abierto
Contacto normalmente cerrado

 
CONTINUA...
 
De la Redacción de la Revista Saber Electrónica
 
 
FIGURA 1
 
 
FIGURA 2
 
 
 
FIGURA 3
 
 
 
FIGURA 4
 
 
FIGURA 5
 
 
FIGURA 6
 
 
FIGURA 7
 
 
FIGURA 8
 
 
FIGURA 9