LES RESEAUX INDUSTRIELS Architecture d ’un ensemble industriel Généralités Types de réseaux industriels L'architecture d'un ensemble industriel permet de distinguer trois familles de réseaux suivant leur position dans la hiérarchie. – Réseaux généralistes : réseaux locaux (Ethernet, Token Ring, etc.) et distants (Internet, X25, Frame Relay, ATM, etc.) – Les réseaux industriels d'interconnexion, destinés à connecter des installations (ateliers ou cellules de production entre elles et avec les réseaux généralistes). On distingue des réseaux à haut débit (MAP, Factor, etc.) et bas débit (LAC, etc.). – Les réseaux de terrain, destinés à relier des machines et appareils entre eux (automates, CN, robots, contrôleurs de process, etc.), on distingue trois niveaux dans la hiérarchie, les réseaux d'automates, les réseaux de capteurs, et les bus destinés à interconnecter des composants ou des cartes électroniques. Bus de terrain BUS : conducteur(s) commun(s) à plusieurs circuits permettant l’échange de données RÉSEAU : ensemble de lignes de communication qui desservent une même unité géographique TERRAIN :zone limité géographiquement (usine véhicule…) Système de communication numérique entre plusieurs dispositifs, ou entre un dispositif et ses périphériques (mémoire, capteurs, actionneurs…) BUT : remplacement des boucles analogiques Décentralisation du contrôle Interopérabilité Intelligence déporté Diminution des coûts Augmentation de l’efficacité et de la qualité Avantages Réduction des coûts d’installation Performances accrues Moins de câblage Communications numériques Réduction du temps d’installation Données disponibles partout Moins de matériel nécessaire Accès direct entre deux équipements Structure distribuée Interopérabilité importante grâce à la Réduction des coûts de maintenance standardisation Complexité moindre Modélisation du réseau : Maintenance plus aisée Topologie physique ↔ vue logique Outils de test dédiés standardisation matérielle et logicielle Flexibilité d’extension Inconvénients Développer les connaissances -Compatibilité pas assurée entre fournisseurs – Topologie du réseau, longueur, débit -Investissement en équipement Choix entre technologies propriétaires ou standards 1 – – – Accès au bus Gestion des erreurs Support physique Historique Boucle de courant 4-20 mA Boucle analogique Pas complètement normalisée Émetteur Capteur Récepteur Alim. de l’émetteur Normalisation des bus de terrain 1960 1970 1980 1992 : 1994 1998 : boucle analogique processeur : contrôle centralisé contrôle distribué, capteurs intelligents définition de la couche physique WorldFIP (World Factory Information Protocol Europe) et ISP(Interoperable System Project, E.-U.) fusionnent : FF (Fieldbus Foundation) couches liaison, application : non abouti Apparition de solutions propriétaires devenues standards de fait (Interbus, ASI, Lonworks) WorldFIP ISP FF ISA IEC . IEC : International Electrotechnic Commission ISA : Instrument Society of America OSI : Open System Interconnection ISO : International Standardization Organization Profibus - ISP (dissident) Comité Fieldbus IEC/ISA SP50 Cohabitation standards de fait et standards internationaux Compatibilité Choix ? Bus de terrain = bus de communication industriels • • • Classement selon complexité décroissante Bus d’usine : réseau local industriel ethernet MAP Manufacturing Automation Protocol) ouTOP (Technical andOffice Protocol) Bus de terrain (Fieldbus) Bus bas niveau (capteur/actionneur) Bus de terrain – Trame : 10 octets à 256 octets – Temps de réaction : 1 ms à 10 ms – Coopération de tous les nœuds (maître/esclave ou multimaîtres) – Accès au niveau inférieur (capteur/actionneur) Bus capteur/actionneur – Nœuds à intelligence limité ou nulle – Temps de réaction primordial – Nombre de données limité 2 • Couches OSI Système de communication dédié Respect du modèleOSI Couche hautes 5-7 : Chargées du traitement des données (présentation,cryptage…) Couche basses 1-4 : Chargées du transport des données (codage, représentation des données…) Les réseaux d ’automates Concepts But Les réseaux d'automates sont destinés à permettre la communication entre des automates programmables qui eux-mêmes pilotent les chaînes de production. Les données en provenance des capteurs et actionneurs doivent pouvoir transiter entre les automates, ainsi que des données de configuration/contrôle et les programmes des automates. Protocoles, trames et débits les quantités de données à transmettre sont faibles (trames de quelques octets à 256 octets), le débit est en rapport, il n'y a pas de communication entre réseaux. Standards Chaque fabricant d'automates utilise un ou plusieurs standards propriétaire, seul MODBUS est utilisé depuis longtemps par de nombreux fabricants, il est petit-à-petit remplacé par des protocoles plus modernes : INTERBUS, PROFIBUS, etc. • Caractéristiques principales de MODBUS – C ’est le plus ancien des réseaux d'automates non propriétaire, créé initialement par GOULD devenu APRIL. Il est utilisé par de nombreux fabricants. – Il accepte plusieurs médiums physiques à faible débit : RS232, RS422, RS485 (entre 50 et 19200 Bauds), boucle de courant (4800 Bauds), liaison radio – La transmission au format asynchrone 8 bits. • Sous-couche LLC – reconnaît deux modes • mode ASCII • mode RTU (Remote Terminal Unit), ou mode binaire • Sous-couche MAC – Fonctionnement en maître-esclave avec maître fixe Principe du protocole MODBUS Le protocole MODBUS (marque déposée par MODICON) est un protocole de dialogue basé sur une structure hiérarchisée entre un maître et plusieurs esclaves. Le protocole MODBUS ne définit que la structure des messages et leur mode d’échange. On peut utiliser n’importe quel support de transmission RS 232, RS 422 ou RS 485, mais la liaison RS 485 est la plus répandue car elle autorise le « multipoints ». Deux types de dialogues sont alors possibles : - le maître parle à un esclave et attend sa réponse, - le maître parle à l'ensemble des esclaves, sans attente de réponse 3 Echange maître vers 1 esclave : Le maître interroge un esclave de numéro unique sur le réseau et attend de la part de cet esclave une réponse. Echange Maître vers tous les esclaves : Le maître diffuse un message à tous les esclaves présents sur le réseau, ceux-ci exécutent l’ordre du message sans émettre une réponse. Ces deux types de dialogues imposent les conditions suivantes : - Il ne peut y avoir sur la ligne qu'un seul équipement en train d'émettre. - Aucun esclave ne peut envoyer un message sans une demande préalable du maître. - Le dialogue entre les esclaves est impossible. • Format de la trame : Le message échangé entre le maître et les esclaves est constitué de la façon suivante : • • • • La détection de fin de message est réalisée sur un silence de plus de 2 caractères. Le maître et l'esclave utilisent le même type de message. Codage de la trame : Deux types de codage peuvent être utilisés pour communiquer sur un réseau Modbus. Tous les équipements présents sur le réseau doivent être configurés selon le même type. Type ASCII : chaque octet composant une trame est codé avec 2 caractères ASCII (2 fois 8 bits). LRC : C’est la somme en hexadécimal modulo 256 du contenu de la trame hors délimiteurs, complémentée à 2 et transmise en ASCII. • • LRC : C’est la somme en hexadécimal modulo 256 du contenu de la trame hors délimiteurs, complémentée à 2 et transmise en ASCII. Type RTU (Unité terminale distante) : chaque octet composant une trame est codé sur 2 caractères hexadécimaux (2 fois 4 bits). La taille maximale des données est de 256 octets. - Le mode ASCII permet d’avoir des intervalles de plus d’une seconde entre les différents caractères sans que cela ne génère d’erreurs, alors que le mode RTU permet un débit plus élevé pour une même vitesse de transmission. - L’ensemble des informations contenues dans le message est exprimé en hexadécimal. - Le maître s’adresse à l’esclave dont l’adresse est donnée dans le champ prévu à cet effet. - Le code fonction indique à l’esclave le type d’action à réaliser. Exemple : lecture de registre, code de fonction (03)HEX, écriture dans un registre, code de fonction (10)HEX. 4 Exemple : sur l'esclave 8 : lecture de 16 bits d'entrée à partir de l'adresse 100h. Exemple de communication maître/esclave 5 Exemple d’échange entre le maître (TSX 37 Micro) et l’esclave (ATV-28) Trame émise par le maître : 04 03 00 02 00 01 25 CA - Adresse esclave : 04 - Code fonction 03 = lecture registre - N° du registre de début de lecture : MSB : 00 et LSB : 02 - Nombre de registre de lecture : MSB : 00 et LSB : 01 - CRC : 25 CA Réponse de l’esclave avec erreur : 04 83 02 01 31 - Adresse esclave : 04 - Code fonction : lecture avec MSB = 1 : 83 - Code erreur (n° registre) : 02 - CRC : 01 31 Réponse de l’esclave sans erreur : 04 03 02 02 58 B8 DE - Adresse esclave : 04 - Code fonction : lecture registre : 03 - Nombre d’octets données : 02 - Données du registre 0002 : MSB 02 et LSB : 58 - CRC : B8 DE Trame émise par le maître pour lire des mots du registre 450 au registre 456 : 04 03 01 C2 00 07 5A C8 - Adresse esclave : 04 - Code fonction 03 = lecture registre - N° du registre de début de lecture : MSB : 01 et LSB : C2 (450)10=(01C2)16 - Nombre de registre de lecture : MSB : 00 et LSB : 07 - CRC : 5A C8 • Principales fonctions MODBUS • MODBUS offre 19 fonctions différentes, elles se caractérisent par un code fonction sur 1 octet (en hexadécimal). Tous les équipements ne supportent pas tous les codes fonction. Code 01 02 03 04 09 0A Fonction réalisée Lecture de n bits consécutifs de sortie Lecture de n bits consécutifs d'entrée Lecture de n registres 16 bits cons. Lecture de n cartes d'entrée 16 bits Téléchargement , télé-lecture de programme et modes de marche Demande de compte-rendu de fonctionnement Paramètres Adresse 1er bit, nombre de bits Adresse 1er bit, nombre de bits Adresse 1er mot, nbre de mots Adresse 1er mot, nbre de mots Variable Néant COMMUNICATIONS SERIE ASYNCHRONE * Les « liaisons séries » sont des moyens de transport d’informations (communication) entre divers systèmes numériques. * Économie de fils (3 au minimum), transmission sur de longue distance, mais communication moins rapide qu’en parallèle. * Elles sont appelées asynchrones car aucune horloge n’est transportée avec le signal de données. Système numérique 1 Convertisseur parallèle/série série/parallèle Convertisseur parallèle/série série/parallèle Donnée série logique Donnée parallèle 8 bits Adaptateur de ligne Donnée parallèle 8 bits Ligne Adaptateur de ligne Liaison Série Logique Système numérique 2 Donnée série RS232 Protocole : Le protocole d'échange asynchrone est défini par l’envoi, pour chaque caractère émis, de : * un bit de START (0 logique), les 7 (code ASCII) à 8 bits de données, poids faible en tête, 6 * éventuellement, un bit de PARITE. Il permet de vérifier que le contenu du « mot » n’a pas changé accidentellement lors de la transmission. Parité paire : le bit ajouté à la donnée est positionné de telle façon que le nombre des états 1 soit paire sur l'ensemble donné + bit de parité ex : soit la donnée 11001011 contenant 5 état 1, le bit de parité paire est positionné à 1, ramenant ainsi le nombre de 1 à 6. Parité impaire : le bit ajouté à la donnée est positionné de telle façon que le nombre des états 1 soit impaire sur l'ensemble donné + bit de parité. Lorsque le récepteur reçoit un bit de parité différent de celui qu’il a lui-même déterminé, il demande alors de recommencer l’émission. * un, un et demi, ou 2 bits de STOP (1 logique). Signal Logique à Transmettre Lorsque aucun caractère ne circule sur la ligne, celle-ci reste à l’état logique haut (« 1 »). Ce chronogramme représente l’état logique AVANT la mise en forme par l’adaptation de ligne, c'est-à-dire indépendamment du standard RS232, RS422 ou RS485 ( DMX512). Interface Série RS232 * L'octet à transmettre est envoyé bit par bit (poids faible en premier) par l'émetteur sur la ligne Tx, vers le récepteur (ligne Rx) qui le reconstitue * La communication peut se faire dans les deux sens (duplex), soit émission d'abord, puis réception ensuite (half-duplex), soit émission et réception simultanées (full duplex) Exemple d’une Trame transmise en RS232 Valeur : 65 = 01000001 = $41 Caractère=A (Code ASCII) Parité : paire 2 bits de Stop Liaison RS485 RS-485 est une liaison série, de type asynchrone, différentielle qui permet un débit élevé (jusqu'à 10 Mégabits/seconde) sur une distance importante (jusqu'à 1200m). Elle dispose de 2 bornes d'émission polarisées notées Tx(+), Tx(-) ou et de 2 bornes de réception polarisées notées Rx(+), Rx(-) ou . Exemple d’une liaison multipoints (RS-485) reliant maître et esclaves. Caractéristiques des données transmis : Vitesse de transmission : 9600 ou 19200 bits/seconde Trame : 8 bits sans parité Parité : sans parité Bit de stop : 1 bit Mode de communication : halfduplex. (2 fils ou 4 fils) 7