Bus AS-i
Bus AS-i
I.1 Historique
En 1990 s’est créé un groupe de 11 sociétés spécialisées dans les capteurs et les actionneurs (Balluf,
Baumer, Elesta, Festo, Ifm, Leuze, Pepperl & Fuchs, Sick, Siemens, Turck, Visolux), ce consortium ayant
pour tâche de définir un système de transmission commun pour tous les capteurs : ainsi est né le concept
AS-interface (Actuator Sensor Interface).
Une association AS-i a été fondée en 1992 en vue de coordonner, certifier et standardiser le bus. Les
produits certifiés sont reconnaissables au logo AS-i ombré (Figure 1).
L’ASIC dispose de 4 ports (D0, D1, D2, D3) délivrant les niveaux de tension de l’esclave AS-i. Ils
constituent les 4 bits de données échangés entre le maître et l’esclave (Figure 3). Ces ports peuvent être
configurés en entrée, en sortie ou en entrée/sortie (bidirectionnel).
Il dispose également de 4 bits de paramètres (P0, P1, P2, P3) qui procurent à l’esclave, une intelligence
supplémentaire puisqu’ils permettent de contrôler des fonctions spécifiques de l’esclave, telles que :
Des inversions d’état
Des changements d’échelle de sensibilité
Des temporisations spécifiques
…
Un maître AS-i se caractérise par 3 niveaux de profil offrant des fonctionnalités différentes (Tableau 1).
Une architecture type d'un bus AS-i peut être donnée par la figure 4.
I.3.2 Complémentarité
AS-i est complémentaire aux autres réseaux de communication. Le raccordement avec AS-i se faisant au
moyen de passerelles (figure 5).
I.3.3 Topologie
L'AS-i peut avoir trois topologies : ligne, point à point (étoile) ou arbre (figure 6).
I.3.4 Flexibilité
D’architecture et de topologie idéalement libre, il permet une évolution dans le temps des installations
d’automatismes. En particulier, le câblage qui est facilement modifiable. Dans le cas d’une machine
compacte (ensemble de capteurs/actionneurs situés dans un périmètre limité), la topologie en étoile ou en
arbre du bus AS-i est particulièrement bien adaptée. Toute dérivation sur tout segment du bus est autorisée
à condition que la longueur du bus n’excède pas 100 m.
Il est possible d’accroître la longueur du bus en utilisant un "Répéteur" (figure 7).
Le répéteur est constitué de deux émetteurs/récepteurs pour chaque direction. Il régénère les signaux
reçus. Le répéteur constitue également un excellent moyen pour isoler galvaniquement deux segments de
bus AS-i.
Initialement limité à 300m soit une distance de 100m reconduite 2 fois à l’aide d’un répéteur, la longueur
du bus peut atteindre 600m par l’utilisation de « plug extension » faisant passer chaque tronçon de 100m
à 200m. L’ensemble est répété deux fois pour atteindre la longueur totale de 600m, à condition que le
maître soit situé au milieu du réseau.
I.3.5 Caractéristiques techniques d'un bus AS-i
Le tableau 3 donnes les caractéristiques techniques d'un bus AS-i
Caractéristique Description
Topologie Structures en arbre, ligne, point à point
Simple paire non blindée pour la communication et
Médium
l'alimentation
Alimentation & Automate 24 VDC +20 -15
Le "profil" du maître définit exactement quelles sont les fonctions implémentées pour un maître donné.
2) Démarrage : La phase de démarrage consiste à détecter les esclaves présents sur le bus, à
mémoriser leur adresse et leur profil dans la table des esclaves reconnus puis à activer les esclaves
projetés et reconnus.
3) Phase cyclique des échanges : Chaque cycle est constitué de 3 étapes : Échange des données,
management, introduction d’esclaves.
1) La phase d’échange de données correspond au dialogue entre maître et esclave via la fonction
"Data Exchange". Lorsqu’un échange échoue, il peut être répété au cours des trois cycles suivants.
Après trois essais négatifs, l’esclave est considéré comme absent ou en défaut et disparaît des
tables « actifs » et "reconnus".
2) La phase de management est la phase pendant laquelle le maître peut envoyer une trame de
commande tel que :
Écriture de paramètre
Lecture de configuration
Assignation d’adresse
Reset,…
3) La phase d’acquisition est la phase pendant laquelle le maître vérifie si un nouvel esclave a été
introduit sur le bus. Si un nouvel esclave est détecté il faut ensuite 3 cycles pour l’activer, car trois
transactions sont nécessaires :
Lecture configuration E/S
Lecture identificateur
Envoi de paramètres
La prise en compte d’un nouvel esclave sera effective dans un délai maximum de 170 ms (relation (2)).
Cette table contient les données (D0 à D3) renvoyées par les esclaves actifs sur le réseau. Lorsqu'un
esclave est inactif, la valeur correspondante dans la table vaut 0.
Cette table contient les données (D0 à D3) à envoyer aux esclaves actifs sur le réseau.
Elle contient les paramètres des esclaves configurés dans le maître (en mémoire non volatile) .
Lors d'une remise sous tension, cette table est recopiée dans la table image des paramètres.
Les valeurs des paramètres (P0 à P3) transmis aux esclaves (1 à 31) sont mémorisées dans cette
table.
Cette table contient la référence des différents codes possibles de configuration d'un maître ou
esclave. Cette table est stockée et sauvegardée dans le maître.
Cette table contient la description (configuration des entrées/ sorties et code identificateur) de tous
les esclaves connectés sur le câble AS-i.
Cette table contient la liste des adresses des esclaves et leurs profils prévus à la configuration du
système. Les esclaves listés dans cette table sont dits "projetés".
Cette table contient la liste des adresses des esclaves et leurs profils détectés sur le câble pendant
la phase de détection.
Un esclave à la fois reconnu et projeté, devient actif et est mémorisé dans cette table.
Ces registres contiennent l’image des données en entrée (capteurs) et l’image des données de
sorties (actionneurs).
3) EEPROM
Cette mémoire contient l’adresse de l’esclave (modifiable par les outils d’adressage), et son profil
(I/O code et Identification code) uniquement accessibles en lecture.
I.4.4.2 Trames
La technique de communication entre le maître et ses esclaves est le "pooling cyclique" (Figure 9). Le
maître émet une requête et attend une réponse pendant un certain temps.
Le maître émet une requête et attend la réponse de l’esclave pendant un certain temps. Au-delà de ce
temps, s’il n'a pas reçu de réponse valide, le maître considère la réponse comme négative et peut
réémetteur sa requête ou envoyer la requête suivante. Après réception d'une réponse correcte, le maître
respecte un temps de pause, puis aborde une nouvelle transaction. L'esclave ne répond pas au maître s'il
reçoit une requête erronée ou inappropriée aux services qu'il peut rendre.
Lorsque l'esclave est dans un état dit "synchrone" (c'est-à-dire en phase de fonctionnement normal, hors
initialisation), il peut émettre sa réponse après trois intervalles bit. En phase d’initialisation, il lui faut
deux intervalles bit supplémentaires, soit cinq intervalles bit. L'unité de temps est d'une durée de 6 μs et
correspond à l'intervalle d'envoi d'un bit. Au mieux, il faut donc (14 + 3 + 7 + 2) = 26 intervalles bit pour
effectuer une transaction soit 26 x 6 μs = 156 μs
La limite des dix intervalles bit est prévue pour l'utilisation de répéteurs dont l'électronique peut ralentir
les temps de transmission des signaux. Dans tous les cas de figure, si le maître n'a pas reçu de réponse
après les dix intervalles bits, il peut engager la transaction suivante. Au-delà de ce temps, si le maître n’a
pas reçu de réponse valide, il considère la réponse comme négative et peut réémettre sa requête ou envoyer
la requête suivante. Après réception d’une réponse correcte, le maître aborde une nouvelle transaction
après avoir respecté un temps de pause déclenché à la fin de la réponse.
Le télégramme correspondant aux requêtes du maître est constitué des informations de la figure 11.
* Parité paire : l'ensemble des bits à 1 dans le télégramme maître (hormis le bit de fin) doit être
pair.
Le télégramme correspondant aux réponses esclave contient les informations de la figure 12.
Cette requête est la plus couramment utilisée, elle permet l'échange des données entre maître et esclave
(valeur des états d'entrée ou (et) de sortie des capteurs/actionneurs connectés sur le bus AS-i).
Requête du maître :
Cette requête ne peut être utilisée avec une adresse esclave = 00HEX
Réponse de l'esclave :
Cette requête du maître permet d'assigner des paramètres à un esclave, et ce afin d'en contrôler les
fonctions à distance.
Exemple :
• Activation d'un timer,
• Changement de sensibilité d'un capteur,
• Commutation de fonction pour un capteur multifonctions,
• Validation de la fonction "chien de garde" et position de repli d'un actionneur.
La valeur des paramètres transférée est sauvegardée dans l'esclave jusqu'à ce qu'elle soit écrasée ou remise
à zéro par une autre requête. Ces paramètres sont volatiles : ils reprennent la valeur 1 par défaut à la mise
sous tension de l'esclave et sur réception d’une requête Reset.
Requête du maître :
Cette requête ne peut être utilisée avec une adresse esclave = 00HEX
Réponse de l'esclave :
Cette requête permet au maître d'attribuer une adresse à un esclave d'adresse 00HEX. Dès que l'esclave a
acquitté cette requête, il peut être appelé avec sa nouvelle adresse. L'esclave sauvegarde cette adresse dans
une mémoire non volatile (EEPROM). Cette procédure peut prendre jusqu'à 15 ms.
Requête du maître :
Cette requête permet au maître de remettre un esclave dans son état initial (sorties à 0 et paramètres à 1).
Requête du maître :
Cette requête permet au maître de supprimer l'adresse d'un esclave en lui attribuant l'adresse 00HEX. Cette
nouvelle adresse 0, devient l'adresse courante, mais n'est pas sauvegardée.
Requête du maître :
Réponse de l'esclave :
Remarque
Si la requête "Reset" est envoyée après la requête "Delete Address", l'ancienne adresse esclave (toujours
sauvegardée en EEPROM) est à nouveau attribuée à l'esclave.
Cette requête permet au maître de lire la configuration des entrées/sorties de l'esclave. Cette configuration
écrite par le constructeur EEPROM de l’esclave est retournée au maître sous la forme de 4 bits d'états (0
à FHEX).
Requête du maître :
Réponse de l'esclave :
Remarque
Voir les profils des esclaves dans une section suivante dans ce document.
Cette requête permet au maître de lire le code identificateur de l'esclave (Identification Code). Cette
commande associée à la commande précédente "Read I/O Configuration" permet au maître d'identifier
complètement l'esclave et d'obtenir son profil. Cet ID code est écrit par le constructeur dans l’EEPROM
de l’esclave. L'esclave émet en retour son code identification.
Cours : Bus de communications Industriels Page 12
Dr. M. BOUHEDDA, Université de Médéa
COURS | BUS INDUSTRIEL DE COMMUNICATION AS-i
Requête du maître :
Réponse de l'esclave :
Remarque
Les esclaves dont les caractéristiques ne répondent pas à un profil standard AS-i, mais qui ont
clairement été identifiés par le constructeur, sont identifiés par le code : 0FHEX.
Cette requête permet au maître de lire les quatre bits d'état de l'esclave.
Requête du maître :
9) Lecture et remise à zéro des bits d'état (Read and Reset Status)
Cette requête permet au maître de lire les 4 bits d’états de l'esclave, celui-ci après avoir renseigné le maître,
remet à zéro ses bits d'états..
Requête du maître :
Réponse de l'esclave :
L’"I/O code" permet de caractériser le(s) type(s) d'élément(s) connectables sur cet esclave : entrées,
sorties, entrées-sorties. Ces types de connexions forment 16 codes de 0 à F qui caractérisent l'esclave, au
niveau de son interface avec le système AS-i.
Le codage de 0 à F (lettre X du profil) se fait conformément au tableau présenté dans la section suivante.
L'"Identification Code" permet de particulariser des esclaves possédant le même "I/O Code". Ce code
d'identification (la lettre Y du profil) est défini par une valeur de 0 à F, la lettre F étant réservée aux
applications spécifiques ou en attente de standardisation.
Certains "Identification Code" ont déjà été normalisés (voir tableau des profils). Si un constructeur définit
un nouveau type d'esclave, son "Identification Code" doit être défini en accord avec les membres de
l'association AS-i.
0 Fréquence basse
P2 Fréquence
1 Fréquence haute
0 Fonction spéciale
P3 Fonction spéciale
1 Fonction normale
"Identification Code"
D0 D1 D2 D3 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 IN IN IN IN 0,1
1 IN IN IN OUT 1,1
2 IN IN IN IN/OUT
3 IN IN OUT OUT X,0 3,1
4 IN IN IN/OUT IN/OUT
I/ O CODE
LIBRE
6 IN IN/OUT IN/OUT IN/OUT
7 IN/OUT IN/OUT IN/OUT IN/OUT 7,1 7,2 7,D 7,E
8 OUT OUT OUT OUT 8,1
9 OUT OUT OUT IN R
A OUT OUT OUT IN/OUT X,0
B OUT OUT IN IN R B,1
C OUT OUT IN/OUT IN/OUT X,0
D OUT IN IN IN R D,1
E OUT IN/OUT IN/OUT IN/OUT X,0 X,F
F IN/OUT/NUL Inutilité V
2) Applications typiques :
Profil Application
0,1 2 capteurs
1,1 simple capteur avec contrôle
7,D départ moteur électronique
7,E variateur électronique
B,1 2 actionneurs avec retour
D,1 simple actionneur avec monitoring
X,0 remote I/O