Brevet FR2923127A1 — publié le 20090501

Equipement d'automatisme fonctionnant par liaison sans-fil La présente invention se rapporte à un procédé de commande mis en oeuvre dans un équipement d'automatisme. L'invention concerne également un équipement 5 d'automatisme apte à mettre en oeuvre ce procédé de commande. Un automate programmable ou PLC ("Programmable Logical Controller") est un équipement d'automatisme capable de piloter, commander et/ou surveiller un ou plusieurs processus à commander. 10 De construction généralement modulaire, un automate programmable PLC est composé de différents modules qui communiquent entre eux, généralement par un bus de transmission, appelé dans ce domaine bus "fond de panier" (ou "backplane"). Les modules sont fixés mécaniquement dans un rack (ou bac), lequel comprend un circuit imprimé qui supporte également le bus fond de panier ainsi que les éléments 15 de connexion destinés à coopérer avec des connecteurs présents généralement sur la partie arrière des modules de manière à réaliser la liaison nécessaire entre les modules et le bus. Le nombre de modules dépend bien entendu de la taille et du type de processus à automatiser. Typiquement, un automate programmable peut comporter : 20 - un module d'alimentation fournissant les différentes tensions aux autres modules à travers le bus fond de panier. - un module unité centrale UC qui comporte un logiciel embarqué, appelé programme constructeur ("firmware"), intégrant un système d'exploitation OS temps réel, et un programme d'application, ou programme utilisateur, contenant 25 les instructions à exécuter par le logiciel embarqué pour effectuer les opérations d'automatisme souhaitées. Le module UC comporte aussi généralement une connexion en face avant vers des outils de programmation de type ordinateur personnel PC. - des modules d'entrées/sorties de divers types en fonction du processus à 30 commander, tels que entrées/sorties numériques ou TOR, analogiques, de comptage, etc. Ces modules d'entrées/sorties sont reliés à des capteurs et des actionneurs participant à la gestion automatisée du processus. - un ou plusieurs modules de communication vers des réseaux de communication (Ethernet, CAN, .) ou des interfaces homme-machine (écran, clavier,...). A titre d'exemple, un module d'entrées/sorties peut comporter entre 1 et 32 voies d'entrées/sorties, un automate PLC pouvant être capable suivant les modèles de gérer plusieurs centaines de voies d'entrées/sorties. En cas de besoin, dans un même automate programmable, plusieurs racks secondaires peuvent être connectés sur le rack principal qui porte le module unité centrale. Récemment, on a vu apparaître des équipements d'automatisme comportant des modules d'entrées/sorties déportés sur des racks secondaires qui communiquent à travers une liaison sans fil avec le module unité centrale disposé sur le rack principal. La demande de brevet WO 2004/114630 décrit un tel équipement. Avec de tels équipements, il est nécessaire de garantir le déterminisme des échanges entre le module unité centrale et ses modules d'entrées/sorties déportés. Par déterminisme, on entend que la durée entre l'émission d'une commande par le module unité centrale et son exécution par le module d'entrées/sorties doit être borné dans le temps. La valeur de ce temps doit être la plus constante possible. Sans un certain niveau de déterminisme, il est impossible de commander certaines applications avec un équipement d'automatisme fonctionnant dans un réseau sans fil. Par exemple, un objet se déplaçant sur un tapis roulant doit toujours être arrêté au même endroit pour garantir le fonctionnement de la chaîne de production. La précision de la position est essentielle et dépend directement de la communication entre le module unité centrale et le module d'entrées/sorties. Or, lorsque la liaison est de type sans fil radio, un certain niveau de déterminisme est difficile à garantir. En effet, la durée d'acheminement d'un message radio varie notamment à cause des interférences ou des atténuations. Même si certains systèmes comme "Bluetooth" sont très résistants car ils changent en permanence de fréquence radio et incluent des retransmissions automatiques et des codes correcteurs d'erreurs, et fiables dans la mesure où un message arrivera de manière quasi-certaine à son destinataire, ils ne permettent pas de garantir une durée d'acheminement constante, notamment à cause des retransmissions automatiques. Par ailleurs, les différents mécanismes mis en oeuvre actuellement pour des réseaux filaires afin d'obtenir un déterminisme, ne sont pas transposables aux réseaux sans fil. Par exemple, employer un réseau de terrain dédié aux échanges de communication entre le module unité centrale et les modules d'entrées/sorties et ayant des caractéristiques connues, ne peut être appliqué à un réseau sans fil, car contrairement à un fil, le medium (le vide) employé pour véhiculer des ondes n'est pas maîtrisable. Par conséquent, le but de l'invention est de proposer un procédé de commande mis en oeuvre dans un équipement d'automatisme permettant d'obtenir un certain niveau de déterminisme dans les échanges réalisés à travers une liaison sans fil entre un module unité centrale et ses modules-entrées/sorties déportés. Ce but est atteint par un procédé de commande mis en oeuvre dans un équipement d'automatisme, ledit équipement d'automatisme comportant : un module unité centrale comportant une première horloge, un premier module de communication sans fil associé au module unité centrale, au moins un module d'entrées/sorties comportant une seconde horloge synchronisée avec la première horloge, un second module de communication sans fil associé au module d'entrées/sorties, le premier et le second modules de communication sans fil étant aptes à communiquer entre eux par une liaison sans fil, caractérisé en ce que le procédé comporte des étapes de : envoi d'une commande par le module unité centrale au module d'entrées/sortie via les modules de communication sans fil, ladite commande étant accompagnée d'une heure d'émission de la commande, exécution de la commande par le module d'entrées/sorties à un instant donné, cet instant étant déterminé à partir de l'heure d'émission de la commande reçue par le module d'entrées/sorties et d'un temps de latence prédéterminé et mémorisé dans le module d'entrées/sorties...DTD: Selon un premier mode de réalisation de l'invention, l'étape d'exécution de la commande est mise en oeuvre à l'instant donné calculé à partir de la somme de l'heure d'émission et du temps de latence. Selon un second mode de réalisation de l'invention, avant l'étape d'exécution de la commande, le module d'entrées/sorties met en oeuvre des étapes de : comparaison entre l'heure d'émission et la seconde horloge au moment de la réception de la commande pour calculer une durée d'acheminement de la commande, détermination d'une durée d'attente avant l'exécution de la commande, cette durée d'attente correspondant à la différence entre le temps de latence et la durée d'acheminement de la commande. Selon une particularité de l'invention, la seconde horloge est synchronisée avec la première horloge lors d'une étape de synchronisation réalisée par échange de messages successifs entre le module unité centrale et le module d'entrées sorties et par mesure de la durée d'acheminement des messages entre les deux modules. Selon une variante de réalisation la seconde horloge peut par exemple être synchronisée avec la première horloge lors d'une étape de synchronisation mise en oeuvre en employant un récepteur GPS équipant le module unité centrale et le module d'entrées/sorties. Selon une autre particularité, l'étape de synchronisation des horloges est mise en oeuvre au démarrage de l'équipement d'automatisme. Cette étape peut également être mise en oeuvre régulièrement après le démarrage de l'équipement d'automatisme. Selon une autre particularité de l'invention, le temps de latence est déterminé de manière dynamique lors de l'étape de synchronisation des horloges en tenant compte d'une durée d'acheminement maximum entre les deux modules. Dans une variante, le temps de latence peut également être saisie manuellement par l'utilisateur en tenant compte de l'implantation de son équipement et des recommandations du fabriquant. Selon une autre particularité, la liaison sans fil employée est par exemple de type "Bluetooth". L'invention concerne également un équipement d'automatisme apte à mettre en oeuvre le procédé défini ci-dessus, cet équipement comportant : un module unité centrale comportant une première horloge, un premier module de communication sans fil associé au module unité centrale, - au moins un module d'entrées/sorties comportant une seconde horloge synchronisée avec la première horloge, un second module de communication sans fil associé au module d'entrées/sorties et apte à communiquer avec le premier module de communication à travers une liaison sans fil, D'autres caractéristiques et avantages vont apparaître dans la description détaillée qui suit en se référant à un mode de réalisation donné à titre d'exemple et représenté par les dessins annexés sur lesquels : la figure 1 représente un équipement d'automatisme constitué d'un rack principal portant notamment un module unité centrale et de plusieurs racks secondaires déportés portant des modules d'entrées/sorties. Un équipement d'automatisme tel qu'un automate programmable est 15 composé de plusieurs modules communiquant entre eux pas un bus. Un tel équipement comporte par exemple un rack principal 1 dans lequel est monté un module d'alimentation 10 et un module unité centrale 13 doté de moyens de traitement pPl. Le module d'alimentation 10 permet d'alimenter en courant les autres modules du rack. Un équipement d'automatisme peut également comporter un ou 20 plusieurs modules d'entrées/sorties 12 montés sur le rack principal 1. Un équipement d'automatisme peut également comporter des modules d'entrées/sorties déportés 22a, 22b montés dans des racks secondaires 2a, 2b, 2c disposés au plus prés de l'application à commander. Un module d'alimentation 20 spécifique monté sur chaque rack secondaire 2a, 2b, 2c permet d'alimenter les modules du rack. L'équipement 25 d'automatisme peut également comporter un premier module de communication 11 associé au module unité centrale 13 et par exemple monté dans le rack principal 1, et pour chaque rack secondaire 2a, 2b, 2c déporté, un second module de communication 21 associé aux modules d'entrées/sorties déportés du rack secondaire. Les modules d'entrées/sorties déportés sur les racks secondaires 30 peuvent désormais communiquer avec le module unité centrale du rack principal par une liaison sans fil radio, par exemple de type "Bluetooth". Pour cela, le premier module de communication 11 et le second module de communication 21 intègrent chacun une antenne 100, 200 et une fonction de communication sans fil, par exemple 10 de type "Bluetooth". Ci-après, on parlera de module de communication sans fil pour évoquer le premier et second modules de communication 11, 21 intégrant la fonction de communication sans fil. Bien entendu, ces modules de communication peuvent comporter d'autres interfaces de communication. Contrairement à un réseau de communication filaire, la durée d'acheminement de données dans un réseau de communication sans-fil entre le module unité centrale et des modules d'entrées/sorties est inconstante compte tenu des atténuations ou des interférences. Cependant, il est nécessaire que l'exécution des commandes envoyées par le module unité centrale aux modules entrées-sorties déportés soit réalisée de manière certaine à un instant donné de manière à ne pas perturber le processus commandé. Ci-dessous, pour simplifier, on considère un équipement d'automatisme qui est constitué d'un rack principal 1 comportant au moins un module d'alimentation 10, un module unité centrale 13 et un premier module de communication sans fil 11 et d'un rack secondaire 2a déporté portant un module d'alimentation 20, un module d'entrées/sorties 22a et un second module de communication sans fil 21. Le module unité centrale 13 et le module d'entrées/sorties 22a communiquent entre eux, par liaison sans fil radio en utilisant leur module de communication sans fil 11, 21. Il faut comprendre que tout ce qui est décrit pour le module d'entrées/sorties défini ci- dessous est valable pour tous les autres modules d'entrées/sorties déportés. L'invention repose alors sur deux principes : Un premier principe consiste à mettre en place une horloge universelle entre le module unité centrale 13 et le module d'entrées/sorties 22a déporté. Pour cela, le module unité centrale 13 gère grâce à ses moyens de traitement pPl une première horloge h1 et le module d'entrées/sorties gère grâce à ses moyens de traitement pP2 une seconde horloge h2. Ces deux horloges h1, h2, par exemple de type logicielles, sont synchronisées de manière à ce que le module unité centrale 13 et le module d'entrées/sorties 22a disposent d'un référentiel de temps commun. La synchronisation des deux horloges h1, h2 peut être réalisée en équipant le module unité centrale 13 et le module d'entrées/sorties 22a d'un récepteur GPS (Guidage Par Satellite) ou en exécutant périodiquement un algorithme de synchronisation d'horloge. Cette algorithme consiste à échanger plusieurs fois, par la liaison sans fil, entre le module unité centrale 13 et le module d'entrées/sorties 22a, des messages accompagnés de l'heure d'émission et à mesurer à chaque fois le temps d'aller et retour du message. Le nombre et la durée des échanges de message dépend du niveau de précision et de fiabilité souhaité. La procédure de synchronisation peut être effectuée au démarrage de l'équipement d'automatisme et éventuellement répétée de temps en temps pour éviter une dérive de l'horloge universelle. Ce type de procédure de synchronisation est bien connu dans l'art antérieur. A partir du moment où le module unité centrale 13 et le module d'entrées/sorties 22a déporté disposent d'un référentiel de temps commun, le module unité centrale 13 peut ainsi envoyer au module d'entrées/sorties 22a un message comportant par exemple une commande accompagnée de l'heure d'émission TO du message. Un second principe consiste à exécuter la commande envoyée à un instant déterminé qui est calculé par les moyens de traitement pP2 du module d'entrées/sorties 22a à partir de l'heure d'émission TO qu'il a reçue et d'un temps de latence x déterminé mémorisé dans une mémoire M du module d'entrées/sorties 22a. L'instant d'exécution de la commande peut être calculé de deux manières par les moyens de traitement pP2 du module d'entrées sorties 22a : le module d'entrées/sorties 22a peut comparer l'heure d'émission TO reçue à son horloge actuelle et calculer la différence qui correspond à la durée d'acheminement y de la commande. A partir du temps de latence mémorisé x, il ne lui reste qu'à attendre une durée déterminée correspondant à x-y millisecondes pour exécuter la commande reçue du module unité centrale. Plus simplement, le module d'entrées/sorties peut exécuter la commande en ajoutant son temps de latence x à l'heure d'émission TO reçue quelle que soit la durée d'acheminement y du message, dans la mesure où cette durée d'acheminement est inférieure au temps de latence x mémorisé. Selon l'invention, le temps de latence x peut être défini de manière statique ou de manière dynamique. Définir le temps de latence de manière statique consiste à saisir ou 30 sélectionner dans le module d'entrées/sorties 22a une valeur maximum définie par l'utilisateur en fonction de l'environnement d'implantation de son équipement et des recommandations du constructeur de l'équipement d'automatisme. Une marge de sécurité peut être prévue pour être sûr que, même dans le pire des cas, le temps de 25 latence x mémorisé sera toujours supérieur à la durée d'acheminement d'un message entre le module unité centrale 13 et le module d'entrées/sorties 22a. Dans le cas où la technologie employée est de type "Bluetooth" (pratiquant le saut de fréquence appelé "frequency hopping"), le pire des cas peut par exemple correspondre au temps nécessaire à balayer l'ensemble du spectre. Définir le temps de latence de manière dynamique consiste par exemple à récupérer la valeur maximum de la durée d'acheminement de plusieurs messages circulant entre le module unité centrale 13 et le module d'entrées/sorties 22a. Cette procédure peut par exemple être mise en oeuvre lors de la synchronisation des horloges h1, h2 du module unité centrale 13 et du module d'entrées/sorties 22a. Par rapport à cette valeur maximum, il suffit de prévoir une petite marge de sécurité pour définir le temps de latence x. Le nombre de mesures de la durée d'acheminement permet de fiabiliser le choix du temps de latence. Il est bien entendu que l'on peut, sans sortir du cadre de l'invention, imaginer d'autres variantes et perfectionnements de détail et de même envisager l'emploi de moyens équivalents. REVENDICATIONS 1. Procédé de commande mis en oeuvre dans un équipement d'automatisme, ledit équipement d'automatisme comportant : un module unité centrale (13) comportant une première horloge (h1), un premier module de communication sans fil (11) associé au module unité centrale (13), au moins un module d'entrées/sorties (22a) comportant une seconde horloge (h2) synchronisée avec la première horloge (h1), un second module de communication sans fil (21) associé au module d'entrées/sorties (22a), le premier et le second modules de communication sans fil (11, 21) étant aptes à communiquer entre eux par une liaison sans fil, caractérisé en ce que le procédé comporte des étapes de : envoi d'une commande par le module unité centrale (13) au module d'entrées/sortie (22a) via les modules de communication sans fil (11, 21), ladite commande étant accompagnée d'une heure d'émission de la commande, exécution de la commande par le module d'entrées/sorties (22a) à un instant donné, cet instant étant déterminé à partir de l'heure d'émission (TO) de la commande reçue par le module d'entrées/sorties (22a) et d'un temps de latence (x) prédéterminé et mémorisé dans le module d'entrées/sorties (22a). 2. Procédé selon la revendication 1, caractérisé en ce que l'étape d'exécution de la commande est mise en oeuvre à l'instant donné calculé à partir de la somme de l'heure d'émission (TO) et du temps de latence (x). 3. Procédé selon la revendication 1, caractérisé en ce que, avant l'étape d'exécution de la commande, le module d'entrées/sorties met en oeuvre des étapes de : comparaison entre l'heure d'émission (TO) et la seconde horloge au moment de la réception de la commande pour calculer une durée d'acheminement (y) de la commande,détermination d'une durée d'attente avant l'exécution de la commande, cette durée d'attente correspondant à la différence entre le temps de latence (x) et la durée d'acheminement (y) de la commande. 4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que la seconde horloge (h2) est synchronisée avec la première horloge (h1) lors d'une étape de synchronisation réalisée par échange de messages successifs entre le module unité centrale (13) et le module d'entrées sorties (22a) et par mesure de la durée d'acheminement des messages entre les deux modules. 5. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que la seconde horloge (h2) est synchronisée avec la première horloge (h1) lors d'une étape de synchronisation mise en oeuvre en employant un récepteur GPS équipant le module unité centrale (13) et le module d'entrées/sorties (22a). 6. Procédé selon la revendication 4 ou 5, caractérisé en ce que l'étape de synchronisation est mise en oeuvre au démarrage de l'équipement d'automatisme. 7. Procédé selon l'une des revendications 4 à 6, caractérisé en ce que l'étape de synchronisation est mise en oeuvre régulièrement après le démarrage de l'équipement d'automatisme. 8. Procédé selon l'une des revendications 4 à 7, caractérisé en ce que le temps de latence est déterminé de manière dynamique lors de l'étape de synchronisation des horloges en tenant compte d'une durée d'acheminement maximum entre les deux modules. 9. Procédé selon l'une des revendications 1 à 8, caractérisé en ce que la liaison sans fil est de type "Bluetooth". 10. Equipement d'automatisme comportant : un module unité centrale (13) comportant une première horloge (h1), un premier module de communication (11) sans fil associé au module unité centrale (13), au moins un module d'entrées/sorties (22a) comportant une seconde horloge (h2) synchronisée avec la première horloge (h1), un second module de communication sans fil (21) associé au module d'entrées/sorties (22a) et apte à communiquer avec le premier module de communication (11) à travers une liaison sans fil,-caractérisé en ce qu'il est apte à mettre en oeuvre le procédé défini dans l'une des revendications 1 à 9.