Está en la página 1de 140

Controladores lgicos programables PLC

serie/desarrollo de contenidos coleccin/fludica y controladores lgicos programables

INET / Fludica y controladores lgicos programables

Autoridades

Presidente de la Nacin Nstor C. Kirchner Ministro de Educacin, Ciencia y Tecnologa Daniel Filmus Directora Ejecutiva del Instituto Nacional de Educacin Tecnolgica Mara Rosa Almandoz Director Nacional del Centro Nacional de Educacin Tecnolgica Juan Manuel Kirschenbaum

Especialista en contenidos Norberto Molinari

Todos los derechos reservados. Ley 11.723 Ministerio de Educacin, Ciencia y Tecnologa Instituto Nacional de Educacin Tecnolgica Saavedra 789. C1229ACE Ciudad Autnoma de Buenos Aires Repblica Argentina

serie/desarrollo de contenidos

Colecciones Autotrnica Comunicacin de seales y datos Diseo grfico industrial Electrnica y sistemas de control Fludica y controladores lgicos programables 1. Tecnologa neumtica 2. Controladores lgicos programables PLC Gestin de la calidad Gestin de las organizaciones Informtica Invernadero computarizado Laboratorio interactivo de idiomas Procesos de produccin integrada Proyecto tecnolgico Unidades de cultura tecnolgica

INET / Fludica y controladores lgicos programables

ndice

El Centro Nacional de Educacin Tecnolgica De qu se ocupa Controladores lgicos programables PLC? 1. Controladores lgicos programables Qu es y para qu sirve un PLC? Antecedentes histricos Campo de aplicacin Ventajas e inconvenientes de los PLC Estructura de los PLC Cmo funciona internamente un PLC, y toma las distintas decisiones y acciones 2. Manejo, instalacin y conexionado 1. Puesta en marcha 2. Programacin 3. Conexionado de entradas y salidas 4. Instalacin, puesta a punto y mantenimiento 3. Introduccin a la programacin Instrucciones y programas Ejecucin de programas Lenguajes de programacin tpicos Asignaciones de programas Consideraciones previas sobre la programacin Ladder Usando memorias Usando timers Usando contadores Formas de representacin de las fases operativas de la mquina Anexo 1. Otros lenguajes de programacin: Estructura de lenguaje STL Anexo 2. Otros lenguajes de programacin: Estructura del lenguaje Grafcet

7 9

13 13 15 16 17 22

27 28 28 36

43 46 48 49 50 58 61 64 66 93 128

INET / Fludica y controladores lgicos programables

INET / Fludica y controladores lgicos programables

El Centro Nacional de Educacin Tecnolgica


Generar valor con equidad en la sociedad del conocimiento.

La misin del Centro Nacional de Educacin Tecnolgica CeNET comprende el diseo, el desarrollo y la implementacin de proyectos innovadores en el rea de la educacin tecnolgica y de la educacin tcnico profesional, que vinculan la formacin con el mundo del trabajo. Acorde con esta misin, el CeNET tiene como propsitos los de: Constituirse en referente nacional del Sistema de Educacin Tecnolgica, sobre la base de la excelencia de sus prestaciones y de su gestin. Ser un mbito de capacitacin, adopcin, adaptacin y desarrollo de metodologa para la generacin de capacidades estratgicas en el campo de la Educacin Tecnolgica. Coordinar, mediante una red, un Sistema de Educacin Tecnolgica. Favorecer el desarrollo de las pequeas y medianas empresas, a travs del sistema educativo. Capacitar en el uso de tecnologas a docentes, jvenes, adultos, personas de la tercera edad, profesionales, tcnicos y estudiantes. Brindar asistencia tcnica. Articular recursos asociativos, integrando los actores sociales interesados en el desarrollo del Sistema de Educacin Tecnolgica. Desde el CeNET venimos trabajando, as, en distintas lneas de accin que convergen en el objetivo de reunir a profesores, a especialistas en Tecnologa y a representantes de la industria y de la empresa, en acciones compartidas que permitan que la Educacin Tecnolgica se desarrolle en la escuela de un modo sistemtico, enriquecedor, profundo... autnticamente formativo, tanto para los alumnos como para los docentes. Una de nuestras lneas de accin es la de disear, implementar y difundir trayectos de capacitacin y de actualizacin. En CeNET contamos con quince unidades de gestin de aprendizaje en las que se desarrollan cursos, talleres, pasantas, encuentros, destinados a cada educador y a cada miembro de la comunidad que desee integrarse en ellos: Autotrnica. Centro multimedial de recursos educativos. Comunicacin de seales y datos. Cultura tecnolgica. Diseo grfico industrial. Electrnica y sistemas de control. Fludica y controladores lgicos programables. Gestin de la calidad. Gestin de las organizaciones. Informtica. Invernadero computarizado. Laboratorio interactivo de idiomas. Procesos de produccin integrada. CIM. Proyecto tecnolgico. Simulacin por computadora.

INET / Fludica y controladores lgicos programables

INET / Fludica y controladores lgicos programables

Otra de nuestras lneas de trabajo asume la responsabilidad de generar y participar en redes que integren al Centro con organismos e instituciones educativos ocupados en la Educacin Tecnolgica, y con organismos, instituciones y empresas dedicados a la tecnologa en general. Entre estas redes, se encuentra la que conecta a CeNET con los Centros Regionales de Educacin Tecnolgica CeRET y con las Unidades de Cultura Tecnolgica instalados en todo el pas. Tambin nos ocupa la tarea de producir materiales didcticos. Desde CeNET hemos desarrollado cinco series de publicaciones: Educacin Tecnolgica, que abarca materiales (uni y multimedia) que buscan posibilitar al destinatario una definicin curricular del rea de la Tecnologa en el mbito escolar y que incluye marcos tericos generales, de referencia, acerca del rea en su conjunto y de sus contenidos, enfoques, procedimientos y estrategias didcticas ms generales. Desarrollo de contenidos, nuestra segunda serie de publicaciones, que nuclea fascculos de capacitacin que pueden permitir una profundizacin en los campos de problemas y de contenidos de las distintas reas del conocimiento tecnolgico (los quince mbitos que puntualizbamos y otros que se les vayan sumando) y que recopila, tambin, experiencias de capacitacin docente desarrolladas en cada una de estas reas. Educacin con tecnologas, que propicia el uso de las nuevas tecnologas de la informacin y de la comunicacin como recursos didcticos, en las clases de todas las reas y espacios curriculares. Educadores en tecnologa, que focaliza el anlisis y las propuestas en uno de los constituyentes del proceso didctico: el profesional que ensela Tecnologa, ahondando en los rasdos de formacin, de sus prcticas, de sus procesos de capacitacin, de su vinculacin con los lineamientos curriculares y con las polticas educativas, de interactividad con sus alumnos, y con sus propios saberes y modos de hacer. Documentos de la escuela tcnica, que difunde los marcos normativos y curriculares que desde el CONET Consejo Nacional de Educacin Tcnica delinearon la educacin tcnica de nuestro pas. A partir de estas lneas de trabajo, el CeNET intenta constituirse en un mbito en el que las escuelas, los docentes, los representantes de los sistemas tcnico y cientfico, y las empresas puedan desarrollar proyectos innovadores que redunden en mejoras para la enseanza y el aprendizaje de la Tecnologa.

Buenos Aires, julio de 2004

De qu se ocupa Controladores lgicos programables PLC?


Los cambios que se estn produciendo en el mundo del trabajo a partir del desarrollo de procesos de reestructuracin tanto en la produccin como en los servicios, demandan permanentes procesos de actualizacin y de capacitacin de todos los actores sociales involucrados, como as tambin el desarrollo de nuevas tecnologas. Hoy, los sistemas informticos, mecnicos, electrnicos y de comunicaciones (redes y protocolos) se integran entre ellos en un todo armnico y funcional, como un nico complejo automtico. La automatizacin que, en su concepto ms amplio, consiste en el control y en la gestin de sistemas automticos, accionados mediante un conjunto de tcnicas y dispositivos particulares se convierte, as, en el fundamento de todos los procesos industriales avanzados y, en consecuencia, en una disciplina de base comn a todas las direcciones de especializacin profesional. Y, como cada cambio tecnolgico modifica notablemente la imagen de estas mquinas automticas sobre todo, por el efecto de las transformaciones en el campo electrnico, y por el avance de las tcnicas elctricas y electrnicas de control en tecnologas tradicionales como la neumtica y la hidrulica los conocimientos requeridos a quien opera en este sector proyectando, instalando y manteniendo aumentan gradualmente y asumen el carcter de capacitacin multidisciplinar. Para que usted avance en esta direccin, desde Controladores lgicos programables PLC nos proponemos que logre:

Comprender qu es y para qu sirve un PLC, indagando es su estructura y en la integracin funcional de sus componentes. Caracterizar los procesos de puesta en marcha, programacin, conexionado de entradas y salidas, e Instalacin, puesta a punto y mantenimiento de un PLC. Tomar decisiones respecto del uso de PLC en determinadas instalaciones.

A lo largo del cursado, iremos proveyndole informacin que le permita resolver situaciones problemticas 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 transformacin de materia prima: procesa chapas de aluminio para confeccionar envases que contendrn alimentos. Para esto, est organizada en distintas reas o sectores gerencias, administraciones, jefatura de planta, oficina tcnica, etc.. Bajo la rbita de la gerencia de planta se encuentra la oficina tcnica en la que usted se desempea junto a sus pares, conformando un equipo interdisciplinario de ingenieros, tcnicos electrnicos, elctricos, mecnicos y administrativos. El jefe de la oficina tcnica es un ingeniero con una amplia experiencia en tareas de produccin de envases de aluminio para la industria alimenticia; se ha desempea-

INET / Fludica y controladores lgicos programables

10

INET / Fludica y controladores lgicos programables

do con xito en el desarrollo de nuevos envases para la conservacin de alimentos perecederos, optimizando las tareas de ensamble de dichos recipientes, como as tambin las de envasado de lneas de alta produccin. Para poder cumplir con la demanda en un mercado en franco crecimiento, la empresa ha adquirido una nueva planta para la confeccin 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 confeccin de latas requiere una mquina capaz de realizar tareas de estampado, como as tambin de sistemas de automatizacin 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 tcnica, el jefe del proyecto le encomienda a usted realizar el sistema automtico 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 eleccin del sistema de control ptimo. Entonces... deber especificar el sistema de control ms adecuado, decidir sobre la lgica de mando de este sistema, detallar en forma precisa las caractersticas para la compra del material teniendo en cuenta la relacin 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 construccin.

Frente a este problema, a lo largo de nuestro mdulo lo iremos acompaando en la toma de decisiones.

11

INET / Fludica y controladores lgicos programables

1. CONTROLADORES LGICOS PROGRAMABLES

13

La etapa de la lgica cableada est terminando. Otra, la de los PLC, est afianzndose. Es necesario tomar conciencia de la necesidad de subirse al carro de la nueva etapa lo antes posible; o sea, ahora.

Controlador lgico programable Un PLC o autmata programable es toda mquina electrnica diseada para controlar, en tiempo real y en medio industrial, procesos secuenciales. Realiza funciones lgicas: series, paralelos, temporizaciones, cuentas; y otras ms potentes como clculos, regulaciones, etc.

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, fotoclulas, detectores; terminales de salida a los que se conectan bobinas de contactores, electrovlvulas, lmparas... La actuacin de estos ltimos est en funcin de las seales de entrada que estn activadas en cada momento, segn el programa almacenado. Esto quiere decir que los elementos tradicionales rels auxiliares, rels de enclavamiento, temporizadores, contadores son internos.

La tarea del usuario se reduce a realizar el programa que no es ms que la relacin entre las seales de entrada que se tienen que cumplir para activar cada salida. Pero, el manejo y programacin de PLC pueden ser realizados por personal elctrico o electrnico sin conocimientos informticos.

Antecedentes histricos El desafo constante que toda industria tiene planteado para ser competitiva, es el motor impulsor del desarrollo de nuevas tecnologas para conseguir una mayor productividad. Debido a que ciertas etapas en los procesos de fabricacin se realizan en ambientes nocivos para la salud, con gases txicos, ruidos, temperaturas extremadamente altas o bajas... y uniendo esta situacin 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 mquina y, con ella, la automatizacin. Surgen, entonces, empresas dedicadas al desarrollo de los elementos que hacen posible tal automatizacin.

INET / Fludica y controladores lgicos programables

14

INET / Fludica y controladores lgicos programables

Debido a que las mquinas son diferentes y diferentes las maniobras a realizar, se hace necesario crear elementos estndar que, mediante su combinacin, permitan al usuario realizar la secuencia de movimientos deseada para solucionar su problema de aplicacin particular. Rels, temporizadores, contadores, fueron y son los elementos con que se cuenta para realizar el control de cualquier mquina. 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 produccin, el nmero de etapas en los procesos de fabricacin controlados de forma automtica se va incrementando. Comienzan, entonces, a aparecer problemas: los armarios o tableros de maniobra en donde se coloca el conjunto de rels, temporizadores, contadores, etc., constitutivos de un control se hacen cada vez ms y ms grandes, la probabilidad de avera es enorme, su localizacin es larga y complicada, el stock que el usuario se ve obligado a soportar es numeroso y su costo se incrementa cada vez ms. El desarrollo tecnolgico que traen, inicialmente, los semiconductores y, despus, los circuitos integrados, intenta resolver el problema, sustituyendo las funciones realizadas mediante rels por funciones realizadas con compuertas lgicas. Con estos nuevos elementos se gana en fiabilidad y se reduce el problema del espacio; pero, no sucede lo mismo con la deteccin de averas ni con el problema de mantenimiento de un stock. Adems, subsiste un problema: la falta de flexibilidad de los sistemas. Comparemos las distintas opciones tecnolgicas disponibles:
TIPO
Lgica cableada

FAMILIA LGICA
Elctrica

SUBFAMILIA ESPECFICA
Rels Electroneumtica Electrohidrulica Electrnica esttica Sistemas informticos Microprocesadores Microcontroladores Sistemas dedicados PLC

Electrnica Lgica programada Electrnica

Las opciones tecnolgicas son variadas. Con los desarrollos tecnolgicos y los cambios frecuentes en la produccin, se hacen necesarios sistemas que nos permita tener una produccin flexible, gil y con muy poco tiempo de parada de mquina por reprogramacin 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 prdida de tiempo y el aumento del costo que ello produce. A fin de la dcada del 60, grandes empresas de la industria automotor de los EEUU imponen a sus proveedores de automatismo unas especificaciones para la realiza-

15

cin de un sistema de control electrnico para mquinas transfer: Este equipo debe ser fcilmente programable, sin recurrir a las computadoras industriales ya en servicio en la industria. Los controladores lgicos programables, limitados originalmente a los tratamientos de lgica secuencial, se desarrollan rpidamente y, en la actualidad, extienden sus aplicaciones al conjunto de sistemas de control de procesos y de mquinas.

Campo de aplicacin El PLC, por sus especiales caractersticas de diseo, tiene un campo de aplicacin muy extenso. La constante evolucin del hardware y software ampla continuamente este campo, para poder satisfacer las necesidades que se detectan en el espectro de sus posibilidades reales. Su utilizacin se da, fundamentalmente, en aquellas instalaciones en donde es necesario realizar procesos de maniobra, control, sealizacin, etc. Por tanto, su aplicacin abarca desde procesos de fabricacin 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 rpida utilizacin, la opcin de modificarlos o alterarlos, hace que su eficacia se aprecie, fundamentalmente, en procesos en que se producen necesidades tales como: espacio reducido, procesos de produccin peridicamente cambiantes, procesos secuenciales, maquinaria de procesos variables, instalaciones de procesos complejos y amplios, chequeo de programacin centralizada de las partes del proceso.

Ejemplos de aplicaciones generales podran ser los siguientes:

