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