Sie sind auf Seite 1von 140

Controladores lógicos

programables –PLC–
2

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

Autoridades

Presidente de la Nación
Néstor C. Kirchner

Ministro de Educación, Ciencia y Tecnología


Daniel Filmus

Directora Ejecutiva del Instituto Nacional de Educación Tecnológica


María Rosa Almandoz

Director Nacional del Centro Nacional de Educación Tecnológica


Juan Manuel Kirschenbaum

Especialista en contenidos

• Norberto Molinari

Todos los derechos reservados. Ley 11.723


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

INET / Fluídica y controladores lógicos programables


serie/desarrollo de contenidos

Colecciones

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

INET / Fluídica y controladores lógicos programables


Í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


INET / Fluídica y controladores lógicos programables
6
7

INET / Fluídica y controladores lógicos programables


El Centro Nacional de Educación Tecnológica

Generar valor con equidad


en la sociedad del conocimiento.

La misión del Centro Nacional de Educación Tecnológica –CeNET– comprende el


diseño, el desarrollo y la implementación de proyectos innovadores en el área de la
educación tecnológica y de la educación técnico profesional, que vinculan la 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 la
Educación Tecnológica.
• Coordinar, mediante una red, un Sistema de Educación Tecnológica.
• Favorecer el desarrollo de las pequeñas y medianas empresas, a través del
sistema educativo.
• Capacitar en el uso de tecnologías a docentes, jóvenes, adultos, personas de
la tercera edad, profesionales, técnicos y estudiantes.
• Brindar asistencia técnica.
• Articular recursos asociativos, integrando los actores sociales interesados en el
desarrollo del Sistema de Educación Tecnológica.

Desde el CeNET venimos trabajando, así, en distintas líneas de acción que convergen en
el objetivo de reunir a profesores, a especialistas en Tecnología y a representantes de la
industria y de la empresa, en acciones compartidas que permitan que la Educación
Tecnológica se desarrolle en la escuela de un modo sistemático, enriquecedor, 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 trayectos


de capacitación y de actualización. En CeNET contamos con quince unidades de
gestión de aprendizaje en las que se desarrollan cursos, talleres, pasantías, encuen-
tros, destinados a cada educador y a cada miembro de la comunidad que desee
integrarse en ellos:

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

Otra de nuestras líneas de trabajo asume la responsabilidad de generar y participar


en redes que integren al Centro con organismos e instituciones educativos ocupados
en la Educación Tecnológica, y con organismos, instituciones y empresas dedicados
a la tecnología en general. Entre estas redes, se encuentra la que conecta a CeNET
con los Centros Regionales de Educación Tecnológica –CeRET– y con las Unidades
de Cultura Tecnológica instalados en todo el país.

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

• Educación Tecnológica, que abarca materiales (uni y multimedia) que buscan


posibilitar al destinatario una definición curricular del área de la Tecnología en
el ámbito escolar y que incluye marcos teóricos generales, de referencia, acer-
ca del área en su conjunto y de sus contenidos, enfoques, procedimientos y
estrategias didácticas más generales.
• Desarrollo de contenidos, nuestra segunda serie de publicaciones, que nuclea
fascículos de capacitación que pueden permitir una profundización en los cam-
pos de problemas y de contenidos de las distintas áreas del conocimiento
tecnológico (los quince ámbitos que puntualizábamos y otros que se les vayan
sumando) y que recopila, también, experiencias de capacitación docente de-
sarrolladas en cada una de estas áreas.
• Educación con tecnologías, que propicia el uso de las nuevas tecnologías de la
información y de la comunicación como recursos didácticos, en las clases de
todas las áreas y espacios curriculares.
• Educadores en tecnología, que focaliza el análisis y las propuestas en uno de
los constituyentes del proceso didáctico: el profesional que ensela Tecnología,
ahondando en los rasdos de formación, de sus prácticas, de sus procesos de
capacitación, de su vinculación con los lineamientos curriculares y con las
políticas educativas, de interactividad con sus alumnos, y con sus propios
saberes y modos de hacer.
• Documentos de la escuela técnica, que difunde los marcos normativos y
curriculares que desde el CONET –Consejo Nacional de Educación Técnica–
delinearon la educación técnica de nuestro país.

A partir de estas líneas de trabajo, el CeNET intenta constituirse en un ámbito en el


que las escuelas, los docentes, los representantes de los sistemas técnico y cientí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


9

INET / Fluídica y controladores lógicos programables


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

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

Hoy, los sistemas informáticos, mecánicos, electrónicos y de comunicaciones (redes


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

Y, como cada cambio tecnológico modifica notablemente la imagen de estas máqui-


nas automáticas –sobre todo, por el efecto de las transformaciones en el campo
electrónico, y por el avance de las técnicas eléctricas y electrónicas de control en
tecnologías tradicionales como la neumática y la hidráulica– los conocimientos 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 en


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

A lo largo del cursado, iremos proveyéndole información que le permita resolver


situaciones problemáticas como ésta:

El problema

La empresa para la cual usted trabaja corresponde al área de bienes y servicios, y


se dedica a la actividad de transformación de materia prima: procesa chapas de
aluminio para confeccionar envases que contendrán alimentos.

Para esto, está organizada en distintas áreas o sectores –gerencias, administracio-


nes, jefatura de planta, oficina técnica, etc.–. Bajo la órbita de la gerencia de
planta se encuentra la oficina técnica en la que usted se desempeña junto a sus
pares, conformando un equipo interdisciplinario de ingenieros, técnicos electróni-
cos, eléctricos, mecánicos y administrativos.

El jefe de la oficina técnica es un ingeniero con una amplia experiencia en tareas de


producción de envases de aluminio para la industria alimenticia; se ha desempeña-
10
INET / Fluídica y controladores lógicos programables

do con éxito en el desarrollo de nuevos envases para la conservación de alimentos


perecederos, optimizando las tareas de ensamble de dichos recipientes, como así
también las de envasado de líneas de alta producción.

Para poder cumplir con la demanda en un mercado en franco crecimiento, la em-


presa ha adquirido una nueva planta para la confección de latas de aluminio. Las
tareas que deben realizar sus colegas en esta planta necesitan de las 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, como
así también de sistemas de automatización en silos y cintas transportadoras.

En el momento de distribuir las tareas y procedimientos a cumplir por cada uno de


los integrantes de la oficina técnica, el jefe del proyecto le encomienda a usted
realizar el sistema automático para el estampado de dichas latas de aluminio,
teniendo en cuenta, por supuesto, las futuras ampliaciones de éste, las normas de
seguridad existentes y la elección del sistema de control óptimo.

Entonces... deberá especificar el sistema de control más adecuado, decidir sobre la


lógica de mando de este sistema, detallar en forma precisa las características para la
compra del material –teniendo en cuenta la relación costo-beneficio–, asistiendo a
sus colegas de la oficina de compras, realizar los planos del cableado, programar
los sistemas de control, si fuese necesario, y supervisar su construcción.

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


toma de decisiones.
LÓGICOS PROGRAMABLES
1. CONTROLADORES

INET / Fluídica y controladores lógicos programables


11
13

INET / Fluídica y controladores lógicos programables


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

Es necesario tomar conciencia de la necesidad de subirse al carro de la nueva etapa


lo antes posible; o sea, ahora.

Controlador lógico ¿Qué es y para qué sirve un PLC?


programable
Un PLC o autómata progra-
Se lo puede definir como una «caja negra» en la que existen:
mable es toda máquina elec-
• terminales de entrada a los que se conectan pulsadores, finales de carrera,
trónica diseñada para con-
fotocélulas, detectores;
trolar, en tiempo real y en
• terminales de salida a los que se conectan bobinas de contactores,
medio industrial, procesos electroválvulas, lámparas...
secuenciales. Realiza funcio-
nes lógicas: series, parale- La actuación de estos últimos está en función de las señales de entrada que estén
los, temporizaciones, cuen- activadas en cada momento, según el programa almacenado.
tas; y otras más potentes
como cálculos, regulacio-
Esto quiere decir que los elementos tradicionales –relés auxiliares, relés de enclava-
miento, temporizadores, contadores– son internos.
nes, etc.

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

Antecedentes históricos

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

Debido a que ciertas etapas en los procesos de fabricación se realizan en ambientes


nocivos para la salud, con gases tóxicos, ruidos, temperaturas extremadamente altas
o bajas... y uniendo esta situación a consideraciones de productividad, siempre se
pensó en la posibilidad de dejar ciertas tareas tediosas, repetitivas y peligrosas a un
ente que no fuera afectado por las condiciones ambientales adversas. Nace, así, la
máquina y, con ella, la automatización.

Surgen, entonces, empresas dedicadas al desarrollo de los elementos que hacen


posible tal automatización.
14
INET / Fluídica y controladores lógicos programables

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

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

Comienzan, entonces, a aparecer problemas: los armarios o tableros de maniobra en


donde se coloca el conjunto de relés, temporizadores, contadores, etc., constituti-
vos de un control se hacen cada vez más y más grandes, la probabilidad de avería es
enorme, su localización es larga y complicada, el stock que el usuario se ve obligado
a soportar es numeroso y su costo se incrementa cada vez más.

El desarrollo tecnológico que traen, inicialmente, los semiconductores y, después,


los circuitos integrados, intenta resolver el problema, sustituyendo las funciones 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 de
mantenimiento de un stock. Además, subsiste un problema: la falta de flexibilidad de
los sistemas.

Comparemos las distintas opciones tecnológicas disponibles:

FAMILIA
TIPO SUBFAMILIA ESPECÍFICA
LÓGICA

Lógica Eléctrica Relés


cableada Electroneumática
Electrohidráulica

Electrónica Electrónica estática

Lógica Electrónica Sistemas Microprocesa-


programada informáticos dores

Microcontrola-
dores

Sistemas dedicados

PLC

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 tener
una producción flexible, ágil y con muy poco tiempo de parada de máquina por
reprogramación en las tareas a realizar.

Debido a estas constantes modificaciones que las industrias se ven obligadas a 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 de
tiempo y el aumento del costo que ello produce.

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

INET / Fluídica y controladores lógicos programables


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

Los controladores lógicos programables, limitados originalmente a los tratamientos


de lógica secuencial, se desarrollan rápidamente y, en la actualidad, extienden sus
aplicaciones al conjunto de sistemas de control de procesos y de máquinas.

Campo de aplicación

El PLC, por sus especiales características de diseño, tiene un campo de aplicación


muy extenso. La constante evolución del hardware y software amplía continuamente
este campo, para poder satisfacer las necesidades que se detectan en el espectro de
sus posibilidades reales.

Su utilización se da, fundamentalmente, en aquellas instalaciones en donde es 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 de


almacenar 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 procesos
en que se producen necesidades tales como:

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

Ejemplos de aplicaciones generales podrían ser los siguientes:

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

Instalaciones de:
• aire acondicionado, calefacción,
• seguridad,
• frío industrial,
• almacenamiento y trasvase de cereales,
• plantas embotelladoras,
• tratamientos térmicos,
• plantas depuradoras de residuos,
• cerámica.
16
INET / Fluídica y controladores lógicos programables

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

Ventajas e inconvenientes de los PLC

No todos los PLC ofrecen las mismas ventajas sobre la lógica cableada. Esto es
debido, principalmente, a la variedad de modelos existentes en el mercado y a las
innovaciones técnicas que surgen constantemente (Estas consideraciones nos 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 en


la elaboración de proyectos debido a que:

• No es necesario dibujar el esquema de contactos.


• No es necesario simplificar las ecuaciones lógicas ya que, por lo general, la
capacidad de almacenamiento del módulo de memoria es lo suficientemente
grande.
• La lista de materiales queda sensiblemente reducida y, al elaborar el presu-
puesto correspondiente, se elimina parte del problema que supone el contar
con diferentes proveedores, distintos plazos de entrega, etc.
• Existe posibilidad de introducir modificaciones sin cambiar el cableado ni añ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 indicar
averías.
• Presenta la posibilidad de gobernar varias máquinas con un mismo PLC.
• Exige menor tiempo para la puesta en funcionamiento del proceso, al quedar
reducido el tiempo de cableado.

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

b) Inconvenientes

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


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

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

INET / Fluídica y controladores lógicos programables


Una vuelta al problema

Le proponemos que relea el problema y tome la decisión de qué tipo de lógica


usará, analizando, fundamentalmente, la versatilidad, la facilidad de uso, las 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 puede
conformarse con realizar una buena programación, y conseguir un montaje y una
puesta en funcionamiento perfectos; debe, sobre todo, dejar de ver al dispositivo
como una caja negra y conocerlo tal cual es:

Un equipo electrónico complejo, montado en tarjetas específicas que controlan áreas


o bloques, realizando distintas funciones que, unidas convenientemente, dan como
resultado a los PLC.

a) Estructura externa

El término estructura externa o configuración externa de un PLC se refiere a su 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 la
tendencia 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 bloque
todos sus elementos; esto es: fuente de alimentación, CPU, memorias, entradas/
salidas, etc. En cuanto a su unidad de programación, existen tres versiones:

• unidad fija o enchufable directamente en el PLC,


• enchufable mediante cable y conector, o
• la posibilidad de ambas conexiones.

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

Estructura modular –o europea1–. Su característica principal es la de que existe un


módulo para cada función: fuente de alimentación, CPU, entradas/salidas, etc. La

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

unidad de programación se une mediante cable y conector. La sujeción se hace bien


sobre carril DIN o placa perforada, bien sobre rack, en donde va alojado el bus
externo de unión de los distintos módulos que lo componen.

b) Estructura interna

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

Los PLC se componen esencialmente de tres bloques:

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

Fuente de alimentación
Entradas

CPU

Salidas
Memoria
Comunicación
Fin de carrera RS 232/485 Relés
Datos Programa
Detectores Contactores
Pulsadores Lámparas
Llaves Electroválvulas
Contactos NA o NC RAM NVRAM: Programación Etc.
Etc. NVRAM EEPROM Simulación
EEPROM EPROM Monitoreo

Esquema básico de un PLC

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 de
protección de los circuitos electrónicos internos del PLC, realizando una separación
eléctrica entre éstos y los captadores.

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

La sección de salidas. Mediante el interfaz, trabaja de forma inversa a la de entradas;


es decir, decodifica las señales procedentes de la CPU, las amplifica y manda con ellas
los dispositivos de salida o actuadores –lámparas, relés, contactores, arrancadores,
electroválvulas, etc.–. Aquí también existen interfaces de adaptación a las salidas y de
protección de circuitos internos.

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

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

INET / Fluídica y controladores lógicos programables


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
Memoria
En nuestro caso, nos referiremos a las memorias que utilizan como soporte elemen-
Todo dispositivo que nos
tos semiconductores.
permite almacenar informa-
ción en forma de bits (ceros No todas las memorias son iguales; se distinguen dos tipos fundamentales de memo-
y unos). rias fabricadas con semiconductores:

• Memoria RAM –Random Access Memory–. Memoria de acceso aleatorio o


memoria de lectura-escritura. En este tipo de memoria se pueden realizar los
procesos de lectura y escritura por procedimiento eléctrico; pero, su informa-
ción desaparece al faltarle la tensión.

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

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

• Memorias EPROM –Erasable Programmable Read OnIy Memory– y EEPROM


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

• Memoria del usuario. Normalmente, el programa de usuario se graba en me-


moria RAM, ya que no sólo ha de ser leído por el microprocesador, sino que
ha de poder ser variado cuando el usuario lo desee, utilizando la unidad de
programación. En algunos PLC, la memoria RAM se auxilia de una memoria
sombra del tipo EEPROM. La desconexión de la alimentación o un fallo borra-
ría esta memoria, ya que al ser la RAM una memoria volátil, necesita estar
constantemente alimentada y es por ello que los PLC que la utilizan llevan
incorporada una batería tampón que impide su borrado.

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

• Memoria de programa. Esta memoria que, junto con el procesador, compone


la CPU, se encuentra dividida en dos áreas: la llamada memoria del sistema,
que utiliza memoria RAM, y la que corresponde al programa del sistema o
firmware, que es un programa fijo grabado por el fabricante y, por tanto, utiliza
el tipo de memoria ROM. En algunos PLC se utiliza únicamente la EPROM, de
tal forma que se puede modificar el programa memoria del sistema, previo
borrado del anterior con UV.
20
INET / Fluídica y controladores lógicos programables

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 con
perifé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 del


microprocesador donde se realizan los cálculos y las decisiones lógicas para
controlar al PLC.

