Controladores lógicos programables PLC - Norberto Molinari

April 7, 2017 | Author: Mancilla Eav | Category: N/A
Share Embed Donate


Short Description

Download Controladores lógicos programables PLC - Norberto Molinari...

Description

Controladores lógicos programables –PLC–

2

serie/desarrollo de contenidos colección/fluídica y controladores lógicos programables

INET / Fluídica y controladores lógicos programables

2

Autoridades

Presidente de la Nación Néstor C. Kirchner Ministro de Educación, Ciencia y Tecnología Daniel Filmus Directora Ejecutiva del Instituto Nacional de Educación Tecnológica María Rosa Almandoz Director Nacional del Centro Nacional de Educación Tecnológica Juan Manuel Kirschenbaum

Especialista en contenidos • Norberto Molinari

Todos los derechos reservados. Ley 11.723 Ministerio de Educación, Ciencia y Tecnología Instituto Nacional de Educación Tecnológica Saavedra 789. C1229ACE Ciudad Autónoma de Buenos Aires República Argentina

INET / Fluídica y controladores lógicos programables

3

serie/desarrollo de contenidos

Colecciones • • • • •

• • • • • • • •

Autotrónica Comunicación de señales y datos Diseño gráfico industrial Electrónica y sistemas de control Fluídica y controladores lógicos programables 1. Tecnología neumática 2. Controladores lógicos programables –PLC– Gestión de la calidad Gestión de las organizaciones Informática Invernadero computarizado Laboratorio interactivo de idiomas Procesos de producción integrada Proyecto tecnológico Unidades de cultura tecnológica

INET / Fluídica y controladores lógicos programables

5

Índice

El Centro Nacional de Educación Tecnológica

7

¿De qué se ocupa “Controladores lógicos programables –PLC–”?

9

1. Controladores lógicos programables • ¿Qué es y para qué sirve un PLC? • Antecedentes históricos • Campo de aplicación • Ventajas e inconvenientes de los PLC • Estructura de los PLC • Cómo funciona internamente un PLC, y toma las distintas decisiones y acciones

13 13 15 16 17 22

2. Manejo, instalación y conexionado • 1. Puesta en marcha • 2. Programación • 3. Conexionado de entradas y salidas • 4. Instalación, puesta a punto y mantenimiento

27 28 28 36

3. Introducción a la programación • Instrucciones y programas • Ejecución de programas • Lenguajes de programación típicos • Asignaciones de programas • Consideraciones previas sobre la programación Ladder • Usando memorias • Usando timers • Usando contadores • Formas de representación de las fases operativas de la máquina

43 46 48 49 50 58 61 64 66

Anexo 1. Otros lenguajes de programación: Estructura de lenguaje STL

93

Anexo 2. Otros lenguajes de programación: Estructura del lenguaje Grafcet

128

INET / Fluídica y controladores lógicos programables

6

El Centro Nacional de Educación Tecnológica Generar valor con equidad en la sociedad del conocimiento.

La misión del Centro Nacional de Educación Tecnológica –CeNET– comprende el diseño, el desarrollo y la implementación de proyectos innovadores en el área de la educación tecnológica y de la educación técnico profesional, que vinculan la formación con el mundo del trabajo. Acorde con esta misión, el CeNET tiene como propósitos los de: • Constituirse en referente nacional del Sistema de Educación Tecnológica, sobre la base de la excelencia de sus prestaciones y de su gestión. • Ser un ámbito de capacitación, adopción, adaptación y desarrollo de metodología para la generación de capacidades estratégicas en el campo de la Educación Tecnológica. • Coordinar, mediante una red, un Sistema de Educación Tecnológica. • Favorecer el desarrollo de las pequeñas y medianas empresas, a través del sistema educativo. • Capacitar en el uso de tecnologías a docentes, jóvenes, adultos, personas de la tercera edad, profesionales, técnicos y estudiantes. • Brindar asistencia técnica. • Articular recursos asociativos, integrando los actores sociales interesados en el desarrollo del Sistema de Educación Tecnológica. Desde el CeNET venimos trabajando, así, en distintas líneas de acción que convergen en el objetivo de reunir a profesores, a especialistas en Tecnología y a representantes de la industria y de la empresa, en acciones compartidas que permitan que la Educación Tecnológica se desarrolle en la escuela de un modo sistemático, enriquecedor, profundo... auténticamente formativo, tanto para los alumnos como para los docentes. Una de nuestras líneas de acción es la de diseñar, implementar y difundir trayectos de capacitación y de actualización. En CeNET contamos con quince unidades de gestión de aprendizaje en las que se desarrollan cursos, talleres, pasantías, encuentros, destinados a cada educador y a cada miembro de la comunidad que desee integrarse en ellos: • • • • • • • • • • • • • • •

Autotrónica. Centro multimedial de recursos educativos. Comunicación de señales y datos. Cultura tecnológica. Diseño gráfico industrial. Electrónica y sistemas de control. Fluídica y controladores lógicos programables. Gestión de la calidad. Gestión de las organizaciones. Informática. Invernadero computarizado. Laboratorio interactivo de idiomas. Procesos de producción integrada. CIM. Proyecto tecnológico. Simulación por computadora.

INET / Fluídica y controladores lógicos programables

7

INET / Fluídica y controladores lógicos programables

8

Otra de nuestras líneas de trabajo asume la responsabilidad de generar y participar en redes que integren al Centro con organismos e instituciones educativos ocupados en la Educación Tecnológica, y con organismos, instituciones y empresas dedicados a la tecnología en general. Entre estas redes, se encuentra la que conecta a CeNET con los Centros Regionales de Educación Tecnológica –CeRET– y con las Unidades de Cultura Tecnológica instalados en todo el país. También nos ocupa la tarea de producir materiales didácticos. Desde CeNET hemos desarrollado cinco series de publicaciones: • Educación Tecnológica, que abarca materiales (uni y multimedia) que buscan posibilitar al destinatario una definición curricular del área de la Tecnología en el ámbito escolar y que incluye marcos teóricos generales, de referencia, acerca del área en su conjunto y de sus contenidos, enfoques, procedimientos y estrategias didácticas más generales. • Desarrollo de contenidos, nuestra segunda serie de publicaciones, que nuclea fascículos de capacitación que pueden permitir una profundización en los campos de problemas y de contenidos de las distintas áreas del conocimiento tecnológico (los quince ámbitos que puntualizábamos y otros que se les vayan sumando) y que recopila, también, experiencias de capacitación docente desarrolladas en cada una de estas áreas. • Educación con tecnologías, que propicia el uso de las nuevas tecnologías de la información y de la comunicación como recursos didácticos, en las clases de todas las áreas y espacios curriculares. • Educadores en tecnología, que focaliza el análisis y las propuestas en uno de los constituyentes del proceso didáctico: el profesional que ensela Tecnología, ahondando en los rasdos de formación, de sus prácticas, de sus procesos de capacitación, de su vinculación con los lineamientos curriculares y con las políticas educativas, de interactividad con sus alumnos, y con sus propios saberes y modos de hacer. • Documentos de la escuela técnica, que difunde los marcos normativos y curriculares que desde el CONET –Consejo Nacional de Educación Técnica– delinearon la educación técnica de nuestro país. A partir de estas líneas de trabajo, el CeNET intenta constituirse en un ámbito en el que las escuelas, los docentes, los representantes de los sistemas técnico y científico, y las empresas puedan desarrollar proyectos innovadores que redunden en mejoras para la enseñanza y el aprendizaje de la Tecnología.

Buenos Aires, julio de 2004

¿De qué se ocupa “Controladores lógicos programables –PLC–”? Los cambios que se están produciendo en el mundo del trabajo a partir del desarrollo de procesos de reestructuración –tanto en la producción como en los servicios–, demandan permanentes procesos de actualización y de capacitación de todos los actores sociales involucrados, como así también el desarrollo de nuevas tecnologías. Hoy, los sistemas informáticos, mecánicos, electrónicos y de comunicaciones (redes y protocolos) se integran entre ellos en un todo armónico y funcional, como un único complejo automático. La automatización –que, en su concepto más amplio, consiste en el control y en la gestión de sistemas automáticos, accionados mediante un conjunto de técnicas y dispositivos particulares– se convierte, así, en el fundamento de todos los procesos industriales avanzados y, en consecuencia, en una disciplina de base común a todas las direcciones de especialización profesional. Y, como cada cambio tecnológico modifica notablemente la imagen de estas máquinas automáticas –sobre todo, por el efecto de las transformaciones en el campo electrónico, y por el avance de las técnicas eléctricas y electrónicas de control en tecnologías tradicionales como la neumática y la hidráulica– los conocimientos requeridos a quien opera en este sector –proyectando, instalando y manteniendo– aumentan gradualmente y asumen el carácter de capacitación multidisciplinar. Para que usted avance en esta dirección, desde Controladores lógicos programables –PLC– nos proponemos que logre:

• Comprender qué es y para qué sirve un PLC, indagando es su estructura y en la integración funcional de sus componentes. • Caracterizar los procesos de puesta en marcha, programación, conexionado de entradas y salidas, e Instalación, puesta a punto y mantenimiento de un PLC. • Tomar decisiones respecto del uso de PLC en determinadas instalaciones.

A lo largo del cursado, iremos proveyéndole información que le permita resolver situaciones problemáticas como ésta:

El problema La empresa para la cual usted trabaja corresponde al área de bienes y servicios, y se dedica a la actividad de transformación de materia prima: procesa chapas de aluminio para confeccionar envases que contendrán alimentos. Para esto, está organizada en distintas áreas o sectores –gerencias, administraciones, jefatura de planta, oficina técnica, etc.–. Bajo la órbita de la gerencia de planta se encuentra la oficina técnica en la que usted se desempeña junto a sus pares, conformando un equipo interdisciplinario de ingenieros, técnicos electrónicos, eléctricos, mecánicos y administrativos. El jefe de la oficina técnica es un ingeniero con una amplia experiencia en tareas de producción de envases de aluminio para la industria alimenticia; se ha desempeña-

INET / Fluídica y controladores lógicos programables

9

INET / Fluídica y controladores lógicos programables

10

do con éxito en el desarrollo de nuevos envases para la conservación de alimentos perecederos, optimizando las tareas de ensamble de dichos recipientes, como así también las de envasado de líneas de alta producción. Para poder cumplir con la demanda en un mercado en franco crecimiento, la empresa ha adquirido una nueva planta para la confección de latas de aluminio. Las tareas que deben realizar sus colegas en esta planta necesitan de las competencias que usted aporte al equipo. En reuniones de trabajo, su grupo decide, inicialmente, que la planta de confección de latas requiere una máquina capaz de realizar tareas de estampado, como así también de sistemas de automatización en silos y cintas transportadoras. En el momento de distribuir las tareas y procedimientos a cumplir por cada uno de los integrantes de la oficina técnica, el jefe del proyecto le encomienda a usted realizar el sistema automático para el estampado de dichas latas de aluminio, teniendo en cuenta, por supuesto, las futuras ampliaciones de éste, las normas de seguridad existentes y la elección del sistema de control óptimo. Entonces... deberá especificar el sistema de control más adecuado, decidir sobre la lógica de mando de este sistema, detallar en forma precisa las características para la compra del material –teniendo en cuenta la relación costo-beneficio–, asistiendo a sus colegas de la oficina de compras, realizar los planos del cableado, programar los sistemas de control, si fuese necesario, y supervisar su construcción.

Frente a este problema, a lo largo de nuestro módulo lo iremos acompañando en la toma de decisiones.

1. CONTROLADORES LÓGICOS PROGRAMABLES INET / Fluídica y controladores lógicos programables

11

La etapa de la lógica cableada está terminando. Otra, la de los PLC, está afianzándose. Es necesario tomar conciencia de la necesidad de subirse al carro de la nueva etapa lo antes posible; o sea, ahora.

Controlador lógico programable Un PLC o autómata programable es toda máquina electrónica diseñada para controlar, en tiempo real y en medio industrial, procesos

¿Qué es y para qué sirve un PLC? Se lo puede definir como una «caja negra» en la que existen: • terminales de entrada a los que se conectan pulsadores, finales de carrera, fotocélulas, detectores; • terminales de salida a los que se conectan bobinas de contactores, electroválvulas, lámparas...

secuenciales. Realiza funciones lógicas: series, paralelos, temporizaciones, cuentas; y otras más potentes como cálculos, regulaciones, etc.

La actuación de estos últimos está en función de las señales de entrada que estén activadas en cada momento, según el programa almacenado. Esto quiere decir que los elementos tradicionales –relés auxiliares, relés de enclavamiento, temporizadores, contadores– son internos.

La tarea del usuario se reduce a realizar el programa –que no es más que la relación entre las señales de entrada que se tienen que cumplir para activar cada salida–. Pero, el manejo y programación de PLC pueden ser realizados por personal eléctrico o electrónico sin conocimientos informáticos.

Antecedentes históricos El desafío constante que toda industria tiene planteado para ser competitiva, es el motor impulsor del desarrollo de nuevas tecnologías para conseguir una mayor productividad. Debido a que ciertas etapas en los procesos de fabricación se realizan en ambientes nocivos para la salud, con gases tóxicos, ruidos, temperaturas extremadamente altas o bajas... y uniendo esta situación a consideraciones de productividad, siempre se pensó en la posibilidad de dejar ciertas tareas tediosas, repetitivas y peligrosas a un ente que no fuera afectado por las condiciones ambientales adversas. Nace, así, la máquina y, con ella, la automatización. Surgen, entonces, empresas dedicadas al desarrollo de los elementos que hacen posible tal automatización.

INET / Fluídica y controladores lógicos programables

13

INET / Fluídica y controladores lógicos programables

14

Debido a que las máquinas son diferentes y diferentes las maniobras a realizar, se hace necesario crear elementos estándar que, mediante su combinación, permitan al usuario realizar la secuencia de movimientos deseada para solucionar su problema de aplicación particular. Relés, temporizadores, contadores, fueron y son los elementos con que se cuenta para realizar el control de cualquier máquina. Debido a la constante mejora de la calidad de estos elementos y a la demanda del mercado, que exige mayor y mejor calidad en la producción, el número de etapas en los procesos de fabricación controlados de forma automática se va incrementando. Comienzan, entonces, a aparecer problemas: los armarios o tableros de maniobra en donde se coloca el conjunto de relés, temporizadores, contadores, etc., constitutivos de un control se hacen cada vez más y más grandes, la probabilidad de avería es enorme, su localización es larga y complicada, el stock que el usuario se ve obligado a soportar es numeroso y su costo se incrementa cada vez más. El desarrollo tecnológico que traen, inicialmente, los semiconductores y, después, los circuitos integrados, intenta resolver el problema, sustituyendo las funciones realizadas mediante relés por funciones realizadas con compuertas lógicas. Con estos nuevos elementos se gana en fiabilidad y se reduce el problema del espacio; pero, no sucede lo mismo con la detección de averías ni con el problema de mantenimiento de un stock. Además, subsiste un problema: la falta de flexibilidad de los sistemas. Comparemos las distintas opciones tecnológicas disponibles: TIPO Lógica cableada

Lógica programada

FAMILIA LÓGICA

SUBFAMILIA ESPECÍFICA

Eléctrica

Relés Electroneumática Electrohidráulica

Electrónica

Electrónica estática

Electrónica

Sistemas informáticos

Microprocesadores Microcontroladores

Sistemas dedicados PLC

Las opciones tecnológicas son variadas. Con los desarrollos tecnológicos y los cambios frecuentes en la producción, se hacen necesarios sistemas que nos permita tener una producción flexible, ágil y con muy poco tiempo de parada de máquina por reprogramación en las tareas a realizar. Debido a estas constantes modificaciones que las industrias se ven obligadas a realizar en sus instalaciones para la mejora de la productividad, los armarios de maniobra tienen que ser cambiados permanentemente, con la consiguiente pérdida de tiempo y el aumento del costo que ello produce. A fin de la década del ’60, grandes empresas de la industria automotor de los EEUU imponen a sus proveedores de automatismo unas especificaciones para la realiza-

ción de un sistema de control electrónico para máquinas transfer: Este equipo debe ser fácilmente programable, sin recurrir a las computadoras industriales ya en servicio en la industria. Los controladores lógicos programables, limitados originalmente a los tratamientos de lógica secuencial, se desarrollan rápidamente y, en la actualidad, extienden sus aplicaciones al conjunto de sistemas de control de procesos y de máquinas.

Campo de aplicación El PLC, por sus especiales características de diseño, tiene un campo de aplicación muy extenso. La constante evolución del hardware y software amplía continuamente este campo, para poder satisfacer las necesidades que se detectan en el espectro de sus posibilidades reales. Su utilización se da, fundamentalmente, en aquellas instalaciones en donde es necesario realizar procesos de maniobra, control, señalización, etc. Por tanto, su aplicación abarca desde procesos de fabricación industrial de cualquier tipo, hasta transformaciones industriales, control de instalaciones, etc. Sus reducidas dimensiones, la extremada facilidad de su montaje, la posibilidad de almacenar los programas para su posterior y rápida utilización, la opción de modificarlos o alterarlos, hace que su eficacia se aprecie, fundamentalmente, en procesos en que se producen necesidades tales como: • • • • • •

espacio reducido, procesos de producción periódicamente cambiantes, procesos secuenciales, maquinaria de procesos variables, instalaciones de procesos complejos y amplios, chequeo de programación centralizada de las partes del proceso.

Ejemplos de aplicaciones generales podrían ser los siguientes:

Máquinas: • industria del mueble y madera, • procesos de grava, arena y cemento, • industria del plástico, • máquinas- herramientas complejas, • procesos textiles y de confección, • ensamblaje, • transfer. Instalaciones de: • aire acondicionado, calefacción, • seguridad, • frío industrial, • almacenamiento y trasvase de cereales, • plantas embotelladoras, • tratamientos térmicos, • plantas depuradoras de residuos, • cerámica.

INET / Fluídica y controladores lógicos programables

15

INET / Fluídica y controladores lógicos programables

16

Señalización y control: • chequeo de programas, • señalización del estado de procesos.

Ventajas e inconvenientes de los PLC No todos los PLC ofrecen las mismas ventajas sobre la lógica cableada. Esto es debido, principalmente, a la variedad de modelos existentes en el mercado y a las innovaciones técnicas que surgen constantemente (Estas consideraciones nos obligan a referirnos a las ventajas que proporciona un PLC de tipo medio). a) Ventajas La condición favorable básica que presenta un PLC es el menor tiempo empleado en la elaboración de proyectos debido a que: • No es necesario dibujar el esquema de contactos. • No es necesario simplificar las ecuaciones lógicas ya que, por lo general, la capacidad de almacenamiento del módulo de memoria es lo suficientemente grande. • La lista de materiales queda sensiblemente reducida y, al elaborar el presupuesto correspondiente, se elimina parte del problema que supone el contar con diferentes proveedores, distintos plazos de entrega, etc. • Existe posibilidad de introducir modificaciones sin cambiar el cableado ni añadir aparatos. • Cuenta con mínimo espacio de ocupación. • Presenta menor costo de mano de obra de la instalación. • Tiene economía de mantenimiento; además de aumentar la fiabilidad del sistema, al eliminar contactos móviles, los mismos PLC pueden detectar e indicar averías. • Presenta la posibilidad de gobernar varias máquinas con un mismo PLC. • Exige menor tiempo para la puesta en funcionamiento del proceso, al quedar reducido el tiempo de cableado.

Si por alguna razón la máquina queda fuera de servicio, el PLC sigue siendo útil para otra máquina o sistema de producción.

b) Inconvenientes • Se requiere un programador, lo que obliga a capacitar a uno de los técnicos en tal sentido. • El costo inicial también puede ser –o no– un inconveniente, según las características del automatismo en cuestión. Dado que el PLC cubre ventajosamente un amplio espacio entre la lógica cableada y el microprocesador, es preciso que el proyectista lo conozca tanto en su amplitud como en sus limitaciones. Por tanto, aunque el costo inicial debe ser tenido en cuenta a la hora de decidirse por uno u otro sistema, conviene analizar todos los demás factores para asegurarse una decisión acertada.

Una vuelta al problema Le proponemos que relea el problema y tome la decisión de qué tipo de lógica usará, analizando, fundamentalmente, la versatilidad, la facilidad de uso, las ventajas e inconvenientes de las distintas opciones tecnológicas , el espacio , el costo.

Estructura de los PLC Aquí vamos a conocer a los PLC en su parte física o hardware, no sólo en su configuración externa, sino también –y, fundamentalmente– en su parte interna. Porque, consideramos que el personal que se precie de manejar los PLC no puede conformarse con realizar una buena programación, y conseguir un montaje y una puesta en funcionamiento perfectos; debe, sobre todo, dejar de ver al dispositivo como una caja negra y conocerlo tal cual es:

Un equipo electrónico complejo, montado en tarjetas específicas que controlan áreas o bloques, realizando distintas funciones que, unidas convenientemente, dan como resultado a los PLC.

a) Estructura externa El término estructura externa o configuración externa de un PLC se refiere a su aspecto físico exterior, a los bloques o elementos en que está dividido. Desde su nacimiento y hasta nuestros días, han sido varias las estructuras y configuraciones que han salido al mercado, condicionadas no sólo por el fabricante sino por la tendencia existente en el área a la que pertenece el producto: europea o norteamericana. Actualmente, son dos las estructuras más significativas que existen en el mercado: • Estructura compacta. • Estructura modular. Estructura compacta. Este tipo de PLC se distingue por presentar en un solo bloque todos sus elementos; esto es: fuente de alimentación, CPU, memorias, entradas/ salidas, etc. En cuanto a su unidad de programación, existen tres versiones: • unidad fija o enchufable directamente en el PLC, • enchufable mediante cable y conector, o • la posibilidad de ambas conexiones. Si la unidad de programación es sustituida por una PC, nos encontraremos con que la posibilidad de conexión es mediante cable y conector. El montaje del PLC al armario que ha de contenerlo se realiza por cualquiera de los sistemas conocidos: riel DIN, placa perforada, etc. Estructura modular –o europea1–. Su característica principal es la de que existe un módulo para cada función: fuente de alimentación, CPU, entradas/salidas, etc. La La estructura americana. Se caracteriza por separar las E/S del resto del PLC, de tal forma que en un bloque compacto están reunidas las CPU, memoria de usuario o de programa y fuente de alimentación, y separadamente las unidades de E/S en los bloques o tarjetas necesarias.

1

INET / Fluídica y controladores lógicos programables

17

unidad de programación se une mediante cable y conector. La sujeción se hace bien sobre carril DIN o placa perforada, bien sobre rack, en donde va alojado el bus externo de unión de los distintos módulos que lo componen. b) Estructura interna En este apartado vamos a estudiar la estructura interna del PLC, o sea, las partes en que se ordena su conjunto físico o hardware, y las funciones y funcionamiento de cada una de ellas. Los PLC se componen esencialmente de tres bloques: • la sección de entradas, • la unidad central de procesos –CPU–, • la sección de salidas.

Fin de carrera Detectores Pulsadores Llaves Contactos NA o NC Etc.

CPU Memoria Datos RAM NVRAM EEPROM

Programa NVRAM: EEPROM EPROM

Comunicación RS 232/485

Programación Simulación Monitoreo

Salidas

Fuente de alimentación Entradas

INET / Fluídica y controladores lógicos programables

18

Relés Contactores Lámparas Electroválvulas Etc.

Esquema básico de un PLC

La sección de entradas. Mediante el interfaz, adapta y codifica –de forma comprensible por la CPU–, las señales procedentes de los dispositivos de entrada o captadores –esto es, pulsadores, finales de carrera, sensores, etc.–. También tiene una misión de protección de los circuitos electrónicos internos del PLC, realizando una separación eléctrica entre éstos y los captadores. La unidad central de procesos –CPU, Central Processing Unit–. Es, por decirlo así, la inteligencia del sistema ya que, mediante la interpretación de las instrucciones del programa de usuario –y, en función de los valores de las entradas–, activa las salidas deseadas. La sección de salidas. Mediante el interfaz, trabaja de forma inversa a la de entradas; es decir, decodifica las señales procedentes de la CPU, las amplifica y manda con ellas los dispositivos de salida o actuadores –lámparas, relés, contactores, arrancadores, electroválvulas, etc.–. Aquí también existen interfaces de adaptación a las salidas y de protección de circuitos internos. Con las partes descritas, ya contamos con un PLC. Pero, para que éste sea operativo, son necesarios otros elementos tales como la unidad de alimentación, y la unidad o consola de programación –si no se programa desde la PC–. Nos referiremos, ahora, con más detalle a la CPU, y a las unidades de entradas y salidas.

