controladores lógicos programables plc - norberto molinari

140
Controladores lógicos programables –PLC– serie/desarrollo de contenidos 2 colección/fluídica y controladores lógicos programables

Upload: armando-vazquez-mancilla

Post on 24-Jul-2015

486 views

Category:

Documents


12 download

TRANSCRIPT

Page 1: Controladores lógicos programables PLC - Norberto Molinari

Controladores lógicosprogramables –PLC–

serie/desarrollo de contenidos

2

colección/fluídica y controladores lógicos programables

Page 2: Controladores lógicos programables PLC - Norberto Molinari

2

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Autoridades

Presidente de la NaciónNéstor C. Kirchner

Ministro de Educación, Ciencia y TecnologíaDaniel Filmus

Directora Ejecutiva del Instituto Nacional de Educación TecnológicaMaría Rosa Almandoz

Director Nacional del Centro Nacional de Educación TecnológicaJuan Manuel Kirschenbaum

Especialista en contenidos

• Norberto Molinari

Todos los derechos reservados. Ley 11.723Ministerio de Educación, Ciencia y TecnologíaInstituto Nacional de Educación TecnológicaSaavedra 789. C1229ACECiudad Autónoma de Buenos AiresRepública Argentina

Page 3: Controladores lógicos programables PLC - Norberto Molinari

3

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Colecciones

• Autotrónica• Comunicación de señales y datos• Diseño gráfico industrial• Electrónica y sistemas de control• Fluídica y controladores lógicos programables

1. Tecnología neumática2. Controladores lógicos programables –PLC–

• Gestión de la calidad• Gestión de las organizaciones• Informática• Invernadero computarizado• Laboratorio interactivo de idiomas• Procesos de producción integrada• Proyecto tecnológico• Unidades de cultura tecnológica

serie/desarrollo de contenidos

Page 4: Controladores lógicos programables PLC - Norberto Molinari
Page 5: Controladores lógicos programables PLC - Norberto Molinari

5

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Índice

El Centro Nacional de Educación Tecnológica 7

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

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

decisiones y acciones 22

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

3. Introducción a la programación• Instrucciones y programas 43• Ejecución de programas 46• Lenguajes de programación típicos 48• Asignaciones de programas 49• Consideraciones previas sobre la programación Ladder 50• Usando memorias 58• Usando timers 61• Usando contadores 64• Formas de representación de las fases operativas de la máquina 66

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

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

Page 6: Controladores lógicos programables PLC - Norberto Molinari

6

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Page 7: Controladores lógicos programables PLC - Norberto Molinari

7

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

El Centro Nacional de Educación Tecnológica

Generar valor con equidaden la sociedad del conocimiento.

La misión del Centro Nacional de Educación Tecnológica –CeNET– comprende eldiseño, el desarrollo y la implementación de proyectos innovadores en el área de laeducación tecnológica y de la educación técnico profesional, que vinculan la forma-ción con el mundo del trabajo.

Acorde con esta misión, el CeNET tiene como propósitos los de:

• Constituirse en referente nacional del Sistema de Educación Tecnológica, so-bre la base de la excelencia de sus prestaciones y de su gestión.

• Ser un ámbito de capacitación, adopción, adaptación y desarrollo de meto-dología para la generación de capacidades estratégicas en el campo de laEducación Tecnológica.

• Coordinar, mediante una red, un Sistema de Educación Tecnológica.• Favorecer el desarrollo de las pequeñas y medianas empresas, a través del

sistema educativo.• Capacitar en el uso de tecnologías a docentes, jóvenes, adultos, personas de

la tercera edad, profesionales, técnicos y estudiantes.• Brindar asistencia técnica.• Articular recursos asociativos, integrando los actores sociales interesados en el

desarrollo del Sistema de Educación Tecnológica.

Desde el CeNET venimos trabajando, así, en distintas líneas de acción que convergen enel objetivo de reunir a profesores, a especialistas en Tecnología y a representantes de laindustria y de la empresa, en acciones compartidas que permitan que la EducaciónTecnológica se desarrolle en la escuela de un modo sistemático, enriquecedor, profun-do... auténticamente formativo, tanto para los alumnos como para los docentes.

Una de nuestras líneas de acción es la de diseñar, implementar y difundir trayectosde capacitación y de actualización. En CeNET contamos con quince unidades degestión de aprendizaje en las que se desarrollan cursos, talleres, pasantías, encuen-tros, destinados a cada educador y a cada miembro de la comunidad que deseeintegrarse en ellos:

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

Page 8: Controladores lógicos programables PLC - Norberto Molinari

8

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Otra de nuestras líneas de trabajo asume la responsabilidad de generar y participaren redes que integren al Centro con organismos e instituciones educativos ocupadosen la Educación Tecnológica, y con organismos, instituciones y empresas dedicadosa la tecnología en general. Entre estas redes, se encuentra la que conecta a CeNETcon los Centros Regionales de Educación Tecnológica –CeRET– y con las Unidadesde Cultura Tecnológica instalados en todo el país.

También nos ocupa la tarea de producir materiales didácticos. Desde CeNET he-mos desarrollado cinco series de publicaciones:

• Educación Tecnológica, que abarca materiales (uni y multimedia) que buscanposibilitar al destinatario una definición curricular del área de la Tecnología enel ámbito escolar y que incluye marcos teóricos generales, de referencia, acer-ca del área en su conjunto y de sus contenidos, enfoques, procedimientos yestrategias didácticas más generales.

• Desarrollo de contenidos, nuestra segunda serie de publicaciones, que nucleafascículos de capacitación que pueden permitir una profundización en los cam-pos de problemas y de contenidos de las distintas áreas del conocimientotecnológico (los quince ámbitos que puntualizábamos y otros que se les vayansumando) y que recopila, también, experiencias de capacitación docente de-sarrolladas en cada una de estas áreas.

• Educación con tecnologías, que propicia el uso de las nuevas tecnologías de lainformación y de la comunicación como recursos didácticos, en las clases detodas las áreas y espacios curriculares.

• Educadores en tecnología, que focaliza el análisis y las propuestas en uno delos constituyentes del proceso didáctico: el profesional que ensela Tecnología,ahondando en los rasdos de formación, de sus prácticas, de sus procesos decapacitación, de su vinculación con los lineamientos curriculares y con laspolíticas educativas, de interactividad con sus alumnos, y con sus propiossaberes y modos de hacer.

• Documentos de la escuela técnica, que difunde los marcos normativos ycurriculares que desde el CONET –Consejo Nacional de Educación Técnica–delinearon la educación técnica de nuestro país.

A partir de estas líneas de trabajo, el CeNET intenta constituirse en un ámbito en elque las escuelas, los docentes, los representantes de los sistemas técnico y científi-co, y las empresas puedan desarrollar proyectos innovadores que redunden en mejo-ras para la enseñanza y el aprendizaje de la Tecnología.

Buenos Aires, julio de 2004

Page 9: Controladores lógicos programables PLC - Norberto Molinari

9

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

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

Los cambios que se están produciendo en el mundo del trabajo a partir del desarrollode procesos de reestructuración –tanto en la producción como en los servicios–,demandan permanentes procesos de actualización y de capacitación de todos losactores sociales involucrados, como así también el desarrollo de nuevas tecnologías.

Hoy, los sistemas informáticos, mecánicos, electrónicos y de comunicaciones (redesy protocolos) se integran entre ellos en un todo armónico y funcional, como un únicocomplejo automático. La automatización –que, en su concepto más amplio, consisteen el control y en la gestión de sistemas automáticos, accionados mediante un con-junto de técnicas y dispositivos particulares– se convierte, así, en el fundamento detodos los procesos industriales avanzados y, en consecuencia, en una disciplina debase común a todas las direcciones de especialización profesional.

Y, como cada cambio tecnológico modifica notablemente la imagen de estas máqui-nas automáticas –sobre todo, por el efecto de las transformaciones en el campoelectrónico, y por el avance de las técnicas eléctricas y electrónicas de control entecnologías tradicionales como la neumática y la hidráulica– los conocimientos re-queridos a quien opera en este sector –proyectando, instalando y manteniendo–aumentan gradualmente y asumen el carácter de capacitación multidisciplinar.

Para que usted avance en esta dirección, desde Controladores lógicos programables–PLC– nos proponemos que logre:

• Comprender qué es y para qué sirve un PLC, indagando es su estructura y enla integración funcional de sus componentes.

• Caracterizar los procesos de puesta en marcha, programación, conexionadode entradas y salidas, e Instalación, puesta a punto y mantenimiento de unPLC.

• Tomar decisiones respecto del uso de PLC en determinadas instalaciones.

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

El problema

La empresa para la cual usted trabaja corresponde al área de bienes y servicios, yse dedica a la actividad de transformación de materia prima: procesa chapas dealuminio para confeccionar envases que contendrán alimentos.

Para esto, está organizada en distintas áreas o sectores –gerencias, administracio-nes, jefatura de planta, oficina técnica, etc.–. Bajo la órbita de la gerencia deplanta se encuentra la oficina técnica en la que usted se desempeña junto a suspares, conformando un equipo interdisciplinario de ingenieros, técnicos electróni-cos, eléctricos, mecánicos y administrativos.

El jefe de la oficina técnica es un ingeniero con una amplia experiencia en tareas deproducción de envases de aluminio para la industria alimenticia; se ha desempeña-

Page 10: Controladores lógicos programables PLC - Norberto Molinari

10

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

do con éxito en el desarrollo de nuevos envases para la conservación de alimentosperecederos, optimizando las tareas de ensamble de dichos recipientes, como asítambién las de envasado de líneas de alta producción.

Para poder cumplir con la demanda en un mercado en franco crecimiento, la em-presa ha adquirido una nueva planta para la confección de latas de aluminio. Lastareas que deben realizar sus colegas en esta planta necesitan de las competen-cias que usted aporte al equipo.

En reuniones de trabajo, su grupo decide, inicialmente, que la planta de confec-ción de latas requiere una máquina capaz de realizar tareas de estampado, comoasí también de sistemas de automatización en silos y cintas transportadoras.

En el momento de distribuir las tareas y procedimientos a cumplir por cada uno delos integrantes de la oficina técnica, el jefe del proyecto le encomienda a ustedrealizar el sistema automático para el estampado de dichas latas de aluminio,teniendo en cuenta, por supuesto, las futuras ampliaciones de éste, las normas deseguridad existentes y la elección del sistema de control óptimo.

Entonces... deberá especificar el sistema de control más adecuado, decidir sobre lalógica de mando de este sistema, detallar en forma precisa las características para lacompra del material –teniendo en cuenta la relación costo-beneficio–, asistiendo asus colegas de la oficina de compras, realizar los planos del cableado, programarlos sistemas de control, si fuese necesario, y supervisar su construcción.

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

Page 11: Controladores lógicos programables PLC - Norberto Molinari

11

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

1. CONTROLADORESLÓGICOS PROGRAMABLES

Page 12: Controladores lógicos programables PLC - Norberto Molinari
Page 13: Controladores lógicos programables PLC - Norberto Molinari

13

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

La etapa de la lógica cableada está terminando. Otra, la de los PLC, está afianzándose.

Es necesario tomar conciencia de la necesidad de subirse al carro de la nueva etapalo antes posible; o sea, ahora.

¿Qué es y para qué sirve un PLC?

Se lo puede definir como una «caja negra» en la que existen:

• terminales de entrada a los que se conectan pulsadores, finales de carrera,fotocélulas, detectores;

• terminales de salida a los que se conectan bobinas de contactores,electroválvulas, lámparas...

La actuación de estos últimos está en función de las señales de entrada que esténactivadas en cada momento, según el programa almacenado.

Esto quiere decir que los elementos tradicionales –relés auxiliares, relés de enclava-miento, temporizadores, contadores– son internos.

Controlador lógico

programable

Un PLC o autómata progra-

mable es toda máquina elec-

trónica diseñada para con-

trolar, en tiempo real y en

medio industrial, procesos

secuenciales. Realiza funcio-

nes lógicas: series, parale-

los, temporizaciones, cuen-

tas; y otras más potentes

como cálculos, regulacio-

nes, etc.

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

Antecedentes históricos

El desafío constante que toda industria tiene planteado para ser competitiva, es elmotor impulsor del desarrollo de nuevas tecnologías para conseguir una mayor pro-ductividad.

Debido a que ciertas etapas en los procesos de fabricación se realizan en ambientesnocivos para la salud, con gases tóxicos, ruidos, temperaturas extremadamente altaso bajas... y uniendo esta situación a consideraciones de productividad, siempre sepensó en la posibilidad de dejar ciertas tareas tediosas, repetitivas y peligrosas a unente que no fuera afectado por las condiciones ambientales adversas. Nace, así, lamáquina y, con ella, la automatización.

Surgen, entonces, empresas dedicadas al desarrollo de los elementos que hacenposible tal automatización.

Page 14: Controladores lógicos programables PLC - Norberto Molinari

14

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Debido a que las máquinas son diferentes y diferentes las maniobras a realizar, sehace necesario crear elementos estándar que, mediante su combinación, permitan alusuario realizar la secuencia de movimientos deseada para solucionar su problemade aplicación particular.

Relés, temporizadores, contadores, fueron y son los elementos con que se cuentapara realizar el control de cualquier máquina. Debido a la constante mejora de lacalidad de estos elementos y a la demanda del mercado, que exige mayor y mejorcalidad en la producción, el número de etapas en los procesos de fabricación contro-lados de forma automática se va incrementando.

Comienzan, entonces, a aparecer problemas: los armarios o tableros de maniobra endonde se coloca el conjunto de relés, temporizadores, contadores, etc., constituti-vos de un control se hacen cada vez más y más grandes, la probabilidad de avería esenorme, su localización es larga y complicada, el stock que el usuario se ve obligadoa soportar es numeroso y su costo se incrementa cada vez más.

El desarrollo tecnológico que traen, inicialmente, los semiconductores y, después,los circuitos integrados, intenta resolver el problema, sustituyendo las funciones rea-lizadas mediante relés por funciones realizadas con compuertas lógicas.

Con estos nuevos elementos se gana en fiabilidad y se reduce el problema del espa-cio; pero, no sucede lo mismo con la detección de averías ni con el problema demantenimiento de un stock. Además, subsiste un problema: la falta de flexibilidad delos sistemas.

Comparemos las distintas opciones tecnológicas disponibles:

Microprocesa-dores

Microcontrola-dores

TIPOFAMILIALÓGICA

SUBFAMILIA ESPECÍFICA

Lógicacableada

Lógicaprogramada

Eléctrica

Electrónica

Electrónica

RelésElectroneumáticaElectrohidráulica

Electrónica estática

Sistemas dedicados

PLC

Sistemasinformáticos

Las opciones tecnológicas son variadas. Con los desarrollos tecnológicos y los cam-bios frecuentes en la producción, se hacen necesarios sistemas que nos permita teneruna producción flexible, ágil y con muy poco tiempo de parada de máquina porreprogramación en las tareas a realizar.

Debido a estas constantes modificaciones que las industrias se ven obligadas a rea-lizar en sus instalaciones para la mejora de la productividad, los armarios de manio-bra tienen que ser cambiados permanentemente, con la consiguiente pérdida detiempo y el aumento del costo que ello produce.

A fin de la década del ’60, grandes empresas de la industria automotor de los EEUUimponen a sus proveedores de automatismo unas especificaciones para la realiza-

Page 15: Controladores lógicos programables PLC - Norberto Molinari

15

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

ción de un sistema de control electrónico para máquinas transfer: Este equipo debeser fácilmente programable, sin recurrir a las computadoras industriales ya en servicioen la industria.

Los controladores lógicos programables, limitados originalmente a los tratamientosde lógica secuencial, se desarrollan rápidamente y, en la actualidad, extienden susaplicaciones al conjunto de sistemas de control de procesos y de máquinas.

Campo de aplicación

El PLC, por sus especiales características de diseño, tiene un campo de aplicaciónmuy extenso. La constante evolución del hardware y software amplía continuamenteeste campo, para poder satisfacer las necesidades que se detectan en el espectro desus posibilidades reales.

Su utilización se da, fundamentalmente, en aquellas instalaciones en donde es nece-sario realizar procesos de maniobra, control, señalización, etc. Por tanto, su aplica-ción abarca desde procesos de fabricación industrial de cualquier tipo, hasta trans-formaciones industriales, control de instalaciones, etc.

Sus reducidas dimensiones, la extremada facilidad de su montaje, la posibilidad dealmacenar los programas para su posterior y rápida utilización, la opción de modifi-carlos o alterarlos, hace que su eficacia se aprecie, fundamentalmente, en procesosen que se producen necesidades tales como:

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

Ejemplos de aplicaciones generales podrían ser los siguientes:

Máquinas:• industria del mueble y madera,• procesos de grava, arena y cemento,• industria del plástico,• máquinas- herramientas complejas,• procesos textiles y de confección,• ensamblaje,• transfer.

Instalaciones de:• aire acondicionado, calefacción,• seguridad,• frío industrial,• almacenamiento y trasvase de cereales,• plantas embotelladoras,• tratamientos térmicos,• plantas depuradoras de residuos,• cerámica.

Page 16: Controladores lógicos programables PLC - Norberto Molinari

16

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

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

Ventajas e inconvenientes de los PLC

No todos los PLC ofrecen las mismas ventajas sobre la lógica cableada. Esto esdebido, principalmente, a la variedad de modelos existentes en el mercado y a lasinnovaciones técnicas que surgen constantemente (Estas consideraciones nos obli-gan a referirnos a las ventajas que proporciona un PLC de tipo medio).

a) Ventajas

La condición favorable básica que presenta un PLC es el menor tiempo empleado enla elaboración de proyectos debido a que:

• No es necesario dibujar el esquema de contactos.• No es necesario simplificar las ecuaciones lógicas ya que, por lo general, la

capacidad de almacenamiento del módulo de memoria es lo suficientementegrande.

• La lista de materiales queda sensiblemente reducida y, al elaborar el presu-puesto correspondiente, se elimina parte del problema que supone el contarcon diferentes proveedores, distintos plazos de entrega, etc.

• Existe posibilidad de introducir modificaciones sin cambiar el cableado ni aña-dir aparatos.

• Cuenta con mínimo espacio de ocupación.• Presenta menor costo de mano de obra de la instalación.• Tiene economía de mantenimiento; además de aumentar la fiabilidad del siste-

ma, al eliminar contactos móviles, los mismos PLC pueden detectar e indicaraverías.

• Presenta la posibilidad de gobernar varias máquinas con un mismo PLC.• Exige menor tiempo para la puesta en funcionamiento del proceso, al quedar

reducido el tiempo de cableado.

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

b) Inconvenientes

• Se requiere un programador, lo que obliga a capacitar a uno de los técnicos ental sentido.

• El costo inicial también puede ser –o no– un inconveniente, según las caracte-rísticas del automatismo en cuestión.

Dado que el PLC cubre ventajosamente un amplio espacio entre la lógica cableada yel microprocesador, es preciso que el proyectista lo conozca tanto en su amplitudcomo en sus limitaciones. Por tanto, aunque el costo inicial debe ser tenido en cuen-ta a la hora de decidirse por uno u otro sistema, conviene analizar todos los demásfactores para asegurarse una decisión acertada.

Page 17: Controladores lógicos programables PLC - Norberto Molinari

17

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Una vuelta al problema

Le proponemos que relea el problema y tome la decisión de qué tipo de lógicausará, analizando, fundamentalmente, la versatilidad, la facilidad de uso, las venta-jas e inconvenientes de las distintas opciones tecnológicas , el espacio , el costo.

Estructura de los PLC

Aquí vamos a conocer a los PLC en su parte física o hardware, no sólo en su configu-ración externa, sino también –y, fundamentalmente– en su parte interna.

Porque, consideramos que el personal que se precie de manejar los PLC no puedeconformarse con realizar una buena programación, y conseguir un montaje y unapuesta en funcionamiento perfectos; debe, sobre todo, dejar de ver al dispositivocomo una caja negra y conocerlo tal cual es:

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

a) Estructura externa

El término estructura externa o configuración externa de un PLC se refiere a su aspec-to físico exterior, a los bloques o elementos en que está dividido.

Desde su nacimiento y hasta nuestros días, han sido varias las estructuras y configura-ciones que han salido al mercado, condicionadas no sólo por el fabricante sino por latendencia existente en el área a la que pertenece el producto: europea o norteamerica-na. Actualmente, son dos las estructuras más significativas que existen en el mercado:

• Estructura compacta.• Estructura modular.

Estructura compacta. Este tipo de PLC se distingue por presentar en un solo bloquetodos sus elementos; esto es: fuente de alimentación, CPU, memorias, entradas/salidas, etc. En cuanto a su unidad de programación, existen tres versiones:

• unidad fija o enchufable directamente en el PLC,• enchufable mediante cable y conector, o• la posibilidad de ambas conexiones.

Si la unidad de programación es sustituida por una PC, nos encontraremos con quela posibilidad de conexión es mediante cable y conector. El montaje del PLC alarmario que ha de contenerlo se realiza por cualquiera de los sistemas conocidos: rielDIN, placa perforada, etc.

Estructura modular –o europea1–. Su característica principal es la de que existe unmódulo para cada función: fuente de alimentación, CPU, entradas/salidas, etc. La

1 La estructura americana. Se caracteriza por separar las E/S del resto del PLC, de tal forma que enun bloque compacto están reunidas las CPU, memoria de usuario o de programa y fuente de alimen-tación, y separadamente las unidades de E/S en los bloques o tarjetas necesarias.

Page 18: Controladores lógicos programables PLC - Norberto Molinari

18

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

unidad de programación se une mediante cable y conector. La sujeción se hace biensobre carril DIN o placa perforada, bien sobre rack, en donde va alojado el busexterno de unión de los distintos módulos que lo componen.

b) Estructura interna

En este apartado vamos a estudiar la estructura interna del PLC, o sea, las partes enque se ordena su conjunto físico o hardware, y las funciones y funcionamiento decada una de ellas.

