Skip to main content

Bibliothèque : AC_ModuleBase

La bibliothèque de base de module AC_ModuleBase fait partie du concept de module du CODESYS Application Composer. Tous les modules développés pour être disponibles dans le configurateur d'arborescence de modules doivent être dérivés de cette bibliothèque de base.

Nom de l'instance

La propriété InstanceName de la classe de base renvoie une chaîne qui contient le nom de l'instance du module.

Propriété dans IInstanceBase:PROPERTY InstanceName : STRING(255)

Valeur de retour : nom de l'instance de l'instance du module

Astuce

Les instances proxy renvoient le nom d'instance de l'instance du module distant.

Informations sur les modules

PROPERTY ModuleInfo : POINTER TO ModuleInfo: Cette propriété renvoie un pointeur vers un bloc fonction ModuleInfo avec la méthode PROPERTY ModuleType : STRING(255).

PROPERTY ModuleType : STRING(255): Cette propriété renvoie le nom du module qui est qualifié par l'espace de nom de la bibliothèque de modules. (L'espace de nom est relatif au projet principal.)

Chemin de l'instance

La fonction GetInstancePath(IModule) renvoie le chemin d'instance d'une instance de module. Le chemin d'instance est construit en concaténant les noms d'instance de tous les ancêtres, en commençant par le module de niveau supérieur jusqu'à l'instance donnée. Les noms d'instance sont séparés par des points. Si le nom d'instance résultant comporte plus de 255 caractères, une chaîne vide est renvoyée.

PROPERTY InstancePath : STRING(255)

Navigation à plat

La fonction GetPrevModule(IModule) et GetNextModule(IModule) permettent de sauter à l'élément précédent ou suivant (si l'arborescence du module est considérée comme une liste plate d'instances de module). Les modules sont renvoyés dans le préordre en profondeur de l'arborescence des modules. Les références de module sont ignorées s'il n'y a pas de module précédent ou suivant.

Alternativement, le bloc fonction DepthFirstRange peut être utilisé qui répertorie toutes les instances à partir d'une instance spécifique. La fonction GetDepthFirstRange renvoie une instance de bloc fonction range (de type DepthFirstRange) qui répertorie l'arborescence complète, à partir d'une instance donnée.

Navigation hiérarchique

L'interface IModuleTree permet de naviguer dans l'arborescence du module. Un objet de cette interface est fourni à chaque module par l'utilisation d'un pointeur vers une instance de type MEnv. Ce pointeur est passé à la fonction SetIdentification. Les références de module sont ignorées dans la navigation. L'ordre des nœuds enfants correspond à l'ordre des instances de module dans l'arborescence du module.

GetParent(itfM : IModule) : IModule: IModule : Renvoie l'instance parente d'une instance de module donnée. Pour les instances de module de niveau supérieur, la valeur de retour est 0.

GetFirstChild(itfM : IModule) : IModule: Renvoie le premier enfant d'une instance de module donnée. Pour les instances de module sans enfants, la valeur de retour est 0

NextSibling(itfM : IModule) : IModule: Renvoie le frère suivant d'une instance de module. Pour les instances de module sans autre frère, il renvoie 0. Il peut également être appelé pour les instances de niveau supérieur.

PrevSibling(itfM : IModule) : IModule: Renvoie le frère précédent d'une instance de module. Pour les instances de module sans frère précédent, il renvoie 0. Il peut également être appelé pour les instances de niveau supérieur.

GetFirstToplevelInstance() : IModule: renvoie la première instance de niveau supérieur de l'arborescence. Elle renvoie 0 si l'arbre est vide.

Navigation vers les ancêtres, les frères et sœurs et les enfants

Le bloc fonction AncestorRange permet d'accéder à tous les ancêtres d'une instance, en commençant par l'instance elle-même. Le bloc fonction SiblingRange permet d'accéder à tous les frères et sœurs suivants d'une instance dans l'arborescence du module, en commençant par l'instance elle-même. La fonction GetChildRange renvoie un élément de plage (type SiblingRange) de tous les enfants d'une instance.

Navigation vers le niveau supérieur

La fonction GetToplevelRange renvoie une instance de plage (type SiblingRange) qui donne accès à toutes les instances de niveau supérieur. La fonction GetToplevelInstance renvoie le module de niveau supérieur qui est un ancêtre de l'instance donnée.