Mquinas: industria del mueble y madera, procesos de grava, arena y cemento, industria del plstico, mquinas- herramientas complejas, procesos textiles y de confeccin, ensamblaje, transfer. Instalaciones de: aire acondicionado, calefaccin, seguridad, fro industrial, almacenamiento y trasvase de cereales, plantas embotelladoras, tratamientos trmicos, plantas depuradoras de residuos, cermica.

INET / Fludica y controladores lgicos programables

16

INET / Fludica y controladores lgicos programables

Sealizacin y control: chequeo de programas, sealizacin del estado de procesos.

Ventajas e inconvenientes de los PLC No todos los PLC ofrecen las mismas ventajas sobre la lgica cableada. Esto es debido, principalmente, a la variedad de modelos existentes en el mercado y a las innovaciones tcnicas que surgen constantemente (Estas consideraciones nos obligan a referirnos a las ventajas que proporciona un PLC de tipo medio). a) Ventajas La condicin favorable bsica que presenta un PLC es el menor tiempo empleado en la elaboracin de proyectos debido a que: No es necesario dibujar el esquema de contactos. No es necesario simplificar las ecuaciones lgicas ya que, por lo general, la capacidad de almacenamiento del mdulo 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 aadir aparatos. Cuenta con mnimo espacio de ocupacin. Presenta menor costo de mano de obra de la instalacin. Tiene economa de mantenimiento; adems de aumentar la fiabilidad del sistema, al eliminar contactos mviles, los mismos PLC pueden detectar e indicar averas. Presenta la posibilidad de gobernar varias mquinas con un mismo PLC. Exige menor tiempo para la puesta en funcionamiento del proceso, al quedar reducido el tiempo de cableado.

Si por alguna razn la mquina queda fuera de servicio, el PLC sigue siendo til para otra mquina o sistema de produccin.

b) Inconvenientes Se requiere un programador, lo que obliga a capacitar a uno de los tcnicos en tal sentido. El costo inicial tambin puede ser o no un inconveniente, segn las caractersticas del automatismo en cuestin. Dado que el PLC cubre ventajosamente un amplio espacio entre la lgica 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 dems factores para asegurarse una decisin acertada.

17

Una vuelta al problema Le proponemos que relea el problema y tome la decisin de qu tipo de lgica usar, analizando, fundamentalmente, la versatilidad, la facilidad de uso, las ventajas e inconvenientes de las distintas opciones tecnolgicas , el espacio , el costo.

Estructura de los PLC Aqu vamos a conocer a los PLC en su parte fsica o hardware, no slo en su configuracin externa, sino tambin 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 programacin, 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 electrnico complejo, montado en tarjetas especficas que controlan reas o bloques, realizando distintas funciones que, unidas convenientemente, dan como resultado a los PLC.

a) Estructura externa El trmino estructura externa o configuracin externa de un PLC se refiere a su aspecto fsico exterior, a los bloques o elementos en que est dividido. Desde su nacimiento y hasta nuestros das, han sido varias las estructuras y configuraciones que han salido al mercado, condicionadas no slo 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 ms 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 alimentacin, CPU, memorias, entradas/ salidas, etc. En cuanto a su unidad de programacin, 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 programacin es sustituida por una PC, nos encontraremos con que la posibilidad de conexin 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 caracterstica principal es la de que existe un mdulo para cada funcin: fuente de alimentacin, CPU, entradas/salidas, etc. La
1

La estructura americana. Se caracteriza por separar las E/S del resto del PLC, de tal forma que en un bloque compacto estn reunidas las CPU, memoria de usuario o de programa y fuente de alimentacin, y separadamente las unidades de E/S en los bloques o tarjetas necesarias.

INET / Fludica y controladores lgicos programables

18

INET / Fludica y controladores lgicos programables

unidad de programacin se une mediante cable y conector. La sujecin se hace bien sobre carril DIN o placa perforada, bien sobre rack, en donde va alojado el bus externo de unin de los distintos mdulos 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 fsico o hardware, y las funciones y funcionamiento de cada una de ellas. Los PLC se componen esencialmente de tres bloques: la seccin de entradas, la unidad central de procesos CPU, la seccin de salidas.

Fuente de alimentacin
Entradas

Memoria Datos RAM NVRAM EEPROM Programa NVRAM: EEPROM EPROM

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

Comunicacin RS 232/485

Salidas
Rels Contactores Lmparas Electrovlvulas Etc.

CPU

Programacin Simulacin Monitoreo

Esquema bsico de un PLC

La seccin de entradas. Mediante el interfaz, adapta y codifica de forma comprensible por la CPU, las seales procedentes de los dispositivos de entrada o captadores esto es, pulsadores, finales de carrera, sensores, etc.. Tambin tiene una misin de proteccin de los circuitos electrnicos internos del PLC, realizando una separacin elctrica 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 interpretacin de las instrucciones del programa de usuario y, en funcin de los valores de las entradas, activa las salidas deseadas. La seccin de salidas. Mediante el interfaz, trabaja de forma inversa a la de entradas; es decir, decodifica las seales procedentes de la CPU, las amplifica y manda con ellas los dispositivos de salida o actuadores lmparas, rels, contactores, arrancadores, electrovlvulas, etc.. Aqu tambin existen interfaces de adaptacin a las salidas y de proteccin 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 alimentacin, y la unidad o consola de programacin si no se programa desde la PC. Nos referiremos, ahora, con ms detalle a la CPU, y a las unidades de entradas y salidas.

19

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 informacin 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 elctrico; pero, su informacin desaparece al faltarle la tensin. Memoria ROM Read Only Memory. Memoria de slo 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 informacin se mantiene ante la falta de tensin. stas no son todas las memorias disponibles. Existen otros tipos cuyas diferencias estn marcadas por sus sistemas de programarlas, su borrado, y su volatilidad o permanencia de la informacin: Memorias EPROM Erasable Programmable Read OnIy Memory y EEPROM Electrical Erasable Programmable Read OnIy Memory. Independientemente de otras aplicaciones algunas ya mencionadas en los prrafos anteriores, estos tipos de memoria tienen gran aplicacin como memorias de copia para grabacin y archivo de programas de usuario. Memoria del usuario. Normalmente, el programa de usuario se graba en memoria RAM, ya que no slo ha de ser ledo por el microprocesador, sino que ha de poder ser variado cuando el usuario lo desee, utilizando la unidad de programacin. En algunos PLC, la memoria RAM se auxilia de una memoria sombra del tipo EEPROM. La desconexin de la alimentacin o un fallo borrara esta memoria, ya que al ser la RAM una memoria voltil, necesita estar constantemente alimentada y es por ello que los PLC que la utilizan llevan incorporada una batera tampn que impide su borrado. Memoria de datos. La memoria de esta rea tambin 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 numricos 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 / Fludica y controladores lgicos programables

20

INET / Fludica y controladores lgicos programables

1.2. Procesador El procesador se monta sobre una placa de circuito impreso; en ella y, junto al chip se sitan todos aquellos circuitos integrados que lo componen, principalmente memorias ROM del sistema o firmware. En algunos tipos de PLC tambin se sitan aqu los chips de comunicacin con perifricos o de interconexin con el sistema de entradas salidas. Est constituido por el microprocesador, el generador de impulsos de onda cuadrada o reloj, y algn chip auxiliar. El microprocesador es un circuito integrado (chip) a gran escala de integracin (LSI) que realiza una gran cantidad de operaciones, que podemos agrupar en: Operaciones de tipo lgico. Operaciones de tipo aritmtico. Operaciones de control de la transferencia de la informacin dentro del PLC.

1.3. Circuitos auxiliares asociados Los circuitos internos pueden ser de tres tipos: Circuitos de la unidad aritmtica y lgica ALU. Es la parte del microprocesador donde se realizan los clculos y las decisiones lgicas para controlar al PLC. Circuitos de la unidad de control UC. Organiza todas las tareas del microprocesador. As, por ejemplo, cuando una instruccin del programa codificada en cdigo mquina (ceros y unos) llega al microprocesador, la UC sabe, mediante una pequea memoria ROM que incluye, qu secuencia de seales tiene que emitir para que se ejecute la instruccin. 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 ms 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 seales 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 continuacin unos de los otros. La CPU se pondr en comunicacin con la tarjeta cuya direccin coincida con la combinacin del bus.

21

Cules 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 funcin del tiempo en que trabaje. El software de sistema de cualquier PLC consta de una serie de funciones bsicas que realiza en determinados tiempos de cada ciclo: en el inicio o conexin, durante el ciclo o ejecucin del programa, y en la desconexin. Este software o programa del sistema es ligeramente variable para cada PLC; pero, en general, contiene las siguientes funciones: Supervisin y control de tiempo de ciclo watchdog, tabla de datos, alimentacin, batera, etc. Autotest en la conexin y durante la ejecucin del programa. Inicio del ciclo de exploracin de programa y de la configuracin del conjunto. Generacin del ciclo base de tiempo. Comunicacin con perifricos y unidad de programacin. Etc. Dejamos aqu nuestra descripcin de la CPU y nos concentramos en...

2. Unidades de entrada y salida En los PLC compactos, las entradas y salidas E/S estn situadas en un solo bloque, junto con el resto del PLC. En los modulares, las E/S son mdulos 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 conexin al bus y su soporte mecnico. Las funciones principales son el adaptar las tensiones e intensidades de trabajo de los captadores y actuadores a las de trabajo de los circuitos electrnicos del PLC; realizar una separacin elctrica entre los circuitos lgicos de los de potencia generalmente, a travs de optoacopladores y proporcionar el medio de identificacin de los captadores y actuadores ante el procesador. 2.1. Entradas Las entradas son fcilmente identificables, ya que se caracterizan fsicamente por sus bornes para acoplar los dispositivos de entrada o captadores, por su numeracin, y por su identificacin input o entrada. Llevan, adems, una indicacin luminosa de activado, por medio de un diodo LED. En cuanto a su tensin, las entradas pueden ser de tres tipos: libres de tensin, corriente continua, corriente alterna.

Unidades de entrada y salida Son los dispositivos bsicos por donde se toma la informacin de los captadores en el caso de las entradas y por donde se realiza la activacin de los actuadores en las salidas.

INET / Fludica y controladores lgicos programables

22

INET / Fludica y controladores lgicos programables

En cuanto al tipo de seal que reciben, stas pueden ser: analgicas y digitales. Analgicas. Cuando la magnitud que se acopla a la entrada corresponde a una medida de, por ejemplo, presin, temperatura, velocidad, etc., esto es, analgica, es necesario disponer de este tipo de mdulo de entrada. Su principio de funcionamiento se basa en la conversin de la seal analgica a cdigo binario mediante un convertidor analgico-digital AID. Digitales. Son las ms utilizadas y corresponden a una seal de entrada todo o nada; esto es, a un nivel de tensin o a su ausencia. Ejemplo de elementos de este tipo son los finales de carrera, interruptores, pulsadores, etc. 2.2. Salidas La identificacin de las salidas se realiza con la indicacin 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 rels 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 analgicas y digitales si bien estas ltimas son las ms utilizadas. En las analgicas es necesario un convertidor digital analgico D/A que realice la funcin inversa a la de la entrada.

Cmo funciona internamente un PLC, y toma las distintas decisiones y acciones El ciclo bsico de trabajo en la elaboracin del programa por parte de la CPU es el siguiente: Antes de iniciar el ciclo de ejecucin, el procesador, a travs del bus de datos, consulta el estado 0 1 de la seal 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 situacin se mantiene durante todo el ciclo del programa. A continuacin, el procesador accede y elabora las sucesivas instrucciones del programa, realizando las concatenaciones correspondientes de los operandos de estas instrucciones.

23

Seguidamente, asigna el estado de seal a los registros de las salidas de acuerdo a la concatenacin anterior, indicando si dicha salida ha de activarse o no, situndola en la zona de salida de la tabla de datos. Al final del ciclo, una vez concluida la elaboracin del programa, asigna los estados de las seales de entrada a los terminales de entrada y los de salida a las salidas, ejecutando el estado 0 1 en estas ltimas.

Esta asignacin 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 funcin de las variables de entrada, prcticamente, en tiempo real.

Una vuelta al problema Le proponemos que, con el material disponible, vuelva a la situacin problema planteada y verifique la conveniencia de la utilizacin de estos dispositivos, analizando qu tipo de controlador lgico programable ser el ms adecuado para las tareas que debe cumplir, qu cantidad de E/S necesitar, cul ser su tiempo de Scan, etc.

Actividad 1 Integracin de Controladores lgicos programables Indique un caso de instalacin industrial en la que considere que es utilizable el PLC. 1. Por qu considera que el PLC es conveniente all? 2. Cules son los inconvenientes ms significativos de ese PLC? 3. En ese montaje con PLC, dnde se encuentran los contadores, temporizadores y rels internos? 4. Cules son los bloques que componen los PLC? Dibuje el esquema de bloques simplificado de un PLC y explique sus funciones. 5. Dibuje cmo sera la estructura completa de un PLC y su entorno. 6. Explique el ciclo bsico de trabajo de la CPU.

INET / Fludica y controladores lgicos programables

25

INET / Fludica y controladores lgicos programables

2. MANEJO, INSTALACIN Y CONEXIONADO

27

El manejo y la utilizacin correcta de los PLC resultan fundamentales si queremos obtener eficacia de ellos. Es por ello que, en esta segunda parte de Controladores lgicos programables PLC vamos a encarar el proceso a seguir para su puesta en marcha1, el procedimiento general para realizar una correcta programacin de PLC, algunos ejemplos de conexionado de elementos a entradas y actuadores a las salidas, as como las reglas mnimas que han de seguirse para una correcta instalacin, puesta en servicio, mantenimiento preventivo y resolucin de averas. El organigrama general simplificado que nos va a orientar en la secuencia a seguir para la utilizacin correcta de los PLC es:

INICIO

PUESTA EN MARCHA

PROGRAMACIN

CONEXIONADO DE IN / OUT INSTALACIN. PUESTA A PUNTO

FIN

1. Puesta en marcha Antes de iniciar cualquier accin para la puesta en funcionamiento de los PLC, es necesario tener delante el cuadro de sus caractersticas o especificaciones, ya que algunos datos como la tensin de alimentacin al sistema, o la tensin de red y el margen de variacin admisible resultan necesarios2. Los pasos a seguir en la puesta en funcionamiento inicial del sistema son: 1. Conectar la fuente de alimentacin. 2. Conectar la toma a tierra. 3. Verificar las tensiones de entradas y salidas. 4. Ver la tensin de la red de alimentacin. 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 (slo la primera vez). 9. Cargar el programa. 10.Colocar los PLC en modo RUN.
1

No debemos confundir los trminos puesta en marcha con puesta a punto y en servicio. En el rimer caso, nos referimos al proceso inicial necesario para poder realizar la programacin 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 instalacin o proceso. Para esto resulta imprescindible analizar las caractersticas tcnicas de cada fabricante.

INET / Fludica y controladores lgicos programables

28

INET / Fludica y controladores lgicos programables

2. Programacin Como dedicaremos el tercer captulo de Controladores lgicos programables PLC a la programacin, 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 conexin 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 averas por esta causa. La limitacin en el nmero de entradas y salidas que se van a utilizar.

3.1. Conexionado de entradas Los captores pueden ser de dos tipos: Analgicos. Su seal elctrica 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 analgicas estn en mdulos separados y se debe elegir de qu tipo de entrada se trata tensin o corriente y qu tipo de resolucin tiene). Digitales. La seal responde a: - Contacto abierto 0 (nada). - Contacto cerrado 1 (todo).
Captores o emisores de seales Son, en general, aquellos elementos que se acoplan o conectan a las entradas de los PLC.

Empresa Dydec SRL