1. La unidad central de procesos CPU La CPU está constituida por los elementos siguientes: memoria, procesador y circuitos auxiliares asociados. 1.1. Memorias Memoria Todo dispositivo que nos permite almacenar información en forma de bits (ceros y unos).

En nuestro caso, nos referiremos a las memorias que utilizan como soporte elementos semiconductores. No todas las memorias son iguales; se distinguen dos tipos fundamentales de memorias fabricadas con semiconductores: • Memoria RAM –Random Access Memory–. Memoria de acceso aleatorio o memoria de lectura-escritura. En este tipo de memoria se pueden realizar los procesos de lectura y escritura por procedimiento eléctrico; pero, su información desaparece al faltarle la tensión. • Memoria ROM –Read Only Memory–. Memoria de sólo lectura. Esta memoria permite leer su contenido pero no escribir en ella. Los datos e instrucciones son grabados por el fabricante; el usuario no puede alterar su contenido. Aquí la información se mantiene ante la falta de tensión. Éstas no son todas las memorias disponibles. Existen otros tipos cuyas diferencias están marcadas por sus sistemas de programarlas, su borrado, y su volatilidad o permanencia de la información: • Memorias EPROM –Erasable Programmable Read OnIy Memory– y EEPROM –Electrical Erasable Programmable Read OnIy Memory–. Independientemente de otras aplicaciones –algunas ya mencionadas en los párrafos anteriores–, estos tipos de memoria tienen gran aplicación como memorias de copia para grabación y archivo de programas de usuario. • Memoria del usuario. Normalmente, el programa de usuario se graba en memoria RAM, ya que no sólo ha de ser leído por el microprocesador, sino que ha de poder ser variado cuando el usuario lo desee, utilizando la unidad de programación. En algunos PLC, la memoria RAM se auxilia de una memoria sombra del tipo EEPROM. La desconexión de la alimentación o un fallo borraría esta memoria, ya que al ser la RAM una memoria volátil, necesita estar constantemente alimentada y es por ello que los PLC que la utilizan llevan incorporada una batería tampón que impide su borrado. • Memoria de datos. La memoria de esta área también es del tipo RAM o NVRAM. En ella se encuentran, por un lado, la imagen de los estados de las entradas y salidas, y, por otro, los datos numéricos y variables internas, como contadores, temporizadores, marcas, etc. • Memoria de programa. Esta memoria que, junto con el procesador, compone la CPU, se encuentra dividida en dos áreas: la llamada memoria del sistema, que utiliza memoria RAM, y la que corresponde al programa del sistema o firmware, que es un programa fijo grabado por el fabricante y, por tanto, utiliza el tipo de memoria ROM. En algunos PLC se utiliza únicamente la EPROM, de tal forma que se puede modificar el programa memoria del sistema, previo borrado del anterior con UV.

INET / Fluídica y controladores lógicos programables

19

INET / Fluídica y controladores lógicos programables

20

1.2. Procesador El procesador se monta sobre una placa de circuito impreso; en ella –y, junto al chip– se sitúan todos aquellos circuitos integrados que lo componen, principalmente memorias ROM del sistema o firmware. En algunos tipos de PLC también se sitúan aquí los chips de comunicación con periféricos o de interconexión con el sistema de entradas salidas. Está constituido por el microprocesador, el generador de impulsos de onda cuadrada o reloj, y algún chip auxiliar. El microprocesador es un circuito integrado (chip) a gran escala de integración (LSI) que realiza una gran cantidad de operaciones, que podemos agrupar en: • Operaciones de tipo lógico. • Operaciones de tipo aritmético. • Operaciones de control de la transferencia de la información dentro del PLC.

1.3. Circuitos auxiliares asociados Los circuitos internos pueden ser de tres tipos: • Circuitos de la unidad aritmética y lógica –ALU–. Es la parte del microprocesador donde se realizan los cálculos y las decisiones lógicas para controlar al PLC. • Circuitos de la unidad de control –UC–. Organiza todas las tareas del microprocesador. Así, por ejemplo, cuando una instrucción del programa codificada en código máquina (ceros y unos) llega al microprocesador, la UC sabe, mediante una pequeña memoria ROM que incluye, qué secuencia de señales tiene que emitir para que se ejecute la instrucción. • Registros. Los registros del microprocesador son memorias en las que se almacenan temporalmente datos, instrucciones o direcciones, mientras necesitan ser utilizados por el microprocesador. Los registros más importantes de un microprocesador son los de instrucciones, datos, direcciones, acumulador, contador de programa, de trabajo, y el de bandera o de estado. Los buses no son circuitos en sí, sino zonas conductoras en paralelo que transmiten datos, direcciones, instrucciones y señales de control entre las diferentes partes del microprocesador o microcontrolador. Se puede hacer una diferencia entre buses internos y externos: • los internos unen entre sí las diferentes partes del microprocesador; • los externos son pistas de circuito impreso que unen chips independientes. Los buses internos y externos son continuación unos de los otros. La CPU se pondrá en comunicación con la tarjeta cuya dirección coincida con la combinación del bus.

¿Cuáles son las funciones de la CPU? En la memoria ROM del sistema, el fabricante ha grabado una serie de programas ejecutivos fijos, software del sistema. Es a estos programas a los que accede el microprocesador para realizar las funciones ejecutivas que correspondan, en función del tiempo en que trabaje. El software de sistema de cualquier PLC consta de una serie de funciones básicas que realiza en determinados tiempos de cada ciclo: en el inicio o conexión, durante el ciclo o ejecución del programa, y en la desconexión. Este software o programa del sistema es ligeramente variable para cada PLC; pero, en general, contiene las siguientes funciones: • Supervisión y control de tiempo de ciclo –watchdog–, tabla de datos, alimentación, batería, etc. • Autotest en la conexión y durante la ejecución del programa. • Inicio del ciclo de exploración de programa y de la configuración del conjunto. • Generación del ciclo base de tiempo. • Comunicación con periféricos y unidad de programación. • Etc. Dejamos aquí nuestra descripción de la CPU y nos concentramos en...

2. Unidades de entrada y salida

Unidades de entrada y salida Son los dispositivos básicos por donde se toma la información de los captadores – en el caso de las entradas– y por donde se realiza la activación de los actuadores – en las salidas–.

En los PLC compactos, las entradas y salidas –E/S– están situadas en un solo bloque, junto con el resto del PLC. En los modulares, las E/S son módulos o tarjetas independientes, con varias E/S, que se acoplan al bus de datos por medio de su conductor y conector correspondiente, o bien a un bastidor o rack, que le proporciona dicha conexión al bus y su soporte mecánico. Las funciones principales son el adaptar las tensiones e intensidades de trabajo de los captadores y actuadores a las de trabajo de los circuitos electrónicos del PLC; realizar una separación eléctrica entre los circuitos lógicos de los de potencia –generalmente, a través de optoacopladores– y proporcionar el medio de identificación de los captadores y actuadores ante el procesador. 2.1. Entradas Las entradas son fácilmente identificables, ya que se caracterizan físicamente por sus bornes para acoplar los dispositivos de entrada o captadores, por su numeración, y por su identificación input o entrada. Llevan, además, una indicación luminosa de activado, por medio de un diodo LED. En cuanto a su tensión, las entradas pueden ser de tres tipos: • libres de tensión, • corriente continua, • corriente alterna.

INET / Fluídica y controladores lógicos programables

21

INET / Fluídica y controladores lógicos programables

22

En cuanto al tipo de señal que reciben, éstas pueden ser: • analógicas y • digitales. Analógicas. Cuando la magnitud que se acopla a la entrada corresponde a una medida de, por ejemplo, presión, temperatura, velocidad, etc., esto es, analógica, es necesario disponer de este tipo de módulo de entrada. Su principio de funcionamiento se basa en la conversión de la señal analógica a código binario mediante un convertidor analógico-digital –AID–. Digitales. Son las más utilizadas y corresponden a una señal de entrada todo o nada; esto es, a un nivel de tensión o a su ausencia. Ejemplo de elementos de este tipo son los finales de carrera, interruptores, pulsadores, etc. 2.2. Salidas La identificación de las salidas se realiza con la indicación de output o salida. Es en las salidas donde se conectan o acoplan los dispositivos de salida o actuadores. Incluye un indicador luminoso LED de activado. Tres son los tipos de salidas que se pueden dar: • a relé, • a transistor, • a triac. Mientras que la salida a transistor se utiliza cuando los actuadores son a CC, las de relés y triacs suelen utilizarse para actuadores a AC. En cuanto a las intensidades que soportan cada una de las salidas, éstas son variables; pero, suelen oscilar entre 0,5 y 2 A. Al igual que en las entradas, las salidas pueden ser analógicas y digitales –si bien estas últimas son las más utilizadas–. En las analógicas es necesario un convertidor digital analógico –D/A– que realice la función inversa a la de la entrada.

Cómo funciona internamente un PLC, y toma las distintas decisiones y acciones El ciclo básico de trabajo en la elaboración del programa por parte de la CPU es el siguiente: • Antes de iniciar el ciclo de ejecución, el procesador, a través del bus de datos, consulta el estado 0 ó 1 de la señal de cada una de las entradas y las almacena en los registros de la memoria de entradas, esto es, en la zona de entradas de la memoria de la tabla de datos. • Esta situación se mantiene durante todo el ciclo del programa. A continuación, el procesador accede y elabora las sucesivas instrucciones del programa, realizando las concatenaciones correspondientes de los operandos de estas instrucciones.

• Seguidamente, asigna el estado de señal a los registros de las salidas de acuerdo a la concatenación anterior, indicando si dicha salida ha de activarse o no, situándola en la zona de salida de la tabla de datos. • Al final del ciclo, una vez concluida la elaboración del programa, asigna los estados de las señales de entrada a los terminales de entrada y los de salida a las salidas, ejecutando el estado 0 ó 1 en estas últimas.

Esta asignación se mantiene hasta el final del siguiente ciclo, en el que se actualiza. Dada la velocidad con que se realiza cada ciclo –del orden de 5 a 10 ms, cada 1000 instrucciones–, se puede decir que las salidas se ejecutan –en función de las variables de entrada–, prácticamente, en tiempo real.

Una vuelta al problema Le proponemos que, con el material disponible, vuelva a la situación problema planteada y verifique la conveniencia de la utilización de estos dispositivos, analizando qué tipo de controlador lógico programable será el más adecuado para las tareas que debe cumplir, qué cantidad de E/S necesitará, cuál será su tiempo de Scan, etc.

Actividad 1 Integración de “Controladores lógicos programables” Indique un caso de instalación industrial en la que considere que es utilizable el PLC. 1. ¿Por qué considera que el PLC es conveniente allí? 2. ¿Cuáles son los inconvenientes más significativos de ese PLC? 3. En ese montaje con PLC, ¿dónde se encuentran los contadores, temporizadores y relés internos? 4. ¿Cuáles son los bloques que componen los PLC? Dibuje el esquema de bloques simplificado de un PLC y explique sus funciones. 5. Dibuje cómo sería la estructura completa de un PLC y su entorno. 6. Explique el ciclo básico de trabajo de la CPU.

INET / Fluídica y controladores lógicos programables

23

2. MANEJO, INSTALACIÓN Y CONEXIONADO INET / Fluídica y controladores lógicos programables

25

El manejo y la utilización correcta de los PLC resultan fundamentales si queremos obtener eficacia de ellos. Es por ello que, en esta segunda parte de Controladores lógicos programables – PLC– vamos a encarar el proceso a seguir para su puesta en marcha1, el procedimiento general para realizar una correcta programación de PLC, algunos ejemplos de conexionado de elementos a entradas y actuadores a las salidas, así como las reglas mínimas que han de seguirse para una correcta instalación, puesta en servicio, mantenimiento preventivo y resolución de averías. El organigrama general simplificado que nos va a orientar en la secuencia a seguir para la utilización correcta de los PLC es:

INICIO

PUESTA EN MARCHA

PROGRAMACIÓN

CONEXIONADO DE IN / OUT INSTALACIÓN. PUESTA A PUNTO

FIN

1. Puesta en marcha Antes de iniciar cualquier acción para la puesta en funcionamiento de los PLC, es necesario tener delante el cuadro de sus características o especificaciones, ya que algunos datos –como la tensión de alimentación al sistema, o la tensión de red y el margen de variación admisible– resultan necesarios2. Los pasos a seguir en la puesta en funcionamiento inicial del sistema son: 1. Conectar la fuente de alimentación. 2. Conectar la toma a tierra. 3. Verificar las tensiones de entradas y salidas. 4. Ver la tensión de la red de alimentación. 5. Si lo anterior es correcto, proseguir; si no es así, corregir. 6. Conectar la fuente a la red. 7. Poner a los PLC en funcionamiento. 8. Deletear o borrar la memoria (sólo la primera vez). 9. Cargar el programa. 10.Colocar los PLC en modo RUN. No debemos confundir los términos “puesta en marcha” con “puesta a punto y en servicio”. En el rimer caso, nos referimos al proceso inicial necesario para poder realizar la programación y comprobar el funcionamiento de los PLC; en el segundo, a la tarea final, una vez realizadas todas las conexiones necesarias para poner en servicio la instalación o proceso.

1

2

Para esto resulta imprescindible analizar las características técnicas de cada fabricante.

INET / Fluídica y controladores lógicos programables

27

INET / Fluídica y controladores lógicos programables

28

2. Programación Como dedicaremos el tercer capítulo de Controladores lógicos programables – PLC– a la programación, no nos referiremos aquí a estas tareas.

3. Conexionado de entradas y salidas La eficaz puesta en funcionamiento de los PLC pasa, necesariamente, por una correcta conexión de los elementos de entrada y de los actuadores, en las salidas. De esta forma, conseguimos las ventajas de: • El buen funcionamiento y la ausencia de averías por esta causa. • La limitación en el número de entradas y salidas que se van a utilizar.

3.1. Conexionado de entradas Los captores pueden ser de dos tipos: • Analógicos. Su señal eléctrica es variable en el tiempo y, necesariamente, han de acoplarse al mismo tipo de entradas. (Esto no sucede en todos los PLC; en algunos, las entradas analógicas están en módulos separados y se debe elegir de qué tipo de entrada se trata –tensión o corriente– y qué tipo de resolución tiene). • Digitales. La señal responde a: - Contacto abierto “0” (nada). - Contacto cerrado “1” (todo).

Empresa Dydec SRL

En el caso del contacto cerrado en la entrada cuatro (in 4), sucede que queda aplicada la tensión de campo al elemento interno del PLC designado con el símbolo g, lo que desencadena una señal hacia el circuito de control de entrada. Por el contrario, el contacto en la entrada dos (in 2) no ocasiona fenómeno alguno al estar éste en posición de abierto. Desde el punto de vista de la tensión, en posible reconocer:

Captores –o emisores de señales– Son, en general, aquellos elementos que se acoplan o conectan a las entradas de los PLC.

• captores o contactos libres de tensión, • captores con tensión. Los captores sin tensión que se pueden conectar a los PLC pueden ser de varios tipos, entre otros: • • • • •

pulsadores, interruptores, finales de carrera contactos de relés, etc.

En la figura se observa su forma de conexión:

Los captores con tensión pueden ser: • detector de proximidad, • célula fotoeléctrica, • etc. (Todos del tipo PNP3) Al elegirlos, lo haremos de tal forma que su tensión de trabajo coincida con la tensión de entrada al PLC –en nuestro caso, 24 Vcc–. En la figura se puede observar la disposición del conexionado de este tipo de entradas:

Las entradas de tipo P, son aquellas que para ser activadas necesitan recibir tensión de campo en sus bornes.

3

INET / Fluídica y controladores lógicos programables

29

INET / Fluídica y controladores lógicos programables

30

3.2. Conexionado de salidas En los contactos de salida del PLC se conectan las cargas o actuadores, bien a través de otros elementos de mando –como pueden ser los contactores, relés, etc.– o directamente, si las condiciones de corriente máxima lo permiten. Las salidas son de dos tipos distintos: • Salidas a transistores. • Salidas a relés. La elección de un tipo u otro se deciden en función de los tipos de carga que se le vayan a acoplar. Como ayuda en esta elección valgan las siguientes indicaciones: • Salidas a transistores (CC). Cuando se utilice CC, y cuando las cargas sean de poco consumo, rápida respuesta y alto número de operaciones –como es el caso de circuitos electrónicos–, se deben utilizar estos tipos de salidas. Su vida es superior a la del relé. • Salidas a relés (CA o CC). Este tipo de salida suele utilizarse cuando el consumo tiene cierto valor (del orden de amperios) y cuando las conmutaciones no son demasiado rápidas. Son empleadas en cargas de contactores, electroválvulas, etc.

Actuadores Todos los elementos conectados a las salidas, sean és-

Antes de conectar un actuador a las salidas de los PLC, habremos de analizar y tener en cuenta las siguientes limitaciones: • La tensión que se vaya a aplicar en cada juego de contactos del relé ha de ser única; podremos aplicar tantas tensiones distintas como relés tenga el PLC. • El margen de los valores de tensiones que se vaya a aplicar –tanto en CA como en CC– están indicados en las características técnicas. • Se sumarán las intensidades demandadas por los elementos conectados a cada grupo de contactos y se comprobará que esta suma no supere la intensidad máxima que nos indiquen sus características; los valores son distintos para CA y CC • Cuando el consumo de una carga o bobina del contactor sobrepase el valor disponible en el grupo de salidas, se colocará un relé intermedio de bajo consumo.

Circuitos de protección eléctrica: Como sabemos, las cargas en las salidas se pueden clasificar en cargas en CC y cargas en CA. En la mayoría de los casos, las cargas aplicadas a las salidas suelen ser circuitos inductivos como, por ejemplo, bobinas de contactores y relés. La desconexión de éstos da lugar a picos de tensión transitorios de alto valor. Como, en ocasiones, estos circuitos internos de protección no son suficientes, se deben acoplar circuitos adicionales exteriores para que supriman mejor y más rápidamente estas tensiones transitorias.

tos elementos de actuación directa o elementos de mando.

En el caso de cargas en CC, para circuitos con reducido número de maniobras, los circuitos a acoplar corresponden a:

Cuando el número de maniobras es elevado:

Cuando las cargas son del tipo resistivo, no es necesario acoplar circuito alguno. En casos de CA nos podemos encontrar, generalmente, con: • Que la carga sea de alta inductancia. • Que la carga sea de alta impedancia.

INET / Fluídica y controladores lógicos programables

31

INET / Fluídica y controladores lógicos programables

32

Cuando la carga es de alta inductancia, el circuito más conveniente es:

Cuando la carga es de alta impedancia, puede ocurrir que la intensidad de fuga del circuito RC interno y durante algunos segundos, mantenga alimentada la bobina de alta impedancia del contactor de salida. El circuito que se va a utilizar en este caso – calculando los valores de R y C– es:

Contactos de relés térmicos: Dos son las posibilidades de conexión de los contactos de los relés térmicos de protección contra sobreintensidades: • En las entradas, como captores:

• O, en la salida:

Las ventajas e inconvenientes que presentan ambas posibilidades son las siguientes: • La conexión en el circuito de entradas es la técnica más segura desde el punto de vista del control, ya que su apertura (provocada, como sabemos, por una sobreintensidad del circuito) desactiva los correspondientes circuitos de entrada y, como consecuencia, la salida que ha dado origen a dicha sobreintensidad, quedando señalizado en ambos diodos LED (E/S) del PLC. • Otra ventaja a tener en cuenta es que, en función del programa establecido, un contacto de un relé térmico puede detener únicamente el proceso del actuador al cual está protegiendo o detener el proceso completo. En este último caso y conectando todos en serie –en el caso de contactos NC o NA–, es suficiente con un solo contacto de entrada (lo que usted puede apreciar en la última figura). Las posibilidades que nos ofrecen los relés térmicos son dos: • Utilizar el contacto normalmente cerrado, NC. • Utilizar el contacto normalmente abierto, NA. En el primer caso, la bobina del contactor se alimenta directamente, ya que el contacto NC se utiliza en la entrada. En el segundo caso, al utilizar en la entrada el contacto NA, el contacto NC puede o no ser utilizado en la salida. Si se utiliza, tendremos doble protección. Como desventaja podemos citar que necesitamos una entrada por cada relé térmico, o grupo en paralelo o serie, lo que nos puede incrementar aquéllas considerablemente y, como consecuencia, exigirnos un PLC con más entradas. La conexión en el circuito de salida significa un ahorro en el correspondiente circuito de entrada; pero, carecer de indicaciones de avería en la señalización de salida o LED –aunque, lógicamente, la bobina del contactor quede desactivada, en cuyo caso sólo se detendrá el actuador que esté protegiendo–. En la mayoría de los procesos industriales, una avería o parada en alguno de los

INET / Fluídica y controladores lógicos programables

33

INET / Fluídica y controladores lógicos programables

34

elementos que lo integran puede traer como consecuencia pérdidas económicas importantes, si en su programación no se han tenido en cuenta estas posibilidades, esto es, la incidencia que en el resto del proceso puede tener la paralización o incorrecto funcionamiento de una sola máquina. Un procedimiento utilizado para corregir esta posibilidad es el de usar contactos de confirmación.

Contactos de confirmación Contactos de determinada

A continuación incluimos algunas de las posibilidades de conexión de los actuadores en las salidas del PLC. Conexión en un grupo de cuatro salidas comunes o de igual tensión:

En este caso, es necesario que: • Las tensiones de los elementos acoplados sean iguales y que esta tensión esté dentro de los márgenes indicados por las especificaciones del PLC. • Que la intensidad total y las intensidades parciales se encuentren también dentro de los mismos márgenes. Acoplamiento directo e indirecto de cargas:

parte de un proceso situados sobre otra parte de ese mismo proceso, que condicionan su parada o marcha.

En algunos casos, cuando el consumo de una carga es muy pequeño, se puede acoplar ésta directamente a la salida –como es el caso del tubo fluorescente y de la lámpara que vemos en la figura–. En el resto de los casos, el mando ha de hacerse a través de relés, contactores, electroválvulas, etc. Acoplamiento de actuadores de gran consumo: Cuando el consumo de intensidad –por ejemplo, de la bobina de un contactor que controla un determinado motor– es superior a la que puede soportar un contacto de salida del PLC, los procedimientos que es posible seguir son los siguientes: • Utilizar dos o más contactos de salida puenteados o unidos. Este procedimiento no es recomendable, en general, debido al valor que económicamente representa un contacto de salida. • Situar un relé intermedio, K1, cuyo consumo de intensidad sea aceptado por el contacto de salida del PLC; el contacto de dicho relé en serie con la bobina del contactor K2 sí puede soportar esa intensidad. Si el valor de la tensión en ambas bobinas es idéntico, el circuito a utilizar es:

Y, si las tensiones son distintas, nos encontramos con el circuito:

INET / Fluídica y controladores lógicos programables

35

INET / Fluídica y controladores lógicos programables

36

Una vuelta al problema Le sugerimos empezar a analizar el diseño de su tablero de comando, teniendo en cuenta el conexionado de los distintos elementos a ser utilizados en él.

