Documentos de Académico
Documentos de Profesional
Documentos de Cultura
El diagrama de secuencia en la Figura 4.18 se dibuja en base a los siguientes supuestos, evalu-
aciones y opciones:
• Suponga que el tanque está vacío al comienzo. Tenga en cuenta que el interruptor de nivel es de tipo NC para que
da una señal lógica alta cuando no está activado.
Agitador
Válvula A Válvula B
S3
S2
Calentador
S1
Válvula C
Página 2
Diseño estructurado 113
1 2 3 44 55 66 77 8 99 10 11 12 13/4
30s
comienzo
S1 (NC)
S2 (NC)
S3 (NC)
Temp_Ok
Timer.Q
Calentador
Agitador
Válvula A
Válvula B
Válvula C
• Se activa un retraso de tiempo de ENCENDIDO cuando se alcanza la temperatura deseada (Temp_Ok). Después
30 segundos, el temporizador de salida Timer.Q sale alto. Tenga en cuenta el comentario de tiempo entre
Líneas de acción 6 y 7.
• La instalación completa una secuencia continua antes de cualquier parada eventual. En el código del programa,
entonces debemos almacenar el evento "Stop pulse" y verificar esto al final de la secuencia actual.
Sin embargo, no es práctico dibujar resultados alternativos en el diagrama de secuencia para que el Stop
no puede ser ilustrado
• Después de que el elemento calefactor (calentador) se ha apagado, no sabemos cuándo la temperatura
caerá por debajo de la temperatura deseada nuevamente. Aquí, se supone que esto sucede después del
El nivel de líquido ha caído por debajo del nivel 2.
Página 3
114 Controladores lógicos programables
El uso de diagramas de flujo no se limita a los sistemas que tienen una naturaleza marcadamente secuencial, sino que
no son tan adecuados cuando hay múltiples rutas desde cualquier estado. En algunos casos, el
el sistema que se va a controlar se puede describir con un conjunto de estados únicos y distintos sin
habiendo cualquier proceso secuencial dominante en el sistema. En tales casos, puede ser más
Práctico para utilizar diagramas de estado .
Los diagramas de estado se usan típicamente para describir estados en el desarrollo del estado finito
maquinas . Por definición, esta es una "máquina 13 " que siempre está en uno de un número especificado de
estados únicos y donde las transiciones a otros estados se basan en estados instantáneos a lo largo
con funciones combinatorias de señales de entrada y variables internas. ¿Qué estado viene después?
en otras palabras, es el resultado de eventos controlados por el usuario (por ejemplo, presionar un botón) y / o el
resultado de cálculos internos.
Hay dos variantes de máquinas de estado finito: el modelo Moore y el modelo Mealy . los
El modelo de Moore, que está más extendido y que utilizaremos, se basa en el
idea de que las acciones que se realizarán están asociadas con estados. En otras palabras, cambios
de la señal de salida depende solo del estado que está activo en un momento dado. En una comida
máquina, las señales de salida dependen directamente de las señales de entrada también.
El concepto de máquina es algo engañoso en estos días, pero tuvo su origen en técnicas digitales en las que
13
Las máquinas de pie, basadas en hardware ensamblado a partir de componentes digitales, se desarrollaron con esta técnica.
Hoy en día, la técnica se utiliza para el desarrollo de códigos de programa y algoritmos.
Página 4
Diseño estructurado 115
Trans_AB
Estado Estado
UNA si Trans_BC
Estado Estado
mi re
Trans_DE
El diagrama de estado proporciona la misma información que un diagrama de flujo, excepto que un diagrama de estado es
más rápido de elaborar, más compacto y también más utilizable para sistemas no secuenciales.
El estado inicial, que está marcado aquí con contornos dobles, es el estado en el que el sistema
comienza cuando se enciende la alimentación (se coloca en MARCHA). A menudo, este será un estado inactivo donde no
se realizan acciones (quizás con la excepción de iniciar o restablecer variables). los
el control (la máquina de estado finito, el programa PLC, etc.) permanece en este estado y espera un inicio
señal de un operador, por ejemplo.
Lo que los otros estados describen y contienen depende del proceso que el diagrama es
hecho para. Estas pueden ser acciones que se están realizando, como arrancar una bomba o abrir
la válvula. Tampoco puede ser nada , entendiendo que el sistema simplemente está esperando
cierto tiempo o para una señal de un sensor, por ejemplo.
Las transiciones serán expresiones lógicas donde las señales de entrada pueden estar involucradas, probablemente en
combinación con variables internas. En el código de programa completado, solo la transición
Las pruebas que vienen directamente después del paso activo se prueban. Relacionado con el diagrama de la figura 4.19,
esto significa, por ejemplo, que no es significativo cuando la transición Trans_DA se satisface como
siempre que el sistema no se encuentre en el estado D.
La figura 4.20 muestra un diagrama de estado para el control de la cinta transportadora en una instalación de envasado. los
la instalación debe funcionar de la siguiente manera:
• Las mercancías
el pistón que la
empujará caen sobre lahacia
mercancía cinta una
transportadora
estación deson detectadas
empaque. por una
El pistón fotocélula.
tiene Luego
un retorno un neumático
por resorte y
está controlado por un sensor para que sepamos cuándo se extiende. (Supongamos que vuelve
sin entrar en conflicto con un nuevo elemento en el cinturón).
• Cuando se han sacado 100 artículos del cinturón, el cinturón debe detenerse. El operador empaca el
100 artículos y luego comienza el cinturón nuevamente.
• También hay una función de parada incorporada, así como una función de alarma que se activa si hay más
transcurren más de 10 segundos antes de que llegue el siguiente elemento a la fotocélula.
Página 5
116 Controladores lógicos programables
comienzo
Tiempo> 10 s
Listo correr
transportador
Detener
Alarma
Empujar y Confirmar
contador <100
Contar hasta
Largarse
En el diagrama anterior, estamos usando pseudocódigo, es decir, palabras y oraciones comunes, para
indicar transiciones y estados. Para reducir aún más el trabajo en la programación que
Luego, puede ser sensato utilizar nombres de estado válidos y códigos individuales en texto estructurado .
Esto se hace en el siguiente ejemplo.
También tenga en cuenta que las condiciones de transición están claramente marcadas así en el diagrama.
En la Figura 4.8, dibujamos un diagrama de flujo para el proceso de mezcla, y en la Figura 4.16, dibujamos una secuencia
diagrama para el mismo proceso. La figura 4.21 muestra un diagrama de estado para el proceso. Vemos que el
El flujo en las secuencias está claramente marcado por flechas que muestran las transiciones entre los estados.
Hemos usado otras formulaciones aquí en el diagrama de flujo, tanto en nombres de estados como en
condiciones para la transición (pruebas y elecciones). Esto se ha hecho deliberadamente para venir
un paso más cerca de un programa para controlar este proceso. Además, los diagramas de flujo son más
a menudo se usa en una fase anterior, donde es natural usar más pseudocódigo.
Las transiciones (marcadas así ) y los nombres de estado que se utilizan en el diagrama a continuación pueden
probablemente se implementará directamente en la mayoría de los sistemas porque son nombres válidos bajo IEC
61131-3 estándar. 14
14 Los nombres (para variables y objetos) comenzarán a continuación con un carácter y no contendrán espacios.
El subrayado es permisible ya que se usa aquí en Mix_Drain, por ejemplo.
Página 6
Diseño estructurado 117
LT2
comienzo LLENAR
Mezcla_
remover
Listo
LT3
Mezcla_
NO
Desagüe desagüe
LT1
NO LT2
Listo comienzo
Corre cinturón Detener Tiempo> 10 s Célula fotoeléctrica
Alarma Reconocer
Empujar Pistón y Pistón y
contador = 100 contador <100
Como se mencionó anteriormente, los diagramas de estado pueden usarse ventajosamente como ayudas para estructurar
Grandes aplicaciones de programas. En este caso, los estados individuales pueden describir (consistir en) principales
operaciones que a su vez están controladas por sus propias unidades de programa en el PLC.
Entonces los estados individuales en el diagrama son una especie de macropaso . Ver Figura 4.22. Cuando
la transición está satisfecha, se llama a otro programa. También se puede hacer un diagrama de estado
eso ilustra lo que sucederá dentro de cada individuo.
4.6.3 Ejemplo: proceso por lotes
En la figura 4.18, dibujamos un diagrama de secuencia para un proceso por lotes. Ahora dibujaremos un estado
diagrama para el sistema donde se ha agregado un nuevo botón de parada adicional, Stop2, y el
Se especifica la siguiente condición adicional:
Página 7
118 Controladores lógicos programables
comienzo
Lote_
Listo
programa
Enjuague Mezcla
terminado terminado
Lavar_ Tapping_
Tocando
and_rinse programa
terminado
La primera especificación adicional también implica que el diagrama debe contener ramas alternativas para
que hay dos caminos posibles para continuar después de que el tanque esté vacío. Si Stop1 ha sido activado,
o si se han completado 10 secuencias, el programa pasa a su estado "Listo". Si no, el
El estado "Fill_A" se activa nuevamente. Ver Figura 4.23.
Observe también el manejo de la parada inmediata cuando Stop2 está activado. Esto se resuelve aquí
insertando Stop2 en todas las transiciones hasta el cierre de la secuencia.
El PLC activará y desactivará los estados en orden y, con la implementación correcta
del diagrama en forma de código, esto tendrá lugar sin que ninguna de las salidas sea
cambiado en absoluto hasta que el estado Listo se active nuevamente.
15 El ejemplo fue creado por el profesor asistente Inge Vivås, Bergen University College.
Página 8
Diseño estructurado 119
(* Iniciar agitador *)
(* Arranque del calentador *)
(NO S2)
O Stop2 (NO S3)
Fill_B
O Stop2
comienzo Temp> 85
O Stop2
S1 Y (Contador <10)
Y NO
(Stop1 O Stop2)
Stop2 OR Tiempo> 30 s
Drenaje1 O Stop2
S1 Y
(Contador = 10 O Stop1) Drenaje2
(* Detener el calentador *)
S2 O Stop2
(* Detener el agitador *)
Figura 4.23 Diagrama de estado para el proceso por lotes. Las acciones que se realizarán en los pasos son
escrito como (* comentarios *). Las transiciones están escritas en código ST
Agua en
B1 – B3 son monitores de nivel
que dan un "1" cuando el
el nivel está por encima del sensor
B3
P2 Agua fuera
B2
P1
B1
Figura 4.24 Tanque de fluido con bombas (Reproducido con permiso de Inge Vivås)
La instalación también tiene un botón de inicio, un botón de parada y un botón de reinicio que desactiva la alarma.
La figura 4.25 muestra un diagrama de estado hecho para corresponder con la descripción del sistema anterior. En
Para hacer la transición al código del programa lo más simple posible, los nombres de estado utilizados aquí
son nombres de estado permitidos bajo el estándar. Por la misma razón, el código descriptivo también
sido utilizado para las transiciones entre estados.
Página 9
120 Controladores lógicos programables
(RE B2) Y
NO P1_Último
comienzo Run1
(FE B1) o B3
O pare Run2
Run12
(* Ejecute la bomba P2 *)
(* Restablecer P1_Último *)
(* Ejecute ambas bombas *)
(* Encienda la lámpara si contition activ> 3min *)
(* Apaga la lámpara con Reset *)
RE significa "flanco ascendente" e indica que las condiciones en las que está presente RE B2 solo pueden
estar satisfecho si la señal B2 cambia de estado de 0 a 1. FE significa "flanco descendente" y se utiliza
aquí para detectar cuándo la señal B1 cambia de estado de 1 a 0.
Una alternativa a escribir RE y FE para indicar dicha detección de flanco es usar flechas como
como ↑ B2 y ↓ B1.
La transición del estado Idle al estado Run12 quizás parezca un poco extraña. Aquí,
"NO PARAR" se incluye como parte de la condición. Esto se incluye para garantizar que los dos
Las posiciones del mismo estado quieren ser VERDADERAS simultáneamente. Aquí está el escenario:
• Suponga que el nivel se eleva por encima de B3. Entonces se activa el estado Run12.
• Si se presiona Stop, el estado Run12 se desactiva y el estado Inactivo se activa nuevamente.
• Si B3 continúa emitiendo una señal, sin embargo, Around12 se activará de nuevo simultáneamente como
el estado Listo está activado. Evitamos esto mediante el uso de " B3 AND NOT Stop " como transición a Run12.
Uno siempre tiene esos problemas cuando el diagrama tiene ramas alternativas , es decir, cuando hay
Hay varias formas posibles de salir de uno del mismo estado. Cada forma posible tiene su propia transición,
y es un requisito absoluto que solo se pueda satisfacer una de estas transiciones (se convierte en
Página 10
Diseño estructurado 121
un VERDADERO lógico) en cualquier momento. Dicho de una manera más elegante, las transiciones deben ser mutuamente
exclusivo . Si tales transiciones no son mutuamente excluyentes, puede suceder que dos o más alternativas
las rutas se activan simultáneamente y luego el programa no funcionará satisfactoriamente.
El estado inactivo tiene muchas conexiones, y el requisito de exclusividad mutua naturalmente
se aplica a todas las transiciones fuera de inactividad. Si estudiamos esta transición, veremos que el requisito
se cumple: el uso de RE en B2 en las otras dos transiciones conduce automáticamente a que no
siendo cualquier conflicto con la transición Stop. (Esto es válido siempre que el nivel no
alcanza B2 precisamente en el mismo escaneo cuando Stop está activado. Para estar seguros, podemos
incluir NO parar en estas transiciones.)
Las mismas dos transiciones también se excluyen entre sí cuando se incluye "P1_Last" en uno de
ellos y "NOT P1_Last" en el otro.
Una estructura alternativa que elimina el problema es incluir conectores específicos para
condición de transición Deténgase de los tres estados Run1, Run2 y Run12 y diríjase a Ready
estado. Sin embargo, esto creará una estructura innecesariamente desordenada.
La elección de los estados se realiza principalmente en función de las fases físicas de los procesos.
Parece natural incluir tres estados para hacer funcionar las bombas y un estado donde ninguno de los
Las bombas funcionan (estado inactivo). Aquí no se ha realizado ninguna evaluación real de ingeniería del programa.
Si tuviéramos que hacer eso, es tentador incluir un estado para la activación de la lámpara de advertencia. Esta
tendría que originarse en el estado Run12. Al hacer eso, nos volveríamos algo más simples
codificación de las acciones asociadas con Run12 y podemos, mediante la implementación en SFC, usar un
temporizador incorporado. La figura 4.26 muestra una sección del diagrama donde se ha realizado este cambio.
( Nota : aquí se usa la sintaxis correcta para referirse a un objeto de temporizador incorporado).
• Cuando se presiona Start, la cinta transportadora 1, que transporta las cajas, comienza a moverse.
La correa funciona hasta que un sensor capacitivo emite una señal que indica que una caja vacía tiene
ven a la estación de empaque. Luego comienza la cinta transportadora 2.
NO B3 O
Reiniciar
Alarma
Run12
(* Lámpara encendida *)
(* Ejecute ambas bombas *) B3 Y (* Ejecute ambas bombas *)
Run12.T> t # 3m