• Circuitos de la unidad de control –UC–. Organiza todas las tareas del


microprocesador. Así, por ejemplo, cuando una instrucción del programa co-
dificada en código máquina (ceros y unos) llega al microprocesador, la UC
sabe, mediante una pequeña memoria ROM que incluye, qué secuencia de
señales tiene que emitir para que se ejecute la instrucción.

• Registros. Los registros del microprocesador son memorias en las que se


almacenan temporalmente datos, instrucciones o direcciones, mientras nece-
sitan ser utilizados por el microprocesador. Los registros más importantes de
un microprocesador son los de instrucciones, datos, direcciones, acumulador,
contador de programa, de trabajo, y el de bandera o de estado.

Los buses no son circuitos en sí, sino zonas conductoras en paralelo que transmiten
datos, direcciones, instrucciones y señales de control entre las diferentes partes del
microprocesador o microcontrolador. Se puede hacer una diferencia entre buses 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 la


combinación del bus.
21

INET / Fluídica y controladores lógicos programables


¿Cuáles son las funciones de la CPU?

En la memoria ROM del sistema, el fabricante ha grabado una serie de programas


ejecutivos fijos, software del sistema. Es a estos programas a los que accede el
microprocesador para realizar las funciones ejecutivas que correspondan, en función
del tiempo en que trabaje.

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

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

• Supervisión y control de tiempo de ciclo –watchdog–, tabla de datos, 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-
Unidades de entrada y que, junto con el resto del PLC.
salida
Son los dispositivos básicos En los modulares, las E/S son módulos o tarjetas independientes, con varias E/S, que
se acoplan al bus de datos por medio de su conductor y conector correspondiente,
por donde se toma la infor-
o bien a un bastidor o rack, que le proporciona dicha conexión al bus y su soporte
mación de los captadores –
mecánico.
en el caso de las entradas–
y por donde se realiza la ac- Las funciones principales son el adaptar las tensiones e intensidades de trabajo de
tivación de los actuadores – los captadores y actuadores a las de trabajo de los circuitos electrónicos del PLC;
en las salidas–. 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 de
los captadores y actuadores ante el procesador.

2.1. Entradas

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

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

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

• libres de tensión,
• corriente continua,
• corriente alterna.
22
INET / Fluídica y controladores lógicos programables

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

• analógicas y
• digitales.

Analógicas. Cuando la magnitud que se acopla a la entrada corresponde a una


medida de, por ejemplo, presión, temperatura, velocidad, etc., esto es, analógica, es
necesario disponer de este tipo de módulo de entrada. Su principio de funcionamien-
to se basa en la conversión de la señal analógica a código binario mediante un
convertidor analógico-digital –AID–.

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

2.2. Salidas

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

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

Incluye un indicador luminoso LED de activado.

Tres son los tipos de salidas que se pueden dar:

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

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

En cuanto a las intensidades que soportan cada una de las salidas, éstas son 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 bien
estas últimas son las más utilizadas–. En las analógicas es necesario un convertidor
digital analógico –D/A– que realice la función inversa a la de la entrada.

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


acciones

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


siguiente:

• Antes de iniciar el ciclo de ejecución, el procesador, a través del bus de datos,


consulta el estado 0 ó 1 de la señal de cada una de las entradas y las almacena
en los registros de la memoria de entradas, esto es, en la zona de entradas de
la memoria de la tabla de datos.

• Esta situación se mantiene durante todo el ciclo del programa. A continuación, el


procesador accede y elabora las sucesivas instrucciones del programa, realizando
las concatenaciones correspondientes de los operandos de estas instrucciones.
23

INET / Fluídica y controladores lógicos programables


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

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

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

Una vuelta al problema

Le proponemos que, con el material disponible, vuelva a la situación problema


planteada y verifique la conveniencia de la utilización de estos dispositivos, anali-
zando qué tipo de controlador lógico programable será el más adecuado para las
tareas que debe cumplir, qué cantidad de E/S necesitará, cuál será su tiempo de
Scan, etc.

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

Indique un caso de instalación industrial en la que considere que es 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.
2. MANEJO, INSTALACIÓN
Y CONEXIONADO

INET / Fluídica y controladores lógicos programables


25
27

INET / Fluídica y controladores lógicos programables


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

Es por ello que, en esta segunda parte de Controladores lógicos programables –


PLC– vamos a encarar el proceso a seguir para su puesta en marcha1, el procedi-
miento general para realizar una correcta programación de PLC, algunos ejemplos de
conexionado de elementos a entradas y actuadores a las salidas, así como las reglas
mínimas que han de seguirse para una correcta instalación, puesta en servicio, man-
tenimiento preventivo y resolución de averías.

El organigrama general simplificado que nos va a orientar en la secuencia a seguir


para la utilización correcta de los PLC es:

INICIO

PUESTA EN
MARCHA

PROGRAMACIÓN

CONEXIONADO
DE IN / OUT

INSTALACIÓN.
PUESTA A PUNTO

FIN

1. Puesta en marcha

Antes de iniciar cualquier acción para la puesta en funcionamiento de los PLC, es


necesario tener delante el cuadro de sus características o especificaciones, ya que
algunos datos –como la tensión de alimentación al sistema, o la tensión de red y el
margen de variación admisible– resultan necesarios2.

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

1. Conectar la fuente de alimentación.


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

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

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 esta
forma, conseguimos las ventajas de:

• El buen funcionamiento y la ausencia de averías por esta causa.


• La limitación en el número de entradas y salidas que se van a utilizar.

3.1. Conexionado de entradas

Los captores pueden ser de dos tipos:

• Analógicos. Su señal eléctrica es variable en el tiempo y, necesariamente, han de Captores –o emisores de


acoplarse al mismo tipo de entradas. (Esto no sucede en todos los PLC; en algu- señales–
nos, las entradas analógicas están en módulos separados y se debe elegir de qué
Son, en general, aquellos
tipo de entrada se trata –tensión o corriente– y qué tipo de resolución tiene).
elementos que se acoplan o
conectan a las entradas de
• Digitales. La señal responde a:
- Contacto abierto “0” (nada). los PLC.

- Contacto cerrado “1” (todo).

Empresa Dydec SRL

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, lo
que desencadena una señal hacia el circuito de control de entrada. Por el contrario,
el contacto en la entrada dos (in 2) no ocasiona fenómeno alguno al estar éste en
posición de abierto.

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


29

INET / Fluídica y controladores lógicos programables


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

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

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

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

Los captores con tensión pueden ser:

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

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

3
Las entradas de tipo P, son aquellas que para ser activadas necesitan recibir tensión de campo en
sus bornes.
30
INET / Fluídica y controladores lógicos programables

3.2. Conexionado de salidas

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

Las salidas son de dos tipos distintos:

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

La elección de un tipo u otro se deciden en función de los tipos de carga que se le


vayan a acoplar. Como ayuda en esta elección valgan las siguientes indicaciones:

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

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

electroválvulas, etc. Todos los elementos conec-


tados a las salidas, sean és-
Antes de conectar un actuador a las salidas de los PLC, habremos de analizar y tener tos elementos de actuación
en cuenta las siguientes limitaciones: directa o elementos de
mando.
• La tensión que se vaya a aplicar en cada juego de contactos del relé ha de ser
única; podremos aplicar tantas tensiones distintas como relés tenga el PLC.

• El margen de los valores de tensiones que se vaya a aplicar –tanto en CA como


en CC– están indicados en las características técnicas.

• Se sumarán las intensidades demandadas por los elementos conectados a


cada grupo de contactos y se comprobará que esta suma no supere la inten-
sidad máxima que nos indiquen sus características; los valores son distintos
para CA y CC

• Cuando el consumo de una carga o bobina del contactor sobrepase el valor


disponible en el grupo de salidas, se colocará un relé intermedio de bajo con-
sumo.

Circuitos de protección eléctrica:

Como sabemos, las cargas en las salidas se pueden clasificar en cargas en CC y


cargas en CA. En la mayoría de los casos, las cargas aplicadas a las salidas suelen
ser circuitos inductivos como, por ejemplo, bobinas de contactores y relés. La 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, se


deben acoplar circuitos adicionales exteriores para que supriman mejor y más rápida-
mente estas tensiones transitorias.
31

INET / Fluídica y controladores lógicos programables


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

Cuando el número de maniobras es elevado:

Cuando las cargas son del tipo resistivo, no es necesario acoplar circuito alguno.

En casos de CA nos podemos encontrar, generalmente, con:

• Que la carga sea de alta inductancia.


• Que la carga sea de alta impedancia.
32
INET / Fluídica y controladores lógicos programables

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

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

Contactos de relés térmicos:

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

• En las entradas, como captores:


33

INET / Fluídica y controladores lógicos programables


• O, en la salida:

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

• La conexión en el circuito de entradas es la técnica más segura desde el punto


de vista del control, ya que su apertura (provocada, como sabemos, por una
sobreintensidad del circuito) desactiva los correspondientes circuitos de 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, un


contacto de un relé térmico puede detener únicamente el proceso del actuador
al cual está protegiendo o detener el proceso completo. En este último caso y
conectando todos en serie –en el caso de contactos NC o NA–, es suficiente
con un solo contacto de entrada (lo que usted puede apreciar en la última
figura).

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

• Utilizar el contacto normalmente cerrado, NC.


• Utilizar el contacto normalmente abierto, NA.

En el primer caso, la bobina del contactor se alimenta directamente, ya que el con-


tacto NC se utiliza en la entrada.

En el segundo caso, al utilizar en la entrada el contacto NA, el contacto NC puede o


no ser utilizado en la salida. Si se utiliza, tendremos doble protección.

Como desventaja podemos citar que necesitamos una entrada por cada relé térmico,
o grupo en paralelo o serie, lo que nos puede incrementar aquéllas 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 circuito


de entrada; pero, carecer de indicaciones de avería en la señalización de salida o
LED –aunque, lógicamente, la bobina del contactor quede desactivada, en cuyo
caso sólo se detendrá el actuador que esté protegiendo–.

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


34
INET / Fluídica y controladores lógicos programables

elementos que lo integran puede traer como consecuencia pérdidas económicas


importantes, si en su programación no se han tenido en cuenta estas posibilidades,
esto es, la incidencia que en el resto del proceso puede tener la paralización o inco-
rrecto funcionamiento de una sola máquina.

Contactos
Un procedimiento utilizado para corregir esta posibilidad es el de usar contactos de
confirmación. de confirmación
Contactos de determinada
A continuación incluimos algunas de las posibilidades de conexión de los actuadores parte de un proceso situa-
en las salidas del PLC. dos sobre otra parte de ese
mismo proceso, que condi-
Conexión en un grupo de cuatro salidas comunes o de igual tensión: 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:


35

INET / Fluídica y controladores lógicos programables


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

Acoplamiento de actuadores de gran consumo:

Cuando el consumo de intensidad –por ejemplo, de la bobina de un contactor que


controla un determinado motor– es superior a la que puede soportar un contacto de
salida del PLC, los procedimientos que es posible seguir son los siguientes:

• Utilizar dos o más contactos de salida puenteados o unidos. Este procedi-


miento no es recomendable, en general, debido al valor que económicamente
representa un contacto de salida.

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

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

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


36
INET / Fluídica y controladores lógicos programables

Una vuelta al problema

Le sugerimos empezar a analizar el diseño de su tablero de comando, teniendo en


cuenta el conexionado de los distintos elementos a ser utilizados en él.

4. Instalación, puesta a punto y mantenimiento

4.1. Instalación

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

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


4.1.2. Distribución de componentes en el armario que los va a contener.
4.1.3. Cableado y alimentación correctos.

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

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

Normalmente –salvo indicación expresa–, el entorno en donde se sitúa el PLC ha de


reunir las siguientes condiciones físicas:

• Ausencia de vibraciones, golpes, etc.


• Resguardo de la exposición directa a los rayos solares o focos caloríficos
intensos, así como a temperaturas que sobrepasan los 50-60 grados centígra-
dos, aproximadamente.
• Desechar lugares donde la temperatura desciende, en algún momento, por
debajo de 5 grados centígrados o donde los bruscos cambios pueden dar
origen a condensaciones.
• Descartar ambientes en donde la humedad relativa se encuentra por debajo
del 20% o por encima del 90%, aproximadamente.
• Ausencia de polvo y ambientes salinos.
• Ausencia de gases corrosivos.
• Ambiente exento de gases inflamables –por cuestiones de seguridad–.
• Ha de evitarse situarlo junto a líneas de alta tensión, siendo la distancia variable
en función del valor de dicha tensión.

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

Es norma que el PLC se sitúe en un armario metálico. Antes de elegirlo, se ha de


conocer si este armario necesita ventilador incorporado para forzar la ventilación del
aire, debido a que la temperatura ambiente supera la especificada, o bien para 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 despejada
no sólo el PLC sino todos los elementos que se encuentren junto a él, de modo que se
pueda realizar un correcto trabajo en las operaciones de cableado y mantenimiento.

Los elementos que se encuentran junto al PLC pueden ser:

• interruptor o interruptores de alimentación,


• las protecciones correspondientes,
37

INET / Fluídica y controladores lógicos programables


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

El PLC puede situarse en distintas posiciones; pero, en general, se sitúa verticalmente


sobre riel DIN o placa perforada.

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

• Los elementos disipadores de calor –principalmente el PLC y las fuentes de


alimentación– se sitúan en la parte superior del armario, para así facilitar la
disipación del calor generado al exterior.
• Los elementos electromecánicos –relés, contactores, etc.– son generadores
de campos magnéticos debido a sus bobinas; por esto, es recomendable
alejarlos lo más posible. Los transformadores, por su parte, estarán ubicados a
la mayor distancia posible de cualquier parte de los PLC.

4.1.3. Cableado y alimentación correctos

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

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

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

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

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

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

• Tensión estable del valor adecuado y exenta, en lo posible, de picos provoca-


dos por otros aparatos de la instalación.
• Protecciones contra sobrecargas y cortocircuitos, por medio de interruptores
magneto-térmicos, fusibles, etc., así como contra derivaciones a tierra, por
medio de interruptores diferenciales.
• Cable de tierra del valor adecuado y debidamente señalizado mediante 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:


38
INET / Fluídica y controladores lógicos programables

Field (campo)

Como se observa, el diagrama considera no sólo la alimentación a la fuente de


los PLC (CPU), sino la posibilidad de una fuente de alimentación auxiliar, salidas
a CC, etc.

4.2. Puesta a punto y en servicio


Puesta a punto

Esta tarea se acomete cuando todas las anteriores fases del proyecto se han termina- Supervisión total del sistema
do, incluso la de introducir el programa en el PLC. y de la realización de todas
aquellas tareas que son ne-
Es conveniente dividir esta supervisión en dos momentos: cesarias para dejarlo en las
condiciones perfectas de
• Sin tensión: Verificación de las partes físicas.
poder iniciar su puesta en
• Con tensión: Verificación del sistema automático.
funcionamiento.

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

• La correcta conexión de todos los componentes del sistema, incluidas las


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

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

• Con el PLC en modo stop, alimentar el sistema, pero no las cargas.


• Comprobar el correcto funcionamiento del circuito de mando de marcha-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 funcionamiento
general del sistema.

Una vuelta al problema

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

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


39

INET / Fluídica y controladores lógicos programables


4.3. Mantenimiento

Podemos discriminar dos grupos de tareas de mantenimiento:

• Mantenimiento preventivo. Como cualquier otra máquina, los PLC necesitan


de un mantenimiento preventivo o inspección periódica; esta inspección ha de
tener una periodicidad tanto más corta cuanto más complejo sea el sistema;
ésta puede variar desde una frecuencia semanal hasta una frecuencia anual.
Aunque la fiabilidad de estos sistemas es alta, las consecuencias derivadas de
sus averías originan un alto coste, por lo que es necesario reducir al mínimo
esta posibilidad.
• Localización y reparación de las averías que se produzcan. Por ser el PLC
un elemento electrónico complejo y debido a la importancia que ha de darse
a su rápida reparación, en este apartado daremos algunas indicaciones que
puedan ser útiles a los encargados de esta labor.

4.3.1. Mantenimiento preventivo

Es conveniente disponer de una carpeta de mantenimiento con fichas en las cuales se


haya confeccionado un cuadro que recoja los datos de las inspecciones periódicas,
indicando fecha y, en apartado significativo, las averías detectadas y corregidas.

Los datos podrían ser, entre otros:

CUADRO PARA LA REALIZACIÓN DEL MANTENIMIENTO


