Élément : Classe
Une classe est une unité logique avec des données et des opérations encapsulées. Il représente également un type de variable qui peut être instancié. Lorsque l'instance d'une classe est affectée en tant que variable à une autre classe, on parle de rôle ou d'expression de la classe.
Une classe peut fournir une méthode FB_Init
qui est appelée lors de l'initialisation d'une instance.
Une classe peut hériter d'une autre classe. Cette relation s'appelle une généralisation.
Une classe peut instancier une autre classe. Cette relation s'appelle une composition.
Une classe peut reconnaître une autre classe. Cette relation s'appelle une association.
Une classe peut être une POU, une bibliothèque POU (type : programme), un bloc fonction ou une fonction.

(1) | Icônes de commande AstuceLorsqu'une classe est sélectionnée, ses symboles de commande sont visibles. |
(2) | Entête
|
(3) | Liste des attributs L'entrée a le format suivant : Exemple: IDENTIFIANT:
|
(4) | Liste des opérations (actions, méthodes ou propriétés) Exemple:
Une entrée pour les méthodes a le format :
Dans le cas d'une inscription pour un Une entrée pour les actions a le format :
Ce qui suit s'applique pour <label> :
|
Propriétés
Identifiant | Nom de la classe Exemple: |
Entrée utilisateur
La classe a développé des listes d'attributs et d'opérations qui sont identifiées par . Les icônes de commande sont visibles au-dessus de la classe. Vous pouvez les utiliser pour insérer des éléments de relation.
action | Résultat | |
---|---|---|
Dans le | le AstuceAprès avoir été supprimée, la classe s'affiche dans la Boîte à outils vu dans Références croisées entrantes ou Références croisées sortantes. Pour cela, vous devez sélectionner un élément dans le diagramme de classes qui a une relation avec la classe supprimée. | |
Clique le | le | |
le | Une flèche de composition pointe depuis le nouveau La classe a été étendue par la déclaration d'une instance de bloc fonction de la première classe. FUNCTION_BLOCK NewClass VAR_INPUT END_VAR VAR_OUTPUT END_VAR VAR InstanceBase : BaseClass; END_VAR | |
| Une flèche de composition pointe de la deuxième classe vers la première classe. La deuxième classe a été étendue par la déclaration d'une instance de bloc fonction de la première classe. FUNCTION_BLOCK SecondClass VAR_INPUT END_VAR VAR_OUTPUT END_VAR VAR InstanceBase : BaseClass; END_VAR | |
Le nouveau | Une flèche d'association pointe de la nouvelle classe vers la première classe. La première le FUNCTION_BLOCK NewClass VAR_INPUT END_VAR VAR_OUTPUT END_VAR VAR ptrBase : POINTER TO BaseClass; END_VAR | |
| Une flèche d'association pointe de la première classe vers la deuxième classe. La première classe reconnaît la seconde classe. La première classe a été étendue par la déclaration d'un pointeur vers la seconde classe. FUNCTION_BLOCK SecondClass VAR_INPUT END_VAR VAR_OUTPUT END_VAR VAR ptrBase : POINTER TO BaseClass; END_VAR | |
Une nouvelle classe est générée qui hérite de la première classe. | Une généralisation pointe de la nouvelle classe vers la première classe. La nouvelle classe hérite de la première classe. La déclaration de la nouvelle classe a été générée avec FUNCTION_BLOCK ClassNew EXTENDS BaseClass VAR_INPUT END_VAR VAR_OUTPUT END_VAR VAR END_VAR | |
| Une généralisation pointe de la première classe à la première classe. La déclaration de la deuxième classe a été générée avec l'extension de la première classe.
| |
Une interface est générée qui est implémentée à partir de la classe sortante. | Une flèche d'implémentation pointe de la classe vers le nouveau Maintenant, la classe implémente la nouvelle interface. La déclaration de la classe a été étendue avec l'implémentation. FUNCTION_BLOCK BaseClass IMPLEMENTS ITF_New VAR_INPUT END_VAR VAR_OUTPUT END_VAR VAR END_VAR | |
L'interface est implémentée par la classe. | Une flèche de réalisation pointe de la classe vers l'interface. La déclaration de la classe a été étendue avec l'implémentation de l'interface. FUNCTION_BLOCK BaseClass IMPLEMENTS ITF_A VAR_INPUT END_VAR VAR_OUTPUT END_VAR VAR END_VAR | |
| Le nom de l'objet (dans l'arborescence des appareils ou dans le POU view) a été automatiquement adapté dans la déclaration. | |
| La modification est appliquée dans le projet de manière synchrone et automatique. | |
Double-cliquez sur l'élément de classe. | L'éditeur d'objets correspondant s'ouvre. |
Exemples

FUNCTION_BLOCK Fb_D VAR VarFb_A: Fb_A; ... END_VAR

FUNCTION_BLOCK Fb_A VAR Class_2 : POINTER TO Class_2; END_VAR

FUNCTION_BLOCK Fb_A EXTENDS Fb_Base

FUNCTION_BLOCK Class_A IMPLEMENTS Itf_A