Los PLC se componen esencialmente de tres bloques:

• la sección de entradas,• la unidad central de procesos –CPU–,• la sección de salidas.

Fin de carreraDetectoresPulsadores

LlavesContactos NA o NC

Etc.

RelésContactoresLámparasElectroválvulasEtc.

Ent

rad

as

Fuente de alimentación

CPU

MemoriaComunicación

RS 232/485S

alid

as

RAMNVRAM

EEPROM

NVRAM:EEPROMEPROM

ProgramaciónSimulaciónMonitoreo

Datos Programa

La sección de entradas. Mediante el interfaz, adapta y codifica –de forma compren-sible por la CPU–, las señales procedentes de los dispositivos de entrada o captadores–esto es, pulsadores, finales de carrera, sensores, etc.–. También tiene una misión deprotección de los circuitos electrónicos internos del PLC, realizando una separacióneléctrica entre éstos y los captadores.

La unidad central de procesos –CPU, Central Processing Unit–. Es, por decirloasí, la inteligencia del sistema ya que, mediante la interpretación de las instruccionesdel programa de usuario –y, en función de los valores de las entradas–, activa lassalidas deseadas.

La sección de salidas. Mediante el interfaz, trabaja de forma inversa a la de entradas;es decir, decodifica las señales procedentes de la CPU, las amplifica y manda con ellaslos dispositivos de salida o actuadores –lámparas, relés, contactores, arrancadores,electroválvulas, etc.–. Aquí también existen interfaces de adaptación a las salidas y deprotección de circuitos internos.

Con las partes descritas, ya contamos con un PLC. Pero, para que éste sea operati-vo, son necesarios otros elementos tales como la unidad de alimentación, y la unidado consola de programación –si no se programa desde la PC–.

Nos referiremos, ahora, con más detalle a la CPU, y a las unidades de entradas ysalidas.

Esquema básico de un PLC

Page 19: Controladores lógicos programables PLC - Norberto Molinari

19

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

1. La unidad central de procesos CPU

La CPU está constituida por los elementos siguientes: memoria, procesador y circui-tos auxiliares asociados.

1.1. Memorias

En nuestro caso, nos referiremos a las memorias que utilizan como soporte elemen-tos semiconductores.

No todas las memorias son iguales; se distinguen dos tipos fundamentales de memo-rias fabricadas con semiconductores:

• Memoria RAM –Random Access Memory–. Memoria de acceso aleatorio omemoria de lectura-escritura. En este tipo de memoria se pueden realizar losprocesos de lectura y escritura por procedimiento eléctrico; pero, su informa-ción desaparece al faltarle la tensión.

• Memoria ROM –Read Only Memory–. Memoria de sólo lectura. Esta memoriapermite leer su contenido pero no escribir en ella. Los datos e instruccionesson grabados por el fabricante; el usuario no puede alterar su contenido. Aquíla información se mantiene ante la falta de tensión.

Éstas no son todas las memorias disponibles. Existen otros tipos cuyas diferenciasestán marcadas por sus sistemas de programarlas, su borrado, y su volatilidad opermanencia de la información:

• Memorias EPROM –Erasable Programmable Read OnIy Memory– y EEPROM–Electrical Erasable Programmable Read OnIy Memory–. Independientementede otras aplicaciones –algunas ya mencionadas en los párrafos anteriores–,estos tipos de memoria tienen gran aplicación como memorias de copia paragrabación y archivo de programas de usuario.

• Memoria del usuario. Normalmente, el programa de usuario se graba en me-moria RAM, ya que no sólo ha de ser leído por el microprocesador, sino queha de poder ser variado cuando el usuario lo desee, utilizando la unidad deprogramación. En algunos PLC, la memoria RAM se auxilia de una memoriasombra del tipo EEPROM. La desconexión de la alimentación o un fallo borra-ría esta memoria, ya que al ser la RAM una memoria volátil, necesita estarconstantemente alimentada y es por ello que los PLC que la utilizan llevanincorporada una batería tampón que impide su borrado.

• Memoria de datos. La memoria de esta área también es del tipo RAM o NVRAM.En ella se encuentran, por un lado, la imagen de los estados de las entradas ysalidas, y, por otro, los datos numéricos y variables internas, como contado-res, temporizadores, marcas, etc.

• Memoria de programa. Esta memoria que, junto con el procesador, componela CPU, se encuentra dividida en dos áreas: la llamada memoria del sistema,que utiliza memoria RAM, y la que corresponde al programa del sistema ofirmware, que es un programa fijo grabado por el fabricante y, por tanto, utilizael tipo de memoria ROM. En algunos PLC se utiliza únicamente la EPROM, detal forma que se puede modificar el programa memoria del sistema, previoborrado del anterior con UV.

Memoria

Todo dispositivo que nos

permite almacenar informa-

ción en forma de bits (ceros

y unos).

Page 20: Controladores lógicos programables PLC - Norberto Molinari

20

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

1.2. Procesador

El procesador se monta sobre una placa de circuito impreso; en ella –y, junto al chip–se sitúan todos aquellos circuitos integrados que lo componen, principalmente me-morias ROM del sistema o firmware.

En algunos tipos de PLC también se sitúan aquí los chips de comunicación conperiféricos o de interconexión con el sistema de entradas salidas.

Está constituido por el microprocesador, el generador de impulsos de onda cuadra-da o reloj, y algún chip auxiliar.

El microprocesador es un circuito integrado (chip) a gran escala de integración (LSI)que realiza una gran cantidad de operaciones, que podemos agrupar en:

• Operaciones de tipo lógico.• Operaciones de tipo aritmético.• Operaciones de control de la transferencia de la información dentro del PLC.

1.3. Circuitos auxiliares asociados

Los circuitos internos pueden ser de tres tipos:

• Circuitos de la unidad aritmética y lógica –ALU–. Es la parte delmicroprocesador donde se realizan los cálculos y las decisiones lógicas paracontrolar al PLC.

• Circuitos de la unidad de control –UC–. Organiza todas las tareas delmicroprocesador. Así, por ejemplo, cuando una instrucción del programa co-dificada en código máquina (ceros y unos) llega al microprocesador, la UCsabe, mediante una pequeña memoria ROM que incluye, qué secuencia deseñales tiene que emitir para que se ejecute la instrucción.

• Registros. Los registros del microprocesador son memorias en las que sealmacenan temporalmente datos, instrucciones o direcciones, mientras nece-sitan ser utilizados por el microprocesador. Los registros más importantes deun 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 transmitendatos, direcciones, instrucciones y señales de control entre las diferentes partes delmicroprocesador o microcontrolador. Se puede hacer una diferencia entre buses in-ternos y externos:

• los internos unen entre sí las diferentes partes del microprocesador;• los externos son pistas de circuito impreso que unen chips independientes.

Los buses internos y externos son continuación unos de los otros.

La CPU se pondrá en comunicación con la tarjeta cuya dirección coincida con lacombinación del bus.

Page 21: Controladores lógicos programables PLC - Norberto Molinari

21

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

¿Cuáles son las funciones de la CPU?

En la memoria ROM del sistema, el fabricante ha grabado una serie de programasejecutivos fijos, software del sistema. Es a estos programas a los que accede elmicroprocesador para realizar las funciones ejecutivas que correspondan, en funcióndel tiempo en que trabaje.

El software de sistema de cualquier PLC consta de una serie de funciones básicas querealiza en determinados tiempos de cada ciclo: en el inicio o conexión, durante elciclo o ejecución del programa, y en la desconexión.

Este software o programa del sistema es ligeramente variable para cada PLC; pero,en general, contiene las siguientes funciones:

• Supervisión y control de tiempo de ciclo –watchdog–, tabla de datos, alimen-tación, batería, etc.

• Autotest en la conexión y durante la ejecución del programa.• Inicio del ciclo de exploración de programa y de la configuración del conjunto.• Generación del ciclo base de tiempo.• Comunicación con periféricos y unidad de programación.• Etc.

Dejamos aquí nuestra descripción de la CPU y nos concentramos en...

2. Unidades de entrada y salida

En los PLC compactos, las entradas y salidas –E/S– están situadas en un solo blo-que, junto con el resto del PLC.

En los modulares, las E/S son módulos o tarjetas independientes, con varias E/S, quese acoplan al bus de datos por medio de su conductor y conector correspondiente,o bien a un bastidor o rack, que le proporciona dicha conexión al bus y su soportemecánico.

Las funciones principales son el adaptar las tensiones e intensidades de trabajo delos captadores y actuadores a las de trabajo de los circuitos electrónicos del PLC;realizar una separación eléctrica entre los circuitos lógicos de los de potencia –gene-ralmente, a través de optoacopladores– y proporcionar el medio de identificación delos captadores y actuadores ante el procesador.

2.1. Entradas

Las entradas son fácilmente identificables, ya que se caracterizan físicamente por susbornes para acoplar los dispositivos de entrada o captadores, por su numeración, ypor su identificación input o entrada.

Llevan, además, una indicación luminosa de activado, por medio de un diodo LED.

En cuanto a su tensión, las entradas pueden ser de tres tipos:

• libres de tensión,• corriente continua,• corriente alterna.

Unidades de entrada y

salida

Son los dispositivos básicos

por donde se toma la infor-

mación de los captadores –

en el caso de las entradas–

y por donde se realiza la ac-

tivación de los actuadores –

en las salidas–.

Page 22: Controladores lógicos programables PLC - Norberto Molinari

22

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

En cuanto al tipo de señal que reciben, éstas pueden ser:

• analógicas y• digitales.

Analógicas. Cuando la magnitud que se acopla a la entrada corresponde a unamedida de, por ejemplo, presión, temperatura, velocidad, etc., esto es, analógica, esnecesario disponer de este tipo de módulo de entrada. Su principio de funcionamien-to se basa en la conversión de la señal analógica a código binario mediante unconvertidor analógico-digital –AID–.

Digitales. Son las más utilizadas y corresponden a una señal de entrada todo o nada;esto es, a un nivel de tensión o a su ausencia. Ejemplo de elementos de este tipo sonlos finales de carrera, interruptores, pulsadores, etc.

2.2. Salidas

La identificación de las salidas se realiza con la indicación de output o salida.

Es en las salidas donde se conectan o acoplan los dispositivos de salida o actuadores.

Incluye un indicador luminoso LED de activado.

Tres son los tipos de salidas que se pueden dar:

• a relé,• a transistor,• a triac.

Mientras que la salida a transistor se utiliza cuando los actuadores son a CC, las derelés y triacs suelen utilizarse para actuadores a AC.

En cuanto a las intensidades que soportan cada una de las salidas, éstas son varia-bles; pero, suelen oscilar entre 0,5 y 2 A.

Al igual que en las entradas, las salidas pueden ser analógicas y digitales –si bienestas últimas son las más utilizadas–. En las analógicas es necesario un convertidordigital analógico –D/A– que realice la función inversa a la de la entrada.

Cómo funciona internamente un PLC, y toma las distintas decisiones yacciones

El ciclo básico de trabajo en la elaboración del programa por parte de la CPU es elsiguiente:

• Antes de iniciar el ciclo de ejecución, el procesador, a través del bus de datos,consulta el estado 0 ó 1 de la señal de cada una de las entradas y las almacenaen los registros de la memoria de entradas, esto es, en la zona de entradas dela memoria de la tabla de datos.

• Esta situación se mantiene durante todo el ciclo del programa. A continuación, elprocesador accede y elabora las sucesivas instrucciones del programa, realizandolas concatenaciones correspondientes de los operandos de estas instrucciones.

Page 23: Controladores lógicos programables PLC - Norberto Molinari

23

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

• Seguidamente, asigna el estado de señal a los registros de las salidas de acuerdoa la concatenación anterior, indicando si dicha salida ha de activarse o no,situándola en la zona de salida de la tabla de datos.

• Al final del ciclo, una vez concluida la elaboración del programa, asigna losestados de las señales de entrada a los terminales de entrada y los de salida alas salidas, ejecutando el estado 0 ó 1 en estas últimas.

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

Una vuelta al problema

Le proponemos que, con el material disponible, vuelva a la situación problemaplanteada y verifique la conveniencia de la utilización de estos dispositivos, anali-zando qué tipo de controlador lógico programable será el más adecuado para lastareas que debe cumplir, qué cantidad de E/S necesitará, cuál será su tiempo deScan, etc.

Actividad 1Integración de “Controladores lógicos programables”

Indique un caso de instalación industrial en la que considere que es utiliza-ble el PLC.

1. ¿Por qué considera que el PLC es conveniente allí?2. ¿Cuáles son los inconvenientes más significativos de ese PLC?3. En ese montaje con PLC, ¿dónde se encuentran los contadores,

temporizadores y relés internos?4. ¿Cuáles son los bloques que componen los PLC? Dibuje el esquema

de bloques simplificado de un PLC y explique sus funciones.5. Dibuje cómo sería la estructura completa de un PLC y su entorno.6. Explique el ciclo básico de trabajo de la CPU.

Page 24: Controladores lógicos programables PLC - Norberto Molinari
Page 25: Controladores lógicos programables PLC - Norberto Molinari

25

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

2. MANEJO, INSTALACIÓNY CONEXIONADO

Page 26: Controladores lógicos programables PLC - Norberto Molinari
Page 27: Controladores lógicos programables PLC - Norberto Molinari

27

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

El manejo y la utilización correcta de los PLC resultan fundamentales si queremosobtener eficacia de ellos.

Es por ello que, en esta segunda parte de Controladores lógicos programables –PLC– vamos a encarar el proceso a seguir para su puesta en marcha1, el procedi-miento general para realizar una correcta programación de PLC, algunos ejemplos deconexionado de elementos a entradas y actuadores a las salidas, así como las reglasmínimas que han de seguirse para una correcta instalación, puesta en servicio, man-tenimiento preventivo y resolución de averías.

El organigrama general simplificado que nos va a orientar en la secuencia a seguirpara la utilización correcta de los PLC es:

FIN

INSTALACIÓN.PUESTA A PUNTO

CONEXIONADODE IN / OUT

PROGRAMACIÓN

PUESTA ENMARCHA

INICIO

1. Puesta en marcha

Antes de iniciar cualquier acción para la puesta en funcionamiento de los PLC, esnecesario tener delante el cuadro de sus características o especificaciones, ya quealgunos datos –como la tensión de alimentación al sistema, o la tensión de red y elmargen de variación admisible– resultan necesarios2.

Los pasos a seguir en la puesta en funcionamiento inicial del sistema son:

1. Conectar la fuente de alimentación.2. Conectar la toma a tierra.3. Verificar las tensiones de entradas y salidas.4. Ver la tensión de la red de alimentación.5. Si lo anterior es correcto, proseguir; si no es así, corregir.6. Conectar la fuente a la red.7. Poner a los PLC en funcionamiento.8. Deletear o borrar la memoria (sólo la primera vez).9. Cargar el programa.10.Colocar los PLC en modo RUN.

1 No debemos confundir los términos “puesta en marcha” con “puesta a punto y en servicio”. En elrimer caso, nos referimos al proceso inicial necesario para poder realizar la programación y compro-bar el funcionamiento de los PLC; en el segundo, a la tarea final, una vez realizadas todas lasconexiones necesarias para poner en servicio la instalación o proceso.2 Para esto resulta imprescindible analizar las características técnicas de cada fabricante.

Page 28: Controladores lógicos programables PLC - Norberto Molinari

28

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

2. Programación

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

3. Conexionado de entradas y salidas

La eficaz puesta en funcionamiento de los PLC pasa, necesariamente, por una correc-ta conexión de los elementos de entrada y de los actuadores, en las salidas. De estaforma, conseguimos las ventajas de:

• El buen funcionamiento y la ausencia de averías por esta causa.• La limitación en el número de entradas y salidas que se van a utilizar.

3.1. Conexionado de entradas

Los captores pueden ser de dos tipos:

• Analógicos. Su señal eléctrica es variable en el tiempo y, necesariamente, han deacoplarse al mismo tipo de entradas. (Esto no sucede en todos los PLC; en algu-nos, las entradas analógicas están en módulos separados y se debe elegir de quétipo de entrada se trata –tensión o corriente– y qué tipo de resolución tiene).

• Digitales. La señal responde a:- Contacto abierto “0” (nada).- Contacto cerrado “1” (todo).

Captores –o emisores de

señales–

Son, en general, aquellos

elementos que se acoplan o

conectan a las entradas de

los PLC.

En el caso del contacto cerrado en la entrada cuatro (in 4), sucede que queda aplica-da la tensión de campo al elemento interno del PLC designado con el símbolo g, loque desencadena una señal hacia el circuito de control de entrada. Por el contrario,el contacto en la entrada dos (in 2) no ocasiona fenómeno alguno al estar éste enposición de abierto.

Desde el punto de vista de la tensión, en posible reconocer:

Empresa Dydec SRL

Page 29: Controladores lógicos programables PLC - Norberto Molinari

29

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

• captores o contactos libres de tensión,• captores con tensión.

Los captores sin tensión que se pueden conectar a los PLC pueden ser de variostipos, entre otros:

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

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

Los captores con tensión pueden ser:

• detector de proximidad,• célula fotoeléctrica,• etc. (Todos del tipo PNP3)

Al elegirlos, lo haremos de tal forma que su tensión de trabajo coincida con la tensiónde entrada al PLC –en nuestro caso, 24 Vcc–. En la figura se puede observar ladisposición del conexionado de este tipo de entradas:

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

Page 30: Controladores lógicos programables PLC - Norberto Molinari

30

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

3.2. Conexionado de salidas

En los contactos de salida del PLC se conectan las cargas o actuadores, bien a travésde otros elementos de mando –como pueden ser los contactores, relés, etc.– odirectamente, si las condiciones de corriente máxima lo permiten.

Las salidas son de dos tipos distintos:

• Salidas a transistores.• Salidas a relés.

La elección de un tipo u otro se deciden en función de los tipos de carga que se levayan a acoplar. Como ayuda en esta elección valgan las siguientes indicaciones:

• Salidas a transistores (CC). Cuando se utilice CC, y cuando las cargas seande poco consumo, rápida respuesta y alto número de operaciones –como esel caso de circuitos electrónicos–, se deben utilizar estos tipos de salidas. Suvida es superior a la del relé.

• Salidas a relés (CA o CC). Este tipo de salida suele utilizarse cuando el con-sumo tiene cierto valor (del orden de amperios) y cuando las conmutacionesno son demasiado rápidas. Son empleadas en cargas de contactores,electroválvulas, etc.

Antes de conectar un actuador a las salidas de los PLC, habremos de analizar y teneren cuenta las siguientes limitaciones:

• La tensión que se vaya a aplicar en cada juego de contactos del relé ha de serúnica; podremos aplicar tantas tensiones distintas como relés tenga el PLC.

• El margen de los valores de tensiones que se vaya a aplicar –tanto en CA comoen CC– están indicados en las características técnicas.

• Se sumarán las intensidades demandadas por los elementos conectados acada grupo de contactos y se comprobará que esta suma no supere la inten-sidad máxima que nos indiquen sus características; los valores son distintospara CA y CC

• Cuando el consumo de una carga o bobina del contactor sobrepase el valordisponible en el grupo de salidas, se colocará un relé intermedio de bajo con-sumo.

Circuitos de protección eléctrica:

Como sabemos, las cargas en las salidas se pueden clasificar en cargas en CC ycargas en CA. En la mayoría de los casos, las cargas aplicadas a las salidas suelenser circuitos inductivos como, por ejemplo, bobinas de contactores y relés. La des-conexión de éstos da lugar a picos de tensión transitorios de alto valor.

Como, en ocasiones, estos circuitos internos de protección no son suficientes, sedeben acoplar circuitos adicionales exteriores para que supriman mejor y más rápida-mente estas tensiones transitorias.

Actuadores

Todos los elementos conec-

tados a las salidas, sean és-

tos elementos de actuación

directa o elementos de

mando.

Page 31: Controladores lógicos programables PLC - Norberto Molinari

31

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Cuando el número de maniobras es elevado:

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

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.

Page 32: Controladores lógicos programables PLC - Norberto Molinari

32

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

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

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

Contactos de relés térmicos:

Dos son las posibilidades de conexión de los contactos de los relés térmicos deprotección contra sobreintensidades:

• En las entradas, como captores:

Page 33: Controladores lógicos programables PLC - Norberto Molinari

33

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Las ventajas e inconvenientes que presentan ambas posibilidades son las siguientes:

• La conexión en el circuito de entradas es la técnica más segura desde el puntode vista del control, ya que su apertura (provocada, como sabemos, por unasobreintensidad del circuito) desactiva los correspondientes circuitos de entra-da y, como consecuencia, la salida que ha dado origen a dicha sobreintensidad,quedando señalizado en ambos diodos LED (E/S) del PLC.

• Otra ventaja a tener en cuenta es que, en función del programa establecido, uncontacto de un relé térmico puede detener únicamente el proceso del actuadoral cual está protegiendo o detener el proceso completo. En este último caso yconectando todos en serie –en el caso de contactos NC o NA–, es suficientecon un solo contacto de entrada (lo que usted puede apreciar en la últimafigura).

Las posibilidades que nos ofrecen los relés térmicos son dos:

• Utilizar el contacto normalmente cerrado, NC.• Utilizar el contacto normalmente abierto, NA.

En el primer caso, la bobina del contactor se alimenta directamente, ya que el con-tacto NC se utiliza en la entrada.

En el segundo caso, al utilizar en la entrada el contacto NA, el contacto NC puede ono ser utilizado en la salida. Si se utiliza, tendremos doble protección.

Como desventaja podemos citar que necesitamos una entrada por cada relé térmico,o grupo en paralelo o serie, lo que nos puede incrementar aquéllas considerablemen-te y, como consecuencia, exigirnos un PLC con más entradas.