4. Instalación, puesta a punto y mantenimiento 4.1. Instalación Una correcta instalación de los PLC implica, necesariamente, tener en cuenta factores como: 4.1.1. Condiciones ambientales del entorno físico donde se va a situar. 4.1.2. Distribución de componentes en el armario que los va a contener. 4.1.3. Cableado y alimentación correctos. Asimismo, es necesario su puesta a punto y un eficaz mantenimiento. 4.1.1. Condiciones ambientales del entorno físico donde se va a situar Normalmente –salvo indicación expresa–, el entorno en donde se sitúa el PLC ha de reunir las siguientes condiciones físicas: • Ausencia de vibraciones, golpes, etc. • Resguardo de la exposición directa a los rayos solares o focos caloríficos intensos, así como a temperaturas que sobrepasan los 50-60 grados centígrados, aproximadamente. • Desechar lugares donde la temperatura desciende, en algún momento, por debajo de 5 grados centígrados o donde los bruscos cambios pueden dar origen a condensaciones. • Descartar ambientes en donde la humedad relativa se encuentra por debajo del 20% o por encima del 90%, aproximadamente. • Ausencia de polvo y ambientes salinos. • Ausencia de gases corrosivos. • Ambiente exento de gases inflamables –por cuestiones de seguridad–. • Ha de evitarse situarlo junto a líneas de alta tensión, siendo la distancia variable en función del valor de dicha tensión. 4.1.2. Distribución de componentes en el armario que los va a contener. Es norma que el PLC se sitúe en un armario metálico. Antes de elegirlo, se ha de conocer si este armario necesita ventilador incorporado para forzar la ventilación del aire, debido a que la temperatura ambiente supera la especificada, o bien para incorporar un elemento generador de calor, si se prevén problemas de condensación. El armario se elige del tamaño adecuado para que contenga de una forma despejada no sólo el PLC sino todos los elementos que se encuentren junto a él, de modo que se pueda realizar un correcto trabajo en las operaciones de cableado y mantenimiento. Los elementos que se encuentran junto al PLC pueden ser: • interruptor o interruptores de alimentación, • las protecciones correspondientes,

• • • •

relés, contactores, etc., fuentes de alimentación, regletas de borras, canaletas de cableado, etc.

El PLC puede situarse en distintas posiciones; pero, en general, se sitúa verticalmente sobre riel DIN o placa perforada. En cuanto a su distribución, se tienen en cuenta las siguientes consideraciones: • Los elementos disipadores de calor –principalmente el PLC y las fuentes de alimentación– se sitúan en la parte superior del armario, para así facilitar la disipación del calor generado al exterior. • Los elementos electromecánicos –relés, contactores, etc.– son generadores de campos magnéticos debido a sus bobinas; por esto, es recomendable alejarlos lo más posible. Los transformadores, por su parte, estarán ubicados a la mayor distancia posible de cualquier parte de los PLC. 4.1.3. Cableado y alimentación correctos Para un correcto cableado hay que tener en cuenta unas reglas mínimas, entre las que se encuentran: • • • •

Separar los cables que conducen CC de los de CA, para evitar interferencias. Separar los cables de las entradas de los de las salidas. Si es posible, separar los conductores de las E/S analógicas de las digitales. Los cables de potencia que alimentan a contactores, fuentes de alimentación, etc., discurren por una canaleta distinta de los cables de E/S.

En cuanto al cableado externo, es de tener en cuenta que: • Los cables de alimentación y los de E/S discurren por distinto tubo o canaleta; es recomendable entre ambos grupos de cables una distancia mínima de 30 cm, si discurren paralelos. En el caso de que esto no sea posible, se sitúan placas metálicas conectadas a tierra que separan, dentro de la canaleta, los distintos tipos de cables. La alimentación a los PLC es otro factor importante a tener en cuenta. Cuatro son las pautas a considerar: • Tensión estable del valor adecuado y exenta, en lo posible, de picos provocados por otros aparatos de la instalación. • Protecciones contra sobrecargas y cortocircuitos, por medio de interruptores magneto-térmicos, fusibles, etc., así como contra derivaciones a tierra, por medio de interruptores diferenciales. • Cable de tierra del valor adecuado y debidamente señalizado mediante conductor amarillo-verde. Si la instalación no lo posee, es necesario habilitar uno, exclusivamente para los PLC, de –aproximadamente– 3 a 5 ohms. • Circuito de mando que permita conectar y desconectar el circuito o parte de él, en el momento preciso. Un posible diagrama de alimentación para los PLC:

INET / Fluídica y controladores lógicos programables

37

INET / Fluídica y controladores lógicos programables

38

Field (campo)

Como se observa, el diagrama considera no sólo la alimentación a la fuente de los PLC (CPU), sino la posibilidad de una fuente de alimentación auxiliar, salidas a CC, etc. 4.2. Puesta a punto y en servicio Esta tarea se acomete cuando todas las anteriores fases del proyecto se han terminado, incluso la de introducir el programa en el PLC.

Puesta a punto Supervisión total del sistema y de la realización de todas aquellas tareas que son ne-

Es conveniente dividir esta supervisión en dos momentos: • Sin tensión: Verificación de las partes físicas. • Con tensión: Verificación del sistema automático. La verificación de las partes físicas tiene por objeto comprobar, entre otros: • La correcta conexión de todos los componentes del sistema, incluidas las alimentaciones, de acuerdo con los esquemas correspondientes. • La firme sujeción de todos los cables al PLC, fuente de alimentación, etc. • La exacta identificación de cables, mediante señalizadores con letras o números. • Las correctas y firmes conexiones del cable amarillo-verde de tierra. La verificación del sistema automático se realiza de la siguiente forma: • Con el PLC en modo stop, alimentar el sistema, pero no las cargas. • Comprobar el correcto funcionamiento del circuito de mando de marcha-parada, tanto en las entradas y salidas, como en la marcha y parada de emergencia. • Con los PLC en modo RUN, verificar que las salidas responden de acuerdo al programa, al actuar manualmente sobre las entradas. Esto es visualizado mediante los diodos LED indicativos de salida activada. • Por último, alimentar las cargas y realizar la prueba real de funcionamiento general del sistema.

Una vuelta al problema Ya hemos analizado qué elementos de E/S vamos a conectar a nuestro PLC para la empresa productora de envases de alumninio.

Ahora, le proponemos desarrollar los planos de cableado y designación de las E/S.

cesarias para dejarlo en las condiciones perfectas de poder iniciar su puesta en funcionamiento.

4.3. Mantenimiento Podemos discriminar dos grupos de tareas de mantenimiento: • Mantenimiento preventivo. Como cualquier otra máquina, los PLC necesitan de un mantenimiento preventivo o inspección periódica; esta inspección ha de tener una periodicidad tanto más corta cuanto más complejo sea el sistema; ésta puede variar desde una frecuencia semanal hasta una frecuencia anual. Aunque la fiabilidad de estos sistemas es alta, las consecuencias derivadas de sus averías originan un alto coste, por lo que es necesario reducir al mínimo esta posibilidad. • Localización y reparación de las averías que se produzcan. Por ser el PLC un elemento electrónico complejo y debido a la importancia que ha de darse a su rápida reparación, en este apartado daremos algunas indicaciones que puedan ser útiles a los encargados de esta labor. 4.3.1. Mantenimiento preventivo Es conveniente disponer de una carpeta de mantenimiento con fichas en las cuales se haya confeccionado un cuadro que recoja los datos de las inspecciones periódicas, indicando fecha y, en apartado significativo, las averías detectadas y corregidas. Los datos podrían ser, entre otros: CUADRO PARA LA REALIZACIÓN DEL MANTENIMIENTO PREVENTIVO Pregunta

SI

NO

a) De elementos mecánicos: - ¿Están firmemente sujetos, tanto el PLC como los demás elementos? - ¿Hay algún cable suelto o roto? - ¿Están los tornillos suficientemente apretados? b) De CPU y E/S: - ¿Hay señal de los LED, indicativa de diagnóstico de CPU y E/S? c) De condiciones ambientales: - ¿Se encuentran los valores de temperatura y humedad dentro del margen? - ¿Existe polvo sobre los elementos? - ¿Existen vibraciones? d) De tensión de alimentación: - ¿Fluctúa la tensión de alimentación cerca de los límites máximos permitidos, medidos en la entrada de la fuente de alimentación? - La corriente continua y el rizado, ¿están dentro del margen? - Las tensiones de entrada a las E/S, ¿son las correctas?

Las herramientas y aparatos necesarios para esta labor de mantenimiento preventivo son: • • • • • •

Algodón y alcohol (para limpiar contactos). Herramientas de instalador. Téster de aguja de clase 0,5 o digital. Osciloscopio. Termómetro e higrómetro. Etc.

INET / Fluídica y controladores lógicos programables

39

INET / Fluídica y controladores lógicos programables

40

4.3.2. Localización y reparación de averías La detección de averías imputables al PLC se determina, generalmente, por los procedimientos que se han desarrollado e incluido en él, por la lista de mensajes de error correspondientes, enviados por el port de comunicaciones a la PC. En general, los pasos lógicos que se debe seguir para la detección y reparación de una avería son los de verificar: • • • • •

Alimentación. In/Out. Terminales. CPU. Condiciones ambientales.

Actividad 2 Integración de “Manejo, instalación y conexionado” En nuestra actividad anterior usted puntualizó un caso de instalación industrial en la que consideró oportuno utilizar el PLC. Le proponemos continuar refiriéndose a esa instalación y, con respecto a ella, precisar: 1. ¿De qué tipo van a ser las entradas y salidas de ese PLC? 2. ¿Qué elementos va a utilizar como protección exterior a la salida de los PLC? 3. ¿Dónde va a conectar los contactos de los relevos térmicos? ¿Por qué? 4. ¿Integrará contactos de confirmación? 5. ¿Qué consideraciones hará al conectar las salidas, con respecto al consumo de sus actuadores? 6. ¿Qué solución podría desarrollar si la carga a conectar supera la permitida por la salida del PLC?

3. INTRODUCCIÓN A LA PROGRAMACIÓN INET / Fluídica y controladores lógicos programables

41

En este tramo de nuestra capacitación hablaremos sobre los PLC que tienen dos modos principales: • STOP –off-line–. El programa sin ejecutar. Todas las salidas están en reposo. • RUN –on-line–. El programa se está ejecutando continuamente y sólo son posibles algunas operaciones, como ya veremos.

Es importante conocer y manejar correctamente las funciones de servicio que ofrecen los PLC, para conseguir las máximas prestaciones –eficacia–.

Como sabemos, una de las ventajas de los PLC sobre la lógica cableada es la posibilidad de introducir, borrar y modificar los programas; pero, también, la de poder grabarlos y almacenarlos, mediante los utilitarios provistos por los fabricantes. En procesos de producción periódicamente cambiantes, en donde programas en desuso vuelven al cabo del tiempo a ser puestos en funcionamiento, juega un papel importante la posibilidad de grabación y archivo para su posible utilización en el futuro –bien con su configuración actual, bien con las correspondientes modificaciones–. Por ello, una vez realizado un programa, verificado y simulado, para ponerlo en funcionamiento es necesario grabarlo a través de alguno o algunos de los sistemas, de acuerdo a las disponibilidades con que contemos –NVRAM, disquete, HD o impresora– y crear un archivo de programas perfectamente identificables. Es aconsejable utilizar dos sistemas: uno de ellos un archivo magnético y, el otro, papel escrito por medio de la impresora:

Programa Es una sucesión o lista de

• El sistema magnético nos es fundamental si queremos volver a poner en funcionamiento un programa ya utilizado con anterioridad o realizar alguna modificación sobre él. • La impresión es muy práctica en el caso de consulta sin necesidad de utilizar los PLC; en ella aparece tanto el esquema correspondiente al programa en el lenguaje en el que se ha programado, como el listado de instrucciones y la relación de temporizadores, contadores, etc., empleados, con indicación de su número y tiempo –en el caso de temporizadores– y cuentas –en el caso de contadores–, etc.

distintas órdenes de trabajo –también llamadas instruc-

Instrucciones y programas1

ciones–, capaz de hacer eje-

jo pretendida a los PLC.

Una instrucción u orden de trabajo consta de dos partes principales: operación y operando; a su vez, el operando está dividido en símbolo y parámetro:

Instrucción u orden de

Instrucción

cutar la secuencia de traba-

trabajo Es la parte más pequeña de un programa.

Operación ¿Qué?

Operando ¿Dónde? Símbolo

Parámetro

1 En este tercer capítulo de Programadores lógicos controlables vamos a hablar del software que, como sabemos, se refiere a los programas o partes no tangibles físicamente de los PLC. Si bien el software en su amplio término trata tanto de los programas creados por el usuario como los propios creados para el funcionamiento interno de los PLC, aquí nos vamos a referir a los primeros.

INET / Fluídica y controladores lógicos programables

43

INET / Fluídica y controladores lógicos programables

44

La operación le indica a la CPU del PLC, qué tiene que hacer; o, lo que es lo mismo, la clase de instrucción que ha de ejecutar. El operando es el complemento al código u operación. Mediante el operando indicamos la dirección del elemento de que se trate (contadores, temporizadores, E/S, marcas internas...), así como las cuentas, tiempos, etc. Consideremos estos ejemplos de operaciones: Operaciones: AND (Y): Formar una concatenación serie. OR (O): Formar una concatenación paralelo. OUT (=): Asignar una salida a lo precedente. El operando le indica a la CPU dónde debe de hacerlo, dónde debe realizarse esa instrucción. Cuando se programa, cada instrucción del programa se aloja en una celda de memoria (Por ejemplo, en el PLCEM 168, la capacidad de memoria es de 1536 palabras o instrucciones –memoria del usuario–). Otro concepto a tener en cuenta es el de línea o línea de programa. Una línea contiene dirección o paso, operación y operando. Por tanto, se puede decir que una línea de programa consta de una instrucción, salvo algunos casos en el que son necesarias dos líneas para alojar una sola instrucción (El PLCEM 168, por ejemplo, posee 512 pasos de programa o líneas; puede manejar en forma correcta 16 entradas, 8 salidas, 16 timers, 16 contadores y 64 memorias o flags, con esta cantidad de pasos de programa). Para poder elaborar un programa no es suficiente con las instrucciones de mando o de programa; se requiere otro tipo de instrucciones que recibe el nombre de instrucciones de servicio u órdenes de manejo, por medio de las cuales se consigue la elaboración, análisis y puesta a punto del programa, así como otras posibilidades que en los ejemplos prácticos consideraremos. Instrucciones básicas: LD: (4C) Carga el primer contacto de la línea o rama. LDN: (42) Carga el primer contacto de la línea o rama en forma negada. AND: (41) Lógica “Y”. ANDN: (44) Lógica “Y” negada. OR: (4F) Lógica “O”.

ORN: (47) Lógica “O” negada. = (Copy ) (49) Copia la condición de la rama o línea. =NOT:(4E) Niega la condición de la rama o línea. =SET: (50) Coloca un “1” en el lugar de las acciones y permanece así independientemente que la condición se haya borrado. =RST: (52) ídem a =SET; pero, coloca un “0” en el lugar de las acciones. =JMP: (4A) Salta a una línea o rama especificada. IN: (45) Especifica una entrada digital. OUT: (53) Especifica una salida digital. MEN: (4D) Especifica un relé interno. TIM: (54) Lee el bit de estado del timer. CNT: (43) Lee el bit de estado del contador. ENDSUB: (464646) Fin de subrutina. END: (58) Fin de programa.

Para comunicarse con el PLC, desde cualquier terminal de datos (PC), se debe setear el puerto serie al que está conectado (COM 1 a COM 4), y los parámetros de comunicación, 9600, N, 8, 1 y el terminal en modo ASCII. Todo esto es posible de ser realizado si no se posee el software de programación y simulación bajo Windows que al adquirir el PLC se provee. En caso de no disponer de dicho software, para enviar estos comandos podrá utilizarse cualquiera de los que comúnmente se comercializa por la firma Microsoft, dentro de los paquetes de Windows 95 / 98 (Hyperterminal), o cualquier otro que funcione bajo DOS, por ejemplo Procomm, PC-plus, etc., siempre y cuando el fabricante entregue de los comandos que se pueden introducir en modo ASCII.

INET / Fluídica y controladores lógicos programables

45

INET / Fluídica y controladores lógicos programables

46

Ejecución de programas Cuando los PLC se sitúan en el modo RUN (ciclo de ejecución o ejecución cíclica), la CPU realiza, entre otras funciones, el barrido del programa contenido en la memoria de usuario, desde la casilla, dirección o línea 000 hasta la última, según el largo del programa –esto es, efectúa lo que se denomina ciclo de scan– que es medido en función del tiempo que tarda en ejecutar 1000 instrucciones. En función de cómo se efectúe la ejecución o barrido del programa, se distinguen los siguientes sistemas, modos o estructuras de programación: 1. Ejecución cíclica lineal. 2. Ejecución con salto condicional. 3. Ejecución con salto a sub-rutinas. El principio de ejecución de cada uno de los sistemas indicados se describe a continuación. 1. Ejecución cíclica lineal Cuando el ciclo de barrido de la memoria de usuario se realiza línea tras línea, sin solución de continuidad, se dice que la programación es lineal. Así, la CPU consulta las instrucciones contenidas en la memoria secuencialmente, una a continuación de la otra, sin alterar este orden.

Instrucción 1

End

2. Ejecución con salto condicional Cuando el ciclo de ejecución de un programa tiene la posibilidad –previa condición establecida– de alterar la secuencia línea a línea y dar un salto a otras líneas de programa, dejando x líneas sin ejecutar, se dice que ha realizado un salto condicional. Si al llegar en el proceso de ejecución del programa a la instrucción U, se cumple la condición en ella indicada, se salta a V, continuando el barrido en V+1 hasta el fin de programa (END). Si, por el contrario, al llegar a U no se cumple la condición, el programa se ejecuta linealmente, continuando en U+1. Algunos PLC poseen esta posibilidad, la cual permite reducir el tiempo de ejecución del ciclo.

Es aplicable en aquellos casos en que las instrucciones contenidas en el salto sólo son necesarias cuando se dan ciertas condiciones impuestas por el programa.

Instrucción 1

Instrucción U Instrucción U + 1

Instrucción V Instrucción V + 1

Fin de programa End

3. Ejecución con salto a sub-rutinas En algunas ocasiones ocurre que en un programa hay uno o más grupos de secuencias de instrucciones idénticas que se repiten y que habrá que reescribir tantas veces como éstas se reiteren en dicho programa principal. En estos casos, es muy útil escribir una sola vez esta secuencia o sub-rutina, e ir a ella cuando se requiera.

Inicio Jump_Condicional 1

Sub_Rutina 1 Endsub

Jump_Condicional 2

Sub_Rutina 2 Endsub

End

INET / Fluídica y controladores lógicos programables

47

INET / Fluídica y controladores lógicos programables

48

Lenguajes de programación típicos Varios son los lenguajes o sistemas de programación posibles en los autómatas programables; por esto, cada fabricante indica en las características generales de su equipo cuál es el lenguaje o los lenguajes con los que puede operar. En general, se podría decir que los lenguajes de programación más usuales son aquellos que transfieren directamente el esquema de contactos y las ecuaciones lógicas –pero, éstos no son los únicos–. Los lenguajes y métodos gráficos más utilizados son: • Nemónico, también conocido como lista de instrucciones, booleano, abreviaturas nemotécnicas, AWL. • Diagrama de contactos –Ladder diagram–, plano de contactos, esquema de contactos, KOP. Excepto el nemónico, los demás tienen como base su representación gráfica; pero, todos ellos deben ir acompañados del correspondiente cuadro o lista de programación –esto es, la relación de líneas de programa que lo configuran–. Nemómico: Es un lenguaje en el cual cada instrucción se basa en las definiciones del álgebra de Boole o álgebra lógica. LD: Operación inicio contacto abierto. LD NOT: Operación inicio contacto cerrado. AND (Y): Contacto serie abierto. OR (O): Contacto paralelo abierto. AND NOT: Contacto serie cerrado. OR NOT: Contacto paralelo cerrado. OUT: Bobina de relé de salida. MEM: Relé interno o marca. TMR: Temporizador. CNT: Contador. Etcétera.

Diagrama de contactos: La mayoría de los fabricantes incorpora este lenguaje. Esto es debido a la semejanza con los esquemas de relés utilizados en los automatismos eléctricos de lógica cableada, lo que facilita la labor a los técnicos habituados a trabajar con dichos automatismos.

En el cuadro siguiente se presentan los símbolos utilizados en los ejemplos posteriores y su correspondencia entre sí y otros conocidos –tales como los nemónicos o de Boole–:

Equivalencias entre los distintos lenguajes

Asignaciones de los programas La realización de una buena programación pasa, entre otras cosas, por diseñar correctamente el diagrama correspondiente. Para no incurrir en errores –asignaciones repetidas o asignaciones de elementos inexistentes– es conveniente confeccionar un cuadro donde colocamos la designación que corresponde a cada entrada, salida, marcas, timers y contadores. Ejemplo de asignación de entradas y salidas: TIPO

TERMINAL ASIGNADO

ENTRADAS

In1

Pulsador de marcha

In2

Fin de carrera Pistón 1

In3

Térmico motor 1

DESCRIPCIÓN

.......... .......... ........... ........... ...........

SALIDAS

In15

Pulsador de parada

In16

Emergencia

Out1

Contactor línea

Out2

Contactor estrella

............ ............ ............. .............. ............. ............. Out7

Lámpara piloto

Out8

Lámpara de emergencia

INET / Fluídica y controladores lógicos programables

49

INET / Fluídica y controladores lógicos programables

50

Ejemplo de asignaciones para timers, contadores y memorias: Tipo

Numero

Seteos

TIM 1 TIM 2 ......... ......... TIM 8

20 seg. 50 seg

Ret. estrella/triángulo Seguridad

60 seg.

Reposición

CNT 1 CNT 2 .......... .......... .......... .......... CNT 13 CNT 14

99 99

Piezas terminadas Cantidad de piezas

4 2

Paradas emergencia Apertura. Térmico

MEM 1 MEN 2 .......... .......... .......... MEM 63 MEM 64

Set Rst

Habilitación Fase 1

rst rst

Fase n Fase n+1

Timers

Contadores

Memorias

Descripción

Una vuelta al problema Le sugerimos realizar sus propias tablas de asignación, de acuerdo con los elementos utilizados en la situación de la fábrica de envases, y evaluar su utilidad –para cuando, en algún tiempo, deba usted volver a utilizar o modificar el programa realizado–.

Consideraciones previas sobre la programación Ladder Antes de empezar con los ejemplos prácticos, es necesario tener en cuenta algunas consideraciones que nos facilitarán la labor de programación: a) La programación en cada bloque de contactos se realiza en el orden de izquierda a derecha.

Lista de instrucciones: LD ANDN = END

IN 1 IN 2 OUT 1

b) El sentido de programación de los bloques de contactos de un programa es ejecutado de arriba a abajo.

c) El número de contactos que se puede colocar en un bloque, desde el comienzo de la línea principal hasta la salida OUT, es ilimitado. La única limitación práctica que podemos encontrarnos es la de la resolución del monitor o del ancho del papel, cuando queramos sacar el programa por impresora; en este caso, el número máximo de contactos en serie es de diez.

d) Al no existir limitación de contactos, es preferible realizar un circuito claro y comprensible con un número elevado de contactos, antes que uno complicado como consecuencia de reducir su número. e) No se puede conectar una salida directamente a la línea principal. En estos casos, se intercala un contacto cerrado de una marca cualquiera. Es importante tener en cuenta esta posibilidad de acceder a contactos abiertos o cerrados fijos –ya que no se utiliza la bobina de dicha marca o relé–.

Como la programación Ladder es del tipo condicional, no puede haber nunca una acción si no hay una condición.

f) Es posible programar dos o más bobinas de salida, sean exteriores o marcas en paralelo (Por ejemplo, en los PLC de la serie PLCem 16xx, es posible colocar E/S, timers, contadores y marcas hasta terminar las 512 líneas).

INET / Fluídica y controladores lógicos programables

51

INET / Fluídica y controladores lógicos programables

52

