FIP - MONASSIER Patrick

Download Report

Transcript FIP - MONASSIER Patrick

FIP
Présentation
Patrick MONASSIER
Université Lyon 1 France
1
FIP
Historique
FIP Flux Information Process
L’association WorldFIP a été créée en mars
1987, sous le nom originel de CLUB FIP (Flux
Information Process)
Le processus de décision de créer un réseau
de terrain industriel a été initié avec le
ministère de l’industrie en 1982
En 1984, le groupe projet publia les concepts
FIP. Plusieurs constructeurs viennent
rejoindre le groupe en 1986
- TELEMECANIQUE
- MERLIN GERIN
- CGEE ALSTOM
- CSEE (CETIA)
FIP est standardisé sous la norme WordFip
EN50170 (européenne) et IEC61158
IEC Central Office
3, rue de Varembé
P.O. Box 131
CH - 1211 GENEVA 20
Switzerland
Phone: +41 22 919 02 11
Fax: +41 22 919 03 00
http://www.iec.org
La Commission Electrotechnique Internationale
(CEI) est la première organisation mondiale qui
élabore et publie des normes internationales pour
tout ce qui a trait à l'électricité, à l'électronique et
aux technologies apparentées. Celles-ci servent
de base à la normalisation nationale et de
références lorsqu'il s'agit de rédiger des
soumissions et des contrats internationaux.
http://www.worldfip.org
2
FIP
Présentation
FIP permet la répartition de l’intelligence, du contrôle, des données
Unité de
Traitement
Capteurs /
Actionneurs
FIP
Modèle PRODUCTEUR / CONSOMMATEUR
Le mécanisme de diffusion des données, mécanisme de base de FIP, assure les
cohérences spatiales et temporelles de données chez tous les abonnés consommant
un ensemble de variables.
3
FIP
Topologie générale
Cable principal 1
Cable principal 2
Segments
terminaux
JB
TAP
REP
DB
DS
DNS
Boîte de jonction
Dérivateur
Répéteur
Boîte de diffusion
Abonné déconnectable localement
Abonné non déconnectable localement
Vitesses :
Norme couche physique cuivre
3 normes :
- S1 : 31,25 Kb/s basse vitesse
- S2 : 1 Mb/s
haute vitesse
- S3 : 2,5 MB/s haute vitesse
- Fibre optique 5 Mb/s
4
FIP
Codage Bit
Le codage bit est du type MANCHESTER
Logique « 1 »
ou EB+
Logique « 0 »
ou EB-
Violation V+
Violation V-
5
Trame FIP
PRE
PRE permet de
synchroniser
l’horloge de réception
PRE
FSD
CAD
FED
Toute trame FIP est composée de 3 parties :
- La séquence de début de trame
- Le champ de contrôle et données
- La séquence de fin de trame
FSD
FSD indique à la
couche liaison de
données le début
de l’information
utile (CAD)
Préambule
Délimiteur de début de trame
Contrôle et données
Délimiteur de fin de trame
FIP
FED
CAD contient
les contrôles
et les
données
utile
FED permet à la
couche liaison de
trouver la fin du
champ CAD
Preambule
Framse Start Delimiter
Control and data
Frame End delimiter
La couche physique ajoute 21 symboles à toute trame émise - 672 us à 31,25 Kb/s - 21 us à 1 Mb/s - 8,4 us à 2,5 Mb/s
6
Couche liaison de données
FIP
2 types de services de transmissions :
Couche liaison
Échange de variables identifiées
Transfert de messages
Les échanges peuvent se faire :
Echanges
Cycliquement - périodicité par variable définie à l'initialisation
Sur demande - sur demandes explicite des utilisateurs
Adressage :
Adressages
variables - 1 identifieur 16 bits par variable
messages - en point à point uniquement, adresses codées sur 24 bits
7
FIP
Couche liaison de données
Interface couche application – couche liaison de données
K
Ne génère
aucune activité
sur le bus
A
Sur cet exemple, la couche liaison de données contient :
Un buffer produit correspond à l’identifieur K
Un buffer consommé correspond à l’identifieur A
8
Tranfert de buffer
FIP
Les buffers produits ou consommés sont également accessibles
par le bus, qui prélève ou dépose des valeurs de buffer.
Ce mécanisme s’appelle le transfert de buffer.
Les buffers sont à double accès, la couche liaison de données doit résoudre les
problèmes posés par les conflits d’accès.
9
FIP
Tranfert de buffer
Indication d’émission
de la valeur sur le bus
Indication de
réception de la valeur
Donnée produite K
Donnée consommée A
Pour réaliser le mécanisme de transfert de buffer, l’arbitre de bus émet
des trames question ID_DAT, en précisant le Numéro d’Identifieur
10
FIP
Mécanisme d’allocation du medium
L’arbitre de Bus
BA : Bus arbitrer
contient la table de
scrutation des variables
Le réseau FIP est constitué de stations possédant deux types de fonctionnalités :
- L’arbitrage de bus : gestion d’accès au medium
- La fonction production / consommation
11
FIP
Production d’une variable
Le modèle producteur - Consommateur
L’arbitreur de bus C fenvoie une demande
de valeur concernant la variable A
La valeur de la variable A est mise en
diffusion générale
Consommateur
Consommateur
Producteur
Consommateur
12
FIP
Table d’arbitrage de bus
Les variables identifiées produites ou consommées
par un utilisateur peuvent être :
Exemple
L’exemple ci-dessous indique comment configurer
l’arbitre de bus pour garantir une scrutation
déterministe
de type simple :
- Booléen
- Entier (notation complémentaire à 2)
- Chaine binaire (maxi 32 octets)
- Chaine d'octets (maxi 126 octets)
- Chaine visible (maxi 126 octets)
- Temps 14 caractères : AAA MM JJ HH MM SS
- Flottant simple précision 4 octets (ANSI IEEE 754)
- Flottant double précision 8 octets (ANSI IEEE 754)
- BCD
De type structuré :
- structure de type simple
- structure de structure
- tableau
- tableau de tableau
-tableau de structure
…………
Le temps indiqué comprend l’émission et la réception, ainsi qu’un temps de retournement de 20 us.
13
FIP
Scrutation des variables
Le dessin ci-dessous représente une répartition possible des
identifieurs A à F sur un axe de temps, en fonction des
périodicités de chacune des variables
A
B
C
D, E
F
5 ms
10 ms
15 ms
20 ms
30 ms
Chaque tranche de temps constitue un cycle élémentaire : ici égal à 5 ms
14
FIP
Scrutation des variables
Charge trafic
1 Mb/s
5 ms
A
B
C
D, E
F
5 ms
10 ms
15 ms
20 ms
30 ms
Temps pour le trafic apériodique
Trafic
périodique
temps
En fonction des renseignements précédents, on peut dresser la table de charge du réseau
15
FIP
Scrutation des variables
A
B
C
D, E
F
5 ms
10 ms
15 ms
20 ms
30 ms
Cycle élémentaire
Durée du
cycle
élémentaire
temps
Macrocycle
L’arbitre de bus déroulera à l’infini les mêmes cycles
16
FIP
Scrutation des variables
Temps pour le trafic
apériodique
A
B
C
D, E
F
5 ms
10 ms
15 ms
20 ms
30 ms
Une autre répartition plus uniforme des identifieurs au sein des cycles
élémentaires pourrait être la suivante
17
FIP
Cycle élémentaire
Chaque cycle élémentaire est composé de 4 fenêtres
Fenêtre de synchronisation – remplissage (padding)
Fenêtre d’échange des messages apériodiques
Fenêtre d’échange des variables apériodiques
Fenêtre d’échange des variables cycliques
Echanges cycliques
Echanges acycliques
Déterministes
Non Déterministes
Remplissage
18
FIP
Demande de transfert variable périodique
Le modèle producteur - Consommateur
L’arbitreur de bus C fenvoie une demande
de valeur concernant la variable A
La valeur de la variable A est mise en
diffusion générale
Consommateur
Consommateur
Producteur
Consommateur
19
FIP
Demande de transfert variable apériodique
Ce mécanisme se déroule en 3 étapes :
Pendant le trafic périodique : positionnement d’une requête
Etape 1
Requête
File d’attente
- normal
- urgent
Consommateur
Consommateur
Producteur
Consommateur
20
FIP
Demande de transfert variable apériodique
Dans la fenêtre des variables apériodiques : émission de la requête
Etape 2
File d’attente
spécifique
Liste des variables
apériodiques à
servir (identifieurs)
21
FIP
Demande de transfert variable apériodique
L’arbitre de bus diffuse la valeur de l’identifieur qui sera produit puis consommé par les autres stations.
Etape 3
L’arbitre sert une ou
plusieurs variables, en
fonction du temps
apériodique disponible
Producteur
Consommateur
Une station demandant un transfert apériodique peut être :
- Productrice de la variable
- Consommatrice
- Productrice et consommatrice
22
FIP
Demandes apériodiques
Les demandes peuvent être de deux natures
- Libres (L_FREE_UPDATE.req)
- Spécifiées (L_SPEC_UPDATE.req)
Le mécanisme «libre »
Fenêtre périodique
Buffer producteur
Identifieur K
File « urgent »
File « normal »
Le mécanisme « spécifié »
fonctionne à peu près de la même
façon. La file d’attente est remplacée
par un buffer de la variable. Il est
uniquement utilisé par la couche
application pour réaliser le mécanisme
de cohérence spatiale. Ce mécanisme
est interne à la couche application
Fenêtre apériodique
Puis B
23
FIP
Demande de transfert de messages SANS acquittement
Ce mécanisme se déroule en 3 étapes :
En point à point ou en diffusion générale
Etape 1
File d’attente
des
messages
Requête indiquée par positionnement du bit « requête de message »
24
FIP
Demande de transfert de messages SANS acquittement
Etape 2
Message en diffusion générale
Producteur
Consommateurs
25
Demande de transfert de messages SANS acquittement
FIP
Le producteur envoie un signal de fin de transaction message
Etape 3
Fin de transaction
Producteur
Toutes les stations recoivent l’indication de fin de message
26
Demande de transfert de messages AVEC acquittement
Ce mécanisme se
déroule en 4 étapes :
Permet de fiabiliser
FIP
des échanges en Point à Point
En point à point
Etape 1
File d’attente
des
messages
Requête indiquée par positionnement du bit « requête de message »
27
Demande de transfert de messages AVEC acquittement
Etape 2
FIP
Envoi du message
28
Demande de transfert de messages AVEC acquittement
FIP
Acquittement du message
Etape 3
Fin de transaction message
Etape 4
29
FIP
Classes de conformité
Définit la classe de la station. Toute station FIP possède au moins les
mécanismes de transfert de buffer et d’écriture de buffer
Transfert de buffer
Ecriture de buffer
Lecture de buffer
Demande explicite libre
Demande explicite spécifiée
Message sans acquittement
Message avec acquittement
Service supporté
Service non supporté
30
FIP
Trames transfert de buffer
Trames de question : ID_DAT, ID_RQ et ID_MSG
Elles ne diffèrent que de quelques bits dans le champ de contrôle
Trames de réponse : RP-DAT
réponse à une trame ID_DAT
31
FIP
Trames de réponse
Trames de réponse requête : RP_RQ
réponse à une trame ID_RQ
Trames de réponse : RP_MSG_xx
réponse à une trame ID_MSG
Une station répond à une trame ID_MSG par
une trame RP_MSG_NOACK ou RP_MSG_ACK
32
FIP
Trames de réponse
Trames de réponse requête : RP_ACK
suite à une trame de message avec demande d’acquittement
Trames de réponse : RP_FIN
suite à une émission de message, fin de transaction de message
33
FIP
Performance – transfert de buffer
La trame RP suit une trame ID. TR est le temps de retournement. La trame RP_DAT
doit intervenir dans ce délai borné.
Le temps de retournement TR est défini dans la norme gestion de réseau.
10 TMAC <= TR <= 70 TMAC
TMAC = temps d’émission d’un symbole de couche physique 1, 0, V+, V- , 0
à 31,25 Kb/s
à 1 Mb/s
à 2,5 Mb/s
22,4 us < TR < 320 us
10 us < TR < 70 us
4 us < TR < 28 us
34
FIP
Informations de service
Chaque couche ajoute de l’information de service à ce qu’elle reçoit de la couche supérieure
Couche utilisateur
Longueur des données utiles
Couche application
+2 octets
Couche liaison
+3 octets
Couche physique
+21 bits
Le nombre de bits ajoutés est de 61 bits, qu’elle que soit la longueur des données
35
FIP
Temps de transaction
Le temps total d’une transaction est composé des durées suivantes :
- Emission de la trame question
- Temps de retournement
- Émission de la trame réponse
- Temps de retournement
Durée d’émission de la trame question : 61 TMAC (constant)
Durée d’émission de la trame réponse = 61 TMAC + n*8 TMC (n=nombre d’octets utilisateur)
Durée temps de retournement = 2*TR TMAC (TR>=10 et TR<=70)
L’efficacité est égale au temps d’émission de l’information utile divisé par la durée de la transaction
Efficacité = n*8 TMAC / (61 TMAC + TR TMAC + 61 TMAC + n*8 TMAC + TR TMAC)
Efficacité = n * 8 TMAC / ( 122 TMAC + 2 TR TMAC + n * 8 TMAC )
36
FIP
Calculs selon TR
Calculs pour TR = 10
Longueur utile
efficacité
débit réel pour 1 Mb/s
débit réel pour 2,5 Mb/s
efficacité
débit réel pour 1 Mb/s
débit réel pour 2,5 Mb/s
Calculs pour TR = 70
Longueur utile
37
FIP
Couche application MPS
Les services de FIP se regroupent en 3 ensembles distincts :
- ABAS – Services application d'arbitrage de bus
- MPS – Services périodiques / apériodiques variables
- subMMS – Sous-ensemble de service de messagerie
Couche 7
Couche 2
Couche 1
La couche applicaton MPS offre à l'utilisateur :
- Des services de lectures/écritures locales
- Des services de lectures/écritures distantes
- Des indications d'émission/réception variables
- Des informations de fraîcheur des informations consommées
- Des informations de cohérences spatiales et temporelles des données
38
Lectures / écritures locales
FIP
Bus activity
Aucune
activité
déclenchée
sur le bus
Les buffers des variables sont écrits ou lus depuis la couche applicative, sans déclencher d’activité bus
39
Indications de réception / émission
FIP
La couche applicative reçoit des indications, fonction de l’activité du bus
40
Lectures / Ecritures distances
FIP
AP
Mécanisme de lecture de la variable A
41
Resynchronisation
FIP
Le mécanisme de resynchronisation en consommation consiste à recopier le
contenu du buffer public dans le buffer privé, sur réception d'une variable de
synchronisation
42
Synchronisation des variables
FIP
Les contenus des buffers privés et publics, en fonction du temps, pour
une variable produite resynchronisée
43
FIP
Promptitudes et rafraîchissements
Rafraîchissement asynchrone
Ecriture asynchrone (valeur)
Lecture asynchrone (valeur, status)
Etat du rafraichissement :
Mécanisme de l’élaboration de la
période de production (ms)
Producteur
Consomateur
Status , Valeur
Chaque consommateur, par l'intermédiaire d'un service de lecture, en accédant au
status, sait si le producteur de la variable a respecté le délai de production
attaché à la variable
44
Promptitudes et rafraîchissements
FIP
Rafraîchissement asynchrone
A chaque nouvelle écriture de valeur, la couche application arme le timer associé à la
variable, avec la valeur de la période de production.
Le status est vrai tant que ce timer n'expire pas.
45
FIP
Promptitudes et rafraîchissements
Rafraîchissement synchrone
A chaque réception de variable de synchronisation, le timer est réarmé avec la valeur
de la période de production, le status passe à faux.
Lorsque l’utilisateur dépose une nouvelle valeur, si le timer n’a pas expiré, le status
devient vrai et le restera jusqu’à expiration ou réception d’une nouvelle variable de
synchronisation
True
Status
False
Période de production
s = point de réception de la variable de synchronisation
p = point de la variable en production (A_WRITELOC)
46
FIP
Promptitudes et rafraîchissements
Promptitude asynchrone
Dans cet exemple: pour la même
variable, une station élabore un
status de promptitude asynchrone,
l'autre pas.
Lors d'une lecture, récupération de la valeur de la variable ainsi
que la status de promptitude. La station saura si le producteur
respecte sa période de production, et si le mécanisme de
transfert de buffer fonctionne correctement
Valeur, status
Ecriture asynchrone (valeur)
Producteur
lecture asynchrone
consommateur
Valeur
lecture asynchrone
consommateur
valeur
Etat de promptitude
Mécanisme d’élaboration de la
période de consommation (ms)
47
Promptitudes et rafraîchissements
FIP
Promptitude asynchrone
Lorsque l'entité de communication reçoit une nouvelle valeur, elle arme un timer de
promptitude asynchrone associé à la variable consommée avec la valeur de la période de
consommation. Il le restera tant que le timer n'expire pas.
True
Status
False
Timer de
période de
consommation
C = réception de la variable consommée
48
FIP
Cohérences temporelles et spatiales
Cohérence temporelle de production
La cohérence temporelle de consommation est un ET logique sur tous les
états de proptitudes individuels
A_READLIST.rq(<a,b,c>,CSP)
Etat des
Rafraîchissements
individuels
a
b
c
V = Vrai
F = Faux
ET logique des états
Exemple de 3 capteurs :
Débit
Pression
t1
V
V
F
t2 t3 t4
V V V
F V V
V V V
F
F
V
V
Température
49
FIP
Cohérences temporelles et spatiales
Cohérence spatiale
La cohérence spatiale est un état booléen élaboré optionnellement par les couches
applications consommatrices d'une liste de variable.
Si toutes les copies de la liste sont identiques, l'état est Vrai, sinon il est Faux.
Liste de variables
Vrai si identiques
Etat booléen
Faux si différents
50
FIP
Types de variables et Protocol Data Unit (PDUs)
Exemple pour un entier 16 bits
Les variables identifiées produites ou consommées par un
utilisateur peuvent être :
de type simple :
Booléen
Entier (notation complémentaire à 2)
Chaine binaire (maxi 32 octets)
Chaine d'octets (maxi 126 octets)
Chaine visible (maxi 126 octets)
Temps 14 caractères : AAA MM JJ HH MM SS
Flottant simple précision 4 octets (ANSI IEEE 754)
Flottant double précision 8 octets (ANSI IEEE 754)
BCD
De type structuré :
structure de type simple
structure de structure
tableau
tableau de tableau
tableau de structure
…………
Ces variables sont transportées sur le
réseau à l'intérieur de PDU
Dans l'exemple, la couche application
ajoute 2 octets au codage de l'entier 16
bits.
- Le premier indique le type du PDU
- Le second indique la longueur de
l'information contenue
51
Gestion de réseau
FIP
Les services de gestion de réseau sont regroupés dans 2 familles de services :
SM-MPS : ensemble des services de gestion de réseau basé sur MPS
SMS : ensemble des services de gestion de réseau basé sur la messagerie (MCS-MSG)
MIB : ressources
de communication
Base
d'information de
gestion
Bus arb.
Service
Arbitreur
de bus
Apériodique/périod.
Service
périodiques et
apériodiques
Messages
MIB est une
structure des
données
arborescente
décrivant couche
par couche
chacun des
attributs, ainsi que
la portée de
chaque service.
Service
Message
52
Gestion de réseau
FIP
Les fonctions essentielles de gestion de réseau sont au nombre de 3 :
Gestion du mode opératoire
• Commandes de start/stop
• Commandes de Validation / Invalidation
• Commandes de reset
• Fonctions de Lecture / Ecriture
Gestion de la configuration
• Création d'objets
• Destruction d'objets
• Démarrage / arrêt d'entités de communication
Gestion des défauts et performances
• Lecture de compteurs
• Mise à zéro de compteurs
53
Gestion de réseau
FIP
Une station FIP dispose de 2 types de processus application distincts :
- L' AP utilisateur qui réalise des fonctions d'une application répartie
- Le SMAP qui gère les fonctions de gestion de réseau
Station FIP Manager
SMAP :
System Manager
Application Process
Station FIP Agent
SMAP Manager gère le réseau, SMAP Agent répond à des sollicitations distantes
54
Gestion de réseau
FIP
Multi - AEs
Une station FIP peut, pour des besoins de sécurité, de
démarrages progressifs ou pour des problèmes de
limitations de SM-MPS, gérer jusqu'à 8 entités
d'application AE/SEi
55
FIP
Services SM-MPS
Les services SM - MPS permettent :
• L'affectation d'adressage physique et de tagName
• Le téléchargement des identifieurs
• La relecture de configuration (télélecture)
• La télécommande (start, stop, invalidation d'une ou
plusieurs AE/SE)
• Le télécontrôle (lecture de l'état opératoire des
AE/SE)
• Le rapport (ensemble des compteurs d'erreur et de
performances)
• La gestion d'une variable de présence et
d'identification
• La gestion d'une liste de stations présentes
56
FIP
Normes
FIP est standardisé au niveau européen sous
la norme WordFip EN50170
http://www.worldfip.org
57
Détail de la normes
FIP
58
Fin de présentation
Merci de votre attention
Patrick MONASSIER
Université Lyon 1 France
59