Brevet FR2902955A1 — publié le 20071228

La présente invention a pour objets un dispositif et un procédé de communication entre modules esclaves d'un réseau de télécommunication. Dans un réseau de télécommunication utilisant un protocole maître-esclave, la communication entre les modules du réseau est gérée par un module maître, qui initie des communications avec des modules esclaves. Les modules esclaves ne sont pas aptes à échanger des données entre eux sans passer par le module maître. Il existe des protocoles multi-maîtres qui permettent la cohabitation 10 de plusieurs modules maîtres sur le réseau. Cependant, les modules maîtres n'échangent généralement pas de données entre eux. Le protocole MODBUS est un protocole maître-esclave basé sur un système de requêtes-réponses. Ce protocole définit la structure des messages et leur mode d'échange. Il est implanté dans la couche 7 15 (Application) du modèle ISO (Interconnexion des Systèmes Ouverts). Le protocole MODBUS est utilisé sur des liaisons séries, par exemple de type RS232, RS285 ou fibre optique, et peut être implémenté sous deux formes, RTU (Remote Terminal Unit) et ASCII (American Standard Code for Information Interchange). Avec le protocole MODBUS/RTU, 20 toutes les données sont échangées en binaire, et, avec le protocole MODBUS/ASCII, les données sont échangées sous forme ASCII. L'une des évolutions récente du protocole MODBUS est l'implémentation de ce protocole sur le réseau Ethernet. Ce nouveau protocole, appelé protocole MODBUS/TCP, fonctionne de façon 25 similaire au protocole MODBUS, utilise les mêmes codes de fonctions (lecture/écriture) et un format de trame équivalent. Les données de la trame RTU sont encapsulées dans la trame Ethernet au niveau de la couche TCP du réseau TCP/IP (Transmission Control Protocol/Internet Protocol). Le protocole MODBUS/TCP conserve la notion maître-esclave et l'architecture requête-réponse. Pour un utilisateur, le protocole MODBUS présente l'avantage d'être 5 simple à mettre en oeuvre, puisqu'il suffit de connaître le numéro du module esclave et l'adresse des données à récupérer. Cependant, la structure maître-esclave est une limite à une utilisation plus dynamique et plus efficace des échanges de données. La présente invention a pour but de proposer un dispositif et un procédé 10 de communication entre modules esclaves d'un réseau de télécommunication utilisant un protocole maître-esclave, par exemple le protocole MODBUS. A cet effet, l'invention a pour objet un dispositif de communication d'un réseau de télécommunication, apte à être connecté, par une liaison de 15 type série, à un premier module esclave, et, par une liaison de type Ethernet, à au moins un deuxième dispositif de communication et à un module maître, ledit dispositif de communication comportant des moyens de conversion série-Ethernet, caractérisé en ce qu'il comporte une mémoire apte à mémoriser des données transmises par ledit premier 20 module esclave et/ou par ledit au moins un deuxième dispositif de communication, lesdites données transmises étant échangées indépendamment dudit module maître. Avantageusement, une communication entre ledit premier dispositif de communication et ledit premier module esclave utilise le protocole 25 MODBUS. De préférence, une communication entre ledit premier dispositif de communication et ledit au moins un deuxième dispositif de communication utilise le protocole MODBUS/TCP. Selon un mode de réalisation de l'invention, une communication entre ledit premier dispositif de communication et ledit au moins un deuxième dispositif de communication est réalisée par l'émission d'un message de diffusion sur la liaison Ethernet, par ledit premier dispositif de communication. L'invention a également pour objet un procédé de communication entre un premier module esclave d'un réseau de télécommunication et au moins un deuxième module esclave dudit réseau de télécommunication, ledit réseau de télécommunication comportant un module maître, ledit premier module esclave étant connecté à un premier dispositif de communication dudit réseau de télécommunication, ledit au moins un deuxième module esclave étant connecté à au moins un deuxième dispositif de communication dudit réseau de télécommunication, lesdits premier et au moins un deuxième dispositifs de communication étant connectés entre eux, ledit procédé comprenant les étapes consistant à : a) recevoir et mémoriser dans ledit premier dispositif de 20 communication des données à transmettre depuis ledit premier module esclave à destination dudit deuxième module esclave, b) émettre depuis ledit premier dispositif de communication à destination dudit au moins un deuxième dispositif de communication lesdites données à transmettre mémorisées à l'étape a), 25 c) mémoriser dans ledit au moins un deuxième dispositif de communication lesdites données à transmettre reçues à l'étape b), et d) émettre depuis ledit au moins un deuxième dispositif de communication à destination dudit au moins un deuxième module esclave lesdites données à transmettre mémorisées à l'étape c), e) les étapes a) à d) étant effectuées indépendamment du module 5 maître. Avantageusement, l'étape a) comprend les sous-étapes consistant à : f) émettre depuis ledit premier dispositif de communication à destination dudit premier module esclave une requête de données à transmettre, et, g) dans ledit premier dispositif de communication, mémoriser comme 10 données à transmettre les données reçues du premier module esclave en réponse à ladite requête. Selon un mode de réalisation de l'invention, l'étape b) est effectuée automatiquement à des intervalles de temps prédéterminés. Selon un mode de réalisation de l'invention, l'étape b) est effectuée 15 lorsque des nouvelles données à transmettre sont mémorisées dans ledit premier dispositif de communication. L'invention sera mieux comprise, et d'autres buts, détails, caractéristiques et avantages de celle-ci apparaîtront plus clairement au cours de la description explicative détaillée qui va suivre, d'un mode de 20 réalisation de l'invention donné à titre d'exemple purement illustratif et non limitatif, en référence au dessin schématique annexé. Sur ces dessins : - la figure 1 est une vue schématique simplifiée d'un réseau de télécommunication comprenant trois dispositifs de communication 25 selon un mode de réalisation de l'invention ; et la figure 2 est un schéma fonctionnel représentant les étapes d'un procédé de communication entre des modules esclaves du réseau de télécommunication de la figure 1. La figure 1 montre un réseau de télécommunication 10 comprenant un module maître 8 et trois dispositifs de communication 1 A, 1 B et 1 c. On notera que le nombre de dispositifs de communication 1 n'est pas limitatif. Le dispositif de communication 1 A va maintenant être décrit plus en détails. Le dispositif 1A est connecté par un câble 11 à un sous-réseau 10A du réseau 10, par le biais d'un port de communication 3 de type liaison série. La liaison série est par exemple du type RS232, RS485, ou fibre optique et utilise le protocole MODBUS (ASCII ou RTU). Le sous-réseau 10A comprend trois modules esclaves 2A,1, 2A,2 et 2A,3. On notera que le nombre de modules esclaves 2A n'est pas limitatif. Les modules esclaves 2A.1, 2A,2 et 2A,3 utilisent le protocole MODBUS. Le dispositif 1A est connecté par un câble 12 à un réseau Ethernet, par le biais d'un port de communication 4 de type liaison Ethernet. Le réseau Ethernet est symbolisé sur la figure 1 par un bus de communication 13. La liaison Ethernet utilise le protocole MODBUS/TCP. On notera que le support de la liaison Ethernet peut être de type radio, câble ou fibre optique, par exemple. La liaison Ethernet permet l'émission de message en mode broadcast en utilisant, par exemple, le protocole UDP (User Datagram Protocol). Un message broadcast , ou message de diffusion, est un message envoyé à l'attention de plusieurs équipements. Dans l'exemple, un message de diffusion émis par le dispositif de communication 1 A est envoyé à l'attention des dispositifs de communication 1B et 1c. Ce type de message ne requiert pas de réponse, la gestion d'une non-réception étant à la charge du destinataire. Le dispositif 1 A comprend des moyens de conversion entre des communications utilisant le protocole MODBUS et des communications utilisant le protocole MODBUS/TCP. En d'autre termes, le dispositif lA réalise une fonction de passerelle entre les communications MODBUS/TCP de la liaison Ethernet et les communications MODBUS de la liaison série. Les dispositifs 1 B et 1 c sont identiques au dispositif 1 A. Le dispositif 1 B est connecté par un câble 14 à un sous-réseau 10B du réseau 10, par le biais d'un port de communication 3 de type liaison série. Le sous-réseau 10B comprend quatre modules esclaves 2B,1, 213,2, 213,3 et 2B,4 utilisant le protocole MODBUS. Le dispositif 113 est connecté par un câble 15 au réseau Ethernet, par le biais d'un port de communication 4 de type liaison Ethernet. Le dispositif 1c est connecté par un câble 16 à un sous-réseau 10c du réseau 10, par le biais d'un port de communication 3 de type liaison série. Le sous-réseau 10c comprend deux modules esclaves 2c, 1 et 2c,2 utilisant le protocole MODBUS. Le dispositif 1c est connecté par un câble 17 au réseau Ethernet, par le biais d'un port de communication 4 de type liaison Ethernet. Les étapes du procédé de communication entre des modules esclaves 2 appartenant à des sous-réseaux différents vont maintenant être décrites. A titre d'exemple, on considère une transmission de données provenant du module esclave 2A,1 à destination du module esclave 2B,1 et une transmission de données provenant du module esclave 2A,2 à destination du module esclave 2c,1. Il est bien évident que ce procédé permet la transmission de données provenant d'un ensemble quelconque de modules esclaves 2 à destination d'un ensemble quelconque de modules esclaves 2, chaque transmission de données étant réalisée entre deux modules esclaves 2 appartenant à des sous-réseaux différents 10A, 10B, 10c. On notera que ce procédé permet de réaliser une transmission de données provenant d'un module esclave 2 à destination de plusieurs modules esclaves 2. Ce procédé permet également de réaliser simultanément plusieurs transmissions de données entre plusieurs paires de--modules esclaves 2, respectivement. Ce procédé est exécuté indépendamment du module maître 8, c'est-à-dire sans intervention du module maître 8, qui peut être en opération pour d'autres tâches. Le synchronisme du module maître 8, notamment, n'est pas utilisé. A l'étape 100, le dispositif lA émet une requête de données à transmettre à destination du module esclave 2A,1. En d'autres termes, le dispositifs lA demande au module esclave 2A,1 de lui communiquer les données qu'il souhaite transmettre à un autre module esclave, par exemple le module esclave 2B,1. De manière similaire, le dispositif lA émet une requête de données à transmettre à destination de chacun des autres modules esclaves du sous-réseau 10A, c'est-à-dire les modules esclaves 2A,2 et 2A,3. A l'étape 101, le dispositif lA construit une table de données locales 6A à partir des réponses émises par les modules esclaves 2A,1, 2A,2 et 2A,3 en réponse aux requêtes et d'une table de configuration 5A du dispositif 1 A. La table de données 6A, qui est mémorisée dans le dispositif 1A, contient notamment les données à transmettre depuis le module esclave 2A, 1 à destination du module esclave 2B,1 et les données à transmettre depuis le module esclave 2A,2 à destination du module esclave 2c,1 A l'étape 102, le dispositif lA émet un message de diffusion sur le réseau Ethernet, le message de diffusion contenant tout ou partie de la table de données 6A. L'étape 102 peut être effectuée automatiquement à des intervalles de temps prédéfinis. En variante, l'étape 102 peut être effectuée lorsque le contenu de la table de données 6A est modifié. A l'étape 103, le message de diffusion est reçu par le dispositif 1B et par le dispositif 1 c. Le dispositif 1 B (respectivement le dispositif 1 c) compare, à l'aide d'un système de décision 7B du dispositif 1B (respectivement du dispositif 1c), les données reçues et les données mémorisées dans la table de configuration 5B du dispositif 1B (respectivement du dispositif 1 c). Le dispositif 1 B (respectivement le dispositif 1c) vérifie en particulier la cohérence écriture et lecture des données afin de ne pas écrire sur des données définies en lecture. Lorsqu'une association est possible entre les données reçues et les données de la table 5B du dispositif 1B (respectivement du dispositif 1c), les données sont écrites dans la table de données locales 6B du dispositif 1B (respectivement du dispositif 1c). A l'étape 104, les données mémorisées dans la table 613 du dispositif 1B sont émises par le dispositif 1 B à destination du module esclave 2B,1, par le biais du port de communication série 3 du dispositif 1B et du protocole MODBUS. De manière similaire, les données mémorisées dans la table 6c du dispositif 1c sont émises par le dispositif 1c à destination du module esclave 2c,1, par le biais du port de communication série 3 du dispositif 1c et du protocole MODBUS. Le dispositif lA permet également une transmission de données provenant du module esclave 2A,I à destination du module esclave 2A,2. L'étape 100 est similaire à ce qui a été décrit précédemment. A l'étape 101, la table de données 6A, qui est mémorisée dans le dispositif 1 A, contient notamment les données à transmettre depuis le module esclave 2A,1 à destination du module esclave 2A,2. Les étapes 102 et 103 sont supprimées. A l'étape 104, les données mémorisées dans la table 6A du dispositif lA sont émises par le dispositif 1 A à destination du module esclave 2A,2, par le biais du port de communication série 3 du dispositif 1 A et du protocole MODBUS. Ainsi, des données peuvent être échangées entre des modules esclaves 2 sans aucune intervention du module maître 8 du réseau 10, ce qui permet d'augmenter la vitesse de transmission des données. Chaque dispositif de communication 1 permet à plusieurs esclaves 2 auxquels il est connecté d'échanger des données entre eux sans nécessiter la présence du module maître 8 sur le réseau 10. En d'autres termes, chaque dispositif de communication 1 se comporte comme une passerelle présentant une fonction supplémentaire de communication entre deux modules esclaves 2. Le coût d'installation du réseau 10 peut être réduit, notamment car il n'est plus nécessaire de disposer d'un module maître. Le dispositif 1 présente en outre l'avantage de ne pas modifier le fonctionnement du réseau 10, c'est-à-dire les communications entre le module maître 8 et les modules esclaves 2. Par rapport au module maître 8, le dispositif 1 se comporte comme un module esclave. Les tables de données locales 6A, 6B, 6c sont accessibles par le module maître 8. De même, les données provenant des modules esclaves 2 sont accessibles au module maître 8 par l'intermédiaire du dispositif de communication 1 correspondant qui assure dans ce cas une fonction de passerelle standard, à savoir la conversion du protocole MODBUS/TCP en MODBUS sur ligne série (ASCII ou RTU). La cadence d'émission des messages de diffusion peut être définie indépendamment pour chaque dispositif de communication 1 A, 1 B et 1 c. En d'autres termes, un dispositif de communication 1A, 1 B ou 1 C peut transmettre fréquemment des messages de diffusion alors qu'un autre dispositif de communication 1 A, 113 ou 1 C en transmet rarement. Chaque dispositif de communication 1 A, 1 B ou 1 C peut être configuré pour initialiser les données de sa table de données 6A, 6B, 6c l0 lorsqu'aucun message n'est reçu depuis un temps prédéfini. Cette fonction permet de mettre le dispositif 1 en mode dégradé lorsque la communication entre des modules esclaves 2 qui lui sont connectés est suspendue. On notera que ce procédé est bien adapté à un réseau utilisant le 15 protocole MODBUS, car il permet de conserver la souplesse du protocole MODBUS pour l'utilisateur. Cependant, le procédé de communication pourrait être utilisé sur un réseau utilisant un autre protocole maître-esclave. Dans ce cas, les dispositifs de communication doivent comporter des liaisons utilisant le protocole correspondant. 20 Bien que l'invention ait été décrite en relation avec un mode de réalisation particulier, il est bien évident qu'elle n'y est nullement limitée et qu'elle comprend tous les équivalents techniques des moyens décrits ainsi que leurs combinaisons si celles-ci entrent dans le cadre de l'invention. 25 REVENDICATIONS 1. Dispositif de communication (lA) d'un réseau de télécommunication (10), apte à être connecté, par une liaison de type série, à un premier module esclave (2A,, ), et, par une liaison de type Ethernet, à au moins un deuxième dispositif de communication (1 B) et à un module maître (8), ledit dispositif de communication comportant des moyens de conversion série-Ethernet, caractérisé en ce qu'il comporte une mémoire (5A, 6A) apte à mémoriser des données transmises par ledit premier module esclave et/ou par ledit au moins un deuxième dispositif de communication, lesdites données transmises étant échangées indépendamment dudit module maître (8). 2. Dispositif selon la revendication 1, caractérisé en ce qu'une 15 communication entre ledit premier dispositif de communication (1A) et ledit premier module esclave (2A,1) utilise le protocole MODBUS. 3. Dispositif selon la revendication 1 ou 2, caractérisé en ce qu'une communication entre ledit premier dispositif de communication (1 A) et ledit au moins un deuxième dispositif de communication (1B) utilise le 20 protocole MODBUS/TCP. 4. Dispositif selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu'une communication entre ledit premier dispositif de communication (1 A) et ledit au moins un deuxième dispositif de communication (1B) est réalisée par l'émission d'un message de 25 diffusion sur la liaison Ethernet, par ledit premier dispositif de communication. 11 5. Procédé de communication entre un premier module esclave (2A,1) d'un réseau de télécommunication (10) et au moins un deuxième module esclave (2B,1) dudit réseau de télécommunication, ledit réseau de télécommunication comportant un module maître (8), ledit premier module esclave étant connecté à un premier dispositif de communication (1 A) dudit réseau de télécommunication, ledit au moins un deuxième module esclave étant connecté à au moins un deuxième dispositif de communication (1 B) dudit réseau de télécommunication, lesdits premier et au moins un deuxième dispositifs de communication étant connectés entre eux, ledit procédé comprenant les étapes consistant à : a) recevoir et mémoriser dans ledit premier dispositif de communication des données à transmettre depuis ledit premier module esclave à destination dudit au moins un deuxième module esclave, b) émettre depuis ledit premier dispositif de communication à destination 15 dudit au moins un deuxième dispositif de communication lesdites données à transmettre mémorisées à l'étape a), c) mémoriser dans ledit au moins un deuxième dispositif de communication lesdites données à transmettre reçues à l'étape b), et d) émettre depuis ledit au moins un deuxième dispositif de 20 communication à destination dudit au moins un deuxième module esclave lesdites données à transmettre mémorisées à l'étape c), e) les étapes a) à d) étant effectuées indépendamment du module maître (8). 6) Procédé selon la revendication 5, caractérisé en ce que l'étape a) 25 comprend les sous-étapes consistant à :f) émettre depuis ledit premier dispositif de communication (1A) à destination dudit premier module esclave (2A,1) une requête de données à transmettre, et, g) dans ledit premier dispositif de communication, mémoriser comme 5 données à transmettre les données reçues du premier module esclave en réponse à ladite requête. 7. Procédé selon la revendication 5 ou 6, caractérisé en ce que l'étape b) est effectuée automatiquement à des intervalles de temps prédéterminés. 8. Procédé selon la revendication 5 ou 6, caractérisé en ce que l'étape b) 1 o est effectuée lorsque des nouvelles données à transmettre sont mémorisées dans ledit premier dispositif de communication.