Logo Studenta

Programação Estruturada em PLC

¡Estudia con miles de materiales!

Vista previa del material en texto

Programación estructurada sobre Controladores Programables 
Diseño de Sistemas Lógicos Secuenciales 1 / 8 
Programación estructurada sobre un PLC 
 
 
Objetivos: • Discutir tres métodos estructurados para implementar un esquema de control • Generar un diagrama de estados para un problema de control dado. • Diseñar una red de Petri para un problema de control dado. • Convertir una red de Petri en una diagrama secuencial. • Ventajas y desventajas de la programación estructurada y no-estructurada 
 
Se pretende ver como desarrollar un control secuencial usando métodos estructurados 
en lugar del de prueba y error. Construir un diagrama de estados o una red de Petri 
ayuda al análisis del funcionamiento total de un control y permite dividir un control 
complejo en partes menores, segmentos mas manejables. La depuración de 
programas estructurados es mucho mas facil, debido a que ellos están organizados y 
que el diagrama de estados y la red de Petri proveen ayuda visual. 
 
 
Diagrama de estados 
 
La lógica escalera a menudo es escrita en forma no estructurada lo que se hace dificil 
de analizar y corregir. Esto puede ser remediado mediante un simple enfoque 
estructural llamado diagrama de estados. Un diagrama de estados es una 
representación pictórica, un tipo especial de diagrama de flujo, de un proceso de 
control secuencial que muestra los posibles caminos que el proceso puede tomar y las 
condiciones booleanas necesarias para pasar de un estado al otro. 
 • El primer paso en este enfoque a la programación estructurada es preparar una 
descripción de lo que se necesita hacer. • El segundo paso es trasladar esta descripción a un diagrama de estados, 
determinando los estados únicos a traves de los cuales el proceso avanza. 
Cualquier cambio que se de en las condiciones de salida necesita ser mostrado en 
un nuevo estado. • El tercer paso es conectar estos estados con líneas y flechas para indicar las 
direcciones de cambio deseado. • Finalmente, se agregan las condiciones lógicas, escritas en forma booleana, que 
causan un cambio de un estado a otro. 
 
 
Ejemplo 1: “llave –secuencial-” 
 
Descripción: Diseñar una “llave –secuencial-” que operará un dispositivo por 15 
segundos despues de que tres pulsadores han sido presionados en la secuencia 
correcta. Si se presiona una secuencia incorrecta un aviso de error deberá ser 
activado para prevenir un nuevo intento antes de 10 segundos, luego de los cuales se 
permite un nuevo intento. Si el aviso de error es activado mas de dos veces la llave 
permanecerá bloqueada hasta que un pulsador, para tal fin, lo libere. 
El diagrama de estados para este bloqueo secuencial es dado por la figura 1. 
 
 
Programación estructurada sobre Controladores Programables 
Diseño de Sistemas Lógicos Secuenciales 2 / 8 
Esquema de estados 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Designación Dispositivo Función 
I:00 Pulsador 1 Primera combinación 
I:01 Pulsador 2 Segunda combinación 
I:02 Pulsador 3 Tercera combinación 
I:03 Pulsador 4 Reset 
T1 Temporizador Retardo 10 seg. 
T2 Temporizador Retardo 15 seg. 
C1 Contador Error 
 
 
Regla para la construcción de diagramas de estado: solo un estado puede ser 
activado a la vez. 
Esta regla es asegurada exigiendo que, para habilitar un estado, los restantes estados 
estén inhabilitados. De otra manera podria resultar en un serio conflicto entre estados, 
inseguro para el personal y las maquinaria. 
El control secuencial para la llave descripta en el ejemplo 1 se implementará 
utilizando el método de diagrama de estados. El programa se escribe para cualquiera 
de lo PLCs del Laboratorio. 
 
La estructura en este control resulta facil de seguir, depurar y mantener. La parte mas 
pesada de diseñar es la generación del diagrama de estado. Una vez que él es 
diseñado, el resto es sencillo. Usted podría implementar este mismo control con unos 
pocos relés, pero, dado que la memoria del PLC no es cara, el costo para un programa 
estructurado es mínimo. Las ventajas de un programa estructurado sobre uno no 
estructurado hacen que sea una excelente forma de implementar un control. 
 
Todos los estados deben ser implementados de a uno por vez. Proponemos seguir un 
formato general para programar el esquema en escalera correspondiente a la “Llave –
secuencial-“. 
 