En el caso del contacto cerrado en la entrada cuatro (in 4), sucede que queda aplicada la tensin de campo al elemento interno del PLC designado con el smbolo g, lo que desencadena una seal hacia el circuito de control de entrada. Por el contrario, el contacto en la entrada dos (in 2) no ocasiona fenmeno alguno al estar ste en posicin de abierto. Desde el punto de vista de la tensin, en posible reconocer:

29

captores o contactos libres de tensin, captores con tensin. Los captores sin tensin que se pueden conectar a los PLC pueden ser de varios tipos, entre otros: pulsadores, interruptores, finales de carrera contactos de rels, etc.

En la figura se observa su forma de conexin:

Los captores con tensin pueden ser: detector de proximidad, clula fotoelctrica, etc. (Todos del tipo PNP3) Al elegirlos, lo haremos de tal forma que su tensin de trabajo coincida con la tensin de entrada al PLC en nuestro caso, 24 Vcc. En la figura se puede observar la disposicin del conexionado de este tipo de entradas:

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

INET / Fludica y controladores lgicos programables

30

INET / Fludica y controladores lgicos programables

3.2. Conexionado de salidas En los contactos de salida del PLC se conectan las cargas o actuadores, bien a travs de otros elementos de mando como pueden ser los contactores, rels, etc. o directamente, si las condiciones de corriente mxima lo permiten. Las salidas son de dos tipos distintos: Salidas a transistores. Salidas a rels. La eleccin de un tipo u otro se deciden en funcin de los tipos de carga que se le vayan a acoplar. Como ayuda en esta eleccin valgan las siguientes indicaciones: Salidas a transistores (CC). Cuando se utilice CC, y cuando las cargas sean de poco consumo, rpida respuesta y alto nmero de operaciones como es el caso de circuitos electrnicos, se deben utilizar estos tipos de salidas. Su vida es superior a la del rel. Salidas a rels (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 rpidas. Son empleadas en cargas de contactores, electrovlvulas, etc. Antes de conectar un actuador a las salidas de los PLC, habremos de analizar y tener en cuenta las siguientes limitaciones: La tensin que se vaya a aplicar en cada juego de contactos del rel ha de ser nica; podremos aplicar tantas tensiones distintas como rels tenga el PLC. El margen de los valores de tensiones que se vaya a aplicar tanto en CA como en CC estn indicados en las caractersticas tcnicas. Se sumarn las intensidades demandadas por los elementos conectados a cada grupo de contactos y se comprobar que esta suma no supere la intensidad mxima que nos indiquen sus caractersticas; 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.

Actuadores Todos los elementos conectados a las salidas, sean stos elementos de actuacin directa o elementos de mando.

Circuitos de proteccin elctrica: Como sabemos, las cargas en las salidas se pueden clasificar en cargas en CC y cargas en CA. En la mayora de los casos, las cargas aplicadas a las salidas suelen ser circuitos inductivos como, por ejemplo, bobinas de contactores y rels. La desconexin de stos da lugar a picos de tensin transitorios de alto valor. Como, en ocasiones, estos circuitos internos de proteccin no son suficientes, se deben acoplar circuitos adicionales exteriores para que supriman mejor y ms rpidamente estas tensiones transitorias.

31

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

Cuando el nmero 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 / Fludica y controladores lgicos programables

32

INET / Fludica y controladores lgicos programables

Cuando la carga es de alta inductancia, el circuito ms 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 rels trmicos: Dos son las posibilidades de conexin de los contactos de los rels trmicos de proteccin contra sobreintensidades: En las entradas, como captores:

33

O, en la salida:

Las ventajas e inconvenientes que presentan ambas posibilidades son las siguientes: La conexin en el circuito de entradas es la tcnica ms 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 sealizado en ambos diodos LED (E/S) del PLC. Otra ventaja a tener en cuenta es que, en funcin del programa establecido, un contacto de un rel trmico 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 rels trmicos 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 proteccin. Como desventaja podemos citar que necesitamos una entrada por cada rel trmico, o grupo en paralelo o serie, lo que nos puede incrementar aqullas considerablemente y, como consecuencia, exigirnos un PLC con ms entradas. La conexin en el circuito de salida significa un ahorro en el correspondiente circuito de entrada; pero, carecer de indicaciones de avera en la sealizacin de salida o LED aunque, lgicamente, la bobina del contactor quede desactivada, en cuyo caso slo se detendr el actuador que est protegiendo. En la mayora de los procesos industriales, una avera o parada en alguno de los

INET / Fludica y controladores lgicos programables

34

INET / Fludica y controladores lgicos programables

elementos que lo integran puede traer como consecuencia prdidas econmicas importantes, si en su programacin no se han tenido en cuenta estas posibilidades, esto es, la incidencia que en el resto del proceso puede tener la paralizacin o incorrecto funcionamiento de una sola mquina. Un procedimiento utilizado para corregir esta posibilidad es el de usar contactos de confirmacin. A continuacin incluimos algunas de las posibilidades de conexin de los actuadores en las salidas del PLC. Conexin en un grupo de cuatro salidas comunes o de igual tensin:
Contactos de confirmacin Contactos de determinada parte de un proceso situados sobre otra parte de ese mismo proceso, que condicionan su parada o marcha.

En este caso, es necesario que: Las tensiones de los elementos acoplados sean iguales y que esta tensin est dentro de los mrgenes indicados por las especificaciones del PLC. Que la intensidad total y las intensidades parciales se encuentren tambin dentro de los mismos mrgenes. Acoplamiento directo e indirecto de cargas:

35

En algunos casos, cuando el consumo de una carga es muy pequeo, se puede acoplar sta directamente a la salida como es el caso del tubo fluorescente y de la lmpara que vemos en la figura. En el resto de los casos, el mando ha de hacerse a travs de rels, contactores, electrovlvulas, 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 ms contactos de salida puenteados o unidos. Este procedimiento no es recomendable, en general, debido al valor que econmicamente 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 tensin en ambas bobinas es idntico, el circuito a utilizar es:

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

INET / Fludica y controladores lgicos programables

36

INET / Fludica y controladores lgicos programables

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

4. Instalacin, puesta a punto y mantenimiento 4.1. Instalacin Una correcta instalacin de los PLC implica, necesariamente, tener en cuenta factores como: 4.1.1. Condiciones ambientales del entorno fsico donde se va a situar. 4.1.2. Distribucin de componentes en el armario que los va a contener. 4.1.3. Cableado y alimentacin correctos. Asimismo, es necesario su puesta a punto y un eficaz mantenimiento. 4.1.1. Condiciones ambientales del entorno fsico donde se va a situar Normalmente salvo indicacin expresa, el entorno en donde se sita el PLC ha de reunir las siguientes condiciones fsicas: Ausencia de vibraciones, golpes, etc. Resguardo de la exposicin directa a los rayos solares o focos calorficos intensos, as como a temperaturas que sobrepasan los 50-60 grados centgrados, aproximadamente. Desechar lugares donde la temperatura desciende, en algn momento, por debajo de 5 grados centgrados 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 lneas de alta tensin, siendo la distancia variable en funcin del valor de dicha tensin. 4.1.2. Distribucin de componentes en el armario que los va a contener. Es norma que el PLC se site en un armario metlico. Antes de elegirlo, se ha de conocer si este armario necesita ventilador incorporado para forzar la ventilacin del aire, debido a que la temperatura ambiente supera la especificada, o bien para incorporar un elemento generador de calor, si se prevn problemas de condensacin. El armario se elige del tamao adecuado para que contenga de una forma despejada no slo 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 alimentacin, las protecciones correspondientes,

37

rels, contactores, etc., fuentes de alimentacin, regletas de borras, canaletas de cableado, etc.

El PLC puede situarse en distintas posiciones; pero, en general, se sita verticalmente sobre riel DIN o placa perforada. En cuanto a su distribucin, se tienen en cuenta las siguientes consideraciones: Los elementos disipadores de calor principalmente el PLC y las fuentes de alimentacin se sitan en la parte superior del armario, para as facilitar la disipacin del calor generado al exterior. Los elementos electromecnicos rels, contactores, etc. son generadores de campos magnticos debido a sus bobinas; por esto, es recomendable alejarlos lo ms posible. Los transformadores, por su parte, estarn ubicados a la mayor distancia posible de cualquier parte de los PLC. 4.1.3. Cableado y alimentacin correctos Para un correcto cableado hay que tener en cuenta unas reglas mnimas, 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 analgicas de las digitales. Los cables de potencia que alimentan a contactores, fuentes de alimentacin, 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 alimentacin y los de E/S discurren por distinto tubo o canaleta; es recomendable entre ambos grupos de cables una distancia mnima de 30 cm, si discurren paralelos. En el caso de que esto no sea posible, se sitan placas metlicas conectadas a tierra que separan, dentro de la canaleta, los distintos tipos de cables. La alimentacin a los PLC es otro factor importante a tener en cuenta. Cuatro son las pautas a considerar: Tensin estable del valor adecuado y exenta, en lo posible, de picos provocados por otros aparatos de la instalacin. Protecciones contra sobrecargas y cortocircuitos, por medio de interruptores magneto-trmicos, fusibles, etc., as como contra derivaciones a tierra, por medio de interruptores diferenciales. Cable de tierra del valor adecuado y debidamente sealizado mediante conductor amarillo-verde. Si la instalacin 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 alimentacin para los PLC:

INET / Fludica y controladores lgicos programables

38

INET / Fludica y controladores lgicos programables

Field (campo)

Como se observa, el diagrama considera no slo la alimentacin a la fuente de los PLC (CPU), sino la posibilidad de una fuente de alimentacin 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. Es conveniente dividir esta supervisin en dos momentos: Sin tensin: Verificacin de las partes fsicas. Con tensin: Verificacin del sistema automtico. La verificacin de las partes fsicas tiene por objeto comprobar, entre otros: La correcta conexin de todos los componentes del sistema, incluidas las alimentaciones, de acuerdo con los esquemas correspondientes. La firme sujecin de todos los cables al PLC, fuente de alimentacin, etc. La exacta identificacin de cables, mediante sealizadores con letras o nmeros. Las correctas y firmes conexiones del cable amarillo-verde de tierra. La verificacin del sistema automtico 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.

Puesta a punto Supervisin total del sistema y de la realizacin de todas aquellas tareas que son necesarias para dejarlo en las condiciones perfectas de poder iniciar su puesta en funcionamiento.

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 designacin de las E/S.

39

4.3. Mantenimiento Podemos discriminar dos grupos de tareas de mantenimiento: Mantenimiento preventivo. Como cualquier otra mquina, los PLC necesitan de un mantenimiento preventivo o inspeccin peridica; esta inspeccin ha de tener una periodicidad tanto ms corta cuanto ms 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 averas originan un alto coste, por lo que es necesario reducir al mnimo esta posibilidad. Localizacin y reparacin de las averas que se produzcan. Por ser el PLC un elemento electrnico complejo y debido a la importancia que ha de darse a su rpida reparacin, 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 peridicas, indicando fecha y, en apartado significativo, las averas detectadas y corregidas. Los datos podran ser, entre otros:
CUADRO PARA LA REALIZACIN DEL MANTENIMIENTO PREVENTIVO
Pregunta a) De elementos mecnicos: - Estn firmemente sujetos, tanto el PLC como los dems elementos? - Hay algn cable suelto o roto? - Estn los tornillos suficientemente apretados? b) De CPU y E/S: - Hay seal de los LED, indicativa de diagnstico 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 tensin de alimentacin: - Flucta la tensin de alimentacin cerca de los lmites mximos permitidos, medidos en la entrada de la fuente de alimentacin? - La corriente continua y el rizado, estn dentro del margen? - Las tensiones de entrada a las E/S, son las correctas? SI NO

Las herramientas y aparatos necesarios para esta labor de mantenimiento preventivo son: Algodn y alcohol (para limpiar contactos). Herramientas de instalador. Tster de aguja de clase 0,5 o digital. Osciloscopio. Termmetro e higrmetro. Etc.

INET / Fludica y controladores lgicos programables

40

INET / Fludica y controladores lgicos programables

4.3.2. Localizacin y reparacin de averas La deteccin de averas 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 lgicos que se debe seguir para la deteccin y reparacin de una avera son los de verificar: Alimentacin. In/Out. Terminales. CPU. Condiciones ambientales.

Actividad 2 Integracin de Manejo, instalacin y conexionado En nuestra actividad anterior usted puntualiz un caso de instalacin industrial en la que consider oportuno utilizar el PLC. Le proponemos continuar refirindose a esa instalacin 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 proteccin exterior a la salida de los PLC? 3. Dnde va a conectar los contactos de los relevos trmicos? Por qu? 4. Integrar contactos de confirmacin? 5. Qu consideraciones har al conectar las salidas, con respecto al consumo de sus actuadores? 6. Qu solucin podra desarrollar si la carga a conectar supera la permitida por la salida del PLC?

41

INET / Fludica y controladores lgicos programables

3. INTRODUCCIN A LA PROGRAMACIN

43

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

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

Como sabemos, una de las ventajas de los PLC sobre la lgica cableada es la posibilidad de introducir, borrar y modificar los programas; pero, tambin, la de poder grabarlos y almacenarlos, mediante los utilitarios provistos por los fabricantes. En procesos de produccin peridicamente cambiantes, en donde programas en desuso vuelven al cabo del tiempo a ser puestos en funcionamiento, juega un papel importante la posibilidad de grabacin y archivo para su posible utilizacin en el futuro bien con su configuracin actual, bien con las correspondientes modificaciones. Por ello, una vez realizado un programa, verificado y simulado, para ponerlo en funcionamiento es necesario grabarlo a travs 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 magntico y, el otro, papel escrito por medio de la impresora: El sistema magntico nos es fundamental si queremos volver a poner en funcionamiento un programa ya utilizado con anterioridad o realizar alguna modificacin sobre l. La impresin es muy prctica 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 relacin de temporizadores, contadores, etc., empleados, con indicacin de su nmero y tiempo en el caso de temporizadores y cuentas en el caso de contadores, etc.

Programa Es una sucesin o lista de distintas rdenes de trabajo tambin llamadas instrucciones, capaz de hacer ejecutar la secuencia de trabajo pretendida a los PLC.

Instrucciones y programas1 Una instruccin u orden de trabajo consta de dos partes principales: operacin y operando; a su vez, el operando est dividido en smbolo y parmetro:
Instruccin Operacin Qu? Operando Dnde? Smbolo Parmetro

Instruccin u orden de trabajo Es la parte ms pequea de un programa.

1 En este tercer captulo de Programadores lgicos controlables vamos a hablar del software que, como sabemos, se refiere a los programas o partes no tangibles fsicamente de los PLC. Si bien el software en su amplio trmino 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 / Fludica y controladores lgicos programables

44

INET / Fludica y controladores lgicos programables

