Cours API Part II - Structure Et Composants D'un API
Cours API Part II - Structure Et Composants D'un API
Cours API Part II - Structure Et Composants D'un API
Faculté de Technologie
Département de GEE
• Le module d’alimentation, CPU, Mémoire, communications avec leur rôle et spécifications seront
détaillés.
• Modules de communications
• La plus part des capteurs utilisent des tensions de 24V, ce qui rend
indispensable l’utilisation d’une alimentation dans les API
Figure 2 : Module d’alimentation PS 307 5A de
Siemens (utilisé dans les TPs)
20/10/2023 Cours sur les automates programmables industriels (API) 5
II. Structure et composants d’un API
II.2 Module CPU
• Certains API (Siemens SIMATIC S7 300 CPU 314C-2PN/DP) offrent la capacité d’étendre
la mémoire en insérant une carte mémoire externe (carte SD).
• Les signaux d’entrées et de sorties requis pour actionner un dispositif peuvent être :
1. Signaux analogiques : ce sont des signaux continus qui permettent de représenter une
grandeur variant avec le temps (température, niveau, etc…) par une autre grandeur variant
avec le temps, le plus souvent électrique.
• La CPU doit avoir à son entrée des signaux numériques, typiquement de 0 à 5V et sa sortie doit
aussi être numérique, typiquement 0 à 5V. Ceci montre la nécessité de manipuler des signaux
d’entrées/sorties de telle sorte qu’ils soient dans la forme requise par l’API.
• Donc les modules d’entrées/sorties sont conçus de manière à ce qu’une gamme de signaux
d’entrées puisse être changée en signaux numériques (5V) et de sorte qu'une gamme de sorties
soit disponible pour piloter des périphériques externes.
• Dans une configuration en rack, les modules d’entrées/sorties sont branchées sur des cartes qui
sont à leur tour branchées dans le rack. Par ce moyen, ils est possible de changer les
caractéristiques des entrées/sorties en changeant les cartes.
• Dans le cas d’une configuration compacte (un seul boitier) de l’API, les modules d’entrées sorties
sont incorporés dans l’API par le fabricant (le cas de notre automate Siemens S7 300)
2. Lorsque le processeur demande à ce qu'une charge soit alimentée, une tension est appliquée à
la LED de l'isolateur optique. La LED émet de la lumière, ce qui fait commuter le
phototransistor en conduction.
3. Ceci déclenche à son tour le triac, le transistor ou le relais permettant ainsi au courant de
passer à la charge.
4. Le type de circuit utilisé conditionne le type de signal en sortie, par exemple dans le cas du
triac, le signal sera un signal alternatif.
• Chaque entrée, sortie qu’elle soit numérique ou analogique possède une adresse au sein de l’API.
Cette adresse est indispensable et permet au module CPU de savoir qu’est-ce qui est branché ou
pas à l’entrée ou sortie de l’API.
• Les adresses des entrées/sorties sont affectée par programme lors de la phase de programmation
de l’API et peuvent être ainsi choisie par l’utilisateur.
• L’adressage des entrées/sorties numérique est dépendant du fabricant de l’automate. Pour donner
un exemple de cette différence entre les fabricants, nous allons prendre un exemple d’adressage
des automates Siemens Simatic S7 et Allen-Bradley PLC-5.
(a) (b)
Figure 8 : Adressage des entrées sorties : (a) Allen-Bradley PLC-5. (b) Siemens
Simatic S7
Entrées numériques
Sorties numériques
• Dans le cas d’une configuration en rack, les entrées/sorties analogiques peuvent être manipulées
en insérant des cartes analogiques dans le rack.
• Afin de limiter l’utilisation de cartes analogiques (on ne va pas affecter une carte pour chaque
entrée/sortie analogique), des multiplexeurs sont généralement utilisées.
4. Etc…
• Le signal analogique peut être représenté dans la plus part des cas soit par une tension (0 à 10V)
soit par un courant (4 à 20mA).
• Dans le cas ou on utilise des tensions (le cas de nos TP), l’entrée ou sortie analogique en tension
(0 à 10V) peut être codée en décimal et à pour valeur allant de 0 (0000ℎ ) à 27648 (6𝐶00ℎ ) .
Dans ce cas, on parle de configuration unipolaire (uniquement des tensions positives).
• Dans le cas d’une configuration bipolaire, la tension de la plage « nominale » varie de -10V à
+10V. Dans ce cas, la conversion de cette tension en décimal a pour valeur -27648 à 27648.
• Lorsqu’on est dans une plage allant de 10 à 11,852V, on est dans un phénomène « overflow ».
• Lorsqu’on est dans une plage allant de -11,852 à -10V, on est dans un phénomène « underflow ».
• Ces valeurs ne sont pas arbitraires et sont standardisées de manière à normaliser les valeurs avec
lesquels les données analogique doivent être manipulées.
Décimal Hexadécimal
32767 7FFF 11.852 V Overflow
32511 7EFF 11.759 V
32135 7D87 11.623 V
29548 736C 10.687 V
28420 6F04 10.279 V
27648 6C00 10 V
21648 5490 7.651 V
11268 2C04 3.982 V
Plage nominale
105 69 37.979 mV
0 0 0V
Tableau 2 – Exemples de plages de tensions dans la plage nominale et la plage d’Overflow
20/10/2023 Cours sur les automates programmables industriels (API) 24
IV. Modules d’entrées/sorties Analogiques
IV.3 Représentation d’un signal analogiques dans un API
• La résolution du convertisseur CAN ou CNA peut être calculée en utilisant l’équation :
10
= 3,61689. 10−4 𝑉
27648
• Tous ceci a été réalisé pour un codage sur 16bits des données analogique.
• Lorsque le convertisseur CAN ou CNA est par exemple un convertisseur 12 bits (le cas de notre
TP), nous allons avoir 212 = 4096, donc 4096 valeurs possibles pour la donnée analogique.
• Même constat, si l’on dispose d’un convertisseur CAN ou CNA de 8 bits alors, nous allons avoir
28 = 256, donc 256 valeurs possibles pour la donnée analogique.
• Par exemple si on veut déclarer une variable analogique brachée à l’automate, on utilise la
syntaxe :
• Comme dans notre cas (Simatic S7 300), le CAN/CNA dont nous disposons est un convertisseur 12
bits, un octet est insuffisant pour adresser une donnée analogique.
• Par conséquent, chaque entrée analogique dans notre cas, sera codée sur 2 octets. Ainsi, si l’on
déclare une donnée analogique comme suit : IW128 alors cette donnée analogique prendra par
défaut l’octet 128 et 129.
• Si l’on souhaite déclarer une deuxième entrée analogique, il sera impossible d’utiliser l’octet 129,
il faudra alors commencer par l’octet 130.
• Avec :
• Comme nous pouvons le voir sur la figure 5, le double mot MD2 se chevauche avec MD0 et MD4
et ceci entraine inévitablement une perte d’information, pour cette raison il faut faire attention
lors de la déclaration de variables pour éviter ce type de problèmes.
• Dans certains cas, nous avons besoin d’effectuer des opérations spécifiques qui ne sont pas
disponibles directement au sein des API.
• Il existe donc des modules d‘entrées/sorties dits spéciaux qui ont été spécialement développés
pour répondre à certains besoins très spécifiques.
Figure 15 : Encodeur.
• Ce module permet entre autres de délocaliser l’opération de contrôle en dehors du CPU, ce qui permet
de dégager le CPU des opérations de calculs lourdes et complexes.
• [4] P. JARGOT, « Langages de programmation pour API. Norme IEC 1131-3 », Ref : TIP660WEB - « Automatique et ingénierie
système », juin 10, 1999. https://www.techniques-ingenieur.fr/base-documentaire/archives-th12/archives-automatique-et-
ingenierie-systemes-tias0/archive-1/langages-de-programmation-pour-api-norme-iec-1131-3-s8030/ (consulté le janv. 05,
2021).
• [5] T. Shanen, « Guide des automatisme », 2001-2007.