I:00 
I:01 
T1*C1+I:03 
I:00+ I:01 
I:02 
I:00 + I:02 
T2 
I:01 + I:02 
Estado 5: 
Operar 
Estado 4: 
intento 3 
Estado 3: 
intento 2 
Estado 2: 
Listo, 
intento 1
Estado 1: 
Habilitar 
Estado 6: 
Error 
Figura 1: Diagrama de estados para el ejemplo 
“Llave –secuencial-” 
Programación estructurada sobre Controladores Programables 
Diseño de Sistemas Lógicos Secuenciales 3 / 8 
Formato general 
 • Definir un sector de programa para cada estado. • En cada sector • Un primer escalón con las condiciones necesarias para entrar al estado. • Un segundo escalón con las condiciones requeridas para salir del estado. Las 
condiciones lógicas son las listadas sobre las líneas de conexión de estados 
en el diagrama de estados. • Un número de escalones entre el segundo y el último escalón donde se 
programen las acciones a cumplir de acuerdo con los requerimientos de cada 
estado en particular. • Un último escalón que actúa deshabilitando el estado. • La programación debe asegurar que no se pueda entrar a dos estados a la vez. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
FIN DE ZONA 
Saltar a 
FIN DE ZONA 
SALIDA LÓGICA 
Contactos en 
serie y paralelo 
Condiciones requeridas para salir 
del estado 
Programa de acciones a cumplir 
de acuerdo con los 
requerimientos de cada estado en 
Deshabilita el estado 
Condiciones necesarias para 
entrar al estado 
Programación estructurada sobre Controladores Programables 
Diseño de Sistemas Lógicos Secuenciales 4 / 8 
Ejemplo 2: Dos bombas. 
 
Descripción: Un tanque de agua tiene tres sensores, para detectar tres diferentes 
niveles de agua: Lleno, Bajo y Vacío. Hay dos bombas para llenar el tanque: P1 y P2. 
Cuando el control automático es habilitado podría suceder que: 
1. Un tanque, inicialmente vacío, requiere que arranquen las dos bombas, 
hasta que se llena. 
2. Un tanque, inicialmente lleno, o con un nivel de agua entre lleno y bajo, 
mantiene las dos bombas apagadas. 
3. Una condición inicial abajo del nivel bajo, pero no vacío, arranca una de las 
bombas, hasta que el tanque se llena. 
 
Si el tanque se vacía mientras una bomba esta encendida, la otra bomba se arranca y 
ambas permanecen encendidas hasta que el tanque se llena. 
Las bombas son alternadas en cada ciclo de llenado. 
 
Construimos el diagrama de estado. 
Símbolos utilizados en el diagrama de estado 
Sensor de Tanque vacío LSLL 
Sensor de Tanque lleno LSH 
Sensor de bajo nivel LSL 
Relé de cambio de bomba RC 
Bomba 1 B1 
Bomba 2 B2 
Nota: Los sensores producen un contacto cerrado cuando el agua los toca. 
 
LSH 5 
 P1 ⇐ 0 
 P2 ⇐ 1 
RC ⇐ 0
3 
 P1 ⇐ 1 
 P2 ⇐ 1 
Figura 1: Diagrama de estados para el problema de 
las dos bombas 
___ 
LSLL 
4 
P1 ⇐ 1 
 P2 ⇐ 0 
RC ⇐ 1
2 
 P1 ⇐ 0 
 P2 ⇐ 0
1 
 ARRANQUE 
___ 
LSLL 
___ 
LSLL 
___ 
LSH 
LSH
 ___ 
 LSL X LSH X RC 
 ___ 
LSH + LSL X LSH 
 ___ ___ 
 LSLL X LSH X RC 
 ___ 
 LSLL X LSL 
Programación estructurada sobre Controladores Programables 
Diseño de Sistemas Lógicos Secuenciales 5 / 8 
El método de diagramas de estado solo es aplicable si un solo estado es activado por 
vez. Veremos otro método para manejar operaciones en paralelo: Redes de Petri. 
 
Redes de Petri 
Las Redes de Petri fueron empleadas inicialmente en programación de 
computadoras como un método estructurado de diseñar programas, en los cuales, 
procesos en paralelo deben ser efectuados simultaneamente y cada proceso en 
paralelo ha de ser completado en orden a continuar sobre la siguiente porción de 
programa. Un diagrama Petri es una representación pictórica de un proceso de control 
que requiere ramas enparalelo y procesamiento simultaneo. 
El muestra los posibles caminos que el proceso puede tomar, las condiciones 
Booleanas necesarias para pasar de un estado al otro y donde se requiere 
convergencia para continuar. 
 
Un ejemplo de multiples operaciones simultaneas es un proceso de ensamblaje 
automatizado que recibe dos plaquetas de circuitos impresos diferentes en las que 
deben montarse las partes, soldar y completar procesos varios antes de que ellas 
avancen hasta donde deben conectarse con una plaqueta madre. Solo despues que 
las tres plaquetas han sido completadas y conectadas pueden avanzar a una nueva 
ubicación donde serán testeadas automaticamente. 
 