La operacin le indica a la CPU del PLC, qu tiene que hacer; o, lo que es lo mismo, la clase de instruccin que ha de ejecutar. El operando es el complemento al cdigo u operacin. Mediante el operando indicamos la direccin 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 concatenacin serie. OR (O): Formar una concatenacin paralelo. OUT (=): Asignar una salida a lo precedente. El operando le indica a la CPU dnde debe de hacerlo, dnde debe realizarse esa instruccin. Cuando se programa, cada instruccin 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 lnea o lnea de programa. Una lnea contiene direccin o paso, operacin y operando. Por tanto, se puede decir que una lnea de programa consta de una instruccin, salvo algunos casos en el que son necesarias dos lneas para alojar una sola instruccin (El PLCEM 168, por ejemplo, posee 512 pasos de programa o lneas; 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 elaboracin, anlisis y puesta a punto del programa, as como otras posibilidades que en los ejemplos prcticos consideraremos. Instrucciones bsicas: LD: (4C) Carga el primer contacto de la lnea o rama. LDN: (42) Carga el primer contacto de la lnea o rama en forma negada. AND: (41) Lgica Y. ANDN: (44) Lgica Y negada. OR: (4F) Lgica O.

45

ORN: (47) Lgica O negada. = (Copy ) (49) Copia la condicin de la rama o lnea. =NOT:(4E) Niega la condicin de la rama o lnea. =SET: (50) Coloca un 1 en el lugar de las acciones y permanece as independientemente que la condicin se haya borrado. =RST: (52) dem a =SET; pero, coloca un 0 en el lugar de las acciones. =JMP: (4A) Salta a una lnea 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 parmetros de comunicacin, 9600, N, 8, 1 y el terminal en modo ASCII. Todo esto es posible de ser realizado si no se posee el software de programacin y simulacin 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 comnmente 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 / Fludica y controladores lgicos programables

46

INET / Fludica y controladores lgicos programables

Ejecucin de programas Cuando los PLC se sitan en el modo RUN (ciclo de ejecucin o ejecucin cclica), la CPU realiza, entre otras funciones, el barrido del programa contenido en la memoria de usuario, desde la casilla, direccin o lnea 000 hasta la ltima, segn el largo del programa esto es, efecta lo que se denomina ciclo de scan que es medido en funcin del tiempo que tarda en ejecutar 1000 instrucciones. En funcin de cmo se efecte la ejecucin o barrido del programa, se distinguen los siguientes sistemas, modos o estructuras de programacin: 1. Ejecucin cclica lineal. 2. Ejecucin con salto condicional. 3. Ejecucin con salto a sub-rutinas. El principio de ejecucin de cada uno de los sistemas indicados se describe a continuacin. 1. Ejecucin cclica lineal Cuando el ciclo de barrido de la memoria de usuario se realiza lnea tras lnea, sin solucin de continuidad, se dice que la programacin es lineal. As, la CPU consulta las instrucciones contenidas en la memoria secuencialmente, una a continuacin de la otra, sin alterar este orden.

Instruccin 1

End

2. Ejecucin con salto condicional Cuando el ciclo de ejecucin de un programa tiene la posibilidad previa condicin establecida de alterar la secuencia lnea a lnea y dar un salto a otras lneas de programa, dejando x lneas sin ejecutar, se dice que ha realizado un salto condicional. Si al llegar en el proceso de ejecucin del programa a la instruccin U, se cumple la condicin 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 condicin, el programa se ejecuta linealmente, continuando en U+1. Algunos PLC poseen esta posibilidad, la cual permite reducir el tiempo de ejecucin del ciclo.

47

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

Instruccin 1

Instruccin U Instruccin U + 1

Instruccin V Instruccin V + 1

Fin de programa End

3. Ejecucin con salto a sub-rutinas En algunas ocasiones ocurre que en un programa hay uno o ms grupos de secuencias de instrucciones idnticas 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 / Fludica y controladores lgicos programables

48

INET / Fludica y controladores lgicos programables

Lenguajes de programacin tpicos Varios son los lenguajes o sistemas de programacin posibles en los autmatas programables; por esto, cada fabricante indica en las caractersticas generales de su equipo cul es el lenguaje o los lenguajes con los que puede operar. En general, se podra decir que los lenguajes de programacin ms usuales son aquellos que transfieren directamente el esquema de contactos y las ecuaciones lgicas pero, stos no son los nicos. Los lenguajes y mtodos grficos ms utilizados son: Nemnico, tambin conocido como lista de instrucciones, booleano, abreviaturas nemotcnicas, AWL. Diagrama de contactos Ladder diagram, plano de contactos, esquema de contactos, KOP . Excepto el nemnico, los dems tienen como base su representacin grfica; pero, todos ellos deben ir acompaados del correspondiente cuadro o lista de programacin esto es, la relacin de lneas de programa que lo configuran. Nemmico: Es un lenguaje en el cual cada instruccin se basa en las definiciones del lgebra de Boole o lgebra lgica. LD: Operacin inicio contacto abierto. LD NOT: Operacin 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. Etctera.

Diagrama de contactos: La mayora de los fabricantes incorpora este lenguaje. Esto es debido a la semejanza con los esquemas de rels utilizados en los automatismos elctricos de lgica cableada, lo que facilita la labor a los tcnicos habituados a trabajar con dichos automatismos.

49

En el cuadro siguiente se presentan los smbolos utilizados en los ejemplos posteriores y su correspondencia entre s y otros conocidos tales como los nemnicos o de Boole:

Equivalencias entre los distintos lenguajes

Asignaciones de los programas La realizacin de una buena programacin pasa, entre otras cosas, por disear correctamente el diagrama correspondiente. Para no incurrir en errores asignaciones repetidas o asignaciones de elementos inexistentes es conveniente confeccionar un cuadro donde colocamos la designacin que corresponde a cada entrada, salida, marcas, timers y contadores. Ejemplo de asignacin de entradas y salidas:
TIPO
ENTRADAS

TERMINAL ASIGNADO
In1 In2 In3 .......... .......... ........... ........... ........... In15 In16

DESCRIPCIN
Pulsador de marcha Fin de carrera Pistn 1 Trmico motor 1

Pulsador de parada Emergencia Contactor lnea Contactor estrella

SALIDAS

Out1 Out2 ............ ............ ............. .............. ............. ............. Out7 Out8

Lmpara piloto Lmpara de emergencia

INET / Fludica y controladores lgicos programables

50

INET / Fludica y controladores lgicos programables

Ejemplo de asignaciones para timers, contadores y memorias:


Tipo
Timers

Numero
TIM 1 TIM 2 ......... ......... TIM 8 CNT 1 CNT 2 .......... .......... .......... .......... CNT 13 CNT 14 MEM 1 MEN 2 .......... .......... .......... MEM 63 MEM 64

Seteos
20 seg. 50 seg 60 seg. 99 99

Descripcin
Ret. estrella/tringulo Seguridad Reposicin Piezas terminadas Cantidad de piezas

Contadores

4 2 Set Rst

Paradas emergencia Apertura. Trmico Habilitacin Fase 1

Memorias

rst rst

Fase n Fase n+1

Una vuelta al problema Le sugerimos realizar sus propias tablas de asignacin, de acuerdo con los elementos utilizados en la situacin de la fbrica de envases, y evaluar su utilidad para cuando, en algn tiempo, deba usted volver a utilizar o modificar el programa realizado.

Consideraciones previas sobre la programacin Ladder Antes de empezar con los ejemplos prcticos, es necesario tener en cuenta algunas consideraciones que nos facilitarn la labor de programacin: a) La programacin 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

51

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

c) El nmero de contactos que se puede colocar en un bloque, desde el comienzo de la lnea principal hasta la salida OUT, es ilimitado. La nica limitacin prctica que podemos encontrarnos es la de la resolucin del monitor o del ancho del papel, cuando queramos sacar el programa por impresora; en este caso, el nmero mximo de contactos en serie es de diez.

d) Al no existir limitacin de contactos, es preferible realizar un circuito claro y comprensible con un nmero elevado de contactos, antes que uno complicado como consecuencia de reducir su nmero. e) No se puede conectar una salida directamente a la lnea 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 programacin Ladder es del tipo condicional, no puede haber nunca una accin si no hay una condicin.

f) Es posible programar dos o ms 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 lneas).

INET / Fludica y controladores lgicos programables

52

INET / Fludica y controladores lgicos programables

g) Los trminos 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 travs de l no es posible. En el mismo sentido, los trminos contacto cerrado, normalmente cerrado (NC) y contacto de apertura tambin significan lo mismo: el contacto que en estado de reposo se encuentra cerrado, o sea, el paso de corriente a travs de l s es posible. h) Contactos de entradas. El nmero 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 nmero de contacto cuantas veces queramos y tanto abierto como cerrado. i) Contactos de salida. El nmero de salidas o bobinas de salida o rels de salida OUT es fijo, por lo que no se puede repetir un mismo nmero de salida; pero, por el contrario, el nmero 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 utilizacin ms comn es como rels auxiliares. En la mayora de los PLC son protegidas contra el corte de alimentacin. Por tanto, no pierden su estado ante esta eventualidad. Existen tambin especiales, con funciones varias como la de cambio de base de tiempo de timers y scan de stos. Al igual que ocurra con las salidas, el nmero de marcas es fijo: el mismo nmero de marca no se puede repetir; pero, el nmero de contactos asociados a cada marca, tanto abiertos como cerrados, es ilimitado.

Ejemplo bsico de programacin Lgica OR

53

Lista de instrucciones: LD IN 1 OR IN 2 = OUT 1 END Ejemplo bsico de programacin Lgica AND

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

Ejemplo bsico de programacin SET Y RST

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

Mediante la combinacin 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 trifsico 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. Debera haber otra entrada para el relevo trmico?

INET / Fludica y controladores lgicos programables

54

INET / Fludica y controladores lgicos programables

El circuito de comando realizado de forma elctrica, es:

Cuando pulsamos la entrada IN 1, el rel K1, acciona y el contacto que est en paralelo con la IN 1 tambin cierra. Con esto se logra una autorretencin 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 tambin. En este circuito est la funcin de autorretencin, 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.

55

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

Tambin 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 condicin 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 continuacin 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 situacin problema de la fbrica 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 mdulos asociados que se necesite. En la salida Out 1, colocaremos una lmpara).

Para empezar, realizamos el circuito de comando mediante un programa Ladder y utilizamos para ello nada ms que las instrucciones AND, OR y sus derivados, y como accin la instruccin =(Copy).

INET / Fludica y controladores lgicos programables

56

INET / Fludica y controladores lgicos programables

Solucin 1. Antes de resolver cualquier problema debemos saber cuntas acciones realizaremos; de esta manera, podemos saber cul es la condicin que debemos realizar para que la accin se cumpla. Cules 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 accin (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

Solucin 2. Aqu mostramos otra manera de resolver este problema usando menos instrucciones:

Lista de instrucciones: LD IN 01 OR OUT 01 Contina a la pgina siguiente.

57

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 seguirn encendidas. Al pulsar nuevamente IN 1 se apagarn ambas salidas y, as, sucesivamente. IN 1. Pulsador 1 Out 1. Lmpara 1 Out 2. Lmpara 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 Contina a la pgina siguiente.

INET / Fludica y controladores lgicos programables

58

INET / Fludica y controladores lgicos programables

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 lgico, ya que los PLC de la gama compacta no podran ser usados. Esto se puede resolver usando memorias o flags. Estas memorias o flags tienen el mismo manejo que una salida; pero, no tienen vinculacin fsica con el exterior. Si se deseara poder utilizar una memoria como salida no sera posible; habra 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 duracin y, luego, procesarla. En la mayora de los PLC, estas memorias son retentivas2 y, ante cortes de energa elctrica, 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 tcnicas del fabricante.

59

Con este reemplazo, para encender dos lmparas 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

Tambin 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 Contina a la pgina siguiente.

INET / Fludica y controladores lgicos programables

60

INET / Fludica y controladores lgicos programables

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 parntesis, no se puede resolver; pero, la solucin correcta es utilizar memorias. Tratemos de resolver el siguiente ejemplo:

Realizamos un automtico 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. Tambin se podr realizar en sentido contrario.

61

La solucin: Lista de instrucciones para PLC con parntesis: LD IN 1 ANDN IN 2 OR ( IN 2 ANDN IN 1 ) = OUT 3 END Lista de instrucciones para PLC sin parntesis: 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 elctricos o electrnicos. Los ms comunes son los elctricos, que se clasifican en: Retardo en la conexin. Retardo en la desconexin. En algunos PLC, de acuerdo con el nmero de timers, puede ser de retardo en la conexin o de retardo en la desconexin. 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 caractersticas tcnicas. La cantidad de timers que tienen los PLC tambin es variada; va desde ocho en adelante y puede llegar en modelos de gran porte hasta 256. En cuanto a su precisin, los comunes rondan las dcimas de segundo; y, en PLC de tipo modular, dependiendo de la CPU utilizada, esta precisin llega a centsimas de segundo. El rango en que se los puede ajustar vara desde dcimas 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 dcima, entonces el timer estar ajustado en 25,5 segundos. El seteo del valor del timer se realiza en el software de programacin y edicin de programas; o, cuando est corriendo el PLC, mediante la utilizacin de hand hell, los cuales nos permitirn modificar a voluntad los valores del timer, al igual que visualizarlos mientras funciona.

INET / Fludica y controladores lgicos programables

62

INET / Fludica y controladores lgicos programables

Cmo encontramos expresados a los timers en un diagrama Ladder? En la parte condicional: En la parte de las acciones:

Donde # es el nmero que le corresponde a cada timer. a) Retardo en la conexin Diagrama temporal:

Diagrama de contactos:

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

63

Diagrama temporal: Diagrama de contactos

Lista de instrucciones: LD IN 2 = TIM 9 LD TIM 9 = OUT 2 END Una de las aplicaciones ms comunes de los temporizadores en un PLC es la de manejar el arranque de motores del tipo estrella tringulo. Con este tipo de sistema logramos realizar el arranque de motores trifsicos con gran sencillez. Una vuelta al problema Supongamos que el motor del ventilador de extraccin de gases contaminantes de la seccin pinturas de nuestra fbrica de envases es de ms de 10 HP . Debemos realizar un arranque del tipo estrella/triangulo, el cual tiene la tabla de asignaciones que puntualizamos a continuacin.

Supongamos que: IN 1: Pulsador de marcha IN 2: Pulsador de parada IN 3: Relevo trmico Out 1: Contactor de lnea Out 2: Contactor estrella Out 3: Contactor tringulo Ahora, con estos datos, realicemos el diagrama ladder:

INET / Fludica y controladores lgicos programables

64

INET / Fludica y controladores lgicos programables

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 automtico de paliers: cuando oprimo el pulsador ubicado a la salida de algn ascensor se enciende una luz y permanece en ese estado por un cierto tiempo.

Esto se podra realizar normalmente con timers en la desconexin; pero, no todos los PLC tienen esta alternativa, por eso realizamos un retardo en la desconexin con timers retardo en la conexin.

Usando contadores En los PLC podemos encontrar una variedad de contadores que pueden funcionar como si fueran elctricos o electrnicos. Los ms comunes son los elctricos, que se clasifican en: Contador ascendente Contador descendente Algunos PLC de acuerdo con cmo 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 caractersticas tcnicas. La cantidad de contadores que tienen los PLC tambin 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 precisin llega al orden de 15000 cuentas por segundo, dependiendo de la CPU utilizada. El rango en que se los puede ajustar vara desde dos a seis dgitos. El seteo del valor
Cuando se trate de timers de funcionamiento electrnico no elctrico, como mostramos aqu, lo mejor ser consultar las caractersticas tcnicas particulares de cada caso, en el manual del fabricante.

65

del contador se realiza en el software de programacin y edicin de programas, o cuando est corriendo el PLC, mediante la utilizacin de hand hell que permiten modificar a voluntar los valores del contador, al igual que visualizarlos mientras funcionan. Cmo encontramos expresados a los contadores en un diagrama ladder? En la parte condicional: En la parte de las acciones:

Donde # es el nmero que le corresponde a cada contador. Cmo 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, Lo que primero realizamos es la carga y limpieza del contador, antes de ponerlo a funcionar. Cuando colocamos un 1 lgico en esa entrada, el contador limpia su estado actual y se resetea; sus contactos de C# pasan a la posicin de reposo, tienen un 0. Recin en ese instante est en condiciones de contar puesto que, al limpiar su estado, tambin carga el valor de predeterminacin. 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 lgico en sus contactos los setea. El 1 lgico 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.

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

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 decisin, resulta necesario consultar las caractersticas tcnicas del fabricante.

INET / Fludica y controladores lgicos programables

66

INET / Fludica y controladores lgicos programables

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 instruccin = CSET 01 es la encargada de cargar y limpiar el estado del contador. La instruccin = CNT 01, por su parte, es la encargada de contar eventos.

Cuando se trata de contadores, lo mejor es consultar las caractersticas tcnicas particulares de cada caso, en el manual del fabricante. Aqu slo estamos haciendo referencia al manejo de contadores que realizan los PLC de la empresa Dydec.

Formas de representacin de las fases operativas de una mquina 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 conmutacin. Las extensas descripciones literales resultan de difcil o confusa interpretacin, por lo que se hace imprescindible adoptar mtodos de representacin claros y concretos, ya sea en forma literal o grfica. Seguidamente, indicamos distintos mtodos para la representacin de las fases operativas de las mquinas. Si bien todos son de aplicacin general, es el grado de complejidad del equipo el que define el ms adecuado en cada caso. Es importante destacar que las formas de representacin son independientes de la tecnologa utilizada; por consiguiente, son aplicables para centrales de mando neumtico, hidrulico, mecnico, elctrico, electrnico o combinaciones de stos. Vamos a referirnos a: representacin descriptiva simplificada, representacin abreviada con vectores, representacin abreviada con signos, representacin en forma de diagramas.

67

1. Representacin descriptiva simplificada: Fase 1: A extiende su vstago, el cilindro A sujeta la pieza. Fase 2: B extiende su vstago, el cilindro B acciona el punzn de marcacin. Fase 3: B retrae su vstago, el cilindro B retrocede. Fase 4: A retrae su vstago, el cilindro A libera la pieza.

2. Representacin abreviada con vectores: En este caso, el movimiento de los cilindros o actuadores se representa por vectores. Se adopta, convencionalmente: Salida (extensin) del vstago Entrada (retraccin) del vstago Ejemplos: 1) Fase 1 Fase 2 Fase 3 Fase 4 A B B A 2) Fase 1 Fase 2 Fase 3 Fase 4 A B B A C C