PREVENTIVO
Pregunta SI NO
a) De elementos mecánicos:
- ¿Están firmemente sujetos, tanto el PLC como los
demás elementos?
- ¿Hay algún cable suelto o roto?
- ¿Están los tornillos suficientemente apretados?

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

c) De condiciones ambientales:
- ¿Se encuentran los valores de temperatura y 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 entrada
de la fuente de alimentación?
- La corriente continua y el rizado, ¿están dentro del
margen?
- Las tensiones de entrada a las E/S, ¿son las correctas?

Las herramientas y aparatos necesarios para esta labor de mantenimiento preventivo


son:

• Algodón y alcohol (para limpiar contactos).


• Herramientas de instalador.
• Téster de aguja de clase 0,5 o digital.
• Osciloscopio.
• Termómetro e higrómetro.
• Etc.
40
INET / Fluídica y controladores lógicos programables

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 error
correspondientes, enviados por el port de comunicaciones a la PC.

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

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

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

En nuestra actividad anterior usted puntualizó un caso de instalación indus-


trial en la que consideró oportuno utilizar el PLC.

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


ella, precisar:

1. ¿De qué tipo van a ser las entradas y salidas de ese PLC?
2. ¿Qué elementos va a utilizar como protección exterior a la salida de
los PLC?
3. ¿Dónde va a conectar los contactos de los relevos térmicos? ¿Por
qué?
4. ¿Integrará contactos de confirmación?
5. ¿Qué consideraciones hará al conectar las salidas, con respecto al
consumo de sus actuadores?
6. ¿Qué solución podría desarrollar si la carga a conectar supera la
permitida por la salida del PLC?
PROGRAMACIÓN
3. INTRODUCCIÓN A LA

INET / Fluídica y controladores lógicos programables


41
43

INET / Fluídica y controladores lógicos programables


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

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

Es importante conocer y manejar correctamente las funciones de servicio que ofrecen


los PLC, para conseguir las máximas prestaciones –eficacia–.

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

En procesos de producción periódicamente cambiantes, en donde programas en 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 –bien
con 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, de
acuerdo 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 utilizar
los PLC; en ella aparece tanto el esquema correspondiente al programa en el
lenguaje en el que se ha programado, como el listado de instrucciones y la
relación de temporizadores, contadores, etc., empleados, con indicación de
su número y tiempo –en el caso de temporizadores– y cuentas –en el caso de
Programa
contadores–, etc.
Es una sucesión o lista de
distintas órdenes de trabajo
–también llamadas instruc- Instrucciones y programas1
ciones–, capaz de hacer eje-
cutar la secuencia de traba- Una instrucción u orden de trabajo consta de dos partes principales: operación y
jo pretendida a los PLC.
operando; a su vez, el operando está dividido en símbolo y parámetro:

Instrucción u orden de
Instrucción

trabajo Operando
Operación ¿Dónde?
Es la parte más pequeña de ¿Qué?
Símbolo Parámetro
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 el
software en su amplio término trata tanto de los programas creados por el usuario como los propios
creados para el funcionamiento interno de los PLC, aquí nos vamos a referir a los primeros.
44
INET / Fluídica y controladores lógicos programables

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 esa
instrucció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 o
instrucciones –memoria del usuario–).

Otro concepto a tener en cuenta es el de línea o línea de programa. Una línea


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

Para poder elaborar un programa no es suficiente con las instrucciones de mando o


de programa; se requiere otro tipo de instrucciones que recibe el nombre de instruc-
ciones de servicio u órdenes de manejo, por medio de las cuales se consigue la
elaboración, análisis y puesta a punto del programa, así como otras posibilidades
que en los ejemplos prácticos consideraremos.

Instrucciones básicas:

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

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

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

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

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

INET / Fluídica y controladores lógicos programables


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

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

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

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

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

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

IN: (45)
Especifica una entrada digital.

OUT: (53)
Especifica una salida digital.

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

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

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

ENDSUB: (464646)
Fin de subrutina.

END: (58)
Fin de programa.

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

En caso de no disponer de dicho software, para enviar estos comandos podrá 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 fabricante
entregue de los comandos que se pueden introducir en modo ASCII.
46
INET / Fluídica y controladores lógicos programables

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 largo
del programa –esto es, efectúa lo que se denomina ciclo de scan– que es medido en
función del tiempo que tarda en ejecutar 1000 instrucciones.

En función de cómo se efectúe la ejecución o barrido del programa, se distinguen los


siguientes sistemas, modos o estructuras de programación:

1. Ejecución cíclica lineal.


2. Ejecución con salto condicional.
3. Ejecución con salto a sub-rutinas.

El principio de ejecución de cada uno de los sistemas indicados se describe a 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, sin
solución de continuidad, se dice que la programación es lineal.

Así, la CPU consulta las instrucciones contenidas en la memoria secuencialmente,


una a continuación de la otra, sin alterar este orden.

Instrucción 1

End

2. Ejecución con salto condicional

Cuando el ciclo de ejecución de un programa tiene la posibilidad –previa condición


establecida– de alterar la secuencia línea a línea y dar un salto a otras líneas de 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 la


condición en ella indicada, se salta a V, continuando el barrido en V+1 hasta el fin de
programa (END).

Si, por el contrario, al llegar a U no se cumple la condición, el programa se ejecuta


linealmente, continuando en U+1.

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

INET / Fluídica y controladores lógicos programables


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

Instrucción 1

Instrucción U

Instrucción U + 1

Instrucción V
Instrucción V + 1

Fin de programa
End

3. Ejecución con salto a sub-rutinas

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

Inicio
Jump_Condicional 1 Sub_Rutina 1
Endsub

Jump_Condicional 2 Sub_Rutina 2
Endsub

End
48
INET / Fluídica y controladores lógicos programables

Lenguajes de programación típicos

Varios son los lenguajes o sistemas de programación posibles en los autómatas


programables; por esto, cada fabricante indica en las características generales de su
equipo cuál es el lenguaje o los lenguajes con los que puede operar.

En general, se podría decir que los lenguajes de programación más usuales son
aquellos que transfieren directamente el esquema de contactos y las ecuaciones ló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 de
contactos, KOP.

Excepto el nemónico, los demás tienen como base su representación gráfica; pero,
todos ellos deben ir acompañados del correspondiente cuadro o lista de 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 de


Boole o álgebra lógica.

LD: Operación inicio contacto abierto.


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

Diagrama de contactos:

La mayoría de los fabricantes incorpora este lenguaje. Esto es debido a la semejanza


con los esquemas de relés utilizados en los automatismos eléctricos de lógica ca-
bleada, lo que facilita la labor a los técnicos habituados a trabajar con dichos
automatismos.
49

INET / Fluídica y controladores lógicos programables


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

Equivalencias entre los distintos lenguajes

Asignaciones de los programas

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

Para no incurrir en errores –asignaciones repetidas o asignaciones de elementos


inexistentes– 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:

TERMINAL
TIPO DESCRIPCIÓN
ASIGNADO

ENTRADAS In1 Pulsador de marcha


In2 Fin de carrera Pistón 1
In3 Térmico motor 1
..........
..........
...........
...........
...........
In15 Pulsador de parada
In16 Emergencia

SALIDAS Out1 Contactor línea


Out2 Contactor estrella
............
............
.............
..............
.............
.............
Out7 Lámpara piloto
Out8 Lámpara de emergencia
50
INET / Fluídica y controladores lógicos programables

Ejemplo de asignaciones para timers, contadores y memorias:

Tipo Numero Seteos Descripción


Timers TIM 1 20 seg. Ret. estrella/triángulo
TIM 2 50 seg Seguridad
.........
.........
TIM 8 60 seg. Reposición

Contado- CNT 1 99 Piezas terminadas


res CNT 2 99 Cantidad de piezas
..........
..........
..........
..........
CNT 13 4 Paradas emergencia
CNT 14 2 Apertura. Térmico

Memorias MEM 1 Set Habilitación


MEN 2 Rst Fase 1
..........
..........
..........
MEM 63 rst Fase n
MEM 64 rst Fase n+1

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 –para
cuando, 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 algunas
consideraciones que nos facilitarán la labor de programación:

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


quierda a derecha.

Lista de instrucciones:

LD IN 1
ANDN IN 2
= OUT 1
END
51

INET / Fluídica y controladores lógicos programables


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

c) El número de contactos que se puede colocar en un bloque, desde el comien-


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

d) Al no existir limitación de contactos, es preferible realizar un circuito claro y


comprensible con un número elevado de contactos, antes que uno complica-
do como consecuencia de reducir su número.

e) No se puede conectar una salida directamente a la línea principal. En estos


casos, se intercala un contacto cerrado de una marca cualquiera. Es importan-
te tener en cuenta esta posibilidad de acceder a contactos abiertos o cerrados
fijos –ya que no se utiliza la bobina de dicha marca o relé–.

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

f) Es posible programar dos o más bobinas de salida, sean exteriores o marcas


en paralelo (Por ejemplo, en los PLC de la serie PLCem 16xx, es posible colo-
car E/S, timers, contadores y marcas hasta terminar las 512 líneas).
52
INET / Fluídica y controladores lógicos programables

g) Los términos contacto abierto, normalmente abierto (NA) y contacto de cierre,


significan lo mismo y se refieren al contacto que en estado de reposo está
abierto o, lo que es lo mismo, a que el paso de corriente a través de él no es
posible.

En el mismo sentido, los términos contacto cerrado, normalmente cerrado (NC)


y contacto de apertura también significan lo mismo: el contacto que en estado
de reposo se encuentra cerrado, o sea, el paso de corriente a través de él sí es
posible.

h) Contactos de entradas. El número de contactos abiertos o cerrados que se


puede utilizar en un programa, por cada uno de las entradas, es ilimitado, o
sea, se puede repetir el mismo número de contacto cuantas veces queramos y
tanto abierto como cerrado.

i) Contactos de salida. El número de salidas o bobinas de salida o relés de salida


OUT es fijo, por lo que no se puede repetir un mismo número de salida; pero,
por el contrario, el número de contactos asociados a cada una de ellas y tanto
abiertos como cerrados es, al igual que en el caso anterior, ilimitado.

j) Contactos de marcas o memorias. Aunque no son salidas exteriores, las mar-


cas se representan y programan de forma similar; su utilización más común es
como relés auxiliares.

En la mayoría de los PLC son protegidas contra el corte de alimentación. Por


tanto, no pierden su estado ante esta eventualidad. Existen también especia-
les, con funciones varias como la de cambio de base de tiempo de timers y
scan de éstos.

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

Ejemplo básico de programación


Lógica OR
53

INET / Fluídica y controladores lógicos programables


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

Ejemplo básico de programación


Lógica AND

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

Ejemplo básico de programación


SET Y RST

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

Mediante la combinación de contactos en serie o paralelo se puede empezar a 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 que


maneja la cinta trasportadora por donde pasan las latas para ser estampadas, con
el pulsador de marcha colocado en la entrada IN 1 y otro pulsador de parada en la
entrada IN 2, y que actuaremos sobre la salida Out 1, la cual comandará, directa-
mente un contactor adecuado para manejar el motor antes mencionado.

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


54
INET / Fluídica y controladores lógicos programables

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

Cuando pulsamos la entrada IN 1, el relé K1, acciona y el contacto que está en paralelo
con la IN 1 también cierra. Con esto se logra una autorretención de K1; es decir que, si
soltamos el pulsador que está conectado en la entrada IN 1, el relé K1 –o bien si
correspondemos a K1 con Out 1– permanece accionado. La única manera de dejar de
accionar a la salida Out 1 es accionando la entrada IN 2 que, al ser accionada, deja de
circular corriente hacia Out 1 y éste se desconecta.

Si pulsamos ambos pulsadores a la vez vemos que la carga o la salida Out 1 no es


accionada, porque tiene preponderancia IN 2 sobre IN 1. Es, decir al pulsar IN 2 la
carga no acciona. A este circuito se lo denomina circuito de comando del tipo RESET
DOMINANTE.

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

Como podemos ver en la figura, al pulsar IN 1 la salida Out 1 se activa y el contacto


de K 1 también. En este circuito está la función de autorretención, para que al soltar
IN 1 siga accionada la salida Out 1; al pulsar IN 2, la carga deja de estar accionada;
ahora, al pulsar IN 1 y IN 2 en forma conjunta, la salida Out 1 sigue accionada. A este
circuito se lo denomina circuito de comando del tipo SET DOMINANTE.

A modo de ejemplo, desarrollamos el SET DOMINANTE, en el lenguaje Ladder con


lista de instrucciones.
55

INET / Fluídica y controladores lógicos programables


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

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

=SET
Coloca un “1” en el lugar de las acciones y permanece así 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 única
forma 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 IN 1
=SET OUT 1
LD IN 2
ANDN IN 1
=RST OUT 1
END

Una vuelta al problema

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

• Con un pulsador conectado en la entrada IN 1 accionaremos la salida Out 1.


Al dejar de pulsar, este pulsador la salida Out 1 deberá seguir accionada. Al
volver a pulsar la IN 1, la salida Out 1 se deberá apagar y, así, sucesivamente.
(En la In 1 colocaremos un simple pulsador NA con la cantidad de módulos
asociados que se necesite. En la salida Out 1, colocaremos una lámpara).

Para empezar, realizamos el circuito de comando mediante un programa Ladder y


utilizamos para ello nada más que las instrucciones AND, OR y sus derivados, y
como acción la instrucción =(Copy).
56
INET / Fluídica y controladores lógicos programables

Solución 1. Antes de resolver cualquier problema debemos saber cuántas acciones


realizaremos; de esta manera, podemos saber cuál es la condición que debemos
realizar para que la acción se cumpla.

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

1. Al oprimir In 1 se debe encender la salida Out 1.


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

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

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

Lista de instrucciones:
LD IN 01
OR OUT 01

Continúa a la página siguiente.


57

INET / Fluídica y controladores lógicos programables


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

Consideremos otro ejemplo:

Con un pulsador conectado en la entrada IN 1 accionaremos la salida Out 1. Al dejar


de pulsar este pulsador, la salida Out 1 deberá seguir accionada. Al volver a pulsar la
IN 1, la salida Out 2 encenderá. Y, al soltar nuevamente IN 1, la salida Out 1 y Out 2
seguirán encendidas. Al pulsar nuevamente IN 1 se apagarán ambas salidas y, así,
sucesivamente.
IN 1. Pulsador 1
Out 1. Lámpara 1
Out 2. Lámpara 2

Lista de instrucciones:
LD IN 01
OR OUT 01
ANDN OUT 05
=OUT 01
LDN IN 01
OR OUT 02
AND OUT 01
=OUT 02
LD IN 01
OR OUT 03
Continúa a la página siguiente.
58
INET / Fluídica y controladores lógicos programables

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

Notamos que para encender dos salidas estamos gastando cinco, lo que no es 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 no
sería posible; habría que hacer un copy (=) de esta memoria a la salida elegida.

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

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

Usando memorias

Realicemos el ejemplo anterior usando memorias.

Hemos reemplazado las salidas Out 2, Out 4 y Out 5 por memorias: MEM 2, MEM 4 y
MEM 5, respectivamente.

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

INET / Fluídica y controladores lógicos programables


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

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

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

Lista de instrucciones:
LD IN 01
ANDN OUT 01
ANDN OUT 02
ANDN MEM 01
= SET OUT 01
= SET MEM 01
LD IN 01
AND OUT 01
ANDN OUT 02
ANDN MEM 01
=SET OUT 02
=SET MEM 01
Continúa a la página siguiente.
60
INET / Fluídica y controladores lógicos programables

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

• Otros usos de las memorias:

Supongamos que deseamos resolver el ejemplo de la figura siguiente. Si el PLC, no


tiene la posibilidad de trabajar con paréntesis, no se puede resolver; pero, la solución
correcta es utilizar memorias.

Tratemos de resolver el siguiente ejemplo:

Realizamos un automático de escaleras tradicional, con un pulsador en la parte 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 que


pulse IN 2. También se podrá realizar en sentido contrario.
61

INET / Fluídica y controladores lógicos programables


La solución:

Lista de instrucciones para PLC con paréntesis:


LD IN 1
ANDN IN 2
OR ( IN 2
ANDN IN 1 )
= OUT 3
END

Lista de instrucciones para PLC sin paréntesis:


LD IN 1
ANDN IN 2
= MEM 1
LD IN 2
ANDN IN 1
OR MEM 1
= OUT 3
END

Usando timers

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

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

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

En algunos PLC, de acuerdo con el número de timers, puede ser de retardo en la


conexión o de retardo en la desconexión. Por eso es aconsejable que, antes de
poner a funcionar un timer, se verifique de qué tipo son los que tiene el PLC a utilizar,
verificando sus características técnicas.

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

En cuanto a su precisión, los comunes rondan las décimas de segundo; y, en PLC de


tipo modular, dependiendo de la CPU utilizada, esta precisión llega a centésimas de
segundo.

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

El seteo del valor del timer se realiza en el software de programación y edición de


programas; o, cuando está corriendo el PLC, mediante la utilización de hand hell, los
cuales nos permitirán modificar a voluntad los valores del timer, al igual que visualizarlos
mientras funciona.
62
INET / Fluídica y controladores lógicos programables

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

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

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

a) Retardo en la conexión

Diagrama temporal:

Diagrama de contactos:

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

b) Retardo en la desconexión
63

INET / Fluídica y controladores lógicos programables


Diagrama temporal:

Diagrama de contactos

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

Una de las aplicaciones más comunes de los temporizadores en un PLC es la de


manejar el arranque de motores del tipo estrella triángulo.

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

Una vuelta al problema

Supongamos que el motor del ventilador de extracción de gases contaminantes


de la sección pinturas de nuestra fábrica de envases es de más de 10 HP.

Debemos realizar un arranque del tipo estrella/triangulo, el cual tiene la tabla de


asignaciones que puntualizamos a continuación.

Supongamos que:
IN 1: Pulsador de marcha
IN 2: Pulsador de parada
IN 3: Relevo térmico
Out 1: Contactor de línea
Out 2: Contactor estrella
Out 3: Contactor triángulo

Ahora, con estos datos, realicemos el diagrama ladder:


64
INET / Fluídica y controladores lógicos programables

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

Otra de las aplicaciones frecuentes en el hogar o en edificios de departamentos es la


del uso del timer como un automático de paliers: cuando oprimo el pulsador ubicado
a la salida de algún ascensor se enciende una luz y permanece en ese estado por un
cierto tiempo.

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

Usando contadores

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

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

• Contador ascendente Cuando se trate de timers


• Contador descendente
de funcionamiento electróni-
co –no eléctrico, como mos-
Algunos PLC –de acuerdo con cómo éstos se inicialicen– pueden integrar contador
tramos aquí–, lo mejor será
ascendente o contador descendente. Por eso es aconsejable que, antes de poner a
funcionar un contador, se controle de qué tipo son los contadores que tiene el PLC a consultar las características

utilizar, verificando las características técnicas. técnicas particulares de


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

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

INET / Fluídica y controladores lógicos programables


del contador se realiza en el software de programación y edición de programas, o
cuando está corriendo el PLC, mediante la utilización de hand hell que permiten 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:

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

¿Cómo trabajamos con los contadores?

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

Lo que primero realizamos es la carga y limpieza del contador, antes de ponerlo a


funcionar. Cuando colocamos un “1” lógico en esa entrada, el contador limpia su
estado actual y se resetea; sus contactos de C# pasan a la posición de reposo,
tienen un “0”. Recién en ese instante está en condiciones de contar puesto que, al
Si queremos –por ejemplo– limpiar su estado, también carga el valor de predeterminación.
contar hasta 10 eventos con
un contador descendente,
Al ingresar la cuenta de eventos por la entrada de cuenta, el contador empieza a
decrementar su valor con cada ingreso y, cuando llega a “0”, la cuenta pone un “1”
debemos predeterminarlo
lógico en sus contactos –los setea–.
en 9.

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

Las entradas de cuenta pueden ser de dos tipos:

• por nivel o
• por flanco3.

Veamos un ejemplo:

Mediante un pulsador IN 1 realizamos la carga y la limpieza del contador C 01; con


otro pulsador, en IN 2, contamos los eventos.

3
Nuevamente, frente a esta decisión, resulta necesario consultar las características técnicas del
fabricante.
66
INET / Fluídica y controladores lógicos programables

Visualizamos el estado del contador en la salida OUT 1.

Diagrama ladder:

Lista de instrucciones:
LD IN 01
=CSET 01
LD IN 02
= CNT 01 Cuando se trata de conta-

LD CNT 01 dores, lo mejor es consultar


= OUT 01 las características técnicas
END. particulares de cada caso,
en el manual del fabricante.
En este caso, la instrucción = CSET 01 es la encargada de cargar y limpiar el estado Aquí sólo estamos haciendo
del contador.
referencia al manejo de con-
tadores que realizan los PLC
La instrucción = CNT 01, por su parte, es la encargada de contar eventos.
de la empresa Dydec.

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

La complejidad siempre creciente de los automatismos industriales se traduce en


cada vez mayores dificultades para definir de modo claro y no ambiguo el desarrollo
de las fases operativas del equipo y sus estados de conmutación. Las extensas des-
cripciones literales resultan de difícil o confusa interpretación, por lo que se hace
imprescindible adoptar métodos de representación claros y concretos, ya sea en
forma literal o gráfica.

Seguidamente, indicamos distintos métodos para la representación de las fases


operativas de las máquinas. Si bien todos son de aplicación general, es el grado de
complejidad del equipo el que define el más adecuado en cada caso.

Es importante destacar que las formas de representación son independientes de la


tecnología utilizada; por consiguiente, son aplicables para centrales de mando 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.
67

INET / Fluídica y controladores lógicos programables


1. Representación descriptiva simplificada:

Fase 1: A extiende su vástago, el cilindro A sujeta la pieza.


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

2. Representación abreviada con vectores:

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

Se adopta, convencionalmente:

Salida (extensión) del vástago

Entrada (retracción) del vástago

Ejemplos:

1) 2)

Fase 1 A Fase 1 A

Fase 2 B Fase 2 B

Fase 3 B Fase 3 B C

Fase 4 A Fase 4 A C

3. Representación abreviada con signos:

En este caso, el movimiento de los cilindros o actuadores es designado con los


signos más (+) y menos (-).

Se adopta, convencionalmente:

+ Salida (extensión) del vástago


- Entrada (retracción) del vástago

Ejemplos:

Fase 1 Fase 2 Fase 3 Fase 4

1) A+ B+ B- A-

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

3) A+ B+ B- A-
C+ C-
68
INET / Fluídica y controladores lógicos programables

4. Representación en forma de diagramas:

4.1. Diagrama espacio-fase:

En el diagrama espacio-fase se representa la secuencia de acción de las unidades de


trabajo y el encadenamiento de las señales de mando.

Se utilizan, para ello, dos ejes coordenados:

• En uno de ellos, el eje vertical, se representa el estado de los actuadores del


sistema utilizando valores binados (0 - 1). Se adopta valor 0 para indicar la
posición de reposo del elemento (motor detenido, cilindro con vástago retraí-
do, etc.) y valor 1 para identificar el estado del elemento actuado (motor en
marcha, cilindro con su vástago extendido, etc.). Estas designaciones 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. Estos
cambios 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ón
puedan 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 de
la figura).

Las líneas inclinadas significan


movimientos (fases 2 y 4 de la fi-
gura).

Las líneas con distinta inclinación


evidencian distintas velocidades
del movimiento; por ejemplo:
aproximación rápida, trabajo len-
to y retomo rápido (fases 1, 2 y 3
en el diagrama de la figura).
69

INET / Fluídica y controladores lógicos programables


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

Los motores con posibilidad de giro en


dos sentidos se representan como en la
figura. El nivel 1 superior indica, por ejem-
plo, rotación en sentido horario; en tanto
el inferior, lo contrario. El 0 central indica
reposo (motor detenido).

Los motores con aceleración y


