Brevet FR2781952A1 — publié le 20000204

I L'invention concerne un procédé d'attribution d'adresses informatiques entre unités d'un système de conduite d'installation industrielle reliées entre elles par une architecture locale de communication en temps partagé d'informations numériques. Comme il est connu, la gestion d'un système de conduite d'installation industrielle implique la présence d'une architecture de communication pour que les transmissions d'informations entre les diverses unités d'exploitation programmables qui sont susceptibles d'intervenir dans la conduite soient assurées d'une manière bien adaptée aux différents besoins rencontrés. Il est classique dans de tels systèmes d'assurer une exploitation partagée dans le temps, des liaisons de transmission utilisées entre les unités d'exploitation programmables, et de permettre aux informations dont la transmission n'est soumise qu'à des contraintes relativement souples en matière d'urgence d'exploiter les laps de temps plus ou moins régulièrement laissés disponibles par les informations soumises à des contraintes plus sévères. Il a par ailleurs été développé des techniques de communication dans le cadre de développements liés à l'informatique, en particulier à celui des réseaux de communication de type Internet ou Intranet. Ces techniques facilitent l'exploitation d'informations enregistrées en les mettant à disposition d'un grand nombre d'intervenants, pratiquement quelle que soit la localisation de ces intervenants par rapport aux sites o les informations sont enregistrées et ceci sous des formes universellement standardisées. L'invention se propose donc de transposer certaines de ces techniques de manière à apporter une solution simple et pratique à un problème existant dans les systèmes de conduite d'installation industrielle o des unités programmables d'exploitation, classiquement organisées chacune autour d'un ordinateur dûment programmé et d'un ensemble de mémoire, sont reliées entre elles par une architecture locale de communication. Comme il est connu en ce domaine, chaque unité dispose d'une adresse matérielle d'unité, physiquement définie et classiquement dite câblée, qui permet d'identifier une unité parmi les autres dans le système et qui est classiquement imposée par l'installateur ou par l'exploitant à la mise en service. Il est aussi nécessaire que les unités susceptibles de communiquer entre elles par des techniques de transmission d'informations de type informatique disposent d'adresses informatiques individuelles leur permettant de se faire reconnaître lorsqu'elles envoient des informations et d'être jointes lorsque des informations leur sont envoyées. Ainsi dans le cas o les échanges d'informations sont réalisés en utilisant le protocole Internet IP, il est nécessaire que chacune des unités dispose d'une adresse IP individuelle. L'attribution de ces adresses dans le cadre d'un réseau local peut s'effectuer de manière manuelle, toutefois une telle solution n'est pas réellement satisfaisante, en particulier lorsque le nombre d'unités reliées est élevé. Ceci est souvent le cas avec des réseaux locaux prévus industriels ou de plus il est parfois nécessaire de réaliser des modifications au cours du temps. L'attribution d'adresses aux unités d'un réseau local peut également s'effectuer par l'intermédiaire d'un serveur d'adresses IP, tel BOOT P. prévu au niveau du réseau Internet. Toutefois cette solution ne convient pas bien lorsque l'architecture de communication impliquée ne permet pas le transfert d'un nombre d'octets suffisant sans segmentation, comme cela se produit avec certaines architectures de communication de systèmes industriels L'invention propose donc un procédé d'attribution d'adresses informatiques entre unités d'un système de conduite d'installation industrielle reliées entre elles par une architecture locale de communication en temps partagé d'informations transmises sous forme numérique, pour des unités qui disposent d'origine d'une adresse matérielle numériquement traduite et qui sont aptes à communiquer entre elles en exploitant les protocoles IP, TCP, UDP après avoir obtenues chacune une adresse informatique IP comportant un en-tête composé de données relatives à l'adresse réseau de l'architecture locale de communication suivies par des données d'adresse individuelle de l'unité émettrice. Selon une caractéristique de l'invention, le procédé d'attribution prévoit successivement: - une diffusion au niveau de l'architecture de communication locale d'une trame de requête d'adresse par une unité demanderesse désireuse d'obtenir sa propre adresse informatique, ladite trame comportant notamment une adresse de port UDP destinataire relative à une des unités faisant fonction d'attributrice d'adresse dans le cadre de l'architecture locale, une adresse de port UDP propre à l'unité demanderesse, et un groupe de données caractéristique d'une demande d'adresse; - une prise en compte de la requête par une application de l'unité d'attribution à reconnaissance de l'adresse de port UDP qui lui est propre; - une diffusion au niveau de l'architecture de communication locale d'une trame d'attribution, de même structure que la trame de requête, par l'unité d'attribution d'adresses, ladite trame d'attribution comportant notamment l'adresse de port UDP de l'unité demanderesse, au niveau destinataire et des données correspondant à sa propre adresse IP d'unité d'attribution; - une prise en compte des données correspondant à l'adresse IP de l'unité d'attribution par l'unité demanderesse à reconnaissance de l'adresse de port UDP qui lui est propre, au niveau destinataire de la trame d'attribution diffusée, et une détermination par l'unité demanderesse de sa propre adresse IP, à des fins de stockage et d'exploitation, à partir des données d'adresse IP d'unité d'attribution qu'elle a reçues, par substitution des données d'adresse matérielle qui lui sont propres à celles de l'unité d'attribution en queue de l'adresse IP communiquée pour cette unité d'attribution. Selon l'invention le procédé prévoit que les trames d'attribution et de requête incluent identiquement un en-tête comportant successivement une adresse physique et une adresse IP de destinataire qui sont caractéristiques d'une diffusion, une adresse IP de source relative à une source considérée comme inconnue dans le cas d'une trame de requête et relative à l'unité d'attribution d'adresse dans le cas d'une trame d'attribution, une adresse de port UDP destinataire relative à l'unité d'attribution dans le cas d'une trame de requête et à l'unité demanderesse d'adresse dans le cas d'une trame d'attribution, une adresse de port UDP source relative à l'unité demanderesse dans le cas d'une trame de requête et relative à l'unité d'attribution d'adresse dans le cas d'une trame d'attribution, ainsi qu'un octet de données caractéristiques d'une demande d'adresse dans le cas d'une trame de requête et correspondant à l'adresse matérielle de l'unité d'attribution dans le cas d'une trame d'attribution. L'invention, ses caractéristiques et ses avantages sont précisés dans la description qui suit en liaison avec les figures évoquées ci-dessous. La figure 1 présente un schéma de principe d'une architecture de communication pour système de conduite d'une installation industrielle. La figure 2 présente un format d'adresse IP exploité par l'invention. La figure 3 présente un schéma relatif à une pile de protocoles à quatre couches mise en oeuvre par l'invention. L'architecture de communication pour système de conduite d'une installation industrielle qui est illustrée sur la figure 1 est supposée destinée à assurer des échanges d'informations numérisées entre des unités d'exploitation programmables référencées 1 à 5 du système qui comporte une pluralité de dispositifs de contrôle/commande. Ces derniers sont par exemple des capteurs 6 ou des actionneurs 7 et ils sont contrôlés par certaines des unités d'exploitation couramment dénommées unités ou dispositifs de terrain, telles ici 1 et 2, Ces unités de terrain 2 sont supposées fournir et/ou recevoir des informations relatives aux opérations, notamment de commande et de mesure, réalisées par les dispositifs qu'elles supervisent. Elles échangent des informations mises sous forme numérique, en fonction des besoins, notamment avec d'autres unités du système de conduite de l'installation, telle l'unité 3 dans une première variante de réalisation o seule la liaison II est établie, telles les unités 4 et 5 dans une seconde variante o seule la liaison I est établie et telles les unités 3, 4 et 5 dans une troisième variante o les deux liaisons I et II sont établies. Les diverses unités d'exploitation 1 à 5 sont organisées chacune autour d'au moins un processeur et d'un ensemble de mémoires mortes et/ou vives et elles sont raccordées par une interface de communication à l'architecture de communication du système de conduite ou plus précisément à au moins une liaison de cette architecture. Dans l'exemple présenté, les unités de terrain 1, 2 et l'unité d'exploitation 3, qui est par exemple une station locale d'opérateur, font partie d'un réseau local organisé autour d'un bus 8 exploité en partage de temps. Les informations sont transmises sous forme numérique et par exemple par paquets au cours de trames temporelles structurées d'une manière déterminée, comme connu en ce domaine. Une unité d'exploitation 4 est supposée jouer un rôle de routeur entre les autres unités reliées au bus 8 et des unités de niveau supérieur. Ces dernières sont ici supposées reliées à titre d'exemple à un réseau Ethernet 9 et elles sont symbolisées par l'unité 5. Cette dernière est par exemple un calculateur de procédé ou une console d'opérateur. Selon l'invention, il est prévu d'appliquer les techniques de communication et notamment d'adressage développées dans le cadre du réseau Internet à au moins une partie des informations échangées entre les unités d'exploitation dans le cadre d'un réseau local tel qu'évoqué ci-dessus. Comme il est connu ceci implique que chaque unité reliée au réseau dispose d'une adresse informatique individuelle qu'elle exploite pour s'identifier lorsqu'elle envoie des informations et qui est exploitée par les autres unités pour communiquer avec elle. Cette adresse informatique tient classiquement compte d'une adresse matérielle d'unité, physiquement définie et classiquement dite câblée, qui permet d'identifier une unité parmi les autres et qui est donnée à la mise en service de l'installation. Cette adresse matérielle est par exemple fixée au moyen d'un système de cavaliers; de commutateurs ou de roues de codage matériellement implanté au niveau de chaque unité. Dans l'exemple proposé ici, l'adresse informatique de chacune des unités adressables d'un réseau local est donnée en suivant les règles en vigueur dans le cadre du protocole Internet IP, version 4. Chaque adresse informatique d'unité se présente sous la forme schématisée sur la figure 2, o sont représentés, à titre d'exemple, 3 octets d'adresse de réseau suivis par un octet d'adresse d'unité. Cette adresse d'unité correspond ici à l'adresse matérielle individuelle initialement attribuée à chaque unité à la mise en service. Les possibilités d'adresse que permet ce dernier octet sont en général suffisantes pour identifier les unités, notamment de terrain, d'un réseau local ou d'un segment de réseau local d'un système de conduite d'une installation industrielle. Toutefois si chaque unité d'un réseau local est dotée d'une adresse matérielle lorsqu'elle est mise en service, elle ne dispose pas nécessairement pour cela d'une adresse informatique IP attribuée. Selon l'invention, il est donc prévu que toute unité requiert par diffusion sur le réseau local une demande d'adresse IP, si elle n'a pas connaissance de cette adresse. Il est donc prévu une pile comportant des couches IP, TCP et UDP comme schématisé en figure 3 entre application et couche MAC d'accès au réseau, au niveau de chacune des unités reliées au réseau local. La diffusion de requête d'adresse à partir d'une unité s'effectue par envoi d'un datagramme en exploitant le protocole de transport de datagrammes d'usager UDP et donc en mode non connecté. Cette requête est ici supposée convoyee dans le cadre d'une trame de transmission, en vigueur dans le réseau local, dont la structure est donnée ci-dessous. Cette trame comporte donc un en-tête physique ayant un nombre donné d'octets, par exemple 6 octets dans le cas d'un réseau F8000 de la demanderesse ou encore 12 octets dans le cas d'un réseau ETHERNET. Cet en-tête est suivi par un en-tête IP de 20 octets qui est lui-même suivi d'un en-tête UDP de 8 octets, à la suite desquels sont positionnes des octets de données. Comme connu un en-tête IP comporte 4 octets d'adresse de source et 4 octets d'adresse de destination. Un en-tête UDP comporte aussi 2 octets d'adresse de port de source et 2 octets d'adresse de port de destination. La requête émanant d'une unité d'exploitation telle que par exemple l'unité de terrain 1 est diffusée sous la forme d'une trame de requête dont la structure se définit de la manière indiquée ci-dessous: Dans cette trame, l'adresse physique d'en-tête est caractéristique d'une diffusion de même que l'adresse de destination IP, cette dernière correspondant par exemple à un code 255.255.255.255 en notation décimale. L'adresse de provenance correspond à un code caractéristique de source inconnue, par exemple 0.0.0.0. L'adresse de port source fournie est celle du port UDP choisi pour l'unité qui demande une adresse, par exemple 6003 pour l'unité 3. L'adresse de port destinataire est une adresse de port UDP, par exemple 6255, qui a été prédéterminée et attribuée d'origine à l'unité d'exploitation chargée de l'attribution des adresses au niveau local. Cette unité est supposée être l'unité 3 dans la première variante envisagée plus haut et l'unité 4, dans la seconde variante. Les données de commande figurant en queue de la trame indiquée ci-dessus sont ici supposées être caractéristiques d'une demande d'adresse. Cette trame de requête est diffusée par le réseau local et donc ici via le bus 8. Elle traverse la couche physique, la couche IP et atteint la couche UDP o l'adresse de port UDP est reconnue comme attribuée à l'unité d'attribution d'adresse. Une application implantée dans cette unité d'attribution permet de traiter la requête convoyée par la trame de requête définie ci-dessus et d'attribuer une adresse IP disponible au niveau local à l'unité demanderesse. Suite à la réception de la trame de requête, l'unité d'attribution d'adresse 3 ou 4 diffuse à son tour une trame d'attribution dont la structure est identique à celle définie plus haut. Cette trame contient successivement une adresse physique et une adresse IP de destination caractéristiques d'une diffusion, comme précédemment, une adresse IP de provenance et une adresse UDP de port source propres à l'unité d'attribution d'adresse, une adresse UDP relative au port destinataire prévu pour l'unité demanderesse qui a diffusé la trame de requête et des données définissant l'adresse IP que possède l'unité d'attribution elle-même. Ces données définissent par exemple une adresse telle que 192.9.240.17, dans laquelle le dernier octet qui correspond ici au nombre décimal 17 correspond aussi à l'adresse matérielle de l'unité d'attribution. La couche IP présente uniquement les données qui correspondent ici à l'adresse IP de l'unité d'attribution, à la couche UDP. La trame d'attribution est diffusée par l'unité d'attribution vers toutes les unités appartenant au réseau local et notamment aux unités de terrain, telles que 1, 2, via le bus 8 dans l'exemple proposé en figure 1. L'adresse de port destinataire contenue dans une trame d'attribution permet à l'unité exploitant ce port de savoir que les données contenues dans cette trame lui sont destinées et correspondent à celles qui vont lui permettre de déterminer quelle est sa propre adresse IP. En effet l'adresse IP reçue correspond à celle de l'unité d'attribution d'adresse qui ne se différencie de celle de l'unité demanderesse que par le dernier octet dont on a vu qu'il était établi de manière à correspondre à une adresse matérielle d'unité. Dans l'exemple choisi o l'unité demanderesse a une adresse matérielle correspondant au nombre 3 en notation décimale et o l'adresse IP qu'elle reçoit dans la trame d'attribution est 192.9.240.17 en notation décimale, il est prévu des moyens, au niveau de l'unité de commande de cette unité demanderesse, qui permettent de modifier la valeur du dernier octet d'adresse IP de manière que celui-ci corresponde au nombre décimal 3 d'adresse matérielle de l'unité demanderesse et qu'il se substitue à l'octet correspondant au nombre 17 de l'unité d'attribution. Dans l'exemple choisi, l'unité demanderesse d'adresse matérielle 3 détermine ainsi qu'elle dispose de l'adresse IP 192.9.240.3 dans le cadre du réseau local auquel elle est reliée. Elle est alors apte à prendre toute mesure utile pour conserver et exploiter cette adresse IP. La détermination des adresses IP au niveau d'un ensemble d'unités reliées à un même réseau local est donc particulièrement simple, il peut donc être rapide et il n'implique qu'un trafic très limité de données. Cet adressage IP des unités d'un réseau local peut notamment être employé pour des transmissions de données par pages HTML. Dans ce cas, au moins certaines des unités et notamment les unités de terrain comportent individuellement chacune un serveur leur permettant de remplir des structures de page HTML prédéterminées stockées au niveau de ces unités avec des valeurs de variables ou de paramètres collectées et/ou exploitées localement, de manière à les rendre accessibles à des intervenants très divers. Un tel accès peut s'effectuer au niveau d'unités reliées au réseau local qui interviennent en tant que clientes auprès des serveurs ou au niveau d'ordinateurs équipés matériellement et logiciellement pour pouvoir se relier au réseau local soit directement, soit par l'intermédiaire d'un autre réseau de communication et en particulier du réseau Internet. REVENDICATIONS 1/ Procéde d'attribution d'adresses informatiques entre unités (1 à 5) d'un système de conduite d'installation industrielle reliées entre elles par une architecture locale de communication en temps partagé (8, 9) o des informations sont transmises sous forme numérique, pour des unités qui disposent d'origine d'une adresse matérielle numériquement traduite et qui sont aptes à communiquer entre elles en exploitant les protocoles IP, TCP, UDP après avoir obtenues chacune une adresse informatique IP comportant un en-tête composé de données relatives à l'adresse réseau de l'architecture locale de communication suivies des données d'adresse individuelle de l'unité émettrice, caractérisé en ce qu'il prévoit successivement: - une diffusion au niveau de l'architecture de communication locale d'une trame de requête d'adresse par une unité demanderesse désireuse d'obtenir sa propre adresse informatique, ladite trame incluant notamment une adresse de port UDP destinataire qui est relative à une des unités (3 ou 4) faisant fonction d'attributrice d'adresse dans le cadre de l'architecture locale, une adresse de port UDP source propre à l'unité demanderesse, et des données caractéristiques d'une demande d'adresse; - une prise en compte de la requête par une application dans l'unité d'attribution à reconnaissance de l'adresse de port UDP qui lui est propre; - une diffusion au niveau de l'architecture de communication locale d'une trame d'attribution, de même structure que la trame de requête, par l'unité d'attribution d'adresses, ladite trame d'attribution comportant notamment l'adresse de port UDP de l'unité demanderesse, à un niveau destinataire, et des données correspondant à sa propre adresse IP d'unité d'attribution; - une prise en compte des données correspondant à l'adresse IP de l'unité d'attribution par l'unité demanderesse à reconnaissance de l'adresse de port UDP qui lui est propre, à un niveau destinataire de la trame d'attribution diffusée, et une détermination par l'unité demanderesse de sa propre adresse IP, à des fins de stockage et d'exploitation, à partir des données d'adresse IP d'unité d'attribution qu'elle a reçues, par substitution des données d'adresse matérielle qui lui sont propres à celles de l'unité d'attribution en queue de l'adresse IP communiquée pour cette unité d'attribution. 2/ Procédé selon la revendication 1, dans lequel les trames d'attribution et de requête incluent identiquement un en-tête comportant successivement une adresse physique et une adresse IP de destinataire qui sont caractéristiques d'une diffusion, une adresse IP de source relative à une source considérée comme inconnue dans le cas d'une trame de requête et relative à l'unité d'attribution d'adresse dans le cas d'une trame d'attribution, une adresse de port UDP destinataire relative à l'unité d'attribution dans le cas d'une trame de requête et à l'unité demanderesse d'adresse dans le cas d'une trame d'attribution, une adresse de port UDP source relative à l'unité demanderesse dans le cas d'une trame de5 requête et relative à l'unité d'attribution d'adresse dans le cas d'une trame d'attribution, ainsi qu'un octet de données caractéristiques d'une demande d'adresse dans le cas d'une trame de requête et correspondant à l'adresse matérielle de l'unité d'attribution dans le cas d'une trame d'attribution.