3. Representacin abreviada con signos: En este caso, el movimiento de los cilindros o actuadores es designado con los signos ms (+) y menos (-). Se adopta, convencionalmente: + Salida (extensin) del vstago - Entrada (retraccin) del vstago Ejemplos: Fase 1 1) 2) 3) A+ A+ A+ Fase 2 B+ B+ B+ Fase 3 BB- C+ BC+ Fase 4 AA- CAC-

INET / Fludica y controladores lgicos programables

68

INET / Fludica y controladores lgicos programables

4. Representacin en forma de diagramas: 4.1. Diagrama espacio-fase: En el diagrama espacio-fase se representa la secuencia de accin de las unidades de trabajo y el encadenamiento de las seales 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 posicin de reposo del elemento (motor detenido, cilindro con vstago retrado, etc.) y valor 1 para identificar el estado del elemento actuado (motor en marcha, cilindro con su vstago extendido, etc.). Estas designaciones constituyen una prctica corriente; no obstante, su carcter 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 estn caracterizados por la modificacin o cambio del estado de un elemento constitutivo del mando. Estos cambios se indican con lneas verticales auxiliares sobre el diagrama, que denominamos lneas de fase. Siempre debemos tratar que los principios de representacin y los smbolos utilizados sean iguales en todos los casos, a efectos de lograr que la lectura y comprensin puedan realizarse sin dificultad e inequvocamente. Para esto, adoptamos las siguientes reglas y smbolos bsicos:

Los actuadores (neumticos o hidrulicos) se representan por lneas. Las lneas horizontales representan estados de reposo del elemento (fases 1 y 3 en el diagrama de la figura). Las lneas inclinadas significan movimientos (fases 2 y 4 de la figura). Las lneas con distinta inclinacin evidencian distintas velocidades del movimiento; por ejemplo: aproximacin rpida, trabajo lento y retomo rpido (fases 1, 2 y 3 en el diagrama de la figura).

69

El arranque y parada de motores se indica con una lnea 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, rotacin en sentido horario; en tanto el inferior, lo contrario. El 0 central indica reposo (motor detenido). Los motores con aceleracin y deceleracin prolongada pueden representarse como en la figura (caso de inversin del giro). Cuando en un mando existen varios elementos de trabajo, stos son representados individualmente, uno debajo del otro, estableciendo su relacin por medio de las lneas de fase.

Los elementos de sealizacin son aquellos que, al ser actuados, emiten una seal capaz de modificar el estado de algn componente del mando.

INET / Fludica y controladores lgicos programables

70

INET / Fludica y controladores lgicos programables

La vinculacin entre los distintos elementos del mando son establecidas por las seales. stas se representan con lneas. Las lneas tienen un origen y un destino. Su origen es un elemento de sealizacin y su destino aquel cuyo estado debe ser cambiado (vlvula o cilindro). Una flecha indica el sentido de la seal.

Consideremos un ejemplo de aplicacin del diagrama espacio-fase:

Representemos en forma de diagrama espacio-fase la siguiente secuencia de mquina, 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 finalizacin del ciclo anterior.

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 ejecucin constituye una variable de consideracin en el equipo, la escala de tiempos simplemente se superpone a la de fases. Valen para este diagrama las mismas reglas y smbolos grficos ya mencionados. Su aplicacin resulta adecuada en aquellos mandos programados en funcin del tiempo, en tanto que el espacio-fase lo es para los mandos por programa de recorridos y de evolucin secuencial.

INET / Fludica y controladores lgicos programables

72

INET / Fludica y controladores lgicos programables

4.3. Diagrama funcional Grafcet: Un diagrama funcional es una representacin grfica que permite describir las funciones operativas de un automatismo. El Grafcet es un diagrama funcional desarrollado en 1977 por la Asociacin Francesa para la Ciberntica Econmica y Tcnica, y constituye un paso importante para la unificacin de la representacin del conjunto de condiciones de un automatismo lgico. Tiene un nombre propio para distinguirlo de otros diagramas funcionales y formas de representacin existentes como son los diagramas de Girard, organigramas lgicos, diagramas DIN 40719, etc.. Cmo pasamos de la representacin de un diagrama espacio-fase a programar un controlador lgico programable? Lo resolvemos usando la programacin 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.

Adems, siempre aparecen las instrucciones propias de la cascada sumadas a las del programa:

73

INET / Fludica y controladores lgicos programables

74

INET / Fludica y controladores lgicos programables

Aclaremos cmo funciona este mtodo de resolucin grfica: En primer lugar, siempre colocamos una memoria o flag normalmente cerrada (NC), como indica la figura. A continuacin, 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 continuacin, 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 continuacin, 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 tambin 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 automacin de una mquina automtica 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 atrs IN 6: Cilindro adelante Y, como salidas: Out 1: Alarma Out 2: A+ Out 3: A-

IN 6

5=1

IN 5

Marcha un Ciclo

IN 3

75

Solucin:

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 Contina en la pgina siguiente.

INET / Fludica y controladores lgicos programables

76

INET / Fludica y controladores lgicos programables

=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

6=1

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

T = 5 seg.

Situaciones de borne dem al anterior

77

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

Emergencia Marcha continua Un ciclo Parada fin de ciclo Cilindro atrs Cilindro adelante

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

INET / Fludica y controladores lgicos programables

78

INET / Fludica y controladores lgicos programables

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 Contina en la pgina siguiente.

79

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

Cilindro A

Cilindro B
0

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

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

Diagrama Ladder:

INET / Fludica y controladores lgicos programables

80

INET / Fludica y controladores lgicos programables

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 Contina a la pgina siguiente.

81

=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 Contina a la pgina siguiente.

INET / Fludica y controladores lgicos programables

82

INET / Fludica y controladores lgicos programables

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 1 2 3 4 5 6 7=1

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 atrs IN 6: Cilindro A adelante Out 1: Alarma Out 2: A+ Out 3: A-

83

INET / Fludica y controladores lgicos programables

Diagrama Ladder:

84

INET / Fludica y controladores lgicos programables

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 Contina a la pgina siguiente.

85

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 Integracin de Introduccin a la programacin 1. Explique brevemente los distintos lenguajes de programacin a travs de un ejemplo, referido al PLC que est desarrollando. 2. Cules son las consideraciones que debe tener al realizar la programacin de tipo Ladder? Refiralas al PLC que ha tomado como ejemplo. 3. Realice el diagrama espacio/fase de la mquina estampadora propuesta y efecte la programacin adecuada tanto Ladder como lista. Coloque los pulsadores de marcha continua, parada a fin de ciclo, parada de emergencia. Cuente la produccin y realice un sistema minino de indicacin de alarmas.

INET / Fludica y controladores lgicos programables

93

OTROS LENGUAJES DE PROGRAMACIN


Anexo 1 / Estructura del lenguaje STL

Adems de los lenguajes Ladder y Lista de instrucciones, existen otros que, en menor o mayor grado, tambin son muy adecuados cuando trabajamos con equipos de origen alemn o francs: el lenguaje STL y el lenguaje GRAFCET. Nos ocupamos de ellos en estos dos documentos anexos que completan nuestro mdulo.

INET / Fludica y controladores lgicos programables

95

Jerarqua de los elementos STL


Lenguaje STL Statement List Permite al programador resolver tareas de control usando expresiones sencillas en ingls, las que describen la operacin deseada del controlador.

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 operacin del programa. Consideremos cmo est organizado este lenguaje: Jerarqua de los elementos STL: PROGRAM STEP SENTENCE CONDITIONAL PART EXECUTIVE PART Aunque el uso de la instruccin STEP paso es opcional, la mayora de los programas requiere su uso. La instruccin step se utiliza para marcar el comienzo de un bloque lgico de cdigo de programa. Cada programa STL puede contener hasta 255 steps discretos, pudiendo cada uno de estos step incluir una o ms 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 slo es requerido si el step respectivo es asignado como destino por una instruccin de salto jump-. La sentence forma el nivel bsico de la organizacin del programa. Cada sentence consiste en una parte condicional y una parte ejecutiva. La parte condicional sirve para enumerar una o ms condiciones que deben evaluarse cuando el programa est corriendo y que pueden ser ciertas o falsas. La parte condicional siempre comienza con la expresin lf y contina con uno o ms enunciados que describen las condiciones a ser evaluadas. Si las condiciones programadas son evaluadas como true verdaderas, entonces cualquier instruccin programada en la parte ejecutiva es cumplida. El comienzo de la parte ejecutiva est marcado por la expresin THEN.

Sentencias tpicas Consideremos sentencias tpicas en STL sin el uso de la instruccin step: IF I1.0 THEN SETO1.2 IF N I2.0 THEN SET O2.3
2

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 informacin contenida en este documentos se corresponde con el lenguaje STL segn la implemetacin del FST Software Versin 3.X.

INET / Fludica y controladores lgicos programables

96

INET / Fludica y controladores lgicos programables

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 expresin THEN sean ejecutadas. Ms 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 parmetros 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 prxima sentencia introduce el uso de parntesis 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 instruccin OR para combinar por medio del parntesis 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 slo en mltiples sentencias sin usar la instruccin 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 instruccin STEP . Para que estos programas puedan funcionar y ser procesados continuamente, es necesario agregar la instruccin PSE. Para quienes estn 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:

97

Mientras que la sentencia equivalente en STL es: 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 inclusin de la instruccin OTHRW; porque, el lenguaje STL requiere instrucciones explcitas para alterar el estado de cualquier operando (por ejemplo: output, timer, counter). La instruccin PSE, por su parte, se coloca al final de la seccin 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. IF I1.0 THEN SET 02.6 PSE

Instruccin STEP Los programas que no usan la instruccin 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 instruccin STEP . Esta instruccin permite que los programas sean divididos en secciones discretas STEPS que son ejecutadas independientemente. En su forma ms 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 prximo step

Es importante comprender que el programa espera en este STEP hasta que las condiciones sean ciertas; recin en ese momento las acciones son ejecutadas y entonces, slo entonces, el programa sigue al prximo STEP . La etiqueta label del STEP slo es requerida si un STEP es el destino de una instruccin de salto jump. Debe notarse que cuando el softvvare FST carga los programas STL en el PLC, asigna nmeros relativos de STEP a cada uno de stos. Estos nmeros son reproducidos en los listados de programas, siendo de gran ayuda para monitorear la ejecucin de programas online con propsito de bsqueda de fallas debugging. Los STEP de un programa pueden incluir mltiples 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 / Fludica y controladores lgicos programables

98

INET / Fludica y controladores lgicos programables

En el ejemplo previo, se ha introducido el concepto de mltiples sentencias dentro de un STEP nico. Cuando el programa alcanza este STEP procesa la primera senten, cia (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 prximo 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 mltiples 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 ejecucin mltiple 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 evalan por verdadero o falso, nb sin importar el estado previo. Esta situacin es fcilmente manejada usando steps, flags u otro medio de control.

Las siguientes lneas pueden aplicarse como gua para determinar cmo los steps y las sentencias son procesados por el PLC:

Reglas de ejecucin: 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 prximo 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 ms complejas tareas:

99

Modificando el flujo del programa Adems de las estructuras de control inherentes en la instruccin STEP hay varias , instrucciones adicionales STL disponibles para modificar el criterio de ejecucin de los steps y sentencias del programa. El lenguaje STL tiene las siguientes instrucciones que permiten resolver, en forma rpida y sencilla, tareas de control simples y complejas.
SUMARIO DE INSTRUCCIONES STL
INSTRUCCIN AND BID CFM n CMP n CPL DEC DEB EXOR IF INC INV JMP TO (Step label) LOAD NOP PROPSITO Lleva a cabo una operacin Y-lgica en un operando monobit o multibit, y en constantes. Convierte el contenido del acumulador monobit, de formato binario a BCD. Comienza la ejecucin o inicializacin de un mdulo de funcin. Comienza la ejecucin de un mdulo de programa. Produce el complemento a dos, del contenido del acumulador monobit. Decrementa un acumulador / operando monobit. Convierte el contenido del acumulador monobit de formato BCD a binario. Realiza una operacin lgica EXOR en operandos monobit o multibit, y constantes. Este comando marca el comienzo de la parte condicional de una sentencia. Incrementa un operador/acumulador monobit. Produce el complemento a uno del contenido del acumulador monobit. Hace que el programa siga ejecutndose en el Step especificado por el label (etiqueta). Realiza la carga de operandos especificados (monobit o multibit) / constantes al acumulador monobit o multibit. Es una instruccin 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. Realiza la operacin lgica OR en operandos monobit y monobit, y constantes. Permite continuar la ejecucin del programa, si la parte condicional de una sentencia es false. Program Section End Fin de la seccin del programa. Modifica operandos monobit a su estado lgico 0. Rota a izquierda una posicin todos los bits contenidos en el acumulador monobit. El bit ms significativo se mueve a la posicin del menos significativo.

OR OTHRW PSE RESET ROL

INET / Fludica y controladores lgicos programables

100

INET / Fludica y controladores lgicos programables

ROR SET SHIFT SHL

Rota a derecha una posicin todos los bits contenidos en el acumulador monobit. El bit menos significativo se mueve a la posicin del ms significativo. Modifica operandos monobit a su estado lgico 1. Realiza la operacin de transferencia swap entre un operando monobit y el acumulador monobit. Desplaza una posicin a izquierda a todos los bit contenidos en el acumulador monobit. El bit ms significativo se pierde y el menos significativo se llena con un cero (0). Desplaza una posicin a derecha a todos los bit contenidos en el acumulador monobit. El bit menos significativo se pierde y el ms significativo se llena con un cero (0). Intercambia los bytes alto y bajo del acumulador monobit. Se usa en conjuncin con la instruccin LOAD, para especificar un operando de destino. Marca el comienzo de la parte ejecutiva de una sentencia. Instruccin usada para pasar parmetros con algunas instrucciones del tipo CFM/CMP En algunos modelos de PLC, especifica velocidades de reloj. .

SHR

SWAP TO THEN WITH

Consideremos algunas de estas instrucciones: Instruccin NOP: La instruccin 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 instruccin NOP puede usarse para la ejecucin 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 lnea.

El uso tpico puede verse en el ejemplo siguiente:

El programador desea que, cuando la ejecucin 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, despus de pasar exactamente una vez el programa, encender la output 3.6 y proceder al prximo step. Esto es porque hemos forzado la ltima sentencia a ser verdadera, mediante la instruccin 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.

101

La instruccin 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 prximo step. IF I3.2 THEN NOP THEN SET 03.6 Si input 3.2 es activa no hacer nada e ir al prximo step encender output 3.6, salir de este step e ir al prximo step.

Instruccin JMP TO: Otra instruccin STL que puede usarse para modificar el flujo de ejecucin del programa es la instruccin JMP . La instruccin 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 accin 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 prximo paso.

Puede verse que no solamente hemos alterado el flujo del programa, sino que adems 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.

Instruccin OTHRW La instruccin OTHRW otherwise; por otra parte, sino puede cambiar el flujo del programa. Esta instruccin se ejecuta cuando la ltima clusula IF encontrada es evaluada como no vlida 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 / Fludica y controladores lgicos programables

102

INET / Fludica y controladores lgicos programables

Direccionando entradas y salidas inputs y outputs Vamos a detallar ahora cmo acceder a las entradas digitales inputs y a las salidas digitales outputs, usando el lenguaje STL. Inputs y outputs estn 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 pginas ms nos ocuparemos de ellos. Los controladores lgicos programables de Festo organizan las inputs y outputs (I/ O) como un word grupo. Dependiendo del modelo de controlador particular (o del mdulo 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 direccin de la word (n). Este nmero de direccin es generalmente fijo en controladores pequeos y configurable (por medio de llaves) en sistemas modulares. las word de entrada input words, a menudo, son identificadas con iwn; mientras que

103

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 nmero de direccin 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 nmero de direcciones que el de un output word (por ejemplo, IW1 y OWI). Las entradas y salidas individuales que estn en un grupo de I/O estn identificadas de la siguiente forma: Si es entrada o salida (I u O) + el nmero de direccin de la word (n) + . Seguido por el nmero particular de posicin de I / 0 (Sn).

Los nmeros de la posicin pueden estar entre -7 o 0-15, dependiendo del tamao del grupo de I/O. Por ejemplo: I3.2 I0.15 02.7 O0.0 Posicin input 2 de la input word 3 Posicin 15 de la input word 0 Posicin output 7 de la output word 2 Posicin output 0 de la output word 0

1. Usando Inputs en programas: Las inputs son elementos del sistema de control que estn diseados para ser ledos o consultados. Estn conectadas a dispositivos externos tales como sensores, llaves, etc., los que pueden o no suministrar una seal 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 seal vlida en input 1.1 Verifica una seal falsa en input 3.3

Las entradas mltiples, as como otras condiciones, pueden combinarse lgicamente. 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 estn recibiendo seales vlidas, podramos hacer un AND lgico a cada input:

INET / Fludica y controladores lgicos programables

104

INET / Fludica y controladores lgicos programables

IF AND AND AND AND AND AND AND

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

Aqu verificamos si todas las 8 inputs de una input word de 8 bit estn recibiendo seales vlidas o usando la ventaja del lenguaje STL de evaluar words completas. La siguiente podra ser la secuencia del programa: IF (lw2 = V255) solamente verifica si todas las 8 inputs estn en ...11111111 (binario) = 255

Tareas ms complejas, las que requeriran largos listados si se programaran bit a bit, son fcilmente llevadas a cabo usando input words combinadas con otras instrucciones lgicas. Para ver si una o ms de las inputs 1.5, 1.6 1.7 son vlidas, 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 elctricos, mediante instrucciones de programa, lo que activar (SET) o desactivar (RESET) las salidas requeridas (output). Mientras las inputs pueden slo ser ledas (consultadas), las outputs pueden ser escritas (SET o RESET) y pueden tambin 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 instruccin SET se usa para conmutar a SI una output. La instruccin 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

105

Setear una output que ya est SET o resetear una output que ya est RESET no tiene ningn efecto. Como se nota, las outputs pueden ser consultadas en la parte condicional. La siguiente instruccin verifica si la input 2.4 est recibiendo una seal vlida 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 cmo se trabaja con timers, contadores, registros y flags en el lenguaje STL. Organizaremos la exposicin en cuatro ttulos: 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 Bit de estado del timer Referencia Tn Funcin Permite a un programa consultar si el timer est activo (corriendo). El bit cambia a activo cuando se arranca (SET) y el perodo del timer est activo (corriendo). Al completarse el tiempo programado o si el timer es detenido (RESET), el bit de estado se vuelve inactivo. Es un operando de 16 bit que contiene el valor que define el perodo para el timer n. Es un operando de 16 bit al que el operando TP tiempo de preseleccin es transferido automticamente cuando el timer es arrancado (SET). Luego este valor es decrementado por el sistema a intervalos.

Timer preselect (Preseleccin del temporizador) Timer Word

Tpn

Twn

INET / Fludica y controladores lgicos programables

106

INET / Fludica y controladores lgicos programables

Se requiere de varios pasos para usar un timer en un programa STL: 1. Establecer una preseleccin de timer vlida. 2. Establecer una instruccin para arrancar el timer. 3. Comprobar el estado del timer: activo / detenido.

Los modelos de controladores que incorporan bateras de resguardo de memoria back-up batteries mantienen los valores de preseleccin de los timers durante

1. Establecer una preseleccin de timer vlida3: Antes que pueda usarse cualquier timer, debe inicializarse el timer preselect con un valor correspondiente al perodo de tiempo deseado. Esta inicializacin slo 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 inicializacin 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.) Por ejemplo, para la inicializacin de la preseleccin 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 preseleccin del timer 4, velocidad reloj = seconds ...timer 4. Ser ahora un timer de 10 segundos

los perodos en que el controlador est desconectado o apagado. Estos valores tambin son mantenidos en controladores que no tienen bateras de respaldo pero que tienen tecnologas ms modernas como, por ejemplo, FLASHROM, o Zero Power RAM (Estos dispositivos son RAM mantenidos por bateras montadas en el mismo chip).

Las velocidades de reloj son: HSC TSC SEC MIN cientos de segundos decenas de segundos segundos minutos

Por ejemplo, para la inicializacin de la preseleccin de timer sin una velocidad de reloj: STEP 1 Lo hacemos primero! IF NOP Incondicionalmente LOAD V100 valor 100... la velocidad del reloj estndar (sin especificar) ser en incrementos de 1/100 de segundo TO TPO a la preseleccin del timer 0 = 1 seg. Se ha inicializado el Timer 0 para tener una duracin de 1 segundo (100 x 1/100 segundo). El rango permitido es de 0 - 65535, lo que habilita a perodos del timer entre 0.01s y 655.35 s (aproximadamente, 10 minutos).

Dependiendo del modelo de controlador que se est usando, podra o no requerirse la especificacin del reloj, as como el valor del temporizador. Por favor, refirase al manual del controlador que usted est usando.

107

2. Establecer una instruccin para arrancar el timer: Arrancar start un timer requiere solamente emplear una instruccin SET especificando, adems, cul es el timer a ser puesto en marcha:
Si una instruccin de SET de un timer se ejecuta y el timer especificado ya est funcionando (activo), ser rearrancado y un nuevo perodo de tiempo comenzar.

IF THEN SET

I1.0 T6

Cualquier condicin para comenzar Entonces arrancar timer 6

Siempre que la instruccin SET Tn se ejecute, ocurre lo siguiente: El valor almacenado en tpn timer preselect n o preseleccin del timer n se copia a la twn timer word n. Tn timer status n o estado del timer n se activa ponindose en 1 (activo / corriendo). El controlador automticamente 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 cundo 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 N T5 T3 Verifica si el timer 5 est activo (corriendo) Verifica si el timer 3 no est activo (detenido)

IF

Detener un timer slo requiere de una instruccin RESET, adems de especificar cul es el timer que debe detenerse: IF I2.0 THEN RESET T5 lnput para detener el timer Detener timer 5

Si se ejecuta la instruccin 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 relacin entre las instrucciones bit de estado del timer timer status Bit; Tn, el SET Tn, el RESET Tn y el perodo normal de tiempo:

INET / Fludica y controladores lgicos programables

108

INET / Fludica y controladores lgicos programables

La lnea slida representa una secuencia de temporizado normal en la cual el estado del timer se vuelve activo cuando la instruccin SET Tn se ejecuta; el estado retorna a inactivo cuando el perodo programado de tiempo se ha completado. La lnea de puntos indica que con una instruccin RESET Tn inmediatamente retorna el estado del timer a inactivo. Es importante comprender que, al construir programas o steps que contengan mltiples sentencias que sern procesadas en una manera paralela (barrido), cada vez que la parte condicional de una sentencia evale sta como verdadera, las instrucciones programadas en la parte ejecutiva sern evaluadas. Esto debe considerarse para evitar ejecuciones mltiples 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 situacin es fcilmente 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 seccin de programa en la que se desea poner en marcha un motor durante 3 segundos, cada vez que se presiona un botn, 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 instruccin N Timer. STEP 1 IF THEN

NOP LOAD V900 TO LOAD V300 TO SET

Inicializar al conectar energa 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

109

STEP 10 IF

THEN SET

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 Botn presionado Arrancar timer O1.0 Arrancar motor

STEP 20 IF THEN

N RESET SET JMP TO

T2 O1.0 T0 10

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

Tambin 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 informacin de si el timer 2 ha sido arrancado y se ha completado su temporizacin. Por ello, al construir programas en STL con sentencias que sern procesadas mltiples veces, es importante tomar las medidas necesarias para evitar resultados inesperados.

El siguiente ejemplo muestra una seccin de programa en la que un botn pulsador se usa para hacer que un cilindro extienda su vstago por un tiempo predeterminado preset. Manteniendo el botn pulsador presionando, o presionando y soltando el botn mltiples veces dentro del perodo de tiempo definido, no se altera el tiempo programado. STEP 1 THEN TO RESET LOAD TO STEP 2 IF AND N AND N THEN SET SET SET Inicializacin; slo la primera vez LOAD V0 OW0 F3.0 V100 TP0 Apagar todas las salidas Borrar flag 3.0 Inicializar timer Que el timer T0, sea de 1 segundo Seccin de barrido principal Botn 1 es presionado y el timer 0 no est corriendo Forma de deteccin de flanco Arrancar timer 0 Extender cilindro 1 Memorizar flanco positivo de pulsador Timer 0 no activo y el cilindro est extendido luego retraer el cilindro Timer 0 no activo

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

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

INET / Fludica y controladores lgicos programables

110

INET / Fludica y controladores lgicos programables

AND AND N

F3.0 I1.0

y tuvimos previamente un flanco ascendente y el botn pulsador es liberado, se detecta el flanco descendente

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

Usando counters4 Consideremos algunas funciones bsicas para el uso de contadores:


Elemento / Operando Counter Status Bit(Bit de estado delcontador) Referencia Cn Funcin 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 nmero de cuentas programadas se alcanza o si es detenido reset, el bit de estado se vuelve inactivo. Un operando de 16 Bit que contiene el valor deseado de la cuenta. Un operando de 16 Bit que contiene el nmero corriente de cuentas almacenadas mediante las instrucciones decrementar o incrementar. Al usar counters estndar y ejecutar la instruccin SET Cn, la counter word es automticamente cero.

Counter preselect Counter Word

Cpn Cwn

Los modelos de controladores que incorporan bateras de respaldo, mantienen los valores de preseleccin del counter, bits de estado y words durante los perodos sin energa de red. Igualmente, con los nuevos, equipados con EEPROM o NVRAM.

Vamos a dividir nuestra exposicin en dos partes: Contadores estndar Contadores incrementales / decrementales Contadores estndar: Un counter estndar es til para el conteo de eventos determinados y para llevar a cabo, luego, una accin deseada, cuando se arribe a la cuenta predefinida. Para operar counters estndar es necesario: 1. Establecer una preseleccin de counter vlida 2. Establecer una instruccin para arrancar el counter 3. Controlar el estado del counter: activado / detenido 1. Establecer una preseleccin de counter vlida: Antes de que un counter estndar pueda usarse, el respectivo counter preselect debe ser inicializado con un valor correspondiente al nmero de eventos a ser contado. Esta inicializacin slo 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.
4

No intentamos describir aqu la operacin o la implementacin de ningn contador de alta velocidad especial ni de aquellos manejados por interruptores, los que estn disponibles en algunos modelos de controladores. el uso de counters con estas caractersticas especiales puede ser encontrado en el manual de hardware del controlador en cuestin.

111

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 condicin deseada... Cargamos un valor absoluto de 100 como el nmero 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 condicin deseada lnput word 1 como el valor de entrada al counter preselect 5

Por medio de la instruccin DEB podemos usar llaves externas BCD para establecer la cuenta.

2. Establecer una instruccin para arrancar el counter: Arrancar un contador slo requiere de una instruccin SET y especificar qu counter debe arrancarse:
Si una instruccin SET de un counter es ejecutada y el counter especificado est ya activo, es rearrancado y la cuenta actual (en cwn) es puesta a cero (0).

IF THEN SET

I1.2 C2

Condiciones deseadas Activar counter 2

Siempre que la instruccin 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 cundo 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 instruccin INC cwn como la DEC cwn. Un counter puede ser detenido en cualquier momento con la instruccin RESET Cn. Cuando la instruccin 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 estndar en conjuncin con la estructura step para evitar incrementos mltiples descontrolados en los Steps 10 y 15:

INET / Fludica y controladores lgicos programables

112

INET / Fludica y controladores lgicos programables

Un botn pulsador se usa para comenzar un ciclo de mquina. 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. STEP 1 THEN Encendido C0 Contador de botellas C1 Contador de pulsadas O1.0 Apagar rampa O1.1 Apagar presin de corchos V25 cuntos para contar CP0 preseleccin counter 0 V2 cuntas pulsadas CP2 preseleccin counter 2 V100 100 x .01s = 1 segundo TP0 Timer 0 Preselect Esperar botn de marcha I1.0 Botn de marcha C0 Activar contador O1.0 Arrancar rampa Comenzar contando botellas I1.1 una botella fue sensada CW0 incrementar contador de botellas 25 botellas ya? C0 hemos hecho todo, entonces... O1.0 detener rampa C2 activar contador de pulsadas 50 salir lazo de conteo sino I1.1 10 Esperar por la ltima botella contada; que se mueva fuera del sensor Y seguir contando

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

RESET RESET RESET RESET LOAD TO LOAD TO LOAD TO

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

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

STEP 5 IF THEN

SET SET

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

STEP 10 IF THEN STEP 15

INC

IF N THEN RESET SET JMP TO OTHRW IF THEN STEP 50 THEN N JMP TO

SET SET INC

25 botellas fueron contadas O1.1 Presionar los corchos T2 Arrancar timer de presionado CW2 contar este presionado Timer espera 1 segundo T2 tiempo finalizado O1.1 detener el presionando Hecho? corchos presionados 2 veces volver a Step 5 presionar de nuevo

STEP 60 IF THEN STEP 70 IF THEN OTHRW

N RESET

N JMP TO JMP TO

C2 5 50

113

El prximo ejemplo es el de un contador estndar en una seccin de programa tipo paralelo en la que la estructura del Step no es usada para evitar incrementos mltiples e incontrolados del counter. En cambio, se usa una solucin alternativa mediante un Flag:

El programa espera por el botn 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 incrementara el counter en cada barrido scan del programa ms que en cada vez que el cilindro fue nuevamente extendido. STEP 1 IF THEN LOAD TO OW1 RESET LOAD TO SET STEP 2 IF Inicializacin 1 vez solamente Botn de marcha apretado Todas las outputs apagadas Borrar flag 3.0 Inicializar timer Hacer un contador de ciclo de 100 Arrancar el counter Seccin principal de barrido Cilindro retrado y el Counter 0 est activo Para detectar flanco Vlvula para extender cilindro apagada Comenzar a extender cilindro Perfecto para ver una nueva extensin Cilindro est extendido, Nuevo flanco Contar el ciclo Actualizar control de flancos Comenzar retraer cilindro 100 cuentas fueron hechas Comenzar todo de nuevo

I1.0 V0 F3.0 V100 CP0 C0

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

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

Contadores incrementales / decrementales: Adems de usar los contadores estndar que ya describimos, el lenguaje STL, a travs del uso de operandos multibit, crea counters comnmente 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 estndar, no hay necesidad de inicializacin 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 / Fludica y controladores lgicos programables

114

INET / Fludica y controladores lgicos programables

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 STEP 20 IF (I1-1 AND I2.3 ) THEN DEC R50 JMP TO 30 IF (I1.1 AND N I2.3 ) THEN STEP 30 IF THEN RESET JMP TO OTHRW NOP STEP 40 IF N THEN JMP TO I1.1 20 NOP Esperar por la seal de marcha I1.0 Botn de marcha V100 Nmero a producir R50 Registro 50 es el contador O1.1 Arrancar la mquina 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

Ver si ya tenemos las 100 (R50 = V0) Trabajo terminado O1.1 Detener la mquina 10 Volver al comienzo O si no est hecho, seguir 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, an cuando la cantidad exacta de estos registros vara de acuerdo al modelo. Estos registros son operandos multibit y pueden usarse para almacenar nmeros en el rango de: 0 - 65535 enteros sin signo +/- 32767 enteros con signo Se utilizan los registros en conjuncin con la instruccin LOAD TO y operaciones lgicas multibit.
Si el modelo de controlador que usted est usando incluye batera de respaldo o algn sistema de memoria permanente, los contenidos de los registros sern mantenidos mientras no haya energa conectada al equipo. Los registros que no hayan sido inicializados contendrn valores aleatorios (en el sistema no existen rutinas de limpieza).
5

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

115

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 mltiple de procesos secuenciales dentro de una nica seccin de programa barrida. Para usar registros en la parte condicional de una sentencia: IF AND AND < THEN... R51 = V111) T7 R3 R8) 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 Condiciones programadas Load el contenido del registro 12 al MBA Sumar el contenido del registro 50 Y almacenar el resultado en registro 45

LOAD + TO

R12 R50 R45

Usando flags y flag words Se describe a continuacin la construccin lgica, y uso de flags y flag words para los controladores programables de Festo. Las flag words son, de muchas formas, casi idnticas a los registros. Las flag words contienen, cada una, unidades de 16 bits de informacin. Dentro del lenguaje STL se usa la abreviatura FW. Los flag words son capaces de almacenar datos numricos 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 tambin direccionable de a un bit (Por ejemplo, el FPC100 contiene 16 flag words, direccionadas como FWO a FWI 5). Es tambin posible direccionar bits individuales flags de cada flag word, mediante la siguiente sintaxis: F(nmero de Flag Word), nmero de BIT Donde el nmero de bit vara 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.

Si el modelo del controlador que usted est usando incluye memoria del tipo FLASHRAM o ZPRAM, o en su defecto batera de respaldo, el contenido ser mantenido durante los perodos de corte o interrupcin de la alimentacin de energa. Aquellos flags que nunca hayan sido inicializados contendrn valores aleatorios.

INET / Fludica y controladores lgicos programables

116

INET / Fludica y controladores lgicos programables

Mientras que los flag words pueden usarse con cualesquiera instrucciones STL para operandos multibit, los flags individuales son slo accesibles usando instrucciones STL diseadas 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 rels encontrados a menudo en el diagrama escalera (Ladder Diagram). El FPC405, que soporta mltiples mdulos 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 mltiples CPU, cada Word es direccionada como: CPU nmero, flag word nmero (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 direccin: CPU nmero. F(nmero de flag word).Bit nmero (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 tambin 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 MBOs multibit operandos. Consideremos el modo de programacin 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 I3.0 Si input 3.0 es vlida 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

(( = N

Ejemplos de la parte ejecutiva: IF THEN SET IF I1.1 Si input 1.1 es vlida entonces

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

117

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 instruccin 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 lnea de maquinado en la cual filas de moldes sean cargadas en la estacin 0 y, a continuacin, varias operaciones deban ser llevadas a cabo a lo largo de las siguientes 15 estaciones. La mquina completa cicla cada 2 segundos y durante ese tiempo una nueva fila de moldes puede o no ser cargada en la estacin 1..., lo que puede verificarse por medio de un sensor. Las estaciones 1-15 no incluyen sensores, pero se requiere que la estacin opere solamente cuando haya una parte en el lugar. Esto presenta una situacin ideal para usar un registro de desplazamiento.

Usaremos flag word 6 para tener el seguimiento de cules son las estaciones que contienen materiales a ser maquinados. La instruccin SHL Shifl Left; desplazar a la izquierda se usar para mover realmente los bits individuales dentro del flag word. Se usarn las siguientes I/O: Input 1.0 Input 1.1 Input 2.2 Output 2.0 Outputs 1.0 1.15 Botn de marcha Sensor de partes en la estacin 0 Se indexa lnea transfer lndexa lnea de maquinado Controla la operacin de maquinado en las estaciones 0-15, respectivamente Arranque Botn de arranque

STEP 10 IF THEN AND LOAD I2.2 TO LOAD TO STEP 15 IF THEN IF

I1.0

V200 TPO V0 FW6

La lnea es indexada 2 segundos a la preseleccin timer 0 Supone nueva produccin corriendo No partes en ninguna estacin

SET >

Esperar hasta que algunas partes estn listas I1.1 Parte fue encontrada en estacin 0 F6.0 Memorizarlo (FW6 Alguna parte para procesar? V0 ) Algo existe!

INET / Fludica y controladores lgicos programables

118

INET / Fludica y controladores lgicos programables

THEN

LOAD TO SET

FW6 OW1 Arrancar motor en estaciones con partes T0 Arrancar timer proceso Timer de maquinado hecho? T0 Tiempo terminado V0 Apagar todos los motores de la estacin O2.0 Arrancar lnea indexado 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 Est completo el index? I2.2 Nuevo punto de index O2.0 Detener Index del motor 15 Volver al Step 15 por ms

STEP 20 IF THEN

N LOAD SET

STEP 25 IF THEN

N LOAD SHL TO

STEP 30 IF THEN

RESET JMP TO

Funciones especiales del lenguaje STL Aqu vamos a suministrarle informacin bsica concerniente a: Entradas / salidas analgicas 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 analgicas: Contrariamente a las entradas / salidas digitales (1 o 0), las seales analgicas toman la forma de una seal variable continuamente dentro de un rango predefinido. Ya que la CPU slo es capaz de funcionar internamente usando seales digitales, conectar un PLC a entradas analgicas o salidas analgicas requiere componentes de hardware especial. Hay varios rangos o tipos de seales analgicas que son populares en el control industrial. Si excluimos seales analgicas 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 analgicas sean tiles, el software de programacin debe suministrar los medios de llevar a cabo las funciones deseadas. Las funciones analgicas bsicas usadas en control industrial incluyen:

119

Setear un nivel analgico de salida basado en un valor digital Convertir una seal de entrada analgica en un valor digital Para efectuar estas funciones dentro del lenguaje de programacin del PLC usado, en general, se integran procedimientos especializados CFM o FN6. Redes: Una red es tpicamente empleada para conectar varios elementos de un sistema de procesamiento distribuido en el cual cada subsistema controla una especfica seccin, fsica o lgica, de la tarea total. El uso de una red facilita a estas secciones combinarse de una manera ordenada. Sin importar el lenguaje de programacin 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 mdulo que contiene las rutinas especializadas de software que pueden ser direccionadas por el lenguaje STL. Las funciones tpicas que deben ser llevadas a cabo en una red incluyen: Inicializar estaciones de red. Requerir a otra estacin ejecutar un comando. Gerenciar transmisiones de red. La interfase entre el lenguaje STL y el software especializado de red es efectuada mediante la instruccin CFM. Control de posicionamiento: Puede ser necesario controlar rpidamente y con precisin la posicin de componentes mecnicos 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, precisin, efectividad del costo, confiabilidad.

Redes En el contexto de este material de capacitacin y del lenguaje STL, se refiere al hardware y software que proporcionan los medios para interconectar sistemas de control que, de otra forma, seran unidades independientes.

Diversos tipos de motores estn disponibles. Estas elecciones incluyen motores de pasos y servomotores, as como motores de mltiple velocidad, los que pueden incorporar componentes de frenado. Variaciones adicionales pueden o no incorporar control a lazo cerrado. Las ms 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 informacin general sobre los CFM Call Function Module puede ser leida en los manuales tcnicos de cada Controlador Lgico Programable, puesto que, de acuerdo con la marca y modelo de cada PLC, stas trabajan de manera distinta.

INET / Fludica y controladores lgicos programables

120

INET / Fludica y controladores lgicos programables

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 estndar elctrico RS485, el cual define los parmetros de la estructura de un bus serie de alta velocidad. Debe hacerse una diferenciacin entre los elementos que forman la estructura del bus interna del controlador y el sistema de field bus. Las I/O estndar estn conectadas de forma muy cercana, tanto elctrica como fsicamente a la estructura de bus paralela interna del controlador. Mientras que esta estructura provee accesos de alta velocidad, su naturaleza pone lmites al hardware en cuanto al nmero de I/O nicas direccionables posibles. El concepto de field bus utiliza el antes mencionado bus serie para unir una estacin maestra Master y mltiples estaciones esclavas, a velocidades de transmisin hasta 375,000 bits por segundo. Ya que estas estaciones pueden localizarse en relativamente largas distancias (3001200 metros), stas son a menudo genricamente referidas como I/O Remotas. Las altas velocidades de transmisin, cuando se combinan con el ahorro en costos al usar un par de cables trenzados para la conexin 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 estacin field bus master. El lenguaje STL permite acceder a estas I/O usando las mismas instrucciones SET y RESET que usan las I/O estndar ubicadas fsicamente en el controlador Para acomodar la configuracin extendida usando el field bus, la sintaxis de instrucciones I/O debe tambin 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 = Direccin de sistema del procesador master del field bus A = Direccin estacin esclava de field bus [1... 99] M = Direccin de modulo opcional [0... 15] S = Nmero de terminal opcional [0...15]

7 Sin embargo, Festo suministra programas especializados y mdulos de programa que han sido optimizados y/o adaptados para control de posicin.

121

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 mayora de las tareas de control se divide en tres categoras: Completamente secuencial Mayormente secuencial con algunos eventos aleatorios Completamente aleatorio Adems, en muchas situaciones, se presenta la situacin de tener que manejar varias secuencias de control simultneamente. Ejemplo 1. Completamente secuencial: Las tareas completamente secuenciales son especialmente aptas para el lenguaje STL a causa de la estructura implcita del step.

La tarea secuencial consiste en controlar 3 cilindros neumticos por medio de 3 vlvulas solenoide 3/2, en una secuencia definida. Cuando se aplica alimentacin de energa al sistema y el botn de arranque es presionado, el cilindro A debe extenderse completamente por 3 segundos y luego retraerse. A continuacin, 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. Despus, el cilindro A es otra vez extendido y todos los tres cilindros se retraen y esperan la presin del botn 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 Botn de arranque Cilindro A retrado Cilindro A extendido Cilindro B retrado Cilindro B extendido Cilindro C retrado Cilindro C extendido Cilindro A extendido (solenoide) Cilindro B extendido (solenoide) Cilindro C extendido (solenoide)

INET / Fludica y controladores lgicos programables

122

INET / Fludica y controladores lgicos programables

Resolucin: STEP 1 IF THEN TO Inicializacin 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 Asegurarse todas las posiciones ok Botn arranque presionado Cilindro A est retrado Cilindro B est retrado Cilindro C est retrado Comenzar extendiendo cilindro A Cilindro A, completamente extendido? Ahora est totalmente extendido Arrancar timer 3 segundos

NOP LOAD LOAD TO LOAD TO

STEP 5 IF AND AND AND SET

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

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

SET

I1.2 T0

RESET

Esperar 3 segundos T0 Si timer complet tiempo O1.0 Comenzar retraer cilindro A Cilindro A, completamente retrado? I1.1 Cilindro A est retrado C2 Set counter 2 - 4 cuentas O1.1 Comenzar extender cilindro B

SET SET

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 Es sta la 4 extensin ? I1.3 Cilindro B retrado y 4 C2 Carreras no terminado O1.1 Comenzar a extender cilindro B 20 Ciclos continuos I1.3 Cilindro B retrado y 4 C2 Carreras hechas O1.1 Comenzar a extender cilindro B Cilindro B, completamente extendido? I1.4 Cilindro B completamente extendido 5 x O1.2 Comenzar extendiendo cilindro C Cilindro C, completamente extendido? I1.6 Cilindro C completamente extendido O1.0 Comenzar extendiendo cilindro A

STEP 22 IF THEN JMP IF AND THEN STEP 30 IF THEN STEP 35 IF THEN AND SET TO N SET

SET

SET

123

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 tambin Retraer Cilindro A Retraer Cilindro B Retraer Cilindro C Volver al Step 5

Ejemplo 2. Mayormente secuencial con eventos aleatorios: Mientras que algunas mquinas simples pueden ser completamente secuenciales en la operacin, existen una o ms excepciones que cambian la clasificacin de las tareas, de modo de no ser sta totalmente secuencial. Si la mayora de las tareas de control fuera secuencial y el modelo del controlador lgico permitiese multitarea, una solucin 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 podran 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 botn pulsador de pausa; el cual al ser presionado resulta en la suspensin de la ejecucin del programa hasta que ste est liberado nuevamente.

Resolucin: STEP 1 IF THEN TO Inicializacin 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 Asegurarse todas las posiciones ok I1.0 Botn arranque presionado I1.1 Cilindro A est retrado I1.3 Cilindro B est retrado I1.5 Cilindro C est retrado Botn de pausa no activo Ol.0 Comenzar extendiendo cilindro A

NOP LOAD LOAD TO LOAD TO

STEP 5 IF AND AND AND AND THEN

N SET

I1.7

Otras posibles soluciones incluyen el uso de procesamiento por interrupciones (slo soportada en algunos controladores) o construyendo la secuencia entera como una seccin de programa en paralelo (barrido). Retomaremos esta resolucin en el ejemplo 3.

INET / Fludica y controladores lgicos programables

124

INET / Fludica y controladores lgicos programables

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

JMP TO SET

I1.7 10 I1.2 T0

Cilindro A, completamente extendido? Botn de pausa Si es as, quedarse ac Ahora completamente extendido Arrancar timer 3 segundos Esperar 3 segundos Botn de pausa Si es as, quedarse ac Si timer complet tiempo Comenzar retraer cilindro A Cilindro A, completamente retrado? Botn de pausa Si es as, quedarse ac Cilindro A est retrado Set counter 2 - 4 cuentas Comenzar extender cilindro B Cilindro B, completamente extendido? Botn de pausa Si es as, quedarse ac Ahora est completamente extendido Contar este ciclo Comenzar retraer cilindro B

JMP TO RESET O1.0

I1.7 12 T0

JMP TO SET SET

I1.7 15 I1.1 C2

O1.1

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 INC O1.1

I1.7 20 I1.4 CW2

JMP TO C2 SET TO N SET

I1.7 22 I1.3

Es sta la 4 extensin ? Botn de pausa Si es as, quedarse ac Cilindro B retrado y 4 Carreras no terminado O1.1 Comenzar a extender cilindro B 20 Ciclos continuos I1.3 Cilindro B retrado y 4 C2 Carreras hechas O1.1 Comenzar a extender cilindro B Cilindro B, completamente extendido? Botn de pausa Si es as, quedarse ac Cilindro B completamente extendido 5 x Comenzar extendiendo cilindro C Cilindro C, completamente extendido? Botn de pausa Si es as, quedarse ac Cilindro C completamente extendido Comenzar extendiendo cilindro A Todos cilindros extendidos? Botn de pausa Si es as, quedarse ac Cilindro A completamente extendido tambin

JMP TO SET

I1.7 30 I1.4 O1.2

JMP TO SET

I1.7 35 I1.6 O1.0

JMP TO

I1.7 40 I1.2

125

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 sera un estricto proceso secuencial, usando la instruccin Step.

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

Un ejemplo tpico de una situacin as podra ser el control de la programacin de puesta a punto setup de una mquina cualquiera. La operacin es definida por el operador de la mquina presionando distintos botones del tipo pulsador, cada uno de los cuales tiene asignada una funcin nica.

El siguiente programa desarrolla el programa de Setup para una mquina de moldeo de inyeccin de plstico. Resolucin: STEP 10 IF THEN TO STEP 20 IF THEN IF THEN OTHRW F AND N THEN IF THEN OTHRW IF THEN OTHRW IF THEN inicializacin Siempre cierto V0 Apagar todas outputs

NOP LOAD OW1

Step de barrido I1.0 Botn pulsador cierre molde SET O1.0 Cierre de molde I1,1 Botn pulsador inyecta plstico AND I2.0 Sensor molde cerrado SET OI.3 Solenoide inyeccin RESET OI.3 I1.2 Botn pulsador apertura molde OI.3 Inyeccin no activa RESET O1.0 Apertura molde I1.3 Mecanismo rota tornillo SET O1.1 Solenoide rota tornillo RESET O1.1 Mecanismo detencin tornillo I1.4 Sensor molde completamente abierto AND I1.5 Botn pulsador eyector de molde SET O1.4 Solenoide eyector de molde RESET O1.4 Proceso de detencin de eyeccin NOP Hacer siempre JMPTO 20 Seguir procesando

INET / Fludica y controladores lgicos programables

127

OTROS LENGUAJES DE PROGRAMACIN


Anexo 2 / Estructura del lenguaje GRAFCET

INET / Fludica y controladores lgicos programables

129

GRAFCET grfico de mando etapa transicin Es un diagrama funcional que describe la evolucin 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 pueden obtener las secuencias que ha de realizar el autmata programable.

El empleo del lenguaje GRAFCET para resolver tareas de automatizacin facilita el dilogo entre personas con niveles de formacin tcnica diferente, tanto en el momento del anlisis del proceso a automatizar como, posteriormente, en el mantenimiento y reparacin de averas. El GRAFCET surge en Francia a mediados de los aos 70, debido a la colaboracin entre algunos fabricantes de autmatas, como Telemecanique y Aper con dos organismos oficiales, AFCET Asociacin Francesa para la Ciberntica, Economa y Tcnica y ADEPA Agencia Nacional para el Desarrollo de la Produccin Automatizada. Homologado en Francia NFC, Alemania DIN y, posteriormente, por la Comisin Electrotcnica Internacional (norma IEC 848, ao 1988) y regulado por la Norma francesa (NF C03-190). Actualmente es una herramienta imprescindible cuando se trata de automatizar procesos secuenciales de cierta complejidad con autmatas programables. A continuacin se describen los smbolos normalizados utilizados en el GRAFCET en lo que hace a: etapas y condiciones de transicin. Etapas: Para representar la evolucin de un proceso con GRAFCET, se considera que el proceso a automatizar y el autmata que se emplea como controlador forman un solo sistema. El nexo de unin entre las actuaciones que hay que hacer sobre el proceso (activar un motor, cerrar una vlvula, etc.) y el programa de usuario, cargado en el autmata, que da origen a aquellas es la etapa. Por tanto, la representacin grfica de la evolucin 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 nmero, o una E con un nmero como subndice; en ambos casos, el nmero 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.

Representacin de etapas

Representacin de etapas iniciales

INET / Fludica y controladores lgicos programables

130

INET / Fludica y controladores lgicos programables

Las acciones que llevan asociadas las etapas se representan con un rectngulo donde se indica el tipo de accin a realizar.

Condiciones de transicin: Un proceso secuencial se caracteriza porque una accin determinada se realiza en funcin del resultado de la accin anterior. En GRAFCET, el proceso se descompone en una serie de etapas que son activadas una tras otra. Por tanto, tiene que existir una condicin que se ha de cumplir para pasar de una a otra etapa; se la llama condicin de transicin CT.

En la figura se representan dos etapas y una condicin de transicin entre ellas. Para que el proceso evolucione de la etapa 4 a la etapa 5, es necesario que la etapa 4 est activa y, adems, que se cumpla la activacin de la condicin CT; entonces, se produce la activacin de la etapa 5. Slo puede existir una etapa activa; por tanto, cuando se produce la activacin de la etapa 5 se desactiva la etapa 4. La condicin de transicin est siempre asociada a la etapa posterior en este caso, a la 5. La condicin de transicin puede ser una o varias de las variables que intervienen en el proceso (por ejemplo, una seal de un final de carrera, la activacin de un motor, un tiempo, etc.) Para la condicin de transicin se emplea lgica positiva y podemos tomar los dos valores CT=1 y CT=0; a continuacin se indican algunos ejemplos.

131

Condicin activa: CT = F1. La activacin de la etapa 5 se produce cuando el final de carrera F1 est activado. Condicin inactiva: CT = NF1. La activacin de la etapa 5 se produce cuando el final de carrera F1 esta inactivo. Condicin por tiempo: CT = t/3/10 seg. La activacin se produce cuando el temporizador activado en la etapa 3 alcanza los 10 segundos. Condicin de varias variables: CT = F1; NF2; F3. La activacin se produce si los finales de carrera F1 y F3 estn activos y F2 est inactivo. Condicin incondicional: CT = 1. La activacin de la etapa 5 se produce al activarse la etapa 4. Condicin flanco descendente: CT = A1 !. La activacin se produce cuando la seal A1 pasa de 1 a 0. Condicin flanco ascendente: CT = A1 !. La activacin se produce cuando la seal A1 pasa de 0 a 1. Podemos resumir una serie de reglas bsicas 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 slo estn activas cuando la etapa est activa. Una etapa se hace activa cuando la precedente lo est y la condicin de transicin entre ambas etapas ha sido activada. La activacin de una condicin de transicin implica la activacin de la etapa siguiente y la desactivacin 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 lgicas Una vez representado, el GRAFCET permite obtener las ecuaciones lgicas que controlan la activacin de cada etapa y la evolucin del ciclo. Una de las formas de obtener las ecuaciones se basa en el funcionamiento de un controlador asncrono 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 condicin de transicin 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 condicin de transicin E N +1. Mientras las etapas estn activas (Q = 1), las acciones que llevan asociadas tambin lo estn.

INET / Fludica y controladores lgicos programables

132

INET / Fludica y controladores lgicos programables

Consideraremos, a continuacin: Instrucciones Set y RESET. Eleccin condicional entre varias secuencias. Secuencias simultneas. 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 condicin de transicin, 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 autmata. Las instrucciones SET y RESET se utilizan junto con las variables internas asociadas a cada una de las etapas del GRAFCET.

IN 1: Instruccin SET; IN 2: Instruccin RST

Cuando la entrada 1 del autmata se activa, la instruccin SET activar el rel interno R1 que permanecer activado aunque se desactive la entrada 1; para desactivarlo ser necesario emplear una instruccin 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 condicin de transicin la que al cumplirse activa la etapa posterior y desactiva la etapa anterior.

133

En la figura se representa un ciclo de GRAFCET, y las ecuaciones que permiten la activacin y desactivacin de la etapa En: para activarla se realiza la funcin AND entre la etapa anterior y la condicin de transicin asociada a En; para desactivarla se realiza la funcin AND entre la propia En y la condicin de transicin 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 autmata, anulamos la ultima etapa activa; y, si todas las etapas estn desactivadas, en el prximo ciclo se activa inicialmente E0.

Segunda forma. Con la ltima condicin de transicin activamos E0 y desactivamos la ltima etapa activa.

Tercera forma. Muchos autmatas tienen una serie de variables internas especficas; la ms comn es el impulso inicial al pasar a modo RUN; PI. Este impulso inicial, en la mayora de tos autmatas, permanece activo durante el primer ciclo.

INET / Fludica y controladores lgicos programables

134

INET / Fludica y controladores lgicos programables

Cualquiera de las tres formas para activar la etapa E0 es vlida. El empleo de una de ellas en concreto es funcin del proceso que se pretende automatizar y del autmata que se utilice. Eleccin condicional entre varias secuencias: Suele ocurrir que, en un proceso, se llegue a un punto del ciclo en el que hay que efectuar una eleccin entre varias secuencias posibles, en funcin de las variables que intervienen en el proceso.

Las ecuaciones para el inicio de sentencia condicionales son:

135

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

INET / Fludica y controladores lgicos programables

136

INET / Fludica y controladores lgicos programables

La activacin de las secuencias simultneas es:

El comienzo de las dos secuencias simultneas se produce cuando se cumple la condicin de transicin F. El final se produce cuando las dos etapas E7 y E8 estn activas, y se cumple la condicin de transicin F5.

El final de las sentencias simultneas:

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 evolucin del GRAFCET como en el sentido inverso. El sentido del salto viene indicado por las flechas:

137

INET / Fludica y controladores lgicos programables

138

INET / Fludica y controladores lgicos programables

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 accin 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 accin.

es necesario que la condicin y la etapa estn activas conjuntamente.

Por lo general, la etapa E0 no lleva asociada ninguna accin; slo se emplea para iniciar el ciclo una vez que ha sido activada. Cuando se realizan dos secuencias simultneas, es posible que el tiempo que cada una de estas secuencias tarda en realizarse sea distinto, en funcin del nmero de tareas asociadas a las etapas, en funcin de cundo se activen las condiciones de transicin, etc. Para terminar dos secuencias simultneas es necesario que las etapas ltimas de cada una de ellas estn activas; una o las dos pueden ser etapas de espera para que la secuencia ms rpida aguarde el final de la secuencia ms lenta.

139

La conclusin para activar la etapa de espera es la terminacin 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, cules 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 evolucin del proceso y que no son secuenciales como, por ejemplo, las condiciones de emergencia (alarmas de fallos, rels trmicos, etc.). Con las variables utilizadas en este apartado se implementan las ecuaciones necesarias para obtener, en caso de funcionamiento correcto, la seal 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 funcin de las condiciones de transicin. Las condiciones de transicin estn formadas por las seales proporcionadas por los sensores a las entradas del autmata y por las variables internas asociadas a otras etapas anteriores. 3. La asignacin 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 autmata, de forma que pueda existir una conexin fsica entre el sistema de control y el proceso a controlar. Comprobados y depurados los tres apartados, el paso siguiente es el de realizar la asignacin de las variables que intervienen en el proceso a las entradas, salidas y variables internas del autmata concreto que se va a utilizar. Empleando uno de los lenguajes de programacin disponibles, esquema de contactos o lista de instrucciones, introducimos las ecuaciones que hemos obtenido en los tres apartados. Cuando se transfiera el programa al autmata y se active el modo RUN, el ciclo que realiza constantemente es:

INET / Fludica y controladores lgicos programables

140

INET / Fludica y controladores lgicos programables

Lectura de variables

Condiciones iniciales

GRAFCET

Programa del usuario

Asignacin de etapas de GRAFCET a las salidas

Actualizacin de variables

Consideremos algunos ejemplos:

Vamos a representar la secuencia de operacin de una prensa destinada a la fabricacin de piezas a partir de polvos metlicos.

141

La colocacin del material est asegurada manualmente por el operador. Un indicador luminoso V est encendido durante todo el curso de la colocacin. Terminada aqulla, el operador autoriza la continuacin de las operaciones, presionando dos pulsadores simultneamente. Los movimientos del punzn superior y de la matriz son efectuados por cilindros hidrulicos de doble efecto. Las posiciones alta y baja del punzn y de la matriz son controladas con la ayuda de captadores de fin de carrera (respectivamente a0 y a1, b1 y b0) de naturaleza elctrica.

INET / Fludica y controladores lgicos programables

142

INET / Fludica y controladores lgicos programables

La evacuacin de la pieza es obtenida por medio de un chorro de aire, con una duracin de un segundo. Este chorro de aire est comandado por una electrovlvula 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) Salidas: EVB = EVC = EVD =

I I I I I I

100 101 102 200 201 0

O0 O1 O 100

Solucin: Tipo de PLC Tiempo de Scan Base de tiempo TMR 00 a 15 Base de tiempo TMR 16 a 31

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

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

INI LD INI LD INI LD INI H 0707 WG00 H 0707 Z02 H 0707 Z03

Inicializacin

Gracet 00

Entradas

Salidas

TRANS LD AND AND AND STR I 0102 I 0100 I 0201 I 0300 UO000

Transiciones c0 = Vstago retrado cil. C b0 = Vstago retrado cil. B d0 = Vstago retrado cil. D PM = Pulsador de marcha

143

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 LD AND STR LD AND STR LD AND STR LD AND STR

I 0200 I 0300 UO001 I 0200 I 0300 UO002 I 0000 I 0300 UO003 I 0100 I 0300 UO004 I 0102 I 0300 UO005

c1 = Vstago afuera cil. C PM = Pulsador de marcha

b1 = Vstago afuera cil. B PM = Pulsador de marcha

d1 = Vstago afuera cil. D PM = Pulsador de marcha

b0 = Vstago retrado cil. B PM = Pulsador de marcha

c0 = Vstago retrado 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 SALIDAS LD LD LD LD STR LD LD STR LD LD G0001 G0002 G0003 G0004 O0000 G0003 G0004 O0000 G0003 G0004

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

C+

B+

INET / Fludica y controladores lgicos programables

144

INET / Fludica y controladores lgicos programables

75 76 77 78

LD STR END

G0005 O0100

D+

Ejercicio 2: A partir del planteo del ejercicio 1, introducimos la variante de eleccin del tipo de ciclo mediante la llave 0-1-2, donde: 0 = avance paso a paso, 1 = ciclo simple y 2 = ciclo automtico. El pulsador de parada PP permite detener la secuencia, reanudndose 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 automtico) I 700 PP = I 301 Solucin: 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 INI LD INI LD INI LD INI H 0707 WG00 H 0707 Z02 H 0707 Z03 TRANS LD AND AND INT OR STR LD INT OR STR I 0102 I 0100 I 0201 I 0300 U1000 UO000 I 0200 I 0300 U1000 UO001

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

Gracet 00

Entradas

Salidas Transiciones c0 = Vstago retrado cil. C b0 = Vstago retrado cil. B d0 = Vstago retrado cil. D PM = Pulsador de marcha

c1 = Vstago afuera cil. C PM = Pulsador de marcha

145

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 LD INT OR STR LD INT OR STR LD INT OR STR LD INT OR STR LD AND AND LD LD AND PUT

I 0200 I 0300 UO002 I 0101 I 0300 U1000 UO003 I 0000 I 0300 U1000 UO004 I 0002 I 0300 U1000 UO005 I 0300 I 0202 I 0700 U1000 I 0300 I 0202 I 0700 I 0301 I 0302 I 0300 U1000

b1 = Vstago afuera cil. B PM = Pulsador de marcha

d1 = Vstago afuera cil. D PM = Pulsador de marcha

b0 = Vstago retrado cil. B PM = Pulsador de marcha

c0 = Vstago retrado cil. C PM = Pulsador de marcha

PM = Pulsador de marcha LL1 = ciclo simple LL2 = automtico

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 / Fludica y controladores lgicos programables

146

INET / Fludica y controladores lgicos programables

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 LD LD STR LD LD LD STR END G0001 G0002 G0003 G0004 O0001 G0002 G0003 O0000 G0003 G0004 G0005 O0100

C+

B+

D+