Conservatoire national des arts et métiers
Architectures des systèmes informatiques
ANNEXE 05
Comparaison des bus WorldFip et Profibus
Année 2002-2003

  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.
 

WORLDFIP
Worldfip (World Factory Instrumentation Protocol) est une organisation française à but non lucratif fondée en 1988, elle fonctionne grâce au financement des membres de l’organisation, à la mise en place de formations, à l’assistance technique et au support. Un consensus entres les utilisateurs finaux, les institues de recherche et les fabricants est mis en place avant de prendre toute décision visant à faire évoluer le bus. Worldfip est membre de « FieldBus Organisation » et est très actif dans le projet Européen NOAH (Network Oriented Applications Harmonisation). Les buts de Worldfip sont de réduire les coûts de connexion, d’obtenir un maximum de fonctionnalités, d’obtenir un bon débit et d’assurer une intéropérabilté avec le plus grand nombre possible de matériel.
 
Les bus concurrents
AS-I : (Actuator Sensor Interface) 1993
CAN : Controller Area Network en 1993
Controlnet : 1995
DeviceNet : Milwaukee 1994
Interbus : 1984
LonWorks : Californie 1991
P-Net : Danemark
SDS : Smart Distributed System en 1989
Fonctionnement de WORLDFIP

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

 
WorldFip utilise deux types de média comme support de transmission, la paire torsadé ou la fibre optique. La fibre optique à pour avantage de fournir des débits élevé, d’avoir une forte immunité aux parasites et peut s’étendre sur de grandes distances, par contre elle a pour inconvénient d’être plus fragile et plus coûteuse.
Description du protocole

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 )

Champs contenant le contrôle et les données.


-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.
 
 
Variable
Périodicité en ms
Type
Temps en µs
A
5
OSTR_32 190
B
10
INT_8 150
C
10
INT_16 200
D
15
INT_8 160
E
20
OSTR_32 320
F
25
OSTR_32 200
G
30
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é.

Pour éviter que le transfert s’éternise, l’arbitre arme un timer.


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
 

Topologie

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. 
 

Les différentes couches du protocole
Le protocole PROFIBUS est composé 3 couches de communications, une couche physique (physical layer), une couche liaison (data link layer) et une couche application (application layer).



 

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.
 

Description du protocole

Composition d’une trame


 

Syn = Synchronisation
SD2 = Délimiteur de début
LE= Longueur
DA= Adresse destination
SA= Adresse source
FC= Code fonction
DU= Données
FCS = Checksum
ED= Délimiteur de fin
Il existe deux types de stations sur le bus, les stations maîtres appelée aussi stations actives et les stations esclaves appelée également stations passives. Toutes deux peuvent recevoir ou émettre des messages, cependant, seul le maître peut émettre librement tandis que l’esclave n’émet que sur demande du maître. Il existe aussi deux méthodes de communications différentes, une réservée pour la communication entres les maîtres appelé « méthode du jeton » et une autre réservée pour la communication entres les maîtres et leurs esclaves appelé « mode maître-esclave ». Pour communiquer entres elles les stations ont la possibilité de diffuser leurs messages en mode point à point, en mode broadcast (diffusion générale) ou en mode multicast (diffusion sélective)


Méthode du jeton

 
Il ne faut pas que certain maître ait le monopole de la parole, pour cela il faut instaurer un système garantissant dans un temps défini que chaque maître puisse avoir la possibilité de parler. Les maîtres connectés au bus forment un anneau à jeton virtuel et son classées par rapport à leur adresse de la plus petite à la plus grande. C’est au démarrage du réseau que la liste des maîtres est élaborée, ensuite le maître possédant l’adresse la plus petite acquière le jeton en premier, Il peut ainsi communiquer avec les autres maîtres ou avec ses esclaves ou tout simplement passer sont tour, il retransmet ensuite le jeton au maître ayant l’adresse supérieur. La liste est mise à jour automatiquement lors d’un retrait ou d’une insertion d’un maître. Une station maître possédant le jeton est une station active.


Mode maître-esclave

 
C’est sur ordre de leurs maîtres que les esclaves reçoivent ou transmettent des messages.


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).
 
 
Index
Type
Adresse interne
Désignation
10
Var
4100
Température
11
Var
3600
Pression
…..
     

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…
 

Comparaison des deux bus
 
 
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