Upload
ana-isabel-rojas-villalobos
View
217
Download
0
Embed Size (px)
Citation preview
Abril 20151
PROGRAMACIÓN ESTRUCTURADA
LOS DIAGRAMAS DE ESTADO
Abril 20152
Programación estructurada en un PLCDiseño de un proceso secuencial usando métodos estructurados a través de la generación de diagramas de estado.
La construcción de estos diagramas 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 fácil debido a que ellos están organizados y además, en este caso, el diagrama de estados provee ayuda visual.
Abril 20153
Programación estructurada en un PLCCaracterísticas propias de los procesos que se controlan de forma secuencial :
El proceso puede descomponerse en una serie de estados que se activarán de forma secuencial ( variables internas ). Cada uno de los estados, cuando está activo realiza una serie de acciones sobre los actuadores ( variables de salida ).Las señales procedentes de los captadores ( variables de entrada ) controlan la transición entre estados Las variables empleadas en el proceso y sistema de control ( entrada, salida e internas ), son múltiples y generalmente de tipo discreto, solo toman 2 valores, activado y desactivado.
Abril 20154
Diagrama de Estados
La lógica escalera a menudo es escrita en forma no estructurada lo que se hace difícil 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.
Abril 20155
Diagrama de Estados - ProcedimientoGenerar una descripción de lo que se necesita hacer.
Trasladar esta descripción a un diagrama de estados, determinando los estados únicos a través de los cuales el proceso avanza.
Conectar estos estados con líneas y flechas para indicar las direcciones de cambio deseado.
Agregar las transiciones o condiciones lógicas, escritas en forma booleana, que causan una transición de un estado a otro.
Abril 20156
Ej. Nº1: “Llave secuencial”Diseñar una llave secuencial que operará un dispositivo por 15 segundos después de que tres pulsadores han sido presionados en la secuencia correcta, (1-2-3).
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.
Abril 20157
Ej. Nº1: Diagrama de Estados
Abril 20158
E0, E1, E2, E3, E4 y E5, representan los estados del proceso, los cuales tienen asignado un nombre que simplifique la comprensión del proceso. Sólo un estado puede estar activado a la vez para evitar conflictos que atenten contra la seguridad.
Las etiquetas (en naranja) indican las transiciones necesarias para poder pasar de un estado al siguiente.
Las flechas indican los caminos que son posibles.
E0, se utiliza para inicializar el proceso.
Ej. Nº1: Diagrama de Estados
Abril 20159
A los fines de generar una mayor claridad, se definen las transiciones como se indica.
Dependen de su propio estado inicial para que sean únicas.
Para expresiones booleanas complejas y/o modificaciones resulta muy útil.
Ej. Nº1: Transiciones
Abril 201510
Abril 201511
Implementación en LadderAsignación de marca a cada estado y a cada transición.
Creación de las siguientes subrutinas para estructurar el programa:
•General (llamada al resto de las subrutinas)• Inicialización•Estados_y_Transiciones•Transiciones•Actuadores
Escritura del programa secuencial.
Abril 201512
Implementación en LadderPLC Micro1400 / RSLogix Micro
Asignación de marca a cada estado.
Asignación de marca a cada transición.
Abril 201513
Implementación en LadderPLC Micro1400 / RSLogix Micro
Creación de las rutinas, que luego serán llamadas para ejecutarse, desde una rutina que tenga la gestión de todo el proceso secuencial (en este caso la rutina “General”).
En la foto aparecen en el árbol del proyecto.
Abril 201514
Llamada a subrutinas.
En este caso es incondicional.
General
Abril 201515
Se define el estado que se activa al inicio de la ejecución del programa.
Los otros estados deben inicializarse desactivados.
Se usa la marca de primer ciclo de scan.
Inicialización
Abril 201516
Estados y Transiciones
(1 de 3)Cuando el proceso esta en un estado determinado y se activa la transición correspondiente se setea el siguiente estado y se resetea el anterior.
Abril 201517
Estados y Transiciones
(2 de 3)
Abril 201518
Estados y Transiciones
(3 de 3)
Abril 201519
Transiciones(1 de 3)
Abril 201520
Transiciones(2 de 3)
Abril 201521
Transiciones(3 de 3)
Abril 201522
Actuadores
Se coloca en esta subrutina todo lo que debe estar accionado durante un estado determinado.
Abril 201523
Ej. Nº2: “Control de Nivel”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. El tanque, inicialmente vacío, requiere que arranquen las dos bombas, hasta que se llena.2. El 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 yambas permanecen encendidas hasta que el tanque se llena. Las bombas son alternadas en cada ciclo de llenado.
Abril 201524
Construimos el diagrama de estado.
Sensor de Tanque vacío LSLLSensor de Tanque lleno LSHSensor de bajo nivel LSLRelé de cambio de bomba RCBomba 1 P1Bomba 2 P2
Nota: Los sensores producen un contacto cerrado cuando el agua los toca.