g) Los términos contacto abierto, normalmente abierto (NA) y contacto de cierre, significan lo mismo y se refieren al contacto que en estado de reposo está abierto o, lo que es lo mismo, a que el paso de corriente a través de él no es posible. En el mismo sentido, los términos contacto cerrado, normalmente cerrado (NC) y contacto de apertura también significan lo mismo: el contacto que en estado de reposo se encuentra cerrado, o sea, el paso de corriente a través de él sí es posible. h) Contactos de entradas. El número de contactos abiertos o cerrados que se puede utilizar en un programa, por cada uno de las entradas, es ilimitado, o sea, se puede repetir el mismo número de contacto cuantas veces queramos y tanto abierto como cerrado. i) Contactos de salida. El número de salidas o bobinas de salida o relés de salida OUT es fijo, por lo que no se puede repetir un mismo número de salida; pero, por el contrario, el número de contactos asociados a cada una de ellas y tanto abiertos como cerrados es, al igual que en el caso anterior, ilimitado. j) Contactos de marcas o memorias. Aunque no son salidas exteriores, las marcas se representan y programan de forma similar; su utilización más común es como relés auxiliares. En la mayoría de los PLC son protegidas contra el corte de alimentación. Por tanto, no pierden su estado ante esta eventualidad. Existen también especiales, con funciones varias como la de cambio de base de tiempo de timers y scan de éstos. Al igual que ocurría con las salidas, el número de marcas es fijo: el mismo número de marca no se puede repetir; pero, el número de contactos asociados a cada marca, tanto abiertos como cerrados, es ilimitado.

Ejemplo básico de programación Lógica OR

Lista de instrucciones: LD IN 1 OR IN 2 = OUT 1 END Ejemplo básico de programación Lógica AND

Lista de instrucciones: LD IN 1 AND IN 2 = OUT 1 END

Ejemplo básico de programación SET Y RST

Lista de instrucciones: LD IN 1 AND IN 2 = SET OUT 1 LD IN 3 = RTS OUT 1 END

Mediante la combinación de contactos en serie o paralelo se puede empezar a realizar circuitos simples para manejar cargas o motores en la industria.

Una vuelta al problema Por ejemplo, supongamos que deseamos controlar un motor de CA trifásico que maneja la cinta trasportadora por donde pasan las latas para ser estampadas, con el pulsador de marcha colocado en la entrada IN 1 y otro pulsador de parada en la entrada IN 2, y que actuaremos sobre la salida Out 1, la cual comandará, directamente un contactor adecuado para manejar el motor antes mencionado. ¿Debería haber otra entrada para el relevo térmico?

INET / Fluídica y controladores lógicos programables

53

INET / Fluídica y controladores lógicos programables

54

El circuito de comando realizado de forma eléctrica, es:

Cuando pulsamos la entrada IN 1, el relé K1, acciona y el contacto que está en paralelo con la IN 1 también cierra. Con esto se logra una autorretención de K1; es decir que, si soltamos el pulsador que está conectado en la entrada IN 1, el relé K1 –o bien si correspondemos a K1 con Out 1– permanece accionado. La única manera de dejar de accionar a la salida Out 1 es accionando la entrada IN 2 que, al ser accionada, deja de circular corriente hacia Out 1 y éste se desconecta. Si pulsamos ambos pulsadores a la vez vemos que la carga o la salida Out 1 no es accionada, porque tiene preponderancia IN 2 sobre IN 1. Es, decir al pulsar IN 2 la carga no acciona. A este circuito se lo denomina circuito de comando del tipo RESET DOMINANTE. En el caso que se desee que al pulsar los dos pulsadores a la vez la carga accione, se debe realizar el siguiente circuito de comando:

Como podemos ver en la figura, al pulsar IN 1 la salida Out 1 se activa y el contacto de K 1 también. En este circuito está la función de autorretención, para que al soltar IN 1 siga accionada la salida Out 1; al pulsar IN 2, la carga deja de estar accionada; ahora, al pulsar IN 1 y IN 2 en forma conjunta, la salida Out 1 sigue accionada. A este circuito se lo denomina circuito de comando del tipo SET DOMINANTE. A modo de ejemplo, desarrollamos el SET DOMINANTE, en el lenguaje Ladder con lista de instrucciones.

Lista de instrucciones: LD OUT 1 ANDN IN 2 OR IN 1 = OUT 1 END

También podemos realizar este circuito utilizando las instrucciones =SET y =RST, recordando que: =SET Coloca un “1” en el lugar de las acciones y permanece así independientemente que la condición de haya dejado de cumplir. =RST Ídem a =SET; pero, coloca un “0” en el lugar de las acciones. La única forma de sacar un =SET es ejecutar un =RST. Para dejar esto en claro, a continuación planteamos el ejemplo de SET DOMINANTE, con las instrucciones =SET y = RST

Lista de instrucciones: LD IN 1 =SET OUT 1 LD IN 2 ANDN IN 1 =RST OUT 1 END

Una vuelta al problema Realice este ejercicio, pensando en la situación problema de la fábrica de latas: • Con un pulsador conectado en la entrada IN 1 accionaremos la salida Out 1. Al dejar de pulsar, este pulsador la salida Out 1 deberá seguir accionada. Al volver a pulsar la IN 1, la salida Out 1 se deberá apagar y, así, sucesivamente. (En la In 1 colocaremos un simple pulsador NA con la cantidad de módulos asociados que se necesite. En la salida Out 1, colocaremos una lámpara).

Para empezar, realizamos el circuito de comando mediante un programa Ladder y utilizamos para ello nada más que las instrucciones AND, OR y sus derivados, y como acción la instrucción =(Copy).

INET / Fluídica y controladores lógicos programables

55

INET / Fluídica y controladores lógicos programables

56

Solución 1. Antes de resolver cualquier problema debemos saber cuántas acciones realizaremos; de esta manera, podemos saber cuál es la condición que debemos realizar para que la acción se cumpla. ¿Cuáles son estas acciones en el problema anterior? 1. Al oprimir In 1 se debe encender la salida Out 1. 2. Al soltar el pulsador que esta en In 1 se debe memorizar esta acción (Out 2). 3. Al volver a pulsar se debe apagar Out 1 al accionar Out 3.

Lista de instrucciones: LD IN 01 OR OUT 01 ANDN OUT 03 =OUT 01 LDN IN 01 AND OUT 01 OR OUT 02

ANDN OUT 03 =OUT 02 LD OUT 02 OR OUT 03 AND OUT 01 = OUT 03 END

Solución 2. Aquí mostramos otra manera de resolver este problema usando menos instrucciones:

Lista de instrucciones: LD IN 01 OR OUT 01 Continúa a la página siguiente.

ANDN OUT 03 =OUT 01 LDN IN 01 OR OUT 02 AND OUT 01 =OUT 02 LD OUT 02 OR OUT 03 AND OUT 01 = OUT 03 END Consideremos otro ejemplo: Con un pulsador conectado en la entrada IN 1 accionaremos la salida Out 1. Al dejar de pulsar este pulsador, la salida Out 1 deberá seguir accionada. Al volver a pulsar la IN 1, la salida Out 2 encenderá. Y, al soltar nuevamente IN 1, la salida Out 1 y Out 2 seguirán encendidas. Al pulsar nuevamente IN 1 se apagarán ambas salidas y, así, sucesivamente. IN 1. Pulsador 1 Out 1. Lámpara 1 Out 2. Lámpara 2

Lista de instrucciones: LD IN 01 OR OUT 01 ANDN OUT 05 =OUT 01 LDN IN 01 OR OUT 02 AND OUT 01 =OUT 02 LD IN 01 OR OUT 03 Continúa a la página siguiente.

INET / Fluídica y controladores lógicos programables

57

INET / Fluídica y controladores lógicos programables

58

AND OUT 02 = OUT 03 LDN IN 01 OR OUT 04 AND OUT 03 = OUT 04 LD OUT 05 OR OUT 04 AND OUT 01 = OUT 05 END Notamos que para encender dos salidas estamos gastando cinco, lo que no es lógico, ya que los PLC de la gama compacta no podrían ser usados. Esto se puede resolver usando memorias o flags. Estas memorias o flags tienen el mismo manejo que una salida; pero, no tienen vinculación física con el exterior. Si se deseara poder utilizar una memoria como salida no sería posible; habría que hacer un copy (=) de esta memoria a la salida elegida. Una memoria puede ser utilizada para almacenar estados intermedios en un PLC o para retener una entrada de corta duración y, luego, procesarla. En la mayoría de los PLC, estas memorias son retentivas2 y, ante cortes de energía eléctrica, su estado es almacenado.

Usando memorias Realicemos el ejemplo anterior usando memorias. Hemos reemplazado las salidas Out 2, Out 4 y Out 5 por memorias: MEM 2, MEM 4 y MEM 5, respectivamente. 2

En cada caso es necesario que usted consulte las especificaciones técnicas del fabricante.

Con este reemplazo, para encender dos lámparas solamente usamos dos salidas: OUT 1 y OUT 3. Lista de instrucciones: LD IN 01 OR OUT 01 ANDN MEM 05 =OUT 01 LDN IN 01 OR MEM 02 AND OUT 01 =MEM 02 LD IN 01 OR OUT 03 AND MEM 02 = OUT 03 LDN IN 01 OR MEM 04 AND OUT 03 = MEM 04 LD MEM 05 OR MEM 04 AND OUT 01 = MEM 05 END

También podemos realizar este circuito utilizando las instrucciones =SET y =RST:

Lista de instrucciones: LD IN 01 ANDN OUT 01 ANDN OUT 02 ANDN MEM 01 = SET OUT 01 = SET MEM 01 LD IN 01 AND OUT 01 ANDN OUT 02 ANDN MEM 01 =SET OUT 02 =SET MEM 01 Continúa a la página siguiente.

INET / Fluídica y controladores lógicos programables

59

INET / Fluídica y controladores lógicos programables

60

LD IN 01 AND OUT 01 AND OUT 02 ANDN MEM 01 =RST OUT 01 =RST OUT 02 =SET MEM 01 LDN IN 01 =RST MEM 01 END • Otros usos de las memorias:

Supongamos que deseamos resolver el ejemplo de la figura siguiente. Si el PLC, no tiene la posibilidad de trabajar con paréntesis, no se puede resolver; pero, la solución correcta es utilizar memorias. Tratemos de resolver el siguiente ejemplo:

Realizamos un automático de escaleras tradicional, con un pulsador en la parte inferior IN 1 y otro en la parte superior, IN 2. Debemos encender una salida; para este caso elegimos Out 3. Al pulsar IN 1 se encenderá la Out 3, si está apagada, y permanecerá así hasta que pulse IN 2. También se podrá realizar en sentido contrario.

La solución: Lista de instrucciones para PLC con paréntesis: LD IN 1 ANDN IN 2 OR ( IN 2 ANDN IN 1 ) = OUT 3 END Lista de instrucciones para PLC sin paréntesis: LD IN 1 ANDN IN 2 = MEM 1 LD IN 2 ANDN IN 1 OR MEM 1 = OUT 3 END

Usando timers En los PLC podremos encontrar una variedad de timers que pueden funcionar como si fueran eléctricos o electrónicos. Los más comunes son los eléctricos, que se clasifican en: • Retardo en la conexión. • Retardo en la desconexión. En algunos PLC, de acuerdo con el número de timers, puede ser de retardo en la conexión o de retardo en la desconexión. Por eso es aconsejable que, antes de poner a funcionar un timer, se verifique de qué tipo son los que tiene el PLC a utilizar, verificando sus características técnicas. La cantidad de timers que tienen los PLC también es variada; va desde ocho en adelante y puede llegar –en modelos de gran porte– hasta 256. En cuanto a su precisión, los comunes rondan las décimas de segundo; y, en PLC de tipo modular, dependiendo de la CPU utilizada, esta precisión llega a centésimas de segundo. El rango en que se los puede ajustar varía desde décimas de segundo hasta, aproximadamente, 64000 segundos. En algunos PLC es posible cambiar la base de tiempo; entonces, en lugar de hablar de segundos, estamos hablando de ajuste de base de tiempo; es decir, si ajusto un timer en 255 bases de tiempo y la base de tiempo es la décima, entonces el timer estará ajustado en 25,5 segundos. El seteo del valor del timer se realiza en el software de programación y edición de programas; o, cuando está corriendo el PLC, mediante la utilización de hand hell, los cuales nos permitirán modificar a voluntad los valores del timer, al igual que visualizarlos mientras funciona.

INET / Fluídica y controladores lógicos programables

61

INET / Fluídica y controladores lógicos programables

62

¿Cómo encontramos expresados a los timers en un diagrama Ladder? En la parte condicional:

En la parte de las acciones:

Donde # es el número que le corresponde a cada timer. a) Retardo en la conexión Diagrama temporal:

Diagrama de contactos:

Lista de instrucciones: LD IN 1 = TIM 1 LD TIM 1 = OUT 1 END b) Retardo en la desconexión

Diagrama temporal: Diagrama de contactos

Lista de instrucciones: LD IN 2 = TIM 9 LD TIM 9 = OUT 2 END Una de las aplicaciones más comunes de los temporizadores en un PLC es la de manejar el arranque de motores del tipo estrella triángulo. Con este tipo de sistema logramos realizar el arranque de motores trifásicos con gran sencillez. Una vuelta al problema Supongamos que el motor del ventilador de extracción de gases contaminantes de la sección pinturas de nuestra fábrica de envases es de más de 10 HP. Debemos realizar un arranque del tipo estrella/triangulo, el cual tiene la tabla de asignaciones que puntualizamos a continuación.

Supongamos que: IN 1: Pulsador de marcha IN 2: Pulsador de parada IN 3: Relevo térmico Out 1: Contactor de línea Out 2: Contactor estrella Out 3: Contactor triángulo Ahora, con estos datos, realicemos el diagrama ladder:

INET / Fluídica y controladores lógicos programables

63

INET / Fluídica y controladores lógicos programables

64

Lista de instrucciones: LD IN 1 OR OUT 1 ANDN IN 2 ANDN IN 3 = OUT 1 = TIM 1 LD OUT 1 ANDN TIM 1 = OUT 2 LD OUT 1 AND TIM 1 = OUT 3 END Otra de las aplicaciones frecuentes en el hogar o en edificios de departamentos es la del uso del timer como un automático de paliers: cuando oprimo el pulsador ubicado a la salida de algún ascensor se enciende una luz y permanece en ese estado por un cierto tiempo.

Esto se podría realizar normalmente con timers en la desconexión; pero, no todos los PLC tienen esta alternativa, por eso realizamos un retardo en la desconexión con timers retardo en la conexión.

Usando contadores En los PLC podemos encontrar una variedad de contadores que pueden funcionar como si fueran eléctricos o electrónicos. Los más comunes son los eléctricos, que se clasifican en: • Contador ascendente • Contador descendente Algunos PLC –de acuerdo con cómo éstos se inicialicen– pueden integrar contador ascendente o contador descendente. Por eso es aconsejable que, antes de poner a funcionar un contador, se controle de qué tipo son los contadores que tiene el PLC a utilizar, verificando las características técnicas.

Cuando se trate de timers de funcionamiento electrónico –no eléctrico, como mostramos aquí–, lo mejor será consultar las características técnicas particulares de cada caso, en el manual del

La cantidad de contadores que tienen los PLC también es variada; van desde ocho en adelante y pueden llegar hasta 256, en modelos de gran porte. En cuanto a su velocidad, los comunes rondan 500 cuentas por segundo; en PLC del tipo modular, esta precisión llega al orden de 15000 cuentas por segundo, dependiendo de la CPU utilizada. El rango en que se los puede ajustar varía desde dos a seis dígitos. El seteo del valor

fabricante.

del contador se realiza en el software de programación y edición de programas, o cuando está corriendo el PLC, mediante la utilización de hand hell que permiten modificar a voluntar los valores del contador, al igual que visualizarlos mientras funcionan. ¿Cómo encontramos expresados a los contadores en un diagrama ladder? En la parte condicional:

En la parte de las acciones:

Donde # es el número que le corresponde a cada contador. ¿Cómo trabajamos con los contadores? En algunos PLC, los contadores tienen dos seteos para realizar; uno es el de carga y limpieza –LOAD / CLEAR– y, el otro, la cuenta –COUNT–,

Si queremos –por ejemplo– contar hasta 10 eventos con un contador descendente, debemos predeterminarlo en 9.

Lo que primero realizamos es la carga y limpieza del contador, antes de ponerlo a funcionar. Cuando colocamos un “1” lógico en esa entrada, el contador limpia su estado actual y se resetea; sus contactos de C# pasan a la posición de reposo, tienen un “0”. Recién en ese instante está en condiciones de contar puesto que, al limpiar su estado, también carga el valor de predeterminación. Al ingresar la cuenta de eventos por la entrada de cuenta, el contador empieza a decrementar su valor con cada ingreso y, cuando llega a “0”, la cuenta pone un “1” lógico en sus contactos –los setea–. El “1” lógico en la entrada de carga y limpieza (LOAD / CLEAR) debe ser transitorio; si no quitamos este “1”, siempre se estará limpiando. Las entradas de cuenta pueden ser de dos tipos: • por nivel o • por flanco3.

Veamos un ejemplo:

Mediante un pulsador IN 1 realizamos la carga y la limpieza del contador C 01; con otro pulsador, en IN 2, contamos los eventos.

3 Nuevamente, frente a esta decisión, resulta necesario consultar las características técnicas del fabricante.

INET / Fluídica y controladores lógicos programables

65

INET / Fluídica y controladores lógicos programables

66

Visualizamos el estado del contador en la salida OUT 1. Diagrama ladder:

Lista de instrucciones: LD IN 01 =CSET 01 LD IN 02 = CNT 01 LD CNT 01 = OUT 01 END. En este caso, la instrucción = CSET 01 es la encargada de cargar y limpiar el estado del contador. La instrucción = CNT 01, por su parte, es la encargada de contar eventos.

Formas de representación de las fases operativas de una máquina La complejidad siempre creciente de los automatismos industriales se traduce en cada vez mayores dificultades para definir de modo claro y no ambiguo el desarrollo de las fases operativas del equipo y sus estados de conmutación. Las extensas descripciones literales resultan de difícil o confusa interpretación, por lo que se hace imprescindible adoptar métodos de representación claros y concretos, ya sea en forma literal o gráfica. Seguidamente, indicamos distintos métodos para la representación de las fases operativas de las máquinas. Si bien todos son de aplicación general, es el grado de complejidad del equipo el que define el más adecuado en cada caso. Es importante destacar que las formas de representación son independientes de la tecnología utilizada; por consiguiente, son aplicables para centrales de mando neumático, hidráulico, mecánico, eléctrico, electrónico o combinaciones de éstos. Vamos a referirnos a: • • • •

representación descriptiva simplificada, representación abreviada con vectores, representación abreviada con signos, representación en forma de diagramas.

Cuando se trata de contadores, lo mejor es consultar las características técnicas particulares de cada caso, en el manual del fabricante. Aquí sólo estamos haciendo referencia al manejo de contadores que realizan los PLC de la empresa Dydec.

1. Representación descriptiva simplificada: Fase 1: A extiende su vástago, el cilindro A sujeta la pieza. Fase 2: B extiende su vástago, el cilindro B acciona el punzón de marcación. Fase 3: B retrae su vástago, el cilindro B retrocede. Fase 4: A retrae su vástago, el cilindro A libera la pieza.

2. Representación abreviada con vectores: En este caso, el movimiento de los cilindros o actuadores se representa por vectores. Se adopta, convencionalmente: Salida (extensión) del vástago Entrada (retracción) del vástago Ejemplos: 1)

2)

Fase 1

A

Fase 1

A

Fase 2

B

Fase 2

B

Fase 3

B

Fase 3

B

C

Fase 4

A

Fase 4

A

C

3. Representación abreviada con signos: En este caso, el movimiento de los cilindros o actuadores es designado con los signos más (+) y menos (-). Se adopta, convencionalmente: + Salida (extensión) del vástago - Entrada (retracción) del vástago Ejemplos: Fase 1

Fase 2

Fase 3

Fase 4

1)

A+

B+

B-

A-

2)

A+

B+

B- C+

A- C-

3)

A+

B+

BC+

AC-

INET / Fluídica y controladores lógicos programables

67

INET / Fluídica y controladores lógicos programables

68

4. Representación en forma de diagramas: 4.1. Diagrama espacio-fase: En el diagrama espacio-fase se representa la secuencia de acción de las unidades de trabajo y el encadenamiento de las señales de mando. Se utilizan, para ello, dos ejes coordenados: • En uno de ellos, el eje vertical, se representa el estado de los actuadores del sistema utilizando valores binados (0 - 1). Se adopta valor 0 para indicar la posición de reposo del elemento (motor detenido, cilindro con vástago retraído, etc.) y valor 1 para identificar el estado del elemento actuado (motor en marcha, cilindro con su vástago extendido, etc.). Estas designaciones constituyen una práctica corriente; no obstante, su carácter es convencional. • En el otro eje, el eje horizontal, se indican las fases o pasos en que se subdivide el ciclo de trabajo. Estos pasos o fases están caracterizados por la modificación o cambio del estado de un elemento constitutivo del mando. Estos cambios se indican con líneas verticales auxiliares sobre el diagrama, que denominamos líneas de fase. Siempre debemos tratar que los principios de representación y los símbolos utilizados sean iguales en todos los casos, a efectos de lograr que la lectura y comprensión puedan realizarse sin dificultad e inequívocamente. Para esto, adoptamos las siguientes reglas y símbolos básicos:

Los actuadores (neumáticos o hidráulicos) se representan por líneas. Las líneas horizontales representan estados de reposo del elemento (fases 1 y 3 en el diagrama de la figura). Las líneas inclinadas significan movimientos (fases 2 y 4 de la figura). Las líneas con distinta inclinación evidencian distintas velocidades del movimiento; por ejemplo: aproximación rápida, trabajo lento y retomo rápido (fases 1, 2 y 3 en el diagrama de la figura).

El arranque y parada de motores se indica con una línea vertical desde el estado 0 al estado 1 y viceversa. Los motores con posibilidad de giro en dos sentidos se representan como en la figura. El nivel 1 superior indica, por ejemplo, rotación en sentido horario; en tanto el inferior, lo contrario. El 0 central indica reposo (motor detenido). Los motores con aceleración y deceleración prolongada pueden representarse como en la figura (caso de inversión del giro). Cuando en un mando existen varios elementos de trabajo, éstos son representados individualmente, uno debajo del otro, estableciendo su relación por medio de las líneas de fase.

Los elementos de señalización son aquellos que, al ser actuados, emiten una señal capaz de modificar el estado de algún componente del mando.

INET / Fluídica y controladores lógicos programables

69

INET / Fluídica y controladores lógicos programables

70

La vinculación entre los distintos elementos del mando son establecidas por las señales. Éstas se representan con líneas. Las líneas tienen un origen y un destino. Su origen es un elemento de señalización y su destino aquel cuyo estado debe ser cambiado (válvula o cilindro). Una flecha indica el sentido de la señal.

Consideremos un ejemplo de aplicación del diagrama espacio-fase:

Representemos en forma de diagrama espacio-fase la siguiente secuencia de máquina, expresada en forma literal abreviada con signos: A+, B+, A- C+, B-CSe exige un funcionamiento a ciclo simple. El inicio se producirá oprimiendo un comando bimanual y estará condicionado a la finalización del ciclo anterior.

INET / Fluídica y controladores lógicos programables

71

4.2. Diagrama espacio-tiempo: El diagrama espacio-tiempo constituye una variante del diagrama espacio-fase, en donde en el eje horizontal se indican los tiempos –en reemplazo de las fases o pasos utilizados en este último–. Cuando el tiempo de ejecución constituye una variable de consideración en el equipo, la “escala” de tiempos simplemente se superpone a la de fases. Valen para este diagrama las mismas reglas y símbolos gráficos ya mencionados. Su aplicación resulta adecuada en aquellos mandos programados en función del tiempo, en tanto que el espacio-fase lo es para los mandos por programa de recorridos y de evolución secuencial.

INET / Fluídica y controladores lógicos programables

72

4.3. Diagrama funcional Grafcet: Un diagrama funcional es una representación gráfica que permite describir las funciones operativas de un automatismo. El Grafcet es un diagrama funcional desarrollado en 1977 por la Asociación Francesa para la Cibernética Económica y Técnica, y constituye un paso importante para la unificación de la representación del conjunto de condiciones de un automatismo lógico. Tiene un nombre propio para distinguirlo de otros diagramas funcionales y formas de representación existentes –como son los diagramas de Girard, organigramas lógicos, diagramas DIN 40719, etc.–. ¿Cómo pasamos de la representación de un diagrama espacio-fase a programar un controlador lógico programable? Lo resolvemos usando la programación el Ladder, teniendo en cuenta lo siguiente:

