Exemple : Machine d'état OMAC PackML
Produit: CODESYS Development System
La bibliothèque contient une machine d'état pour les contrôleurs de l'industrie de l'emballage basée sur la norme OMACPackML.
Description
PackML signifie Packaging Machine Language et définit une approche générale ou un langage machine pour les machines automatisées dans l'industrie de l'emballage. Les principaux objectifs de PackML sont de standardiser le fonctionnement et de mettre en œuvre des innovations industrielles. Le OMAC_PackML_State_Machine
La bibliothèque incluse dans le package contient une implémentation de la machine d'état OMAC PackML. L'exemple de projet montre comment utiliser la bibliothèque. Pour plus d'informations sur OMAC et PackML, consultez : www.omac.org/
Informations Complémentaires
La machine d'état PackML définit les états de la machine et les transitions d'état correspondantes. Un ensemble d'états de machines est appelé un "mode unitaire". Un mode unitaire peut contenir au maximum 17 états machine. L'image suivante montre tous les états de la machine avec les transitions d'état correspondantes.
![]() |
Il existe trois types d'états machine :
Acting States
(vert) : États de traitement actifs (exemple :ABORTING
ouHOLDING
)Wait States
(vert olive) : états atteints après la fin des états de traitement actifs et en attente d'un événement. Exemple:ABORTED
ouHELD
.Dual States
(bleu) : états de la machine qui sontActing State
etWait State
taper. Un seul état de ce type est défini dans PackML :EXECUTE
.
Une transition d'état est exécutée par une action, telle que Start
ou Stop
.
PackML permet également de définir des modes unitaires personnalisés. Par exemple, des modes d'unité personnalisés peuvent être créés pour la configuration ou la maintenance. Les états machine contenus sont un sous-ensemble des états machine maximaux.
Un seul mode d'unité peut être actif à la fois, mais il est possible de basculer entre les modes d'unité. Cette tâche est prise en charge par le gestionnaire de mode unitaire. Le gestionnaire de mode unitaire vérifie si l'état actuel de la machine permet de sortir et si l'état cible permet d'entrer.
![]() |
Bibliothèque : OMAC_PackML_State_Machine
Le OMAC_PackML_State_Machine
La bibliothèque incluse dans le package contient tous les composants requis, y compris une visualisation pour créer une machine d'état basée sur PackML.
Le UnitMode
bloc fonction peut être utilisé pour définir vos propres modes unitaires avec les états machine correspondants (dwSupportedStates
saisir). Les autorisations de basculer entre les modes d'unité sont gérées par les deux dwAllowsLeavingFromStates
et dwAllowsEnteringIntoStates
contributions. L'état de la machine peut être modifié en appelant les méthodes du Commands
dossier (Start
, Stop
, Abort
, etc.).
Le UnitModeManager
bloc de fonction permet la commutation des modes d'unité. Ce bloc fonction est utilisé pour interroger l'état actuel.
Exemple de projet : PackML_Example
L'exemple de projet PackML_Example
comprend deux applications pour illustrer l'utilisation de la bibliothèque.
Application : PackMLUnitModeManager:
Dans le PackMLUnitModeManager
application, trois modes unitaires (Production
, Semi Auto
, et Setup
) sont définis et enregistrés auprès du UnitModeManager
bloc fonctionnel. Une visualisation affiche l'état actuel du mode d'unité correspondant et permet d'exécuter des commandes et de changer de mode d'unité.
![]() |
Application : PackMLAxisControl:
Dans l'exemple, les états d'un axe SoftMotion virtuel sont affichés et contrôlés via la machine d'état PackML. Le mode unitaire est défini et les états sont affectés dans le AxisControl
bloc fonctionnel.
![]() |
Configuration système requise et restrictions
Système de programmation | CODESYS Development System (version 3.5.10.0 ou supérieure) |
Système d'exécution | CODESYS Control Win (version 3.5.10.0) |
Composants complémentaires | - |
Avis
TÉLÉCHARGER Projet
Après avoir installé le paquet OMAC PackML State Machine
, vous trouverez le projet d'exemple dans le répertoire C:\Users\<user>\CODESYS Examples\OMAC PackML State Machine
.