Skip to main content

Étape 4 : Créez le sous-module "Lumière"

Comme cela se faisait auparavant pour le Switch et le SwitchSimple, pour le module Light, une déclaration de module Light, un bloc fonction Light et une interface ILight doivent être créés. Le module doit être implémenté par le bloc fonction, qui lui-même doit implémenter l'interface ILight.

Pour pouvoir ajouter le Light module ci-dessous notre Room module, la déclaration de module de Room doit être prolongé d'un Slots section. Dans cette section, une sous-section Slot_Multi doit être créé, ce qui s'appelle Lights et pourra contenir des modules du type Light . Le nombre de luminaires pouvant ou devant être ajoutés à une pièce est défini par le paramètre Cardinality (dans ce cas entre 1 et 3 feux). De plus deux variables sont déclarées : Variable (pLights, qui contiendra les instances de bloc fonction des modules Lumière ajoutés à la pièce) et Var_Count (uiNumberOfLights, qui sera rempli avec le nombre de modules Lumière ajoutés à la pièce).

Figure 54. Définition de la section Slots
Définition de la section Slots


Les variables pLights et uiNumberOfLights doivent être ajoutés au bloc fonction du module "Lumières", où uiNumberOfLights est un UINT et pLights de type POINTER TO ILight Avec cette définition, seuls les modules dont les blocs fonctionnels implémentent également ILight l'interface peut être ajoutée à la Lights fente.

Figure 55. Déclaration dans le Room bloc fonction
Déclaration dans le Room bloc fonction


Le même concept de fente qui a été utilisé pour le Roommodules est maintenant utilisé pour le Light module. En conséquence, la déclaration de Light comprend une fente avec un Switch, c'est pourquoi ce slot n'est pas un multi-slot, mais un simple slot. Paramètres supplémentaires de la Light module sont la vitesse du gradateur rSpeed et la luminosité maximale uiMaxValue. Enfin, une sortie doit être définie qui représente la luminosité de la lumière associée. Tous les paramètres, emplacements et sorties doivent également être ajoutés en tant que variables au bloc fonctionnel du Light module.

Figure 56. Déclaration de module Light
Déclaration de module Light


Figure 57. Déclaration du bloc fonction Light
Déclaration du bloc fonction Light


Figure 58. Liste de textes et pool d'images
Liste de textes et pool d'images


Etape 5 : Créer le sous-module "Light simple"