Machine à états simple
Une machine à états simple se compose d'états, de transitions qui contrôlent la transition d'état et d'actions ou de méthodes. Cela vous permet de concevoir et de mettre en œuvre le comportement de machines finies.
Créer une application avec un statechart
Créer un nouveau projet avec le Projet standard modèle. Pour PLC_PRG dans, sélectionnez le Diagramme d'état UML langage d'implémentation.
Le projet est créé.
Dans l'arborescence des appareils, sélectionnez l'application et cliquez sur
dans le menu contextuel.Créer un bloc fonction nommé
FB_Simple_Machine
dans le Organigramme UML (SC) langage d'implémentation.Instancier le bloc fonction dans le programme
PLC_PRG
et mettre en œuvre l'appel de l'instance de bloc fonction.PROGRAM PLC_PRG VAR fb_Simple_Machine_A : FB_Simple_Machine; END_VAR fb_Simple_Machine_A();
Enregistrez le projet sous
SimpleMachine.project
.
Concevoir la logique de flux comme un diagramme d'états
Exemple d'exigences sur la machine :
La machine est dans l'état
Idle
après la phase d'initialisation.Lorsque des événements se produisent, la machine passe à l'état
DoIt
.Lorsque toutes les actions et méthodes ont été traitées, l'événement d'achèvement est déclenché et la machine revient à l'état inactif.
La machine peut être commutée de l'état inactif à l'état
Exit
puis à l'état final.
Dans ce cas, la conception de la machine est la suivante.

La conception ne contient pas encore de conditions de garde qui contrôlent la logique de flux. De plus, aucune action ou méthode n'est encore appelée, de sorte que la machine est toujours inopérante.
Dans l'arborescence des appareils, double-cliquez sur le bloc fonction FB_Simple_Machine
pour ouvrir l'éditeur et créer le diagramme illustré ci-dessus.
Déclaration de variables pour les conditions de garde
PROGRAM FB_Simple_Machine VAR bInitDone : BOOL := FALSE; bShutDown : BOOL := FALSE; bDoSomething : BOOL := FALSE; bDoFinished : BOOL := FALSE; END_VAR
Les entrées utilisateur sont mappées sur des variables booléennes qui sont généralement définies en externe par un utilisateur via une interface utilisateur. Lorsque vous affectez la variable comme condition de garde dans le diagramme d'états-transitions, la logique de flux devient commutable. Les variables agissent comme des variables de contrôle.

Ajout de méthodes et d'actions
Lorsque vous avez implémenté la logique de flux sous la forme d'un diagramme d'états, vous ajoutez des fonctionnalités aux états et aux transitions. Ce faisant, vous étendez les états avec ENTRY
, DO
, et EXIT
actions ou méthodes. Vous pouvez également ajouter une action ou une méthode à une transition, qui est ensuite appelée une fois lors de la transition d'état.
Vous pouvez ajouter des actions à un état en sélectionnant l'un des ,
, ou
symboles. Vous pouvez cliquer sur le
symbole pour ajouter des actions à une transition.

Si vous affectez une action aux transitions, vous pouvez concevoir une logique similaire qui ne diffère que légèrement dans le comportement temporel.

Dans le Dispositifs vue, vous pouvez tracer l'affectation des actions et des méthodes. Les actions et les méthodes ont été créées dans le ST langage d'implémentation.
