Brevet FR2842636A1 — publié le 20040123

La présente invention concerne un procédé de transmission d'ordres entre un émetteur d'ordres et un récepteur d'ordres agissant sur un équipement apte à effectuer des commandes associées aux ordres, comprenant une étape d'émission d'au moins un ordre par l'émetteur d'ordres, les ordres se succédant dans une trame ou dans plusieurs trames. Un tel procédé de transmission d'ordres concerne par exemple des émetteurs d'ordres et des récepteurs d'ordres opérant sur un même réseau de communication et utilisés pour la gestion technique et la gestion du confort dans un bâtiment d'habitation ou dans un bâtiment commercial. Un premier problème rencontré avec les dispositifs récepteurs d'ordres de l'état de la technique, comme décrit dans la demande EP O 521 818, concerne le comportement purement séquentiel de ces dispositifs. Ainsi, toute nouvelle commande se fait après la commande précédente de sorte qu'il est impossible d'exécuter des commandes en parallèle sur un même récepteur d'ordres. Un deuxième problème rencontré concerne l'évolutivité des produits. Quand un récepteur d'ordres est conçu, on prévoit de lui faire reconnaître et exécuter certaines commandes. Bien souvent, on se rend compte, après analyse des comportements des utilisateurs, qu'il serait judicieux de doter le récepteur de nouvelles commandes. Cependant, il est trop tard pour implanter celles-ci sur les produits déjà installés et il est coteux d'implanter celles-ci sous forme de modules logiciels modifiés dans les nouveaux produits fabriqués. Une solution possible à ce type de problème consiste à télécharger dans le récepteur d'ordres de nouveaux modules logiciels, comme décrit pour d'autres applications dans le brevet US 5,787,288. Un troisième problème apparemment sans rapport avec les précédents concerne le cas de télécommandes o ce n'est pas l'appui sur la touche de commande qui provoque la commande, mais la durée de cet appui qui permet de discriminer une première commande d'une deuxième commande. Dans le cas connu de la commande de stores enroulables ou de la commande de lèvevitres automobiles, une impulsion brève est interprétée comme un ordre de déplacement rapide jusqu'à la position extrême, alors qu'une impulsion maintenue est interprétée comme un ordre de déplacement lent tant que la touche est maintenue appuyée. Si la valeur discriminante appui bref/appui maintenu est fixée à 0.3 seconde, ce n'est qu'après cette durée que la commande peut être émise par l'émetteur d'ordres. Ainsi, le délai de réaction total peut s'avérer très supérieur à cette valeur. En effet, même installés à demeure, les dispositifs récepteurs d'ordres peuvent être alimentés de manière autonome, par exemple avec des piles électriques. Le problème consiste à réduire la consommation du récepteur. A cet effet, il a été conçu des procédés de mise en sommeil périodique du récepteur, comme décrit dans le brevet US 5,134,347. Par exemple, le récepteur se réveille toutes les 500 ms et repasse en mode sommeil s'il ne constate pas d'émission. En conséquence, l'émetteur d'ordres doit émettre un signal appelé " trame de réveil " qui dure au moins 500 ms afin que celle-ci soit reçue par un récepteur. Le signal de commande proprement dit suit alors cette trame de réveil. Ainsi, lorsque de tels procédés sont appliqués à la commande d'un récepteur autonome par une télécommande discriminant des ordres correspondant à un appui bref et des ordres correspondant à un appui maintenu, il peut être nécessaire d'attendre plus de 800 ms avant que ne soit transmise la commande, d'o un temps de réaction très nettement perceptible et l'impression éventuelle d'un dysfonctionnement du produit commandé. De la demande US 2001/0010503, on connaît un procédé permettant d'implanter des." macro-commandes " sur une télécommande universelle. Ce procédé comprend une phase d'apprentissage d'une succession de commandes. Cette séquence de commandes est ensuite restituée à l'identique lors de l'appui sur la touche d'exécution de la macro-commande. Du brevet US 6,208,341, on connaît un procédé et un dispositif permettant de même d'enregistrer une succession de commandes avec la possibilité d'insérer des intervalles de temps réglables entre deux commandes émises lors de la restitution de la macrocommande. Ces deux derniers procédés permettent de résoudre le problème de l'évolutivité des produits. Cependant, deux problèmes persistent. En effet, l'exécution des commandes est toujours séquentielle et il existe toujours un temps mort lié à l'interprétation de. la volonté de l'utilisateur d'une télécommande commandant le fonctionnement d'un dispositif autonome. Le but de l'invention est de fournir un procédé palliant ces inconvénients. En particulier, l'invention se propose de fournir un procédé de transmission d'ordres permettant à l'équipement électrique commandé d'effectuer des actions en parallèle et permettant de réduire le temps mort lié à l'interprétation de la volonté de l'utilisateur d'une télécommande commandant le fonctionnement d'un dispositif autonome. L'invention a encore pour but de fournir un dispositif permettant la mise en oeuvre d'un tel procédé. Le procédé de transmission d'ordres selon l'invention est caractérisé en ce qu'à chaque ordre ou à au moins certains ordres est associé un marqueur émis par l'émetteur d'ordres et destiné à lier, par des relations logiques et/ou conditionnelles et/ou temporelles, les commandes associées à ces ordres. Le procédé peut comprendre une étape préalable d'enregistrement dans une mémoire de l'émetteur d'ordres d'un enchaînement logique et/ou temporel d'ordres de commande associé à une manipulation de l'émetteur d'ordres. Le ou les marqueurs peuvent être codés sur au moins deux bits. L'installation permettant la mise en oeuvre d'un tel procédé comprend un émetteur d'ordres comprenant une unité logique de traitement reliée à des moyens d'émission d'ordres, à une mémoire et à un moyen de saisie, et un récepteur d'ordres comprenant une unité logique de traitement reliée à des moyens de réception d'ordres, à une mémoire et pilotant un actionneur agissant sur un équipement. Le dessin annexé représente, à titre d'exemple, un mode d'exécution du procédé de transmission d'ordres selon l'invention. La figure 1 est un schéma du dispositif permettant la mise en oeuvre du procédé selon l'invention. La figure 2 est un ordinogramme d'un mode d'exécution du procédé de transmission selon l'invention. La figure 3 est un ordinogramme du procédé appliqué à la commande d'un cycle de ventilation. L'ensemble émetteur d'ordres EO, récepteur d'ordres RO et équipement 15 représenté à la figure 1 permet l'exécution du procédé de transmission d'ordres selon l'invention. Le récepteur d'ordres RO contient un émetteurrécepteur radiofréquences 12 raccordé à un dispositif de couplage de type antenne 11 d'une part, et à une unité de traitement 13 de type microprocesseur ou microcontrôleur, d'autre part. Cette unité de traitement 13 pilote un actionneur 14 dont l'alimentation électrique n'est pas représentée. L'actionneur 14 agit sur un équipement 15 tel qu'un store, une porte, un volet roulant, un radiateur de chauffage ou un dispositif de climatisation ou d'éclairage. Bien que l'unité de traitement 13 soit préférentiellement un microcontrôleur, qui intègre une zone mémoire, on a représenté ici, de manière séparée, une mémoire 16 destinée à contenir entre autres un programme de gestion et d'exécution des commandes. L'émetteur d'ordres EO comprend une antenne 21, un émetteur-récepteur radiofréquences 22, une unité de traitement 23 de type microcontrôleur, un moyen de saisie de type clavier 24 et une mémoire 25. La communication bidirectionnelle, représentée par la flèche 1, entre l'émetteur d'ordres EO et le récepteur d'ordres RO se fait par ondes électromagnétiques. L'invention repose sur l'introduction, au sein même de la trame d'émission d'un ordre, de marqueurs, codés sur au moins deux bits et associés chacun à un ordre, dont la fonction est d'indiquer au récepteur quelles sont les relations logiques et/ou temporelles entre les ordres transmis. Ces marqueurs comportent deux bits et la table de vérité associée est donnée au tableau 1. Tableau 1 Comportement Bit 1 Bit 0 Commande unique 0 0 Commande suivante à exécuter en O 1 série Commande suivante à exécuter en 1 O parallèle Fin de groupe de commandes i 1 Une trame d'émission d'ordre l'émetteur d'ordres vers le contient au moins: - un ordre CMD, - un marqueur MAK. transmise récepteur depuis d'ordres En général, la trame d'émission d'ordre contient également des éléments d'identification du ou des récepteurs d'ordres destinataires de l'ordre, et d'identification et/ou d'authentification de l'émetteur d'ordres. Lorsqu'on effectue, comme représenté à la figure 2, une action Al, consistant par exemple en un appui sur un bouton du clavier 24 de l'émetteur d'ordres EO et correspondant à une série de commandes appelée macro5 commande, un programme 110 est activé. Ce programme recherche dans la mémoire 25 de l'émetteur d'ordres EO les ordres de commande CMDa à CMDn constituant la macro-commande ainsi que les marqueurs MAKa à MAKn associés aux ordres de commande. Chaque ordre de commande CMDa à CMDn et le marqueur MAKa à MAKn qui lui est associé est alors transmis dans une trame par l'émetteur d'ordres EO au récepteur d'ordres RO. Chaque trame reçue par le récepteur d'ordres est analysée par un programme 201. Ce programme 201 enregistre l'ordre de commande et le marqueur en mémoire et teste le marqueur de manière à déterminer s'il faut ou non activer un programme 210 de gestion et d'exécution des commandes. Par exemple, on représente à la figure 3, l'ordinogramme du procédé selon l'invention permettant un cycle de ventilation d'un local équipé d'un ventilateur installé dans un conduit de ventilation et associé à des volets permettant l'ouverture et la fermeture du conduit. L'action A2 sur la touche de l'émetteur d'ordres EO correspondant à un cycle de ventilation courte a pour effet d'activer le programme 110 qui cherche en mémoire les ordres de commande CMD1, CMD2 et CMD3 qui constituent cette macro-commande et les marqueurs MAK1, MAK2 et MAK3 qui leur sont associés. Il permet ensuite l'envoi de ces ordres et de ces marqueurs de l'émetteur d'ordres vers le récepteur d'ordres. La commande associée à l'ordre CMD1 correspond à une ouverture à 100% du conduit d'aération, la commande associée à l'ordre CMD2 correspond à l'activation du ventilateur pendant 10 minutes et la commande associée à l'ordre CMD3 correspond à la fermeture du conduit d'aération. Lorsque le récepteur d'ordres reçoit la première trame contenant l'ordre de commande CMD1 et le marqueur MAK1, le programme 201 enregistre en mémoire cet ordre et ce marqueur. Le programme 201 teste de plus la valeur du marqueur MAK1 et en déduit qu'une commande sera à effectuer après la commande associée à l'ordre CMD1. Le récepteur d'ordres reçoit ensuite une deuxième trame contenant l'ordre CMD2 et le marqueur MAK2. Le programme 201 enregistre en mémoire cet ordre et ce marqueur. Il teste de plus la valeur du marqueur MAK2 et en déduit qu'une commande sera à effectuer après la commande associée à l'ordre CMD2. Le récepteur d'ordres reçoit ensuite une troisième trame contenant l'ordre CMD3 et le marqueur MAK3. Le programme 201 enregistre en mémoire cet ordre et ce marqueur. Il teste de plus la valeur du marqueur MAK3 et en déduit que la commande associée à l'ordre CMD3 est la dernière commande de la macro-commande. Par conséquent, le programme 210 de gestion et d'exécution des commandes est activé. Il recherche en mémoire les ordres de commande précédemment enregistrés et provoque l'ouverture à 100% du conduit d'aération, puis l'activation du ventilateur pendant 10 minutes et enfin la fermeture du conduit d'aération. Selon le débit de transmission, il peut être envisagé soit comme précédemment décrit un mode de réalisation o les trames sont toutes empilées, sans début d'exécution, lors d'une transmission en rafale, les ordres de commande étant ensuite analysés et exécutés par un programme gestionnaire de tâches, soit encore un mode de réalisation dans lequel la première commande reçue donne immédiatement lieu à un début d'exécution. De même, l'ensemble des ordres de commande constituant une macro-commande peut être envoyé dans une seule trame. Lorsque deux commandes sont à exécuter en parallèle, la commande associée au premier ordre reçu peut être exécutée immédiatement ou être enregistrée en mémoire afin d'être exécutée de manière synchrone avec la commande associée au deuxième ordre reçu. Par exemple, des commandes à exécution en parallèle peuvent être appliquées à l'actionnement d'un store vénitien. Un premier ordre aurait pour conséquence le déploiement du store et un deuxième ordre aurait pour conséquence l'orientation des lames. L'exécution de ces commandes en parallèle plutôt qu'en série modifie considérablement les répercussions visuelles d'activation qui nécessite un certain temps d'exécution. En ce qui concerne le temps de réaction des produits, on comprend l'usage qui peut être fait de commandes accompagnées d'un marqueur indiquant une exécution en série. En effet, l'exemple cité de la commande de montée (ou d'orientation) lente/rapide selon la durée de l'appui montre bien que dans les deux cas, l'action est à engager dans un même sens, mais avec des vitesses différentes. L'important pour l'utilisateur est que le produit commandé commence à réagir au plus tôt. On peut donc prévoir que lors de l'appui sur une touche du clavier d'un émetteur d'ordres, par exemple la touche Montée, cet émetteur provoque immédiatement l'envoi d'un code de commande correspondant à la montée lente, accompagné du marqueur ayant pour valeur 01 et indiquant que la commande suivante doit être exécutée en série. Dès que la touche est relâchée, l'émetteur d'ordres détermine s'il s'agissait d'un appui court ou non. Dans le premier cas, il émet aussitôt un code de commande correspondant à la montée rapide jusqu'en fin de course, accompagné d'un marqueur de fin de groupe ayant pour valeur 11 et indiquant qu'il s'agit qu'il n'y aura pas de commande suivante. Sous une forme préférée, le procédé utilise un marqueur de comportement à trois bits dont la table de vérité est donnée au tableau 2. Tableau 2 Instruction Bit 2 Bit 1 Bit 0 Fin de macro-programme 0 0 0 Exécution immédiate O O 1 Exécution parallèle & Fonction ET O 1 0 Exécution parallèle & Fonction OU O 1 1 Exécution parallèle & Fonction 0 NON ET Test 1 0 1 Saut 1 1 0 Temporisation 1 1 1 Huit instructions de comportement peuvent ainsi être associées à chaque commande, ce qui suffit pour créer un langage de programmation intégré à la trame. Un tel protocole de communication sauvegarde ainsi la possibilité de donner après coup des fonctionnalités apparentes évoluées et nouvelles à un produit, alors que celles-ci sont en fait implantées dans l'émetteur d'ordres. Le choix du codage est bien sr arbitraire et la logique de programmation peut être choisie de diverses manières pourvu qu'elle comporte au moins deux fonctions d'association et une fonction de complément et au moins une instruction de test et branchement. De plus, le récepteur d'ordres EO peut contenir un indicateur de succès de l'exécution de la commande. Cet indicateur, noté SUCS est dans un état actif (1) si la commande a pu être exécutée. Ainsi, lorsqu'un marqueur prend la valeur 000, il indique au récepteur d'ordres que la macro-commande est terminée. Le programme de gestion et d'exécution des commandes doit alors être lancé. Dans le cas o l'émetteur d'ordres émet une commande unique, celle-ci est accompagnée du marqueur 000. Lorsqu'un marqueur prend la valeur 001, il indique au récepteur d'ordres que la commande associée à l'ordre reçu est exécutable en série avec les autres commandes. Par exemple, si on souhaite simplement faire exécuter plusieurs commandes en série, comme dans l'exemple précédent avec le marqueur à 2 bits, chaque commande sera accompagnée d'un marqueur ayant 001 pour valeur et le dernier ordre de commande sera accompagné d'un marqueur ayant pour valeur 000. Lorsqu'un marqueur prend la valeur 010, il indique au récepteur d'ordres que la commande associée à l'ordre reçu est exécutable en parallèle avec la commande suivante. De plus, les résultats d'exécution de chaque commande sont combinés selon un ET logique. L'indicateur final SUCS n'est actif que si chacune des commandes a été réalisée avec succès. Lorsqu'un marqueur prend la valeur 011, il indique au récepteur d'ordres que la commande associée à l'ordre reçu est exécutable en parallèle avec la commande suivante. De plus, les résultats d'exécution de chaque commande sont combinés selon un OU logique. L'indicateur final SUCS est actif si l'une ou l'autre des commandes a été réalisée avec succès. Lorsqu'un marqueur prend la valeur 100, il indique au récepteur d'ordres que la commande associée à l'ordre reçu est exécutable en parallèle avec la commande suivante. De plus, le résultat d'exécution de cette commande est inversé avant d'être combiné selon un ET logique avec le résultat de la commande suivante. L'indicateur final SUCS n'est actif que si la première commande n'a pu être réalisée et si la seconde commande a été réalisée avec succès. Lorsqu'un marqueur prend la valeur 101, il indique au récepteur d'ordres que l'état de l'indicateur de succès SUCS doit être testé après l'exécution de la commande. La commande suivante est exécutée si l'indicateur SUCS est actif, sinon c'est la deuxième commande suivante qui est exécutée. Lorsqu'un marqueur prend la valeur 110, il indique au récepteur d'ordres une commande particulière de saut dans l'exécution des commandes. La valeur relative du saut remplace alors le code commande. Lorsqu'un marqueur prend la valeur 111, il indique au récepteur d'ordres une commande particulière de temporisation dans l'exécution des commandes. La valeur de temporisation remplace alors le code commande. Un exemple permet de montrer comment une commande évoluée peut être émise vers des produits capables ou non de l'exécuter comme telle. Le produit commandé est un store vénitien qui reconnaît en particulier les commandes - descente: DWN - mise en position horizontale des lames TILTH. Certains produits ont une cinématique leur permettant d'exécuter ces commandes en parallèle, d'autres produits ne peuvent les réaliser qu'en série, en effectuant dans un premier temps la descente, puis dans un deuxième temps l'orientation des lames. On crée, comme représenté au tableau 3, dans l'émetteur d'ordres, une macro-commande DNTH de descente avec orientation des lames à l'horizontale. Tableau 3 trame émise commande marqueur 1 TILTH 010 2 DWN 101 3 +3 110 4 DWN 001 TILTH 001 6 NOP 000 Lorsque l'utilisateur appuie sur la touche de l'émetteur d'ordres correspondant à cette macrocommande DNTH, le récepteur d'ordres empile en mémoire la suite des ordres de commande et en démarre ensuite l'exécution. Il reconnaît que les deux premières commandes de mise en position horizontale des lames TILTH et de descente DWN doivent être exécutées en parallèle. Si le récepteur d'ordre commande un store vénitien permettant l'exécution de ces deux ordres en parallèle, il en lance l'exécution et l'indicateur de succès SUCS passe à l'état actif après l'exécution de ces commandes. Ceci est suivi d'un saut jusqu'en fin de macro-commande. Si, par contre, le récepteur d'ordres commande un store vénitien ne permettant pas l'exécution de ces deux ordres en parallèle, il fait passer immédiatement l'indicateur de succès SUCS à 0. Les commandes de descente DWN et de mise en position horizontale des lames TILTH sont alors exécutées l'une après l'autre. Il est clair que d'autres opérateurs logiques et conditionnels tels que des opérateurs NON ET ou NON OU, pourraient être utilisés pourvu qu'ils permettent d'engendrer l'ensemble des fonctions logiques par application des règles connues de l'homme du métier. Les émetteurs et récepteurs d'ordres décrits précédemment utilisent une communication sans fil par radiofréquences et à caractère bidirectionnel, mais l'invention peut aussi s'appliquer à des dispositifs à communication unidirectionnelle. Il est à noter que la communication peut encore se faire par le biais d'une liaison de type bus filaire ou de type courants porteurs. Un même récepteur d'ordres peut communiquer avec un ou plusieurs émetteurs d'ordres et un même émetteur d'ordres peut communiquer avec un ou plusieurs récepteurs d'ordres. Grâce à un tel procédé, on peut créer de nouvelles fonctionnalités sur les produits commandés en agissant sur le seul émetteur d'ordres dont la programmation ou le changement est beaucoup plus aisé que celui du produit installé. Un avantage du procédé réside dans le fait qu'une seule opération d'authentification est nécessaire avant ou après la transmission du groupe de commandes. Ceci permet de gagner du temps de traitement, mais aussi et surtout de limiter le trafic sur le réseau. Revendications 1. Procédé de transmission d'ordres entre un émetteur d'ordres (EO) et un récepteur d'ordres (RO) agissant sur un équipement (15) apte à effectuer des commandes associées aux ordres, comprenant une étape d'émission d'au moins un ordre par l'émetteur d'ordres (EO), les ordres se succédant dans une trame ou dans plusieurs trames, caractérisé en ce qu'à au moins certains ordres est associé un marqueur émis par l'émetteur d'ordres (EO) et destiné à lier, par des relations logiques et/ou conditionnelles et/ou temporelles, les commandes associées à ces ordres. 2. Procédé de transmission d'ordres selon la revendication 1, caractérisé en ce qu'il comprend une étape préalable d'enregistrement dans une mémoire (25) de l'émetteur d'ordres (EO) d'un enchaînement logique et/ou temporel d'ordres de commande associé à une manipulation de l'émetteur d'ordres (EO). 3. Procédé de transmission d'ordres selon l'une des revendications 1 ou 2, caractérisé en ce que le ou les marqueurs sont codés sur au moins deux bits. 4. Installation pour la mise en oeuvre du procédé selon l'une des revendications 1 à 3, caractérisée en ce qu'elle comprend un émetteur d'ordres (EO) comprenant une unité logique de traitement (23) reliée à des moyens d'émission d'ordres (21, 22), à une mémoire (25) et à un moyen de saisie (24), et un récepteur d'ordres (RO) comprenant une unité logique de traitement (13) reliée à des moyens de réception d'ordres (11, 12), à une mémoire (16) et pilotant un actionneur (14) agissant sur un équipement (15).