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
Especialista en contenidos
• Norberto Molinari
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
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
Acorde con esta misión, el CeNET tiene como propósitos los de:
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.
• 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
También nos ocupa la tarea de producir materiales didácticos. Desde CeNET he-
mos desarrollado cinco series de publicaciones:
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.
Para que usted avance en esta dirección, desde Controladores lógicos programables
–PLC– nos proponemos que logre:
El problema
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 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.
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.
FAMILIA
TIPO SUBFAMILIA ESPECÍFICA
LÓGICA
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
Campo de aplicación
• 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.
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.
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
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
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
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:
a) Estructura externa
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:
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.
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
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.
• 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
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.
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
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 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:
• 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.
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.
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:
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:
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.
• libres de tensión,
• corriente continua,
• corriente alterna.
22
INET / Fluídica y controladores lógicos programables
• analógicas y
• digitales.
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
• 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.
• 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.
Actividad 1
Integración de “Controladores lógicos programables”
INICIO
PUESTA EN
MARCHA
PROGRAMACIÓN
CONEXIONADO
DE IN / OUT
INSTALACIÓN.
PUESTA A PUNTO
FIN
1. Puesta en marcha
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
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:
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.
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.
• 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
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.
• Salidas a transistores.
• Salidas a relés.
• 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
Cuando las cargas son del tipo resistivo, no es necesario acoplar circuito alguno.
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:
Dos son las posibilidades de conexión de los contactos de los relés térmicos de
protección contra sobreintensidades:
Las ventajas e inconvenientes que presentan ambas posibilidades son las siguientes:
Las posibilidades que nos ofrecen los relés térmicos son dos:
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.
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.
• 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.
• 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.
4.1. Instalación
Una correcta instalación de los PLC implica, necesariamente, tener en cuenta factores
como:
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.
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.
• 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:
Field (campo)
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:
Ya hemos analizado qué elementos de E/S vamos a conectar a nuestro PLC para la
empresa productora de envases de alumninio.
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?
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”
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
• 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.
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.
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.
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.
Operaciones:
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–).
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
= (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.
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.
Instrucción 1
End
Algunos PLC poseen esta posibilidad, la cual permite reducir el tiempo de ejecución
del ciclo.
47
Instrucción 1
Instrucción U
Instrucción U + 1
Instrucción V
Instrucción V + 1
Fin de programa
End
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
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–.
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:
Diagrama de contactos:
La realización de una buena programación pasa, entre otras cosas, por diseñar co-
rrectamente el diagrama correspondiente.
TERMINAL
TIPO DESCRIPCIÓN
ASIGNADO
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–.
Antes de empezar con los ejemplos prácticos, es necesario tener en cuenta algunas
consideraciones que nos facilitarán la labor de programación:
Lista de instrucciones:
LD IN 1
ANDN IN 2
= OUT 1
END
51
Como la programación
Ladder es del tipo condicio-
nal, no puede haber nunca
una acción si no hay una
condición.
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.
Lista de instrucciones:
LD IN 1
AND IN 2
= OUT 1
END
Lista de instrucciones:
LD IN 1
AND IN 2
= SET OUT 1
LD IN 3
= RTS OUT 1
END
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.
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:
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.
Lista de instrucciones:
LD IN 1
=SET OUT 1
LD IN 2
ANDN IN 1
=RST OUT 1
END
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
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.
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
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
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
Usando timers
En los PLC podremos encontrar una variedad de timers que pueden funcionar como
si fueran eléctricos o electrónicos.
• Retardo en la conexión.
• Retardo en la desconexión.
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.
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.
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
Diagrama de contactos
Lista de instrucciones:
LD IN 2
= TIM 9
LD TIM 9
= OUT 2
END
Con este tipo de sistema logramos realizar el arranque de motores trifásicos con gran
sencillez.
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
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
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.
El rango en que se los puede ajustar varía desde dos a seis dígitos. El seteo del valor
65
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–,
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.
• por nivel o
• por flanco3.
Veamos un ejemplo:
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
Diagrama ladder:
Lista de instrucciones:
LD IN 01
=CSET 01
LD IN 02
= CNT 01 Cuando se trata de conta-
Vamos a referirnos a:
Se adopta, convencionalmente:
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
Se adopta, convencionalmente:
Ejemplos:
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
• 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 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.
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
Un diagrama funcional es una representación gráfica que permite describir las funcio-
nes operativas de un automatismo.
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
Consideremos un ejemplo:
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
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
Cilindro A
0
Cilindro B
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
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
1 2 3 4 5 6 7=1
1
T = 5 seg. T = 5 seg.
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
Actividad 3
Integración de “Introducción a la programación”
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
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
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 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.
Sentencias típicas
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
Más ejemplos:
Hemos usado la instrucción OR para combinar por medio del paréntesis dos condi-
ciones compuestas.
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 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
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–.
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
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:
El lenguaje STL tiene las siguientes instrucciones que permiten resolver, en forma
rápida y sencilla, tareas de control simples y complejas.
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.
• Instrucción NOP:
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.
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
Otra instrucción STL que puede usarse para modificar el flujo de ejecución del progra-
ma es la instrucción JMP.
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.
• 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–.
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:
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
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:
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:
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.
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.
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:
Lo que es equivalente a:
IF I1.5
OR I1.6
OR I1.7
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.
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:
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.
THEN LOAD V0
TO OW2
resulta que en la totalidad de las outputs asociadas con la output word 2 sean
apagadas.
• Usando timers
• Usando counters
• Usando registros
• Usando flags y flags words
Usando timers
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
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
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:
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.
Detener un timer sólo requiere de una instrucción RESET, además de especificar cuál
es el timer que debe detenerse:
• 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 de puntos indica que con una instrucción RESET Tn inmediatamente retorna
el estado del timer a inactivo.
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.
Veamos un ejemplo:
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
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
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 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
Usando counters4
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:
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
Por medio de la instrucción DEB podemos usar llaves externas BCD para establecer
la cuenta.
Arrancar un contador sólo requiere de una instrucción SET y especificar qué counter
debe arrancarse:
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 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 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
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.
Los steps siguientes son los requeridos para usar este tipo de contador:
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
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
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.
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).
Por lo tanto, los flags pueden dar un medio conveniente para implementar comunica-
ciones entre CPU.
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–.
Igual que con los otros operandos monobit o multibit, los flags pueden combinarse
con otros operandos:
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–-.
Las estaciones 1-15 no incluyen sensores, pero se requiere que la estación opere
solamente cuando haya una parte en el lugar.
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.
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
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.
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.
Para efectuar estas funciones dentro del lenguaje de programación del PLC usado, en
general, se integran procedimientos especializados CFM o FN6.
• Redes:
Las funciones típicas que deben ser llevadas a cabo en una red incluyen:
• Control de posicionamiento:
• velocidad,
• precisión,
• efectividad del costo,
• confiabilidad.
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
• 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.
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
Donde:
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
• Completamente secuencial
• Mayormente secuencial con algunos eventos aleatorios
• Completamente aleatorio
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.
Resolución:
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:
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
Resolución:
STEP 10 inicialización
IF NOP Siempre cierto
THEN LOAD V0
TO OW1 Apagar todas outputs
• etapas y
• condiciones de transición.
• Etapas:
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.
Representación de etapas
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:
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
Podemos resumir una serie de reglas básicas que hay que tener en cuenta para apli-
car GRAFCET:
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.
Consideraremos, a continuación:
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.
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.
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.
• 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.
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.
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
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
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
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.
Lectura de variables
Condiciones iniciales
GRAFCET
Programa del usuario
Asignación de etapas de
GRAFCET a las salidas
Actualización de variables
• 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
• 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
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:
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
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