FR 2774531 A1 19990806 FR 9801196 A 19980130 La présente invention se rapporte a un protocole bidirectionnel de transmission d'informations sur un bus de communication, plus particulièrement sur un bus de terrain à bas niveau de type AS-i (initiales de Actuator Sensor Interface). Le bus ou réseau AS-i est utilisé pour raccorder des capteurs et des actionneurs binaires d'un appareillage électrique à une unité de contrôle et de commande tel qu'un automate programmable. L'appareillage électrique peut par exemple consister en un variateur de vitesse destiné à commander un moteur électrique, ou en un relais de protection destiné à protéger un moteur électrique. Le réseau AS-i comprend un support de transmission de données et d'alimentation constitué d'un câble non blindé de deux fils, de modules d'interface esclaves qui sont connectés au câble et associés aux capteurs et actionneurs de l'appareillage électrique de commande ou de protection, et d'un module d'interface maître qui est connecté au câble et associé à l'unité de contrôle et de commande et gère les échanges de données avec les esclaves de l'appareillage électrique. Le maître communique avec les esclaves en les interrogeant sous forme d'un signal de requête comprenant l'adresse de l'esclave et l'information à lui communiquer, auquel chacun répond sous forme d'un signal de réponse comprenant l'information à transmettre au maître. L'échange des informations entre le module maître et les modules esclaves est aujourd'hui réalisé au moyen d'un protocole de transmission dit "standard" ou d'un protocole de transmission dit "analogique". Le protocole "standard" est bidirectionnel, c'est-à-dire que le maître peut commander un esclave et obtenir en retour l'état de cet esclave. Ce protocole utilise pour l'échange des informations 4 bits pour la requête du module maître et 4 bits pour la réponse du module esclave. Prenons l'exemple d'un automate programmable pour le maître et d'un variateur de vitesse pour l'esclave destiné à commander un moteur électrique. Les deux premiers bits de la requête définissent respectivement, la marche avant du moteur et la marche arrière du moteur. Les deux autres bits permettent de coder, pour la marche du moteur, une vitesse de consigne dont la valeur est préenregistrée dans la mémoire du variateur de vitesse. La valeur de la vitesse de consigne ne peut être que préenregistrée car deux bits ne suffisent pas pour coder, à partir de l'automate, une valeur analogique de la vitesse. Par conséquent ce protocole ne permet pas une souplesse de commande du variateur. Prenons comme autre exemple, celui d'un automate programmable pour le maître et d'un relais de protection pour l'esclave destiné à protéger un moteur 2 2774531 électrique triphasé. Les quatre bits du signal de réponse permettent de renseigner, d'une part, sur l'information d'un courant de défaut, à savoir que le courant alimentant le moteur devient anormal, et d'autre part, sur l'information de déclenchement d'arrêt d'alimentation lorsque le courant a dépassé une valeur de seuil. Cependant, il est impossible à partir de quatre bits de renseigner sur la valeur réelle du courant dans chaque phase du moteur. Le protocole "standard" présente donc l'inconvénient de ne pouvoir utiliser que 4 bits pour la transmission d'une requête ou d'une réponse. Le protocole "analogique" est unidirectionnel. Ce protocole utilise 4 bits pour l'information d'un signal de requête et 24 bits pour l'information d'un signal de réponse qui sont répartis en 8 triplets de 3 bits et délivrés chacun en au moins 5 ms. La durée d'une réponse de la part de l'esclave est donc de 40 ms au minimum. Les 4 bits de la requête sont utilisés, non pas pour commander l'esclave, mais pour interroger la valeur de chaque triplet du signal de réponse. C'est en ce sens que ce protocole est unidirectionnel; il ne permet que de recevoir l'état d'un esclave. Par conséquent, ce protocole unidirectionnel présente l'inconvénient de ne pas pouvoir commander une fonction a réaliser par l'esclave. De plus, lorsque l'on veut l'utiliser pour le renseignement de données que peut fournir l'esclave, cela nécessite un temps relativement long d'au moins 40 ms. Le but de l'invention est donc de fournir un protocole bidirectionnel qui permet d'utiliser plus de 4 bits pour les transmissions d'une requête et d'une réponse tout en réalisant ces transmissions en moins de 40 ms. L'invention concerne donc un protocole bidirectionnel de transmission d'informations sur un bus de terrain entre une unité de contrôle et de commande, tel qu'un automate programmable, et un appareillage électrique aux moyens de modules d'interface respectifs maître et esclave, le protocole de transmission comprenant des signaux de requête émis du module maître vers le module esclave et des signaux de réponse émis du module esclave vers le module maître, lesdits signaux de requête et de réponse étant codés de manière binaire sur des bits de broches de d'un circuit intégré interne au module esclave; le protocole est caractérisé en ce que l'échange d'une information entre le module maître et le module esclave consiste en l'échange de plusieurs signaux de requête et signaux de réponse codés sur un macrocycle de période donnée et séquences sur ce macrocycle en plusieurs cycles élémentaires 3 2774531 ordonnés qui comprennent chacun un seul signal de requête et un seul signal de reponse. Selon une caractéristique, pour chaque cycle élémentaire, le signal de requête ou de réponse présente un nombre fixe de bits dont un bit est codé pour réaliser le séquencement des cycles et les autres bits servent au codage du contenu de l'information, tandis que le signal de réponse ou de requête correspondant présente pour un même nombre fixe de bits au moins deux bits qui sont codés pour numéroter le cycle élémentaire et les autres bits qui servent au codage du contenu de l'information. Il est par conséquent possible de transmettre une information de plus de quatre bits dont le contenu est codé sur plusieurs séquences d'au plus 3 bits. L'invention va maintenant être décrite avec plus de détail en se référant au dessin de la figure 1 qui illustre un schéma d'un bus auquel sont raccordés un automate programmable et un appareillage électrique. Le protocole bidirectionnel de transmission d'informations selon l'invention sert à échanger des données sur un bus de terrain B, de type AS-i, entre un automate programmable AP et un appareillage électrique de commande ou de protection 10 d'un moteur électrique triphasé M1. L'appareillage électrique 10 de commande peut consister en un variateur de vitesse V, et celui de protection, en un relais de protection R. L'appareillage électrique 10 est piloté par l'automate programmable AP au moyen du bus de terrain B via un module d'interface maître M, ci- après désigné "maître", qui est connecté au bus B et a l'automate AP, et un module d'interface esclave E, ci-après désigné "esclave", qui est interfacé entre le bus B et l'appareillage électrique 10. Le maître M et l'esclave E sont reliés au bus B via des coupleurs d'interface 1. Le support physique du bus de terrain B est constitué de deux fils a et b qui permettent de véhiculer des signaux d'informations entre le maître M et l'esclave E et d'alimenter l'appareillage électrique 10 lorsque celui-ci ne nécessite pas une trop grande puissance de fonctionnement. Le module d'interface maître M gère les informations arrivant sur ses entrées depuis l'automate AP, génère les commandes sur ses sorties et la requête envoyée sur le bus vers le maître et décode la réponse de l'esclave E. Le module d'interface esclave E gère les informations arrivant du bus, décode la requête du maître M, et génère les commandes vers l'appareillage 10 ainsi que la réponse sur le bus a envoyer au maître. Le module E comporte un circuit intégré 21 pourvu notamment de quatre broches de données, repérées DO, D1, D2, D3 qui servent à recevoir ou à envoyer des informations provenant du module maître M et de l'appareillage électrique 10 sous la forme de signaux binaires. Les broches de données DO à D3 sont configurées bidirectionnellement comme des entrées/sorties. Les quatre broches de données DO à D3, qui correspondent à des bits de données puisque recevant ou envoyant des signaux binaires, sont utilisées pour coder les informations. Le protocole de transmission selon l'invention séquence une information sur un macrocycle de période donnée T en plusieurs cycles élémentaires ordonnés CO à Cn qui comprennent chacun un signal de requête et un signal de réponse. Pour les signaux de requête, un bit D3 est utilisé pour séquencer le macrocycle, c'est-à-dire pour définir le passage d'un cycle élémentaire à un autre, et les autres bits D2 à DO servent au codage du contenu de l'information. Pour les signaux de réponse, au moins deux bits D3 et D2 sont utilisés pour numéroter les cycles du macrocycle et les autres bits sont utilisés pour coder le contenu de l'information. Expliquons la configuration du protocole de transmission pour l'échange d'une information à partir du tableau F1 ci-dessous. Requête (Maître) Réponse (Esclave) D3 D2 D1 DO D3 D2D1 DO [ O O 0 0 dû 0 l0 - - 0 0 0 0O o oaO O 000 C000 C-: 0 0 0 O 0 Cycle C3, T/7 ms 1 x x x v 1 1 1 x Cycle C2, T/7 ms O x x x 1 0 0 x Cycle C3, T/7 ms 1 XX I 0 1 x Cycle C4, T/7 ms 0 xx x x 1 1 0 x l __ l Cycle C5, T/7 ms 1 x x Zx _ 1 01 T x Cycle C6,T/7 msI x O X x CycleC7,T17_msj1 x jx x Z O| 1|x 2774531 L'initialisation d'un macrocycle est réalisée en codant les bits d'une requête et d'une réponse à "0". Lorsque le bit de codage DO d'une réponse passe à "1", cela signifie que le maître M peut commencer à envoyer sa commande car l'esclave E est prêt. Sur un macrocycle de période T comprenant 7 cycles élémentaires au maximum C1 à C7, les requêtes utilisent un seul bit D3 pour séquencer la période T, ce bit prenant alternativement la valeur "0" et "1" pour faire état de chaque changement de cycle. Les trois autres bits D2, D1, DO sont utilisés pour transmettre le contenu des requêtes. Leur valeur notée x prend l'état "0" ou "1" et définit par exemple une commande ou une valeur analogique comme nous le décrirons ultérieurement dans le tableau F2. Les réponses, qui sont séquencées sur les sept cycles, doivent pouvoir transmettre leur contenu en indiquant le numéro du cycle correspondant à celui de la requête émise. Le codage de la numérotation est réalisé sur trois bits D3, D2 et D1, tandis que le quatrième bit DO sert au codage de l'information, sa valeur notée x pouvant prendre l'état "0" ou "1 ". Les combinaisons possibles pour le codage de la numérotation sur les 3 bits D3, D2 et D1 sont les suivantes: 111, 110, 101, 100, 011, 010, 001. Il n'est pas possible d'utiliser la combinaison 000 car selon la valeur du bit DO, la réponse pourrait s'écrire 0001 ou 0000 ce qui correspond à l'état de prêt à répondre ou respectivement à l'initialisation de la réponse. Ainsi, les informations transmises sur un macrocycle de période T qui est séquencée en sept cycles peut être codée sur sept triplets de 3 bits pour les sept requêtes et sur sept fois 1 bit pour les réponses. Au total, l'information peut être codée sur 21 bits pour l'ensemble des requêtes et sur 7 bits pour l'ensemble des réponses. Il est possible de coder la numérotation des cycles élémentaires d'une autre manière. Les deux premiers cycles C1 et C2 sont codés sur deux bits D3 et D2 et les autres cycles C3 à C7 sont codés sur trois bits D3, D2 et D1. Pour un macrocycle de 7 cycles élémentaires, le codage de la numérotation peut s'effectuer successivement pour chacun des cycles de la façon suivante: 10, 01, 1110, 1101, , 0011, 0001. Chaque signal de réponse de l'information est alors codé sur 4 bits seulement au lieu de 7 bits. Ce codage de la numérotation est en fait intéressant pour un macrocycle comportant au plus quatre cycles élémentaires C1 à C4, car il permet de pouvoir utiliser deux bits supplémentaires pour coder le contenu de l'information. 6 i2774531 Les combinaisons de numérotation pour quatre cycles Cl à C4 sont les suivantes , 01, 110, 001. Selon le type d'échange d'informations entre l'unité de contrôle et de commande et l'appareillage électrique, I'ensemble des requêtes et l'ensemble des réponses ne nécessitent pas le même nombre de bits. Ainsi pour un échange d'informations du type commande d'un moteur électrique via un variateur de vitesse, les requêtes ont généralement besoin de beaucoup plus de bits que les réponses pour être véhiculées, le codage des bits sera celui explicité dans le tableau F1 et pris comme exemple dans le tableau F2 qui suit. Pour un échange d'informations du type protection d'un moteur électrique via un relais de protection, les réponses utilisent plus de bits que les requêtes. Le codage de l'information, explicité dans le tableau F1, sera inversé. Le tableau F4, montré ultérieurement, décrit ce type d'exemple. Ainsi le séquencement des cycles se fait au niveau des réponses et la numérotation des cycles se fait au niveau des requêtes. Pour sept cycles, les requêtes seront codées sur 7 bits et les réponses seront codées sur 21 bits. Le tableau F2 ci-dessous résume la configuration des bits DO, D1, D2, D3 pour l'échange d'une information du type commande entre l'automate AP et le variateur V. Les requêtes et les réponses sont échangées en six cycles de 5 ms. Requête (AP) Réponse (V) D3 D2 Dl DO D3 D2 D1 DO _.), I 0 0 0 0 0 0 0 0 0 0 4 - 0 0 0 0 0 I 0 0 O 0 0 10 1 ! I i I _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _o o 4- 1 Cycle Cl 5 1 Marche- avant Marche-arrière / Commande 1 1 1 Prêt 4- ms / Arrêt Arrêt Spéciale 1 l__ _ I Cycle C2 5 O Commande Consigne (7)Consigne (6) 1 1 0 en Marche 4- ms Spéciale 2 Cycle C3 5 1 Consigne (5) Consigne (4) Consigne (3) 1 0 1 Consigne ms L ________atteinte ms I I alteint 7 2774531 Cycle C4 5 O Consigne (2) Consigne (1)Consigne (O) 1 O O Information ms spéciale 1 -> Cycle C5 5 1 Ramp select Commande Commande 0 1 1 Information ms Spéciale 3 Speciale 4 spéciale 2 --> Cycle C6 5 0 Commande Commande Commande 0 1 0 Information ms Speciale 5 Spéciale 6 Spéciale 7 spéciale 3 La transmission du contenu de l'information réalisée sur les cycles C1 à C6 se fait pour chacun des cycles sur 3 bits du maître vers l'esclave et sur 1 bit en retour de l'esclave vers le maître. Au total, I'information est véhiculée en 30 ms en utilisant 18 bits pour les requêtes et 6 bits pour les réponses. Pour les requêtes de l'automate AP vers le variateur V: - dans le cycle C1, les bits D2 et D1 sont utilisés pour la "marche-avant" et respectivement la "marche-arrière" du moteur ou son "arrêt". Ces fonctions sont précodifiées dans le variateur de vitesse; dans les cycles C1, C2, C5 et C6, les bits utilisés en tant que "commande spéciale 1 à 7" correspondent par exemple à la commande d'un appareil électrique associé au variateur tel qu'un contacteur; - dans les cycles C2, C3 et C4, les bits utilisés en tant que "consigne (0) à (7)", permettent de coder sur 8 bits une valeur analogique de la vitesse à atteindre par le moteur; - dans le cycle C5, le bit utilisé en tant que "ramp select" permet de choisir entre deux possibilités de rampe qui sont paramétrées en interne dans le variateur. Pour les réponses du variateur V vers l'automate AP donnant l'état du moteur électrique: - le bit DO du cycle C1 codé "Prêt" correspond à l'aptitude du variateur à recevoir une commande; - le bit DO du cycle C2 codé "en marche" signifie que le moteur tourne ou non; - le bit DO codé "consigne atteinte" permet de renseigner si la vitesse de consigne du moteur est atteinte. 8 2774531 Le tableau F3 ci-dessous simule une commande du tableau F2 entre l'automate programmable et le variateur de vitesse. Le moteur doit étre mis en marche avant, atteindre une valeur de vitesse égale a 25 Hz selon une valeur de rampe d'accélération prédéfinie dans le variateur de vitesse. Cette commande se déroule sur plusieurs macrocycles T1 à Ti de 30 ms. Requête (AP) Réponse (V) D3D2 Dl DO D3 D2 D1 DO o o 1 o i o o o o O 0 O O O O 0 O O ____ _ O O o O O"_ Période Tl Cycle Cl, 5 ms 1 O O 0 1 1 1 0 Cycle C2, 5 ms0 0 0 1 Cycle C3, 5 ms OI 0 1 0 0 cec4, s _ > I CycleC4, 5 ms O O O O 1 0 Cycle C5, 5 ms 1 0 - 00 1 0 Cycle C6, 5 msO O 0 O Ioj{ i O Période T3 CycleC1, 5 ms 1 1 0 o 1 1 1 1 CycleC2, 5 ms 0 0 1 1 1 0 Cycle C3, 5 ms T 1 0 1 O i* 1 CycleC4, 5 ms 0 1 1 1 1 0 0 0 Cycle C5, 51 -s 1 j O'|0;' o 0 1 Cycle C5, 5 msi 000 0 CycleC5, 5 ms 1 0 O 0, i 0 CycleC6, 5 ms O O 0 O 1O 1 1 O Durant la première période T1, le variateur de vitesse n'est pas encore prêt à piloter le moteur Ml: - les requêtes codent "O0" pour les bits D2, D1 et DO puisqu'aucune commande de l'automate n'a besoin d'être envoyée; 2774531 - les réponses codent "0" pour le bit DO correspondant à "Prêt" du premier cycle Cl puisque le variateur n'est pas prêt, et "0" pour le bit DO des autres cycles puisqu'aucun ordre n'est envoyé et donc reçu par le variateur. Pour la deuxième période T2, le variateur de vitesse est prêt a recevoir des ordres: -le bit DO de la réponse du cycle C1 correspondant à "Prêt" passe à "1 "I. A la troisième période T3, l'automate peut alors envoyer sa commande de marche-avant à 25 Hz: - le bit D2 du cycle C1 passe à "1" pour la fonction marche-avant"; - les 8 bits "consigne (0) à (7)" sont codés "01111111", ce qui représente la valeur de 25 Hz en binaire, sachant qu'à titre d'exemple le code "11111111" correspond à la vitesse maximale paramétrée dans le variateur à savoir Hz; - le bit "ramp select" est mis a "0" ce qui correspond à une valeur de rampe paramétrée dans le variateur. La quatrième période T4 correspond à la prise en compte de l'ordre de marche du moteur M1: - le bit DO de la réponse correspondant à "en marche" passe à "1" Après plusieurs périodes identiques à la période T4, c'est-à-dire lorsque le temps de rampe est atteint et durant la période Ti: - le bit DO de la réponse correspondant à "consigne atteinte" passe à "1 ", le moteur ayant atteint la vitesse de 25 Hz. Le tableau F4 ci-dessous résume la configuration des bits DO, D1, D2, D3 pour l'échange d'une information du type protection entre l'automate AP et le relais de protection R. 11 2774531 Requête (AP) Réponse (R) D3 D2 D1 DO D3 D2 Dl DO 0 0 0 0 0 0 0 0 -- O O O O O O OO ._) i Cycle C1 5 1 1 1 Marche-avant /i 1 Prêt Actif Défaut ms Arrêt I _.i', Cycle C2 5 1 1 O Marche-anière / 0O Local Valeur 7 Valeur 6 ms Arrêt Cycle C3 5 1 O 1 Commande 1 Valeur 5 Valeur 4 Valeur 3 ms Spéciale 1 I _ > Cycle C4 5 1 O O Commande 0 Valeur 2 Valeur 1 Valeur O ms l Spéciale 2 Cycle C5 5 0 1 1 Commande 1 adresse 2 adresse 1 adresse O ms Spéciale 3 _ r Cycle C6 5 O 1 O Commande 0 O Information Information Information ms Spéciale 4 spéciale 1 speciale 2 spéciale 3 L'initialisation d'un macrocycle est réalisée en codant les bits d'une requête et d'une réponse à "OI". Lorsque le bit D3 d'une réponse bascule sur "1 ", le premier cycle démarre et l'esclave est donc prêt à envoyer un message. Pour les requêtes de commande de l'automate vers le relais: - les bits D3 à D1 sont utilisés pour numéroter les cycles, et les bits DO correspondent successivement aux commandes "marche-avant", "marche-arrière" ainsi qu'à la mise en fonctionnement de produits auxiliaires ("commandes spéciales" 1 et 4). Pour les réponses du relais vers l'automate, le relais étant destiné à envoyer à l'automate les valeurs du courant dans chaque phase du moteur: pour chacun des cycles, le bit D3 sert à indiquer le changement de cycle, le bit passant alternativement de "1" à "0"; 12 2774531 - pour le cycle Cl, "Prêt" signifie que le circuit en amont du relais est fermé, "actif" signifie que la commande est bien reçue et est prête à être exécutée, "défaut" signifie qu'un défaut survient au niveau du courant d'alimentation du moteur; - pour le cycle 02, "local" signifie que l'action de couper l'alimentation peut se faire localement et non via le bus; - pour les autres cycles, "valeur 7 à O" permet d'écrire, en codage binaire et sur 8 bits, la valeur analogique de la mesure d'un courant de phase; - "adresse 2 à O" permet de coder sur 3 bits le numéro de la phase sur laquelle est effectuée la mesure; - "information spéciale 1 à 3" permet d'indiquer le fonctionnement de produits auxiliaires comme des capteurs par exemple. Les exemples ci-dessus des tableaux F3 et F4 ont été pris sur des périodes de 6 cycles. Il va de soi que selon le nombre de bits désirés pour la transmission d'une information, la période du macrocycle peut être écourtée ou prorogée au maximum à 7 cycles. Ainsi, sur une période de 4 cycles par exemple, l'information peut être échangée sur 12 bits au plus pour les requêtes ou les réponses et sur 6 bits au plus pour les réponses ou requêtes correspondantes. Sur une période de 7 cycles, l'information peut être échangée sur 21 bits et 7 bits au plus. 13 2774531 REVENDICATIONS 1. Protocole bidirectionnel de transmission d'informations sur un bus de terrain (B) entre une unité de contrôle et de commande, tel qu'un automate programmable (AP), et un appareillage électrique (10) au moyen de modules d'interface respectifs maître (M) et esclave (E), le protocole de transmission comprenant des signaux de requête émis du module maître (M) vers le module esclave (E) et des signaux de réponse émis du module esclave vers le module maître, lesdits signaux de requête et de réponse étant codés de manière binaire sur des bits de broches de données (DO, D1, D2, D3) d'un circuit intégré (21) interne au module esclave (E), caractérisé en ce que l'échange d'une information entre le module maître (M) et le module esclave (E) consiste en l'échange de plusieurs signaux de requête et signaux de réponse codés sur un macrocycle de période (T) et séquences sur ce macrocycle en plusieurs cycles élémentaires ordonnés (C1 à On) qui comprennent chacun un seul signal de requête et un seul signal de réponse. 2. Protocole bidirectionnel de transmission d'informations selon la revendication 1, caractérisé en ce que, pour chaque cycle élémentaire(C1 à Cn), le signal de requête ou de réponse présente un nombre fixe de bits dont un bit (D3) est codé pour réaliser le séquencement des cycles et les autres bits (D2, D1, DO) servent au codage du contenu de l'information, tandis que le signal de réponse ou de requête correspondant présente pour un même nombre fixe de bits au moins deux bits (D3, D2) qui sont codés pour numéroter le cycle élémentaire et les autres bits qui servent au codage du contenu de l'information. 3. Protocole bidirectionnel de transmission d'informations selon la revendication 2, caractérisé en ce que le bit de codage (D3) servant au séquencement du macrocycle change alternativement de valeur ("0", "1 ") de façon à identifier chaque changement de cycle élémentaire. 4. Protocole bidirectionnel de transmission d'informations selon la revendication 2, caractérisé en ce que pour numéroter quatre cycles élémentaires (Cl à C4) d'un macrocycle, deux bits (D3, D2) sont utilisés pour numéroter les deux premiers cycles, chacun des autres cycles étant numéroté sur trois bits (D3, D2, D1). 5. Protocole bidirectionnel de transmission d'informations selon la revendication 2, caractérisé en ce que pour numéroter sept cycles élémentaires (C1 à C7) d'un macrocycle, trois bits (D3, D2, D1) sont utilisés pour numéroter chacun des cycles.