Commande multiple d'éclairage - KNX

par fma38

Lors de mon premier petit projet KNX, j'ai voulu réaliser les fonctions suivantes :

  • bouton A : commute l'état (ON/OFF) de la lampe 1 à chaque pression
  • bouton B : commute l'état (ON/OFF) de la lampe 2 à chaque pression
  • bouton C : allume (ON) les 2 lampes
  • bouton D : éteint (OFF) les 2 lampes

Dans un premier temps, j'ai paramétré les entrées binaires (N261) comme ceci :

Comme on peut le voir, les boutons A et B sont en mode inversion, le bouton C force la valeur marche, et le bouton D force la valeur arrêt.

J'ai ensuite réalisé le câblage suivant :

J'ai créé 3 adresses de groupe : la première (1/1/1) pour lier le bouton A et la lampe 1, la deuxième (1/1/2) pour lier le bouton B et la lampe 2, et la troisième (1/1/3) pour lier les boutons C et D aux deux lampes.

Et là, paf ! LE problème classique : si la lampe 1 (resp. 2) est allumée par le bouton A (resp. B), mais éteinte avec le bouton D, la pression suivante sur le bouton A (resp. B) ne rallume pas la lampe 1 (resp. 2). C'est dû au fait que le bouton A (resp. B) ne sait pas que l'état de la sortie a changé lorsqu'on utilise le bouton D pour éteindre. Notez que le même problème survient si on allume les lampes 1 et 2 avec le bouton C, et qu'on cherche à éteindre la lampe 1 (resp. 2) avec le bouton A (resp. B).

Après m'être trituré les méninges et m'être cassé la tête avec les objets status du module de sortie N510, j'ai demandé de l'aide. Frédéric (fred) Thomas m'a donné la solution, qui est tout simplement d'ajouter les objets bouton A et bouton B à l'adresse de groupe 1/1/3, pour qu'ils soient informés du changement d'état lorsqu'on utilise les boutons C et D.

Cela donne ceci :

Vous noterez que le flag S n'est pas activé pour les objets bouton A et bouton B dans l'adresse de groupe 1/1/3. C'est normal, puisqu'ils ne peuvent (et ne doivent pas) générer cette adresse de groupe ; ils sont seulement à l'écoute, pour mettre à jour leur état interne lorsque cette adresse de groupe est utilisée (générée par les boutons C et D).

L'explication plus complète donnée par fred est celle-ci :

Les télégrammes fonctionnels KNX sont envoyés vers une adresse dite de groupe (Group Address, GA). Un participant KNX manipule un certain nombre de valeurs, appelées objets. Par exemple un interrupteur tout ou rien conserve la valeur qui correspond au dernier appui sur le bouton, coté on ou off, dans un objet, appelons le appui. Ces objets s'affichent dans ETS en dessous ou en regard du participant lorsqu'on clique dessus.

Lorsque on appuie sur le bouton, l'objet change de valeur, ce qui provoque en général l'émission d'un télégramme sur la GA qui contient cet objet. Mais il est possible d'associer plusieurs GA a un objet. Par exemple l'objet B1 dans mon exemple ci-dessus. Dans ce cas, l'interrupteur n'envoie de télégramme que sur la GA qui a le flag S. Quand il n'y a qu'une GA, elle a automatiquement le flag S.

Tout participant dont un objet est associé à une GA va écouter celle- ci, c'est à dire que l'objet va changer de valeur en fonction des télégrammes sur le bus. Ainsi, tous les objets liés à la même GA ont la même valeur. En fait, même dans un cas tout simple 1 interrupteur I, 1 objet OI, 1 actionneur A, 1 object OA, 1 GA avec les deux objets OI et OA, quand tu appuies sur l'interrupteur, l'objet OI change de valeur, ce qui provoque l'émission d'un télégramme sur la GA, et comme OA est dans la GA il entend le télégramme, ce qui change OA (ce qui allume la lumière).

Dans le cas de Frédéric (simplifié), OA est lié à 2 GAs, et donc change en fonction des télégrammes sur ces deux GAs. Mais les interrupteurs (en mode toggle) doivent également avoir leur OI synchronisés avec la valeur de OA, sinon lors du prochain appui sur le bouton, la fonction toggle inverse OI et un télégramme est envoyé qui ne fait rien (vu que OA a changé à l'insu de OI, inverser le vieux OI donne la valeur de OA).

Pour que tous les objets soit synchronisés, il suffit de tous les lier à la GA, et indiquer sur quelle GA émettre en cas de changement de l'objet.

J'espère que ça aidera les débutants comme moi qui butent sur les trucs de base !

—–(EDIT Metas 2016)————————————————————————————————————————

Un petit édit de cette page, juste pour signaler que la plupart des actionneurs ont maintenant un objet de “retour d'état”.

Dans la configuration présenté ci dessus, on pourra créer deux autres adresse de groupes par exemple :

1/2/1 : retour d'état de la lampe 1

1/2/2 : retour d'état de la lampe 2

On reliera alors 1/2/1 à l'objet de retour d'état de la lampe 1 (avec le flag “S”) et au bouton 1 (sans le flag “S”)

Puis 1/2/2 à l'objet de retour d'état de la lampe 2 (avec le flag “S”) et au bouton 2 (sans le flag “S”)

C'est plus “propre” que la solution proposée ci dessus (ie : mettre le 1/1/3 aux deux boutons), et permet à chaque bouton d'être maintenu à jour avec l'état “réel” de la lampe.

commande_multiple_d_eclairage.txt · Dernière modification: 2016/04/19 17:29 par metas
 
Sauf mention contraire, le contenu de ce wiki est placé sous la licence suivante : CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki