Skip to main content

Étape 6 : Mise en œuvre

Commutateurs

Pour la mise en œuvre des fonctionnalités du module Switch nous utilisons la méthode CallPrioMediumStart à partir de Module en le remplaçant par notre propre implémentation. Nous choisissons cette fonction, car le module Room a déclaré un MEDIUM tâche, ce qui implique que la méthode CallPrioMediumStart du bloc fonction Switch sera appelée à chaque cycle d'une tâche moyenne. Les informations détaillées peuvent être consultées dans l'exemple de projet lui-même. Cependant, la fonctionnalité principale du commutateur est de différer entre la fonction tap et la fonction dim. Après avoir appuyé sur le commutateur, une minuterie démarre avec le temps donné par le paramètre utilisateur. Lorsque la minuterie est terminée et que l'interrupteur n'est pas relâché, la fonction dim est utilisée, indiquée par la variable xPushLong. La variable xPush est TRUE, si le commutateur est juste tapé. Pour les deux xPushLong et xPush les propriétés sont ajoutées à la fois au bloc fonction Switch et l'interface ISwitch, afin qu'ils puissent être utilisés à partir du bloc de fonction d'éclairage parent.

Léger

Encore une fois, le Light le bloc fonction remplace la méthode CallPrioMediumStart. Selon les variables d'entrée de l'interrupteur sous-jacent, la lumière est atténuée sur "on" ou "off" ou seulement basculée. Pour le variateur, la valeur de vitesse du paramètre déclaré rSpeed est utilisé. Après avoir atteint la valeur de variation maximale ou minimale, la variation est arrêtée. Si la lumière est dans un état atténué et que l'interrupteur est enfoncé, la lumière est allumée. (L'implémentation détaillée est donnée dans l'exemple de projet correspondant.)

Vérifiez le code

Après la mise en œuvre, les déclarations doivent être vérifiées à l'aide de la commande Construire. Si aucune erreur ne s'affiche, les déclarations sont correctes.

Étape 7 : Composer des modules