Una Rede de Petri de este proceso puede ser implementada sobre cualquier 
PLC usando un diagrama de estado estructurado para cada estado. Solo el estado 
activo, puede comunicarse con el procesador. 
 
 
Cartas de función secuencial 
Un proceso puede ser programado en un PLC de una manera estructurada 
usando un diagrama de estado para cada estado y registros para mantener las 
condiciones y activar y desactivar estados. Sin embargo si un lenguaje de 
programación estructurada no está disponible, esta toma una gran carga de tiempo y 
programación. 
Hay PLCs que tienen entre sus opciones lenguajes de programación 
estructurada que permiten implementar Petri networks. Estas cartas secuenciales o 
SFC (Sequential Funcion Charts) están hechas para implementar Petri networks. En 
estos no debemos preocuparnos por el control de la programación, dado que está 
completamente automatizado por el SFC. El programa genera la estructura necesaria 
para inmplementar un diagrama de estado, se debe poner la logica necesaria para 
cada estado. 
Una ventaja del SFC es que la exploración -el SCAN- resulta mas eficiente. En 
lugar de recorrer completamente la lógica del programa de control, en SFC, solo la 
lógica para los estados activos es SCANEADA y el resto es pasado por alto. 
La figura muestra el diagrama de Petri implementado usando SFC. 
 
 
 
 
 
 
 
 
 
 
 
 
Programación estructurada sobre Controladores Programables 
Diseño de Sistemas Lógicos Secuenciales 6 / 8 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
AP1+ S2+ M3 
 
PB1 
S1 AM1 
M2 
LS3 LS1 
M1 
LS2 
COMENZAR 
UBICAR PCB1 
SOBRE LA 
MESA 
UBICAR LA 
PLACA MADRE 
SOBRE LA MESA 
UBICAR PCB2 
SOBRE LA 
MESA
MONTAR 
PARTES 
CORTAR Y 
SOLDAR 
APLICAR 
MASCARA DE 
SOLDAR
AJUSTAR 
POTES 
CORTAR Y 
SOLDAR 
MONTAR 
PARTES 
MONTAR 
CONECTORES 
AS1 
ENSAMBLAR 
PCB 1, 2, 3 
FIN 
Figura 10 - Ejemplo Petri Network 
Montaje y ensamble de placas impresas 
Programación estructurada sobre Controladores Programables 
Diseño de Sistemas Lógicos Secuenciales 7 / 8 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
OPERAR 
INICIO 
FIN 
Ejemplo 
 Carta de Función Secuencial 
para la “llave - Secuencial
ERROR INTENTO 3 
ERROR 
ERROR INTENTO 2 
ERROR LISTO 
Programación estructurada sobre Controladores Programables 
Diseño de Sistemas Lógicos Secuenciales 8 / 8 
Resumen 
Hay muchas ventajas en realizar programas de control estructurados por lo que esta 
justificado el tiempo que toma estudiar alguna de sus técnicas. Las dos ventajas obias 
son dividir un control complejo en unidades manejables, mas pequeñas y realizar un 
control mas facil de mantener. Otra ventaja es que nos obliga a documentar que es lo 
que ha sido hecho tal que otros lo puedan comprender. El método de prueba y error 
nos permite hacer el trabajo, pero a menudo resulta laborioso, antieconómico y sin 
documentación, tal que una próxima persona deberá repatir el proceso consumiendo 
nuevamente el mismo tiempo. 
 
Ejercicios: 
1. Hacer un diagrama de estado para el siguiente problema de control: Un operador 
de una máquina requiere, por seguridad, mantener ambas manos lejos de la 
máquina mientras ella trabaja. Para asegurar esto dos pulsadores deben se 
actuados simultaneamente para operarla, a la ves que estarán suificientementa 
apartados para que esto no pueda ser hecho con una sola mano. Luego de pulsar 
ambas botoneras, la maquina interrumpirá el funcionamiento y no operará hasta 
que ambos botones sean liberados y pulsados simultaneamente otra vez. 
2. Para los problemas ejemplo y el ejercicio anterior, realizar: los diagramas de 
estado y los programas estructurados correspondientes, para un determinado PLC. 
Implementarlo y simular su comportamiento. 
3. Enumerar ventajas y desventajas de utilizar diagramas de estado para el diseño de 
un sistemas de control y de la programación estructurada?. 
4. Cuales son las características de un PLC que hacen posible implementar el control 
a partir de diagramas de estado?. 
5. Como se podrían utilizar los diagramas de estado para diseñar un control con reles 
electromecánicos en lugar de un PLC?.