El lenguaje Ladder, es un lenguaje de tipo condicional; es decir, posee una zona destinada a las condiciones y otra a las acciones:

Para resolver los diagramas espacio-fase, tenemos que tener en cuenta que en el diagrama Ladder aparece una zona nueva, la que corresponde a la cascada de memorias o flags.

Además, siempre aparecen las instrucciones propias de la cascada sumadas a las del programa:

INET / Fluídica y controladores lógicos programables

73

INET / Fluídica y controladores lógicos programables

74

Aclaremos cómo funciona este método de resolución gráfica: • En primer lugar, siempre colocamos una memoria o flag normalmente cerrada (NC), como indica la figura. • A continuación, colocamos las condiciones propias del programa. • En la zona de acciones colocamos las acciones que correspondan al programa, con sus correspondientes SET y RST de las salidas utilizadas. • Luego, procedemos a colocar las acciones correspondientes a la cascada como, por ejemplo, setear la memoria utilizada al comienzo y la memoria que habilita la segunda fase del programa. • Luego, en las fases sucesivas, colocamos, en primer lugar, la memoria que habilita la rama y, a continuación, las condiciones propias del programa. • Procedemos –de igual forma que en el paso anterior– a colocar las acciones del programa. • Luego, reseteamos la memoria que habilita esta rama y seteamos la que habilita a la siguiente. • Esto sigue de esta manera, hasta terminar con la totalidad de las fases, en las que colocamos la memoria que habilita la rama y, a continuación, las condiciones propias del programa. • Procedemos –de igual forma que el paso anterior –a colocar las acciones del programa y luego reseteamos la memoria que habilita esta rama y también reseteamos la primera memoria utilizada. • En muchas ocasiones es bueno que la última fase del programa produzca la puesta a cero de la totalidad de las salidas. Consideremos un ejemplo: Se desea realizar la automación de una máquina automática cuyos movimientos obedecen al siguiente espacio fase: Como entrada tenemos: IN 1: Emergencia IN 2: Marcha continua IN 3: Un Ciclo IN 4: Parada fin de ciclo IN 5: Cilindro atrás IN 6: Cilindro adelante Y, como salidas: Out 1: Alarma Out 2: A+ Out 3: A-

IN 6

1

2

3

4

IN 5

Marcha un Ciclo

IN 3

5=1

Solución:

Lista de instrucciones: LD MEM 50 OR IN 03 ANDN MEM 01 ANDN IN 06 AND IN 05 ANDN IN 01 =SET OUT 02 =RST OUT 03 Continúa en la página siguiente.

INET / Fluídica y controladores lógicos programables

75

INET / Fluídica y controladores lógicos programables

76

=SET MEM 01 =SET MEM 02 LD MEM 02 AND IN 06 ANDN IN 05 ANDN IN 01 =SET OUT 03 =RST OUT 02 =RST MEM 02 =SET MEM 03 LD MEM 03 ANDN IN 06 AND IN 05 ANDN IN 01 =SET OUT 02 =RST OUT 03 =RST MEM 03 =SET MEM 04 LD MEM 04 AND IN 06 ANDN IN 05 ANDN IN 01 =SET OUT 03 =RST OUT 02 =RST MEM 04 =SET MEM 05 LD MEM 05 ANDN IN 06 AND IN 05 ANDN IN 01 =RST OUT 02 =RST OUT 03 =RST MEM 05 =RST MEM 01 LD IN 02 =SET MEM 50 LD IN 04 =RST MEM 50 LD IN 01 AND MEM 26 = OUT 01 =RST OUT 02 =RST OUT 03 END

1

2

3

4

1

Al mismo ejemplo anterior le introducimos un timer entre la fase 2 y 3, quedando:

0

T = 5 seg.

Situaciones de borne ídem al anterior

5

6=1

IN 1: IN 2: IN 3: IN 4: IN 5: IN 6:

Emergencia Marcha continua Un ciclo Parada fin de ciclo Cilindro atrás Cilindro adelante

Y, como salidas: Out 1: Alarma Out 2: A+ Out 3: ADiagrama Ladder:

INET / Fluídica y controladores lógicos programables

77

INET / Fluídica y controladores lógicos programables

78

Lista de instrucciones: LD MEM 50 OR IN 03 ANDN MEM 01 ANDN IN 06 AND IN 05 ANDN IN 01 =SET OUT 02 =RST OUT 03 =SET MEM 01 =SET MEM 02 LD MEM 02 AND IN 06 ANDN IN 05 ANDN IN 01 =SET OUT 03 =RST OUT 02 =RST MEM 02 =SET MEM 03 LD MEM 03 ANDN IN 06 AND IN 05 ANDN IN 01 = TIM 01 =SET MEM 04 LD MEM 04 ANDN IN 06 AND IN 05 ANDN IN 01 =SET OUT 02 =RST OUT 03 =RST MEM 04 =RST MEM 03 =SET MEM 05 LD MEM 05 AND IN 06 ANDN IN 05 ANDN IN 01 =SET OUT 03 =RST OUT 02 =RST MEM 05 =SET MEM 06 LD MEM 06 ANDN IN 06 AND IN 05 ANDN IN 01 =RST OUT 02 =RST OUT 03 =RST MEM 06 =RST MEM 01 LD IN 02 =SET MEM 50 LD IN 04 Continúa en la página siguiente.

=RST MEM 50 LD IN 01 AND MEM 26 = OUT 01 =RST OUT 02 =RST OUT 03 END Ahora, vemos cómo resolvemos diagramas espacio-fase de dos elementos, como el siguiente: 1 2 3 4 5 6 7=1 1

Cilindro A

0

1

Cilindro B 0

IN 1: Emergencia IN 2: Marcha continua IN 3: Un Ciclo IN 4: Parada fin de ciclo IN 5: Cilindro A atrás IN 6: Cilindro A adelante IN 7: Cilindro B atrás IN 8: Cilindro B adelante

Diagrama Ladder:

Out 1: Alarma Out 2: A+ Out 3: AOut 4: B+ Out 5: B-

INET / Fluídica y controladores lógicos programables

79

INET / Fluídica y controladores lógicos programables

80

Lista de instrucciones: LD MEM 50 OR IN 03 ANDN MEM 01 ANDN CNT 01 ANDN IN 06 AND IN 05 ANDN IN 08 AND IN 07 ANDN IN 01 =SET OUT 02 =RST OUT 03 =SET MEM 01 =SET MEM 02 LD MEM 02 AND IN 06 ANDN IN 05 ANDN IN 08 AND IN 07 ANDN IN 01 Continúa a la página siguiente.

=SET OUT 03 =RST OUT 02 =RST MEM 02 =SET MEM 03 LD MEM 03 ANDN IN 06 AND IN 05 ANDN IN 08 AND IN 07 ANDN IN 01 =SET OUT 02 =RST OUT 03 =SET OUT 04 =RST OUT 05 =RST MEM 03 =SET MEM 04 LD MEM 04 AND IN 06 ANDN IN 05 AND IN 08 ANDN IN 07 ANDN IN 01 =RST MEM 04 =SET OUT 05 =RST OUT 04 =SET MEM 05 LD MEM 05 AND IN 06 ANDN IN 05 ANDN IN 08 AND IN 07 ANDN IN 01 =RST MEM 05 =SET OUT 04 =RST OUT 05 =SET MEM 06 LD MEM 06 AND IN 06 ANDN IN 05 AND IN 08 ANDN IN 07 ANDN IN 01 =SET OUT 03 =RST OUT 02 =SET OUT 05 =RST OUT 04 =RST MEM 06 =SET MEM 07 LD MEM 07 ANDN IN 06 AND IN 05 ANDN IN 08 Continúa a la página siguiente.

INET / Fluídica y controladores lógicos programables

81

INET / Fluídica y controladores lógicos programables

82

AND IN 07 ANDN IN 01 =RST OUT 02 =RST OUT 03 =RST OUT 04 =RST OUT 05 =RST MEM 07 =RST MEM 01 LD IN 02 = CSET 01 LD MEM 07 ANDN IN 06 AND IN 05 ANDN IN 08 AND IN 07 ANDN IN 01 = CNT 01 LD IN 02 =SET MEM 50 LD IN 04 =RST MEM 50 LD IN 01 AND MEM 26 = OUT 01 =RST OUT 02 =RST OUT 03 =RST OUT 04 =RST OUT 05 END En el siguiente ejemplo colocamos a trabajar juntos timer y contadores. El diagrama espacio-fase es, así, el siguiente: 1

2

3

4

5

1

0

T = 5 seg.

T = 5 seg.

Situaciones de borne ídem al anterior IN 1: Emergencia IN 2: Marcha continua IN 3: Un ciclo IN 4: Parada fin de ciclo IN 5: Cilindro A atrás IN 6: Cilindro A adelante

Out 1: Alarma Out 2: A+ Out 3: A-

6

7=1

Diagrama Ladder: INET / Fluídica y controladores lógicos programables

83

INET / Fluídica y controladores lógicos programables

84

Lista de instrucciones: LD MEM 50 OR IN 03 ANDN MEM 01 ANDN CNT 01 ANDN IN 06 AND IN 05 ANDN IN 01 = TIM 01 =SET MEM 01 =SET MEM 02 LD MEM 02 ANDN IN 06 AND IN 05 ANDN IN 01 =SET OUT 02 =RST OUT 03 =RST MEM 02 =RST MEM 01 =SET MEM 03 LD MEM 03 AND IN 06 ANDN IN 05 ANDN IN 01 =SET OUT 03 =RST OUT 02 =RST MEM 03 =SET MEM 04 LD MEM 04 ANDN IN 06 AND IN 05 ANDN IN 01 =SET OUT 02 =RST OUT 03 =RST MEM 04 =SET MEM 05 LD MEM 05 AND IN 06 ANDN IN 05 ANDN IN 01 = TIM 02 =SET MEM 06 LD MEM 06 AND IN 06 ANDN IN 05 AND TIM 02 ANDN IN 01 =SET OUT 03 =RST OUT 02 =RST MEM 05 =RST MEM 06 =SET MEM 07 Continúa a la página siguiente.

LD MEM 07 ANDN IN 06 AND IN 05 ANDN IN 01 =RST OUT 02 =RST OUT 03 =RST MEM 07 =RST MEM 01 LD IN 02 = CSET 01 LD MEM 07 ANDN IN 06 AND IN 05 ANDN IN 01 = CNT 01 LD IN 02 =SET MEM 50 LD IN 04 =RST MEM 50 LD IN 01 AND MEM 26 = OUT 01 =RST OUT 02 =RST OUT 03 END

Actividad 3 Integración de “Introducción a la programación” 1. Explique brevemente los distintos lenguajes de programación a través de un ejemplo, referido al PLC que está desarrollando. 2. ¿Cuáles son las consideraciones que debe tener al realizar la programación de tipo Ladder? Refiéralas al PLC que ha tomado como ejemplo. 3. Realice el diagrama espacio/fase de la máquina estampadora propuesta y efectúe la programación adecuada –tanto Ladder como lista–. Coloque los pulsadores de marcha continua, parada a fin de ciclo, parada de emergencia. Cuente la producción y realice un sistema minino de indicación de alarmas.

INET / Fluídica y controladores lógicos programables

85

OTROS LENGUAJES DE PROGRAMACIÓN Anexo 1 / Estructura del lenguaje STL

Además de los lenguajes Ladder y Lista de instrucciones, existen otros que, en menor o mayor grado, también son muy adecuados cuando trabajamos con equipos de origen alemán o francés: el lenguaje STL y el lenguaje GRAFCET. Nos ocupamos de ellos en estos dos documentos anexos que completan nuestro módulo.

1

INET / Fluídica y controladores lógicos programables

93

Jerarquía de los elementos STL Lenguaje STL –Statement List– Permite al programador resolver tareas de control usando expresiones sencillas en inglés, las que describen la

La naturaleza modular del lenguaje STL2 permite al programador resolver tareas complejas de una manera eficiente, sin requerir el conocimiento de la totalidad de estos elementos pero sí la forma en que esos elementos son combinados, ya que influye de modo importante en la operación del programa. Consideremos cómo está organizado este lenguaje:

operación deseada del con-

Jerarquía de los elementos STL:

trolador.

PROGRAM STEP SENTENCE CONDITIONAL PART EXECUTIVE PART Aunque el uso de la instrucción STEP –paso– es opcional, la mayoría de los programas requiere su uso. La instrucción step se utiliza para marcar el comienzo de un bloque lógico de código de programa. Cada programa STL puede contener hasta 255 steps discretos, pudiendo cada uno de estos step incluir una o más sentences – oraciones o enunciados–. Cada step puede tener asignada una etiqueta –label–, a voluntad del programador, la que puede ser requerida para referencia futura del step. Un label para un step sólo es requerido si el step respectivo es asignado como destino por una instrucción de salto –jump-. La sentence forma el nivel básico de la organización del programa. Cada sentence consiste en una parte condicional y una parte ejecutiva. La parte condicional sirve para enumerar una o más condiciones que deben evaluarse cuando el programa está corriendo y que pueden ser ciertas o falsas. La parte condicional siempre comienza con la expresión lf y continúa con uno o más enunciados que describen las condiciones a ser evaluadas. Si las condiciones programadas son evaluadas como true –verdaderas–, entonces cualquier instrucción programada en la parte ejecutiva es cumplida. El comienzo de la parte ejecutiva está marcado por la expresión THEN.

Sentencias típicas Consideremos sentencias típicas en STL sin el uso de la instrucción step: IF I1.0 THEN SETO1.2 IF N I2.0 THEN SET O2.3

Si input 1.0 está activa entonces conmutar a si output 1.2 Si input 2.0 no está activa entonces conmutar a si output 2.3

El lenguaje STL, como se describe aquí, se aplica a los controladores de Festo® Modelos FPC100 B/AF, FPC405, FEC, IPC y SF03. La información contenida en este documentos se corresponde con el lenguaje STL según la implemetación del FST Software Versión 3.X.

2

INET / Fluídica y controladores lógicos programables

95

INET / Fluídica y controladores lógicos programables

96

IF I6.0 Si input 6.0 está activa AND N I2.1 y la input 2.1 no está activa AND O3.1 y la output 3.1 está activa THEN RESET O2.1 entonces apagar output 2.1 RESET T6 y reset timer 6 En el ultimo ejemplo, se ha introducido el principio de condiciones compuestas. Es decir, todas las condiciones establecidas en la sentencia deben cumplirse (ser verdaderas) para que las acciones –posteriores a la expresión THEN– sean ejecutadas. Más ejemplos: IF I3.2 ORN T6 THEN INC CW1 SET T4

Si input 3.2 está activa o timer 6 no está corriendo entonces incrementar counter 1 y arrancar timer 4 con parámetros preexistentes

Este ejemplo muestra el uso de la estructura OR en la parte condicional de una sentencia. Por lo tanto, la sentencia es evaluada como verdadera (y se incrementará el contador 1 y se arrancará el timer 4), si alguna o ambas de las condiciones establecidas son ciertas. La próxima sentencia introduce el uso de paréntesis en la parte condicional, para establecer la forma en que las condiciones son evaluadas. IF (11.1 AND T4 ) OR (I1.3 AND I1.2 )

Si input 1.1 está activa y Timer 4 está corriendo O si input 1.3 está activa e input 1.2 está activa

Hemos usado la instrucción OR para combinar por medio del paréntesis dos condiciones compuestas. Hemos introducido estos ejemplos para mostrar el uso de sentencias en el Lenguaje Statement List. Es posible crear programas enteros que consistan sólo en múltiples sentencias sin usar la instrucción STEP. A los programas construidos de esta forma se los llama programas paralelos. Estos programas se comportan casi de la misma forma que los programas en el lenguaje Ladder Diagram. Esto es, sin usar la instrucción STEP. Para que estos programas puedan funcionar y ser procesados continuamente, es necesario agregar la instrucción PSE. Para quienes están familiarizados con el Lenguaje Ladder Diagram, puede decirse que hay gran similitud entre una sentencia STL y una rama en Ladder Diagram. Por ejemplo, una rama en Ladder Diagram para activar una salida (ponerla a ON) siempre que la entrada está activa y apagarla (OFF) cuando la entrada está inactiva, es:

Mientras que la sentencia equivalente en STL es: IF I1.0 THEN SET 02.6 PSE

Si input 1.0 está activa Entonces conmutar a si output 2.6 Fin de programa OTHRW RESET 02.6 De otra forma, apagar output 2.6 PSE Fin de programa En este ejemplo se ve la inclusión de la instrucción OTHRW; porque, el lenguaje STL requiere instrucciones explícitas para alterar el estado de cualquier operando (por ejemplo: output, timer, counter). La instrucción PSE, por su parte, se coloca al final de la sección del programa paralelo para forzar al programa a ejecutarse continuamente, retornando a la primera sentencia del step corriente o a la primera sentencia del programa, si no hubiera steps.

Instrucción STEP Los programas que no usan la instrucción STEP son procesados en forma paralela (barrido). Aunque este tipo de programa puede ser apto para resolver cierto tipo de tareas de control, el lenguaje STL provee la instrucción STEP. Esta instrucción permite que los programas sean divididos en secciones discretas –STEPS– que son ejecutadas independientemente. En su forma más simple, un STEP incluye al menos una sentencia y toma la siguiente forma: STEP (label) IF I1.0 THEN SET 02.4

Si la input 1.0 es activa entonces activar output 2.4 y proceder al próximo step

Es importante comprender que el programa espera en este STEP hasta que las condiciones sean ciertas; recién en ese momento las acciones son ejecutadas y entonces, sólo entonces, el programa sigue al próximo STEP. La etiqueta –label– del STEP sólo es requerida si un STEP es el destino de una instrucción de salto –jump–. Debe notarse que cuando el softvvare FST carga los programas STL en el PLC, asigna números relativos de STEP a cada uno de éstos. Estos números son reproducidos en los listados de programas, siendo de gran ayuda para monitorear la ejecución de programas online con propósito de búsqueda de fallas –debugging–. Los STEP de un programa pueden incluir múltiples sentencias: STEP IF I2.2 THEN SET 04.4 IF I1.6 THEN RESET 02.5 SET 03.3

Si input 2.2 es activa Conmutar y activa output 4.4 Si input 1.6 es activa Apagar output 2.5 y activar output 3.3

INET / Fluídica y controladores lógicos programables

97

INET / Fluídica y controladores lógicos programables

98

En el ejemplo previo, se ha introducido el concepto de múltiples sentencias dentro de un STEP único. Cuando el programa alcanza este STEP, procesa la primera sentencia (en este caso en particular, activando la salida 4.4 si la entrada 2.2 está activa) y, luego, se mueve a la segunda sentencia sin importar si las condiciones de la primera son verdaderas. Cuando la última (en este caso, la segunda) sentencia de un STEP es procesada: • Si la parte condicional es verdadera, entonces la parte ejecutiva es llevada a cabo y el programa procede al próximo step; • Si la parte condicional de la última sentencia es no verdadera, entonces el programa retorna a la primera sentencia del step actual.

Al desarrollar programas o steps que contengan múltiples sentencias, es importante comprender que éstas son procesadas en forma paralela (barrido): Cada vez que la parte condicional de una sentencia es evaluada como verdadera, las instrucciones programadas en la parte ejecutiva son ejecutadas. Esto debe ser considerado para evitar una ejecución múltiple descontrolada tal como SET TIMER (arrancar un timer) o INC/DEC counter (incrementar/decrementar un contador). El lenguaje STL no usa condiciones de “disparo por flancos”; las condiciones se evalúan por verdadero o falso, nb sin importar el estado previo. Esta situación es fácilmente manejada usando steps, flags u otro medio de control.

Las siguientes líneas pueden aplicarse como guía para determinar cómo los steps y las sentencias son procesados por el PLC:

Reglas de ejecución: • Si las condiciones de una sentencia se cumplen, entonces las acciones programadas son ejecutadas. • Si las condiciones de la última (o única) sentencia dentro de un step se cumplen, entonces las acciones programadas son ejecutadas y el programa procede al próximo step. • Si las condiciones de una sentencia no se cumplen, entonces el programa se mueve a la sentencia siguiente en el step actual. • Si las condiciones de la última (o única) sentencia dentro de un step no se cumplen, entonces el programa retorna a la primera sentencia del step actual.

La siguiente figura ilustra la estructura de proceso de un step STL; usando varias combinaciones de steps con una o varias sentencias, el lenguaje STL brinda un amplio rango de posibilidades para resolver las más complejas tareas:

INET / Fluídica y controladores lógicos programables

99

Modificando el flujo del programa Además de las estructuras de control inherentes en la instrucción STEP, hay varias instrucciones adicionales STL disponibles para modificar el criterio de ejecución de los steps y sentencias del programa. El lenguaje STL tiene las siguientes instrucciones que permiten resolver, en forma rápida y sencilla, tareas de control simples y complejas. SUMARIO DE INSTRUCCIONES STL INSTRUCCIÓN

PROPÓSITO

AND

Lleva a cabo una operación Y-lógica en un operando monobit o multibit, y en constantes.

BID

Convierte el contenido del acumulador monobit, de formato binario a BCD.

CFM n

Comienza la ejecución o inicialización de un módulo de función.

CMP n

Comienza la ejecución de un módulo de programa.

CPL

Produce el complemento a dos, del contenido del acumulador monobit.

DEC

Decrementa un acumulador / operando monobit.

DEB

Convierte el contenido del acumulador monobit de formato BCD a binario.

EXOR IF

Realiza una operación lógica EXOR en operandos monobit o multibit, y constantes. Este comando marca el comienzo de la parte condicional de una sentencia.

INC

Incrementa un operador/acumulador monobit.

INV

Produce el complemento a uno del contenido del acumulador monobit.

JMP TO (Step label)

Hace que el programa siga ejecutándose en el Step especificado por el label (etiqueta).

LOAD

Realiza la carga de operandos especificados (monobit o multibit) / constantes al acumulador monobit o multibit.

NOP

Es una instrucción especial que siempre es verdadera (siempre se cumple), en la parte condicional de una sentencia. En la parte ejecutiva, es equivalente a “no hacer nada”.

OR

Realiza la operación lógica OR en operandos monobit y monobit, y constantes.

OTHRW

Permite continuar la ejecución del programa, si la parte condicional de una sentencia es false.

PSE RESET ROL

–Program Section End– Fin de la sección del programa. Modifica operandos monobit a su estado lógico “0”. Rota a izquierda una posición todos los bits contenidos en el acumulador monobit. El bit más significativo se mueve a la posición del menos significativo.

INET / Fluídica y controladores lógicos programables

100

ROR

Rota a derecha una posición todos los bits contenidos en el acumulador monobit. El bit menos significativo se mueve a la posición del más significativo.

SET

Modifica operandos monobit a su estado lógico “1”.

SHIFT

Realiza la operación de transferencia –swap– entre un operando monobit y el acumulador monobit.

SHL

Desplaza una posición a izquierda a todos los bit contenidos en el acumulador monobit. El bit más significativo se pierde y el menos significativo se llena con un cero (0).

SHR

Desplaza una posición a derecha a todos los bit contenidos en el acumulador monobit. El bit menos significativo se pierde y el más significativo se llena con un cero (0).

SWAP TO

Intercambia los bytes alto y bajo del acumulador monobit. Se usa en conjunción con la instrucción LOAD, para especificar un operando de destino.

THEN

Marca el comienzo de la parte ejecutiva de una sentencia.

WITH

Instrucción usada para pasar parámetros con algunas instrucciones del tipo CFM/CMP. En algunos modelos de PLC, especifica velocidades de reloj.

Consideremos algunas de estas instrucciones: • Instrucción NOP: La instrucción NOP puede usarse en la parte condicional o en la ejecutiva de una sentencia. Si NOP es usada en la parte condicional, siempre es evaluada como verdadera. La instrucción NOP puede usarse para la ejecución incondicional de una sentencia. IF NOP THEN SET O1.0

esto siempre es verdadero entonces output 1.0 será siempre activada cuando el programa ejecute esta línea.

El uso típico puede verse en el ejemplo siguiente:

