TRANSMISSION DE DONNEES INTRODUCTION Pour agir efficacement sur un processus physique, chimique ou biologique, naturel ou industriel, il importe, au préalable, de bien le connaître: la chaîne d'acquisition fournit au décideur (homme ou machine) les informations permettant d'orienter son action et de valider ses décisions. Encore faut-il que les informations acquises soient suffisantes et dignes de foi. D'un monde réel complexe où s'enchevêtrent de multiples phénomènes, la chaîne d'acquisition permet d'extraire les informations simples et nécessaires à une représentation valable et utile. Ces informations caractérisent les grandeurs physiques qui sont les paramètres agissants des modèles représentatifs de la réalité: température, pression, débit, force, etc. Connaître une grandeur, c'est, pour le physicien ou l'ingénieur, lui affecter une valeur numérique ou une succession de valeurs numériques significatives qui résultent d'opérations de mesure: la chaîne d'acquisition est donc une chaîne de mesure. La grandeur objet de mesure ou mesurande est caractérisée par son intensité et par son évolution temporelle; ce sont ces informations que pour chaque mesurande la chaîne d'acquisition doit pouvoir délivrer sous la forme de signaux électriques représentatifs et exploitables. Les difficultés que présente l'acquisition de données ont deux causes principales: - l'imbrication dans la réalité de multiples grandeurs qui rend souvent difficile l'isolement et la saisie du seul mesurande recherché; - les imperfections des dispositifs constitutifs de la chaîne qui entraînent une détérioration des signaux et donc de l'information. C'est à ces deux niveaux que doit se porter l'attention du concepteur pour limiter l'imprécision des mesures et éviter les risques d'erreur. Le capteur est la source première du signal électrique et donc de l'information traitée; le signal qu'il délivre doit être l'image électrique du mesurande qu'il traduit et donc contenir toute l'information recherchée. Or, du seul fait de son installation, un capteur est susceptible de modifier la valeur du mesurande qu'il est censé traduire et, de plus, les autres grandeurs physiques de son environnement risquent d'altérer sa réponse. Les dispositifs dont l'association au capteur constitue la chaîne d'acquisition (amplificateur, filtre, échantillonneur-bloqueur, convertisseur analogique-numérique) ont pour fonction de traiter le signal de façon à le rendre approprié à l'exploitation prévue. Cependant, les caractéristiques métrologiques de ces dispositifs ont des limitations dont il faut tenir compte pour éviter une détérioration du signal et donc une perte d'information : dérives thermiques et temporelles; bruit de fond, sensibilité aux perturbations électromagnétiques, non linéarité, bande passante limitée ou temps de réponse fini. Concevoir une chaîne d'acquisition, c'est choisir les dispositifs et leur montage de façon que leurs limitations soient compatibles avec la sauvegarde de l'information liée au signal. La généralisation du rôle des ordinateurs dans le contrôle-commande des processus industriels et en particulier, leur association aux chaînes d'acquisition n'a pas supprimé les problèmes précédents: elle donne, cependant, des moyens nouveaux, automatisés et rapides pour en tenir compte et les corriger, déchargeant ainsi l'opérateur des tâches fastidieuses de réglage, de compensation, d'annulation, etc. En outre, l'ordinateur est capable de remplir, en aval de la 1 chaîne, les fonctions complémentaires à l'acquisition que sont la mémorisation, l'affichage des données, leur analyse et leur traitement en temps réel. Le but est d'attirer l'attention sur les problèmes que pose l'adéquation à leur tâche des divers dispositifs de la chaîne. Il n'y a pas, en général, de solution parfaite car les contraintes techniques, environne mentales, économiques imposent des compromis. 1. L’INFORMATION ET CE QUI LA PORTE 1.1. Concept d’information Pour pouvoir prendre une décision d'évolution d'un système, comme le lancement d'une tâche, l'exécution d'une action programmée, l'élaboration d'un résultat, etc., il est nécessaire de disposer d'informations sur l'état du système et de son environnement. Deux cas doivent être distingués selon la responsabilité de la décision : La décision relève de la responsabilité humaine : l'opérateur doit alors pouvoir disposer d'informations sensorielles (visuelles, auditives, etc.) reçues directement ou par l'intermédiaire de capteurs, qui transmettent ces informations sous forme visuelle (voyants, indicateurs à aiguille, messages sur écrans et affiche urs, etc,) ou sonore (avertisseurs, messages vocaux, etc.) A partir de ces informations, l'homme prend des décisions qu'il traduit sous forme d'actions ou de consignes pour le système. La décision relève de la partie commande : la partie commande doit alors disposer, par l'intermédiaire de capteurs, d'informations sur l'état de la partie opérative ou de l'environnement du système, sur les consignes émises par l'opérateur, sur les messages éventuels communiqués par d'autres systèmes (informations d'entrée). Le traitement de ces informations par la partie commande lui permet d'émettre les ordres de fonctionnement, les signalisations à destination de l'opérateur, ou encore d'émettre des messages vers d'autres parties commandes (informations de sortie). L'information correspond donc à une relation entre un émetteur et un récepteur (destinataire). Dans le domaine de l'automatique, on associe en général plutôt « l'information» aux données d'entrée de la commande c'est-à-dire au destinataire. Lorsque la partie commande adresse une information vers l'extérieur (préactionneurs, pupitre), il s'agit d'un ordre ou d'un compte rendu. L'information source relève d'une typologie à trois classes, selon le besoin ou l'usage qui en est fait : - à un besoin élémentaire, correspondant à une proposition du type « vrai ou faux ». Il s'agit d'une information logique; - si le besoin correspond à une information plus complète et discriminante,comme une quantité (de couches, de flacons remplis, etc.) ou un rang (ordre de rangement), il faut exprimer un nombre. Cette information est numérique; - enfin, à un besoin de suivi permanent répond une information continue (ou analogique, par opposition à logique). Figure 1 2 1.2. Image informationnelle Le besoin (le « pourquoi») et la nature (le « sur quoi») de l'information étant perçus, il reste à définir une « image» exploitable (le « comment »). En automatique, un signal (électrique, pneumatique, optique, sonore, etc.) est le vecteur privilégié de l'information. Pour autant il ne faut pas confondre l'information avec ce qui la porte (l'information avec le signal, le contenu avec le contenant, le fond avec la forme). Il existe une transformation, une fonction de codage, entre l'information source et l'information image. Comme pour les informations sources, les informations images relèvent d'une typologie à trois classes. Cependant la relation entre la nature de l'information source et celle de son image n'est pas toujours directe. En effet, l'information source peut être représentée par une image de nature différente selon le codage utilisé. 1.3. Information discrète Une information discrète est composée d'unités distinctes portées par un signal (des signaux) binaire (s) qui peut(vent) prendre seulement deux états, 0 ou 1. On a alors à faire à une ou plusieurs variables binaires. 1.3.1 Information Tout Ou Rien. Si le codage retenu pour cette information est obtenu par une seule variable portée par un signal pouvant prendre seulement deux états, 0 ou 1, on a à faire à une information Tout Ou Rien (TOR). 1.3.2 Information numérique. L'information source est associée à un nombre souvent décimal ( Q), et son image est portée par des signaux TOR. L'information numérique discrète découle de la nécessité de discrimination d'une même information à l'aide d'un nombre restreint de variables (signaux). Une information numérique est le résultat d'un codage. 1.3.3 Codage des informations. Coder une information, c’est lui associer un symbole, ou une combinaison de symboles, qui permet de la communiquer.Transcoder une information, c’est passer d'un code à un autre. Le mode de fonctionnement des systèmes automatisés est du type binaire; il faut donc coder les informations avec des nombres binaires. 1.4. Information analogique Une information analogique est portée par un signal qui varie de manière continue, en relation avec l'évolution de la grandeur physique qui en est la source (voir figure 2). Figure 2 3 Une telle information est utile lorsque l'on souhaite contrôler le comportement d'un système de manière continue en commande proportionnelle. 2. Acquisition de données 2.1. Rôle Une chaîne d'acquisition recueille les informations nécessaires à la connaissance et au contrôle d'un procédé; elle délivre ces informations sous une forme appropriée à leur exploitation (figure 3). Un procédé industriel regroupe divers éléments dont les interactions physiques ou (et) chimiques concourent à un but de fabrication ou de transformation; le procédé est instrumenté et piloté à cette fin. L’état d'un procédé est, à chaque instant, caractérisé par les valeurs d'un certain nombre de grandeurs physiques ou (et) chimiques variables: ces valeurs sont les informations que le système d'acquisition doit fournir. L’assignation d'une valeur à une grandeur physique ou chimique est une opération de mesure, la grandeur objet de la mesure étant appelée le mesurande. Figure 3 . Place de la chaîne d'acquisition de données dans un ensemble de mesure-contrôle de procédé. 2.2. Structure d’une chaîne d’acquisition de données L’analyse, pour ses grandeurs fondamentales, de l'ensemble complexe d'interactions que constitue un procédé s'obtient par une succession d'opérations instrumentales ayant chacune sa fonction propre: la chaîne d'acquisition est formée par l'ensemble ordonné et coordonné des divers dispositifs assurant ces fonctions (figure 4). Dans sa structure de base, une chaîne d'acquisition doit pouvoir assurer, au moyen des dispositifs appropriés, les fonctions suivantes: - extraction de l'information concernant chacune des grandeurs physiques à connaître et traduction en signal électrique au moyen de capteurs et conditionneurs; - traitement analogique du signal destiné en particulier à en éviter la dégradation par le bruit et les parasites: amplification, filtrage; - sélection parmi l'ensemble des signaux disponibles du seul signal requis à l'aide du multiplexeur; - conversion du signal sous forme numérique adaptée au calculateur chargé de l'exploiter, au moyen de l'échantillonneur-bloqueur et du convertisseur analogique numérique; 4 - la coordination des opérations précédentes est assurée par un calculate ur qui, en outre, peut être chargé de divers traitements sur les signaux numériques qu'il a acquis, traitements destinés à faciliter leur exploitation (linéarisation) ou corriger des défauts de l'appareillage (dérives thermiques compensées après autozéro et autoétalonnage par exemple). Figure 4 -Exemple de structure d'une chaîne d'acquisition. Des conditions particulières d'emploi peuvent nécessiter l'adjonction de fonctions supplémentaires comme, par exemple: la transmission à distance des signaux par ligne bifilaire, après conversion tension-fréquence ou tension-courant, par émission hertzienne, en général à modulation de fréquence ou d'impulsions, ou encore par fibre optique après conversion du signal électrique en signal optique. 2.3. Les constituants Les performances globales de la chaîne d'acquisition résultent des performances individuelles des divers dispositifs qui la constituent. C'est pourquoi chacun de ces dispositifs doit être choisi en fonction des conditions qui lui sont imposées. Cette sélection s'opère à partir des caractéristiques métrologiques qui sont un ensemble de spécifications décrivant le fonctionnement de chaque dispositif, et fournies par le constructeur. 2.3.1 Les capteurs Les capteurs sont les premiers éléments d'une chaîne d'acquisition. À chaque mesurande est associé un capteur dont le rôle est de traduire ce mesurande de valeur m en une grandeur électrique s(m), fonction connue du mesurande, en sorte qu'à chaque valeur s de cette grandeur électrique puisse être liée de façon univoque la valeur m du mesurande. Cette grandeur électrique s(m) est à l'origine du signal électrique que traite le système d'acquisition. Un capteur est donc un constituant d'interface entre l'environnement d'un système automatisé, ou sa propre partie opérative, et sa partie commande. Il produit un signal exploitable par cette dernière qui est généralement proportionnel à la grandeur physique qu'il surveille. Ce signal, cette information, est soit analogique, soit numérique. 5 2.3.2 Les détecteurs Les détecteurs sont des capteurs Tout Ou Rien. Ils possèdent toutes les propriétés des capteurs, excepté la nature du signal de sortie qui est binaire. 2.3.3 Raccorde ment des détecteurs et des capteurs. Les détecteurs et les capteurs délivrent des signaux, logiques ou analogiques, qui sont généralement électriques ou pneumatiques. Selon la nature du circuit de sortie et le niveau des signaux recueillis, il est nécessaire de respecter un certain nombre de précautions de raccordement. 2.3.4 Le conditionneur La plupart des dispositifs ne sont aptes à traiter le signal électrique que sous la forme de tension. Le rôle du conditionne ur est donc de convertir, lorsqu'elle n'est pas une tension, la grandeur électrique de sortie du capteur, ou ses variations par rapport à un état d'origine, en une tension dont l'amplitude ou (et) la fréquence sont déterminées par la sortie du capteur. Certains conditionneurs offrent la possibilité supplémentaire de permettre d'effectuer des corrections sur le signal qu'ils délivrent: compensation des grandeurs d'influence, linéarisation. 2.3.5 L’amplificateur D'une façon générale, un amplificateur remplit une triple fonction: - en augmentant son niveau, il assure une protection du signal vis-à-vis des parasites, du bruit de fond et des dérives des éléments suivants de la chaîne; - par son impédance d'entrée élevée et sa faible impédance interne, il permet d'assurer un transfert optimal du signal entre les dispositifs qu'il relie; - il améliore la précision de mesure en portant le signal au niveau requis par l'échelle d'entrée de l'élément final de la chaîne (le CAN : Convertisseur Analogique-Numérique). En instrumentation industrielle, le signal de mesure est fréquemment superposé à des tensions parasites de mode commun, dues en particulier à des couplages magnétiques ou électriques à des sources perturbatrices. Par leur aptitude à la réjection des tensions de mode commun, les amplificateurs différentiels jouent un rôle capital dans la réduction des tensions parasites dès lors que celles-ci apparaissent comme des tensions de mode commun. 3. Transmission de données 3.1. Généralité Le capteur et le conditionneur éventuellement associés délivrent sous forme de tension l'information correspondant au mesurande. Le capteur est souvent éloigné des dispositifs qui en assurent le traitement et l'exploitation. L’information doit donc être transmise dans des conditions qui n'entraînent ni sa dégradation par les parasites ni sa distorsion du fait des caractéristiques électriques de la liaison. Cette transmission peut se faire soit sous forme analogique, soit sous forme numérique. 6 . 3.2. Transmission de données analogiques La transmission analogique par boucle de courant est un mode de transmission qui, bien qu'ancien, trouve toujours application; il a pour inconvénient de nécessiter une ligne par capteur. L’information liée à l'amplitude de la tension v v s délivrée par la source et son éventuel conditionneur est transposée sur l'amplitude d'un courant ib (courant de boucle) dont les variations, entre des valeurs minimale Ib0 et maximale Ibmax , sont proportionnelles à v v s : ib= Ibo+ g. v s g étant une transconductance. Les deux standards les plus utilisés correspondent à : Ibo = 4 mA ( niveau logique 0), Ibmax = 20 mA ( niveau logigue 1) et Ibo = 10 mA ( niveau logique 0) , Ibmax.= 50 mA ( niveau logigue 1). INTÉRÊT DE LA TRANSMISSION PAR COURANT Le signal lié au courant n'est pas affecté par les chutes ohmiques de tension dans la ligne, ce qui autorise des transmissions sur des longueurs supérieures à 1 km, Les tensions parasites (f.e.m. induites ou thermoélectriques) ne contribuent pratiquement pas au courant de boucle du fait de la grande impédance interne du générateur de courant qui est en série avec la ligne. 3.3. Transmission de données numériques 3.3.1. Généralités La transmission numérique est adaptée aux transferts d'information vers les dispositifs de traitement qui sont toujours numériques; elle est économique car elle permet de partager une même ligne ou un même bus entre plusieurs équipements sources d'information. Ce mode de transmission exige évidemment que l'information délivrée par le capteur soit préalablement convertie sous forme numérique. Le système à microprocesseur ayant reçu les données numériques issues du CAN, en provenance de la chaîne d'acquisition, et éventuellement effectué sur elles des opérations à caractère métrologique : - correction de décalage, mise à l'échelle, - compensation des grandeurs d'influence, linéarisation, doit, en général transmettre ces données vers un calculateur (PC) chargé de leur exploitation et qui peut être, selon les cas: contigu (carte enfichable), à proxi mité (quelques mètres, dans un laboratoire) ou à distance importante (100 mètres ou plus dans une installation industrielle). Le problème posé est dès lors d'assurer le transfert en satisfaisant aux conditions imposées de distance, de vitesse de transmission, de sécurité et de coût. Il y a deux modes de transmissions numériques: la transmission dite parallèle et la transmission dite série. 7 3.3.2. Transmission de données numériques parallèle En transmission parallèle, les huit bits d'un octet sont transmis simultanément sur huit lignes; ce type de transmission permet des transferts rapides, mais il est limité à des distances faibles du fait du coût du nombre important de lignes nécessaires. La transmission de données en parallèle est a priori techniquement moins complexe que la transmission en série, mais le nombre important de lignes nécessaires et donc leur coût limite les distances d'utilisation. Il y a cependant une situation compatible avec la contrainte de distance des transmissions en parallèle: il s'agit des mesures faites à l'intérieur d'un laboratoire où plusieurs appareils et un ordinateur situés à des distances de l'ordre de quelques mètres échangent des informations numériques. C'est dans ce but qu'a été mis au point un système de transmission de données désigné comme GPIB (General Purpose Instrumentation Bus) et dont les caractéristiques sont définies par la norme IEEE 488. 3.3.3. Transmission de données numériques série En transmission série, les bits constitutifs d'un octet sont transmis l'un après l'autre sur une ou deux lignes d'où une vitesse de transfert qui est réduite, mais des distances de transmission qui peuvent être beaucoup plus importantes, du seul fait de la diminution du coût des lignes. Les informations à transmettre - données, adresses, commandes, etc. – sont transmises en série sur 1 (et la masse) ou 2 fils. La réalisation de la liaison comporte plusieurs étapes. À l’émission: 1. transformation parallèle-série de la donnée; 2. adjonction de bits ou de caractères de contrôle pour constituer une trame qui est l'ensemble structuré en champs des informations transmises solidairement en un bloc. Les règles d'organisation et la signification de divers champs de la trame sont définies par un protocole; 3. transcodage qui est un changement de représentation de l'information selon des règles définies afin de faciliter la transmission et de réduire le risque d'erreurs; 4. translation des niveaux logiques afin de les adapter à la transmission sur des lignes de faible impédance et d'améliorer l'immunité aux bruits. Cette fonction est assurée par l'interface de liaison (driver). Les trois premières opérations sont effectuées par un dispositif désigné comme contrôleur de communication. À la réception, les opérations inverses sont successivement effectuées, aboutissant à la récupération des données sous forme parallèle. Les informations sont émises au rythme de l'horloge d'émission: un bit par période d'horloge. La récupération des informations à la réception nécessite la présence d'une horloge de réception qui soit aussi synchrone que possible de l'horloge d'émission, afin que chaque bit de la trame reçue puisse être échantillonné. La vitesse de transmission s'exprime en bits par seconde (bps). Les transmissions série sont effectuées selon l'un ou l'autre des deux modes: asynchrone ou synchrone. La transmission asynchrone est limitée à une vitesse de transmission de 19,2 Kb/s( kilobits par seconde). En transmission synchrone le délai est constant entre les messages. La synchronisation des horloges est assurée à intervalles réguliers par un caractère de synchronisation (SYN). La vitesse de transmission en mode synchrone est limitée à 500 Kb/s. 8 3.4. Définitions En plus des lignes de transfert des données, il est en général nécessaire d'allouer un certain nombre de lignes au contrôle des transferts et notamment à la procédure dite de handshake qui est un dialogue entre l’émetteur et le récepteur destiné à vérifier la possibilité d'un échange et à confirmer son bon déroulement : - l'émetteur signale que des données sont disponibles; - le récepteur indique qu'il est apte à les recevoir; - le récepteur ayant reçu les données accuse réception. Une liaison est dite simplex si elle ne peut être effectuée que dans un seul sens. Par contre, si les transferts d'information entre deux dispositifs doivent pouvoir être effectués dans les deux sens, deux solutions sont possibles : - une même voie est utilisée successivement dans un sens puis dans l'autre: liaison semi-duplex (half duplex); - deux voies distinctes sont utilisées, une pour chaque sens, permettant des transferts simultanés: liaison duplex intégral (full duplex). L’interconnexion des dispositifs échangeant leurs informations peut être réalisée selon deux configurations: en étoile ou en guirlande (daisy chain). Dans la configuration en étoile (figure 5-a), chaque dispositif, (émetteur ou récepteur) a sa ligne propre, les différentes lignes étant interconnectées en deux points communs à l'ensemble. L’inconvénient de cette configuration est un risque de surcharge des émetteurs par les lignes en parallèle. Dans la configuration en guirlande (figure5-b), il y a une ligne commune à l'ensemble des dispositifs, chacun ayant sa connexion propre à la ligne. La liaison entre émetteur et récepteur est physiquement assurée par un support de transmission dit médium; on en distingue trois types principaux : - liaison conductrice: piste, fil, ensemble de fils (bus), paire torsadée, câble coaxial; - liaison optique par infrarouge rayonné ou par fibre optique dont l'intérêt est l'insensibilité aux parasites; - liaison hertzienne utilisée dans le cas de très grandes distances ou lorsque l'un des éléments de la liaison est en mouvement: mesures sur pièces tournantes par exemple. Figure 5 - Configuration des liaisons: a} en étoile; h} en guirlande. 9 10 Architecture des calculateurs 1.1 Introduction Ce paragraphe n’a pas la prétention de présenter un cours d’informatique. D’une manière générale, seuls les caractéristiques architecturales qui ne sont pas transparentes pour l’utilisateur, c’est-à-dire celles qui doivent nécessairement être prises en compte dans les codes de calcul scientifique pour tirer les meilleures performances possibles des calculateurs, sont présentées. Il n’est donc pas question de rentrer dans le détail des technologies matérielles et logicielles des systèmes informatiques. 1.2 Parallélisme et mémoire L’objectif de la simulation numérique est d’approcher le mieux possible la réalité physique à l’aide de modèles discrets. Plus le modèle est riche, plus il compte de paramètres et plus il requiert une quantité de calcul importante. La fonction des calculateurs scientifiques est de permettre la réalisation de ces calculs en un temps suffisamment court pour que l’outil de simulation soit exploitable dans le cadre d’un processus de conception ou de prévision. Lorsque l’on pense performance pour un calculateur scientifique, la première chose qui vient à l’esprit c’est la vitesse de calcul. De même, le premier critère d’appréciation de la technologie d’un ordinateur est généralement la fréquence du processeur, c’est-à-dire la vitesse à laquelle il effectue les opérations élémentaires. La façon la plus naturelle de dépasser la limite de vitesse liée à la fréquence, consiste à dupliquer les unités fonctionnelles arithmétiques : avec deux additionneurs on pourra aller deux fois plus vite qu’avec un seul, si on les fait travailler simultanément. L’amélioration permanente de la technologie des semi-conducteurs permet non seulement d’augmenter la fréquence, mais aussi de mettre de plus en plus d’unités fonctionnelles sur la même puce, et même de dupliquer le coeur du processeur. En poussant cette logique plus loin, il est aussi possible de multiplier les processeurs dans une même machine. Une architecture de calculateur présentant des unités fonctionnelles ou des processeurs multiples capables de fonctionner simultanément pour exécuter une application est qualifiée de ”parallèle”. Le terme de calculateur parallèle désigne généralement une machine disposant de plusieurs processeurs. La vision de la performance basée uniquement sur la vitesse de réalisation des opérations arithmétiques oublie un ingrédient essentiel du calcul : les données. Dans un code de calcul scientifique, la part la plus importante des calc uls réside en général dans la phase de résolution des problèmes discrétisés, qui nécessite des opérations algébriques portant sur des tableaux à une ou plusieurs dimensions. Une opération emblématique de ce type de calcul est la combinaison linéaire de vecteurs : for i = 1 to n do y(i) = y(i) + α ⋆ x(i) end for 1 A chaque itération de cette boucle, il faut, pour réaliser une addition et une multiplication, récupérer une donnée x(i) en mémoire, puis une donnée y(i), et enfin remettre à jour le résultat y(i). La donnée α étant la même à chaque itération, elle pourra être conservée dans les cases mémoire tampon interne du processeur, les registres, tout au long de l’exécution de la boucle. Finalement, il faut trois accès à la mémoire, deux en lecture et un en écriture, pour deux opérations arithmétiques. Il ne sert donc à rien de multiplier les unités arithmétiques ou les processeurs, si l’on n’augmente pas en même temps le débit de la mémoire. Or, si l’on veut calculer plus vite, c’est pour pouvoir traiter des modèles avec plus de paramètres. On voudrait donc que la mémoire soit simultanément de grande taille, pour pouvoir contenir toutes les données, et capable d’avoir un débit élevé, afin d’alimenter toutes les unités fonctionnelles arithmétiques disponibles. Pour ce faire, il faudrait que la mémoire fonctionne à une cadence beaucoup plus élevée que les processeurs, ce qui est évidemment illusoire : la mémoire utilise la même technologie de semi-conducteurs. Le point le plus important pour la réalisation de calculateurs scientifiques à haute performance est donc en réalité l’architecture de la mémoire. 1.3 Mémoire multi-banc entrelacée Pour augmenter simultanément la taille et le débit de la mémoire, la solution qui s’impose consiste à dupliquer les unités mémoire. Ce faisant, la taille augmente évidemment, néanmoins le délai d’accès à une donnée unitaire est toujours le même. Pour que le débit augmente globalement, dans le cas de l’accès à une série de données d’un tableau, il faut que les différentes unités mémoire fonctionnent simultanément, en parallèle. Les différents éléments du tableau, qui occupent des adresses successives en mémoire, doivent donc être répartis dans les différentes unités mémoires, qualifiées de ”bancs”. La mémoire est dite ”entrelacée”. Supposons que le tableau x est réparti sur huit bancs comme sur la figure 1.1. Fig. 1.1 – Mémoire multi-banc entrelacée. Si le temps d’accès à un banc est de huit cycles d’horloge, alors, après une phase d’initialisation, la mémoire multi-banc entrelacée est capable de fournir une nouvelle valeur x(i) à chaque cycle, puisque chaque banc n’est sollicité que tous les huit cycles. 2 Dans la réalité, le temps d’accès à un banc est plutôt de l’ordre de plusieurs dizaines de cycles. Pour alimenter de façon satisfaisante quelques ou quelques dizaines de processeurs disposant chacun de plusieurs jeux d’unités arithmétiques, il faut de quelques centaine à quelque milliers de bancs. Le contrôleur de la mémoire et le réseau d’interconnexion entre tous les bancs et tous les processeurs sont très complexes et donc très coûteux à réaliser. Cette solution ne se trouve que dans des machines de haut de gamme spécialisées dans calcul scientifique, appelées super-calculateurs ”vectoriels/parallèles”. Le terme vectoriel indique que ces machines disposent, afin de faciliter la gestion du système et d’améliorer les performances, d’un jeu d’instructions portant non pas sur une donnée mais sur une série de données dans un tableau, qualifiée de ”vecteur”. Pour stocker ces vecteurs, les processeurs disposent généralement de registres vectoriels, capables justement de stocker temporairement ces vecteurs. Cette solution n’est pas ”extensible”, dans ce sens que les performances du système n’augmentent pas linéairement avec le nombre de processeurs. En effet, pour mettre en oeuvre efficacement plus de processeurs, il faut augmenter le débit mémoire, ce qui nécessite d’accroître le nombre de bancs. Sinon, les processeurs ne seront pas alimentés correctement et la vitesse de calcul totale n’augmentera pas comme le nombre de processeurs. Par ailleurs, si le nombre de processeurs et le nombre de bancs sont multipliés par un facteur p, alors la complexité de l’interconnexion entre la mémoire et les processeurs augmente comme p2. A un instant donné, l’état de la technologie impose donc une limite à la taille maximale des systèmes réalisables. 1.4 Mémoire hiérarchique Il est tout à fait possible de réaliser des unités mémoire à temps d’accès court, mais de capacité réduite. En particulier, l’augmentation du nombre et de la densité des circuits permet de disposer de mémoire sur la même puce que le processeur. Cette mémoire peut avoir un temps d’accès d’un seul cycle, mais en revanche elle est de taille limitée. Par ailleurs, le délai unitaire d’accès à une mémoire de grande capacité peut être réduit par la mise en place de procédures d’accès par blocs de données contiguës. Entre la mémoire de grande taille et le processeur, on va donc trouver une mémoire rapide, appelée ”cache”, qui sert au stockage temporaire des données utilisées par le processeur. De manière à optimiser le débit de transfert entre la mémoire et le cache, ceux-ci vont s’effectuer par blocs de petite taille, appelés ”pages”. 3 Fig. 1.2 – Mémoire cache. Les pages présentes dans le cache ne sont que des copies temporaires des pages mémoire. Le système gère la liste des pages présentes dans le cache. Lorsque le processeur a besoin d’une donnée, deux possibilités se présentent : – La page contenant la donnée est déjà dans le cache ; dans ce cas, favorable, le temps d’accès à la donnée sera celui du cache. – La page n’est pas dans le cache ; il faut la copier depuis la mémoire ; mais, pour ce faire, il faut libérer de la place dans le cache et donc renvoyer en mémoire une des pages, de préférence celle dont la durée d’inactivité est la plus longue et qui est donc supposée être la moins utile ; la figure 1.3 illustre ce mécanisme. Avec ce type de fonctionnement apparaît une notion nouvelle : le délai d’accès à la mémoire devient non uniforme. L’organisation des structures de Fig. 1.3 – Gestion de la mémoire cache. données dans le code et de leurs schémas d’utilisation va fortement conditionner le bon fonctionnement du système mémoire et, par là, le niveau de performance. Tout d’abord, le système repose sur des mécanismes de transfert par bloc (ou page) des données de la mémoire vers le cache, sensés améliorer le débit de celle-ci. Pour chaque accès à une donnée en mémoire, toute la page qui la contient est recopiée dans le cache, avant que la donnée ne soit enfin transmise au processeur. Si seule cette donnée est utilisée par la suite, il est évident que la procédure coûte plus cher qu’un accès direct unitaire à la mémoire. En revanche, si les autres données de la 4 page sont utilisées par le processeur, dans la même instruction ou dans les instructions immédiatement suivantes, le mécanisme va s’avérer bénéfique. Il faut donc favoriser les accès à des données contiguës en mémoire, c’est-à-dire la ”localisation spatiale” des données. De plus, si le processeur utilise plusieurs fois de suite dans un bref délai des données d’une même page, celle-ci va rester dans le cache et les accès successifs aux données seront rapides. Il faut donc tacher de regrouper dans le temps les accès successifs aux mêmes données, c’est-à-dire favoriser la ”localisation temporelle” des données. En pratique, c’est la mémoire cache du processeur qui l’alimente. Pour assurer l’alimentation de plusieurs processeurs, il faut plusieurs caches. Evidemment, les deux caches de la figure 1.4, se partagent une même mémoire centrale. Si les deux caches ont besoin d’y accéder simultanément, les délais vont être encore plus longs. De plus, il peut se produire maintenant un phénomène de conflit d’accès aux pages mémoire. En effet, si une page est présente dans un cache, cela signifie que le processeur qui l’utilise peut modifier les valeurs des données. Si un autre processeur veut accéder à la même page, il va falloir tout d’abord que le contenu remis à jour soit recopié dans la mémoire centrale. En fait, à un instant donné, une page ne peut être utilisée que par un seul processeur. Le système mémoire central doit pouvoir disposer de la liste des pages présentes à chaque instant dans les différents caches de façon à pouvoir récupérer une page demandée par un processeur autre que son utilisateur actuel. Lorsque le processeur a besoin d’une donnée, trois possibilités se présentent maintenant : Fig. 1.4 – Architecture parallèle avec caches. – La page contenant la donnée est déjà dans le cache du processeur. – La page n’est pas dans le cache, mais elle est disponible en mémoire centrale. – La page est dans le cache d’un autre processeur ; elle n’est donc pas disponible en mémoire centrale ; il va falloir d’abord la récupérer, c’est-à-dire recopier son contenu en mémoire centrale puis la faire disparaître de la liste des pages présentes dans le 5 cache qui la détenait initialement ; enfin, elle sera recopiée dans le cache du processeur qui la réclame (figure 1.5). Fig. 1.5 – Gestion des caches multiples. La pire des situations est celle ou plusieurs processeurs tentent d’utiliser simultanément les mêmes pages, ce qui peut finalement provoquer des aller et retour incessants entre les différents caches. Pour que le système fonctionne de façon efficace en parallèle, il faut donc non seulement favoriser d’autant plus la localisation temporelle et spatiale des données que le nombre de processeurs est élevé, mais aussi éviter les conflits d’accès en tachant de faire travailler les différents processeurs sur des blocs de données distincts. Dans le meilleur des cas, si la localisation est très forte, la performance de la machine augmente linéairement avec le nombre de processeurs. Ce type d’architecture n’est pas réellement extensible. Le nombre de processeurs se partageant une même mémoire centrale ne peut être multiplié à l’infini, puisque les transferts inévitables entre celle-ci et les différents caches se contrarient mutuellement. Pour augmenter le nombre de processeurs, il va falloir créer des niveaux de caches intermédiaires de façon à soulager la mémoire centrale. On aboutit à une véritable hiérarchie de la mémoire. Fig. 1.6 – Hiérarchie de caches. 6 Les différents niveaux de caches sont nécessairement de plus en plus grand et donc de moins en moins rapides. L’extensibilité est loin d’être parfaite : pour multiplier le nombre de processeurs, il faut augmenter le nombre de niveaux de caches, de sorte que le système devient de plus en plus complexe. Là encore, la technologie impose les limites de faisabilité des systèmes. De plus, le coût des conflits d’accès devient de plus en plus élever, de sorte que la performance n’augmente pas en réalité linéairement avec le nombre de processeurs. Cette solution architecturale est très répandu dans les systèmes de puissance intermédiaire. 1.5 Mémoire distribuée Tant qu’il existe une mémoire centrale partagée par tous les processeurs, celle-ci constitue un goulet d’étranglement en terme d’accès aux données dans le système. Quelque soit la solution retenue, mémoire multi-banc à un seul niveau ou mémoire hiérarchique, c’est le système mémoire situé au dessus du processeur et de sa mémoire intégrée, cache ou registres vectoriels, qui est complexe et donc coûteux à réaliser. Pour supprimer ce problème, il suffit donc de supprimer la mémoire partagée. Chaque processeur va disposer de sa propre mémoire, à laquelle il aura seul accès. Les différents noeuds de calcul formés chacun d’un processeur et de sa mémoire propre doivent néanmoins pouvoir communiquer, de sorte que des données puissent transiter d’une mémoire à une autre en cas de besoin. Les noeuds vont donc être reliés par un réseau de communication. Une telle architecture est qualifiée de calculateur parallèle à ”mémoire distribuée”. Fig. 1.7 – Calculateur parallèle à mémoire distribuée. Ce type d’architecture est évidemment extensible. De plus il ne demande pas de technologies spécifiques a priori : les noeuds de calculs peuvent être de simples processeurs, ou plus souvent d’ailleurs multi-processeurs, standards. Le réseau de communication peut aussi utiliser les technologies classiques. Ce concept architectural va se trouver sous forme de systèmes départementaux, formés de stations de travail reliées par des réseaux standard, et offrant les meilleurs rapports performance/prix possibles puisque utilisant les technologies éprouvées 7 grand public. Ce type de système est appelé ”cluster” en anglais, c’est-à-dire grappe de processeurs. Mais on va le retrouver dans les systèmes les plus puissants, comprenant un très grand nombre de processeurs, qualifiés de ”massivement parallèles”. Sur ces systèmes en revanche, le réseau de communication fera appel à des technologies plus performantes et donc plus coûteuses. L’utilisation de tels systèmes exige une localisation temporelle et spatiale parfaite des données. En fait, c’est le code de calcul qui va devoir prendre complètement en charge la gestion de la mémoire distribuée. En somme, la disparition de la partie complexe du matériel et du logiciel de base met une contrainte forte nouvelle sur la conception des codes applicatifs. 8 RESEAUX LOCAUX INDUSTRIELS 1. Notion de réseau Un réseau informatique offre globalement deux groupes de fonctions: des services de transmission de données et des services applicatifs pour les utilisateurs comme l'accès à la messagerie électronique, le transfert de fichiers à distance, etc. Seule la transmission de données sera abordée dans ce chapitre. Un réseau est composé d'un ensemble de noeuds (figure 1) appelés aussi stations. Un noeud est composé d'un équipement de traitement de données et d'un équipement dédié à la communication (figure 2). Dans le cas des réseaux locaux en général et des réseaux de terrain en particulier, cet équipement est appelé contrôleur de communication. Un contrôleur de communication peur être intégré ou non à l'équipement qu'il relie au réseau. Chaque équipement est relié au support physique par l'intermédiaire d'une unité de raccordement au support appelée MAU (Medium Access Unit). Dans certains réseaux comme CAN cette unité de raccordement est appelée aussi transceiver (transmitter-receiver). Figure 1 - Exemple de réseau. Figure 2 - Éléments de base d'un réseau local. 1 De nombreux types de réseaux existent, adaptés à des applications très diverses, par exemple: - réseaux bureautiques destinés à la communication de données au sein d'une entreprise: échange d'informations, de documents,... ; - réseaux industriels utilisés pour l'échange de données entre les systèmes de commande d'une installation industrielle; - réseaux de télécommunications utilisés pour la transmission de données à grandes distances. Figure 3 -Différentes catégories de réseaux de communication. Tous ces réseaux sont généralement classés en fonction de leur envergure (figure 3) : - bus de calculateur: la communication entre l'unité centrale d'un calculateur et ses différents organes (clavier, imprimante, etc.) se fait via un bus. Même si le bus d'un calculateur n'est pas un réseau au sens communément utilisé pour parler de réseaux, c'est un moyen de communication avec ses propres protocoles; - réseaux d'interconnexion: dans une architecture multiprocesseur, les différents processeurs (dont le nombre peut dépasser le millier) sont reliés les uns aux autres et aux blocs de mémoire par un réseau d'interconnexion. Même si leur longueur est relativement faible, les réseaux d'interconnexion s'apparentent (par leurs structures et leurs protocoles) aux autres réseaux; - réseaux locaux: appelés aussi LAN (Local Area Networks) ils permettent d'assurer l'interconnexion d'équipements au sein d'un site géographiquement limité à quelques kilomètres: campus universitaire, hôpital, usine ou laboratoire, par exemple; - réseaux métropolitains: ils assurent l'interconnexion de sites au sein d'une agglomération urbaine: campus universitaires ou entreprises par exemple; - réseaux longues distances: ces réseaux permettent de transporter des données entre pays ou entre continents; ils utilisent des infrastructures au niveau du sol ainsi que des satellites. 2. Normalisation Avec la multiplication des ordinateurs et des réseaux informatiques, les fabricants de matériels et de logiciels ont éprouvé le besoin de définir des conventions communes pour concevoir leurs produits. Les normes et standards qui en résultent sont coordonnés par l'ISO (International Organization for Standardisation). En particulier, l'ISO a lancé en 1977 le projet de définition d'un modèle de référence de base pour l'interconnexion de systèmes ouverts. Un système de communication est dit ouvert lorsqu'il permet la communication entre équipements de types différents, pouvant provenir de constructeurs différents. Les règles de communication sont publiques, accessibles à tous. 2 2.1. Modélisation en couches L’architecture adoptée pour modéliser un réseau de communication est une architecture en couches (figure 4) qui permet de tenir compte de la hiérarchie des tâches mise en oeuvre. Les systèmes qui le composent sont considérés comme formés de plusieurs sous-systèmes liés deux à deux et réalisant des tâches spécifiques. Pour un réseau donné, l'ensemble des soussystèmes s'occupant d'une même tâche N constitue la couche N du réseau. Dans cette architecture, la couche la plus élevée est la plus proche de l' utilisateur et donne accès à tous les services des couches inférieures. Les sous-sysrèmes de la couche la plus basse communiquent directement via le support physique qui assure leur interconnexion. Au niveau d'un système, chaque entité de la couche N (par abus de langage on parle simplement de la couche N) est en relation avec les couches N - 1 et N + 1. À la demande de la couche N + l, la couche N fournit un service N: N + 1 est dit demandeur de service, N est dit fournisseur de service. Ce dialogue entre couches (figure 5) est possible par l'intermédiaire de 4 primitives élémentaires : - la requête: la couche N + 1 demande un service à la couche N; - l'indication: la couche N avise la couche N + 1 de la demande d'activation d'un service; - la réponse: réponse de la couche N à une indication reçue; - la confirmation: la couche N avise la couche N + 1 que le service demandé est activé. Figure 4 - Modélisation en couches. Figure 5 - Dialogue entre deux couches. 3 Dans ce modèle, tous les sous-systèmes d'une même couche N sont en relation par des règles de communication regroupées sous le terme de protocole N. Pour les couches élevées, ce protocole est transmis sur une liaison seulement logique et non pas physique. En effet, dans la réalité, une primitive requête lancée au niveau N sera transmise en cascade aux niveaux inférieurs jusqu'à la couche 1 par laquelle transitent physiquement les informations. Ces informations sont alors remontées jusqu'au niveau N du système récepteur par une succession de primitives d'indication. L’échange de retour se déroule de manière analogue par une succession de primitives réponse au sein du récepteur et de primitives confirmation au sein de l'émetteur. 2.2. Modèle de référence OSI Après de longues années de discussions, le comité de l'ISO chargé d'élaborer un modèle de référence a finalement approuvé en 1984 un modèle à sept couches, appelé modèle OSI (Open System Interconnection) (figure 6) : Les couches 1 ou couche physique, 2 ou couche liaison de données, 3 ou couche réseau et 4 ou couche transport sont chargées du transfert des informations et masquent aux couches supérieures les problèmes liés à la communication d'informations entre deux équipements distants. Les couches 5 ou couche session, 6 ou couche présentation et 7 ou couche application fournissent des services d'accès à la communication pour différents types d'applications. Figure 6 - Modèle de référence OSI 4 Figure 7 -Modules fonctionnels de la couche physique. 3. Topologies de réseau La topologie d'un réseau est influencée par la configuration du site sur lequel les équipements sont interconnectés mais d'autres aspects peuvent aussi intervenir dans son choix, notamment les coûts d'installation, la tolérance aux fautes et la technique d'accès au médium. Les principales topologies utilisées (figure 8) sont décrites ci-après. Figure 8 -Principales topologies de réseau. - Topologie en étoile: tous les équipements sont reliés à un équipement central (appelé parfois serveur, concentrateur ou « hub »).Le nombre d'équipements pouvant être interconnectés dépend de la capacité de l'équipe ment central. La défaillance d'un équipement autre que le noeud central ne remet pas en cause le fonctionnement du reste du réseau. En revanche, toute défaillance du nœud central immobilise tout le réseau. - Topologie en anneau: chaque équipement est directement relié à deux voisins de telle sorte que l'ensemble forme une boucle fermée. Le signal émis sur la boucle passe d'équipement en équipement jusqu'à sa destination. Les équipements de raccordement MAU sont actifs et 5 régénèrent le signal à chaque noeud, ce qui permet de couvrir des distances importantes sans répéteurs. Pour installer un nouvel équipement, il faut arrêter tout le réseau. - Topologie en bus: un câble commun (appelé bus) relie tous les équipements. Pour éviter toute réflexion du signal en bout de ligne, une adaptation d'impédance est nécessaire à chaque extrémité du câble. La topologie en bus est bien adaptée au câble coaxial, mais peu adaptée à la fibre optique. La rupture du bus immobilise tous les équipements. Les distances couvertes avec cette topologie sont limitées à quelques centaines de mètres. Les topologies de base présentées précédemment sont le plus souvent utilisées pour des réseaux de petite taille et/ou avec un nombre d'équipements peu important. Pour raccorder un nombre d'équipements élevé, on est souvent amené à utiliser plusieurs réseaux interconnectés entre eux (par des répéteurs, des ponts, des routeurs ou des passerelles), de sorte que l'ensemble des équipements forme un réseau complexe (composite) aux yeux des utilisateurs. Le réseau le plus complexe existant aujourd'hui est le réseau Internet (composé de milliers de réseaux interconnectés). Les architectures composites se présentent principalement sous forme hiérarchisée ou non hiérarchisée. Comme formes hiérarchisées, on peut citer les architectures arborescentes et les architectures à plusieurs segments de bus interconnectés. On notera que les architectures à plusieurs segments de bus sont très utilisées dans le cas des réseaux de terrain. Comme forme non hiérarchisée, on petit citer les architectures maillées. Le support de transmission est un des maillons vulnérables de la chaîne de transmission (notamment pour les topologies en bus). Or certaines applications, notamment celles qui fonctionnent au-dessus des réseaux de terrain (c'est-à-dire, les applications temps réel), sont très sensibles aux perturbations et arrêts du système de communication. À ce niveau, la sécurité peut être renforcée avec une redondance du support de transmission : entre chaque station, le support de transmission est doublé, voire triplé. Il faut noter que la redondance s'applique aussi à d'autres éléments de la chaîne de transmission (par exemple dupliquer les cartes d'accès au réseau ou encore dupliquer certains noeuds jugés vulnérables). 4. Réseaux locaux industriels (RLI) Les RLI sont devenus, en tant que support des flux d'informations entre les constituants (capteurs, actionneurs, automates, calculateurs, robots, machines à commande numérique, etc.) des systèmes automatisés (tels que les systèmes manufacturiers et les installations chimiques ou pétrolières), une composante incontournable de leur architecture. Véritable système nerveux d'une architecture, les RLI permettent de relier des équipements très diversifiés, mais nécessaires au bon fonctionnement de l'architecture. L'atout majeur d'un RLI est de pouvoir réunir des équipements hétérogènes en un ensemble cohérent. La pyramide CIM (Computer Integrated Manufacturing) introduite au début des années 1980 permet de décrire les différents niveaux de communication dans les systèmes automatisés de production: niveau usine, niveau atelier, niveau cellule de fabrication, niveau machine et niveau capteurs et actionneurs. Une usine possède un ensemble d'ateliers; un atelier est composé d'un ensemble de cellules de production; une cellule est constituée d'un ensemble de machines; une machine est constituée de plusieurs équipements (capteurs, actionneurs,...). 6 Même si le concept CIM a été introduit pour les besoins de l'industrie manufacturière, les concepts de hiérarchisation des fonctions qu'il met en relief peuvent, avec quelques adaptations, s'appliquer à des domaines autres que le manufacturier, c'est-à-dire l'automobile, le bâtiment, l'avionique, etc. L'esprit du concept CIM est de structurer les fonctions en niveaux et de faire communiquer les différentes fonctions d'un même niveau entre elles et avec celles des niveaux adjacents, un peu comme ce qui est fait dans le modèle OSI vu précédemment. Le découpage selon la pyramide CIM met en relief les niveaux fonctionnels suivants: - niveau usine : gestion, administration, organisation, planification, CAO,... - niveau atelier : gestion de production et des ressources, maintenance,... - niveau cellule : coordination, gestion et suivi de processus locaux, supervision ; - niveau machine : commande, régulation de machines de production; - niveau capteurs-actionneurs : acquisition de mesures et réaction sur le processus. La réalisation des fonctions de chaque niveau nécessite l'acquisition d'informations afin d'agir sur le processus piloté. Il est donc nécessaire que les composants de chaque niveau communiquent avec le niveau supérieur et le niveau inférieur (échange d'ordres, de consignes, de paramètres de fabrication, etc.). Ces communications induisent la mise en place de réseaux, les RLI. Il est clair que les spécificités des communications diffèrent selon les niveaux. Le niveau des capteurs-actionneurs est en prise directe sur le procédé et impose d'une part des temps de réponse bornés et prédictibles, et d'autre part des équipements de communication pouvant fonctionner dans un environnement parfois hostile (température élevée, humidité, vibrations,...). Les informations échangées à ce niveau sont souvent de petite taille (quelques octets pour une mesure de pression, par exemple). Au niveau usine, les équipements informatiques utilisés fonctionnent le plus souvent dans des salles climatisées sans contact direct avec le procédé physique. Les messages échangés à ce niveau sont souvent de grande taille (des fichiers de description de pièces, des fichiers d'analyse statistique de la qualité des produits, des fichiers de suivi de production, etc.) et ne nécessitent pas, généralement, des temps de réponse bornés. On pourrait de manière similaire analyser les autres niveaux. Face à ces besoins de structuration et de performances requises par les différents niveaux, les concepteurs ont élaboré plusieurs gammes de réseaux : - réseaux de machines pour interconnecter les automates programmables, des machines à commande numérique et des robots ; - réseaux de cellule pour coordonner des activités au sein des cellules ; - réseaux d'atelier, réseaux de type bureautique et fédérateurs de systèmes de CAO, CFAO, etc. Le réseau Ethernet est souvent retenu à ce niveau ; - réseaux de terrain pour véhiculer les informations en prise directe sur le procédé. Les caractéristiques des échanges (telles que le type de communication périodique ou sporadique, les volumes de données échangées, les conditions environnementales, etc.) sont variables d'un domaine d'applications à un autre. Par conséquent, il ne peut exister de RLI universel. Cela a conduit à l'émergence de plusieurs types de réseaux. Face à la complexité des systèmes à commander ou superviser, ce n'est pas un réseau mais parmi toute une pléiade de réseaux qu'il faut choisir et coordonner pour réaliser un ensemble de fonctions. Cela conduit à de véritables architectures réparties avec plusieurs réseaux 7 interconnectés. La figure 9 montre un exemple d'architecture de communication faisant appel à plusieurs réseaux. Il faut noter que, même si un réseau particulier est surtout adapté à un niveau d'automatisation donné, il peut aussi répondre aux besoins de communication de deux ou plusieurs niveaux. C'est le cas par exemple des réseaux WorldFIP et PROFIBUS qui peuvent être utilisés au niveau cellule et au niveau capteurs et actionneurs. Il n'y a pas réellement une application bijective entre type de réseau et niveau d'automatisation. De plus, à l'exception des réseaux de terrain pour lesquels il existe à peu près une unanimité quant à ce qu'ils doivent faire, les avis divergent sur les services et protocoles que doivent avoir les RLI. Figure 9 - Exemple d'architecture de système industriel utilisant plusieurs réseaux. 4.1. Origine et utilisations du réseau WorldFIP WorldFIP, appelé à l'origine FIP (pour Flux d'Information Processus ou Factory Instrumentation Protocol), est un réseau de terrain introduit au début des années 1980 en France. Actuellement FIP est une norme française (NF C46 601 à NF C46 607) et une norme européenne (EN 50170-3). La cible privilégiée de WorldFIP est l'interconnexion de capteurs, actionneurs et automates dans les systèmes automatisés. Comme la quasi-totalité des réseaux de terrain WorldFIP a une structure en trois couches à savoir : la couche physique, la couche liaison de données et la couche application. (figure 10). Figure 10 - Architecture de communication de WorldFIP 8 4.2. Origine et domaines d'utilisation de PROFIBUS PROFIBUS (PROcess FIeldBUS) est un réseau de terrain proposé en 1987 en Allemagne par les sociétés Bosch, Klockner-Moeller et Siemens. PROFIBUS a été normalisé en Allemagne en 1989 (norme DIN 19245) et il est l'un des trois réseaux qui constituent la norme européenne EN 50170. PROFIBUS est le réseau de terrain le plus utilisé en Europe et l'un des plus utilisé dans le monde. Comme les autres réseaux de terrain, PROFIBUS a une architecture en trois couches. (figure 11) Figure 11 - Architecture de communication de PROFIBUS 9 5. Communication entre systèmes de commande Dans chacune des phases de la vie du système, apparaît la nécessité d'échanger des informations avec l'extérieur; il s'agit de : - la phase de développement et de mise au point, au cours de laquelle il est procédé à la programmation de la partie commande et aux réglages des capteurs, actionneurs et effecteurs; - la phase d'exploitation, où il est nécessaire d'assurer les réglages lors de la mise en route d'une nouvelle production, la conduite du système par l'opérateur, la gestion de la production ou la supervision (qui permet éventuellement de coordonner plusieurs machines et de suivre qualitativement et quantitativement la production, de prévoir la maintenance), la maintenance, le diagnostic et le dépannage en cas d'incident. 5.1. Dialoguer avec l'opérateur Ce dialogue concerne en fait plusieurs personnes distinctes selon les phases ci-dessus. Il s'agit : - des personnels d'études, réalisation et mise au point dans la première phase; - des personnels d'exploitation, de maintenance, de réglage, de surveillance dans la seconde. Dialogue de développement et de mise au point. La programmation de la partie commande se fait sur site, grâce à un terminal de programmation (figure 12), intégré ou non à l'automate programmable. Cette programmation peut être effectuée hors du site à l'aide d'un microordinateur doté d'un logiciel de programmation ou d'assistance à la programmation. Dans ce dernier cas une liaison locale ou à distance est nécessaire pour le chargement du programme. Les réglages initiaux de la partie opérative et des capteurs relèvent de la même logique qu'en phase d'exploitation lors des réglages et de la maintenance. Figure 12- Terminal de programmation Dialogue de réglage, de diagnostic et de dépannage. Dans ces opérations il est nécessaire d'accéder à des modes de marche d'essai et de vérification. Cependant, cet accès est souvent réservé à des personnels spécialisés qui disposent d'une clef de déverrouillage pour opérer. Le dialogue s'effectue à partir de plusieurs éléments: - le pupitre ou console de dialogue et ses boutons, voyants et afficheurs (sélecteur de modes de marche, boutons de commande individuelle des préactionneurs, etc.); - des éléments de visualisation sur la partie opérative (diodes électroluminescentes et voyants de capteurs, butées mécaniques, état physique des actionneurs et capteurs) et d'éventuels appareils de mesure installés à demeure (vu-mètres, manomètres, etc.) ou temporairement (contrôleurs, voltmètres, pinces ampèremétriques, etc.); - un terminal d'exploitation (figure 13) ou un terminal de diagnostic amovibles. Tous ces terminaux et pupitres sont reliés à la partie commande. 10 Figure 13 : Terminal d'exploitation Dialogue de conduite. Ce dialogue entre l'opérateur et sa machine ou son système s'opère à partir du pupitre ou de la console d'exploitation. Il concerne: - la mise en route (marche de préparation éventuelle) ; - la marche normale; - la marche de clôture éventuelle; - et selon les cas des arrêts particuliers ou des marches dégradées. Ce dialogue, qui consiste pour l'opérateur à élaborer des consignes et recevoir des comptes rendus du système, passe par des boutons, claviers, voyants et afficheurs. Dialogue de supervision. Lorsqu'il est nécessaire, le dialogue de supervision généralement assuré à distance par des terminaux informatiques dotés de logiciels coordination et de surveillance. Ils sont reliés aux différents niveaux de traitement l'information de l'entreprise par réseaux informatiques de communication. L'accès en réservé à des personnels de gestion de la production et de surveillance (figure 14). est de de est Figure 14 - Terminal de supervision 5.2. Dialogue entre systèmes Le développement précédent a déjà fait apparaître la nécessité d'échanger des données entre les opérateurs, les parties commandes, les terminaux et pupitres (voir figure 15). Dans une entreprise ou un atelier, il est souvent nécessaire de relier les différents systèmes automatisés, ne serait-ce que pour les coordonner. Cette liaison est de nature matérielle, par la matière d' oeuvre qui transite entre postes, et de nature informationnelle pour les tâches de coordination. 11 Cet échange d'informations nécessite la mise en oeuvre de moyens matériels et logiciels complexes. Les liaisons de la partie commande avec le pupitre ou la console d'exploitation, le terminal local de programmation ou de diagnostic sont des liaisons locales. Les liaisons entre parties commandes, entre parties commandes et terminaux déportés sont des liaisons à distance. Figure 15 - Dialogue entre systèmes industriels 12