ou
Définition d’un bus de terrain
Les usines, les bâtiments, les voitures, les avions sont de plus en plus automatisés pour assurer sécurité, fonctionnalité et confort à l’être humain.
Pour ce faire on a besoin
de récolter des informations sur l’environnement par l’intermédiaire
d’éléments simples tels que des capteurs et de les analyser.
On fait traiter ensuite ces données par des outils, automates programmables
ou ordinateurs.
Une fois les données
analysées et traitées, on agit sur l’environnement par l’intermédiaire
d’actionneurs si besoin est.
On peut retrouver des éléments récoltant des informations tels que des capteurs de températures, des capteurs de pression, des détecteurs d’incendie, des détecteurs de personnes… et des éléments apportant une action tels que des moteurs pas à pas, des électrovannes, des champs électromagnétiques.
On comprend bien que
tous ces éléments aient besoins de communiquer entres eux,
dans certains cas comme pour la sécurité, la communication
doit se faire de façon simple, rapide et fiable; dans d’autres cas,
pour des motifs de coût, sont implémentation doit elle aussi
être simple, rapide et fiable, par exemple : Lors de l’assemblage
d’une voiture, la connexion des capteurs doit pouvoir se faire par un opérateur
sans qu’il ait des connaissances techniques particulières. Ces éléments
de par leurs nombres engendrent une multitude de fils nécessaires
à leur alimentation et à la transmission de leurs données.
Le bus de terrain (FieldBus) prend en compte toutes ces exigences, il a
été conçu pour ça. Sa composition peut être
décrite en deux parties, une partie matérielle composée
d’un média physique sur lequel transitent l’alimentation électrique
des éléments définis ci-dessus et leurs transferts
de données et une partie logicielle composée d’une multitude
de composantes logicielles fournissant le protocole de communication, les
échanges d’informations, la supervision, la sécurité,
les interfaces et bien d’autres fonctions.
Domaines d’application
Le bus de terrain peut être utilisés pour divers besoins, la sécurité, le confort, l’assistance, l’aide à la décision, la fonctionnalité, etc., l’utilisation de ces besoins peuvent être cumulés suivant les domaines d’application. Les domaines d’application peuvent être un bâtiment, une usine, une voiture, un bateau, un train, une centrale nucléaire, un hôpital.
Domaine d’application : Le bâtiment.
Pour des besoins de sécurité, les bâtiments haut de gamme possèdent des capteurs permettant de détecter la fumer provenant d’un incendie. L’ordinateur relié aux capteurs analyse les informations provenant des capteurs et envoie un ordre de fermeture à un mécanisme de commande des portes automatiques pour cantonner l’incident et un ordre aux actionneurs de commande des buses pour qu’elle propulse le liquide afin d’éteindre l’incendie. Pour des besoins de confort, les bâtiments climatisés possèdent des capteurs de température et des arrivées d’air régulés dans chaque pièce, si la température d’une pièce venait à changer, l’automate envoie un ordre au mécanisme régulant l’arrivée d’air pour obtenir la température voulue.
Domaine d’application : La voiture.
Pour des besoins de sécurité,
les constructeurs propose un système de freinage qui ne bloque pas
les roues en cas de freinage brusque même sur route glissante. Le
système possède des capteurs qui relève la vitesse
de rotation des roues et l’envoie à un calculateur embarqué
qui analyse et traite l’information et envoie un ordre au mécanisme
agissant directement sur les freins.
Origine de WORLDFIP et PROFIBUS
PROFIBUS
Profibus (PROcess FIeld
BUS) est le résultat d’un projet lancé en 1989 par le ministère
fédéral allemand de la recherche et de la technologie, il
a été développé et financé par des entreprises
d'automatismes comme Siemens.
Termes utilisés
:
Variable : Unité
d’échange la plus petite entre les stations.
Message : Unité
d’échange plus grande et plus explicite que les variables.
Station : Elément
du bus pouvant être, un ordinateur, un automate, un capteur ou un
actionneur.
Unité de traitement
: Automate programmable, ordinateur ou régulateur.
Consommateur
: Station qui a besoin de lire une variable.
Producteur :
Station qui fournie une variable aux autres stations.
Identifieur :
Adresse globale d’une variable.
Arbitre de bus
: Chef d’orchestre du bus, sans son accord les stations ne peuvent ni émettre
des informations ni en recevoir.
Topologie
La topologie réseau est une topologie bus classique, on peut cependant par le biais de répéteur cascader d’autre bus on obtient ainsi plusieurs bus principaux. On peut aussi y ajouter des dérivateurs multiples appeler boite de jonctions pour connecter des éléments en un point unique sur le bus principal ou secondaire.
Exemple de topologie
:
Les différentes
couches du protocole Le protocole WorldFip est composé 3 couches
de communications, une couche physique (physical layer), une couche liaison
(data link layer) et une couche application (application layer). Il peut
être complété d’une couche transverse assurant le management
du réseau.
Médias utilisés
Composition d’une trame
Toute trame WorldFip
est constituée de trois parties :
-La séquence
de début de trame ( PRE + FSD )
PRE : Donne au récepteur
le moyen de se synchroniser sur l’horloge de l’émetteur.
FSD : Délimite
le début de trame.
-Le champ contrôle
et données ( CAD )
-La séquence
de fin de trame ( FED )
FED : Délimiteur
de fin de trame.
Condition à respecter :
WorldFip peut être
comparé a une base de données distribuée, le procédé
utilisé pour mettre à jour les variables garantit une cohérence
des données.
Une variable possède
un identifieur unique sur tout le bus. L’identifieur des variables étant
codé sur 16 bits on peut avoir jusqu’à 65536 identifieurs
sur le bus.
Une variable ne peut
être produite que par une seule station et ce indéfiniment
dans le temps, les autres stations ne pourront y accéder qu’en lecture
seule. Il ne peut y avoir qu’un seul arbitre de bus sur tout le bus à
un moment donné. Le rôle d’arbitre est assuré par une
station. La fonction arbitre de bus est assurée par le service ABAS
de la couche application. Il existe deux méthodes d’échange
de données, une cyclique, est une autre acyclique. Il existe aussi
deux types d’échange, un échange de variable et un échange
de message. Les messages étant plus longs que les variables. L’échange
de variable cyclique et acyclique est assuré par le service MPS
de la couche application. L’échange de messages est assuré
par le service subMMS de la couche application. Lors de la configuration
du bus, une liste des variables est établie. Pour chaque variable
on définit qui en est le producteur et à quelle périodicité
la variable sera utilisée sur le bus. Cette liste est détenue
par l’arbitre du bus.
|
Périodicité en ms |
|
|
|
|
OSTR_32 | 190 |
|
|
INT_8 | 150 |
|
|
INT_16 | 200 |
|
|
INT_8 | 160 |
|
|
OSTR_32 | 320 |
|
|
OSTR_32 | 200 |
|
|
INT_8 | 140 |
Cas d’un échange de variable cyclique :
Les schémas utilisés dans les exemples comporterons un bus avec 5 stations comme ci-dessous :
L’arbitre envoie «
par diffusion » une trame « Question »
sur le bus pour indiquer
qu’il veut lire le contenu de l’identifieur « A », toutes les
stations reçoivent le message mais comme il ne peut y avoir qu’un
seul producteur pour chaque variable seule la station producteur peut répondre
à cette question.
Le producteur donne
sa « réponse » en envoyant la valeur de l’identifieur,
toutes les stations reçoivent la valeur, les stations intéressée
(consommateur) peuvent consommer cette variable ce procédé
« s’appelle transfert de buffer ».
Cas d’un échange de variable acyclique :
La demande de transfert de variable acyclique se fait en utilisant le procédé de transfert de variable cyclique. Comme précédemment l’arbitre envoie sa question, quant à lui, le producteur répond mais en positionnant un bit dans la trame indiquant qu’il a une demande de requête acyclique à formuler. On peut si nécessaire ajouter un drapeau de priorité urgent.
Maintenant, l’arbitre sait que la station qui vient de répondre a une ou plusieurs variables acyclique a transférer. Il retransmet la même question que précédemment en ajoutant un bit requête pour indiquer à la station de lui transmettre la liste des variables à demander. La liste peut contenir jusqu’à 64 identifieurs.
Une fois que l’arbitre reçoit la réponse, il demande la lecture d’une des variables de la liste, le processus continue ainsi comme pour une variable cyclique. Seul un producteur peut demander le transfert de variable acyclique, par contre il peut demander la lecture de variables dont il n’est pas le propriétaire. Il est possible de faire une demande spécifiée. Le producteur choisi de déclencher sa demande de transfert acyclique sur production d’une variable spécifique.
Cas d’un échange de message sans acquittement :
Les transferts de messages sans acquittement se font de façon acyclique, ils s’adressent à une station ou à plusieurs stations. Le début du processus de transfert de message se fait comme pour celui d’une variable acyclique, la différence commence quand le producteur répond, il positionne un bit indiquant qu’il a un message à transférer.
L’arbitre indique au producteur qu’il peut adresser son message et attend la trame de fin de transfert. Le producteur émet son message en précisant s’il attend ou pas un accusé de réception. Une fois celui-ci émit, il indique à l’arbitre que le transfert est terminé.
Cas d’un échange
de message avec acquittement :
Les transferts de messages
avec acquittement se font de façon acyclique, ils s’adressent à
une station. Le début du processus de transfert de message se fait
comme précédemment, la différence commence quand le
producteur envoie sont message il positionne un bit indiquant que le message
est avec accusé de réception.
Un message perdu ne peut être ré-émis que deux fois. L’arbitre dispose toujours d’un timer pour évité d’être bloqué par un transfert trop long.
Classe de services :
Tous les équipements
ne peuvent pas assurer tous les services énumérés
ci-dessus, pour avoir un aperçu rapide de leurs possibilités,
les services ont été regroupés par classe :
Services / Classes | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Transfert de buffer | X | X | X | X | X | X | X | X | X |
Ecriture de buffer | X | X | X | X | X | X | X | X | X |
Lecture de buffer | X | X | X | X | X | X | X | X | |
Demande explicite libre | X | X | X | X | |||||
Demande explicite spécifiée | X | X | X | ||||||
Message sans acquittement | X | X | X | X | |||||
Message avec acquittement | X | X | X |
Fonctionnement
du bus PROFIBUS
PROFIBUS est composé de deux
protocoles de transmission appelés profiles de communication DP
(Decentralized Periphery) et FMS (Fieldbus Message Specification) et de
profils applicatif tels que PA (Process Automation), BA (Building Automation)
ou Profisafe. Ces profils de communication définissent la façon
dont les données sont transmissent sur le support physique. Le profil
de communication FMS est destiné à la communication entre
équipements dits intelligents tels que des ordinateurs ou des automates,
tandis que le profil DP et plutôt destiné à la communication
entre équipements intelligents et équipements basic tels
que des capteurs et actionneurs
D’un
point de vue physique, la topologie utilisée est celle d’un bus
mais d’un point logique on a en plus une topologie anneau.
Médias utilisés
PROFIBUS
peut être utilisé avec trois type de média, la paire
torsadée (RS485), le bifilaire (CEI 1158-2) et La fibre optique,
cette dernière à pour avantage de fournir des débits
élevé, d’avoir une forte immunité aux parasites et
peut être utilisée pour des grandes distances, par contre
elle a pour inconvénient d’être plus fragile et plus coûteuse.
A noter cependant que le futur de PROFIBUS prévoit sont utilisation
sur des infrastructure déjà existantes tel que le réseau
Ethernet.
Composition d’une trame
Méthode
du jeton
Mode maître-esclave
Profil de communication DP
Le profil de communication DP destiné à la communication entres les maîtres et les esclaves est utilisé pour des échanges de données courts (244 octets) et rapide. Il peut aussi bien se faire de façon cyclique que de façon acyclique. La connexion et la déconnexion d’éléments DP s’effectuent de façon simple et rapide (Plug and Play). Il peut y avoir un ou plusieurs maîtres sur le bus. En configuration mono-maître, l’unique maître s’occupe de tous les esclave présents sur le bus. En configuration multi-maîtres, les maîtres peuvent avoir des esclaves communs, cependant le droit en écriture sur ceux-ci n’est pas partagé, seul un d’entre eux possède un droit en écriture sur un esclave, cette station « DPM1 » est désignée lors de la configuration. De même, il existe un maître DPM2 qui est une station de configuration, de service et d’analyse pour les différents esclaves.
Transmission cyclique : Le DMP1 possède la liste de ses esclaves et une liste des variables à transférer avec leurs périodicités. DPM1 peut s’adresser directement à un esclave, à un ensembles d’esclaves ou voire tous les esclaves en même temps. Dans les deux derniers cas, il est obligé d’assurer la synchronisation des entrées et des sorties entres tous ses esclaves. Pour cela, il dispose de deux commandes « Synchro » et « Freeze »
Transmission acyclique : Pendant le temps libre entre deux transmissions cycliques, DPM1 peut envoyer des messages acycliques, il dispose pour cela cinq fonctions, MSAC1_Read pour lire les données de l’esclave, MSAC1_Write pour écrire des données vers l’esclave, MSAC1_Alarm pour transmission d’une alarme vers le maître avec attente d’accusé de réception, MSAC1_Alarm_Acknowledge pour envoie d’accusé de réception vers l’esclave et MSAC1_Status pour informer le maître de l’état de l’esclave.
Profil de communication FMS
La priorité pour
ce de profil destiné aux échanges entres maîtres est
la quantité de donnée échangées au détriment
de la rapidité. Le profil FMS possède un dictionnaire d’objets
contenant la description, la structure, le type de données ainsi
que la relation entre l’adressage interne et l’adressage externe complété
par sa désignation connues par les autres stations du bus. Ces objets
qui sont des objets de communication peuvent être des variables,
des tableaux (suite de variables de même type), des structures (suite
de variables de type différents), des domaines (zones mémoire)
ou des événements (message d’alarmes).
|
|
|
|
|
|
|
|
|
|
|
|
|
Les profils applicatifs
Ils décrivent
comment utiliser les profils de communications et les supports physiques
par les applications ou par les équipements. PA : Basé sur
le profile de communication DP, PA utilise le support de transmission CEI
1158-2 avec dans la plupart des cas une télé-alimentation
des équipements. Grâce à des interfaces décrivant
le comportement de l’équipement sur le bus et une connaissance détaillée
des différents équipements du marché, on peut interchanger
des équipements de marques différentes sans intervention
sur l’équipement. Profisafe : Basé sur le profile de communication
DP, Profisafe assure la sécurité (intégrité)
des transmissions (perte de trame, erreur de séquence, …). Il définit
aussi le raccordement d’équipement de sécurité tel
qu’un bouton d’arrêt d’urgence, BA : Basé sur le profile de
communication FMS, BA définit les règles sur tout ce qui
a attrait à l’exploitation d’un bâtiment, surveillance, exploitation,
traitement d’alarme… . Ces profils applicatifs ont de par leurs règles
déjà définies, pour rôle de faire baisser les
coûts engendrer par une étude sur l’installation d’un bus
de terrain en fonction de l’application métier.
Les bus et les normes européennes
Comme
pour toute nouvelle technologie, l’arrivée des bus de terrain à
souffert d’un manque de normalisation. L’émergence de nouveaux produits
et de nouvelles fonctionnalités ont creusé encore plus l’écart
entre le début de la normalisation et la réalité technique.
Ce manque qui rendait les clients frileux malgré tous les avantages
que pouvait leur apporter les bus de terrain s’expliquait par la crainte
de faire le choix d’une solution propriétaire qui lierait le client
à son fournisseur voire même d’une solution qui ne serait
pas pérenne ou instable. Bien sur, le retour sur investissement
existe bien, cependant mettre en place une solution de ce type nécessite
un investissement de départ qu’il faut prendre en compte ainsi que
le maintien en vie de la solution. Pour garantir le bon fonctionnement
du bus de terrain, il faut sans cesse assurer la maintenance, mettre à
jour le matériel existant et ajouter de nouveaux matériels.
Choisir une solution normalisée garantie une solution mûrement
réfléchie, stable et pérenne. Elle garantie aussi
une interopérabilité entre les matériels de différents
constructeurs. Les bus de terrain FIP et PROFIBUS sont tout deux entièrement
normalisés sous la norme EN 50170.
Domaines d’application adaptés à chaque bus
On
peut dire que les bus Worldfip et Profibus sont vraiment en concurrence,
on les retrouve dans les mêmes domaines d’application telles que
l’industrie alimentaire, l’industrie énergétique, l’industrie
automobile, l’automatisation de bâtiment…
Bus | Support de transmission | Débit Max | Nbre maximum d’unités | Longueur
maximale |
Taille maximale des données |
WorldFip | CEI
1158-2
fibre optique |
6 Mb/s
|
256
|
50 km
|
Pas
de limite pour les messages;
128 octets pour les variables |
Profibus | CEI
1158-2,
RS485, fibre optique |
12 Mb/s
|
127
|
24 km
|
244 octets |
Conclusion
Le but principal des bus de terrain est atteint par les deux bus : réduire les coûts par la diminution du nombre de câbles, par une mise en place et une administration simples et par des éléments pouvant être d'origines diverses.
En matière de sécurité, les deux bus détectent les erreurs de transmission et ont une procédure de reprise.
Ils autorisent une redondance, un seul est utilisé à la fois, l’autre servant qu’en cas de défaillance.
Leurs différences notables sont visibles dans les comparaisons techniques détaillées ci-dessus et essentiellement dans leurs protocoles de dialogue.
Profibus ressemble à un système de communication client-serveur entre le maître et ses esclaves où les esclaves seraient les serveurs et le maître le client. Le nombre de maîtres constituant l’anneau logique ne doit pas être trop important car il diminuerait le temps de communication disponible entre les maîtres et leurs esclaves.
Cette contrainte n’existe pas dans Worldfip.
Le recouvrement de la perte d’un maître dans Profibus n’est pas soulevé dans les documentations, on peut se poser la question sur le devenir des esclaves appartenant au maître défaillant, Worldfip ne fonctionnant pas en maître/esclave le point de défaillance pourrait être l’arbitre de bus mais la perte de celui-ci est prévue, en effet il existe sur le bus plusieurs arbitres capable de prendre le relais mais un seul peut être actif à un moment donné, le basculement se fait sur défaillance de l’actif par un algorithme d’élection embarqué qui se fait en fonction du poids de l’adresse.
Sans s’intéresser à la mécanique, d’un point de vue utilisateur, le choix de Profibus ou de Worldfip n’aura pas trop d’impact. Par contre pour une personne plus technique le choix d’un des deux bus se fera plus ressentir causé par un fonctionnement différent.
Conservatoire national des arts et métiers
Architectures des systèmes informatiques
ANNEXE 05
Comparaison des bus WorldFip et Profibus
Année 2002-2003