El programador desea que, cuando la ejecución del programa llegue al step 50, se verifiquen determinadas condiciones y, en caso de ser éstas verdaderas, se ejecuten las acciones apropiadas. Sin embargo, sin importar si alguna de las condiciones se cumplen, después de pasar exactamente una vez el programa, encenderá la output 3.6 y procederá al próximo step. Esto es porque hemos forzado la última sentencia a ser verdadera, mediante la instrucción NOP STEP 50 IF I1.0 THEN SET 02.2 IF N I3.5 AND I4.4 THEN RESET O1.2 IF T3 THEN SET F0.0 IF NOP

Si input 1.0 es activa Entonces activar output 2.2 Si input 3.5 no es activa e input 4.4 es activa entonces apagar output 1.2 Si timer 3 está corriendo entonces set flag 0.0 En cualquiera de los casos nos aseguramos que la ultima sentencia sea siempre verdadera.

La instrucción NOP puede usarse en la parte ejecutiva de una sentencia. Cuando se la usa de esta forma, un NOP es equivalente a “hacer nada”. Se usa a menudo cuando el programa debe esperar por ciertas condiciones y, luego, proceder al próximo step. IF I3.2 THEN NOP THEN SET 03.6

Si input 3.2 es activa no hacer nada e ir al próximo step encender output 3.6, salir de este step e ir al próximo step.

• Instrucción JMP TO: Otra instrucción STL que puede usarse para modificar el flujo de ejecución del programa es la instrucción JMP. La instrucción JMP permite al programa ramificarse. Modificando el ejemplo que consideramos hace un momento, es posible consultar las condiciones de cada sentencia y, si se cumplen, ejecutar la acción programada y luego saltar –jump– al step designado del programa. STEP 50 IF I1.0 THEN SET O2.2 JMP TO 70 IF N I3.5 AND I4.4 THEN RESET O1.2 JMPTO 6 IF T3 THEN SET F0.0 IF NOP THEN SET 03.6

Si input 1.0 es activa Encender output 2.2 Y saltar a step label 70 Si input 3.5 no es activa e input 4.4 es activa Apagar output 1.2 y saltar a step label 6 Si timer 3 está corriendo entonces set flag 0.0 Siempre verdadero, luego... Encender output 3.6 e ir al próximo paso.

Puede verse que no solamente hemos alterado el flujo del programa, sino que además hemos establecido prioridades entre las sentencias. Por ejemplo, las sentencias 2, 3 y 4 solamente tienen la posibilidad de ser procesadas: • si la sentencia 1 es falsa y, por lo tanto, no ejecutada; • si la sentencia 1 se ejecuta, el programa salta al step 70 sin haber procesado ninguna de las sentencias siguientes en el step 50.

• Instrucción OTHRW La instrucción OTHRW –otherwise; por otra parte, sino– puede cambiar el flujo del programa. Esta instrucción se ejecuta cuando la última cláusula IF encontrada es evaluada como no válida –not true–. IF I2.0 THEN SET 03.3 OTHRW SET 04.5

Si input 2.0 es activa encender output 3.3 sino encender output 4.5

INET / Fluídica y controladores lógicos programables

101

INET / Fluídica y controladores lógicos programables

102

Direccionando entradas y salidas –inputs y outputs– Vamos a detallar ahora cómo acceder a las entradas digitales –inputs– y a las salidas digitales –outputs–, usando el lenguaje STL. Inputs y outputs están conectados a la CPU (en donde los programas de control en STL son almacenados) por medio de las siguientes formas: • Sistema de field bus. • Redes. En unas páginas más nos ocuparemos de ellos. Los controladores lógicos programables de Festo® organizan las inputs y outputs (I/ O) como un word –grupo–. Dependiendo del modelo de controlador particular (o del módulo de I/O para sistemas modulares), cada grupo, usualmente, consiste en 8 o 16 inputs o outputs discretas. Estos grupos completos de words se referencian por su tipo, input u output, y por la dirección de la word (n). Este número de dirección es generalmente fijo en controladores pequeños y configurable (por medio de llaves) en sistemas modulares. • las word de entrada –input words–, a menudo, son identificadas con iwn; mientras que

• las word de salida –output words– son declaradas como own. Los ejemplos incluyen: IW1 IW7 OW0 OW2

Input Word 1 Input Word 7 Output Word 0 Output Word 2

Note que cada entrada y cada salida dentro de un sistema tiene un número de dirección único; no es posible para un sistema tener direcciones duplicadas de I/O. Sin embargo, es generalmente aceptable para un sistema incluir un input word con el mismo número de direcciones que el de un output word (por ejemplo, IW1 y OWI). Las entradas y salidas individuales que están en un grupo de I/O están identificadas de la siguiente forma: -

Si es entrada o salida (I u O) + el número de dirección de la word (n) + “.” Seguido por el número particular de posición de I / 0 (Sn).

Los números de la posición pueden estar entre -7 o 0-15, dependiendo del tamaño del grupo de I/O. Por ejemplo: I3.2 I0.15 02.7 O0.0

Posición input 2 de la input word 3 Posición 15 de la input word 0 Posición output 7 de la output word 2 Posición output 0 de la output word 0

1. Usando Inputs en programas: Las inputs son elementos del sistema de control que están diseñados para ser leídos o consultados. Están conectadas a dispositivos externos tales como sensores, llaves, etc., los que pueden o no suministrar una señal a una entrada individual. Ejecutando las instrucciones STL apropiadas dentro de la parte condicional de una sentencia, el controlador es capaz de determinar el estado corriente de una entrada discreta. IFI1.1 IF N I3.3

Verifica una señal válida en input 1.1 Verifica una señal falsa en input 3.3

Las entradas múltiples, así como otras condiciones, pueden combinarse lógicamente. Algunas veces, puede ser deseable o necesario verificar el estado de words de entrada –input words– completas. Para determinar el estado de una input word completa, es necesario leer el valor de la word entera y determinar si cumple el criterio deseado. Por ejemplo, para verificar si todas las 8 inputs de la input word 2 están recibiendo señales válidas, podríamos hacer un AND lógico a cada input:

INET / Fluídica y controladores lógicos programables

103

INET / Fluídica y controladores lógicos programables

104

IF

I2.0 I2.1 I2.2 I2.3 I2.4 I2.5 I2.6 I2.7

AND AND AND AND AND AND AND

Aquí verificamos si todas las 8 inputs de una input word de 8 bit están recibiendo señales válidas o usando la ventaja del lenguaje STL de evaluar words completas. La siguiente podría ser la secuencia del programa: IF (lw2 = V255)

solamente verifica si todas las 8 inputs están en ...11111111 (binario) = 255

Tareas más complejas, las que requerirían largos listados si se programaran bit a bit, son fácilmente llevadas a cabo usando input words combinadas con otras instrucciones lógicas. Para ver si una o más de las inputs 1.5, 1.6 1.7 son válidas, se hace de la siguiente forma: IF lw1 primero obtiene la word entera AND V224) = 111 00000 binario > V31 si el resultado es mayor que... Aquí tendremos Lo que es equivalente a: IF

I1.5 OR I1.6 OR I1.7

2. Usando outputs en programas: Las outputs de un controlador programable pueden usarse para controlar distintos tipos de dispositivos eléctricos, mediante instrucciones de programa, lo que activará (SET) o desactivará (RESET) las salidas requeridas (output). Mientras las inputs pueden sólo ser leídas (consultadas), las outputs pueden ser escritas (SET o RESET) y pueden también ser consultadas en la misma forma que las entradas. Por lo tanto, las referencias a las outputs pueden aparecer tanto en la parte condicional como en la parte ejecutiva de una sentencia STL. Ejecutando las instrucciones STL apropiadas en la parte ejecutiva de una sentencia, el controlador puede conmutar una output particular a SI o NO. • La instrucción SET se usa para conmutar a SI una output. • La instrucción RESET conmuta la output a No. IF THEN SET O1.2 RESET 03.3

cualesquiera condiciones necesarias activar output 1.2 apagar output 3.3

Setear una output que ya está SET o resetear una output que ya está RESET no tiene ningún efecto. Como se nota, las outputs pueden ser consultadas en la parte condicional. La siguiente instrucción verifica si la input 2.4 está recibiendo una señal válida y si la output 2.2 está activa en este momento: IF I2.4 AND 02.2 THEN ...

Input 2.4 activa Output 2.2 activa Acciones deseadas

Algunas veces puede ser deseable o necesario verificar o alterar el estado de output words enteras. De la misma forma, las entradas pueden ser manipuladas tomando como base grupos de word. Los mismos principios que hemos referido a las input se aplican a las outputs.

Por ejemplo, de la sentencia STL: THEN LOAD V0 TO OW2 resulta que en la totalidad de las outputs asociadas con la output word 2 sean apagadas.

A partir de aquí analizaremos cómo se trabaja con timers, contadores, registros y flags en el lenguaje STL. Organizaremos la exposición en cuatro títulos: • • • •

Usando timers Usando counters Usando registros Usando flags y flags words

Usando timers Cada timer implementado en el lenguaje STL consta de los elementos: Elemento / Operando

Referencia

Función

Bit de estado del timer

Tn

Permite a un programa consultar si el timer está activo (corriendo). El bit cambia a activo cuando se arranca (SET) y el período del timer está activo (corriendo). Al completarse el tiempo programado o si el timer es detenido (RESET), el bit de estado se vuelve inactivo.

Timer preselect (Preselección del temporizador)

Tpn

Es un operando de 16 bit que contiene el valor que define el período para el timer n.

Timer Word

Twn

Es un operando de 16 bit al que el operando TP –tiempo de preselección– es transferido automáticamente cuando el timer es arrancado (SET). Luego este valor es decrementado por el sistema a intervalos.

INET / Fluídica y controladores lógicos programables

105

INET / Fluídica y controladores lógicos programables

106

Se requiere de varios pasos para usar un timer en un programa STL: 1. Establecer una preselección de timer válida. 2. Establecer una instrucción para arrancar el timer. 3. Comprobar el estado del timer: activo / detenido.

Los modelos de controladores que incorporan baterías de resguardo de memoria –back-up batteries– mantienen los valores de preselección de los timers durante

1. Establecer una preselección de timer válida3:

los períodos en que el controlador está desconectado

Antes que pueda usarse cualquier timer, debe inicializarse el timer preselect con un valor correspondiente al período de tiempo deseado. Esta inicialización sólo es necesaria de ser llevada nuevamente a cabo si el valor preseleccionado de tiempo debe ser cambiado. No es necesario cargar nuevamente el timer preselect cada vez que el timer es arrancado. Esta inicialización necesita ser realizada con un valor (constante) o con cualquiera de los contenidos de un MBO –Monobit Operandos– (por ejemplo, registro, input word, flag word, etc.)

o apagado. Estos valores también son mantenidos en controladores que no tienen baterías de respaldo pero que tienen tecnologías más modernas como, por ejemplo, FLASHROM, o Zero Power RAM (Estos dispositivos son RAM mantenidos por baterías montadas en el

Por ejemplo, para la inicialización de la preselección de timer con la velocidad del reloj: STEP 1 Lf NOP LOAD V10 TO TP4 WITH SEC

¡Lo hacemos primero! Incondicionalmente Valor 10 A la preselección del timer 4, velocidad reloj = seconds ...timer 4. Será ahora un timer de 10 segundos

Las velocidades de reloj son: HSC TSC SEC MIN

cientos de segundos decenas de segundos segundos minutos

Por ejemplo, para la inicialización de la preselección de timer sin una velocidad de reloj: STEP 1 ¡Lo hacemos primero! IF NOP Incondicionalmente LOAD V100 valor 100... la velocidad del reloj estándar (sin especificar) será en incrementos de 1/100 de segundo TO TPO a la preselección del timer 0 = 1 seg. Se ha inicializado el Timer 0 para tener una duración de 1 segundo (100 x 1/100 segundo). El rango permitido es de 0 - 65535, lo que habilita a períodos del timer entre 0.01s y 655.35 s (aproximadamente, 10 minutos).

Dependiendo del modelo de controlador que se esté usando, podría o no requerirse la especificación del reloj, así como el valor del temporizador. Por favor, refiérase al manual del controlador que usted está usando.

3

mismo chip).

2. Establecer una instrucción para arrancar el timer: Arrancar –start– un timer requiere solamente emplear una instrucción SET especificando, además, cuál es el timer a ser puesto en marcha: Si una instrucción de SET de un timer se ejecuta y el timer especificado ya está funcionando (activo), será rearran-

IF THEN SET

I1.0 T6

Cualquier condición para comenzar Entonces arrancar timer 6

Siempre que la instrucción SET Tn se ejecute, ocurre lo siguiente:

cado y un nuevo período de tiempo comenzará.

• El valor almacenado en tpn –timer preselect n o preselección del timer n– se copia a la twn –timer word n–. • Tn –timer status n o estado del timer n– se activa poniéndose en ‘1’ (activo / corriendo). • El controlador automáticamente decrementa el valor almacenado en Twn a intervalos regulares. • Cuando el valor almacenado en twn alcanza 0 (cero), Tn –timer status– se convierte en ‘0’ (inactivo / detenido).

3. Comprobar el estado del timer: activo / detenido: Para que los timers puedan ser útiles en el control de procesos, es necesario saber cuándo el tiempo programado ha sido completado. El lenguaje STL permite verificar si el timer está activo, de la misma forma que se hace para verificar si una input está activa.

IF

IF N

T5 T3

Verifica si el timer 5 está activo (corriendo) Verifica si el timer 3 no está activo (detenido)

Detener un timer sólo requiere de una instrucción RESET, además de especificar cuál es el timer que debe detenerse: IF I2.0 THEN RESET T5

lnput para detener el timer Detener timer 5

• Si se ejecuta la instrucción RESET Tn, el bit de estado del timer (Tn) se vuelve 0 (inactivo). • Si el timer ya estaba inactivo, esto no tiene efecto. Vemos aquí la relación entre las instrucciones bit de estado del timer –timer status Bit; Tn–, el SET Tn, el RESET Tn y el período normal de tiempo:

INET / Fluídica y controladores lógicos programables

107

INET / Fluídica y controladores lógicos programables

108

La línea sólida representa una secuencia de temporizado normal en la cual el estado del timer se vuelve activo cuando la instrucción SET Tn se ejecuta; el estado retorna a inactivo cuando el período programado de tiempo se ha completado. La línea de puntos indica que con una instrucción RESET Tn inmediatamente retorna el estado del timer a inactivo. Es importante comprender que, al construir programas o steps que contengan múltiples sentencias que serán procesadas en una manera paralela (barrido), cada vez que la parte condicional de una sentencia evalúe ésta como verdadera, las instrucciones programadas en la parte ejecutiva serán evaluadas. Esto debe considerarse para evitar ejecuciones múltiples no controladas que incluyan Set timer o INS/DEC Counter Word, SHL, etc. El lenguaje STL no usa “disparo por flancos”; las condiciones son evaluadas por verdaderas cada vez que se procesan, sin importar su estado previo. Esta situación es fácilmente manejada usando steps, flags u otro medio de control. Los siguientes ejemplos muestran dos posibles formas en las cuales estos ejemplos son minimizados. Podemos evitar arranques indeseados usando la estructura Step STL. Veamos un ejemplo:

Se trata de una sección de programa en la que se desea poner en marcha un motor durante 3 segundos, cada vez que se presiona un botón, si el motor no está ya en marcha y han pasado a por lo menos 9 segundos de la última vez que el motor fue puesto en marcha. Se ha eliminado en este programa la posibilidad de continuos rearranques de los temporizadores, combinando la estructura step del STL con la instrucción N Timer. STEP 1 IF THEN

NOP LOAD V900 TO LOAD V300 TO SET

Inicializar al conectar energía 900. 0,1seg unidad de tiempo TP0 Timer 0 es 2 seg. tiempo de pausa 300 0,1 seg. unidad de tiempo TP2 Timer 2 es timer de motor T0 Correr pause timer

STEP 10 IF

N

THEN SET

STEP 20 IF THEN

T0 AND N AND N AND T2 SET

Timer 0 ha terminado T2 Timer 2 no está corriendo O1.0 Motor no está en marcha I1.2 Botón presionado Arrancar timer O1.0 Arrancar motor

N RESET SET JMP TO

T2 O1.0 T0 10

Tiempo del motor finalizado Detener el motor Arrancar timer de pausa Arrancar de nuevo

También es posible evitar continuos rearranques de timers, al procesar en paralelo. Para esto, es importante que el programador de STL entienda que el Bit de estado del timer (por ejemplo, T2) puede ser consultado usando las siguientes instrucciones: IF IF N

T2 T2

Esta consulta es verdadera si timer 2 está activo y temporizando Esta consulta es verdadera si timer 2 no está activo en este momento

Es vital comprender que ninguna de estas instrucciones da información de si el timer 2 ha sido arrancado y se ha completado su temporización. Por ello, al construir programas en STL con sentencias que serán procesadas múltiples veces, es importante tomar las medidas necesarias para evitar resultados inesperados.

El siguiente ejemplo muestra una sección de programa en la que un botón pulsador se usa para hacer que un cilindro extienda su vástago por un tiempo predeterminado –preset–. Manteniendo el botón pulsador presionando, o presionando y soltando el botón múltiples veces dentro del período de tiempo definido, no se altera el tiempo programado. STEP 1 THEN TO RESET LOAD TO

LOAD V0 OW0 F3.0 V100 TP0

Inicialización; sólo la primera vez Apagar todas las salidas Borrar flag 3.0 Inicializar timer Que el timer T0, sea de 1 segundo

STEP 2 IF AND N AND N THEN SET SET SET

I1.0 T0 F3.0 T0 O1.0 F3.0

Sección de barrido principal Botón 1 es presionado y el timer 0 no está corriendo Forma de detección de flanco Arrancar timer 0 Extender cilindro 1 Memorizar flanco positivo de pulsador

IF N T0 AND O1.0 THEN RESET O1.0 IF N T0

Timer 0 no activo y el cilindro está extendido luego retraer el cilindro Timer 0 no activo

INET / Fluídica y controladores lógicos programables

109

INET / Fluídica y controladores lógicos programables

110

AND AND N

F3.0 I1.0

y tuvimos previamente un flanco ascendente y el botón pulsador es liberado, se detecta el flanco descendente

THEN RESET F3.0 Estar preparados para el próximo flanco IF NOP Entonces continuar barriendo THEN JMP TO 2 El step actual.

Usando counters4 Consideremos algunas funciones básicas para el uso de contadores: Elemento / Operando

Referencia

Función

Counter Status Bit(Bit de estado delcontador)

Cn

Permite a un programa consultar si el counter es activo (no ha alcanzado su valor final). Este Bit se cambia a activo cuando el counter se arranca –set–. Cuando el número de cuentas programadas se alcanza o si es detenido –reset–, el bit de estado se vuelve inactivo.

Counter preselect

Cpn

Un operando de 16 Bit que contiene el valor deseado de la cuenta.

Counter Word

Cwn

Un operando de 16 Bit que contiene el número corriente de cuentas almacenadas mediante las instrucciones decrementar o incrementar. Al usar counters estándar y ejecutar la instrucción SET Cn, la counter word es automáticamente cero.

Vamos a dividir nuestra exposición en dos partes: • Contadores estándar • Contadores incrementales / decrementales • Contadores estándar: Un counter estándar es útil para el conteo de eventos determinados y para llevar a cabo, luego, una acción deseada, cuando se arribe a la cuenta predefinida. Para operar counters estándar es necesario: 1. Establecer una preselección de counter válida 2. Establecer una instrucción para arrancar el counter 3. Controlar el estado del counter: activado / detenido 1. Establecer una preselección de counter válida: Antes de que un counter estándar pueda usarse, el respectivo counter preselect debe ser inicializado con un valor correspondiente al número de eventos a ser contado. Esta inicialización sólo necesita ser realizada nuevamente si el valor para actividades de conteo subsecuentes requiere ser cargado. No es necesario cargar de nuevo al counter preselect cada vez que el contador es arrancado. No intentamos describir aquí la operación o la implementación de ningún contador de alta velocidad especial ni de aquellos manejados por interruptores, los que están disponibles en algunos modelos de controladores. el uso de counters con estas características especiales puede ser encontrado en el manual de hardware del controlador en cuestión.

4

Los modelos de controladores que incorporan baterías de respaldo, mantienen los valores de preselección del counter, bits de estado y words durante los períodos sin energía de red. Igualmente, con los nuevos, equipados con EEPROM o NVRAM.

El counter preselect puede ser cargado con valores absolutos o con el contenido de cualquier MBO (por ejemplo, Registro, lnput Word, Flag Word, etc.) Si inicializamos el counter preselect con un valor absoluto: IF THEN

I1.0 LOAD V100 TO

CP4

O cualquier condición deseada... Cargamos un valor absoluto de 100 como el número de eventos a contar Al counter Preselect 4.

Si inicializamos el counter preselect con un valor MBO: IF THEN TO

I1.0 LOAD IW1 CP5

O cualquier condición deseada lnput word 1 como el valor de entrada al counter preselect 5

Por medio de la instrucción DEB podemos usar llaves externas BCD para establecer la cuenta.

2. Establecer una instrucción para arrancar el counter: Arrancar un contador sólo requiere de una instrucción SET y especificar qué counter debe arrancarse: Si una instrucción SET de un counter es ejecutada y el

IF THEN SET

I1.2 C2

Condiciones deseadas Activar counter 2

counter especificado está ya activo, es rearrancado y la cuenta actual (en cwn) es puesta a cero (0).

Siempre que la instrucción Set Cn es ejecutada, ocurre: • La respectiva Counter Word (cwn) es cargada con un cero (0). • Cn (Counter Status n = estado del contador) se vuelve activo (1).

3. Comprobar el estado del counter: activado / detenido: Para utilizar contadores de forma útil, es necesario poder determinar cuándo la cuenta preseleccionada ha sido alcanzada. • Una vez que el counter ha sido activado –SET–, la cuenta actual es mantenida en la respectiva counter word, la que puede ser actualizada usando tanto la instrucción INC cwn como la DEC cwn. • Un counter puede ser detenido en cualquier momento con la instrucción RESET Cn. Cuando la instrucción RESET Cn es ejecutada, el bit de estado del counter –Counter Status Bit Cn– es 0 (cero). El contenido de la counter word permanece sin cambiar. Consideremos un ejemplo de uso de un counter estándar en conjunción con la estructura step para evitar incrementos múltiples descontrolados en los Steps 10 y 15:

INET / Fluídica y controladores lógicos programables

111

INET / Fluídica y controladores lógicos programables

112

Un botón pulsador se usa para comenzar un ciclo de máquina. El ciclo arranca una rampa y cuenta las botellas que pasan por un sensor. Una vez que 25 botellas hayan pasado el sensor, la rampa es detenida y un mecanismo posiciona corchos de cierre en cada botella. Finalmente, todos los corchos son presionados en las botellas 2 veces, durante un segundo cada uno.

En programas o steps que contienen múltiples sentencias que son procesadas en paralelo (modo barrido), cada vez que la parte con-

STEP 1 THEN

RESET RESET RESET RESET LOAD TO LOAD TO LOAD TO

STEP 5 IF THEN

STEP 10 IF THEN

Encendido C0 Contador de botellas C1 Contador de pulsadas O1.0 Apagar rampa O1.1 Apagar presión de corchos V25 cuántos para contar CP0 preselección counter 0 V2 cuántas pulsadas CP2 preselección counter 2 V100 100 x .01s = 1 segundo TP0 Timer 0 Preselect

SET SET

Esperar botón de marcha I1.0 Botón de marcha C0 Activar contador O1.0 Arrancar rampa

INC

Comenzar contando botellas I1.1 una botella fue sensada CW0 incrementar contador de botellas

STEP 15 IF N THEN RESET SET JMP TO OTHRW

¿25 botellas ya? C0 hemos hecho todo, entonces... O1.0 detener rampa C2 activar contador de pulsadas 50 salir lazo de conteo sino

IF

N

I1.1

THEN

JMP TO

10

STEP 50 THEN

STEP 60 IF THEN STEP 70 IF THEN OTHRW

Esperar por la última botella contada; que se mueva fuera del sensor Y seguir contando

SET SET INC