deceleración prolongada pueden represen-
tarse como en la figura (caso de inversión
del 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 de
las líneas de fase.

Los elementos de señalización son aquellos que, al ser actuados, emiten una señal
capaz de modificar el estado de algún componente del mando.
70
INET / Fluídica y controladores lógicos programables

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

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

Representemos en forma de diagrama espacio-fase la siguiente secuencia de má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.
71

INET / Fluídica y controladores lógicos programables


4.2. Diagrama espacio-tiempo:

El diagrama espacio-tiempo constituye una variante del diagrama espacio-fase, en donde


en el eje horizontal se indican los tiempos –en reemplazo de las fases o pasos utilizados
en este último–. Cuando el tiempo de ejecución constituye una variable de 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. Su
aplicació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 y
de evolución secuencial.
72
INET / Fluídica y controladores lógicos programables

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 Francesa


para la Cibernética Económica y Técnica, y constituye un paso importante para la
unificación de la representación del conjunto de condiciones de un automatismo
lógico.

Tiene un nombre propio para distinguirlo de otros diagramas funcionales y formas de


representación existentes –como son los diagramas de Girard, organigramas lógi-
cos, diagramas DIN 40719, etc.–.

¿Cómo pasamos de la representación de un diagrama espacio-fase a programar un


controlador lógico programable?

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

El lenguaje Ladder, es un lenguaje de tipo condicional; es decir, posee una zona


destinada a las condiciones y otra a las acciones:

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

Además, siempre aparecen las instrucciones propias de la cascada sumadas a las del
programa:
INET / Fluídica y controladores lógicos programables
73
74
INET / Fluídica y controladores lógicos programables

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 que
habilita la segunda fase del programa.
• Luego, en las fases sucesivas, colocamos, en primer lugar, la memoria que
habilita la rama y, a continuación, las condiciones propias del programa.
• Procedemos –de igual forma que en el paso anterior– a colocar las acciones
del programa.
• Luego, reseteamos la memoria que habilita esta rama y seteamos la que habi-
lita a la siguiente.
• Esto sigue de esta manera, hasta terminar con la totalidad de las fases, en las
que colocamos la memoria que habilita la rama y, a continuación, las condi-
ciones propias del programa.
• Procedemos –de igual forma que el paso anterior –a colocar las acciones del
programa y luego reseteamos la memoria que habilita esta rama y también
reseteamos la primera memoria utilizada.
• En muchas ocasiones es bueno que la última fase del programa produzca la
puesta a cero de la totalidad de las salidas.

Consideremos un ejemplo:

Se desea realizar la automación de una máquina automática cuyos movimientos


obedecen al siguiente espacio fase:
IN 6
Como entrada tenemos:
IN 1: Emergencia
1 2 3 4 5=1
IN 2: Marcha continua
IN 3: Un Ciclo
IN 4: Parada fin de ciclo
IN 5: Cilindro atrás
IN 6: Cilindro adelante
IN 5
Y, como salidas:
Out 1: Alarma
Out 2: A+ Marcha un IN 3
Out 3: A- Ciclo
75

INET / Fluídica y controladores lógicos programables


Solución:

Lista de instrucciones:
LD MEM 50
OR IN 03
ANDN MEM 01
ANDN IN 06
AND IN 05
ANDN IN 01
=SET OUT 02
=RST OUT 03
Continúa en la página siguiente.
76
INET / Fluídica y controladores lógicos programables

=SET MEM 01
=SET MEM 02
LD MEM 02
AND IN 06
ANDN IN 05
ANDN IN 01
=SET OUT 03
=RST OUT 02
=RST MEM 02
=SET MEM 03
LD MEM 03
ANDN IN 06
AND IN 05
ANDN IN 01
=SET OUT 02
=RST OUT 03
=RST MEM 03
=SET MEM 04
LD MEM 04
AND IN 06
ANDN IN 05
ANDN IN 01
=SET OUT 03
=RST OUT 02
=RST MEM 04
=SET MEM 05
LD MEM 05
ANDN IN 06
AND IN 05
ANDN IN 01
=RST OUT 02
=RST OUT 03
=RST MEM 05
=RST MEM 01
LD IN 02
=SET MEM 50
LD IN 04
=RST MEM 50
LD IN 01
AND MEM 26
= OUT 01
=RST OUT 02
=RST OUT 03
END 1 2 3 4 5 6=1
1

Al mismo ejemplo an-


terior le introducimos 0
un timer entre la fase
2 y 3, quedando: T = 5 seg.

Situaciones de borne ídem al anterior


77

INET / Fluídica y controladores lógicos programables


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

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

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

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

INET / Fluídica y controladores lógicos programables


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

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


siguiente: 1 2 3 4 5 6 7=1
1

Cilindro A
0

Cilindro B

IN 1: Emergencia Out 1: Alarma


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

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

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

Continúa a la página siguiente.


81

INET / Fluídica y controladores lógicos programables


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

Continúa a la página siguiente.


82
INET / Fluídica y controladores lógicos programables

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

En el siguiente ejemplo colocamos a trabajar juntos timer y contadores. El diagrama


espacio-fase es, así, el siguiente:

1 2 3 4 5 6 7=1
1

T = 5 seg. T = 5 seg.

Situaciones de borne ídem al anterior

IN 1: Emergencia Out 1: Alarma


IN 2: Marcha continua Out 2: A+
IN 3: Un ciclo Out 3: A-
IN 4: Parada fin de ciclo
IN 5: Cilindro A atrás
IN 6: Cilindro A adelante
Diagrama Ladder:

INET / Fluídica y controladores lógicos programables


83
84
INET / Fluídica y controladores lógicos programables

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

Continúa a la página siguiente.


85

INET / Fluídica y controladores lógicos programables


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

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

1. Explique brevemente los distintos lenguajes de programación a 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 como
lista–. Coloque los pulsadores de marcha continua, parada a fin de
ciclo, parada de emergencia. Cuente la producción y realice un
sistema minino de indicación de alarmas.
93

INET / Fluídica y controladores lógicos programables


OTROS LENGUAJES
DE 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 mayor
grado, también son muy adecuados cuando trabajamos con equipos de origen alemán o francés: el
lenguaje STL y el lenguaje GRAFCET. Nos ocupamos de ellos en estos dos documentos anexos que
completan nuestro módulo.
95

INET / Fluídica y controladores lógicos programables


Jerarquía de los elementos STL

Lenguaje STL –Statement La naturaleza modular del lenguaje STL2 permite al programador resolver tareas com-
List– plejas de una manera eficiente, sin requerir el conocimiento de la totalidad de estos
elementos pero sí la forma en que esos elementos son combinados, ya que influye de
Permite al programador re-
modo importante en la operación del programa.
solver tareas de control usan-
do expresiones sencillas en
Consideremos cómo está organizado este lenguaje:
inglés, las que describen la
operación deseada del con- Jerarquía de los elementos STL:
trolador.
PROGRAM

STEP
SENTENCE
CONDITIONAL PART
EXECUTIVE PART

Aunque el uso de la instrucción STEP –paso– es opcional, la mayoría de los progra-


mas requiere su uso. La instrucción step se utiliza para marcar el comienzo de un
bloque lógico de código de programa. Cada programa STL puede contener hasta
255 steps discretos, pudiendo cada uno de estos step incluir una o más sentences –
oraciones o enunciados–.

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

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

La sentence forma el nivel básico de la organización del programa. Cada sentence


consiste en una parte condicional y una parte ejecutiva.

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

Si las condiciones programadas son evaluadas como true –verdaderas–, entonces


cualquier instrucción programada en la parte ejecutiva es cumplida. El comienzo de
la parte ejecutiva está marcado por la expresión THEN.

Sentencias típicas

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

IF I1.0 Si input 1.0 está activa


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

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

IF I6.0 Si input 6.0 está activa


AND N I2.1 y la input 2.1 no está activa
AND O3.1 y la output 3.1 está activa
THEN RESET O2.1 entonces apagar output 2.1
RESET T6 y reset timer 6

En el ultimo ejemplo, se ha introducido el principio de condiciones compuestas. Es


decir, todas las condiciones establecidas en la sentencia deben cumplirse (ser 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á activa


ORN T6 o timer 6 no está corriendo
THEN INC CW1 entonces incrementar counter 1
SET T4 y arrancar timer 4 con parámetros
preexistentes

Este ejemplo muestra el uso de la estructura OR en la parte condicional de una


sentencia. Por lo tanto, la sentencia es evaluada como verdadera (y se incrementará
el contador 1 y se arrancará el timer 4), si alguna o ambas de las condiciones estable-
cidas son ciertas.

La próxima sentencia introduce el uso de paréntesis en la parte condicional, para


establecer la forma en que las condiciones son evaluadas.

IF (11.1 Si input 1.1 está activa y


AND T4 ) Timer 4 está corriendo
OR (I1.3 O si input 1.3 está activa
AND 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 Lenguaje


Statement List. Es posible crear programas enteros que consistan sólo en múltiples
sentencias sin usar la instrucción STEP.

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

Para que estos programas puedan funcionar y ser procesados continuamente, es


necesario agregar la instrucción PSE.

Para quienes están familiarizados con el Lenguaje Ladder Diagram, puede decirse
que hay gran similitud entre una sentencia STL y una rama en Ladder Diagram.

Por ejemplo, una rama en Ladder Diagram para activar una salida (ponerla a ON) siem-
pre que la entrada está activa y apagarla (OFF) cuando la entrada está inactiva, es:
97

INET / Fluídica y controladores lógicos programables


Mientras que la sentencia equivalente en STL es:

IF I1.0 Si input 1.0 está activa


THEN SET 02.6 Entonces conmutar a si output 2.6
PSE Fin de programa
OTHRW RESET 02.6 De otra forma, apagar output 2.6
PSE Fin de programa

En este ejemplo se ve la inclusión de la instrucción OTHRW; porque, el lenguaje STL


requiere instrucciones explícitas para alterar el estado de cualquier operando (por
ejemplo: output, timer, counter).

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

Instrucción STEP

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

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

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

STEP (label)
IF I1.0 Si la input 1.0 es activa
THEN 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:

STEP
IF I2.2 Si input 2.2 es activa
THEN SET 04.4 Conmutar y activa output 4.4
IF I1.6 Si input 1.6 es activa
THEN RESET 02.5 Apagar output 2.5
SET 03.3 y activar output 3.3
98
INET / Fluídica y controladores lógicos programables

En el ejemplo previo, se ha introducido el concepto de múltiples sentencias dentro


de un STEP único. Cuando el programa alcanza este STEP, procesa la primera senten-
cia (en este caso en particular, activando la salida 4.4 si la entrada 2.2 está activa) y,
luego, se mueve a la segunda sentencia sin importar si las condiciones de la primera
son verdaderas.

Cuando la última (en este caso, la segunda) sentencia de un STEP es procesada:

• Si la parte condicional es verdadera, entonces la parte ejecutiva es llevada a


cabo y el programa procede al próximo step;
• Si la parte condicional de la última sentencia es no verdadera, entonces el
programa retorna a la primera sentencia del step actual.

Al desarrollar programas o steps que contengan múltiples sentencias, es importante


comprender que éstas son procesadas en forma paralela (barrido): Cada vez que la
parte condicional de una sentencia es evaluada como verdadera, las instrucciones
programadas en la parte ejecutiva son ejecutadas. Esto debe ser considerado para
evitar una ejecución múltiple descontrolada tal como SET TIMER (arrancar un timer) o
INC/DEC counter (incrementar/decrementar un contador).

El lenguaje STL no usa condiciones de “disparo por flancos”; las condiciones se


evalúan por verdadero o falso, nb sin importar el estado previo.

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

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

Reglas de ejecución:

• Si las condiciones de una sentencia se cumplen, entonces las acciones 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 se
mueve a la sentencia siguiente en el step actual.
• Si las condiciones de la última (o única) sentencia dentro de un step no se
cumplen, entonces el programa retorna a la primera sentencia del step actual.

La siguiente figura ilustra la estructura de proceso de un step STL; usando varias


combinaciones de steps con una o varias sentencias, el lenguaje STL brinda un am-
plio rango de posibilidades para resolver las más complejas tareas:
99

INET / Fluídica y controladores lógicos programables


Modificando el flujo del programa

Además de las estructuras de control inherentes en la instrucción STEP, hay varias


instrucciones adicionales STL disponibles para modificar el criterio de ejecución de
los steps y sentencias del programa.

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

SUMARIO DE INSTRUCCIONES STL


INSTRUCCIÓN PROPÓSITO

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


constantes.
BID Convierte el contenido del acumulador monobit, de formato binario a BCD.
CFM n Comienza la ejecución o inicialización de un módulo de función.
CMP n Comienza la ejecución de un módulo de programa.
CPL Produce el complemento a dos, del contenido del acumulador monobit.
DEC Decrementa un acumulador / operando monobit.
DEB Convierte el contenido del acumulador monobit de formato BCD a binario.
EXOR Realiza una operación lógica EXOR en operandos monobit o multibit, y constantes.
IF Este comando marca el comienzo de la parte condicional de una sentencia.
INC Incrementa un operador/acumulador monobit.
INV Produce el complemento a uno del contenido del acumulador monobit.
JMP TO (Step Hace que el programa siga ejecutándose en el Step especificado por el label
label) (etiqueta).
LOAD Realiza la carga de operandos especificados (monobit o multibit) / constantes al
acumulador monobit o multibit.
NOP Es una instrucción especial que siempre es verdadera (siempre se cumple), en
la parte condicional de una sentencia. En la parte ejecutiva, es equivalente a “no
hacer nada”.
OR Realiza la operación lógica OR en operandos monobit y monobit, y constantes.
OTHRW Permite continuar la ejecución del programa, si la parte condicional de una
sentencia es false.
PSE –Program Section End– Fin de la sección del programa.
RESET Modifica operandos monobit a su estado lógico “0”.
ROL 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.
100
INET / Fluídica y controladores lógicos programables

ROR Rota a derecha una posición todos los bits contenidos en el acumulador monobit.
El bit menos significativo se mueve a la posición del más significativo.
SET Modifica operandos monobit a su estado lógico “1”.
SHIFT Realiza la operación de transferencia –swap– entre un operando monobit y el
acumulador monobit.
SHL Desplaza una posición a izquierda a todos los bit contenidos en el acumulador
monobit. El bit más significativo se pierde y el menos significativo se llena con un
cero (0).
SHR Desplaza una posición a derecha a todos los bit contenidos en el acumulador
monobit. El bit menos significativo se pierde y el más significativo se llena con un
cero (0).
SWAP Intercambia los bytes alto y bajo del acumulador monobit.
TO Se usa en conjunción con la instrucción LOAD, para especificar un operando de
destino.
THEN Marca el comienzo de la parte ejecutiva de una sentencia.
WITH Instrucción usada para pasar parámetros con algunas instrucciones del tipo
CFM/CMP. En algunos modelos de PLC, especifica velocidades de reloj.

Consideremos algunas de estas instrucciones:

• Instrucción NOP:

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


sentencia.

Si NOP es usada en la parte condicional, siempre es evaluada como verdadera. La


instrucción NOP puede usarse para la ejecución incondicional de una sentencia.

IF NOP esto siempre es verdadero


THEN 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, se
verifiquen determinadas condiciones y, en caso de ser éstas verdaderas, se ejecuten
las acciones apropiadas.

Sin embargo, sin importar si alguna de las condiciones se cumplen, después de


pasar exactamente una vez el programa, encenderá la output 3.6 y procederá al
próximo step. Esto es porque hemos forzado la última sentencia a ser verdadera,
mediante la instrucción NOP

STEP 50
IF I1.0 Si input 1.0 es activa
THEN SET 02.2 Entonces activar output 2.2
IF N I3.5 Si input 3.5 no es activa
AND I4.4 e input 4.4 es activa
THEN RESET O1.2 entonces apagar output 1.2
IF T3 Si timer 3 está corriendo
THEN SET F0.0 entonces set flag 0.0
IF NOP En cualquiera de los casos nos aseguramos que la
ultima sentencia sea siempre verdadera.
101

INET / Fluídica y controladores lógicos programables


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

IF I3.2 Si input 3.2 es activa


THEN NOP no hacer nada e ir al próximo step
THEN 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 que


consideramos 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 step
designado del programa.

STEP 50
IF I1.0 Si input 1.0 es activa
THEN SET O2.2 Encender output 2.2
JMP TO 70 Y saltar a step label 70
IF N I3.5 Si input 3.5 no es activa
AND I4.4 e input 4.4 es activa
THEN RESET O1.2 Apagar output 1.2
JMPTO 6 y saltar a step label 6
IF T3 Si timer 3 está corriendo
THEN SET F0.0 entonces set flag 0.0
IF 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 del
programa. Esta instrucción se ejecuta cuando la última cláusula IF encontrada es
evaluada como no válida –not true–.

IF I2.0 Si input 2.0 es activa


THEN SET 03.3 encender output 3.3
OTHRW SET 04.5 sino encender output 4.5
102
INET / Fluídica y controladores lógicos programables

Direccionando entradas y salidas –inputs y outputs–

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

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

• Sistema de field bus.


• Redes.

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

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

Estos grupos completos de words se referencian por su tipo, input u output, y por la
dirección de la word (n). Este número de dirección es generalmente fijo en 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
103

INET / Fluídica y controladores lógicos programables


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

Los ejemplos incluyen:

IW1 Input Word 1


IW7 Input Word 7
OW0 Output Word 0
OW2 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 el
mismo número de direcciones que el de un output word (por ejemplo, IW1 y OWI).

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

- Si es entrada o salida (I u O) + el número de dirección de la word (n) + “.”


Seguido por el número particular de posición de I / 0 (Sn).

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

Por ejemplo:

I3.2 Posición input 2 de la input word 3


I0.15 Posición 15 de la input word 0
02.7 Posición output 7 de la output word 2
O0.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ídos
o consultados. Están conectadas a dispositivos externos tales como sensores, llaves,
etc., los que pueden o no suministrar una señal a una entrada individual.

Ejecutando las instrucciones STL apropiadas dentro de la parte condicional de una


sentencia, el controlador es capaz de determinar el estado corriente de una entrada
discreta.

IFI1.1 Verifica una señal válida en input 1.1


IF 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 recibiendo
señales válidas, podríamos hacer un AND lógico a cada input:
104
INET / Fluídica y controladores lógicos programables

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

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

La siguiente podría ser la secuencia del programa:

IF (lw2 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 entera


AND V224) = 111 00000 binario
> V31 si el resultado es mayor que... Aquí tendremos

Lo que es equivalente a:

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

2. Usando outputs en programas:

Las outputs de un controlador programable pueden usarse para controlar distintos


tipos de dispositivos eléctricos, mediante instrucciones de programa, lo que activará
(SET) o desactivará (RESET) las salidas requeridas (output).

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

Ejecutando las instrucciones STL apropiadas en la parte ejecutiva de una sentencia,


el controlador puede conmutar una output particular a SI o NO.

• La instrucción SET se usa para conmutar a SI una output.


• La instrucción RESET conmuta la output a No.

IF cualesquiera condiciones necesarias


THEN SET O1.2 activar output 1.2
RESET 03.3 apagar output 3.3
105

INET / Fluídica y controladores lógicos programables


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

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

IF I2.4 Input 2.4 activa


AND 02.2 Output 2.2 activa
THEN ... Acciones deseadas

Algunas veces puede ser deseable o necesario verificar o alterar el estado de output
words enteras. De la misma forma, las entradas pueden ser manipuladas tomando
como base grupos de word.

Los mismos principios que hemos referido a las input se aplican a las outputs.

Por ejemplo, de la sentencia STL:

THEN LOAD V0
TO OW2

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

A partir de aquí analizaremos cómo se trabaja con timers, contadores, registros y


flags en el lenguaje STL.

Organizaremos la exposición en cuatro títulos:

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

Usando timers

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

Elemento / Operando Referencia Función


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

Timer preselect Tpn Es un operando de 16 bit que contiene el valor que


(Preselección del define el período para el timer n.
temporizador)

Timer Word Twn Es un operando de 16 bit al que el operando TP –tiempo


de preselección– es transferido automáticamente cuan-
do el timer es arrancado (SET).
Luego este valor es decrementado por el sistema a inter-
valos.
106
INET / Fluídica y controladores lógicos programables

Se requiere de varios pasos para usar un timer en un programa STL: Los modelos de controlado-
res que incorporan baterías
1. Establecer una preselección de timer válida. de resguardo de memoria
2. Establecer una instrucción para arrancar el timer.
–back-up batteries– mantie-
3. Comprobar el estado del timer: activo / detenido.
nen los valores de preselec-
ción de los timers durante

1. Establecer una preselección de timer válida3: los períodos en que el con-


trolador está desconectado
Antes que pueda usarse cualquier timer, debe inicializarse el timer preselect con un o apagado. Estos valores
valor correspondiente al período de tiempo deseado. también son mantenidos en
controladores que no tienen
Esta inicialización sólo es necesaria de ser llevada nuevamente a cabo si el valor baterías de respaldo pero
preseleccionado de tiempo debe ser cambiado. No es necesario cargar nuevamente
que tienen tecnologías más
el timer preselect cada vez que el timer es arrancado.
modernas como, por ejem-
plo, FLASHROM, o Zero
Esta inicialización necesita ser realizada con un valor (constante) o con cualquiera de
los contenidos de un MBO –Monobit Operandos– (por ejemplo, registro, input word, Power RAM (Estos dispositi-

flag word, etc.) vos son RAM mantenidos


por baterías montadas en el
Por ejemplo, para la inicialización de la preselección de timer con la velocidad del mismo chip).
reloj:

STEP 1 ¡Lo hacemos primero!


Lf NOP Incondicionalmente
LOAD V10 Valor 10
TO 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 segundos


TSC decenas de segundos
SEC segundos
MIN minutos

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


reloj:

STEP 1 ¡Lo hacemos primero!


IF NOP Incondicionalmente
LOAD V100 valor 100... la velocidad del reloj estándar (sin
especificar) será en incrementos de 1/100 de segundo
TO TPO a la preselección del timer 0 = 1 seg.

Se ha inicializado el Timer 0 para tener una duración de 1 segundo (100 x 1/100


segundo). El rango permitido es de 0 - 65535, lo que habilita a períodos del timer
entre 0.01s y 655.35 s (aproximadamente, 10 minutos).

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 que
usted está usando.
107

INET / Fluídica y controladores lógicos programables


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:

Si una instrucción de SET de


IF I1.0 Cualquier condición para comenzar
un timer se ejecuta y el timer
THEN SET T6 Entonces arrancar timer 6
especificado ya está funcio-
nando (activo), será rearran- Siempre que la instrucción SET Tn se ejecute, ocurre lo siguiente:
cado y un nuevo período de
tiempo comenzará. • El valor almacenado en tpn –timer preselect n o preselección del timer n– se
copia a la twn –timer word n–.
• Tn –timer status n o estado del timer n– se activa poniéndose en ‘1’ (activo /
corriendo).
• El controlador automáticamente decrementa el valor almacenado en Twn a
intervalos regulares.
• Cuando el valor almacenado en twn alcanza 0 (cero), Tn –timer status– se 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 saber
cuándo el tiempo programado ha sido completado. El lenguaje STL permite verificar
si el timer está activo, de la misma forma que se hace para verificar si una input está
activa.

IF 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ál
es el timer que debe detenerse:

IF I2.0 lnput para detener el timer


THEN RESET T5 Detener timer 5

• Si se ejecuta la instrucción RESET Tn, el bit de estado del timer (Tn) se vuelve
0 (inactivo).
• Si el timer ya estaba inactivo, esto no tiene efecto.

Vemos aquí la relación entre las instrucciones bit de estado del timer –timer status Bit;
Tn–, el SET Tn, el RESET Tn y el período normal de tiempo:
108
INET / Fluídica y controladores lógicos programables

La línea sólida representa una secuencia de temporizado normal en la cual el estado


del timer se vuelve activo cuando la instrucción SET Tn se ejecuta; el estado retorna a
inactivo cuando el período programado de tiempo se ha completado.

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

Es importante comprender que, al construir programas o steps que contengan múlti-


ples sentencias que serán procesadas en una manera paralela (barrido), cada vez que
la parte condicional de una sentencia evalúe ésta como verdadera, las instrucciones
programadas en la parte ejecutiva serán evaluadas. Esto debe considerarse para
evitar ejecuciones múltiples no controladas que incluyan Set timer o INS/DEC Counter
Word, SHL, etc.

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

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

Podemos evitar arranques indeseados usando la estructura Step STL.

Veamos un ejemplo:

Se trata de una sección de programa en la que se desea poner en marcha un motor


durante 3 segundos, cada vez que se presiona un botón, si el motor no está ya en
marcha y han pasado a por lo menos 9 segundos de la última vez que el motor fue
puesto en marcha.

Se ha eliminado en este programa la posibilidad de continuos rearranques de los


temporizadores, combinando la estructura step del STL con la instrucción N Timer.

STEP 1
IF NOP Inicializar al conectar energía
THEN LOAD V900 900. 0,1seg unidad de tiempo
TO TP0 Timer 0 es 2 seg. tiempo de pausa
LOAD V300 300 0,1 seg. unidad de tiempo
TO TP2 Timer 2 es timer de motor
SET T0 Correr pause timer
109

INET / Fluídica y controladores lógicos programables


STEP 10
IF N T0 Timer 0 ha terminado
AND N T2 Timer 2 no está corriendo
AND N O1.0 Motor no está en marcha
AND I1.2 Botón presionado
THEN SET T2 Arrancar timer
SET O1.0 Arrancar motor

STEP 20
IF N T2 Tiempo del motor finalizado
THEN RESET O1.0 Detener el motor
SET T0 Arrancar timer de pausa
JMP 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 estado
del timer (por ejemplo, T2) puede ser consultado usando las siguientes instrucciones:

IF T2 Esta consulta es verdadera si timer 2 está activo y temporizando


IF 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 timer


2 ha sido arrancado y se ha completado su temporización. Por ello, al construir
programas en STL con sentencias que serán procesadas múltiples veces, es 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 pulsador


se usa para hacer que un cilindro extienda su vástago por un tiempo predeterminado
–preset–.

Manteniendo el botón pulsador presionando, o presionando y soltando el botón múl-


tiples veces dentro del período de tiempo definido, no se altera el tiempo programado.

STEP 1 Inicialización; sólo la primera vez


THEN LOAD V0
TO OW0 Apagar todas las salidas
RESET F3.0 Borrar flag 3.0
LOAD V100 Inicializar timer
TO TP0 Que el timer T0, sea de 1 segundo

STEP 2 Sección de barrido principal


IF I1.0 Botón 1 es presionado
AND N T0 y el timer 0 no está corriendo
AND N F3.0 Forma de detección de flanco
THEN SET T0 Arrancar timer 0
SET O1.0 Extender cilindro 1
SET F3.0 Memorizar flanco positivo de pulsador

IF N T0 Timer 0 no activo
AND O1.0 y el cilindro está extendido
THEN RESET O1.0 luego retraer el cilindro
IF N T0 Timer 0 no activo
110
INET / Fluídica y controladores lógicos programables

AND F3.0 y tuvimos previamente un flanco ascendente


AND 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 flanco


IF NOP Entonces continuar barriendo
THEN JMP TO 2 El step actual.

Usando counters4

Consideremos algunas funciones básicas para el uso de contadores:

Elemento / Operando Referencia Función


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

Counter preselect Cpn Un operando de 16 Bit que contiene el valor deseado de


la cuenta. Los modelos de controlado-

Counter Word Cwn Un operando de 16 Bit que contiene el número corriente res que incorporan baterías
de cuentas almacenadas mediante las instrucciones
de respaldo, mantienen los
decrementar o incrementar. Al usar counters estándar y
ejecutar la instrucción SET Cn, la counter word es valores de preselección del
automáticamente cero.
counter, bits de estado y
words durante los períodos
Vamos a dividir nuestra exposición en dos partes: sin energía de red. Igual-
mente, con los nuevos, equi-
• Contadores estándar
pados con EEPROM o
• Contadores incrementales / decrementales
NVRAM.

• Contadores estándar:

Un counter estándar es útil para el conteo de eventos determinados y para llevar a


cabo, luego, una acción deseada, cuando se arribe a la cuenta predefinida.

Para operar counters estándar es necesario:

1. Establecer una preselección de counter válida


2. Establecer una instrucción para arrancar el counter
3. Controlar el estado del counter: activado / detenido

1. Establecer una preselección de counter válida:

Antes de que un counter estándar pueda usarse, el respectivo counter preselect debe
ser inicializado con un valor correspondiente al número de eventos a ser contado.

Esta inicialización sólo necesita ser realizada nuevamente si el valor para actividades
de conteo subsecuentes requiere ser cargado. No es necesario cargar de nuevo al
counter preselect cada vez que el contador es arrancado.

4
No intentamos describir aquí la operación o la implementación de ningún contador de alta velocidad
especial ni de aquellos manejados por interruptores, los que están disponibles en algunos modelos
de controladores. el uso de counters con estas características especiales puede ser encontrado en el
manual de hardware del controlador en cuestión.
111

INET / Fluídica y controladores lógicos programables


El counter preselect puede ser cargado con valores absolutos o con el contenido de
cualquier MBO (por ejemplo, Registro, lnput Word, Flag Word, etc.)

Si inicializamos el counter preselect con un valor absoluto:

IF I1.0 O cualquier condición deseada...


THEN LOAD V100 Cargamos un valor absoluto de 100
como el número de eventos a contar
TO CP4 Al counter Preselect 4.

Si inicializamos el counter preselect con un valor MBO:

IF I1.0 O cualquier condición deseada


THEN LOAD IW1 lnput word 1 como el valor de entrada
TO CP5 al counter preselect 5

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

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

Arrancar un contador sólo requiere de una instrucción SET y especificar qué counter
debe arrancarse:

Si una instrucción SET de un IF I1.2 Condiciones deseadas


counter es ejecutada y el THEN SET C2 Activar counter 2
counter especificado está ya
activo, es rearrancado y la Siempre que la instrucción Set Cn es ejecutada, ocurre:
cuenta actual (en cwn) es
puesta a cero (0). • 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 mantenida
en la respectiva counter word, la que puede ser actualizada usando tanto la
instrucción INC cwn como la DEC cwn.

• Un counter puede ser detenido en cualquier momento con la instrucción RESET


Cn. Cuando la instrucción RESET Cn es ejecutada, el bit de estado del counter
–Counter Status Bit Cn– es 0 (cero). El contenido de la counter word 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:
112
INET / Fluídica y controladores lógicos programables

Un botón pulsador se usa para comenzar un ciclo de máquina. El ciclo arranca una
En programas o steps que
rampa y cuenta las botellas que pasan por un sensor. Una vez que 25 botellas hayan
pasado el sensor, la rampa es detenida y un mecanismo posiciona corchos de cierre contienen múltiples senten-

en cada botella. Finalmente, todos los corchos son presionados en las botellas 2 cias que son procesadas en
veces, durante un segundo cada uno. paralelo (modo barrido),
cada vez que la parte con-
STEP 1 Encendido dicional de una sentencia es
THEN RESET C0 Contador de botellas evaluada como verdadera,
RESET C1 Contador de pulsadas
las instrucciones programa-
RESET O1.0 Apagar rampa
das en la parte ejecutiva son
RESET O1.1 Apagar presión de corchos
ejecutadas.
LOAD V25 cuántos para contar
TO CP0 preselección counter 0
LOAD V2 cuántas pulsadas Esto debe ser considerado
TO CP2 preselección counter 2 para evitar ejecuciones múl-
LOAD V100 100 x .01s = 1 segundo tiples descontroladas de ins-
TO TP0 Timer 0 Preselect trucciones que incluyan SET
TIMER o INC / DEC Counter
STEP 5 Esperar botón de marcha
Word, SHL, etc.
IF I1.0 Botón de marcha
THEN SET C0 Activar contador
El lenguaje STL no usa “dis-
SET O1.0 Arrancar rampa
paro por flancos”: las con-

STEP 10 Comenzar contando botellas diciones son evaluadas por


IF I1.1 una botella fue sensada verdaderas cada vez que
THEN INC CW0 incrementar contador de botellas son procesadas, sin impor-
tar sus estados previos.
STEP 15 ¿25 botellas ya?
IF N C0 hemos hecho todo, entonces...
THEN RESET O1.0 detener rampa
SET C2 activar contador de pulsadas
JMP 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 contadas


THEN SET O1.1 Presionar los corchos
SET T2 Arrancar timer de presionado
INC CW2 contar este presionado

STEP 60 Timer espera 1 segundo


IF N T2 tiempo finalizado
THEN RESET O1.1 detener el presionando

STEP 70 ¿Hecho?
IF N C2 corchos presionados 2 veces
THEN JMP TO 5 volver a Step 5
OTHRW JMP TO 50 presionar de nuevo
113

INET / Fluídica y controladores lógicos programables


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

El programa espera por el botón de marcha y, entonces, cicla un cilindro entre las
posiciones completamente extendida y completamente cerrada, 100 veces.

Sin el uso del Flag, un programa de barrido incrementaría el counter en cada barrido
–scan– del programa más que en cada vez que el cilindro fue nuevamente extendido.

STEP 1 Inicialización 1 vez solamente


IF I1.0 Botón de marcha apretado
THEN LOAD V0
TO OW1 Todas las outputs apagadas
RESET F3.0 Borrar flag 3.0
LOAD V100 Inicializar timer
TO CP0 Hacer un contador de ciclo de 100
SET C0 Arrancar el counter

STEP 2 Sección principal de barrido


IF AND I1.1 Cilindro retraído
AND C0 y el Counter 0 está activo
AND N F3.0 Para detectar flanco
AND N O1.0 Válvula para extender cilindro apagada
THEN SET O1.0 Comenzar a extender cilindro
SET F3.0 Perfecto para ver una nueva extensión
IF I1.2 Cilindro está extendido,
AND F3.0 Nuevo flanco
THEN INC CWO Contar el ciclo
RESET F3.0 Actualizar control de flancos
RESET O1.0 Comenzar retraer cilindro
IF N C0 100 cuentas fueron hechas
THEN JMP TO 1 Comenzar todo de nuevo

• Contadores incrementales / decrementales:

Además de usar los contadores estándar que ya describimos, el lenguaje STL, a


través del uso de operandos multibit, crea counters comúnmente denominados como
Up/Down –arriba/abajo, incrementales/decrementales– que se pueden armar con 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 counter


preselect y no existe bit dedicado al estado del contador. Por ello, tampoco son
aplicables las instrucciones SET RESET.

Los steps siguientes son los requeridos para usar este tipo de contador:

• Inicializar el apropiado MBO


• El MBO pude ser lncrementado o decrementado
• El MBO puede ser comparado a un valor o a otro MBO
114
INET / Fluídica y controladores lógicos programables

Consideremos un ejemplo de uso de un registro como counter:

En el siguiente ejemplo un proceso es arrancado y corre hasta que 100 partes de


buena calidad son producidas.

STEP 10 Esperar por la señal de marcha


IF I1.0 Botón de marcha
THEN LOAD V100 Número a producir
TO R50 Registro 50 es el contador
SET O1.1 Arrancar la máquina

STEP 20 Mirar por cualquier parte


En él área de calidad
IF (I1-1 Listo para verificar
AND I2.3 ) Calidad es buena
THEN DEC R50 1 buena, 1 menos para hacer
JMP TO 30 Continuar en Step 30
IF (I1.1 Listo para verificar
AND N I2.3 ) Calidad bien sensor
Perdidos = mal
THEN NOP No cuenta las malas

STEP 30 Ver si ya tenemos las 100


IF (R50
= V0) Trabajo terminado
THEN RESET O1.1 Detener la máquina
JMP TO 10 Volver al comienzo
OTHRW NOP O si no está hecho, seguir

STEP 40 Esperar por la última parte


Para mover
IF N I1.1 Área de calidad limpia
THEN JMP TO 20 Seguir corriendo / verificando

Usando registros5

Si el modelo de controlador
Los controladores programables de Festo® que pueden programarse usando el len-
que usted está usando in-
guaje STL poseen registros de 16 Bit, aún cuando la cantidad exacta de estos regis-
tros varía de acuerdo al modelo. cluye batería de respaldo o
algún sistema de memoria
Estos registros son operandos multibit y pueden usarse para almacenar números en permanente, los contenidos
el rango de: de los registros serán man-
tenidos mientras no haya
• 0 - 65535 enteros sin signo energía conectada al equi-
• +/- 32767 enteros con signo
po. Los registros que no ha-
yan sido inicializados con-
Se utilizan los registros en conjunción con la instrucción LOAD TO y operaciones
tendrán valores aleatorios
lógicas multibit.
(en el sistema no existen ru-
tinas de limpieza).

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

INET / Fluídica y controladores lógicos programables


Los registros no son direccionables en una base bit por bit; si este tipo de acceso es
necesario, los flag words son los aconsejados para la tarea.

Los registros pueden usarse para simplificar el control múltiple de procesos


secuenciales dentro de una única sección de programa barrida.

Para usar registros en la parte condicional de una sentencia:

IF R51 Si el contenido del registro 51


= V111) Es igual a 111
AND T7 Y el timer 7 está corriendo
AND R3 Y el registro 3 es menor que
< R8) El registro 8
THEN... Hacer lo programado...

Para usar registros en la parte ejecutiva de una sentencia:

IF Condiciones programadas
THEN LOAD R12 Load el contenido del registro 12 al MBA
+ R50 Sumar el contenido del registro 50
TO 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 para


los controladores programables de Festo®.

Las flag words son, de muchas formas, casi idénticas a los registros. Las flag words
contienen, cada una, unidades de 16 bits de información. Dentro del lenguaje STL se
Si el modelo del controlador usa la abreviatura FW.
que usted está usando in-
cluye memoria del tipo Los flag words son capaces de almacenar datos numéricos dentro del rango:
FLASHRAM o ZPRAM, o en
su defecto batería de res- • 0 - 65535 enteros sin signo
paldo, el contenido será
• +/- 32767 enteros con signo.

mantenido durante los pe-


Los flag words difieren de otros operandos multibit en varias formas importantes:
ríodos de corte o interrup-
ción de la alimentación de La mayor diferencia entre flags y otros operandos multibit tales como registros, counter
energía. Aquellos flags que words, etc., es que cada 16 Bit Flag Word es también direccionable de a un bit (Por
nunca hayan sido inicializa- ejemplo, el FPC100 contiene 16 flag words, direccionadas como FWO a FWI 5).
dos contendrán valores
aleatorios. Es también posible direccionar bits individuales –flags– de cada flag word, mediante
la siguiente sintaxis:

F(número de Flag Word), número de BIT

Donde el número de bit varía entre 0 y 15.


(Por ejemplo, F7.14 hace referencia al bit 14 del flag 7)

Este esquema de direccionamiento es muy similar al usado cuando se accede a


puntos de entrada/salida (I/O) digitales, como ya hemos descripto.
116
INET / Fluídica y controladores lógicos programables

Mientras que los flag words pueden usarse con cualesquiera instrucciones STL para
operandos multibit, los flags individuales son sólo accesibles usando instrucciones
STL diseñadas para operandos de bit.

Los flags de bit único son, a menudo, usados como medio conveniente para memo-
rizar eventos. En este aspecto son similares a “bobinas internas o relés” encontrados
a menudo en el diagrama escalera (Ladder Diagram).

El FPC405, que soporta múltiples módulos de CPU (multiprocesamiento), permite


que cualquier programa en cualquiera de las CPU acceda a los flags de FWO a FW23
(FW externa) desde cualquiera otra CPU. Esto es, cada CPU es capaz de leer desde
o escribir a los flags de cualquier otra CPU.

Por lo tanto, los flags pueden dar un medio conveniente para implementar 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, extendiendo


la sintaxis de la dirección:

CPU número. F(número de flag word).Bit número


(Por ejemplo, F0, 11.9 se refiere al flag bit 9 en la flag word
11 localizada en la CPU 0)

Flags individuales (así como también flag words) pueden programarse tanto en la parte
condicional como en la ejecutiva de una sentencia. En la parte condicional, los flags
pueden ser interrogados por sus estados (0 = RESET, 1 = SET); mientras que los flags
words pueden ser comparadas a valores u otros MBO’s –multibit operandos–.

Consideremos el modo de programación en la parte condicional:

IF F1.1 Si el Bit 1 de la flag word 1 es SET


IF F2.1 Si el Bit 1 de la flag word 2 es SET
AND 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 combinarse
con otros operandos:

IF I3.0 Si input 3.0 es válida


AND F0.0) y flag 0.0 es SET
OR (( 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 entonces


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

INET / Fluídica y controladores lógicos programables


THEN
SET F3.3 SET Flag 3.3 de modo que otra CPU pueda
verificar el estado de T6
OTHRW RESET F3.3

En la parte ejecutiva de las sentencias, los flag words pueden usarse como la fuente o
destino de cualquier instrucción multibit.

Como los flags puedan direccionarse sobre la estructura de una word, así como
desde el punto de vista de una estructura de bits, éstos resultan como un medio
conveniente para construir registros de desplazamiento –shifl registers–-.

Supongamos que es necesario programar una línea de maquinado en la cual filas de


moldes sean cargadas en la estación 0 y, a continuación, varias operaciones deban
ser llevadas a cabo a lo largo de las siguientes 15 estaciones. La máquina completa
cicla cada 2 segundos y durante ese tiempo una nueva fila de moldes puede o no ser
cargada en la estación 1..., lo que puede verificarse por medio de un sensor.

Las estaciones 1-15 no incluyen sensores, pero se requiere que la estación opere
solamente cuando haya una parte en el lugar.

Esto presenta una situación ideal para usar un registro de desplazamiento.

Usaremos flag word 6 para tener el seguimiento de cuáles son las estaciones que
contienen materiales a ser maquinados. La instrucción SHL –Shifl Left–; desplazar a la
izquierda– se usará para mover realmente los bits individuales dentro del flag word.

Se usarán las siguientes I/O:

Input 1.0 Botón de marcha


Input 1.1 Sensor de partes en la estación 0
Input 2.2 Se indexa línea transfer
Output 2.0 lndexa línea de maquinado
Outputs 1.0 – 1.15 Controla la operación de maquinado
en las estaciones 0-15, respectivamente

STEP 10 Arranque
IF I1.0 Botón de arranque
THEN
AND
LOAD
I2.2
V200 La línea es indexada 2 segundos
TO TPO a la preselección timer 0
LOAD V0 Supone nueva producción corriendo
TO FW6 No partes en ninguna estación

STEP 15 Esperar hasta que algunas partes estén listas


IF I1.1 Parte fue encontrada en estación 0
THEN SET F6.0 Memorizarlo
IF (FW6 ¿Alguna parte para procesar?
> V0 ) ¡Algo existe!
118
INET / Fluídica y controladores lógicos programables

THEN LOAD FW6


TO OW1 Arrancar motor en estaciones con partes
SET T0 Arrancar timer proceso

STEP 20 ¿Timer de maquinado hecho?


IF N T0 Tiempo terminado
THEN LOAD V0 Apagar todos los motores de la estación
SET O2.0 Arrancar línea indexado

STEP 25 Esperar hasta que el index arranque


IF N I2.2 Arrancado al index
THEN LOAD FW6 Obtener el estado todas estacionas
SHL Mover bits para adaptar partes
TO FW6 Y almacenarlo

STEP 30 ¿Está completo el index?


IF I2.2 Nuevo punto de index
THEN 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 controladores


y pueden manejarse de diferentes formas, dependiendo del modelo de controlador.

• Entradas / salidas analógicas:

Contrariamente a las entradas / salidas digitales (1 o 0), las señales analógicas toman
la forma de una señal variable continuamente dentro de un rango predefinido.

Ya que la CPU sólo es capaz de funcionar internamente usando señales digitales,


conectar un PLC a entradas analógicas o salidas analógicas requiere componentes
de hardware especial.

Hay varios rangos o tipos de señales analógicas que son populares en el control
industrial. Si excluimos señales analógicas especializadas del tipo relacionado al control
de temperatura, los rangos comunes que quedan son:

• +/- 10 volts
• 0/4 a 20 miliamperes de corriente

Para que las entradas y salidas analógicas sean útiles, el software de programación
debe suministrar los medios de llevar a cabo las funciones deseadas.

Las funciones analógicas básicas usadas en control industrial incluyen:


119

INET / Fluídica y controladores lógicos programables


• Setear un nivel analógico de salida basado en un valor digital
• Convertir una señal de entrada analógica en un valor digital

Para efectuar estas funciones dentro del lenguaje de programación del PLC usado, en
general, se integran procedimientos especializados CFM o FN6.

• Redes:

Una red es típicamente empleada para conectar varios elementos de un sistema de


Redes procesamiento distribuido en el cual cada subsistema controla una específica sec-
En el contexto de este mate- ción, física o lógica, de la tarea total.
rial de capacitación y del len-
guaje STL, se refiere al El uso de una red facilita a estas secciones combinarse de una manera ordenada. Sin
hardware y software que importar el lenguaje de programación a ser usado, para implementar la red se requie-
proporcionan los medios
re hardware especializado así como software de red.
para interconectar sistemas
Dependiendo del modelo de controlador, el hardware especializado puede tomar la
de control que, de otra for-
forma de un procesador de red o un módulo que contiene las rutinas especializadas
ma, serían unidades inde-
de software que pueden ser direccionadas por el lenguaje STL.
pendientes.

Las funciones típicas que deben ser llevadas a cabo en una red incluyen:

• Inicializar estaciones de red.


• Requerir a otra estación ejecutar un comando.
• Gerenciar transmisiones de red.

La interfase entre el lenguaje STL y el software especializado de red es efectuada


mediante la instrucción CFM.

• Control de posicionamiento:

Puede ser necesario controlar rápidamente y con precisión la posición de compo-


nentes mecánicos como partes de un sistema de control. Tales movimientos son
llevados a cabo, generalmente, usando varios tipos de motores, dependiendo de los
requerimientos de:

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

Diversos tipos de motores están disponibles. Estas elecciones incluyen motores de


pasos y servomotores, así como motores de múltiple velocidad, los que pueden
incorporar componentes de frenado. Variaciones adicionales pueden o no incorpo-
rar control a lazo cerrado.

Las más precisas (y costosas) soluciones tales como servomotores, incorporan


microprocesadores dedicados; mientras que soluciones menos sofisticadas pueden
confiar en la velocidad e inteligencia del controlador programable.

6
La información general sobre los CFM –Call Function Module– puede ser leida en los manuales
técnicos de cada Controlador Lógico Programable, puesto que, de acuerdo con la marca y modelo de
cada PLC, éstas trabajan de manera distinta.
120
INET / Fluídica y controladores lógicos programables

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ámetros
de la estructura de un bus serie de alta velocidad.

Debe hacerse una diferenciación entre los elementos que forman la estructura del bus
interna del controlador y el sistema de field bus.

Las I/O estándar están conectadas de forma muy cercana, tanto eléctrica como física-
mente a la estructura de bus paralela interna del controlador.

Mientras que esta estructura provee accesos de alta velocidad, su naturaleza pone
límites al hardware en cuanto al número de I/O únicas direccionables posibles.

El concepto de field bus utiliza el antes mencionado bus serie para unir una estación
maestra –Master– y múltiples estaciones esclavas, a velocidades de transmisión 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 al


usar un par de cables trenzados para la conexión del bus, hacen que el concepto de
field bus se vuelva realmente atractivo.

Inputs y outputs localizadas en las estaciones esclavas del field bus pueden ser inte-
rrogadas y controladas por la estación field bus master. El lenguaje STL permite
acceder a estas I/O usando las mismas instrucciones SET y RESET que usan las I/O
estándar ubicadas físicamente en el controlador

Para acomodar la configuración extendida usando el field bus, la sintaxis de instruc-


ciones I/O debe también ser extendida. Inputs y outputs son, por lo tanto, direccionadas
de la siguiente forma:

• Ipa[,m.s] para lnputs


• Opa[.m.s] para Outputs

Donde:

P = Dirección de sistema del procesador master del field bus


A = Dirección estación esclava de field bus [1... 99]
M = Dirección de modulo opcional [0... 15]
S = Número de terminal opcional [0...15]

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

INET / Fluídica y controladores lógicos programables


Programas de ejemplo

Aquí presentamos algunos ejemplos de problemas de control y soluciones usando el


lenguaje STL. Los ejemplos planteados son generales, para que puedan resultar ú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 varias


secuencias de control simultáneamente.

• Ejemplo 1. Completamente secuencial:

Las tareas completamente secuenciales son especialmente aptas para el lenguaje


STL a causa de la estructura implícita del step.

La tarea secuencial consiste en controlar 3 cilindros neumáticos por medio de 3


válvulas solenoide 3/2, en una secuencia definida.

Cuando se aplica alimentación de energía al sistema y el botón de arranque es 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 y
esperan la presión del botón de arranque.

Se utilizan las siguientes conexiones:

Input 1.0 Botón de arranque


Lnput 1.1 Cilindro A retraído
Lnput 1.2 Cilindro A extendido
Lnput 1.3 Cilindro B retraído
Lnput 1.4 Cilindro B extendido
Lnput 1.5 Cilindro C retraído
Lnput 1.6 Cilindro C extendido
Output 1.0 Cilindro A extendido (solenoide)
Output 1.1 Cilindro B extendido (solenoide)
Output 1.2 Cilindro C extendido (solenoide)
122
INET / Fluídica y controladores lógicos programables

Resolución:

STEP 1 Inicialización en el arranque


IF NOP Hacer siempre esto
THEN LOAD V0 Incondicionalmente apagar todas las
TO OW1 Outputs
LOAD V300 Preparar timer 0 para 3 segundos
TO TP0 Unidades = 0.01 segundos
LOAD V4 Preparar counter 2
TO CP2

STEP 5 Asegurarse todas las posiciones ok


IF I1.0 Botón arranque presionado
AND I1.1 Cilindro A está retraído
AND I1.3 Cilindro B está retraído
AND 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 extendido
THEN SET T0 Arrancar timer 3 segundos

STEP 12 Esperar 3 segundos


IF N T0 Si timer completó tiempo
THEN RESET O1.0 Comenzar retraer cilindro A

STEP 15 Cilindro A, ¿completamente retraído?


IF I1.1 Cilindro A está retraído
THEN 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 extendido
THEN 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 terminado
THEN SET O1.1 Comenzar a extender cilindro B
JMP TO 20 Ciclos continuos
IF I1.3 Cilindro B retraído y 4
AND N C2 Carreras hechas
THEN SET O1.1 Comenzar a extender cilindro B

STEP 30 Cilindro B, ¿completamente extendido?


IF I1.4 Cilindro B completamente extendido 5 x
THEN SET O1.2 Comenzar extendiendo cilindro C

STEP 35 Cilindro C, ¿completamente extendido?


IF I1.6 Cilindro C completamente extendido
THEN SET O1.0 Comenzar extendiendo cilindro A
123

INET / Fluídica y controladores lógicos programables


STEP 40 ¿Todos cilindros extendidos?
IF I1.2 Cilindro A completamente extendido también
THEN RESET O1.0 Retraer Cilindro A
RESET O1.1 Retraer Cilindro B
RESET O1.2 Retraer Cilindro C
JMP TO 5 Volver al Step 5

• Ejemplo 2. Mayormente secuencial con eventos aleatorios:

Mientras que algunas máquinas simples pueden ser completamente secuenciales en


la operación, existen una o más excepciones que cambian la clasificación de las
tareas, de modo de no ser ésta totalmente secuencial.

Si la mayoría de las tareas de control fuera secuencial y el modelo del controlador


lógico permitiese multitarea, una solución posible es la de dividir la parte secuencial
y los procesos de procesamiento aleatorio en programas separados. Sin embargo,
es posible manejar esas situaciones con un único programa STL.

Si el evento aleatorio o los eventos aleatorios a ser monitoreados son pocos y el


balanceo de los programas es relativamente simple, entonces podrían manejarse los
requerimientos adicionando una sentencia de programa en cada step8.

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

Resolución:

STEP 1 Inicialización en el arranque


IF NOP Hacer siempre esto
THEN LOAD V0 Incondicionalmente apagar todas las
TO OW1 Outputs
LOAD V300 Preparar timer 0 para 3 segundos
TO TP0 Unidades = 0.01 segundos
LOAD V4 Preparar Counter 2
TO CP2

STEP 5 Asegurarse todas las posiciones ok


IF I1.0 Botón arranque presionado
AND I1.1 Cilindro A está retraído
AND I1.3 Cilindro B está retraído
AND I1.5 Cilindro C está retraído
AND N I1.7 Botón de pausa no activo
THEN SET Ol.0 Comenzar extendiendo cilindro A

8
Otras posibles soluciones incluyen el uso de procesamiento por interrupciones (sólo soportada en
algunos controladores) o construyendo la secuencia entera como una sección de programa en
paralelo (barrido). Retomaremos esta resolución en el ejemplo 3.
124
INET / Fluídica y controladores lógicos programables

STEP 10 Cilindro A, ¿completamente extendido?


IF I1.7 Botón de pausa
THEN JMP TO 10 Si es así, quedarse acá
IF I1.2 Ahora completamente extendido
THEN SET T0 Arrancar timer 3 segundos

STEP 12 Esperar 3 segundos


IF I1.7 Botón de pausa
THEN JMP TO 12 Si es así, quedarse acá
IF N T0 Si timer completó tiempo
THEN RESET O1.0 Comenzar retraer cilindro A

STEP 15 Cilindro A, ¿completamente retraído?


IF I1.7 Botón de pausa
THEN JMP TO 15 Si es así, quedarse acá
IF I1.1 Cilindro A está retraído
THEN 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 pausa
THEN JMP TO 20 Si es así, quedarse acá
IF I1.4 Ahora está completamente extendido
THEN INC CW2 Contar este ciclo
RESET O1.1 Comenzar retraer cilindro B

STEP 22 ¿Es ésta la 4° extensión ?


IF I1.7 Botón de pausa
THEN JMP TO 22 Si es así, quedarse acá
IF I1.3 Cilindro B retraído y 4
AND C2 Carreras no terminado
THEN SET O1.1 Comenzar a extender cilindro B
JMP TO 20 Ciclos continuos
IF I1.3 Cilindro B retraído y 4
AND N C2 Carreras hechas
THEN SET O1.1 Comenzar a extender cilindro B

STEP 30 Cilindro B, ¿completamente extendido?


IF I1.7 Botón de pausa
THEN JMP TO 30 Si es así, quedarse acá
IF I1.4 Cilindro B completamente extendido 5 x
THEN SET O1.2 Comenzar extendiendo cilindro C

STEP 35 Cilindro C, ¿completamente extendido?


IF I1.7 Botón de pausa
THEN JMP TO 35 Si es así, quedarse acá
IF I1.6 Cilindro C completamente extendido
THEN SET O1.0 Comenzar extendiendo cilindro A

STEP 40 ¿Todos cilindros extendidos?


IF I1.7 Botón de pausa
THEN JMP TO 40 Si es así, quedarse acá
IF I1.2 Cilindro A completamente extendido también
125

INET / Fluídica y controladores lógicos programables


THEN RESET O1.0 Retraer Cilindro A
RESET O1.1 Retraer Cilindro B
RESET O1.2 Retraer Cilindro C
JMP 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 ya


que las operaciones pueden surgir en un orden totalmente aleatorio.

Un ejemplo típico de una situación así podría ser el control de la programación de


puesta a punto –setup– de una máquina cualquiera. La operación es definida por el
operador de la máquina presionando distintos botones del tipo pulsador, cada uno
de los cuales tiene asignada una función única.

El siguiente programa desarrolla el programa de Setup para una máquina de moldeo


de inyección de plástico.

Resolución:

STEP 10 inicialización
IF NOP Siempre cierto
THEN LOAD V0
TO OW1 Apagar todas outputs

STEP 20 Step de barrido


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

INET / Fluídica y controladores lógicos programables


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

INET / Fluídica y controladores lógicos programables


El empleo del lenguaje GRAFCET para resolver tareas de automatización facilita el
GRAFCET –gráfico de diálogo entre personas con niveles de formación técnica diferente, tanto en el mo-
mando etapa transición– mento del análisis del proceso a automatizar como, posteriormente, en el manteni-
Es un diagrama funcional miento y reparación de averías.
que describe la evolución
del proceso que se preten- El GRAFCET surge en Francia a mediados de los años ’70, debido a la colaboración
de automatizar, indicando entre 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–
las acciones que hay que
y ADEPA –Agencia Nacional para el Desarrollo de la Producción Automatizada–. Ho-
realizar sobre el proceso y
mologado en Francia –NFC–, Alemania –DIN– y, posteriormente, por la Comisión Elec-
qué informaciones las pro-
trotécnica Internacional (norma IEC 848, año 1988) y regulado por la Norma francesa
vocan; partiendo de él se (NF C03-190).
pueden obtener las secuen-
cias que ha de realizar el au- Actualmente es una herramienta imprescindible cuando se trata de automatizar pro-
tómata programable. cesos secuenciales de cierta complejidad con autómatas programables.

A continuación se describen los símbolos normalizados utilizados en el GRAFCET en


lo que hace a:

• etapas y
• condiciones de transición.

• Etapas:

Para representar la evolución de un proceso con GRAFCET, se considera que el pro-


ceso a automatizar y el autómata que se emplea como controlador forman un solo
sistema.

El nexo de unión entre las actuaciones que hay que hacer sobre el proceso (activar un
motor, cerrar una válvula, etc.) y el programa de usuario, cargado en el autómata,
que da origen a aquellas es la etapa.

Por tanto, la representación gráfica de la evolución de un proceso con GRAFCET está


formada por una serie de etapas, y cada una de ellas lleva asociada una o varias
acciones a realizar sobre el proceso.

Las etapas se representan con un cuadrado y un número, o una E con un número


como subíndice; en ambos casos, el número indica el orden que ocupa la etapa
dentro del GRAFCET. Para distinguir el comienzo del GRAFCET, la primera etapa se
representa con un doble cuadrado.

Representación de etapas

Representación de etapas iniciales


130
INET / Fluídica y controladores lógicos programables

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 en


función del resultado de la acción anterior.

En GRAFCET, el proceso se descompone en una serie de etapas que son activadas


una tras otra. Por tanto, tiene que existir una condición que se ha de cumplir para
pasar de una a otra etapa; se la llama condición de transición –CT–.

En la figura se representan dos etapas y una condición de transición entre ellas. Para
que el proceso evolucione de la etapa 4 a la etapa 5, es necesario que la etapa 4 esté
activa y, además, que se cumpla la activación de la condición CT; entonces, se 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 la
etapa 5 se desactiva la etapa 4. La condición de transición está siempre asociada a la
etapa posterior –en este caso, a la 5–.

La condición de transición puede ser una o varias de las variables que intervienen en
el proceso (por ejemplo, una señal de un final de carrera, la activación de un motor,
un tiempo, etc.)

Para la condición de transición se emplea lógica positiva y podemos tomar los dos
valores CT=1 y CT=0; a continuación se indican algunos ejemplos.
131

INET / Fluídica y controladores lógicos programables


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

Podemos resumir una serie de reglas básicas que hay que tener en cuenta para 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 de
obtener las ecuaciones se basa en el funcionamiento de un controlador asíncrono
con biestables R-S.

Suponiendo que el biestable


E N-1 tiene su salida Q a “1”, la
etapa E N-1 está activa. Si, pos-
teriormente, la condición de
transición de la etapa E N se
activa, la etapa E N se activará
y se desactivará la etapa E N-1.
Para desactivar la etapa E N y
activar la etapa E N +1, es ne-
cesario activar la condición de
transición E N +1. Mientras las
etapas están activas (Q = 1),
las acciones que llevan asocia-
das también lo están.
132
INET / Fluídica y controladores lógicos programables

Consideraremos, a continuación:

• Instrucciones Set y RESET.


• Elección condicional entre varias secuencias.
• Secuencias simultáneas.
• Salto condicional a otra etapa.

• Instrucciones SET y RESET:

Para utilizar este sistema en el GRAFCET, se asocia a cada una de las etapas una
variable interna. La condición de transición, situada entre dos etapas, es la 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 a
cada una de las etapas del GRAFCET.

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

Cuando la entrada 1 del autómata se activa, la instrucción SET activará el relé interno
R1 que permanecerá activado aunque se desactive la entrada 1; para desactivarlo será
necesario emplear una instrucción RESET con otra entrada distinta; cuando se active la
entrada 2, R1 se desactivará hasta que, de nuevo, se utilice la entrada 1 para activarlo.

En GRAFCET este tipo de instrucciones se utiliza de forma tal que es la condición de


transición la que al cumplirse activa la etapa posterior y desactiva la etapa anterior.
133

INET / Fluídica y controladores lógicos programables


En la figura se representa un ciclo de GRAFCET, y las ecuaciones que permiten la
activación y desactivación de la etapa En:

• para activarla se realiza la función AND entre la etapa anterior y la condición de


transición asociada a En;
• para desactivarla se realiza la función AND entre la propia En y la condición de
transición asociada a la etapa posterior

Para que comience a ejecutarse el GRAFCET es necesario activar la etapa E0. Esto
puede hacerse de varias formas:

• Primera forma. En el ciclo actual del autómata, anulamos la ultima etapa acti-
va; y, si todas las etapas están desactivadas, en el próximo ciclo se activa
inicialmente E0.

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


desactivamos la última etapa activa.

• Tercera forma. Muchos autómatas tienen una serie de variables internas espe-
cíficas; la más común es el impulso inicial al pasar a modo RUN; PI. Este
impulso inicial, en la mayoría de tos autómatas, permanece activo durante el
primer ciclo.
134
INET / Fluídica y controladores lógicos programables

Cualquiera de las tres formas para activar la etapa E0 es válida. El empleo de una de
ellas en concreto es función del proceso que se pretende automatizar y del autómata
que se utilice.

• Elección condicional entre varias secuencias:

Suele ocurrir que, en un proceso, se llegue a un punto del ciclo en el que hay que
efectuar una elección entre varias secuencias posibles, en función de las variables que
intervienen en el proceso.

Las ecuaciones para el inicio de sentencia condicionales son:


135

INET / Fluídica y controladores lógicos programables


Partiendo de la etapa E4 activada, se puede realizar solamente una de las dos secuencias:

• Si se cumple la transición A se activará la etapa E5.


• Si se cumple la transición A negada, se activará la etapa E6.

La transición condicional implica que sólo una de las etapas posteriores se activará.
Por tanto, la condición de transición asociada a la etapa 4 tiene que ser opuesta a la
condición de transición asociada a la etapa E5. La primera de las condiciones de
transición que se cumpla, desactiva la etapa 3.

El final de dos secuencias condicionadas se produce cuando una de las dos 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 se
desactivará la E7 o la E15.

• Secuencias simultáneas:

Puede darse el caso de que sea necesario el desarrollo de más de una secuencia a la
vez, cuyas etapas no tengan ninguna interrelación. Para poder representar este fun-
cionamiento simultáneo, se utiliza un par de trazos paralelos que indican el principio
y el final de estas secuencias.
136
INET / Fluídica y controladores lógicos programables

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

El comienzo de las dos secuencias simultáneas se produce cuando se cumple la


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

El final de las sentencias simultáneas:

• Salto condicional a otra etapa:

El salto condicional a otra etapa permite pasar de una etapa a otra sin activar las
etapas intermedias. El salto condicional se puede hacer tanto en el sentido de evolu-
ción del GRAFCET como en el sentido inverso. El sentido del salto viene indicado por
las flechas:
INET / Fluídica y controladores lógicos programables
137
138
INET / Fluídica y controladores lógicos programables

Acciones asociadas a las etapas

Una vez que la etapa está activa, las acciones asociadas pueden activarse con las
correspondiente ecuaciones. Hay varias posibilidades:
Para que la acción se active
- Acciones activas. Mientras está activa la etapa activa, la bomba está activa es necesario que la condi-
mientras E9 está activa. ción y la etapa estén activas
- Acciones condicionadas por una variable. El motor 2 se activará si E9 está conjuntamente.
activa y han transcurrido 5 seg. desde que se activó el temporizador T0 en la
etapa E0.
- Acciones activadas en una etapa y desactivadas en otra posterior. El motor
2 se activa al activarse E4, y permanece activo hasta que se active la etapa E9,
que lo desactiva.
- Etapas que no llevan asociada ninguna acción.

Por lo general, la etapa E0 no lleva asociada ninguna acción; sólo se emplea para
iniciar el ciclo una vez que ha sido activada.

Cuando se realizan dos secuencias simultáneas, es posible que el tiempo que cada
una de estas secuencias tarda en realizarse sea distinto, en función del número de
tareas asociadas a las etapas, en función de cuándo se activen las condiciones de
transición, etc.

Para terminar dos secuencias simultáneas es necesario que las etapas últimas de
cada una de ellas estén activas; una o las dos pueden ser etapas de espera para que
la secuencia más rápida aguarde el final de la secuencia más lenta.
139

INET / Fluídica y controladores lógicos programables


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

Programas del usuario

Primeramente, analizamos los datos que nos proporcionan las especificaciones 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, por
ejemplo, las condiciones de emergencia (alarmas de fallos, relés térmicos,
etc.)–. Con las variables utilizadas en este apartado se implementan las
ecuaciones necesarias para obtener, en caso de funcionamiento correcto, la
señal que active la primera etapa del GRAFCET. En algunos casos, el apartado
“condiciones iniciales” no existe o está formado por una sola variable, depen-
diendo del grado de seguridad que se quiera tener sobre el funcionamiento del
proceso.

2. GRAFCET. En este apartado se representan las secuencias que ha de realizar


el proceso y las ecuaciones necesarias para activar las etapas en función de las
condiciones de transición. Las condiciones de transición están formadas por
las señales proporcionadas por los sensores a las entradas del autómata y por
las variables internas asociadas a otras etapas anteriores.

3. La asignación de variables de etapa del GRAFCET a las salidas del PLC.


Las acciones que han de realizar las etapas del GRAFCET sobre el proceso a
controlar se asignan a las salidas del autómata, de forma que pueda existir una
conexión física entre el sistema de control y el proceso a controlar.

Comprobados y depurados los tres apartados, el paso siguiente es el de realizar la


asignación de las variables que intervienen en el proceso a las entradas, salidas y
variables internas del autómata concreto que se va a utilizar.

Empleando uno de los lenguajes de programación disponibles, esquema de contac-


tos o lista de instrucciones, introducimos las ecuaciones que hemos obtenido en los
tres apartados.

Cuando se transfiera el programa al autómata y se active el modo RUN, el ciclo que


realiza constantemente es:
140
INET / Fluídica y controladores lógicos programables

Lectura de variables

Condiciones iniciales

GRAFCET
Programa del usuario

Asignación de etapas de
GRAFCET a las salidas

Actualización de variables

Consideremos algunos ejemplos:

Vamos a representar la secuencia de operación de una prensa destinada a la fabrica-


ción de piezas a partir de polvos metálicos.
141

INET / Fluídica y controladores lógicos programables

• La colocación del material está asegurada manualmente por el operador. Un


indicador luminoso V está encendido durante todo el curso de la colocación.
Terminada aquélla, el operador autoriza la continuación de las operaciones,
presionando dos pulsadores simultáneamente.

• Los movimientos del punzón superior y de la matriz son efectuados por cilin-
dros hidráulicos de doble efecto. Las posiciones alta y baja del punzón y de la
matriz son controladas con la ayuda de captadores de fin de carrera (respecti-
vamente a0 y a1, b1 y b0) de naturaleza eléctrica.
142
INET / Fluídica y controladores lógicos programables

• La evacuación de la pieza es obtenida por medio de un chorro de aire, con una


duración de un segundo. Este chorro de aire está comandado por una
electroválvula E.

• Ejercicio 1:

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

Entradas:
PM= I 300
FC3= (b0) I 100
FC4= (b1) I 101
FC5= (co) I 102
FC6= (c1) I 200
FC7= (do) I 201
FC8= (d1) I 0

Salidas:
EVB = O0
EVC = O1
EVD = O 100

Solución:
Tipo de PLC PRX 20
Tiempo de Scan 30000 µs
Base de tiempo TMR 00 a 15 0,1 seg.
Base de tiempo TMR 16 a 31 0,1 seg.

00 INI Inicialización
01
02 LD H 0707
03 INI WG00 Gracet 00
04
05 LD H 0707
06 INI Z02 Entradas
07
08 LD H 0707
09 INI Z03 Salidas
10
11
12
13 TRANS Transiciones
14
15 LD I 0102 c0 = Vástago retraído cil. C
16 AND I 0100 b0 = Vástago retraído cil. B
17 AND I 0201 d0 = Vástago retraído cil. D
18 AND I 0300 PM = Pulsador de marcha
19 STR UO000
20
143

INET / Fluídica y controladores lógicos programables


21 LD I 0200 c1 = Vástago afuera cil. C
22 AND I 0300 PM = Pulsador de marcha
23 STR UO001
24
25 LD I 0200 b1 = Vástago afuera cil. B
26 AND I 0300 PM = Pulsador de marcha
27 STR UO002
28
29 LD I 0000 d1 = Vástago afuera cil. D
30 AND I 0300 PM = Pulsador de marcha
31 STR UO003
32
33 LD I 0100 b0 = Vástago retraído cil. B
34 AND I 0300 PM = Pulsador de marcha
35 STR UO004
36
37 LD I 0102 c0 = Vástago retraído cil. C
38 AND I 0300 PM = Pulsador de marcha
39 STR UO005
40
41
42
43 GRAFCET
44
45 IST G0000
46 TR U0000 c0 b0 d0 PM
47 STP G0001 C+
48 TR U0001 PM c1
49 STP G0002 B+
50 TR U0002 PM b1
51 STP G0003 D+
52 TR U0003 PM d1
53 STP G0004 B-
54 TR U0004 PM b0
55 STP G0005 C-
56 TR U0005 PM c0
57 STP G0006 D-
58 TR I 0000 d0
59 JP G0000
60
61 SALIDAS
62
63 LD G0001
64 LD G0002
65 LD G0003
66 LD G0004
67 STR O0000 C+
68
69 LD G0003
70 LD G0004
71 STR O0000 B+
72
73 LD G0003
74 LD G0004
144
INET / Fluídica y controladores lógicos programables

75 LD G0005
76 STR O0100 D+
77
78 END

• Ejercicio 2:

A partir del planteo del ejercicio 1, introducimos la variante de elección del tipo de
ciclo mediante la llave 0-1-2, donde:

• 0 = avance paso a paso,


• 1 = ciclo simple y
• 2 = ciclo automático.

El pulsador de parada PP permite detener la secuencia, reanudándose ésta al oprimirse


otra vez el pulsador de marcha PM.

Entradas adicionales:
LLO = (paso a paso) No conectada
LL1 = (ciclo simple) I 202
LL2 = (ciclo automático) I 700
PP = I 301

Solución:
Tipo de PLC PRX 20
Tiempo de Scan 30000 µs
Base de tiempo TMR 00 a 15 0,1 seg.
Base de tiempo TMR 16 a 31 0,1 seg.

00 INI Inicialización
01
02 LD H 0707
03 INI WG00 Gracet 00
04
05 LD H 0707
06 INI Z02 Entradas
07
08 LD H 0707
09 INI Z03 Salidas
10
11 TRANS Transiciones
12
13 LD I 0102 c0 = Vástago retraído cil. C
14 AND I 0100 b0 = Vástago retraído cil. B
15 AND I 0201 d0 = Vástago retraído cil. D
16 INT I 0300 PM = Pulsador de marcha
17 OR U1000
18 STR UO000
19
20 LD I 0200 c1 = Vástago afuera cil. C
21 INT I 0300 PM = Pulsador de marcha
22 OR U1000
23 STR UO001
145

INET / Fluídica y controladores lógicos programables


24
25 LD I 0200 b1 = Vástago afuera cil. B
26 AND I 0300 PM = Pulsador de marcha
27 STR UO002
28
29 LD I 0101 d1 = Vástago afuera cil. D
30 INT I 0300 PM = Pulsador de marcha
31 OR U1000
32 STR UO003
33
34 LD I 0000 b0 = Vástago retraído cil. B
35 INT I 0300 PM = Pulsador de marcha
36 OR U1000
37 STR UO004
38
39 LD I 0002 c0 = Vástago retraído cil. C
40 INT I 0300 PM = Pulsador de marcha
41 OR U1000
42 STR UO005
43
44 LD I 0300 PM = Pulsador de marcha
45 INT I 0202 LL1 = ciclo simple
46 OR I 0700 LL2 = automático
47 STR U1000
48
49 LD I 0300
50 AND I 0202
51 AND I 0700
52 LD I 0301 PP = Pulsador de parada
53 LD I 0302 No = LL1
54 AND I 0300 No = LL2
55 PUT U1000
56
57
58
59
60
61
62 GRAFCET
63
64 IST G0000
65 TR U0000 c0 b0 d0 (PM + U1000)
66 STP G0001 C+
67 TR U0001 (PM + LL1 +LL2) c1
68 STP G0002 B+
69 TR U0002 (PM + LL1 +LL2) b1
70 STP G0003 D+
71 TR U0003 (PM + LL1 +LL2) d1
72 STP G0004 B-
73 TR U0004 (PM + LL1 +LL2) b0
74 STP G0005 C-
75 TR U0005 (PM + LL1 +LL2) c0
76 STP G0006 D-
146
INET / Fluídica y controladores lógicos programables

77 TR I 0201 d0
78 JP G0000
79
80
81
82 SALIDAS
83
84 LD G0001
85 LD G0002
86 LD G0003
87 LD G0004
88 STR O0001 C+
89
90 LD G0002
91 LD G0003
92 STR O0000 B+
93
94 LD G0003
95 LD G0004
96 LD G0005
97 STR O0100 D+
98
99 END

Das könnte Ihnen auch gefallen