La conexión en el circuito de salida significa un ahorro en el correspondiente circuitode entrada; pero, carecer de indicaciones de avería en la señalización de salida oLED –aunque, lógicamente, la bobina del contactor quede desactivada, en cuyocaso sólo se detendrá el actuador que esté protegiendo–.

En la mayoría de los procesos industriales, una avería o parada en alguno de los

• O, en la salida:

Page 34: Controladores lógicos programables PLC - Norberto Molinari

34

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

elementos que lo integran puede traer como consecuencia pérdidas económicasimportantes, si en su programación no se han tenido en cuenta estas posibilidades,esto es, la incidencia que en el resto del proceso puede tener la paralización o inco-rrecto funcionamiento de una sola máquina.

Un procedimiento utilizado para corregir esta posibilidad es el de usar contactos deconfirmación.

A continuación incluimos algunas de las posibilidades de conexión de los actuadoresen las salidas del PLC.

Conexión en un grupo de cuatro salidas comunes o de igual tensión:

Contactos

de confirmación

Contactos de determinada

parte de un proceso situa-

dos sobre otra parte de ese

mismo proceso, que condi-

cionan su parada o marcha.

En este caso, es necesario que:

• Las tensiones de los elementos acoplados sean iguales y que esta tensión estédentro de los márgenes indicados por las especificaciones del PLC.

• Que la intensidad total y las intensidades parciales se encuentren también den-tro de los mismos márgenes.

Acoplamiento directo e indirecto de cargas:

Page 35: Controladores lógicos programables PLC - Norberto Molinari

35

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

En algunos casos, cuando el consumo de una carga es muy pequeño, se puedeacoplar ésta directamente a la salida –como es el caso del tubo fluorescente y de lalámpara que vemos en la figura–. En el resto de los casos, el mando ha de hacerse através de relés, contactores, electroválvulas, etc.

Acoplamiento de actuadores de gran consumo:

Cuando el consumo de intensidad –por ejemplo, de la bobina de un contactor quecontrola un determinado motor– es superior a la que puede soportar un contacto desalida del PLC, los procedimientos que es posible seguir son los siguientes:

• Utilizar dos o más contactos de salida puenteados o unidos. Este procedi-miento no es recomendable, en general, debido al valor que económicamenterepresenta un contacto de salida.

• Situar un relé intermedio, K1, cuyo consumo de intensidad sea aceptado por elcontacto de salida del PLC; el contacto de dicho relé en serie con la bobinadel contactor K2 sí puede soportar esa intensidad.

Si el valor de la tensión en ambas bobinas es idéntico, el circuito a utilizar es:

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

Page 36: Controladores lógicos programables PLC - Norberto Molinari

36

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Una vuelta al problema

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

4. Instalación, puesta a punto y mantenimiento

4.1. Instalación

Una correcta instalación de los PLC implica, necesariamente, tener en cuenta factorescomo:

4.1.1. Condiciones ambientales del entorno físico donde se va a situar.4.1.2. Distribución de componentes en el armario que los va a contener.4.1.3. Cableado y alimentación correctos.

Asimismo, es necesario su puesta a punto y un eficaz mantenimiento.

4.1.1. Condiciones ambientales del entorno físico donde se va a situar

Normalmente –salvo indicación expresa–, el entorno en donde se sitúa el PLC ha dereunir las siguientes condiciones físicas:

• Ausencia de vibraciones, golpes, etc.• Resguardo de la exposición directa a los rayos solares o focos caloríficos

intensos, así como a temperaturas que sobrepasan los 50-60 grados centígra-dos, aproximadamente.

• Desechar lugares donde la temperatura desciende, en algún momento, pordebajo de 5 grados centígrados o donde los bruscos cambios pueden darorigen a condensaciones.

• Descartar ambientes en donde la humedad relativa se encuentra por debajodel 20% o por encima del 90%, aproximadamente.

• Ausencia de polvo y ambientes salinos.• Ausencia de gases corrosivos.• Ambiente exento de gases inflamables –por cuestiones de seguridad–.• Ha de evitarse situarlo junto a líneas de alta tensión, siendo la distancia variable

en función del valor de dicha tensión.

4.1.2. Distribución de componentes en el armario que los va a contener.

Es norma que el PLC se sitúe en un armario metálico. Antes de elegirlo, se ha deconocer si este armario necesita ventilador incorporado para forzar la ventilación delaire, debido a que la temperatura ambiente supera la especificada, o bien para incor-porar un elemento generador de calor, si se prevén problemas de condensación.

El armario se elige del tamaño adecuado para que contenga de una forma despejadano sólo el PLC sino todos los elementos que se encuentren junto a él, de modo que sepueda realizar un correcto trabajo en las operaciones de cableado y mantenimiento.

Los elementos que se encuentran junto al PLC pueden ser:

• interruptor o interruptores de alimentación,• las protecciones correspondientes,

Page 37: Controladores lógicos programables PLC - Norberto Molinari

37

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

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

El PLC puede situarse en distintas posiciones; pero, en general, se sitúa verticalmentesobre riel DIN o placa perforada.

En cuanto a su distribución, se tienen en cuenta las siguientes consideraciones:

• Los elementos disipadores de calor –principalmente el PLC y las fuentes dealimentación– se sitúan en la parte superior del armario, para así facilitar ladisipación del calor generado al exterior.

• Los elementos electromecánicos –relés, contactores, etc.– son generadoresde campos magnéticos debido a sus bobinas; por esto, es recomendablealejarlos lo más posible. Los transformadores, por su parte, estarán ubicados ala mayor distancia posible de cualquier parte de los PLC.

4.1.3. Cableado y alimentación correctos

Para un correcto cableado hay que tener en cuenta unas reglas mínimas, entre lasque se encuentran:

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

etc., discurren por una canaleta distinta de los cables de E/S.

En cuanto al cableado externo, es de tener en cuenta que:

• Los cables de alimentación y los de E/S discurren por distinto tubo o canaleta;es recomendable entre ambos grupos de cables una distancia mínima de 30cm, si discurren paralelos.

En el caso de que esto no sea posible, se sitúan placas metálicas conectadas a tierraque separan, dentro de la canaleta, los distintos tipos de cables.

La alimentación a los PLC es otro factor importante a tener en cuenta. Cuatro son laspautas a considerar:

• Tensión estable del valor adecuado y exenta, en lo posible, de picos provoca-dos por otros aparatos de la instalación.

• Protecciones contra sobrecargas y cortocircuitos, por medio de interruptoresmagneto-térmicos, fusibles, etc., así como contra derivaciones a tierra, pormedio de interruptores diferenciales.

• Cable de tierra del valor adecuado y debidamente señalizado mediante con-ductor amarillo-verde. Si la instalación no lo posee, es necesario habilitar uno,exclusivamente para los PLC, de –aproximadamente– 3 a 5 ohms.

• Circuito de mando que permita conectar y desconectar el circuito o parte deél, en el momento preciso.

Un posible diagrama de alimentación para los PLC:

Page 38: Controladores lógicos programables PLC - Norberto Molinari

38

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Como se observa, el diagrama considera no sólo la alimentación a la fuente delos PLC (CPU), sino la posibilidad de una fuente de alimentación auxiliar, salidasa CC, etc.

4.2. Puesta a punto y en servicio

Esta tarea se acomete cuando todas las anteriores fases del proyecto se han termina-do, incluso la de introducir el programa en el PLC.

Es conveniente dividir esta supervisión en dos momentos:

• Sin tensión: Verificación de las partes físicas.• Con tensión: Verificación del sistema automático.

La verificación de las partes físicas tiene por objeto comprobar, entre otros:

• La correcta conexión de todos los componentes del sistema, incluidas lasalimentaciones, de acuerdo con los esquemas correspondientes.

• La firme sujeción de todos los cables al PLC, fuente de alimentación, etc.• La exacta identificación de cables, mediante señalizadores con letras o números.• Las correctas y firmes conexiones del cable amarillo-verde de tierra.

La verificación del sistema automático se realiza de la siguiente forma:

• Con el PLC en modo stop, alimentar el sistema, pero no las cargas.• Comprobar el correcto funcionamiento del circuito de mando de marcha-para-

da, 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 me-diante los diodos LED indicativos de salida activada.

• Por último, alimentar las cargas y realizar la prueba real de funcionamientogeneral del sistema.

Una vuelta al problema

Ya hemos analizado qué elementos de E/S vamos a conectar a nuestro PLC para laempresa productora de envases de alumninio.

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

Field (campo)

Puesta a punto

Supervisión total del sistema

y de la realización de todas

aquellas tareas que son ne-

cesarias para dejarlo en las

condiciones perfectas de

poder iniciar su puesta en

funcionamiento.

Page 39: Controladores lógicos programables PLC - Norberto Molinari

39

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

4.3. Mantenimiento

Podemos discriminar dos grupos de tareas de mantenimiento:

• Mantenimiento preventivo. Como cualquier otra máquina, los PLC necesitande un mantenimiento preventivo o inspección periódica; esta inspección ha detener una periodicidad tanto más corta cuanto más complejo sea el sistema;ésta puede variar desde una frecuencia semanal hasta una frecuencia anual.Aunque la fiabilidad de estos sistemas es alta, las consecuencias derivadas desus averías originan un alto coste, por lo que es necesario reducir al mínimoesta posibilidad.

• Localización y reparación de las averías que se produzcan. Por ser el PLCun elemento electrónico complejo y debido a la importancia que ha de darsea su rápida reparación, en este apartado daremos algunas indicaciones quepuedan 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 sehaya confeccionado un cuadro que recoja los datos de las inspecciones periódicas,indicando fecha y, en apartado significativo, las averías detectadas y corregidas.

Los datos podrían ser, entre otros:

a) De elementos mecánicos:- ¿Están firmemente sujetos, tanto el PLC como los

demás elementos?- ¿Hay algún cable suelto o roto?- ¿Están los tornillos suficientemente apretados?

b) De CPU y E/S:- ¿Hay señal de los LED, indicativa de diagnóstico

de CPU y E/S?

c) De condiciones ambientales:- ¿Se encuentran los valores de temperatura y hu-

medad dentro del margen?- ¿Existe polvo sobre los elementos?- ¿Existen vibraciones?

d) De tensión de alimentación:- ¿Fluctúa la tensión de alimentación cerca de los

límites máximos permitidos, medidos en la entradade la fuente de alimentación?

- La corriente continua y el rizado, ¿están dentro delmargen?

- Las tensiones de entrada a las E/S, ¿son las correctas?

CUADRO PARA LA REALIZACIÓN DEL MANTENIMIENTOPREVENTIVO

NOPregunta SI

Las herramientas y aparatos necesarios para esta labor de mantenimiento preventivoson:

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

Page 40: Controladores lógicos programables PLC - Norberto Molinari

40

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

4.3.2. Localización y reparación de averías

La detección de averías imputables al PLC se determina, generalmente, por los pro-cedimientos que se han desarrollado e incluido en él, por la lista de mensajes de errorcorrespondientes, enviados por el port de comunicaciones a la PC.

En general, los pasos lógicos que se debe seguir para la detección y reparación deuna avería son los de verificar:

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

Actividad 2Integración de “Manejo, instalación y conexionado”

En nuestra actividad anterior usted puntualizó un caso de instalación indus-trial en la que consideró oportuno utilizar el PLC.

Le proponemos continuar refiriéndose a esa instalación y, con respecto aella, precisar:

1. ¿De qué tipo van a ser las entradas y salidas de ese PLC?2. ¿Qué elementos va a utilizar como protección exterior a la salida de

los PLC?3. ¿Dónde va a conectar los contactos de los relevos térmicos? ¿Por

qué?4. ¿Integrará contactos de confirmación?5. ¿Qué consideraciones hará al conectar las salidas, con respecto al

consumo de sus actuadores?6. ¿Qué solución podría desarrollar si la carga a conectar supera la

permitida por la salida del PLC?

Page 41: Controladores lógicos programables PLC - Norberto Molinari

41

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

3. INTRODUCCIÓN A LAPROGRAMACIÓN

Page 42: Controladores lógicos programables PLC - Norberto Molinari
Page 43: Controladores lógicos programables PLC - Norberto Molinari

43

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

En este tramo de nuestra capacitación hablaremos sobre los PLC que tienen dosmodos principales:

• STOP –off-line–. El programa sin ejecutar. Todas las salidas están en reposo.• RUN –on-line–. El programa se está ejecutando continuamente y sólo son po-

sibles algunas operaciones, como ya veremos.

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

Como sabemos, una de las ventajas de los PLC sobre la lógica cableada es la posi-bilidad de introducir, borrar y modificar los programas; pero, también, la de podergrabarlos y almacenarlos, mediante los utilitarios provistos por los fabricantes.

En procesos de producción periódicamente cambiantes, en donde programas en des-uso vuelven al cabo del tiempo a ser puestos en funcionamiento, juega un papel impor-tante la posibilidad de grabación y archivo para su posible utilización en el futuro –biencon su configuración actual, bien con las correspondientes modificaciones–.

Por ello, una vez realizado un programa, verificado y simulado, para ponerlo en fun-cionamiento es necesario grabarlo a través de alguno o algunos de los sistemas, deacuerdo a las disponibilidades con que contemos –NVRAM, disquete, HD o impreso-ra– y crear un archivo de programas perfectamente identificables.

Es aconsejable utilizar dos sistemas: uno de ellos un archivo magnético y, el otro,papel escrito por medio de la impresora:

• El sistema magnético nos es fundamental si queremos volver a poner en funcio-namiento un programa ya utilizado con anterioridad o realizar alguna modifica-ción sobre él.

• La impresión es muy práctica en el caso de consulta sin necesidad de utilizarlos PLC; en ella aparece tanto el esquema correspondiente al programa en ellenguaje en el que se ha programado, como el listado de instrucciones y larelación de temporizadores, contadores, etc., empleados, con indicación desu número y tiempo –en el caso de temporizadores– y cuentas –en el caso decontadores–, etc.

Instrucciones y programas1

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

Programa

Es una sucesión o lista de

distintas órdenes de trabajo

–también llamadas instruc-

ciones–, capaz de hacer eje-

cutar la secuencia de traba-

jo pretendida a los PLC.

Instrucción u orden de

trabajo

Es la parte más pequeña de

un programa.

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

Parámetro

Instrucción

Operación¿Qué?

Operando¿Dónde?

Símbolo

Page 44: Controladores lógicos programables PLC - Norberto Molinari

44

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

La operación le indica a la CPU del PLC, qué tiene que hacer; o, lo que es lo mismo,la clase de instrucción que ha de ejecutar.

El operando es el complemento al código u operación. Mediante el operando indi-camos la dirección del elemento de que se trate (contadores, temporizadores, E/S,marcas internas...), así como las cuentas, tiempos, etc.

Consideremos estos ejemplos de operaciones:

Operaciones:

AND (Y): Formar una concatenación serie.OR (O): Formar una concatenación paralelo.OUT (=): Asignar una salida a lo precedente.

El operando le indica a la CPU dónde debe de hacerlo, dónde debe realizarse esainstrucción.

Cuando se programa, cada instrucción del programa se aloja en una celda de memo-ria (Por ejemplo, en el PLCEM 168, la capacidad de memoria es de 1536 palabras oinstrucciones –memoria del usuario–).

Otro concepto a tener en cuenta es el de línea o línea de programa. Una líneacontiene dirección o paso, operación y operando. Por tanto, se puede decir que unalínea de programa consta de una instrucción, salvo algunos casos en el que sonnecesarias dos líneas para alojar una sola instrucción (El PLCEM 168, por ejemplo,posee 512 pasos de programa o líneas; puede manejar en forma correcta 16 entra-das, 8 salidas, 16 timers, 16 contadores y 64 memorias o flags, con esta cantidad depasos de programa).

Para poder elaborar un programa no es suficiente con las instrucciones de mando ode programa; se requiere otro tipo de instrucciones que recibe el nombre de instruc-ciones de servicio u órdenes de manejo, por medio de las cuales se consigue laelaboración, análisis y puesta a punto del programa, así como otras posibilidadesque en los ejemplos prácticos consideraremos.

Instrucciones básicas:

LD: (4C)Carga el primer contacto de la línea o rama.

LDN: (42)Carga el primer contacto de la línea o rama enforma negada.

AND: (41)Lógica “Y”.

ANDN: (44)Lógica “Y” negada.

OR: (4F)Lógica “O”.

Page 45: Controladores lógicos programables PLC - Norberto Molinari

45

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

ORN: (47)Lógica “O” negada.

= (Copy ) (49)Copia la condición de la rama o línea.

=NOT:(4E)Niega la condición de la rama o línea.

=SET: (50)Coloca un “1” en el lugar de las acciones ypermanece así independientemente que lacondición se haya borrado.

=RST: (52)ídem a =SET; pero, coloca un “0” en el lugarde las acciones.

=JMP: (4A)Salta a una línea o rama especificada.

IN: (45)Especifica una entrada digital.

OUT: (53)Especifica una salida digital.

MEN: (4D)Especifica un relé interno.

TIM: (54)Lee el bit de estado del timer.

CNT: (43)Lee el bit de estado del contador.

ENDSUB: (464646)Fin de subrutina.

END: (58)Fin de programa.

Para comunicarse con el PLC, desde cualquier terminal de datos (PC), se debe setearel puerto serie al que está conectado (COM 1 a COM 4), y los parámetros de comu-nicación, 9600, N, 8, 1 y el terminal en modo ASCII. Todo esto es posible de serrealizado si no se posee el software de programación y simulación bajo Windows queal adquirir el PLC se provee.

En caso de no disponer de dicho software, para enviar estos comandos podrá utili-zarse cualquiera de los que comúnmente se comercializa por la firma Microsoft, den-tro de los paquetes de Windows 95 / 98 (Hyperterminal), o cualquier otro que funcio-ne bajo DOS, por ejemplo Procomm, PC-plus, etc., siempre y cuando el fabricanteentregue de los comandos que se pueden introducir en modo ASCII.

Page 46: Controladores lógicos programables PLC - Norberto Molinari

46

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Ejecución de programas

Cuando los PLC se sitúan en el modo RUN (ciclo de ejecución o ejecución cíclica),la CPU realiza, entre otras funciones, el barrido del programa contenido en la memo-ria de usuario, desde la casilla, dirección o línea 000 hasta la última, según el largodel programa –esto es, efectúa lo que se denomina ciclo de scan– que es medido enfunción del tiempo que tarda en ejecutar 1000 instrucciones.

En función de cómo se efectúe la ejecución o barrido del programa, se distinguen lossiguientes sistemas, modos o estructuras de programación:

1. Ejecución cíclica lineal.2. Ejecución con salto condicional.3. Ejecución con salto a sub-rutinas.

El principio de ejecución de cada uno de los sistemas indicados se describe a conti-nuación.

1. Ejecución cíclica lineal

Cuando el ciclo de barrido de la memoria de usuario se realiza línea tras línea, sinsolución de continuidad, se dice que la programación es lineal.

Así, la CPU consulta las instrucciones contenidas en la memoria secuencialmente,una a continuación de la otra, sin alterar este orden.

2. Ejecución con salto condicional

Cuando el ciclo de ejecución de un programa tiene la posibilidad –previa condiciónestablecida– de alterar la secuencia línea a línea y dar un salto a otras líneas de progra-ma, dejando x líneas sin ejecutar, se dice que ha realizado un salto condicional.

Si al llegar en el proceso de ejecución del programa a la instrucción U, se cumple lacondición en ella indicada, se salta a V, continuando el barrido en V+1 hasta el fin deprograma (END).

Si, por el contrario, al llegar a U no se cumple la condición, el programa se ejecutalinealmente, continuando en U+1.

Algunos PLC poseen esta posibilidad, la cual permite reducir el tiempo de ejecucióndel ciclo.

Instrucción 1

End

Page 47: Controladores lógicos programables PLC - Norberto Molinari

47

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

3. Ejecución con salto a sub-rutinas

En algunas ocasiones ocurre que en un programa hay uno o más grupos de secuen-cias de instrucciones idénticas que se repiten y que habrá que reescribir tantas vecescomo éstas se reiteren en dicho programa principal. En estos casos, es muy útilescribir una sola vez esta secuencia o sub-rutina, e ir a ella cuando se requiera.

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

Inicio

Jump_Condicional 1

Jump_Condicional 2

End

Sub_Rutina 1Endsub

Sub_Rutina 2Endsub

Instrucción 1

Fin de programaEnd

Instrucción U

Instrucción U + 1

Instrucción V

Instrucción V + 1

Page 48: Controladores lógicos programables PLC - Norberto Molinari

48

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Lenguajes de programación típicos

Varios son los lenguajes o sistemas de programación posibles en los autómatasprogramables; por esto, cada fabricante indica en las características generales de suequipo cuál es el lenguaje o los lenguajes con los que puede operar.

En general, se podría decir que los lenguajes de programación más usuales sonaquellos que transfieren directamente el esquema de contactos y las ecuaciones lógi-cas –pero, éstos no son los únicos–.

Los lenguajes y métodos gráficos más utilizados son:

• Nemónico, también conocido como lista de instrucciones, booleano, abrevia-turas nemotécnicas, AWL.

• Diagrama de contactos –Ladder diagram–, plano de contactos, esquema decontactos, KOP.

Excepto el nemónico, los demás tienen como base su representación gráfica; pero,todos ellos deben ir acompañados del correspondiente cuadro o lista de programa-ción –esto es, la relación de líneas de programa que lo configuran–.

Nemómico:

Es un lenguaje en el cual cada instrucción se basa en las definiciones del álgebra deBoole o álgebra lógica.

LD: Operación inicio contacto abierto.LD NOT: Operación inicio contacto cerrado.AND (Y): Contacto serie abierto.OR (O): Contacto paralelo abierto.AND NOT: Contacto serie cerrado.OR NOT: Contacto paralelo cerrado.OUT: Bobina de relé de salida.MEM: Relé interno o marca.TMR: Temporizador.CNT: Contador.Etcétera.

Diagrama de contactos:

La mayoría de los fabricantes incorpora este lenguaje. Esto es debido a la semejanzacon los esquemas de relés utilizados en los automatismos eléctricos de lógica ca-bleada, lo que facilita la labor a los técnicos habituados a trabajar con dichosautomatismos.

Page 49: Controladores lógicos programables PLC - Norberto Molinari

49

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Asignaciones de los programas

La realización de una buena programación pasa, entre otras cosas, por diseñar co-rrectamente el diagrama correspondiente.

Para no incurrir en errores –asignaciones repetidas o asignaciones de elementosinexistentes– es conveniente confeccionar un cuadro donde colocamos la designa-ción que corresponde a cada entrada, salida, marcas, timers y contadores.

Ejemplo de asignación de entradas y salidas:

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

Equivalencias entre los distintos lenguajes

In1

In2

In3

..........

..........

...........

...........

...........

In15

In16

Out1

Out2

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

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

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

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

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

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

Out7

Out8

TIPOTERMINALASIGNADO

DESCRIPCIÓN

ENTRADAS

SALIDAS

Pulsador de marcha

Fin de carrera Pistón 1

Térmico motor 1

Pulsador de parada

Emergencia

Contactor línea

Contactor estrella

Lámpara piloto

Lámpara de emergencia

Page 50: Controladores lógicos programables PLC - Norberto Molinari

50

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Una vuelta al problema

Le sugerimos realizar sus propias tablas de asignación, de acuerdo con los elemen-tos utilizados en la situación de la fábrica de envases, y evaluar su utilidad –paracuando, en algún tiempo, deba usted volver a utilizar o modificar el programa reali-zado–.

Consideraciones previas sobre la programación Ladder

Antes de empezar con los ejemplos prácticos, es necesario tener en cuenta algunasconsideraciones que nos facilitarán la labor de programación:

a) La programación en cada bloque de contactos se realiza en el orden de iz-quierda a derecha.

Ejemplo de asignaciones para timers, contadores y memorias:

Timers

Contado-res

Memorias

Tipo Numero Seteos Descripción

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

CNT 1CNT 2........................................

CNT 13CNT 14

MEM 1MEN 2..............................

MEM 63MEM 64

20 seg.50 seg

60 seg.

9999

42

SetRst

rstrst

Ret. estrella/triánguloSeguridad

Reposición

Piezas terminadasCantidad de piezas

Paradas emergenciaApertura. Térmico

HabilitaciónFase 1

Fase nFase n+1

Lista de instrucciones:

LD IN 1ANDN IN 2= OUT 1END

Page 51: Controladores lógicos programables PLC - Norberto Molinari

51

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

d) Al no existir limitación de contactos, es preferible realizar un circuito claro ycomprensible con un número elevado de contactos, antes que uno complica-do como consecuencia de reducir su número.

e) No se puede conectar una salida directamente a la línea principal. En estoscasos, se intercala un contacto cerrado de una marca cualquiera. Es importan-te tener en cuenta esta posibilidad de acceder a contactos abiertos o cerradosfijos –ya que no se utiliza la bobina de dicha marca o relé–.

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

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

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

Como la programación

Ladder es del tipo condicio-

nal, no puede haber nunca

una acción si no hay una

condición.

Page 52: Controladores lógicos programables PLC - Norberto Molinari

52

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

g) Los términos contacto abierto, normalmente abierto (NA) y contacto de cierre,significan lo mismo y se refieren al contacto que en estado de reposo estáabierto o, lo que es lo mismo, a que el paso de corriente a través de él no esposible.

En el mismo sentido, los términos contacto cerrado, normalmente cerrado (NC)y contacto de apertura también significan lo mismo: el contacto que en estadode reposo se encuentra cerrado, o sea, el paso de corriente a través de él sí esposible.

h) Contactos de entradas. El número de contactos abiertos o cerrados que sepuede utilizar en un programa, por cada uno de las entradas, es ilimitado, osea, se puede repetir el mismo número de contacto cuantas veces queramos ytanto abierto como cerrado.

i) Contactos de salida. El número de salidas o bobinas de salida o relés de salidaOUT es fijo, por lo que no se puede repetir un mismo número de salida; pero,por el contrario, el número de contactos asociados a cada una de ellas y tantoabiertos como cerrados es, al igual que en el caso anterior, ilimitado.

j) Contactos de marcas o memorias. Aunque no son salidas exteriores, las mar-cas se representan y programan de forma similar; su utilización más común escomo relés auxiliares.

En la mayoría de los PLC son protegidas contra el corte de alimentación. Portanto, no pierden su estado ante esta eventualidad. Existen también especia-les, con funciones varias como la de cambio de base de tiempo de timers yscan de éstos.

Al igual que ocurría con las salidas, el número de marcas es fijo: el mismonúmero de marca no se puede repetir; pero, el número de contactos asocia-dos a cada marca, tanto abiertos como cerrados, es ilimitado.

Ejemplo básico de programaciónLógica OR

Page 53: Controladores lógicos programables PLC - Norberto Molinari

53

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

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

END

Ejemplo básico de programaciónLógica AND

Lista de instrucciones:LD IN 1

AND IN 2= SET OUT 1

LD IN 3= RTS OUT 1

END

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

Una vuelta al problema

Por ejemplo, supongamos que deseamos controlar un motor de CA trifásico quemaneja la cinta trasportadora por donde pasan las latas para ser estampadas, conel pulsador de marcha colocado en la entrada IN 1 y otro pulsador de parada en laentrada IN 2, y que actuaremos sobre la salida Out 1, la cual comandará, directa-mente un contactor adecuado para manejar el motor antes mencionado.

¿Debería haber otra entrada para el relevo térmico?

Lista de instrucciones:LD IN 1

AND IN 2= OUT 1

END

Ejemplo básico de programaciónSET Y RST

Page 54: Controladores lógicos programables PLC - Norberto Molinari

54

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Cuando pulsamos la entrada IN 1, el relé K1, acciona y el contacto que está en paralelocon la IN 1 también cierra. Con esto se logra una autorretención de K1; es decir que, sisoltamos el pulsador que está conectado en la entrada IN 1, el relé K1 –o bien sicorrespondemos a K1 con Out 1– permanece accionado. La única manera de dejar deaccionar a la salida Out 1 es accionando la entrada IN 2 que, al ser accionada, deja decircular 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 esaccionada, porque tiene preponderancia IN 2 sobre IN 1. Es, decir al pulsar IN 2 lacarga no acciona. A este circuito se lo denomina circuito de comando del tipo RESETDOMINANTE.

En el caso que se desee que al pulsar los dos pulsadores a la vez la carga accione, sedebe realizar el siguiente circuito de comando:

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

Como podemos ver en la figura, al pulsar IN 1 la salida Out 1 se activa y el contactode K 1 también. En este circuito está la función de autorretención, para que al soltarIN 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 estecircuito se lo denomina circuito de comando del tipo SET DOMINANTE.

A modo de ejemplo, desarrollamos el SET DOMINANTE, en el lenguaje Ladder conlista de instrucciones.

Page 55: Controladores lógicos programables PLC - Norberto Molinari

55

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

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

=SETColoca un “1” en el lugar de las acciones y permanece así independiente-mente que la condición de haya dejado de cumplir.

=RSTÍdem a =SET; pero, coloca un “0” en el lugar de las acciones. La únicaforma de sacar un =SET es ejecutar un =RST.

Para dejar esto en claro, a continuación planteamos el ejemplo de SET DOMINAN-TE, con las instrucciones =SET y = RST

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

Una vuelta al problema

Realice este ejercicio, pensando en la situación problema de la fábrica de latas:

• Con un pulsador conectado en la entrada IN 1 accionaremos la salida Out 1.Al dejar de pulsar, este pulsador la salida Out 1 deberá seguir accionada. Alvolver a pulsar la IN 1, la salida Out 1 se deberá apagar y, así, sucesivamente.(En la In 1 colocaremos un simple pulsador NA con la cantidad de módulosasociados que se necesite. En la salida Out 1, colocaremos una lámpara).

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

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

Page 56: Controladores lógicos programables PLC - Norberto Molinari

56

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

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

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

Solución 1. Antes de resolver cualquier problema debemos saber cuántas accionesrealizaremos; de esta manera, podemos saber cuál es la condición que debemosrealizar para que la acción se cumpla.

¿Cuáles son estas acciones en el problema anterior?

1. Al oprimir In 1 se debe encender la salida Out 1.2. Al soltar el pulsador que esta en In 1 se debe memorizar esta acción (Out 2).3. Al volver a pulsar se debe apagar Out 1 al accionar Out 3.

Lista de instrucciones:LD IN 01OR OUT 01

Continúa a la página siguiente.

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

Page 57: Controladores lógicos programables PLC - Norberto Molinari

57

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

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

Consideremos otro ejemplo:

Con un pulsador conectado en la entrada IN 1 accionaremos la salida Out 1. Al dejarde pulsar este pulsador, la salida Out 1 deberá seguir accionada. Al volver a pulsar laIN 1, la salida Out 2 encenderá. Y, al soltar nuevamente IN 1, la salida Out 1 y Out 2seguirán encendidas. Al pulsar nuevamente IN 1 se apagarán ambas salidas y, así,sucesivamente.

IN 1. Pulsador 1Out 1. Lámpara 1Out 2. Lámpara 2

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

Page 58: Controladores lógicos programables PLC - Norberto Molinari

58

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

AND OUT 02= OUT 03LDN IN 01OR OUT 04AND OUT 03= OUT 04LD OUT 05OR OUT 04AND OUT 01= OUT 05END

Notamos que para encender dos salidas estamos gastando cinco, lo que no es lógi-co, ya que los PLC de la gama compacta no podrían ser usados.

Esto se puede resolver usando memorias o flags.

Estas memorias o flags tienen el mismo manejo que una salida; pero, no tienen vincu-lación física con el exterior. Si se deseara poder utilizar una memoria como salida nosería posible; habría que hacer un copy (=) de esta memoria a la salida elegida.

Una memoria puede ser utilizada para almacenar estados intermedios en un PLC opara retener una entrada de corta duración y, luego, procesarla.

En la mayoría de los PLC, estas memorias son retentivas2 y, ante cortes de energíaeléctrica, su estado es almacenado.

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

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 yMEM 5, respectivamente.

Page 59: Controladores lógicos programables PLC - Norberto Molinari

59

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Con este reemplazo, para encender dos lámparas solamente usamos dos salidas:OUT 1 y OUT 3.

Lista de instrucciones:LD IN 01OR OUT 01ANDN MEM 05=OUT 01LDN IN 01OR MEM 02AND OUT 01=MEM 02LD IN 01OR OUT 03AND MEM 02= OUT 03LDN IN 01OR MEM 04AND OUT 03= MEM 04LD MEM 05OR MEM 04AND OUT 01= MEM 05END

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

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

Page 60: Controladores lógicos programables PLC - Norberto Molinari

60

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

LD IN 01AND OUT 01AND OUT 02ANDN MEM 01=RST OUT 01=RST OUT 02=SET MEM 01LDN IN 01=RST MEM 01END

• Otros usos de las memorias:

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

Tratemos de resolver el siguiente ejemplo:

Realizamos un automático de escaleras tradicional, con un pulsador en la parte infe-rior 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 quepulse IN 2. También se podrá realizar en sentido contrario.

Page 61: Controladores lógicos programables PLC - Norberto Molinari

61

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

La solución:

Lista de instrucciones para PLC con paréntesis:LD IN 1ANDN IN 2OR ( IN 2ANDN IN 1 )= OUT 3END

Lista de instrucciones para PLC sin paréntesis:LD IN 1ANDN IN 2= MEM 1LD IN 2ANDN IN 1OR MEM 1= OUT 3END

Usando timers

En los PLC podremos encontrar una variedad de timers que pueden funcionar comosi fueran eléctricos o electrónicos.

Los más comunes son los eléctricos, que se clasifican en:

• Retardo en la conexión.• Retardo en la desconexión.

En algunos PLC, de acuerdo con el número de timers, puede ser de retardo en laconexión o de retardo en la desconexión. Por eso es aconsejable que, antes deponer a funcionar un timer, se verifique de qué tipo son los que tiene el PLC a utilizar,verificando sus características técnicas.

La cantidad de timers que tienen los PLC también es variada; va desde ocho enadelante y puede llegar –en modelos de gran porte– hasta 256.

En cuanto a su precisión, los comunes rondan las décimas de segundo; y, en PLC detipo modular, dependiendo de la CPU utilizada, esta precisión llega a centésimas desegundo.

El rango en que se los puede ajustar varía desde décimas de segundo hasta, aproxi-madamente, 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 detiempo; es decir, si ajusto un timer en 255 bases de tiempo y la base de tiempo es ladécima, entonces el timer estará ajustado en 25,5 segundos.

El seteo del valor del timer se realiza en el software de programación y edición deprogramas; o, cuando está corriendo el PLC, mediante la utilización de hand hell, loscuales nos permitirán modificar a voluntad los valores del timer, al igual que visualizarlosmientras funciona.

Page 62: Controladores lógicos programables PLC - Norberto Molinari

62

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Donde # es el número que le corresponde a cada timer.

a) Retardo en la conexión

Diagrama temporal:

¿Cómo encontramos expresados a los timers en un diagrama Ladder?

En la parte condicional: En la parte de las acciones:

Diagrama de contactos:

Lista de instrucciones:LD IN 1= TIM 1LD TIM 1= OUT 1END

b) Retardo en la desconexión

Page 63: Controladores lógicos programables PLC - Norberto Molinari

63

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Lista de instrucciones:LD IN 2= TIM 9LD TIM 9= OUT 2END

Una de las aplicaciones más comunes de los temporizadores en un PLC es la demanejar el arranque de motores del tipo estrella triángulo.

Con este tipo de sistema logramos realizar el arranque de motores trifásicos con gransencillez.

Una vuelta al problema

Supongamos que el motor del ventilador de extracción de gases contaminantesde la sección pinturas de nuestra fábrica de envases es de más de 10 HP.

Debemos realizar un arranque del tipo estrella/triangulo, el cual tiene la tabla deasignaciones que puntualizamos a continuación.

Supongamos que:IN 1: Pulsador de marchaIN 2: Pulsador de paradaIN 3: Relevo térmicoOut 1: Contactor de líneaOut 2: Contactor estrellaOut 3: Contactor triángulo

Ahora, con estos datos, realicemos el diagrama ladder:

Diagrama temporal:

Diagrama de contactos

Page 64: Controladores lógicos programables PLC - Norberto Molinari

64

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

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

Otra de las aplicaciones frecuentes en el hogar o en edificios de departamentos es ladel uso del timer como un automático de paliers: cuando oprimo el pulsador ubicadoa la salida de algún ascensor se enciende una luz y permanece en ese estado por uncierto tiempo.

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

Usando contadores

En los PLC podemos encontrar una variedad de contadores que pueden funcionarcomo si fueran eléctricos o electrónicos.

Los más comunes son los eléctricos, que se clasifican en:

• Contador ascendente• Contador descendente

Algunos PLC –de acuerdo con cómo éstos se inicialicen– pueden integrar contadorascendente o contador descendente. Por eso es aconsejable que, antes de poner afuncionar un contador, se controle de qué tipo son los contadores que tiene el PLC autilizar, verificando las características técnicas.

La cantidad de contadores que tienen los PLC también es variada; van desde ocho enadelante y pueden llegar hasta 256, en modelos de gran porte. En cuanto a su velocidad,los comunes rondan 500 cuentas por segundo; en PLC del tipo modular, esta precisiónllega al orden de 15000 cuentas por segundo, dependiendo de la CPU utilizada.

El rango en que se los puede ajustar varía desde dos a seis dígitos. El seteo del valor

Cuando se trate de timers

de funcionamiento electróni-

co –no eléctrico, como mos-

tramos aquí–, lo mejor será

consultar las características

técnicas particulares de

cada caso, en el manual del

fabricante.

Page 65: Controladores lógicos programables PLC - Norberto Molinari

65

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Donde # es el número que le corresponde a cada contador.

¿Cómo trabajamos con los contadores?

En algunos PLC, los contadores tienen dos seteos para realizar; uno es el de cargay limpieza –LOAD / CLEAR– y, el otro, la cuenta –COUNT–,

Lo que primero realizamos es la carga y limpieza del contador, antes de ponerlo afuncionar. Cuando colocamos un “1” lógico en esa entrada, el contador limpia suestado actual y se resetea; sus contactos de C# pasan a la posición de reposo,tienen un “0”. Recién en ese instante está en condiciones de contar puesto que, allimpiar su estado, también carga el valor de predeterminación.

Al ingresar la cuenta de eventos por la entrada de cuenta, el contador empieza adecrementar su valor con cada ingreso y, cuando llega a “0”, la cuenta pone un “1”lógico en sus contactos –los setea–.

El “1” lógico en la entrada de carga y limpieza (LOAD / CLEAR) debe ser transitorio;si no quitamos este “1”, siempre se estará limpiando.

Las entradas de cuenta pueden ser de dos tipos:

• por nivel o• por flanco3.

del contador se realiza en el software de programación y edición de programas, ocuando está corriendo el PLC, mediante la utilización de hand hell que permiten modi-ficar a voluntar los valores del contador, al igual que visualizarlos mientras funcionan.

¿Cómo encontramos expresados a los contadores en un diagrama ladder?

En la parte condicional: En la parte de las acciones:

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; conotro pulsador, en IN 2, contamos los eventos.

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

Page 66: Controladores lógicos programables PLC - Norberto Molinari

66

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Lista de instrucciones:LD IN 01=CSET 01LD IN 02= CNT 01LD CNT 01= OUT 01END.

En este caso, la instrucción = CSET 01 es la encargada de cargar y limpiar el estadodel contador.

La instrucción = CNT 01, por su parte, es la encargada de contar eventos.

Formas de representación de las fases operativas de una máquina

La complejidad siempre creciente de los automatismos industriales se traduce encada vez mayores dificultades para definir de modo claro y no ambiguo el desarrollode las fases operativas del equipo y sus estados de conmutación. Las extensas des-cripciones literales resultan de difícil o confusa interpretación, por lo que se haceimprescindible adoptar métodos de representación claros y concretos, ya sea enforma literal o gráfica.

Seguidamente, indicamos distintos métodos para la representación de las fasesoperativas de las máquinas. Si bien todos son de aplicación general, es el grado decomplejidad del equipo el que define el más adecuado en cada caso.

Es importante destacar que las formas de representación son independientes de latecnología utilizada; por consiguiente, son aplicables para centrales de mando neu-mático, hidráulico, mecánico, eléctrico, electrónico o combinaciones de éstos.

Vamos a referirnos a:

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

Visualizamos el estado del contador en la salida OUT 1.

Diagrama ladder:

Cuando se trata de conta-

dores, lo mejor es consultar

las características técnicas

particulares de cada caso,

en el manual del fabricante.

Aquí sólo estamos haciendo

referencia al manejo de con-

tadores que realizan los PLC

de la empresa Dydec.

Page 67: Controladores lógicos programables PLC - Norberto Molinari

67

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

1. Representación descriptiva simplificada:

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

2. Representación abreviada con vectores:

En este caso, el movimiento de los cilindros o actuadores se representa por vectores.

Se adopta, convencionalmente:

Salida (extensión) del vástago

Entrada (retracción) del vástago

Ejemplos:

1) 2)

Fase 1 A Fase 1 A

Fase 2 B Fase 2 B

Fase 3 B Fase 3 B C

Fase 4 A Fase 4 A C

3. Representación abreviada con signos:

En este caso, el movimiento de los cilindros o actuadores es designado con lossignos más (+) y menos (-).

Se adopta, convencionalmente:

+ Salida (extensión) del vástago - Entrada (retracción) del vástago

Ejemplos:

Fase 1 Fase 2 Fase 3 Fase 4

1) A+ B+ B- A-

2) A+ B+ B- C+ A- C-

3) A+ B+ B- A-C+ C-

Page 68: Controladores lógicos programables PLC - Norberto Molinari

68

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

4. Representación en forma de diagramas:

4.1. Diagrama espacio-fase:

En el diagrama espacio-fase se representa la secuencia de acción de las unidades detrabajo y el encadenamiento de las señales de mando.

Se utilizan, para ello, dos ejes coordenados:

• En uno de ellos, el eje vertical, se representa el estado de los actuadores delsistema utilizando valores binados (0 - 1). Se adopta valor 0 para indicar laposición de reposo del elemento (motor detenido, cilindro con vástago retraí-do, etc.) y valor 1 para identificar el estado del elemento actuado (motor enmarcha, cilindro con su vástago extendido, etc.). Estas designaciones consti-tuyen una práctica corriente; no obstante, su carácter es convencional.

• En el otro eje, el eje horizontal, se indican las fases o pasos en que se subdi-vide el ciclo de trabajo. Estos pasos o fases están caracterizados por la modi-ficación o cambio del estado de un elemento constitutivo del mando. Estoscambios se indican con líneas verticales auxiliares sobre el diagrama, que de-nominamos líneas de fase.

Siempre debemos tratar que los principios de representación y los símbolos utiliza-dos sean iguales en todos los casos, a efectos de lograr que la lectura y comprensiónpuedan realizarse sin dificultad e inequívocamente. Para esto, adoptamos las siguien-tes reglas y símbolos básicos:

Los actuadores (neumáticos o hi-dráulicos) se representan por lí-neas.

Las líneas horizontales represen-tan estados de reposo del elemen-to (fases 1 y 3 en el diagrama dela figura).

Las líneas inclinadas significanmovimientos (fases 2 y 4 de la fi-gura).

Las líneas con distinta inclinaciónevidencian distintas velocidadesdel movimiento; por ejemplo:aproximación rápida, trabajo len-to y retomo rápido (fases 1, 2 y 3en el diagrama de la figura).

Page 69: Controladores lógicos programables PLC - Norberto Molinari

69

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

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

El arranque y parada de motores se indi-ca con una línea vertical desde el estado0 al estado 1 y viceversa.

Los motores con posibilidad de giro endos sentidos se representan como en lafigura. El nivel 1 superior indica, por ejem-plo, rotación en sentido horario; en tantoel inferior, lo contrario. El 0 central indicareposo (motor detenido).

Los motores con aceleración ydeceleración prolongada pueden represen-tarse como en la figura (caso de inversióndel giro).

Cuando en un mando existen varios ele-mentos de trabajo, éstos son representa-dos individualmente, uno debajo del otro,estableciendo su relación por medio delas líneas de fase.

Page 70: Controladores lógicos programables PLC - Norberto Molinari

70

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

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

Representemos en forma de diagrama espacio-fase la siguiente secuencia de máqui-na, expresada en forma literal abreviada con signos:

A+, B+, A- C+, B-C-

Se exige un funcionamiento a ciclo simple. El inicio se producirá oprimiendo un co-mando bimanual y estará condicionado a la finalización del ciclo anterior.

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

Page 71: Controladores lógicos programables PLC - Norberto Molinari

71

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

4.2. Diagrama espacio-tiempo:

El diagrama espacio-tiempo constituye una variante del diagrama espacio-fase, en dondeen el eje horizontal se indican los tiempos –en reemplazo de las fases o pasos utilizadosen este último–. Cuando el tiempo de ejecución constituye una variable de considera-ción en el equipo, la “escala” de tiempos simplemente se superpone a la de fases.

Valen para este diagrama las mismas reglas y símbolos gráficos ya mencionados. Suaplicación resulta adecuada en aquellos mandos programados en función del tiem-po, en tanto que el espacio-fase lo es para los mandos por programa de recorridos yde evolución secuencial.

Page 72: Controladores lógicos programables PLC - Norberto Molinari

72

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

4.3. Diagrama funcional Grafcet:

Un diagrama funcional es una representación gráfica que permite describir las funcio-nes operativas de un automatismo.

El Grafcet es un diagrama funcional desarrollado en 1977 por la Asociación Francesapara la Cibernética Económica y Técnica, y constituye un paso importante para launificación de la representación del conjunto de condiciones de un automatismológico.

Tiene un nombre propio para distinguirlo de otros diagramas funcionales y formas derepresentación existentes –como son los diagramas de Girard, organigramas lógi-cos, diagramas DIN 40719, etc.–.

¿Cómo pasamos de la representación de un diagrama espacio-fase a programar uncontrolador lógico programable?

Lo resolvemos usando la programación el Ladder, teniendo en cuenta lo siguiente:

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

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

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

Page 73: Controladores lógicos programables PLC - Norberto Molinari

73

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Page 74: Controladores lógicos programables PLC - Norberto Molinari

74

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Aclaremos cómo funciona este método de resolución gráfica:

• En primer lugar, siempre colocamos una memoria o flag normalmente cerrada(NC), como indica la figura.

• A continuación, colocamos las condiciones propias del programa.• En la zona de acciones colocamos las acciones que correspondan al progra-

ma, 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 quehabilita la segunda fase del programa.

• Luego, en las fases sucesivas, colocamos, en primer lugar, la memoria quehabilita la rama y, a continuación, las condiciones propias del programa.

• Procedemos –de igual forma que en el paso anterior– a colocar las accionesdel programa.

• Luego, reseteamos la memoria que habilita esta rama y seteamos la que habi-lita a la siguiente.

• Esto sigue de esta manera, hasta terminar con la totalidad de las fases, en lasque colocamos la memoria que habilita la rama y, a continuación, las condi-ciones propias del programa.

• Procedemos –de igual forma que el paso anterior –a colocar las acciones delprograma y luego reseteamos la memoria que habilita esta rama y tambiénreseteamos la primera memoria utilizada.

• En muchas ocasiones es bueno que la última fase del programa produzca lapuesta a cero de la totalidad de las salidas.

Consideremos un ejemplo:

Se desea realizar la automación de una máquina automática cuyos movimientosobedecen al siguiente espacio fase:

Como entrada tenemos:IN 1: EmergenciaIN 2: Marcha continuaIN 3: Un CicloIN 4: Parada fin de cicloIN 5: Cilindro atrásIN 6: Cilindro adelante

Y, como salidas:Out 1: AlarmaOut 2: A+Out 3: A-

1 2 3 4 5=1

Marcha un Ciclo

IN 5

IN 6

IN 3

Page 75: Controladores lógicos programables PLC - Norberto Molinari

75

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

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

Solución:

Page 76: Controladores lógicos programables PLC - Norberto Molinari

76

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

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

Situaciones de borne ídem al anterior

T = 5 seg.

1 2 3 4 5 6 = 11

0

Al mismo ejemplo an-terior le introducimosun timer entre la fase2 y 3, quedando:

Page 77: Controladores lógicos programables PLC - Norberto Molinari

77

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

IN 1: EmergenciaIN 2: Marcha continuaIN 3: Un cicloIN 4: Parada fin de cicloIN 5: Cilindro atrásIN 6: Cilindro adelante

Y, como salidas:Out 1: AlarmaOut 2: A+Out 3: A-

Diagrama Ladder:

Page 78: Controladores lógicos programables PLC - Norberto Molinari

78

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

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

Page 79: Controladores lógicos programables PLC - Norberto Molinari

79

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

=RST MEM 50LD IN 01AND MEM 26= OUT 01=RST OUT 02=RST OUT 03END

Ahora, vemos cómo resolvemos diagramas espacio-fase de dos elementos, como elsiguiente:

Diagrama Ladder:

IN 1: EmergenciaIN 2: Marcha continuaIN 3: Un CicloIN 4: Parada fin de ciclo IN 5: Cilindro A atrásIN 6: Cilindro A adelanteIN 7: Cilindro B atrásIN 8: Cilindro B adelante

Cilindro A

Cilindro B

Out 1: AlarmaOut 2: A+Out 3: A-Out 4: B+Out 5: B-

1 2 3 4 5 6 7 = 11

0

1

0

Page 80: Controladores lógicos programables PLC - Norberto Molinari

80

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Lista de instrucciones:LD MEM 50OR IN 03ANDN MEM 01ANDN CNT 01ANDN IN 06AND IN 05ANDN IN 08AND IN 07ANDN IN 01=SET OUT 02=RST OUT 03=SET MEM 01=SET MEM 02LD MEM 02AND IN 06ANDN IN 05ANDN IN 08AND IN 07ANDN IN 01

Continúa a la página siguiente.

Page 81: Controladores lógicos programables PLC - Norberto Molinari

81

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

=SET OUT 03=RST OUT 02=RST MEM 02=SET MEM 03LD MEM 03ANDN IN 06AND IN 05ANDN IN 08AND IN 07ANDN IN 01=SET OUT 02=RST OUT 03=SET OUT 04=RST OUT 05=RST MEM 03=SET MEM 04LD MEM 04AND IN 06ANDN IN 05AND IN 08ANDN IN 07ANDN IN 01=RST MEM 04=SET OUT 05=RST OUT 04=SET MEM 05LD MEM 05AND IN 06ANDN IN 05ANDN IN 08AND IN 07ANDN IN 01=RST MEM 05=SET OUT 04=RST OUT 05=SET MEM 06LD MEM 06AND IN 06ANDN IN 05AND IN 08ANDN IN 07ANDN IN 01=SET OUT 03=RST OUT 02=SET OUT 05=RST OUT 04=RST MEM 06=SET MEM 07LD MEM 07ANDN IN 06AND IN 05ANDN IN 08

Continúa a la página siguiente.

Page 82: Controladores lógicos programables PLC - Norberto Molinari

82

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

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

En el siguiente ejemplo colocamos a trabajar juntos timer y contadores. El diagramaespacio-fase es, así, el siguiente:

Situaciones de borne ídem al anterior

T = 5 seg. T = 5 seg.

IN 1: EmergenciaIN 2: Marcha continuaIN 3: Un cicloIN 4: Parada fin de ciclo IN 5: Cilindro A atrásIN 6: Cilindro A adelante

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

1 2 3 4 5 6 7 = 11

0

Page 83: Controladores lógicos programables PLC - Norberto Molinari

83

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Diagrama Ladder:

Page 84: Controladores lógicos programables PLC - Norberto Molinari

84

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Lista de instrucciones:LD MEM 50OR IN 03ANDN MEM 01ANDN CNT 01ANDN IN 06AND IN 05ANDN IN 01= TIM 01=SET MEM 01=SET MEM 02LD MEM 02ANDN IN 06AND IN 05ANDN IN 01=SET OUT 02=RST OUT 03=RST MEM 02=RST MEM 01=SET MEM 03LD MEM 03AND IN 06ANDN IN 05ANDN IN 01=SET OUT 03=RST OUT 02=RST MEM 03=SET MEM 04LD MEM 04ANDN IN 06AND IN 05ANDN IN 01=SET OUT 02=RST OUT 03=RST MEM 04=SET MEM 05LD MEM 05AND IN 06ANDN IN 05ANDN IN 01= TIM 02=SET MEM 06LD MEM 06AND IN 06ANDN IN 05AND TIM 02ANDN IN 01=SET OUT 03=RST OUT 02=RST MEM 05=RST MEM 06=SET MEM 07

Continúa a la página siguiente.

Page 85: Controladores lógicos programables PLC - Norberto Molinari

85

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

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

Actividad 3Integración de “Introducción a la programación”

1. Explique brevemente los distintos lenguajes de programación a tra-vés de un ejemplo, referido al PLC que está desarrollando.

2. ¿Cuáles son las consideraciones que debe tener al realizar la programa-ción de tipo Ladder? Refiéralas al PLC que ha tomado como ejemplo.

3. Realice el diagrama espacio/fase de la máquina estampadora pro-puesta y efectúe la programación adecuada –tanto Ladder comolista–. Coloque los pulsadores de marcha continua, parada a fin deciclo, parada de emergencia. Cuente la producción y realice unsistema minino de indicación de alarmas.

Page 86: Controladores lógicos programables PLC - Norberto Molinari
Page 87: Controladores lógicos programables PLC - Norberto Molinari

93

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

OTROS LENGUAJESDE PROGRAMACIÓN

Anexo 1 / Estructura del lenguaje STL

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

Page 88: Controladores lógicos programables PLC - Norberto Molinari
Page 89: Controladores lógicos programables PLC - Norberto Molinari

95

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Jerarquía de los elementos STL

La naturaleza modular del lenguaje STL2 permite al programador resolver tareas com-plejas de una manera eficiente, sin requerir el conocimiento de la totalidad de estoselementos pero sí la forma en que esos elementos son combinados, ya que influye demodo importante en la operación del programa.

Consideremos cómo está organizado este lenguaje:

Jerarquía de los elementos STL:

PROGRAM

STEPSENTENCE

CONDITIONAL PARTEXECUTIVE PART

Aunque el uso de la instrucción STEP –paso– es opcional, la mayoría de los progra-mas requiere su uso. La instrucción step se utiliza para marcar el comienzo de unbloque lógico de código de programa. Cada programa STL puede contener hasta255 steps discretos, pudiendo cada uno de estos step incluir una o más sentences –oraciones o enunciados–.

Cada step puede tener asignada una etiqueta –label–, a voluntad del programador, laque puede ser requerida para referencia futura del step.

Un label para un step sólo es requerido si el step respectivo es asignado como desti-no por una instrucción de salto –jump-.

La sentence forma el nivel básico de la organización del programa. Cada sentenceconsiste en una parte condicional y una parte ejecutiva.

La parte condicional sirve para enumerar una o más condiciones que deben evaluar-se cuando el programa está corriendo y que pueden ser ciertas o falsas. La partecondicional siempre comienza con la expresión lf y continúa con uno o más enuncia-dos que describen las condiciones a ser evaluadas.

Si las condiciones programadas son evaluadas como true –verdaderas–, entoncescualquier instrucción programada en la parte ejecutiva es cumplida. El comienzo dela parte ejecutiva está marcado por la expresión THEN.

Sentencias típicas

Consideremos sentencias típicas en STL sin el uso de la instrucción step:

IF I1.0 Si input 1.0 está activaTHEN SETO1.2 entonces conmutar a si output 1.2IF N I2.0 Si input 2.0 no está activaTHEN SET O2.3 entonces conmutar a si output 2.3

Lenguaje STL –Statement

List–

Permite al programador re-

solver tareas de control usan-

do expresiones sencillas en

inglés, las que describen la

operación deseada del con-

trolador.

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

Page 90: Controladores lógicos programables PLC - Norberto Molinari

96

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

IF I6.0 Si input 6.0 está activaAND N I2.1 y la input 2.1 no está activaAND O3.1 y la output 3.1 está activaTHEN RESET O2.1 entonces apagar output 2.1RESET T6 y reset timer 6

En el ultimo ejemplo, se ha introducido el principio de condiciones compuestas. Esdecir, todas las condiciones establecidas en la sentencia deben cumplirse (ser verda-deras) para que las acciones –posteriores a la expresión THEN– sean ejecutadas.

Más ejemplos:

IF I3.2 Si input 3.2 está activaORN T6 o timer 6 no está corriendoTHEN INC CW1 entonces incrementar counter 1SET T4 y arrancar timer 4 con parámetros

preexistentes

Este ejemplo muestra el uso de la estructura OR en la parte condicional de unasentencia. 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 estable-cidas son ciertas.

La próxima sentencia introduce el uso de paréntesis en la parte condicional, paraestablecer la forma en que las condiciones son evaluadas.

IF (11.1 Si input 1.1 está activa yAND T4 ) Timer 4 está corriendoOR (I1.3 O si input 1.3 está activaAND I1.2 ) e input 1.2 está activa

Hemos usado la instrucción OR para combinar por medio del paréntesis dos condi-ciones compuestas.

Hemos introducido estos ejemplos para mostrar el uso de sentencias en el LenguajeStatement List. Es posible crear programas enteros que consistan sólo en múltiplessentencias sin usar la instrucción STEP.

A los programas construidos de esta forma se los llama programas paralelos. Estosprogramas se comportan casi de la misma forma que los programas en el lenguajeLadder Diagram. Esto es, sin usar la instrucción STEP.

Para que estos programas puedan funcionar y ser procesados continuamente, esnecesario agregar la instrucción PSE.

Para quienes están familiarizados con el Lenguaje Ladder Diagram, puede decirseque 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) siem-pre que la entrada está activa y apagarla (OFF) cuando la entrada está inactiva, es:

Page 91: Controladores lógicos programables PLC - Norberto Molinari

97

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Mientras que la sentencia equivalente en STL es:

IF I1.0 Si input 1.0 está activaTHEN SET 02.6 Entonces conmutar a si output 2.6PSE Fin de programaOTHRW RESET 02.6De otra forma, apagar output 2.6PSE Fin de programa

En este ejemplo se ve la inclusión de la instrucción OTHRW; porque, el lenguaje STLrequiere instrucciones explícitas para alterar el estado de cualquier operando (porejemplo: output, timer, counter).

La instrucción PSE, por su parte, se coloca al final de la sección del programa paralelopara forzar al programa a ejecutarse continuamente, retornando a la primera sentenciadel step corriente o a la primera sentencia del programa, si no hubiera steps.

Instrucción STEP

Los programas que no usan la instrucción STEP son procesados en forma paralela(barrido). Aunque este tipo de programa puede ser apto para resolver cierto tipo detareas de control, el lenguaje STL provee la instrucción STEP.

Esta instrucción permite que los programas sean divididos en secciones discretas –STEPS–que son ejecutadas independientemente.

En su forma más simple, un STEP incluye al menos una sentencia y toma la siguienteforma:

STEP (label)IF I1.0 Si la input 1.0 es activaTHEN SET 02.4 entonces activar output 2.4 y proceder

al próximo step

Es importante comprender que el programa espera en este STEP hasta que las con-diciones sean ciertas; recién en ese momento las acciones son ejecutadas y enton-ces, sólo entonces, el programa sigue al próximo STEP.

La etiqueta –label– del STEP sólo es requerida si un STEP es el destino de una instruc-ción de salto –jump–.

Debe notarse que cuando el softvvare FST carga los programas STL en el PLC,asigna números relativos de STEP a cada uno de éstos. Estos números son reprodu-cidos en los listados de programas, siendo de gran ayuda para monitorear la ejecu-ción de programas online con propósito de búsqueda de fallas –debugging–.

Los STEP de un programa pueden incluir múltiples sentencias:

STEPIF I2.2 Si input 2.2 es activaTHEN SET 04.4 Conmutar y activa output 4.4IF I1.6 Si input 1.6 es activaTHEN RESET 02.5 Apagar output 2.5SET 03.3 y activar output 3.3

Page 92: Controladores lógicos programables PLC - Norberto Molinari

98

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

En el ejemplo previo, se ha introducido el concepto de múltiples sentencias dentrode 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 primerason 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 acabo y el programa procede al próximo step;

• Si la parte condicional de la última sentencia es no verdadera, entonces elprograma retorna a la primera sentencia del step actual.

Al desarrollar programas o steps que contengan múltiples sentencias, es importantecomprender que éstas son procesadas en forma paralela (barrido): Cada vez que laparte condicional de una sentencia es evaluada como verdadera, las instruccionesprogramadas en la parte ejecutiva son ejecutadas. Esto debe ser considerado paraevitar una ejecución múltiple descontrolada tal como SET TIMER (arrancar un timer) oINC/DEC counter (incrementar/decrementar un contador).

El lenguaje STL no usa condiciones de “disparo por flancos”; las condiciones seevalúan por verdadero o falso, nb sin importar el estado previo.

Esta situación es fácilmente manejada usando steps, flags u otro medio de control.

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

Reglas de ejecución:

• Si las condiciones de una sentencia se cumplen, entonces las acciones progra-madas son ejecutadas.

• Si las condiciones de la última (o única) sentencia dentro de un step se cum-plen, entonces las acciones programadas son ejecutadas y el programa pro-cede al próximo step.

• Si las condiciones de una sentencia no se cumplen, entonces el programa semueve a la sentencia siguiente en el step actual.

• Si las condiciones de la última (o única) sentencia dentro de un step no secumplen, entonces el programa retorna a la primera sentencia del step actual.

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

Page 93: Controladores lógicos programables PLC - Norberto Molinari

99

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Modificando el flujo del programa

Además de las estructuras de control inherentes en la instrucción STEP, hay variasinstrucciones adicionales STL disponibles para modificar el criterio de ejecución delos steps y sentencias del programa.

El lenguaje STL tiene las siguientes instrucciones que permiten resolver, en formarápida y sencilla, tareas de control simples y complejas.

AND

BID

CFM n

CMP n

CPL

DEC

DEB

EXOR

IF

INC

INV

JMP TO (Steplabel)

LOAD

NOP

OR

OTHRW

PSE

RESET

ROL

SUMARIO DE INSTRUCCIONES STL

INSTRUCCIÓN PROPÓSITO

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

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

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

Comienza la ejecución de un módulo 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 operación lógica 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 ejecutándose en el Step especificado por el label(etiqueta).

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

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

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

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

–Program Section End– Fin de la sección del programa.

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

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

Page 94: Controladores lógicos programables PLC - Norberto Molinari

100

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Consideremos algunas de estas instrucciones:

• Instrucción NOP:

La instrucción NOP puede usarse en la parte condicional o en la ejecutiva de unasentencia.

Si NOP es usada en la parte condicional, siempre es evaluada como verdadera. Lainstrucción NOP puede usarse para la ejecución incondicional de una sentencia.

IF NOP esto siempre es verdaderoTHEN SET O1.0 entonces output 1.0 será siempre activada cuando el

programa ejecute esta línea.

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

El programador desea que, cuando la ejecución del programa llegue al step 50, severifiquen determinadas condiciones y, en caso de ser éstas verdaderas, se ejecutenlas acciones apropiadas.

Sin embargo, sin importar si alguna de las condiciones se cumplen, después depasar exactamente una vez el programa, encenderá la output 3.6 y procederá alpróximo step. Esto es porque hemos forzado la última sentencia a ser verdadera,mediante la instrucción NOP

STEP 50IF I1.0 Si input 1.0 es activaTHEN SET 02.2 Entonces activar output 2.2IF N I3.5 Si input 3.5 no es activaAND I4.4 e input 4.4 es activaTHEN RESET O1.2 entonces apagar output 1.2IF T3 Si timer 3 está corriendoTHEN SET F0.0 entonces set flag 0.0IF NOP En cualquiera de los casos nos aseguramos que la

ultima sentencia sea siempre verdadera.

ROR

SET

SHIFT

SHL

SHR

SWAP

TO

THEN

WITH

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

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

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

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

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

Intercambia los bytes alto y bajo del acumulador monobit.

Se usa en conjunción con la instrucción LOAD, para especificar un operando dedestino.

Marca el comienzo de la parte ejecutiva de una sentencia.

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

Page 95: Controladores lógicos programables PLC - Norberto Molinari

101

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

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

IF I3.2 Si input 3.2 es activaTHEN NOP no hacer nada e ir al próximo stepTHEN SET 03.6 encender output 3.6, salir de este step e ir al

próximo step.

• Instrucción JMP TO:

Otra instrucción STL que puede usarse para modificar el flujo de ejecución del progra-ma es la instrucción JMP.

La instrucción JMP permite al programa ramificarse. Modificando el ejemplo queconsideramos hace un momento, es posible consultar las condiciones de cada sen-tencia y, si se cumplen, ejecutar la acción programada y luego saltar –jump– al stepdesignado del programa.

STEP 50IF I1.0 Si input 1.0 es activaTHEN SET O2.2 Encender output 2.2JMP TO 70 Y saltar a step label 70IF N I3.5 Si input 3.5 no es activaAND I4.4 e input 4.4 es activaTHEN RESET O1.2 Apagar output 1.2JMPTO 6 y saltar a step label 6IF T3 Si timer 3 está corriendoTHEN SET F0.0 entonces set flag 0.0IF NOP Siempre verdadero, luego...THEN SET 03.6 Encender output 3.6 e ir al próximo paso.

Puede verse que no solamente hemos alterado el flujo del programa, sino que ade-más hemos establecido prioridades entre las sentencias.

Por ejemplo, las sentencias 2, 3 y 4 solamente tienen la posibilidad de ser proce-sadas:

• si la sentencia 1 es falsa y, por lo tanto, no ejecutada;• si la sentencia 1 se ejecuta, el programa salta al step 70 sin haber procesado

ninguna de las sentencias siguientes en el step 50.

• Instrucción OTHRW

La instrucción OTHRW –otherwise; por otra parte, sino– puede cambiar el flujo delprograma. Esta instrucción se ejecuta cuando la última cláusula IF encontrada esevaluada como no válida –not true–.

IF I2.0 Si input 2.0 es activaTHEN SET 03.3 encender output 3.3OTHRW SET 04.5 sino encender output 4.5

Page 96: Controladores lógicos programables PLC - Norberto Molinari

102

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Direccionando entradas y salidas –inputs y outputs–

Vamos a detallar ahora cómo acceder a las entradas digitales –inputs– y a las salidasdigitales –outputs–, usando el lenguaje STL.

Inputs y outputs están conectados a la CPU (en donde los programas de control enSTL son almacenados) por medio de las siguientes formas:

• Sistema de field bus.• Redes.

En unas páginas más nos ocuparemos de ellos.

Los controladores lógicos programables de Festo® organizan las inputs y outputs (I/O) como un word –grupo–. Dependiendo del modelo de controlador particular (o delmódulo de I/O para sistemas modulares), cada grupo, usualmente, consiste en 8 o 16inputs o outputs discretas.

Estos grupos completos de words se referencian por su tipo, input u output, y por ladirección de la word (n). Este número de dirección es generalmente fijo en controla-dores pequeños y configurable (por medio de llaves) en sistemas modulares.

• las word de entrada –input words–, a menudo, son identificadas con iwn;mientras que

Page 97: Controladores lógicos programables PLC - Norberto Molinari

103

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

• las word de salida –output words– son declaradas como own.

Los ejemplos incluyen:

IW1 Input Word 1IW7 Input Word 7OW0 Output Word 0OW2 Output Word 2

Note que cada entrada y cada salida dentro de un sistema tiene un número de direc-ción único; no es posible para un sistema tener direcciones duplicadas de I/O.

Sin embargo, es generalmente aceptable para un sistema incluir un input word con elmismo número de direcciones que el de un output word (por ejemplo, IW1 y OWI).

Las entradas y salidas individuales que están en un grupo de I/O están identificadasde la siguiente forma:

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

Los números de la posición pueden estar entre -7 o 0-15, dependiendo del tamañodel grupo de I/O.

Por ejemplo:

I3.2 Posición input 2 de la input word 3I0.15 Posición 15 de la input word 002.7 Posición output 7 de la output word 2O0.0 Posición output 0 de la output word 0

1. Usando Inputs en programas:

Las inputs son elementos del sistema de control que están diseñados para ser leídoso consultados. Están conectadas a dispositivos externos tales como sensores, llaves,etc., los que pueden o no suministrar una señal a una entrada individual.

Ejecutando las instrucciones STL apropiadas dentro de la parte condicional de unasentencia, el controlador es capaz de determinar el estado corriente de una entradadiscreta.

IFI1.1 Verifica una señal válida en input 1.1IF N I3.3 Verifica una señal falsa en input 3.3

Las entradas múltiples, así como otras condiciones, pueden combinarse lógicamente.

Algunas veces, puede ser deseable o necesario verificar el estado de words de entra-da –input words– completas. Para determinar el estado de una input word completa,es necesario leer el valor de la word entera y determinar si cumple el criterio deseado.

Por ejemplo, para verificar si todas las 8 inputs de la input word 2 están recibiendoseñales válidas, podríamos hacer un AND lógico a cada input:

Page 98: Controladores lógicos programables PLC - Norberto Molinari

104

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

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

Aquí verificamos si todas las 8 inputs de una input word de 8 bit están recibiendoseñales válidas o usando la ventaja del lenguaje STL de evaluar words completas.

La siguiente podría ser la secuencia del programa:

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

Tareas más complejas, las que requerirían largos listados si se programaran bit a bit,son fácilmente llevadas a cabo usando input words combinadas con otras instruccio-nes lógicas.

Para ver si una o más de las inputs 1.5, 1.6 1.7 son válidas, se hace de la siguiente forma:

IF lw1 primero obtiene la word enteraAND V224) = 111 00000 binario> V31 si el resultado es mayor que... Aquí tendremos

Lo que es equivalente a:

IF I1.5OR I1.6OR I1.7

2. Usando outputs en programas:

Las outputs de un controlador programable pueden usarse para controlar distintostipos de dispositivos eléctricos, mediante instrucciones de programa, lo que activará(SET) o desactivará (RESET) las salidas requeridas (output).

Mientras las inputs pueden sólo ser leídas (consultadas), las outputs pueden ser escri-tas (SET o RESET) y pueden también ser consultadas en la misma forma que lasentradas. Por lo tanto, las referencias a las outputs pueden aparecer tanto en la partecondicional como en la parte ejecutiva de una sentencia STL.

Ejecutando las instrucciones STL apropiadas en la parte ejecutiva de una sentencia,el controlador puede conmutar una output particular a SI o NO.

• La instrucción SET se usa para conmutar a SI una output.• La instrucción RESET conmuta la output a No.

IF cualesquiera condiciones necesariasTHEN SET O1.2 activar output 1.2RESET 03.3 apagar output 3.3

Page 99: Controladores lógicos programables PLC - Norberto Molinari

105

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Setear una output que ya está SET o resetear una output que ya está RESET no tieneningún efecto. Como se nota, las outputs pueden ser consultadas en la parte condi-cional.

La siguiente instrucción verifica si la input 2.4 está recibiendo una señal válida y si laoutput 2.2 está activa en este momento:

IF I2.4 Input 2.4 activaAND 02.2 Output 2.2 activaTHEN ... Acciones deseadas

Algunas veces puede ser deseable o necesario verificar o alterar el estado de outputwords enteras. De la misma forma, las entradas pueden ser manipuladas tomandocomo 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 V0TO OW2

resulta que en la totalidad de las outputs asociadas con la output word 2 seanapagadas.

A partir de aquí analizaremos cómo se trabaja con timers, contadores, registros yflags en el lenguaje STL.

Organizaremos la exposición en cuatro títulos:

• Usando timers• Usando counters• Usando registros• Usando flags y flags words

Usando timers

Cada timer implementado en el lenguaje STL consta de los elementos:

Bit de estado del timer

Timer preselect(Preselección del

temporizador)

Timer Word

Elemento / Operando Referencia Función

Tn

Tpn

Twn

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

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

Es un operando de 16 bit al que el operando TP –tiempode preselección– es transferido automáticamente cuan-do el timer es arrancado (SET).Luego este valor es decrementado por el sistema a inter-valos.

Page 100: Controladores lógicos programables PLC - Norberto Molinari

106

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Se requiere de varios pasos para usar un timer en un programa STL:

1. Establecer una preselección de timer válida.2. Establecer una instrucción para arrancar el timer.3. Comprobar el estado del timer: activo / detenido.

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

Antes que pueda usarse cualquier timer, debe inicializarse el timer preselect con unvalor correspondiente al período de tiempo deseado.

Esta inicialización sólo es necesaria de ser llevada nuevamente a cabo si el valorpreseleccionado de tiempo debe ser cambiado. No es necesario cargar nuevamenteel timer preselect cada vez que el timer es arrancado.

Esta inicialización necesita ser realizada con un valor (constante) o con cualquiera delos contenidos de un MBO –Monobit Operandos– (por ejemplo, registro, input word,flag word, etc.)

Por ejemplo, para la inicialización de la preselección de timer con la velocidad delreloj:

STEP 1 ¡Lo hacemos primero!Lf NOP IncondicionalmenteLOAD V10 Valor 10TO TP4 A la preselección del timer 4,WITH SEC velocidad reloj = seconds ...timer 4. Será ahora un timer

de 10 segundos

Las velocidades de reloj son:

HSC cientos de segundosTSC decenas de segundosSEC segundosMIN minutos

Por ejemplo, para la inicialización de la preselección de timer sin una velocidad dereloj:

STEP 1 ¡Lo hacemos primero!IF NOP IncondicionalmenteLOAD V100 valor 100... la velocidad del reloj estándar (sin

especificar) será en incrementos de 1/100 de segundoTO TPO a la preselección del timer 0 = 1 seg.

Se ha inicializado el Timer 0 para tener una duración de 1 segundo (100 x 1/100segundo). El rango permitido es de 0 - 65535, lo que habilita a períodos del timerentre 0.01s y 655.35 s (aproximadamente, 10 minutos).

Los modelos de controlado-

res que incorporan baterías

de resguardo de memoria

–back-up batteries– mantie-

nen los valores de preselec-

ción de los timers durante

los períodos en que el con-

trolador está desconectado

o apagado. Estos valores

también son mantenidos en

controladores que no tienen

baterías de respaldo pero

que tienen tecnologías más

modernas como, por ejem-

plo, FLASHROM, o Zero

Power RAM (Estos dispositi-

vos son RAM mantenidos

por baterías montadas en el

mismo chip).

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

Page 101: Controladores lógicos programables PLC - Norberto Molinari

107

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

2. Establecer una instrucción para arrancar el timer:

Arrancar –start– un timer requiere solamente emplear una instrucción SET especifican-do, además, cuál es el timer a ser puesto en marcha:

IF I1.0 Cualquier condición para comenzarTHEN SET T6 Entonces arrancar timer 6

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

• El valor almacenado en tpn –timer preselect n o preselección del timer n– secopia a la twn –timer word n–.

• Tn –timer status n o estado del timer n– se activa poniéndose en ‘1’ (activo /corriendo).

• El controlador automáticamente decrementa el valor almacenado en Twn aintervalos regulares.

• Cuando el valor almacenado en twn alcanza 0 (cero), Tn –timer status– se con-vierte 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 sabercuándo el tiempo programado ha sido completado. El lenguaje STL permite verificarsi el timer está activo, de la misma forma que se hace para verificar si una input estáactiva.

IF T5 Verifica si el timer 5 está activo (corriendo)IF N T3 Verifica si el timer 3 no está activo (detenido)

Detener un timer sólo requiere de una instrucción RESET, además de especificar cuáles el timer que debe detenerse:

IF I2.0 lnput para detener el timerTHEN RESET T5 Detener timer 5

• Si se ejecuta la instrucción RESET Tn, el bit de estado del timer (Tn) se vuelve0 (inactivo).

• Si el timer ya estaba inactivo, esto no tiene efecto.

Vemos aquí la relación entre las instrucciones bit de estado del timer –timer status Bit;Tn–, el SET Tn, el RESET Tn y el período normal de tiempo:

Si una instrucción de SET de

un timer se ejecuta y el timer

especificado ya está funcio-

nando (activo), será rearran-

cado y un nuevo período de

tiempo comenzará.

Page 102: Controladores lógicos programables PLC - Norberto Molinari

108

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

La línea sólida representa una secuencia de temporizado normal en la cual el estadodel timer se vuelve activo cuando la instrucción SET Tn se ejecuta; el estado retorna ainactivo cuando el período programado de tiempo se ha completado.

La línea de puntos indica que con una instrucción RESET Tn inmediatamente retornael estado del timer a inactivo.

Es importante comprender que, al construir programas o steps que contengan múlti-ples sentencias que serán procesadas en una manera paralela (barrido), cada vez quela parte condicional de una sentencia evalúe ésta como verdadera, las instruccionesprogramadas en la parte ejecutiva serán evaluadas. Esto debe considerarse paraevitar ejecuciones múltiples no controladas que incluyan Set timer o INS/DEC CounterWord, SHL, etc.

El lenguaje STL no usa “disparo por flancos”; las condiciones son evaluadas porverdaderas cada vez que se procesan, sin importar su estado previo.

Esta situación es fácilmente manejada usando steps, flags u otro medio de control.Los siguientes ejemplos muestran dos posibles formas en las cuales estos ejemplosson minimizados.

Podemos evitar arranques indeseados usando la estructura Step STL.

Veamos un ejemplo:

Se trata de una sección de programa en la que se desea poner en marcha un motordurante 3 segundos, cada vez que se presiona un botón, si el motor no está ya enmarcha y han pasado a por lo menos 9 segundos de la última vez que el motor fuepuesto en marcha.

Se ha eliminado en este programa la posibilidad de continuos rearranques de lostemporizadores, combinando la estructura step del STL con la instrucción N Timer.

STEP 1IF NOP Inicializar al conectar energíaTHEN LOAD V900 900. 0,1seg unidad de tiempo

TO TP0 Timer 0 es 2 seg. tiempo de pausaLOAD V300 300 0,1 seg. unidad de tiempoTO TP2 Timer 2 es timer de motorSET T0 Correr pause timer

Page 103: Controladores lógicos programables PLC - Norberto Molinari

109

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

STEP 10IF N T0 Timer 0 ha terminado

AND N T2 Timer 2 no está corriendoAND N O1.0 Motor no está en marchaAND I1.2 Botón presionado

THEN SET T2 Arrancar timerSET O1.0 Arrancar motor

STEP 20IF N T2 Tiempo del motor finalizadoTHEN RESET O1.0 Detener el motor

SET T0 Arrancar timer de pausaJMP TO 10 Arrancar de nuevo

También es posible evitar continuos rearranques de timers, al procesar en paralelo.

Para esto, es importante que el programador de STL entienda que el Bit de estadodel timer (por ejemplo, T2) puede ser consultado usando las siguientes instrucciones:

IF T2 Esta consulta es verdadera si timer 2 está activo y temporizandoIF N T2 Esta consulta es verdadera si timer 2 no está activo en este momento

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

El siguiente ejemplo muestra una sección de programa en la que un botón pulsadorse usa para hacer que un cilindro extienda su vástago por un tiempo predeterminado–preset–.

Manteniendo el botón pulsador presionando, o presionando y soltando el botón múl-tiples veces dentro del período de tiempo definido, no se altera el tiempo programado.

STEP 1 Inicialización; sólo la primera vezTHEN LOAD V0TO OW0 Apagar todas las salidasRESET F3.0 Borrar flag 3.0LOAD V100 Inicializar timerTO TP0 Que el timer T0, sea de 1 segundo

STEP 2 Sección de barrido principalIF I1.0 Botón 1 es presionadoAND N T0 y el timer 0 no está corriendoAND N F3.0 Forma de detección de flancoTHEN SET T0 Arrancar timer 0

SET O1.0 Extender cilindro 1SET F3.0 Memorizar flanco positivo de pulsador

IF N T0 Timer 0 no activoAND O1.0 y el cilindro está extendidoTHEN RESET O1.0 luego retraer el cilindroIF N T0 Timer 0 no activo

Page 104: Controladores lógicos programables PLC - Norberto Molinari

110

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

AND F3.0 y tuvimos previamente un flanco ascendenteAND N I1.0 y el botón pulsador es liberado, se detecta el flanco

descendente

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

Usando counters4

Consideremos algunas funciones básicas para el uso de contadores:

4 No intentamos describir aquí la operación o la implementación de ningún contador de alta velocidadespecial ni de aquellos manejados por interruptores, los que están disponibles en algunos modelosde controladores. el uso de counters con estas características especiales puede ser encontrado en elmanual de hardware del controlador en cuestión.

Vamos a dividir nuestra exposición en dos partes:

• Contadores estándar• Contadores incrementales / decrementales

• Contadores estándar:

Un counter estándar es útil para el conteo de eventos determinados y para llevar acabo, luego, una acción deseada, cuando se arribe a la cuenta predefinida.

Para operar counters estándar es necesario:

1. Establecer una preselección de counter válida2. Establecer una instrucción para arrancar el counter3. Controlar el estado del counter: activado / detenido

1. Establecer una preselección de counter válida:

Antes de que un counter estándar pueda usarse, el respectivo counter preselect debeser inicializado con un valor correspondiente al número de eventos a ser contado.

Esta inicialización sólo necesita ser realizada nuevamente si el valor para actividadesde conteo subsecuentes requiere ser cargado. No es necesario cargar de nuevo alcounter preselect cada vez que el contador es arrancado.

Counter Status Bit(Bit deestado delcontador)

Counter preselect

Counter Word

Elemento / Operando Referencia Función

Cn

Cpn

Cwn

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

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

Un operando de 16 Bit que contiene el número corrientede cuentas almacenadas mediante las instruccionesdecrementar o incrementar. Al usar counters estándar yejecutar la instrucción SET Cn, la counter word esautomáticamente cero.

Los modelos de controlado-

res que incorporan baterías

de respaldo, mantienen los

valores de preselección del

counter, bits de estado y

words durante los períodos

sin energía de red. Igual-

mente, con los nuevos, equi-

pados con EEPROM o

NVRAM.

Page 105: Controladores lógicos programables PLC - Norberto Molinari

111

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

El counter preselect puede ser cargado con valores absolutos o con el contenido decualquier MBO (por ejemplo, Registro, lnput Word, Flag Word, etc.)

Si inicializamos el counter preselect con un valor absoluto:

IF I1.0 O cualquier condición deseada...THEN LOAD V100 Cargamos un valor absoluto de 100

como el número de eventos a contarTO CP4 Al counter Preselect 4.

Si inicializamos el counter preselect con un valor MBO:

IF I1.0 O cualquier condición deseadaTHEN LOAD IW1 lnput word 1 como el valor de entradaTO CP5 al counter preselect 5

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

2. Establecer una instrucción para arrancar el counter:

Arrancar un contador sólo requiere de una instrucción SET y especificar qué counterdebe arrancarse:

IF I1.2 Condiciones deseadasTHEN SET C2 Activar counter 2

Siempre que la instrucción Set Cn es ejecutada, ocurre:

• La respectiva Counter Word (cwn) es cargada con un cero (0).• Cn (Counter Status n = estado del contador) se vuelve activo (1).

3. Comprobar el estado del counter: activado / detenido:

Para utilizar contadores de forma útil, es necesario poder determinar cuándo la cuen-ta preseleccionada ha sido alcanzada.

• Una vez que el counter ha sido activado –SET–, la cuenta actual es mantenidaen la respectiva counter word, la que puede ser actualizada usando tanto lainstrucción INC cwn como la DEC cwn.

• Un counter puede ser detenido en cualquier momento con la instrucción RESETCn. Cuando la instrucción RESET Cn es ejecutada, el bit de estado del counter–Counter Status Bit Cn– es 0 (cero). El contenido de la counter word permane-ce sin cambiar.

Consideremos un ejemplo de uso de un counter estándar en conjunción con la es-tructura step para evitar incrementos múltiples descontrolados en los Steps 10 y 15:

Si una instrucción 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).

Page 106: Controladores lógicos programables PLC - Norberto Molinari

112

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

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

STEP 1 EncendidoTHEN RESET C0 Contador de botellas

RESET C1 Contador de pulsadasRESET O1.0 Apagar rampaRESET O1.1 Apagar presión de corchosLOAD V25 cuántos para contarTO CP0 preselección counter 0LOAD V2 cuántas pulsadasTO CP2 preselección counter 2LOAD V100 100 x .01s = 1 segundoTO TP0 Timer 0 Preselect

STEP 5 Esperar botón de marchaIF I1.0 Botón de marchaTHEN SET C0 Activar contador

SET O1.0 Arrancar rampa

STEP 10 Comenzar contando botellasIF I1.1 una botella fue sensadaTHEN INC CW0 incrementar contador de botellas

STEP 15 ¿25 botellas ya?IF N C0 hemos hecho todo, entonces...THEN RESET O1.0 detener rampa

SET C2 activar contador de pulsadasJMP TO 50 salir lazo de conteo

OTHRW sino

IF N I1.1 Esperar por la última botella contada;que se mueva fuera del sensor

THEN JMP TO 10 Y seguir contando

STEP 50 25 botellas fueron contadasTHEN SET O1.1 Presionar los corchos

SET T2 Arrancar timer de presionadoINC CW2 contar este presionado

STEP 60 Timer espera 1 segundoIF N T2 tiempo finalizadoTHEN RESET O1.1 detener el presionando

STEP 70 ¿Hecho?IF N C2 corchos presionados 2 vecesTHEN JMP TO 5 volver a Step 5OTHRW JMP TO 50 presionar de nuevo

En programas o steps que

contienen múltiples senten-

cias que son procesadas en

paralelo (modo barrido),

cada vez que la parte con-

dicional de una sentencia es

evaluada como verdadera,

las instrucciones programa-

das en la parte ejecutiva son

ejecutadas.

Esto debe ser considerado

para evitar ejecuciones múl-

tiples descontroladas de ins-

trucciones que incluyan SET

TIMER o INC / DEC Counter

Word, SHL, etc.

El lenguaje STL no usa “dis-

paro por flancos”: las con-

diciones son evaluadas por

verdaderas cada vez que

son procesadas, sin impor-

tar sus estados previos.

Page 107: Controladores lógicos programables PLC - Norberto Molinari

113

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

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

El programa espera por el botón de marcha y, entonces, cicla un cilindro entre lasposiciones completamente extendida y completamente cerrada, 100 veces.

Sin el uso del Flag, un programa de barrido incrementaría el counter en cada barrido–scan– del programa más que en cada vez que el cilindro fue nuevamente extendido.

STEP 1 Inicialización 1 vez solamenteIF I1.0 Botón de marcha apretadoTHEN LOAD V0TO OW1 Todas las outputs apagadas

RESET F3.0 Borrar flag 3.0LOAD V100 Inicializar timerTO CP0 Hacer un contador de ciclo de 100SET C0 Arrancar el counter

STEP 2 Sección principal de barridoIF AND I1.1 Cilindro retraído

AND C0 y el Counter 0 está activoAND N F3.0 Para detectar flancoAND N O1.0 Válvula para extender cilindro apagada

THEN SET O1.0 Comenzar a extender cilindroSET F3.0 Perfecto para ver una nueva extensiónIF I1.2 Cilindro está extendido,AND F3.0 Nuevo flanco

THEN INC CWO Contar el cicloRESET F3.0 Actualizar control de flancosRESET O1.0 Comenzar retraer cilindro

IF N C0 100 cuentas fueron hechasTHEN JMP TO 1 Comenzar todo de nuevo

• Contadores incrementales / decrementales:

Además de usar los contadores estándar que ya describimos, el lenguaje STL, através del uso de operandos multibit, crea counters comúnmente denominados comoUp/Down –arriba/abajo, incrementales/decrementales– que se pueden armar con cual-quier operando multibit tal como la counter word, registros, etc.

A diferencia de los counters estándar, no hay necesidad de inicialización un counterpreselect y no existe bit dedicado al estado del contador. Por ello, tampoco sonaplicables 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

Page 108: Controladores lógicos programables PLC - Norberto Molinari

114

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Consideremos un ejemplo de uso de un registro como counter:

En el siguiente ejemplo un proceso es arrancado y corre hasta que 100 partes debuena calidad son producidas.

STEP 10 Esperar por la señal de marchaIF I1.0 Botón de marchaTHEN LOAD V100 Número a producir

TO R50 Registro 50 es el contadorSET O1.1 Arrancar la máquina

STEP 20 Mirar por cualquier parteEn él área de calidad

IF (I1-1 Listo para verificarAND I2.3 ) Calidad es buena

THEN DEC R50 1 buena, 1 menos para hacerJMP TO 30 Continuar en Step 30

IF (I1.1 Listo para verificarAND N I2.3 ) Calidad bien sensor

Perdidos = malTHEN NOP No cuenta las malas

STEP 30 Ver si ya tenemos las 100IF (R50

= V0) Trabajo terminadoTHEN RESET O1.1 Detener la máquina

JMP TO 10 Volver al comienzoOTHRW NOP O si no está hecho, seguir

STEP 40 Esperar por la última partePara mover

IF N I1.1 Área de calidad limpiaTHEN JMP TO 20 Seguir corriendo / verificando

Usando registros5

Los controladores programables de Festo® que pueden programarse usando el len-guaje STL poseen registros de 16 Bit, aún cuando la cantidad exacta de estos regis-tros varía de acuerdo al modelo.

Estos registros son operandos multibit y pueden usarse para almacenar números enel rango de:

• 0 - 65535 enteros sin signo• +/- 32767 enteros con signo

Se utilizan los registros en conjunción con la instrucción LOAD TO y operacioneslógicas multibit.

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

Si el modelo de controlador

que usted está usando in-

cluye batería de respaldo o

algún sistema de memoria

permanente, los contenidos

de los registros serán man-

tenidos mientras no haya

energía conectada al equi-

po. Los registros que no ha-

yan sido inicializados con-

tendrán valores aleatorios

(en el sistema no existen ru-

tinas de limpieza).

Page 109: Controladores lógicos programables PLC - Norberto Molinari

115

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Los registros no son direccionables en una base bit por bit; si este tipo de acceso esnecesario, los flag words son los aconsejados para la tarea.

Los registros pueden usarse para simplificar el control múltiple de procesossecuenciales dentro de una única sección de programa barrida.

Para usar registros en la parte condicional de una sentencia:

IF R51 Si el contenido del registro 51= V111) Es igual a 111

AND T7 Y el timer 7 está corriendoAND R3 Y el registro 3 es menor que

< R8) El registro 8THEN... Hacer lo programado...

Para usar registros en la parte ejecutiva de una sentencia:

IF Condiciones programadasTHEN LOAD R12 Load el contenido del registro 12 al MBA

+ R50 Sumar el contenido del registro 50TO R45 Y almacenar el resultado en registro 45

Usando flags y flag words

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

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

Los flag words son capaces de almacenar datos numéricos dentro del rango:

• 0 - 65535 enteros sin signo• +/- 32767 enteros con signo.

Los flag words difieren de otros operandos multibit en varias formas importantes:

La mayor diferencia entre flags y otros operandos multibit tales como registros, counterwords, etc., es que cada 16 Bit Flag Word es también direccionable de a un bit (Porejemplo, el FPC100 contiene 16 flag words, direccionadas como FWO a FWI 5).

Es también posible direccionar bits individuales –flags– de cada flag word, mediantela siguiente sintaxis:

F(número de Flag Word), número de BIT

Donde el número de bit varía entre 0 y 15.(Por ejemplo, F7.14 hace referencia al bit 14 del flag 7)

Este esquema de direccionamiento es muy similar al usado cuando se accede apuntos de entrada/salida (I/O) digitales, como ya hemos descripto.

Si el modelo del controlador

que usted está usando in-

cluye memoria del tipo

FLASHRAM o ZPRAM, o en

su defecto batería de res-

paldo, el contenido será

mantenido durante los pe-

ríodos de corte o interrup-

ción de la alimentación de

energía. Aquellos flags que

nunca hayan sido inicializa-

dos contendrán valores

aleatorios.

Page 110: Controladores lógicos programables PLC - Norberto Molinari

116

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Mientras que los flag words pueden usarse con cualesquiera instrucciones STL paraoperandos multibit, los flags individuales son sólo accesibles usando instruccionesSTL diseñadas para operandos de bit.

Los flags de bit único son, a menudo, usados como medio conveniente para memo-rizar eventos. En este aspecto son similares a “bobinas internas o relés” encontradosa menudo en el diagrama escalera (Ladder Diagram).

El FPC405, que soporta múltiples módulos de CPU (multiprocesamiento), permiteque 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 desdeo escribir a los flags de cualquier otra CPU.

Por lo tanto, los flags pueden dar un medio conveniente para implementar comunica-ciones entre CPU.

En sistemas con múltiples CPU, cada Word es direccionada como:

CPU número, flag word número(Por ejemplo, FW2.14 se direcciona flag word 14 en CPU 2)

De la misma manera, es posible direccionar flags monobit en otras CPU, extendiendola sintaxis de la dirección:

CPU número. F(número de flag word).Bit número(Por ejemplo, F0, 11.9 se refiere al flag bit 9 en la flag word

11 localizada en la CPU 0)

Flags individuales (así como también flag words) pueden programarse tanto en la partecondicional como en la ejecutiva de una sentencia. En la parte condicional, los flagspueden ser interrogados por sus estados (0 = RESET, 1 = SET); mientras que los flagswords pueden ser comparadas a valores u otros MBO’s –multibit operandos–.

Consideremos el modo de programación en la parte condicional:

IF F1.1 Si el Bit 1 de la flag word 1 es SETIF F2.1 Si el Bit 1 de la flag word 2 es SETAND N 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 combinarsecon otros operandos:

IF I3.0 Si input 3.0 es válidaAND F0.0) y flag 0.0 es SETOR (( FW3 o el valor de todos los 16 bits del Flag Word 3

= V500) son iguales a 500 AND N T7) y el timer 7 no está activo

Ejemplos de la parte ejecutiva:

IF I1.1 Si input 1.1 es válida entoncesTHEN

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

Page 111: Controladores lógicos programables PLC - Norberto Molinari

117

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

THENSET F3.3 SET Flag 3.3 de modo que otra CPU pueda

verificar el estado de T6OTHRW RESET F3.3

En la parte ejecutiva de las sentencias, los flag words pueden usarse como la fuente odestino de cualquier instrucción multibit.

Como los flags puedan direccionarse sobre la estructura de una word, así comodesde el punto de vista de una estructura de bits, éstos resultan como un medioconveniente para construir registros de desplazamiento –shifl registers–-.

Supongamos que es necesario programar una línea de maquinado en la cual filas demoldes sean cargadas en la estación 0 y, a continuación, varias operaciones debanser llevadas a cabo a lo largo de las siguientes 15 estaciones. La máquina completacicla cada 2 segundos y durante ese tiempo una nueva fila de moldes puede o no sercargada en la estación 1..., lo que puede verificarse por medio de un sensor.

Las estaciones 1-15 no incluyen sensores, pero se requiere que la estación operesolamente cuando haya una parte en el lugar.

Esto presenta una situación ideal para usar un registro de desplazamiento.

Usaremos flag word 6 para tener el seguimiento de cuáles son las estaciones quecontienen materiales a ser maquinados. La instrucción SHL –Shifl Left–; desplazar a laizquierda– se usará para mover realmente los bits individuales dentro del flag word.

Se usarán las siguientes I/O:

Input 1.0 Botón de marchaInput 1.1 Sensor de partes en la estación 0Input 2.2 Se indexa línea transferOutput 2.0 lndexa línea de maquinadoOutputs 1.0 – 1.15 Controla la operación de maquinado

en las estaciones 0-15, respectivamente

STEP 10 ArranqueIF I1.0 Botón de arranque

THENANDLOADI2.2

V200 La línea es indexada 2 segundosTO TPO a la preselección timer 0LOAD V0 Supone nueva producción corriendoTO FW6 No partes en ninguna estación

STEP 15 Esperar hasta que algunas partes estén listasIF I1.1 Parte fue encontrada en estación 0THEN SET F6.0 MemorizarloIF (FW6 ¿Alguna parte para procesar?

> V0 ) ¡Algo existe!

Page 112: Controladores lógicos programables PLC - Norberto Molinari

118

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

THEN LOAD FW6TO OW1 Arrancar motor en estaciones con partesSET T0 Arrancar timer proceso

STEP 20 ¿Timer de maquinado hecho?IF N T0 Tiempo terminadoTHEN LOAD V0 Apagar todos los motores de la estación

SET O2.0 Arrancar línea indexado

STEP 25 Esperar hasta que el index arranqueIF N I2.2 Arrancado al indexTHEN LOAD FW6 Obtener el estado todas estacionas

SHL Mover bits para adaptar partesTO FW6 Y almacenarlo

STEP 30 ¿Está completo el index?IF I2.2 Nuevo punto de indexTHEN RESET O2.0 Detener Index del motor

JMP TO 15 Volver al Step 15 por más

Funciones especiales del lenguaje STL

Aquí vamos a suministrarle información básica concerniente a:

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

Algunas de estas funciones pueden no aplicarse a todos los modelos de controladoresy pueden manejarse de diferentes formas, dependiendo del modelo de controlador.

• Entradas / salidas analógicas:

Contrariamente a las entradas / salidas digitales (1 o 0), las señales analógicas tomanla forma de una señal variable continuamente dentro de un rango predefinido.

Ya que la CPU sólo es capaz de funcionar internamente usando señales digitales,conectar un PLC a entradas analógicas o salidas analógicas requiere componentesde hardware especial.

Hay varios rangos o tipos de señales analógicas que son populares en el controlindustrial. Si excluimos señales analógicas especializadas del tipo relacionado al controlde temperatura, los rangos comunes que quedan son:

• +/- 10 volts• 0/4 a 20 miliamperes de corriente

Para que las entradas y salidas analógicas sean útiles, el software de programacióndebe suministrar los medios de llevar a cabo las funciones deseadas.

Las funciones analógicas básicas usadas en control industrial incluyen:

Page 113: Controladores lógicos programables PLC - Norberto Molinari

119

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

• Setear un nivel analógico de salida basado en un valor digital• Convertir una señal de entrada analógica en un valor digital

Para efectuar estas funciones dentro del lenguaje de programación del PLC usado, engeneral, se integran procedimientos especializados CFM o FN6.

• Redes:

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

El uso de una red facilita a estas secciones combinarse de una manera ordenada. Sinimportar el lenguaje de programación a ser usado, para implementar la red se requie-re hardware especializado así como software de red.

Dependiendo del modelo de controlador, el hardware especializado puede tomar laforma de un procesador de red o un módulo que contiene las rutinas especializadasde software que pueden ser direccionadas por el lenguaje STL.

Las funciones típicas que deben ser llevadas a cabo en una red incluyen:

• Inicializar estaciones de red.• Requerir a otra estación ejecutar un comando.• Gerenciar transmisiones de red.

La interfase entre el lenguaje STL y el software especializado de red es efectuadamediante la instrucción CFM.

• Control de posicionamiento:

Puede ser necesario controlar rápidamente y con precisión la posición de compo-nentes mecánicos como partes de un sistema de control. Tales movimientos sonllevados a cabo, generalmente, usando varios tipos de motores, dependiendo de losrequerimientos de:

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

Diversos tipos de motores están disponibles. Estas elecciones incluyen motores depasos y servomotores, así como motores de múltiple velocidad, los que puedenincorporar componentes de frenado. Variaciones adicionales pueden o no incorpo-rar control a lazo cerrado.

Las más precisas (y costosas) soluciones tales como servomotores, incorporanmicroprocesadores dedicados; mientras que soluciones menos sofisticadas puedenconfiar en la velocidad e inteligencia del controlador programable.

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

Redes

En el contexto de este mate-

rial de capacitación y del len-

guaje STL, se refiere al

hardware y software que

proporcionan los medios

para interconectar sistemas

de control que, de otra for-

ma, serían unidades inde-

pendientes.

Page 114: Controladores lógicos programables PLC - Norberto Molinari

120

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

A causa de la amplia variedad de subsistemas de posicionamiento que pueden co-nectarse, no hay instrucciones STL dedicadas para posicionar7.

• Field Bus:

El field bus está basado en el estándar eléctrico RS485, el cual define los parámetrosde la estructura de un bus serie de alta velocidad.

Debe hacerse una diferenciación entre los elementos que forman la estructura del businterna del controlador y el sistema de field bus.

Las I/O estándar están conectadas de forma muy cercana, tanto eléctrica como física-mente a la estructura de bus paralela interna del controlador.

Mientras que esta estructura provee accesos de alta velocidad, su naturaleza ponelímites al hardware en cuanto al número de I/O únicas direccionables posibles.

El concepto de field bus utiliza el antes mencionado bus serie para unir una estaciónmaestra –Master– y múltiples estaciones esclavas, a velocidades de transmisión has-ta 375,000 bits por segundo.

Ya que estas estaciones pueden localizarse en relativamente largas distancias (300-1200 metros), éstas son a menudo genéricamente referidas como “I/O Remotas”.

Las altas velocidades de transmisión, cuando se combinan con el ahorro en costos alusar un par de cables trenzados para la conexión del bus, hacen que el concepto defield bus se vuelva realmente atractivo.

Inputs y outputs localizadas en las estaciones esclavas del field bus pueden ser inte-rrogadas y controladas por la estación field bus master. El lenguaje STL permiteacceder a estas I/O usando las mismas instrucciones SET y RESET que usan las I/Oestándar ubicadas físicamente en el controlador

Para acomodar la configuración extendida usando el field bus, la sintaxis de instruc-ciones I/O debe también ser extendida. Inputs y outputs son, por lo tanto, direccionadasde la siguiente forma:

• Ipa[,m.s] para lnputs• Opa[.m.s] para Outputs

Donde:

P = Dirección de sistema del procesador master del field busA = Dirección estación esclava de field bus [1... 99]M = Dirección de modulo opcional [0... 15]S = Número de terminal opcional [0...15]

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

Page 115: Controladores lógicos programables PLC - Norberto Molinari

121

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Programas de ejemplo

Aquí presentamos algunos ejemplos de problemas de control y soluciones usando ellenguaje STL. Los ejemplos planteados son generales, para que puedan resultar úti-les al lector, sin importar que modelo de controlador en particular que vaya a usar.

La mayoría de las tareas de control se divide en tres categorías:

• Completamente secuencial• Mayormente secuencial con algunos eventos aleatorios• Completamente aleatorio

Además, en muchas situaciones, se presenta la situación de tener que manejar variassecuencias de control simultáneamente.

• Ejemplo 1. Completamente secuencial:

Las tareas completamente secuenciales son especialmente aptas para el lenguajeSTL a causa de la estructura implícita del step.

La tarea secuencial consiste en controlar 3 cilindros neumáticos por medio de 3válvulas solenoide 3/2, en una secuencia definida.

Cuando se aplica alimentación de energía al sistema y el botón de arranque es pre-sionado, el cilindro A debe extenderse completamente por 3 segundos y luego re-traerse.

A continuación, el cilindro B debe extenderse completamente y retraerse cuatro ve-ces; y, luego, extenderse completamente y permanecer extendido.

Finalmente, el cilindro C debe extenderse completamente, en cuyo momento el cilin-dro A debe otra vez extenderse.

Después, el cilindro A es otra vez extendido y todos los tres cilindros se retraen yesperan la presión del botón de arranque.

Se utilizan las siguientes conexiones:

Input 1.0 Botón de arranqueLnput 1.1 Cilindro A retraídoLnput 1.2 Cilindro A extendidoLnput 1.3 Cilindro B retraídoLnput 1.4 Cilindro B extendidoLnput 1.5 Cilindro C retraídoLnput 1.6 Cilindro C extendidoOutput 1.0 Cilindro A extendido (solenoide)Output 1.1 Cilindro B extendido (solenoide)Output 1.2 Cilindro C extendido (solenoide)

Page 116: Controladores lógicos programables PLC - Norberto Molinari

122

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Resolución:

STEP 1 Inicialización en el arranqueIF NOP Hacer siempre estoTHEN LOAD V0 Incondicionalmente apagar todas lasTO OW1 Outputs

LOAD V300 Preparar timer 0 para 3 segundosTO TP0 Unidades = 0.01 segundosLOAD V4 Preparar counter 2TO CP2

STEP 5 Asegurarse todas las posiciones okIF I1.0 Botón arranque presionado

AND I1.1 Cilindro A está retraídoAND I1.3 Cilindro B está retraídoAND I1.5 Cilindro C está retraído

THEN SET Ol.0 Comenzar extendiendo cilindro A

STEP 10 Cilindro A, ¿completamente extendido?IF I1.2 Ahora está totalmente extendidoTHEN SET T0 Arrancar timer 3 segundos

STEP 12 Esperar 3 segundosIF N T0 Si timer completó tiempoTHEN RESET O1.0 Comenzar retraer cilindro A

STEP 15 Cilindro A, ¿completamente retraído?IF I1.1 Cilindro A está retraídoTHEN SET C2 Set counter 2 - 4 cuentas

SET O1.1 Comenzar extender cilindro B

STEP 20 Cilindro B, ¿completamente extendido?IF I1.4 Ahora está completamente extendidoTHEN INC CW2 Contar este ciclo

RESET O1.1 Comenzar retraer cilindro B

STEP 22 ¿Es ésta la 4° extensión ?IF I1.3 Cilindro B retraído y 4

AND C2 Carreras no terminadoTHEN SET O1.1 Comenzar a extender cilindro BJMP TO 20 Ciclos continuosIF I1.3 Cilindro B retraído y 4AND N C2 Carreras hechasTHEN SET O1.1 Comenzar a extender cilindro B

STEP 30 Cilindro B, ¿completamente extendido?IF I1.4 Cilindro B completamente extendido 5 xTHEN SET O1.2 Comenzar extendiendo cilindro C

STEP 35 Cilindro C, ¿completamente extendido?IF I1.6 Cilindro C completamente extendidoTHEN SET O1.0 Comenzar extendiendo cilindro A

Page 117: Controladores lógicos programables PLC - Norberto Molinari

123

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

STEP 40 ¿Todos cilindros extendidos?IF I1.2 Cilindro A completamente extendido tambiénTHEN RESET O1.0 Retraer Cilindro A

RESET O1.1 Retraer Cilindro BRESET O1.2 Retraer Cilindro CJMP TO 5 Volver al Step 5

• Ejemplo 2. Mayormente secuencial con eventos aleatorios:

Mientras que algunas máquinas simples pueden ser completamente secuenciales enla operación, existen una o más excepciones que cambian la clasificación de lastareas, de modo de no ser ésta totalmente secuencial.

Si la mayoría de las tareas de control fuera secuencial y el modelo del controladorlógico permitiese multitarea, una solución posible es la de dividir la parte secuencialy 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 elbalanceo de los programas es relativamente simple, entonces podrían manejarse losrequerimientos adicionando una sentencia de programa en cada step8.

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

Resolución:

STEP 1 Inicialización en el arranqueIF NOP Hacer siempre estoTHEN LOAD V0 Incondicionalmente apagar todas lasTO OW1 Outputs

LOAD V300 Preparar timer 0 para 3 segundosTO TP0 Unidades = 0.01 segundosLOAD V4 Preparar Counter 2TO CP2

STEP 5 Asegurarse todas las posiciones okIF I1.0 Botón arranque presionadoAND I1.1 Cilindro A está retraídoAND I1.3 Cilindro B está retraídoAND I1.5 Cilindro C está retraídoAND N I1.7 Botón de pausa no activoTHEN SET Ol.0 Comenzar extendiendo cilindro A

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

Page 118: Controladores lógicos programables PLC - Norberto Molinari

124

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

STEP 10 Cilindro A, ¿completamente extendido?IF I1.7 Botón de pausaTHEN JMP TO 10 Si es así, quedarse acáIF I1.2 Ahora completamente extendidoTHEN SET T0 Arrancar timer 3 segundos

STEP 12 Esperar 3 segundosIF I1.7 Botón de pausaTHEN JMP TO 12 Si es así, quedarse acáIF N T0 Si timer completó tiempoTHEN RESET O1.0 Comenzar retraer cilindro A

STEP 15 Cilindro A, ¿completamente retraído?IF I1.7 Botón de pausaTHEN JMP TO 15 Si es así, quedarse acáIF I1.1 Cilindro A está retraídoTHEN SET C2 Set counter 2 - 4 cuentas

SET O1.1 Comenzar extender cilindro B

STEP 20 Cilindro B, ¿completamente extendido?IF I1.7 Botón de pausaTHEN JMP TO 20 Si es así, quedarse acáIF I1.4 Ahora está completamente extendidoTHEN INC CW2 Contar este cicloRESET O1.1 Comenzar retraer cilindro B

STEP 22 ¿Es ésta la 4° extensión ?IF I1.7 Botón de pausaTHEN JMP TO 22 Si es así, quedarse acáIF I1.3 Cilindro B retraído y 4AND C2 Carreras no terminadoTHEN SET O1.1 Comenzar a extender cilindro BJMP TO 20 Ciclos continuosIF I1.3 Cilindro B retraído y 4AND N C2 Carreras hechasTHEN SET O1.1 Comenzar a extender cilindro B

STEP 30 Cilindro B, ¿completamente extendido?IF I1.7 Botón de pausaTHEN JMP TO 30 Si es así, quedarse acáIF I1.4 Cilindro B completamente extendido 5 xTHEN SET O1.2 Comenzar extendiendo cilindro C

STEP 35 Cilindro C, ¿completamente extendido?IF I1.7 Botón de pausaTHEN JMP TO 35 Si es así, quedarse acáIF I1.6 Cilindro C completamente extendidoTHEN SET O1.0 Comenzar extendiendo cilindro A

STEP 40 ¿Todos cilindros extendidos?IF I1.7 Botón de pausaTHEN JMP TO 40 Si es así, quedarse acáIF I1.2 Cilindro A completamente extendido también

Page 119: Controladores lógicos programables PLC - Norberto Molinari

125

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

THEN RESET O1.0 Retraer Cilindro ARESET O1.1 Retraer Cilindro BRESET O1.2 Retraer Cilindro CJMP TO 5 Volver al Step 5

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

• Ejemplo 3. Eventos completamente aleatorios:

Algunas situaciones de control no pueden organizarse en una secuencia lógica yaque las operaciones pueden surgir en un orden totalmente aleatorio.

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

El siguiente programa desarrolla el programa de Setup para una máquina de moldeode inyección de plástico.

Resolución:

STEP 10 inicializaciónIF NOP Siempre ciertoTHEN LOAD V0TO OW1 Apagar todas outputs

STEP 20 Step de barridoIF I1.0 Botón pulsador cierre moldeTHEN SET O1.0 Cierre de moldeIF I1,1 Botón pulsador inyecta plástico

AND I2.0 Sensor molde cerradoTHEN SET OI.3 Solenoide inyecciónOTHRW RESET OI.3F I1.2 Botón pulsador apertura moldeAND N OI.3 Inyección no activaTHEN RESET O1.0 Apertura moldeIF I1.3 Mecanismo rota tornilloTHEN SET O1.1 Solenoide rota tornilloOTHRW RESET O1.1 Mecanismo detención tornilloIF I1.4 Sensor molde completamente abierto

AND I1.5 Botón pulsador eyector de moldeTHEN SET O1.4 Solenoide eyector de moldeOTHRW RESET O1.4 Proceso de detención de eyecciónIF NOP Hacer siempreTHEN JMPTO 20 Seguir procesando

Page 120: Controladores lógicos programables PLC - Norberto Molinari
Page 121: Controladores lógicos programables PLC - Norberto Molinari

127

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

OTROS LENGUAJESDE PROGRAMACIÓN

Anexo 2 / Estructura del lenguajeGRAFCET

Page 122: Controladores lógicos programables PLC - Norberto Molinari
Page 123: Controladores lógicos programables PLC - Norberto Molinari

129

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

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

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

Actualmente es una herramienta imprescindible cuando se trata de automatizar pro-cesos secuenciales de cierta complejidad con autómatas programables.

A continuación se describen los símbolos normalizados utilizados en el GRAFCET enlo que hace a:

• etapas y• condiciones de transición.

• Etapas:

Para representar la evolución de un proceso con GRAFCET, se considera que el pro-ceso a automatizar y el autómata que se emplea como controlador forman un solosistema.

El nexo de unión entre las actuaciones que hay que hacer sobre el proceso (activar unmotor, cerrar una válvula, etc.) y el programa de usuario, cargado en el autómata,que da origen a aquellas es la etapa.

Por tanto, la representación gráfica de la evolución de un proceso con GRAFCET estáformada por una serie de etapas, y cada una de ellas lleva asociada una o variasacciones a realizar sobre el proceso.

Las etapas se representan con un cuadrado y un número, o una E con un númerocomo subíndice; en ambos casos, el número indica el orden que ocupa la etapadentro del GRAFCET. Para distinguir el comienzo del GRAFCET, la primera etapa serepresenta con un doble cuadrado.

GRAFCET –gráfico de

mando etapa transición–

Es un diagrama funcional

que describe la evolución

del proceso que se preten-

de automatizar, indicando

las acciones que hay que

realizar sobre el proceso y

qué informaciones las pro-

vocan; partiendo de él se

pueden obtener las secuen-

cias que ha de realizar el au-

tómata programable.

Representación de etapas

Representación de etapas iniciales

Page 124: Controladores lógicos programables PLC - Norberto Molinari

130

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

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

• Condiciones de transición:

Un proceso secuencial se caracteriza porque una acción determinada se realiza enfunción del resultado de la acción anterior.

En GRAFCET, el proceso se descompone en una serie de etapas que son activadasuna tras otra. Por tanto, tiene que existir una condición que se ha de cumplir parapasar de una a otra etapa; se la llama condición de transición –CT–.

En la figura se representan dos etapas y una condición de transición entre ellas. Paraque el proceso evolucione de la etapa 4 a la etapa 5, es necesario que la etapa 4 estéactiva y, además, que se cumpla la activación de la condición CT; entonces, se pro-duce la activación de la etapa 5.

Sólo puede existir una etapa activa; por tanto, cuando se produce la activación de laetapa 5 se desactiva la etapa 4. La condición de transición está siempre asociada a laetapa posterior –en este caso, a la 5–.

La condición de transición puede ser una o varias de las variables que intervienen enel proceso (por ejemplo, una señal de un final de carrera, la activación de un motor,un tiempo, etc.)

Para la condición de transición se emplea lógica positiva y podemos tomar los dosvalores CT=1 y CT=0; a continuación se indican algunos ejemplos.

Page 125: Controladores lógicos programables PLC - Norberto Molinari

131

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

• Condición activa: CT = F1. La activación de la etapa 5 se produce cuando elfinal de carrera F1 está activado.

• Condición inactiva: CT = NF1. La activación de la etapa 5 se produce cuandoel final de carrera F1 esta inactivo.

• Condición por tiempo: CT = t/3/10 seg. La activación se produce cuando eltemporizador activado en la etapa 3 alcanza los 10 segundos.

• Condición de varias variables: CT = F1; NF2; F3. La activación se produce silos finales de carrera F1 y F3 están activos y F2 está inactivo.

• Condición incondicional: CT = 1. La activación de la etapa 5 se produce alactivarse la etapa 4.

• Condición flanco descendente: CT = A1 ‘!. La activación se produce cuando laseñal A1 pasa de 1 a 0.

• Condición flanco ascendente: CT = A1 “!. La activación se produce cuando laseñal A1 pasa de 0 a 1.

Podemos resumir una serie de reglas básicas que hay que tener en cuenta para apli-car GRAFCET:

• El proceso se descompone en etapas, que son activadas de forma secuencial.• Una o varias acciones se asocian a cada etapa. Estas acciones sólo están

activas cuando la etapa está activa.• Una etapa se hace activa cuando la precedente lo está y la condición de

transición entre ambas etapas ha sido activada.• La activación de una condición de transición implica la activación de la etapa

siguiente y la desactivación de la precedente.• La etapa inicial E0 tiene que ser activada antes de que se inicie el ciclo del

GRAFCET.• Un ciclo está formado por todas las etapas posteriores a la etapa inicial.

Ecuaciones lógicas

Una vez representado, el GRAFCET permite obtener las ecuaciones lógicas que con-trolan la activación de cada etapa y la evolución del ciclo. Una de las formas deobtener las ecuaciones se basa en el funcionamiento de un controlador asíncronocon biestables R-S.

Suponiendo que el biestableE N-1 tiene su salida Q a “1”, laetapa E N-1 está activa. Si, pos-teriormente, la condición detransición de la etapa E N seactiva, la etapa E N se activaráy se desactivará la etapa E N-1.Para desactivar la etapa E N yactivar la etapa E N +1, es ne-cesario activar la condición detransición E N +1. Mientras lasetapas están activas (Q = 1),las acciones que llevan asocia-das también lo están.

Page 126: Controladores lógicos programables PLC - Norberto Molinari

132

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Consideraremos, a continuación:

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

• Instrucciones SET y RESET:

Para utilizar este sistema en el GRAFCET, se asocia a cada una de las etapas unavariable interna. La condición de transición, situada entre dos etapas, es la encarga-da de activar la etapa posterior y desactivar la anterior; para ello se utilizan las instruc-ciones SET y RESET del autómata.

Las instrucciones SET y RESET se utilizan junto con las variables internas asociadas acada una de las etapas del GRAFCET.

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

Cuando la entrada 1 del autómata se activa, la instrucción SET activará el relé internoR1 que permanecerá activado aunque se desactive la entrada 1; para desactivarlo seránecesario emplear una instrucción RESET con otra entrada distinta; cuando se active laentrada 2, R1 se desactivará hasta que, de nuevo, se utilice la entrada 1 para activarlo.

En GRAFCET este tipo de instrucciones se utiliza de forma tal que es la condición detransición la que al cumplirse activa la etapa posterior y desactiva la etapa anterior.

Page 127: Controladores lógicos programables PLC - Norberto Molinari

133

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

En la figura se representa un ciclo de GRAFCET, y las ecuaciones que permiten laactivación y desactivación de la etapa En:

• para activarla se realiza la función AND entre la etapa anterior y la condición detransición asociada a En;

• para desactivarla se realiza la función AND entre la propia En y la condición detransición asociada a la etapa posterior

Para que comience a ejecutarse el GRAFCET es necesario activar la etapa E0. Estopuede hacerse de varias formas:

• Primera forma. En el ciclo actual del autómata, anulamos la ultima etapa acti-va; y, si todas las etapas están desactivadas, en el próximo ciclo se activainicialmente E0.

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

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

Page 128: Controladores lógicos programables PLC - Norberto Molinari

134

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Cualquiera de las tres formas para activar la etapa E0 es válida. El empleo de una deellas en concreto es función del proceso que se pretende automatizar y del autómataque se utilice.

• Elección condicional entre varias secuencias:

Suele ocurrir que, en un proceso, se llegue a un punto del ciclo en el que hay queefectuar una elección entre varias secuencias posibles, en función de las variables queintervienen en el proceso.

Las ecuaciones para el inicio de sentencia condicionales son:

Page 129: Controladores lógicos programables PLC - Norberto Molinari

135

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Partiendo de la etapa E4 activada, se puede realizar solamente una de las dos secuencias:

• Si se cumple la transición A se activará la etapa E5.• Si se cumple la transición A negada, se activará la etapa E6.

La transición condicional implica que sólo una de las etapas posteriores se activará.Por tanto, la condición de transición asociada a la etapa 4 tiene que ser opuesta a lacondición de transición asociada a la etapa E5. La primera de las condiciones detransición que se cumpla, desactiva la etapa 3.

El final de dos secuencias condicionadas se produce cuando una de las dos condi-ciones de transición asociadas a la etapa E16 se cumple. Por ejemplo, si la etapa E16

está activa y se cumple la condición de transición A se activará la etapa E16 y sedesactivará la E7 o la E15.

• Secuencias simultáneas:

Puede darse el caso de que sea necesario el desarrollo de más de una secuencia a lavez, cuyas etapas no tengan ninguna interrelación. Para poder representar este fun-cionamiento simultáneo, se utiliza un par de trazos paralelos que indican el principioy el final de estas secuencias.

Page 130: Controladores lógicos programables PLC - Norberto Molinari

136

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

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

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

El final de las sentencias simultáneas:

• Salto condicional a otra etapa:

El salto condicional a otra etapa permite pasar de una etapa a otra sin activar lasetapas intermedias. El salto condicional se puede hacer tanto en el sentido de evolu-ción del GRAFCET como en el sentido inverso. El sentido del salto viene indicado porlas flechas:

Page 131: Controladores lógicos programables PLC - Norberto Molinari

137

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Page 132: Controladores lógicos programables PLC - Norberto Molinari

138

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Acciones asociadas a las etapas

Una vez que la etapa está activa, las acciones asociadas pueden activarse con lascorrespondiente ecuaciones. Hay varias posibilidades:

- Acciones activas. Mientras está activa la etapa activa, la bomba está activamientras 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 laetapa E0.

- Acciones activadas en una etapa y desactivadas en otra posterior. El motor2 se activa al activarse E4, y permanece activo hasta que se active la etapa E9,que lo desactiva.

- Etapas que no llevan asociada ninguna acción.

Para que la acción se active

es necesario que la condi-

ción y la etapa estén activas

conjuntamente.

Por lo general, la etapa E0 no lleva asociada ninguna acción; sólo se emplea parainiciar el ciclo una vez que ha sido activada.

Cuando se realizan dos secuencias simultáneas, es posible que el tiempo que cadauna de estas secuencias tarda en realizarse sea distinto, en función del número detareas asociadas a las etapas, en función de cuándo se activen las condiciones detransición, etc.

Para terminar dos secuencias simultáneas es necesario que las etapas últimas decada una de ellas estén activas; una o las dos pueden ser etapas de espera para quela secuencia más rápida aguarde el final de la secuencia más lenta.

Page 133: Controladores lógicos programables PLC - Norberto Molinari

139

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

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

Programas del usuario

Primeramente, analizamos los datos que nos proporcionan las especificaciones ini-ciales del proceso: qué secuencias se han de realizar, en qué orden se activan, quévariables intervienen, cuáles son las condiciones de seguridad, etc.

Partiendo de estos datos, descomponemos el programa de usuario en tres aparta-dos.

1. Las condiciones iniciales. En este apartado se incluyen todas aquellas ac-ciones que el sistema de control ha de activar con prioridad en cualquier mo-mento de la evolución del proceso y que no son secuenciales –como, porejemplo, las condiciones de emergencia (alarmas de fallos, relés térmicos,etc.)–. Con las variables utilizadas en este apartado se implementan lasecuaciones necesarias para obtener, en caso de funcionamiento correcto, laseñal que active la primera etapa del GRAFCET. En algunos casos, el apartado“condiciones iniciales” no existe o está formado por una sola variable, depen-diendo del grado de seguridad que se quiera tener sobre el funcionamiento delproceso.

2. GRAFCET. En este apartado se representan las secuencias que ha de realizarel proceso y las ecuaciones necesarias para activar las etapas en función de lascondiciones de transición. Las condiciones de transición están formadas porlas señales proporcionadas por los sensores a las entradas del autómata y porlas variables internas asociadas a otras etapas anteriores.

3. La asignación de variables de etapa del GRAFCET a las salidas del PLC.Las acciones que han de realizar las etapas del GRAFCET sobre el proceso acontrolar se asignan a las salidas del autómata, de forma que pueda existir unaconexión física entre el sistema de control y el proceso a controlar.

Comprobados y depurados los tres apartados, el paso siguiente es el de realizar laasignación de las variables que intervienen en el proceso a las entradas, salidas yvariables internas del autómata concreto que se va a utilizar.

Empleando uno de los lenguajes de programación disponibles, esquema de contac-tos o lista de instrucciones, introducimos las ecuaciones que hemos obtenido en lostres apartados.

Cuando se transfiera el programa al autómata y se active el modo RUN, el ciclo querealiza constantemente es:

Page 134: Controladores lógicos programables PLC - Norberto Molinari

140

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

Consideremos algunos ejemplos:

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

Actualización de variables

Asignación de etapas deGRAFCET a las salidas

GRAFCET

Condiciones iniciales

Lectura de variables

Programa del usuario

Page 135: Controladores lógicos programables PLC - Norberto Molinari

141

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

• La colocación del material está asegurada manualmente por el operador. Unindicador luminoso V está encendido durante todo el curso de la colocación.Terminada aquélla, el operador autoriza la continuación de las operaciones,presionando dos pulsadores simultáneamente.

• Los movimientos del punzón superior y de la matriz son efectuados por cilin-dros hidráulicos de doble efecto. Las posiciones alta y baja del punzón y de lamatriz son controladas con la ayuda de captadores de fin de carrera (respecti-vamente a0 y a1, b1 y b0) de naturaleza eléctrica.

Page 136: Controladores lógicos programables PLC - Norberto Molinari

142

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

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

• Ejercicio 1:

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

Entradas:PM= I 300FC3= (b0) I 100FC4= (b1) I 101FC5= (co) I 102FC6= (c1) I 200FC7= (do) I 201FC8= (d1) I 0

Salidas:EVB = O 0EVC = O 1EVD = O 100

Solución:Tipo de PLC PRX 20Tiempo de Scan 30000 µsBase de tiempo TMR 00 a 15 0,1 seg.Base de tiempo TMR 16 a 31 0,1 seg.

00 INI Inicialización0102 LD H 070703 INI WG00 Gracet 000405 LD H 070706 INI Z02 Entradas0708 LD H 070709 INI Z03 Salidas10111213 TRANS Transiciones1415 LD I 0102 c0 = Vástago retraído cil. C16 AND I 0100 b0 = Vástago retraído cil. B17 AND I 0201 d0 = Vástago retraído cil. D18 AND I 0300 PM = Pulsador de marcha19 STR UO00020

Page 137: Controladores lógicos programables PLC - Norberto Molinari

143

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

21 LD I 0200 c1 = Vástago afuera cil. C22 AND I 0300 PM = Pulsador de marcha23 STR UO0012425 LD I 0200 b1 = Vástago afuera cil. B26 AND I 0300 PM = Pulsador de marcha27 STR UO0022829 LD I 0000 d1 = Vástago afuera cil. D30 AND I 0300 PM = Pulsador de marcha31 STR UO0033233 LD I 0100 b0 = Vástago retraído cil. B34 AND I 0300 PM = Pulsador de marcha35 STR UO0043637 LD I 0102 c0 = Vástago retraído cil. C38 AND I 0300 PM = Pulsador de marcha39 STR UO00540414243 GRAFCET4445 IST G000046 TR U0000 c0 b0 d0 PM47 STP G0001 C+48 TR U0001 PM c149 STP G0002 B+50 TR U0002 PM b151 STP G0003 D+52 TR U0003 PM d153 STP G0004 B-54 TR U0004 PM b055 STP G0005 C-56 TR U0005 PM c057 STP G0006 D-58 TR I 0000 d059 JP G00006061 SALIDAS6263 LD G000164 LD G000265 LD G000366 LD G000467 STR O0000 C+6869 LD G000370 LD G000471 STR O0000 B+7273 LD G000374 LD G0004

Page 138: Controladores lógicos programables PLC - Norberto Molinari

144

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

75 LD G000576 STR O0100 D+7778 END

• Ejercicio 2:

A partir del planteo del ejercicio 1, introducimos la variante de elección del tipo deciclo mediante la llave 0-1-2, donde:

• 0 = avance paso a paso,• 1 = ciclo simple y• 2 = ciclo automático.

El pulsador de parada PP permite detener la secuencia, reanudándose ésta al oprimirseotra vez el pulsador de marcha PM.

Entradas adicionales:LLO = (paso a paso) No conectadaLL1 = (ciclo simple) I 202LL2 = (ciclo automático) I 700PP = I 301

Solución:Tipo de PLC PRX 20Tiempo de Scan 30000 µsBase de tiempo TMR 00 a 15 0,1 seg.Base de tiempo TMR 16 a 31 0,1 seg.

00 INI Inicialización0102 LD H 070703 INI WG00 Gracet 000405 LD H 070706 INI Z02 Entradas0708 LD H 070709 INI Z03 Salidas1011 TRANS Transiciones1213 LD I 0102 c0 = Vástago retraído cil. C14 AND I 0100 b0 = Vástago retraído cil. B15 AND I 0201 d0 = Vástago retraído cil. D16 INT I 0300 PM = Pulsador de marcha17 OR U100018 STR UO0001920 LD I 0200 c1 = Vástago afuera cil. C21 INT I 0300 PM = Pulsador de marcha22 OR U100023 STR UO001

Page 139: Controladores lógicos programables PLC - Norberto Molinari

145

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

2425 LD I 0200 b1 = Vástago afuera cil. B26 AND I 0300 PM = Pulsador de marcha27 STR UO0022829 LD I 0101 d1 = Vástago afuera cil. D30 INT I 0300 PM = Pulsador de marcha31 OR U100032 STR UO0033334 LD I 0000 b0 = Vástago retraído cil. B35 INT I 0300 PM = Pulsador de marcha36 OR U100037 STR UO0043839 LD I 0002 c0 = Vástago retraído cil. C40 INT I 0300 PM = Pulsador de marcha41 OR U100042 STR UO0054344 LD I 0300 PM = Pulsador de marcha45 INT I 0202 LL1 = ciclo simple46 OR I 0700 LL2 = automático47 STR U10004849 LD I 030050 AND I 020251 AND I 070052 LD I 0301 PP = Pulsador de parada53 LD I 0302 No = LL154 AND I 0300 No = LL255 PUT U100056575859606162 GRAFCET6364 IST G000065 TR U0000 c0 b0 d0 (PM + U1000)66 STP G0001 C +67 TR U0001 (PM + LL1 +LL2) c168 STP G0002 B +69 TR U0002 (PM + LL1 +LL2) b170 STP G0003 D +71 TR U0003 (PM + LL1 +LL2) d172 STP G0004 B -73 TR U0004 (PM + LL1 +LL2) b074 STP G0005 C -75 TR U0005 (PM + LL1 +LL2) c076 STP G0006 D -

Page 140: Controladores lógicos programables PLC - Norberto Molinari

146

IN

ET / F

luíd

ica

y c

ontr

ola

do

res ló

gic

os p

rog

ram

ab

les

77 TR I 0201 d078 JP G000079808182 SALIDAS8384 LD G000185 LD G000286 LD G000387 LD G000488 STR O0001 C +8990 LD G000291 LD G000392 STR O0000 B +9394 LD G000395 LD G000496 LD G000597 STR O0100 D +9899 END