25 botellas fueron contadas O1.1 Presionar los corchos T2 Arrancar timer de presionado CW2 contar este presionado

N RESET

Timer espera 1 segundo T2 tiempo finalizado O1.1 detener el presionando

N JMP TO JMP TO

C2 5 50

¿Hecho? corchos presionados 2 veces volver a Step 5 presionar de nuevo

dicional de una sentencia es evaluada como verdadera, las instrucciones programadas en la parte ejecutiva son ejecutadas.

Esto debe ser considerado para evitar ejecuciones múltiples descontroladas de instrucciones que incluyan SET TIMER o INC / DEC Counter Word, SHL, etc.

El lenguaje STL no usa “disparo por flancos”: las condiciones son evaluadas por verdaderas cada vez que son procesadas, sin importar sus estados previos.

El próximo ejemplo es el de un contador estándar en una sección de programa tipo paralelo en la que la estructura del Step no es usada para evitar incrementos múltiples e incontrolados del counter. En cambio, se usa una solución alternativa mediante un Flag:

El programa espera por el botón de marcha y, entonces, cicla un cilindro entre las posiciones completamente extendida y completamente cerrada, 100 veces. Sin el uso del Flag, un programa de barrido incrementaría el counter en cada barrido –scan– del programa más que en cada vez que el cilindro fue nuevamente extendido. STEP 1 IF THEN LOAD TO OW1 RESET LOAD TO SET STEP 2 IF

AND AND AND N AND N THEN SET SET IF AND THEN INC RESET RESET IF N THEN JMP TO

I1.0 V0

Inicialización 1 vez solamente Botón de marcha apretado

F3.0 V100 CP0 C0

Todas las outputs apagadas Borrar flag 3.0 Inicializar timer Hacer un contador de ciclo de 100 Arrancar el counter

I1.1 C0 F3.0 O1.0 O1.0 F3.0 I1.2 F3.0 CWO F3.0 O1.0 C0 1

Sección principal de barrido Cilindro retraído y el Counter 0 está activo Para detectar flanco Válvula para extender cilindro apagada Comenzar a extender cilindro Perfecto para ver una nueva extensión Cilindro está extendido, Nuevo flanco Contar el ciclo Actualizar control de flancos Comenzar retraer cilindro 100 cuentas fueron hechas Comenzar todo de nuevo

• Contadores incrementales / decrementales: Además de usar los contadores estándar que ya describimos, el lenguaje STL, a través del uso de operandos multibit, crea counters comúnmente denominados como Up/Down –arriba/abajo, incrementales/decrementales– que se pueden armar con cualquier operando multibit tal como la counter word, registros, etc. A diferencia de los counters estándar, no hay necesidad de inicialización un counter preselect y no existe bit dedicado al estado del contador. Por ello, tampoco son aplicables las instrucciones SET RESET. Los steps siguientes son los requeridos para usar este tipo de contador: • Inicializar el apropiado MBO • El MBO pude ser lncrementado o decrementado • El MBO puede ser comparado a un valor o a otro MBO

INET / Fluídica y controladores lógicos programables

113

INET / Fluídica y controladores lógicos programables

114

Consideremos un ejemplo de uso de un registro como counter:

En el siguiente ejemplo un proceso es arrancado y corre hasta que 100 partes de buena calidad son producidas. STEP 10 IF THEN LOAD TO SET

Esperar por la señal de marcha I1.0 Botón de marcha V100 Número a producir R50 Registro 50 es el contador O1.1 Arrancar la máquina

STEP 20 IF

(I1-1 AND I2.3 ) THEN DEC R50 JMP TO 30 IF (I1.1 AND N I2.3 ) THEN

NOP

STEP 30 IF THEN RESET JMP TO OTHRW NOP

Ver si ya tenemos las 100 (R50 = V0) Trabajo terminado O1.1 Detener la máquina 10 Volver al comienzo O si no está hecho, seguir

STEP 40 IF N THEN JMP TO

Mirar por cualquier parte En él área de calidad Listo para verificar Calidad es buena 1 buena, 1 menos para hacer Continuar en Step 30 Listo para verificar Calidad bien sensor Perdidos = mal No cuenta las malas

I1.1 20

Esperar por la última parte Para mover Área de calidad limpia Seguir corriendo / verificando

Usando registros5 Los controladores programables de Festo® que pueden programarse usando el lenguaje STL poseen registros de 16 Bit, aún cuando la cantidad exacta de estos registros varía de acuerdo al modelo.

Si el modelo de controlador que usted está usando incluye batería de respaldo o algún sistema de memoria

Estos registros son operandos multibit y pueden usarse para almacenar números en el rango de: • 0 - 65535 enteros sin signo • +/- 32767 enteros con signo Se utilizan los registros en conjunción con la instrucción LOAD TO y operaciones lógicas multibit.

permanente, los contenidos de los registros serán mantenidos mientras no haya energía conectada al equipo. Los registros que no hayan sido inicializados contendrán valores aleatorios (en el sistema no existen rutinas de limpieza).

Aquí se explica el concepto de registro, como se ha implementado en los controladores programables de Festo®.

5

Los registros no son direccionables en una base bit por bit; si este tipo de acceso es necesario, los flag words son los aconsejados para la tarea. Los registros pueden usarse para simplificar el control múltiple de procesos secuenciales dentro de una única sección de programa barrida. Para usar registros en la parte condicional de una sentencia: IF

R51 = V111) T7 R3 R8)

AND AND < THEN...

Si el contenido del registro 51 Es igual a 111 Y el timer 7 está corriendo Y el registro 3 es menor que El registro 8 Hacer lo programado...

Para usar registros en la parte ejecutiva de una sentencia: IF THEN

LOAD + TO

R12 R50 R45

Condiciones programadas Load el contenido del registro 12 al MBA Sumar el contenido del registro 50 Y almacenar el resultado en registro 45

Usando flags y flag words Se describe a continuación la construcción lógica, y uso de flags y flag words para los controladores programables de Festo®.

Si el modelo del controlador

Las flag words son, de muchas formas, casi idénticas a los registros. Las flag words contienen, cada una, unidades de 16 bits de información. Dentro del lenguaje STL se usa la abreviatura FW.

que usted está usando incluye memoria del tipo FLASHRAM o ZPRAM, o en su defecto batería de respaldo, el contenido será mantenido durante los períodos de corte o interrupción de la alimentación de energía. Aquellos flags que nunca hayan sido inicializa-

Los flag words son capaces de almacenar datos numéricos dentro del rango: • 0 - 65535 enteros sin signo • +/- 32767 enteros con signo. Los flag words difieren de otros operandos multibit en varias formas importantes: La mayor diferencia entre flags y otros operandos multibit tales como registros, counter words, etc., es que cada 16 Bit Flag Word es también direccionable de a un bit (Por ejemplo, el FPC100 contiene 16 flag words, direccionadas como FWO a FWI 5).

dos contendrán valores aleatorios.

Es también posible direccionar bits individuales –flags– de cada flag word, mediante la siguiente sintaxis: F(número de Flag Word), número de BIT Donde el número de bit varía entre 0 y 15. (Por ejemplo, F7.14 hace referencia al bit 14 del flag 7) Este esquema de direccionamiento es muy similar al usado cuando se accede a puntos de entrada/salida (I/O) digitales, como ya hemos descripto.

INET / Fluídica y controladores lógicos programables

115

INET / Fluídica y controladores lógicos programables

116

Mientras que los flag words pueden usarse con cualesquiera instrucciones STL para operandos multibit, los flags individuales son sólo accesibles usando instrucciones STL diseñadas para operandos de bit. Los flags de bit único son, a menudo, usados como medio conveniente para memorizar eventos. En este aspecto son similares a “bobinas internas o relés” encontrados a menudo en el diagrama escalera (Ladder Diagram). El FPC405, que soporta múltiples módulos de CPU (multiprocesamiento), permite que cualquier programa en cualquiera de las CPU acceda a los flags de FWO a FW23 (FW externa) desde cualquiera otra CPU. Esto es, cada CPU es capaz de leer desde o escribir a los flags de cualquier otra CPU. Por lo tanto, los flags pueden dar un medio conveniente para implementar comunicaciones entre CPU. En sistemas con múltiples CPU, cada Word es direccionada como: CPU número, flag word número (Por ejemplo, FW2.14 se direcciona flag word 14 en CPU 2) De la misma manera, es posible direccionar flags monobit en otras CPU, extendiendo la sintaxis de la dirección: CPU número. F(número de flag word).Bit número (Por ejemplo, F0, 11.9 se refiere al flag bit 9 en la flag word 11 localizada en la CPU 0) Flags individuales (así como también flag words) pueden programarse tanto en la parte condicional como en la ejecutiva de una sentencia. En la parte condicional, los flags pueden ser interrogados por sus estados (0 = RESET, 1 = SET); mientras que los flags words pueden ser comparadas a valores u otros MBO’s –multibit operandos–. Consideremos el modo de programación en la parte condicional: IF IF AND N

F1.1 Si el Bit 1 de la flag word 1 es SET F2.1 Si el Bit 1 de la flag word 2 es SET F4.0 y el Bit 0 de la flag word 4 es No SET.

Igual que con los otros operandos monobit o multibit, los flags pueden combinarse con otros operandos: IF AND OR AND

(( = N

I3.0 Si input 3.0 es válida F0.0) y flag 0.0 es SET FW3 o el valor de todos los 16 bits del Flag Word 3 V500) son iguales a 500 T7) y el timer 7 no está activo

Ejemplos de la parte ejecutiva: IF THEN

I1.1 SET

IF

Si input 1.1 es válida entonces

F2.2 SET bit 2 del flag word 2 T6 Si T6 en la CPU local está corriendo

THEN SET OTHRW

F3.3 SET

Flag 3.3 de modo que otra CPU pueda verificar el estado de T6

RESET F3.3

En la parte ejecutiva de las sentencias, los flag words pueden usarse como la fuente o destino de cualquier instrucción multibit. Como los flags puedan direccionarse sobre la estructura de una word, así como desde el punto de vista de una estructura de bits, éstos resultan como un medio conveniente para construir registros de desplazamiento –shifl registers–-.

Supongamos que es necesario programar una línea de maquinado en la cual filas de moldes sean cargadas en la estación 0 y, a continuación, varias operaciones deban ser llevadas a cabo a lo largo de las siguientes 15 estaciones. La máquina completa cicla cada 2 segundos y durante ese tiempo una nueva fila de moldes puede o no ser cargada en la estación 1..., lo que puede verificarse por medio de un sensor. Las estaciones 1-15 no incluyen sensores, pero se requiere que la estación opere solamente cuando haya una parte en el lugar. Esto presenta una situación ideal para usar un registro de desplazamiento.

Usaremos flag word 6 para tener el seguimiento de cuáles son las estaciones que contienen materiales a ser maquinados. La instrucción SHL –Shifl Left–; desplazar a la izquierda– se usará para mover realmente los bits individuales dentro del flag word. Se usarán las siguientes I/O: Input 1.0 Input 1.1 Input 2.2 Output 2.0 Outputs 1.0 – 1.15

STEP 10 IF

Botón de marcha Sensor de partes en la estación 0 Se indexa línea transfer lndexa línea de maquinado Controla la operación de maquinado en las estaciones 0-15, respectivamente Arranque Botón de arranque

I1.0 THEN AND LOAD I2.2 V200 TPO V0 FW6

TO LOAD TO STEP 15 IF THEN IF

SET >

La línea es indexada 2 segundos a la preselección timer 0 Supone nueva producción corriendo No partes en ninguna estación

Esperar hasta que algunas partes estén listas I1.1 Parte fue encontrada en estación 0 F6.0 Memorizarlo (FW6 ¿Alguna parte para procesar? V0 ) ¡Algo existe!

INET / Fluídica y controladores lógicos programables

117

INET / Fluídica y controladores lógicos programables

118

THEN

STEP 20 IF THEN

STEP 25 IF THEN

STEP 30 IF THEN

LOAD TO SET

FW6 OW1 Arrancar motor en estaciones con partes T0 Arrancar timer proceso

N LOAD SET

¿Timer de maquinado hecho? T0 Tiempo terminado V0 Apagar todos los motores de la estación O2.0 Arrancar línea indexado

N LOAD SHL TO

Esperar hasta que el index arranque I2.2 Arrancado al index FW6 Obtener el estado todas estacionas Mover bits para adaptar partes FW6 Y almacenarlo

RESET JMP TO

¿Está completo el index? I2.2 Nuevo punto de index O2.0 Detener Index del motor 15 Volver al Step 15 por más

Funciones especiales del lenguaje STL Aquí vamos a suministrarle información básica concerniente a: • • • •

Entradas / salidas analógicas Redes Control de posicionamiento Field bus

Algunas de estas funciones pueden no aplicarse a todos los modelos de controladores y pueden manejarse de diferentes formas, dependiendo del modelo de controlador. • Entradas / salidas analógicas: Contrariamente a las entradas / salidas digitales (1 o 0), las señales analógicas toman la forma de una señal variable continuamente dentro de un rango predefinido. Ya que la CPU sólo es capaz de funcionar internamente usando señales digitales, conectar un PLC a entradas analógicas o salidas analógicas requiere componentes de hardware especial. Hay varios rangos o tipos de señales analógicas que son populares en el control industrial. Si excluimos señales analógicas especializadas del tipo relacionado al control de temperatura, los rangos comunes que quedan son: • +/- 10 volts • 0/4 a 20 miliamperes de corriente Para que las entradas y salidas analógicas sean útiles, el software de programación debe suministrar los medios de llevar a cabo las funciones deseadas. Las funciones analógicas básicas usadas en control industrial incluyen:

• Setear un nivel analógico de salida basado en un valor digital • Convertir una señal de entrada analógica en un valor digital Para efectuar estas funciones dentro del lenguaje de programación del PLC usado, en general, se integran procedimientos especializados CFM o FN6. • Redes:

Redes En el contexto de este mate-

Una red es típicamente empleada para conectar varios elementos de un sistema de procesamiento distribuido en el cual cada subsistema controla una específica sección, física o lógica, de la tarea total.

rial de capacitación y del lenguaje STL, se refiere al hardware y software que proporcionan los medios para interconectar sistemas de control que, de otra forma, serían unidades inde-

El uso de una red facilita a estas secciones combinarse de una manera ordenada. Sin importar el lenguaje de programación a ser usado, para implementar la red se requiere hardware especializado así como software de red. Dependiendo del modelo de controlador, el hardware especializado puede tomar la forma de un procesador de red o un módulo que contiene las rutinas especializadas de software que pueden ser direccionadas por el lenguaje STL.

pendientes.

Las funciones típicas que deben ser llevadas a cabo en una red incluyen: • Inicializar estaciones de red. • Requerir a otra estación ejecutar un comando. • Gerenciar transmisiones de red. La interfase entre el lenguaje STL y el software especializado de red es efectuada mediante la instrucción CFM. • Control de posicionamiento: Puede ser necesario controlar rápidamente y con precisión la posición de componentes mecánicos como partes de un sistema de control. Tales movimientos son llevados a cabo, generalmente, usando varios tipos de motores, dependiendo de los requerimientos de: • • • •

velocidad, precisión, efectividad del costo, confiabilidad.

Diversos tipos de motores están disponibles. Estas elecciones incluyen motores de pasos y servomotores, así como motores de múltiple velocidad, los que pueden incorporar componentes de frenado. Variaciones adicionales pueden o no incorporar control a lazo cerrado. Las más precisas (y costosas) soluciones tales como servomotores, incorporan microprocesadores dedicados; mientras que soluciones menos sofisticadas pueden confiar en la velocidad e inteligencia del controlador programable.

La información general sobre los CFM –Call Function Module– puede ser leida en los manuales técnicos de cada Controlador Lógico Programable, puesto que, de acuerdo con la marca y modelo de cada PLC, éstas trabajan de manera distinta.

6

INET / Fluídica y controladores lógicos programables

119

INET / Fluídica y controladores lógicos programables

120

A causa de la amplia variedad de subsistemas de posicionamiento que pueden conectarse, no hay instrucciones STL dedicadas para posicionar7. • Field Bus: El field bus está basado en el estándar eléctrico RS485, el cual define los parámetros de la estructura de un bus serie de alta velocidad. Debe hacerse una diferenciación entre los elementos que forman la estructura del bus interna del controlador y el sistema de field bus. Las I/O estándar están conectadas de forma muy cercana, tanto eléctrica como físicamente a la estructura de bus paralela interna del controlador. Mientras que esta estructura provee accesos de alta velocidad, su naturaleza pone límites al hardware en cuanto al número de I/O únicas direccionables posibles. El concepto de field bus utiliza el antes mencionado bus serie para unir una estación maestra –Master– y múltiples estaciones esclavas, a velocidades de transmisión hasta 375,000 bits por segundo. Ya que estas estaciones pueden localizarse en relativamente largas distancias (3001200 metros), éstas son a menudo genéricamente referidas como “I/O Remotas”. Las altas velocidades de transmisión, cuando se combinan con el ahorro en costos al usar un par de cables trenzados para la conexión del bus, hacen que el concepto de field bus se vuelva realmente atractivo. Inputs y outputs localizadas en las estaciones esclavas del field bus pueden ser interrogadas y controladas por la estación field bus master. El lenguaje STL permite acceder a estas I/O usando las mismas instrucciones SET y RESET que usan las I/O estándar ubicadas físicamente en el controlador Para acomodar la configuración extendida usando el field bus, la sintaxis de instrucciones I/O debe también ser extendida. Inputs y outputs son, por lo tanto, direccionadas de la siguiente forma: • Ipa[,m.s] para lnputs • Opa[.m.s] para Outputs Donde: P = Dirección de sistema del procesador master del field bus A = Dirección estación esclava de field bus [1... 99] M = Dirección de modulo opcional [0... 15] S = Número de terminal opcional [0...15]

7 Sin embargo, Festo® suministra programas especializados y módulos de programa que han sido optimizados y/o adaptados para control de posición.

Programas de ejemplo Aquí presentamos algunos ejemplos de problemas de control y soluciones usando el lenguaje STL. Los ejemplos planteados son generales, para que puedan resultar útiles al lector, sin importar que modelo de controlador en particular que vaya a usar. La mayoría de las tareas de control se divide en tres categorías: • Completamente secuencial • Mayormente secuencial con algunos eventos aleatorios • Completamente aleatorio Además, en muchas situaciones, se presenta la situación de tener que manejar varias secuencias de control simultáneamente. • Ejemplo 1. Completamente secuencial: Las tareas completamente secuenciales son especialmente aptas para el lenguaje STL a causa de la estructura implícita del step.

La tarea secuencial consiste en controlar 3 cilindros neumáticos por medio de 3 válvulas solenoide 3/2, en una secuencia definida. Cuando se aplica alimentación de energía al sistema y el botón de arranque es presionado, el cilindro A debe extenderse completamente por 3 segundos y luego retraerse. A continuación, el cilindro B debe extenderse completamente y retraerse cuatro veces; y, luego, extenderse completamente y permanecer extendido. Finalmente, el cilindro C debe extenderse completamente, en cuyo momento el cilindro A debe otra vez extenderse. Después, el cilindro A es otra vez extendido y todos los tres cilindros se retraen y esperan la presión del botón de arranque.

Se utilizan las siguientes conexiones: Input 1.0 Lnput 1.1 Lnput 1.2 Lnput 1.3 Lnput 1.4 Lnput 1.5 Lnput 1.6 Output 1.0 Output 1.1 Output 1.2

Botón de arranque Cilindro A retraído Cilindro A extendido Cilindro B retraído Cilindro B extendido Cilindro C retraído Cilindro C extendido Cilindro A extendido (solenoide) Cilindro B extendido (solenoide) Cilindro C extendido (solenoide)

INET / Fluídica y controladores lógicos programables

121

INET / Fluídica y controladores lógicos programables

122

Resolución: STEP 1 IF THEN TO

LOAD TO LOAD TO

Inicialización en el arranque Hacer siempre esto V0 Incondicionalmente apagar todas las OW1 Outputs V300 Preparar timer 0 para 3 segundos TP0 Unidades = 0.01 segundos V4 Preparar counter 2 CP2

AND AND AND SET

I1.0 I1.1 I1.3 I1.5 Ol.0

Asegurarse todas las posiciones ok Botón arranque presionado Cilindro A está retraído Cilindro B está retraído Cilindro C está retraído Comenzar extendiendo cilindro A

SET

I1.2 T0

Cilindro A, ¿completamente extendido? Ahora está totalmente extendido Arrancar timer 3 segundos

RESET

Esperar 3 segundos T0 Si timer completó tiempo O1.0 Comenzar retraer cilindro A

SET SET

Cilindro A, ¿completamente retraído? I1.1 Cilindro A está retraído C2 Set counter 2 - 4 cuentas O1.1 Comenzar extender cilindro B

NOP LOAD

STEP 5 IF

THEN STEP 10 IF THEN STEP 12 IF N THEN STEP 15 IF THEN

STEP 20 IF THEN

Cilindro B, ¿completamente extendido? I1.4 Ahora está completamente extendido INC CW2 Contar este ciclo RESET O1.1 Comenzar retraer cilindro B

STEP 22 IF THEN JMP IF AND THEN STEP 30 IF THEN STEP 35 IF THEN

N SET

¿Es ésta la 4° extensión ? I1.3 Cilindro B retraído y 4 C2 Carreras no terminado O1.1 Comenzar a extender cilindro B 20 Ciclos continuos I1.3 Cilindro B retraído y 4 C2 Carreras hechas O1.1 Comenzar a extender cilindro B

SET

Cilindro B, ¿completamente extendido? I1.4 Cilindro B completamente extendido 5 x O1.2 Comenzar extendiendo cilindro C

SET

Cilindro C, ¿completamente extendido? I1.6 Cilindro C completamente extendido O1.0 Comenzar extendiendo cilindro A

AND SET TO

STEP 40 IF THEN

I1.2 RESET O1.0 RESET O1.1 RESET O1.2 JMP TO 5

¿Todos cilindros extendidos? Cilindro A completamente extendido también Retraer Cilindro A Retraer Cilindro B Retraer Cilindro C Volver al Step 5

• Ejemplo 2. Mayormente secuencial con eventos aleatorios: Mientras que algunas máquinas simples pueden ser completamente secuenciales en la operación, existen una o más excepciones que cambian la clasificación de las tareas, de modo de no ser ésta totalmente secuencial. Si la mayoría de las tareas de control fuera secuencial y el modelo del controlador lógico permitiese multitarea, una solución posible es la de dividir la parte secuencial y los procesos de procesamiento aleatorio en programas separados. Sin embargo, es posible manejar esas situaciones con un único programa STL. Si el evento aleatorio o los eventos aleatorios a ser monitoreados son pocos y el balanceo de los programas es relativamente simple, entonces podrían manejarse los requerimientos adicionando una sentencia de programa en cada step8.

Vamos a insertar una sentencia de programa en cada step existente del programa presentado en el ejemplo 1, como medio de detectar y responder a un simple botón pulsador de “pausa”; el cual al ser presionado resulta en la suspensión de la ejecución del programa hasta que éste esté liberado nuevamente.

Resolución: STEP 1 IF THEN TO

STEP 5 IF AND AND AND AND THEN

LOAD TO LOAD TO

Inicialización en el arranque Hacer siempre esto V0 Incondicionalmente apagar todas las OW1 Outputs V300 Preparar timer 0 para 3 segundos TP0 Unidades = 0.01 segundos V4 Preparar Counter 2 CP2

N SET

Asegurarse todas las posiciones ok I1.0 Botón arranque presionado I1.1 Cilindro A está retraído I1.3 Cilindro B está retraído I1.5 Cilindro C está retraído Botón de pausa no activo Ol.0 Comenzar extendiendo cilindro A

NOP LOAD

I1.7

Otras posibles soluciones incluyen el uso de procesamiento por interrupciones (sólo soportada en algunos controladores) o construyendo la secuencia entera como una sección de programa en paralelo (barrido). Retomaremos esta resolución en el ejemplo 3.

8

INET / Fluídica y controladores lógicos programables

123

INET / Fluídica y controladores lógicos programables

124

