É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).
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.
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.
Light
Light
