Skip to main content

Élément : état composite

Vous pouvez utiliser cet élément pour regrouper plusieurs états.

. Un état composite peut être orthogonal ou non orthogonal.
  • État orthogonal : État composite avec deux régions ou plus. Dans un état orthogonal, les états internes sont regroupés en régions et les régions sont classées par ordre de priorité. Ils contrôlent l'ordre de traitement au moment de l'exécution. Les états des régions sont exécutés en pseudo-parallèle selon leur séquencement interne.

  • État non orthogonal : État composite avec exactement une région. Dans un état non orthogonal, les états internes sont exécutés séquentiellement au moment de l'exécution. Un état interne peut également être un état composite. L'imbrication d'états non orthogonaux peut avoir n'importe quelle profondeur, aucun des états ne pouvant avoir plusieurs régions, à l'exception de l'état le plus interne.

Les états orthogonaux et non orthogonaux peuvent également appeler un ENTRÉE action, une FAIS action, et une SORTIR action. Lorsqu'une transition d'exception est active, la SORTIR l'action de chaque état actif de chaque région de l'état orthogonal est exécutée.

_uml_img_orthogonal_state.png

Le nom de l'état composite s'affiche dans le coin supérieur gauche du rectangle. Les régions sont divisées par une ligne pointillée. La priorité de la région est affichée dans le coin supérieur droit de la région.

Des règles

. Des règles
  • Une transition n'est pas autorisée entre les États de différentes régions.

  • Un état composite peut avoir une ou plusieurs transitions d'exception sortantes. Vous pouvez implémenter efficacement la gestion des erreurs, par exemple, avec une transition d'exception.

  • Un état composite a au plus une transition d'achèvement. Par conséquent, chaque région comprend un état initial et un état final. L'état composite atteint son état final lorsque toutes les régions ont atteint leurs états finaux. Si un état composite n'a pas de transition d'achèvement sortante, les régions peuvent ne pas avoir d'état de début ou d'état de fin.

  • Une transition vers un état à l'intérieur d'un état orthogonal n'est autorisée qu'à partir d'une bifurcation et est toujours inconditionnelle.

  • Un état non orthogonal peut contenir un autre état composite. Dans ce cas, les états sont imbriqués.

  • Un état composite non orthogonal peut avoir un état assigné ENTRÉE actions et/ou FAIS actions et/ou SORTIR action.

Propriétés

Biens

La description

Identifiant

Nom de l'état composite

Exemple: DoorAutomaton

Couleur

Couleur de l'élément. Vous pouvez modifier la couleur à l'aide d'une boîte de dialogue de sélection de couleur. Par défaut : jaune

Autoriser les actions ENTRY / DO / EXIT

Exigence : L'état composite sélectionné a exactement une Région.

Les actions ENTRY, DO et EXIT peuvent également être attribuées pour les cas d'utilisation suivants :

  • États composites imbriqués

  • États sans états internes de début ou de fin

  • États sans achèvement sortant interne ni transitions d'exception

_cds_icon_checked.png: Vous pouvez attribuer un de chaque ENTRY, DO, et EXIT actes à l'État.

Exécuter des actions DO même si les états composites internes sont actifs

L'option est disponible uniquement pour l'état composite le plus externe et héritée par les états internes.

_cds_icon_checked.png: L'action DO est exécutée en continu à l'exécution, même si l'un des états composites internes est actif en même temps. le {exécuté également pour les composites internes} note s'affiche dans l'éditeur à côté de l'action DO afin de signaler le comportement de cette action.

_cds_icon_option_deactivated.png: Dès que l'un des états composites internes est actif, l'action DO de l'état externe s'arrête.

Entrée utilisateur

action

La description

  1. Sélectionnez un état composite vide.

  2. Clique le _uml_icon_transition_completion.png symbole.

    Une transition d'achèvement sortante est générée.

  3. 3. Cliquez sur un élément existant (tapez : État, État composite, Bifurquer/Joindre, ou Choix).

    Une transition de complétion est insérée entre les deux éléments.

Remarque : Si vous ne cliquez pas sur un élément existant, mais dans une zone vide, alors un nouvel état est créé.

Vous ajoutez un _uml_icon_transition_exception.png transition d'exception de la même manière.

  1. Déplacez le pointeur de la souris vers un état composite vide.

  2. Clique le _uml_icon_sc_area_add.png symbole.

    L'état est subdivisé et une autre région est ajoutée.

    _uml_state_orthogonal.png

La priorité est affichée à droite dans la région. Les régions avec une priorité inférieure sont traitées en premier. Vous pouvez modifier la priorité. CODESYS adapte automatiquement les priorités des autres régions.

  1. Sélectionnez un état composite avec plusieurs régions.

  2. Déplacez la ligne de séparation.

  3. Sélectionnez la ligne de séparation en double-cliquant dessus.

    La ligne est affichée en bleu.

  4. appuie sur le Suppr clé.

    La ligne est supprimée.

Une fois la ligne de séparation supprimée, les deux régions (séparées par la bordure) fusionnent en une seule région.

  1. Sélectionnez un état composite avec plusieurs régions.

  2. Cliquez deux fois sur la priorité dans une région.

Maintenant, la priorité peut être modifiée.

Lorsque la priorité est modifiée, les autres priorités sont automatiquement adaptées.

  1. Déplacez le pointeur de la souris vers un état composite vide.

    Les actions de l'état sont affichées.

    _uml_img_composite_state_with_acitvated_actions.png

  2. 2. 2. Cliquez sur l'un des trois _uml_icon_actions_vertical.png symboles.

  3. Clique le _uml_icon_sc_action_do.png symbole.

    L'état est étendu par une action/méthode DO.

  4. Passez le curseur sur un état avec une action DO affectée.

  5. Clique le _uml_icon_sc_action_add.png symbole.

    le Nouvel objet d'action la boîte de dialogue s'ouvre.

  6. Sélectionnez le action objet.

  7. Spécifiez un nom et une langue d'implémentation.

    Une nouvelle action est insérée sous le POU du diagramme d'états-transitions.

  8. Clique le _uml_icon_sc_action_open.png symbole.

    L'éditeur de l'action ou de la méthode correspondante s'ouvre.

Exigence : Le Autoriser les actions ENTRY / DO / EXIT propriété est sélectionnée.

L'objet action peut être une action ou une méthode. Si l'action est une méthode, vous devez également définir le type de retour et le type d'accès dans le Nouvel objet d'action dialogue. L'affectation à l'objet d'action peut être modifiée dans les propriétés de l'élément.

Un état peut avoir une action ENTRY, une action DO et une action EXIT :

  • Une action/méthode ENTRY peut initialiser l’état. Il est exécuté une fois lorsque toutes les transitions entrantes sont définies sur TRUE.

  • L'action/méthode DO est exécutée tant que l'état est actif. L'action peut être programmée dans n'importe quel langage d'implémentation. Lorsque vous utilisez Organigramme, une structure hiérarchique est créée.

  • L'action/méthode EXIT doit s'assurer que l'état est quitté dans un état valide. L'action EXIT est exécutée une fois lorsque toutes les transitions sortantes de l'état sont TRUE.

Astuce

Vous pouvez également ajouter ou modifier les actions ou les méthodes dans les propriétés de l'élément.

Exemples

Exemple 22. État composite avec transition d'exception et transition d'achèvement
_uml_img_composite_state_example.png


Exemple 23. État composite sans transition d'achèvement
_uml_img_composite_state_without_completion.png


Exemple 24. États composites imbriqués
_uml_img_nested_composite_states.png


Exemple 25. État orthogonal avec fourche
_uml_img_fork_join_example.png


Exemple : Ascenseur Ascenseur

Exemple 26. État orthogonal avec transition d'achèvement et transition d'exception
_uml_img_orthogonal_state_lift.png