STEP 10 IF THEN IF THEN STEP 12 IF THEN IF N THEN STEP 15 IF THEN IF THEN

STEP 20 IF THEN IF THEN RESET STEP 22 IF THEN IF AND THEN JMP IF AND THEN STEP 30 IF THEN IF THEN STEP 35 IF THEN IF THEN STEP 40 IF THEN IF

JMP TO SET

JMP TO

I1.7 10 I1.2 T0

I1.7 12 T0

Esperar 3 segundos Botón de pausa Si es así, quedarse acá Si timer completó tiempo Comenzar retraer cilindro A

I1.7 15 I1.1 C2

Cilindro A, ¿completamente retraído? Botón de pausa Si es así, quedarse acá Cilindro A está retraído Set counter 2 - 4 cuentas Comenzar extender cilindro B

I1.7 20 I1.4 CW2

Cilindro B, ¿completamente extendido? Botón de pausa Si es así, quedarse acá Ahora está completamente extendido Contar este ciclo Comenzar retraer cilindro B

RESET O1.0

JMP TO SET SET

O1.1

JMP TO INC O1.1

JMP TO C2 SET TO N SET

JMP TO SET

JMP TO SET

JMP TO

Cilindro A, ¿completamente extendido? Botón de pausa Si es así, quedarse acá Ahora completamente extendido Arrancar timer 3 segundos

¿Es ésta la 4° extensión ? Botón de pausa Si es así, quedarse acá Cilindro B retraído y 4 Carreras no terminado O1.1 Comenzar a extender cilindro B 20 Ciclos continuos I1.3 Cilindro B retraído y 4 C2 Carreras hechas O1.1 Comenzar a extender cilindro B

I1.7 22 I1.3

I1.7 30 I1.4 O1.2

Cilindro B, ¿completamente extendido? Botón de pausa Si es así, quedarse acá Cilindro B completamente extendido 5 x Comenzar extendiendo cilindro C

I1.7 35 I1.6 O1.0

Cilindro C, ¿completamente extendido? Botón de pausa Si es así, quedarse acá Cilindro C completamente extendido Comenzar extendiendo cilindro A

I1.7 40 I1.2

¿Todos cilindros extendidos? Botón de pausa Si es así, quedarse acá Cilindro A completamente extendido también

THEN

RESET RESET RESET JMP TO

O1.0 O1.1 O1.2 5

Retraer Cilindro A Retraer Cilindro B Retraer Cilindro C Volver al Step 5

En resumen, es posible manejar cantidades limitadas de condiciones en paralelo, dentro de lo que de otra forma sería un estricto proceso secuencial, usando la instrucción Step.

• Ejemplo 3. Eventos completamente aleatorios: Algunas situaciones de control no pueden organizarse en una secuencia lógica ya que las operaciones pueden surgir en un orden totalmente aleatorio.

Un ejemplo típico de una situación así podría ser el control de la programación de puesta a punto –setup– de una máquina cualquiera. La operación es definida por el operador de la máquina presionando distintos botones del tipo pulsador, cada uno de los cuales tiene asignada una función única.

El siguiente programa desarrolla el programa de Setup para una máquina de moldeo de inyección de plástico. Resolución: STEP 10 IF THEN TO STEP 20 IF THEN IF THEN OTHRW F AND N THEN IF THEN OTHRW IF THEN OTHRW IF THEN

NOP LOAD OW1

inicialización Siempre cierto V0 Apagar todas outputs

Step de barrido I1.0 Botón pulsador cierre molde SET O1.0 Cierre de molde I1,1 Botón pulsador inyecta plástico AND I2.0 Sensor molde cerrado SET OI.3 Solenoide inyección RESET OI.3 I1.2 Botón pulsador apertura molde OI.3 Inyección no activa RESET O1.0 Apertura molde I1.3 Mecanismo rota tornillo SET O1.1 Solenoide rota tornillo RESET O1.1 Mecanismo detención tornillo I1.4 Sensor molde completamente abierto AND I1.5 Botón pulsador eyector de molde SET O1.4 Solenoide eyector de molde RESET O1.4 Proceso de detención de eyección NOP Hacer siempre JMPTO 20 Seguir procesando

INET / Fluídica y controladores lógicos programables

125

OTROS LENGUAJES DE PROGRAMACIÓN Anexo 2 / Estructura del lenguaje GRAFCET

INET / Fluídica y controladores lógicos programables

127

GRAFCET –gráfico de mando etapa transición– Es un diagrama funcional

El empleo del lenguaje GRAFCET para resolver tareas de automatización facilita el diálogo entre personas con niveles de formación técnica diferente, tanto en el momento del análisis del proceso a automatizar como, posteriormente, en el mantenimiento y reparación de averías.

que describe la evolución del proceso que se pretende automatizar, indicando las acciones que hay que realizar sobre el proceso y qué informaciones las provocan; partiendo de él se

El GRAFCET surge en Francia a mediados de los años ’70, debido a la colaboración entre algunos fabricantes de autómatas, como Telemecanique y Aper con dos organismos oficiales, AFCET –Asociación Francesa para la Cibernética, Economía y Técnica– y ADEPA –Agencia Nacional para el Desarrollo de la Producción Automatizada–. Homologado en Francia –NFC–, Alemania –DIN– y, posteriormente, por la Comisión Electrotécnica Internacional (norma IEC 848, año 1988) y regulado por la Norma francesa (NF C03-190).

pueden obtener las secuencias que ha de realizar el autómata programable.

Actualmente es una herramienta imprescindible cuando se trata de automatizar procesos secuenciales de cierta complejidad con autómatas programables. A continuación se describen los símbolos normalizados utilizados en el GRAFCET en lo que hace a: • etapas y • condiciones de transición. • Etapas: Para representar la evolución de un proceso con GRAFCET, se considera que el proceso a automatizar y el autómata que se emplea como controlador forman un solo sistema. El nexo de unión entre las actuaciones que hay que hacer sobre el proceso (activar un motor, cerrar una válvula, etc.) y el programa de usuario, cargado en el autómata, que da origen a aquellas es la etapa. Por tanto, la representación gráfica de la evolución de un proceso con GRAFCET está formada por una serie de etapas, y cada una de ellas lleva asociada una o varias acciones a realizar sobre el proceso. Las etapas se representan con un cuadrado y un número, o una E con un número como subíndice; en ambos casos, el número indica el orden que ocupa la etapa dentro del GRAFCET. Para distinguir el comienzo del GRAFCET, la primera etapa se representa con un doble cuadrado.

Representación de etapas

Representación de etapas iniciales

INET / Fluídica y controladores lógicos programables

129

INET / Fluídica y controladores lógicos programables

130

Las acciones que llevan asociadas las etapas se representan con un rectángulo donde se indica el tipo de acción a realizar.

• Condiciones de transición: Un proceso secuencial se caracteriza porque una acción determinada se realiza en función del resultado de la acción anterior. En GRAFCET, el proceso se descompone en una serie de etapas que son activadas una tras otra. Por tanto, tiene que existir una condición que se ha de cumplir para pasar de una a otra etapa; se la llama condición de transición –CT–.

En la figura se representan dos etapas y una condición de transición entre ellas. Para que el proceso evolucione de la etapa 4 a la etapa 5, es necesario que la etapa 4 esté activa y, además, que se cumpla la activación de la condición CT; entonces, se produce la activación de la etapa 5. Sólo puede existir una etapa activa; por tanto, cuando se produce la activación de la etapa 5 se desactiva la etapa 4. La condición de transición está siempre asociada a la etapa posterior –en este caso, a la 5–. La condición de transición puede ser una o varias de las variables que intervienen en el proceso (por ejemplo, una señal de un final de carrera, la activación de un motor, un tiempo, etc.) Para la condición de transición se emplea lógica positiva y podemos tomar los dos valores CT=1 y CT=0; a continuación se indican algunos ejemplos.

• Condición activa: CT = F1. La activación de la etapa 5 se produce cuando el final de carrera F1 está activado. • Condición inactiva: CT = NF1. La activación de la etapa 5 se produce cuando el final de carrera F1 esta inactivo. • Condición por tiempo: CT = t/3/10 seg. La activación se produce cuando el temporizador activado en la etapa 3 alcanza los 10 segundos. • Condición de varias variables: CT = F1; NF2; F3. La activación se produce si los finales de carrera F1 y F3 están activos y F2 está inactivo. • Condición incondicional: CT = 1. La activación de la etapa 5 se produce al activarse la etapa 4. • Condición flanco descendente: CT = A1 ‘!. La activación se produce cuando la señal A1 pasa de 1 a 0. • Condición flanco ascendente: CT = A1 “!. La activación se produce cuando la señal A1 pasa de 0 a 1. Podemos resumir una serie de reglas básicas que hay que tener en cuenta para aplicar GRAFCET:

• El proceso se descompone en etapas, que son activadas de forma secuencial. • Una o varias acciones se asocian a cada etapa. Estas acciones sólo están activas cuando la etapa está activa. • Una etapa se hace activa cuando la precedente lo está y la condición de transición entre ambas etapas ha sido activada. • La activación de una condición de transición implica la activación de la etapa siguiente y la desactivación de la precedente. • La etapa inicial E0 tiene que ser activada antes de que se inicie el ciclo del GRAFCET. • Un ciclo está formado por todas las etapas posteriores a la etapa inicial.

Ecuaciones lógicas Una vez representado, el GRAFCET permite obtener las ecuaciones lógicas que controlan la activación de cada etapa y la evolución del ciclo. Una de las formas de obtener las ecuaciones se basa en el funcionamiento de un controlador asíncrono con biestables R-S. Suponiendo que el biestable E N-1 tiene su salida Q a “1”, la etapa E N-1 está activa. Si, posteriormente, la condición de transición de la etapa E N se activa, la etapa E N se activará y se desactivará la etapa E N-1. Para desactivar la etapa E N y activar la etapa E N +1, es necesario activar la condición de transición E N +1. Mientras las etapas están activas (Q = 1), las acciones que llevan asociadas también lo están.

INET / Fluídica y controladores lógicos programables

131

INET / Fluídica y controladores lógicos programables

132

Consideraremos, a continuación: • • • •

Instrucciones Set y RESET. Elección condicional entre varias secuencias. Secuencias simultáneas. Salto condicional a otra etapa.

• Instrucciones SET y RESET: Para utilizar este sistema en el GRAFCET, se asocia a cada una de las etapas una variable interna. La condición de transición, situada entre dos etapas, es la encargada de activar la etapa posterior y desactivar la anterior; para ello se utilizan las instrucciones SET y RESET del autómata. Las instrucciones SET y RESET se utilizan junto con las variables internas asociadas a cada una de las etapas del GRAFCET.

IN 1: Instrucción SET; IN 2: Instrucción RST

Cuando la entrada 1 del autómata se activa, la instrucción SET activará el relé interno R1 que permanecerá activado aunque se desactive la entrada 1; para desactivarlo será necesario emplear una instrucción RESET con otra entrada distinta; cuando se active la entrada 2, R1 se desactivará hasta que, de nuevo, se utilice la entrada 1 para activarlo. En GRAFCET este tipo de instrucciones se utiliza de forma tal que es la condición de transición la que al cumplirse activa la etapa posterior y desactiva la etapa anterior.

En la figura se representa un ciclo de GRAFCET, y las ecuaciones que permiten la activación y desactivación de la etapa En: • para activarla se realiza la función AND entre la etapa anterior y la condición de transición asociada a En; • para desactivarla se realiza la función AND entre la propia En y la condición de transición asociada a la etapa posterior Para que comience a ejecutarse el GRAFCET es necesario activar la etapa E0. Esto puede hacerse de varias formas: • Primera forma. En el ciclo actual del autómata, anulamos la ultima etapa activa; y, si todas las etapas están desactivadas, en el próximo ciclo se activa inicialmente E0.

• Segunda forma. Con la última condición de transición activamos E0 y desactivamos la última etapa activa.

• Tercera forma. Muchos autómatas tienen una serie de variables internas específicas; la más común es el impulso inicial al pasar a modo RUN; PI. Este impulso inicial, en la mayoría de tos autómatas, permanece activo durante el primer ciclo.

INET / Fluídica y controladores lógicos programables

133

INET / Fluídica y controladores lógicos programables

134

Cualquiera de las tres formas para activar la etapa E0 es válida. El empleo de una de ellas en concreto es función del proceso que se pretende automatizar y del autómata que se utilice. • Elección condicional entre varias secuencias: Suele ocurrir que, en un proceso, se llegue a un punto del ciclo en el que hay que efectuar una elección entre varias secuencias posibles, en función de las variables que intervienen en el proceso.

Las ecuaciones para el inicio de sentencia condicionales son:

INET / Fluídica y controladores lógicos programables

135

Partiendo de la etapa E4 activada, se puede realizar solamente una de las dos secuencias: • Si se cumple la transición A se activará la etapa E5. • Si se cumple la transición A negada, se activará la etapa E6. La transición condicional implica que sólo una de las etapas posteriores se activará. Por tanto, la condición de transición asociada a la etapa 4 tiene que ser opuesta a la condición de transición asociada a la etapa E5. La primera de las condiciones de transición que se cumpla, desactiva la etapa 3. El final de dos secuencias condicionadas se produce cuando una de las dos condiciones de transición asociadas a la etapa E16 se cumple. Por ejemplo, si la etapa E16 está activa y se cumple la condición de transición A se activará la etapa E16 y se desactivará la E7 o la E15. • Secuencias simultáneas: Puede darse el caso de que sea necesario el desarrollo de más de una secuencia a la vez, cuyas etapas no tengan ninguna interrelación. Para poder representar este funcionamiento simultáneo, se utiliza un par de trazos paralelos que indican el principio y el final de estas secuencias.

INET / Fluídica y controladores lógicos programables

136

La activación de las secuencias simultáneas es:

El comienzo de las dos secuencias simultáneas se produce cuando se cumple la condición de transición F. El final se produce cuando las dos etapas E7 y E8 están activas, y se cumple la condición de transición F5.

El final de las sentencias simultáneas:

• Salto condicional a otra etapa: El salto condicional a otra etapa permite pasar de una etapa a otra sin activar las etapas intermedias. El salto condicional se puede hacer tanto en el sentido de evolución del GRAFCET como en el sentido inverso. El sentido del salto viene indicado por las flechas:

INET / Fluídica y controladores lógicos programables

137

INET / Fluídica y controladores lógicos programables

138

Acciones asociadas a las etapas Una vez que la etapa está activa, las acciones asociadas pueden activarse con las correspondiente ecuaciones. Hay varias posibilidades: Para que la acción se active

-

-

-

Acciones activas. Mientras está activa la etapa activa, la bomba está activa mientras E9 está activa. Acciones condicionadas por una variable. El motor 2 se activará si E9 está activa y han transcurrido 5 seg. desde que se activó el temporizador T0 en la etapa E0. Acciones activadas en una etapa y desactivadas en otra posterior. El motor 2 se activa al activarse E4, y permanece activo hasta que se active la etapa E9, que lo desactiva. Etapas que no llevan asociada ninguna acción.

Por lo general, la etapa E0 no lleva asociada ninguna acción; sólo se emplea para iniciar el ciclo una vez que ha sido activada. Cuando se realizan dos secuencias simultáneas, es posible que el tiempo que cada una de estas secuencias tarda en realizarse sea distinto, en función del número de tareas asociadas a las etapas, en función de cuándo se activen las condiciones de transición, etc. Para terminar dos secuencias simultáneas es necesario que las etapas últimas de cada una de ellas estén activas; una o las dos pueden ser etapas de espera para que la secuencia más rápida aguarde el final de la secuencia más lenta.

es necesario que la condición y la etapa estén activas conjuntamente.

La conclusión para activar la etapa de espera es la terminación de todas las acciones asociadas a la etapa anterior a ella.

Programas del usuario Primeramente, analizamos los datos que nos proporcionan las especificaciones iniciales del proceso: qué secuencias se han de realizar, en qué orden se activan, qué variables intervienen, cuáles son las condiciones de seguridad, etc. Partiendo de estos datos, descomponemos el programa de usuario en tres apartados. 1. Las condiciones iniciales. En este apartado se incluyen todas aquellas acciones que el sistema de control ha de activar con prioridad en cualquier momento de la evolución del proceso y que no son secuenciales –como, por ejemplo, las condiciones de emergencia (alarmas de fallos, relés térmicos, etc.)–. Con las variables utilizadas en este apartado se implementan las ecuaciones necesarias para obtener, en caso de funcionamiento correcto, la señal que active la primera etapa del GRAFCET. En algunos casos, el apartado “condiciones iniciales” no existe o está formado por una sola variable, dependiendo del grado de seguridad que se quiera tener sobre el funcionamiento del proceso. 2. GRAFCET. En este apartado se representan las secuencias que ha de realizar el proceso y las ecuaciones necesarias para activar las etapas en función de las condiciones de transición. Las condiciones de transición están formadas por las señales proporcionadas por los sensores a las entradas del autómata y por las variables internas asociadas a otras etapas anteriores. 3. La asignación de variables de etapa del GRAFCET a las salidas del PLC. Las acciones que han de realizar las etapas del GRAFCET sobre el proceso a controlar se asignan a las salidas del autómata, de forma que pueda existir una conexión física entre el sistema de control y el proceso a controlar. Comprobados y depurados los tres apartados, el paso siguiente es el de realizar la asignación de las variables que intervienen en el proceso a las entradas, salidas y variables internas del autómata concreto que se va a utilizar. Empleando uno de los lenguajes de programación disponibles, esquema de contactos o lista de instrucciones, introducimos las ecuaciones que hemos obtenido en los tres apartados. Cuando se transfiera el programa al autómata y se active el modo RUN, el ciclo que realiza constantemente es:

INET / Fluídica y controladores lógicos programables

139

INET / Fluídica y controladores lógicos programables

140

Lectura de variables

Condiciones iniciales

GRAFCET

Programa del usuario

Asignación de etapas de GRAFCET a las salidas

Actualización de variables

Consideremos algunos ejemplos:

Vamos a representar la secuencia de operación de una prensa destinada a la fabricación de piezas a partir de polvos metálicos.

INET / Fluídica y controladores lógicos programables

141

• La colocación del material está asegurada manualmente por el operador. Un indicador luminoso V está encendido durante todo el curso de la colocación. Terminada aquélla, el operador autoriza la continuación de las operaciones, presionando dos pulsadores simultáneamente. • Los movimientos del punzón superior y de la matriz son efectuados por cilindros hidráulicos de doble efecto. Las posiciones alta y baja del punzón y de la matriz son controladas con la ayuda de captadores de fin de carrera (respectivamente a0 y a1, b1 y b0) de naturaleza eléctrica.

INET / Fluídica y controladores lógicos programables

142

• La evacuación de la pieza es obtenida por medio de un chorro de aire, con una duración de un segundo. Este chorro de aire está comandado por una electroválvula E.

• Ejercicio 1: Se desea realizar la siguiente secuencia: C+, B+, D+, B-, C-, D-, avanzando paso a paso cada vez que se oprime el pulsador PM.

Entradas: PM= I 300 FC3= (b0) FC4= (b1) FC5= (co) FC6= (c1) FC7= (do) FC8= (d1)

I I I I I I

Salidas: EVB = EVC = EVD =

O0 O1 O 100

100 101 102 200 201 0

Solución: Tipo de PLC Tiempo de Scan Base de tiempo TMR 00 a 15 Base de tiempo TMR 16 a 31

00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20

PRX 20 30000 µs 0,1 seg. 0,1 seg.

INI

Inicialización

LD INI

H 0707 WG00

Gracet 00

LD INI

H 0707 Z02

Entradas

LD INI

H 0707 Z03

Salidas

TRANS

Transiciones

I 0102 I 0100 I 0201 I 0300 UO000

c0 = Vástago retraído cil. C b0 = Vástago retraído cil. B d0 = Vástago retraído cil. D PM = Pulsador de marcha

LD AND AND AND STR

21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74

LD AND STR

I 0200 I 0300 UO001

c1 = Vástago afuera cil. C PM = Pulsador de marcha

LD AND STR

I 0200 I 0300 UO002

b1 = Vástago afuera cil. B PM = Pulsador de marcha

LD AND STR

I 0000 I 0300 UO003

d1 = Vástago afuera cil. D PM = Pulsador de marcha

LD AND STR

I 0100 I 0300 UO004

b0 = Vástago retraído cil. B PM = Pulsador de marcha

LD AND STR

I 0102 I 0300 UO005

c0 = Vástago retraído cil. C PM = Pulsador de marcha

GRAFCET IST TR STP TR STP TR STP TR STP TR STP TR STP TR JP

G0000 U0000 G0001 U0001 G0002 U0002 G0003 U0003 G0004 U0004 G0005 U0005 G0006 I 0000 G0000

c0 b0 d0 PM C+ PM c1 B+ PM b1 D+ PM d1 BPM b0 CPM c0 Dd0

SALIDAS LD LD LD LD STR

G0001 G0002 G0003 G0004 O0000

C+

LD LD STR

G0003 G0004 O0000

B+

LD LD

G0003 G0004

INET / Fluídica y controladores lógicos programables

143

INET / Fluídica y controladores lógicos programables

144

75 76 77 78

LD STR

G0005 O0100

D+

END

• Ejercicio 2: A partir del planteo del ejercicio 1, introducimos la variante de elección del tipo de ciclo mediante la llave 0-1-2, donde: • 0 = avance paso a paso, • 1 = ciclo simple y • 2 = ciclo automático. El pulsador de parada PP permite detener la secuencia, reanudándose ésta al oprimirse otra vez el pulsador de marcha PM. Entradas adicionales: LLO = (paso a paso) No conectada LL1 = (ciclo simple) I 202 LL2 = (ciclo automático) I 700 PP = I 301 Solución: Tipo de PLC Tiempo de Scan Base de tiempo TMR 00 a 15 Base de tiempo TMR 16 a 31 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23

PRX 20 30000 µs 0,1 seg. 0,1 seg.

INI

Inicialización

LD INI

H 0707 WG00

Gracet 00

LD INI

H 0707 Z02

Entradas

LD INI

H 0707 Z03

Salidas

TRANS

Transiciones

LD AND AND INT OR STR

I 0102 I 0100 I 0201 I 0300 U1000 UO000

c0 = Vástago retraído cil. C b0 = Vástago retraído cil. B d0 = Vástago retraído cil. D PM = Pulsador de marcha

LD INT OR STR

I 0200 I 0300 U1000 UO001

c1 = Vástago afuera cil. C PM = Pulsador de marcha

24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76

LD AND STR

I 0200 I 0300 UO002

b1 = Vástago afuera cil. B PM = Pulsador de marcha

LD INT OR STR

I 0101 I 0300 U1000 UO003

d1 = Vástago afuera cil. D PM = Pulsador de marcha

LD INT OR STR

I 0000 I 0300 U1000 UO004

b0 = Vástago retraído cil. B PM = Pulsador de marcha

LD INT OR STR

I 0002 I 0300 U1000 UO005

c0 = Vástago retraído cil. C PM = Pulsador de marcha

LD INT OR STR

I 0300 I 0202 I 0700 U1000

PM = Pulsador de marcha LL1 = ciclo simple LL2 = automático

LD AND AND LD LD AND PUT

I 0300 I 0202 I 0700 I 0301 I 0302 I 0300 U1000

PP = Pulsador de parada No = LL1 No = LL2

GRAFCET IST TR STP TR STP TR STP TR STP TR STP TR STP

G0000 U0000 G0001 U0001 G0002 U0002 G0003 U0003 G0004 U0004 G0005 U0005 G0006

c0 b0 d0 (PM + U1000) C+ (PM + LL1 +LL2) c1 B+ (PM + LL1 +LL2) b1 D+ (PM + LL1 +LL2) d1 B(PM + LL1 +LL2) b0 C(PM + LL1 +LL2) c0 D-

INET / Fluídica y controladores lógicos programables

145

INET / Fluídica y controladores lógicos programables

146

77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99

TR JP

I 0201 G0000

d0

SALIDAS LD LD LD LD STR

G0001 G0002 G0003 G0004 O0001

C+

LD LD STR

G0002 G0003 O0000

B+

LD LD LD STR

G0003 G0004 G0005 O0100

D+

END

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF