Maquina de cafe
El siguiente ejemplo de aplicación ilustra el diagrama de estado de una máquina de café. Describe completamente el flujo de su proceso, determinando cómo se comporta la máquina en tiempo de ejecución.
Ver el proyecto de muestra UML_SC_CoffeeMachine.project
en el subdirectorio de instalación Projects
.
Creación de una aplicación con un gráfico de estado
En CODESYS , cree un nuevo proyecto con el Proyecto estándar plantilla. Para PLC_PRG en, Selecciona el Gráfico de estado UML lenguaje de implementación.
Se crea el proyecto.
En el árbol de dispositivos, haga clic en el programa
PLC_PRG
.El editor consta de una ventana para la declaración y una ventana para la implementación gráfica. En el Caja de herramientas vista, se enumeran los elementos que puede usar para crear un gráfico de estado.
Rebautizar
PLC_PRG
comoCoffeeMachine
.
Declaración de variables para condiciones de protección
La entrada del usuario se asigna a variables booleanas que, por lo general, un usuario configura externamente a través de una interfaz de usuario. Cuando asigna la variable como una condición de protección en el gráfico de estado, la lógica de flujo se vuelve conmutable. Las variables actúan como variables de control. Aquí no se describe una visualización como interfaz de usuario.
PROGRAM CoffeeMachine VAR bMakeCoffee : BOOL := FALSE; bShutDown : BOOL := FALSE; bPowerUp : BOOL := FALSE; END_VAR
Implementando la lógica de flujo como un diagrama de estado
Mientras no se elabore café, la máquina de café se encuentra en el estado Idle
. La solicitud de preparación de café saca a la máquina del estado de inactividad. La elaboración de café recorre los estados Grind
, Boil
, Heat
, Foam
(leche) cuasi-paralelo en el estado ortogonal CreateCoffee
. Luego se elabora y se sirve la bebida caliente (Pour
). Luego, la máquina vuelve al estado inactivo.
El estado inactivo se alcanza después del encendido y la fase de inicialización Init
. La máquina se apaga desde el estado inactivo (Shutdown
).

El estado CreateCoffee
es un estado ortogonal que comprende múltiples regiones ortogonales. En tiempo de ejecución, las regiones se ejecutan casi en paralelo según su prioridad. El gráfico de estado ilustra el término "estado ortogonal".
En el árbol de dispositivos, haga doble clic en el programa CoffeeMachine
para abrir el editor y crear el diagrama ilustrado arriba.
Agregar métodos y acciones
Cuando haya implementado la lógica de flujo como un gráfico de estado, agregue funcionalidad a los estados y transiciones. Al hacerlo, agrega ENTRY
, DO
, y EXIT
acciones o métodos para los estados. También puede agregar una acción o método a una transición, que luego se llama una vez en la transición de estado.
A continuación, verá las acciones que deben insertarse debajo del bloque de función de diagrama de estado (programa Maquina de cafe) para la máquina de café en el árbol de dispositivos. El código que se muestra aquí es solo un código de marcador de posición que se ampliará más adelante para evaluar las E/S asignadas en variables, por ejemplo.
ActGrind
nGrind := nGrind + 10;
ActFoam
nFoam := nFoam + 5;;
ActFoam
nFoam := nFoam + 5;;
ActHeat
nFoam := nFoam + 5;;
ActShutdown
bShutDown := FALSE; bPowerUp := FALSE;
CoffeeReady
bMakeCoffee := FALSE; iGrind := 0; iHeat := 20; iFoam := 0;
Luego asigne las acciones a los estados y transiciones de la siguiente manera.

Para agregar una acción a un estado, haga clic en uno de los ,
, o
simbolos Para agregar una acción a una transición, haga clic en el
símbolo.