Ejemplo: máquina de estado OMAC PackML
Producto: CODESYS Development System
La biblioteca contiene una máquina de estado para controladores en la industria del embalaje basada en el estándar OMACPackML.
Descripción
PackML significa Packaging Machine Language y define un enfoque general o lenguaje de máquina para máquinas automatizadas en la industria del embalaje. Los objetivos principales de PackML son estandarizar el funcionamiento e implementar innovaciones industriales. El OMAC_PackML_State_Machine
La biblioteca incluida en el paquete contiene una implementación de OMAC PackML State Machine. El proyecto de muestra muestra cómo usar la biblioteca. Para obtener más información sobre OMAC y PackML, consulte: www.omac.org/
Información adicional
La máquina de estado de PackML define los estados de la máquina y las transiciones de estado correspondientes. Un conjunto de estados de máquinas se denomina "modo unitario". Un modo de unidad puede contener un máximo de 17 estados de máquina. La siguiente imagen muestra todos los estados de la máquina con las transiciones de estado correspondientes.
![]() |
Hay tres tipos de estados de máquina:
Acting States
(verde): estados de procesamiento activos (ejemplo:ABORTING
oHOLDING
)Wait States
(verde oliva): estados que se alcanzan después de que se hayan completado los estados de procesamiento activo y están esperando un evento. Ejemplo:ABORTED
oHELD
.Dual States
(azul): Estados de la máquina que son delActing State
yWait State
tipo. Solo se define un estado de este tipo en PackML:EXECUTE
.
Una transición de estado se ejecuta mediante una acción, como Start
o Stop
.
PackML también permite la definición de modos de unidad personalizados. Por ejemplo, se pueden crear modos de unidad personalizados para la configuración o el mantenimiento. Los estados de máquina contenidos son un subconjunto de los estados de máquina máximos.
Solo un modo de unidad puede estar activo a la vez, pero es posible cambiar entre modos de unidad. Esta tarea es manejada por el administrador de modo de la unidad. El administrador de modo de la unidad verifica si el estado actual de la máquina permite salir y si el estado objetivo permite ingresar.
![]() |
Biblioteca: OMAC_PackML_State_Machine
El OMAC_PackML_State_Machine
La biblioteca que se incluye en el paquete contiene todos los componentes necesarios, incluida una visualización para construir una máquina de estado basada en PackML.
El UnitMode
El bloque de funciones se puede utilizar para definir sus propios modos de unidad con los estados de máquina correspondientes (dwSupportedStates
aporte). Los permisos para cambiar entre los modos de la unidad son manejados por los dos dwAllowsLeavingFromStates
y dwAllowsEnteringIntoStates
entradas. El estado de la máquina se puede cambiar llamando a los métodos en el Commands
carpeta (Start
, Stop
, Abort
, etc.).
El UnitModeManager
El bloque de funciones permite cambiar de modo de unidad. Este bloque de funciones se utiliza para consultar el estado actual.
Proyecto de muestra: PackML_Example
El proyecto de muestra PackML_Example
incluye dos aplicaciones para ilustrar el uso de la biblioteca.
Aplicación: PackMLUnitModeManager:
En el PackMLUnitModeManager
aplicación, tres modos de unidad (Production
, Semi Auto
, y Setup
) están definidos y registrados en el UnitModeManager
bloque de funciones Una visualización muestra el estado actual del modo de la unidad correspondiente y permite ejecutar comandos y cambiar el modo de la unidad.
![]() |
Aplicación: PackMLAxisControl:
En el ejemplo, los estados de un eje SoftMotion virtual se muestran y controlan a través de la máquina de estado PackML. El modo de la unidad se define y los estados se asignan en el AxisControl
bloque de funciones
![]() |
Requisitos y restricciones del sistema
Sistema de programación | CODESYS Development System (versión 3.5.10.0 o superior) |
Sistema de tiempo de ejecución | CODESYS Control Win (versión 3.5.10.0) |
Componentes adicionales | - |
Aviso
DESCARGAR Proyecto
Tras instalar el paquete OMAC PackML State Machine
, encontrará el proyecto de ejemplo en el directorio C:\Users\<user>\CODESYS Examples\OMAC PackML State Machine
.