FR B02 Analogique
FR B02 Analogique
FR B02 Analogique
durée : 3h
L’automate SIMATIC S7-1200 est utilisé pour les applications d'automatismes de taille petite à moyenne, et est
doté d'une architecture à la fois compacte et modulaire :
Les entrées et sorties TOR de l'API sont regroupées par octets. Chaque entrée ou sortie TOR sera donc adressée
par un numéro d'octet et un numéro de bit à l'intérieur de celui-ci.
Par exemple, pour adresser la 5 ème entrée en partant de la gauche, on définit l’adresse suivante :
% I 0.4
%I indique ici que l’adresse est de type « entrée », 0 l’adresse d’octet, et 4 l’adresse de bit.
Les adresses d’octet et de bit sont toujours séparées par un point.
% Q 1.1
%Q indique ici que l’adresse est de type « sortie », 1 l’adresse d’octet et 1 l’adresse de bit.
Les adresses d’octet et de bit sont toujours séparées par un point.
La couleur de la LED des états RUN/STOP sur la face avant de la CPU indique le mode de fonctionnement actuel.
- WinCC pour la création de pages de supervision & visualisations, sur PC ou écrans "Simatic
pannels".
3. Premier programme.
Notre première application va consister à programmer le contrôle d’une presse.
Une presse avec un capot de protection doit être activée avec un bouton "START" S3 uniquement si l’écran
de protection est fermé. Cette condition est surveillée avec un capteur "PROTECTION FERMEE" B1.
Si c’est le cas, un distributeur 5/2 M0 alimentant le vérin de la presse est activé, afin que la forme plastique puisse
ensuite être pressée.
La presse doit se retirer de nouveau quand le bouton "ARRET D’URGENCE" AU (contact NF) est actionné, quand le
capteur B1 ne répond plus, ou quand le capteur VERIN TIGE SORTIE B2 répond.
Tableau d’affectations
%Q 0.0
M0
B1
ARRET D’URGENCE
Capteur
Opérateur protection
fermée
S3
Presse
✔ Vue du portai l :
La vue du portail fournit une vue d’ensemble du projet et un accès aux outils qui permettent de l’élaborer. Vous
pouvez trouver rapidement ce que vous souhaitez faire, et appeler l’outil qui servira à accomplir la tâche voulue. Si
vous le souhaitez, un changement vers la vue du projet s’effectue automatiquement pour la tâche sélectionnée.
Cette vue simplifie donc principalement la préparation et la mise en place du projet.
Vue "portail" (En bas à gauche de la fenêtre, on peut basculer de la vue du portail vers la vue du projet)
La vue du projet est une vue structurée de tous les éléments constituant le projet. La barre de menu avec les
barres de fonction est situé comme le veut la norme en haut de la fenêtre, le navigateur du projet et tous les
éléments du projet sont sur la gauche, et les menus associés aux différentes tâches (avec les instructions et les
librairies, par exemple) sur la droite.
Vue "projet" (En bas à gauche de la fenêtre, on peut basculer de la vue du portail vers la vue "portail")
Les étapes ci-dessous montrent comment créer un projet pour SIMATIC S7-1200 et programmer la solution pour
l'application donnée.
1. Les programmes pour SIMATIC S7-1200 sont gérés sous forme de projets. Nous allons maintenant créer un
nouveau projet via la vue portail (« Créer un projet > Nom : Initiation > Créer »). Nommez le projet
"controle_presse".
3. Puis « Ajouter un appareil » avec le nom d’appareil : Controle_presse. Choisissez alors dans le catalogue la
« CPU 1214C » avec la bonne combinaison de lettres derrière.
(« Ajouter un appareil > SIMATIC PLC > CPU 1214C > 6ES7 214-1AE30-0XB0 > Ajouter »)
4. Le logiciel bouge automatiquement vers la vue du projet avec la configuration matérielle ouverte. Ici, on
peut ajouter des modules supplémentaires depuis le Catalogue du matériel (fenêtre de droite), et dans la Vue
d’ensemble des appareils, les adresses d’entrée/sortie peuvent être visualisées. Dans notre cas, les entrées
intégrées à la CPU ont des adresses allant de %I 0.0 à %I 1.5 (soit 14 entrées) et les sorties intégrées des
adresses allant de %Q 0.0 à %Q 1.1 (soit 10 sorties).
5. Afin que le logiciel puisse accéder dans la suite à la bonne CPU, son adresse IP et le masque de sous-réseau
doivent être paramétrés (« Propriétés > Général > Interface PROFINET > Adresses Ethernet > Adresse IP :
192.168.0.20 et Masq. s/rés. : 255.255.255.0 »).
6. Nous allons définir les variables globales de l’API correspondant aux entrées/sorties physiques de celui-ci.
Ces variables globales peuvent être utilisées partout dans le programme, dans tous les blocs.
A cette fin, sélectionnez « Variables API » dans le navigateur du projet . Avec un double-clic, ouvrez la table des
variables API et entrez, comme montré ci-dessous, les noms des entrées et des sorties.
7. Les séquences du programme sont écrites dans ce que l’on appelle des blocs. De base, un bloc d’organisation
OB1 est créé lors de l’ajout d’une CPU.
Ce bloc représente l’interface du système d’exploitation de la CPU. Il est appelé automatiquement par celle-ci,
et est traité de manière cyclique.
A partir de ce bloc d'organisation OB1, des blocs supplémentaires peuvent être appelés à leur tour pour
structurer le programme, comme le bloc fonctionnel FB1.
Le but est de diviser une tâche globale en plusieurs sous-tâches, ce qui permet de programmer et de tester leur
fonctionnalité plus facilement.
8. Pour créer le bloc FB1, sélectionnez dans le navigateur du projet « Controle_presse [CPU 1214 C
DC/DC/DC] » puis « Blocs de programme ». Double-cliquez ensuite sur « Ajouter nouveau bloc ».
9. Dans la nouvelle fenêtre, choisissez « Bloc Fonctionnel (FB) » et donnez-lui le nom « Programme_presse ».
Comme langage de programmation, choisissez « LOG ». La numérotation est automatique. Acceptez les saisies
avec « OK ».
10. Le bloc « Programme_presse [FB1] » s’ouvre automatiquement. Avant de pouvoir écrire le programme,
cependant, on doit déclarer les variables locales, qui ne sont connues que dans le bloc.
Les paramètres qui forment l’interface du bloc pour les appels dans le programme :
Type Nom Fonction Reconnu dans
Paramètres Input Paramètres dont la valeur est Fonctions (CF), blocs fonctionnels (FB) et
d’entrée lue par le bloc quelques types de blocs d’organisation (OB)
Paramètres de Output Paramètres dont la valeur est Fonctions et blocs de fonction
sortie écrite par le bloc
Paramètres InOut Paramètres dont la valeur est Fonctions et blocs de fonction
d’entrée/sortie lue par le bloc quand elle est
appelée, et qui après
traitement est écrite dans le
même paramètre
Données locales Temp Variables utilisées pour un Fonctions, blocs de fonction et blocs
temporaires stockage temporaire des d’organisation
résultats intermédiaires. Les
données temporaires sont
conservées pour un cycle
seulement
Données locales Static Variables utilisées pour un blocs de fonction
statiques stockage statique des résultats
intermédiaires dans le bloc de
données d’instance. Les
données statiques sont
conservées jusqu’à leur
réécriture, soit pour plusieurs
cycles
11. Déclarons maintenant les variables locales nécessaires pour notre exemple :
Input :
Arret_urgence commande d’arrêt d’urgence est entrée
Demarrer Le bouton de démarrage
C_protection état du capteur pour l’écran de protection
C_verin état du capteur pour la tige du vérin
Output :
M_presse Sortie Vérin
Static :
Toute les variables de cet exemple sont de type « Bool ». Pour une meilleure compréhension, il est préférable
d’écrire des commentaires pour chaque variable.
12. Maintenant qu’on a déclaré les variables locales, on peut commencer à programmer. Pour une meilleure
vue d’ensemble, on programme sur des réseaux. Un nouveau réseau peut être insérer en cliquant sur le
symbole « Insérer réseau ». Comme le bloc lui-même, chaque réseau doit être titré. Si une longue
description est nécessaire, on peut le faire dans la partie « Commentaire ».
Pour programmer notre solution, on a besoin d’une « bascule SR ». Elle se situe dans la fenêtre de droite,
« Instructions > Opérations logiques sur bits > SR ». Si vous laissez la souris sur un objet tel que la bascule SR,
des informations détaillées de l’objet s’affichent.
13. Si vous surlignez un objet et que vous appuyez sur F1 sur votre clavier, une fenêtre d’aide en ligne apparaît
à droite et vous fournit des informations sur l’objet sélectionné.
14. Glissez la bascule SR sous le réseau 1. Ensuite, surlignez l’entrée Set de la bascule SR et cliquez sur le bloc
« [ & ] » (opération logique ET) dans la liste des favoris.
15. De la même manière, placez le bloc « [ >=1 ] » (opération logique OU) à l’entrée R1 et le bloc
« [ = ] » d’affectation à la sortie Q de la bascule.
16. Maintenant, on appelle les variables locales. Il suffit d’entrer la première lettre de la variable dans le champ
de saisie pour faire apparaître une liste, où on sélectionne ensuite la variable désirée.
Les variables locales sont toujours identifiées par le symbole « # » précédant leur nom (exemple : #M_presse).
17. Ajoutez de même les autres variables locales. Pour l’opération OU, une autre entrée doit être insérée. Pour
cela, surlignez l’entrée du dessous et avec un clic-droit sélectionnez « Insérer entrée », et assignez la variable.
18. Pour inverser une entrée, glissez simplement le symbole « Négation » à partir de la barre des favoris
sur l’entrée à inverser. On doit inverser les entrées de « #Arret_urgence » et de « #C_protection ».
19. Ensuite, allez dans les « Propriétés » du bloc d’organisation « Main [OB1] ». Les propriétés du bloc peuvent
y être modifiées.
21. Comme indiqué précédemment, le bloc « Programme_presse » doit être appelé depuis le bloc Main [OB1].
Autrement, le bloc ne serait pas pris en compte du tout. Ouvrez-le en double-cliquant sur « Main [OB1] ».
22. Le bloc « Programme_presse » peut ensuite être simplement déposé dans le réseau 1 de Main [OB1] grâce
à un glisser-déposer. N’oubliez pas de commenter les réseaux !
23. Ensuite, les paramètres de l’interface du bloc « Programme_presse » doivent être connectés aux variables
globales de l’API. Il suffit là aussi d’entrer la première lettre de la variable globale pour faire apparaître une liste,
dans laquelle on sélectionne la variable voulue.
24. De cette façon, ajoutez les autres variables globales comme indiqué sur la capture d’écran ci-dessous. Il sera
alors temps de sauvegarder votre projet, en cliquant sur .
25. Pour charger le programme entier dans la CPU, surlignez d’abord le dossier « Contrôle_presse » puis cliquez
sur le symbole « Charger dans l’appareil ». Cela va ouvrir une nouvelle fenêtre. Pendant la compilation,
l’état de progression est affiché dans une fenêtre.
26. Si la compilation s’est correctement déroulé, cela s’affiche dans la fenêtre. Cliquez maintenant sur
« Charger », puis « Terminer ».
27. Maintenant, démarrez la CPU en cliquant sur le symbole « Démarrer la CPU » et confirmez le fait que
vous vouliez vraiment commuter la CPU sur RUN en cliquant sur « OK ».
Remarquez que la fenêtre « Navigateur du projet » est devenue orange, ce qui signifie que vous travaillez
désormais en ligne avec l’automate.
Présentation :
Les valeurs analogiques sont stockées dans des mots. La configuration utilisée en TP permet d'accéder à :
- 2 entrées analogiques +/-10 V (intégrées à la CPU 1214C)
- 1 Sortie analogique configurable en +10V/-10V ou 0/20mA (intégrée à la "Signal Board" optionnelle)
L’adressage des valeurs d’entrée et des valeurs de sortie dépend de l’adressage sur l’aperçu de l’appareil. Par
exemple :
L’adresse de la première entrée analogique serait dans ce cas %IW 64, celle de la seconde entrée analogique
%IW66, et celle de la sortie analogique %QW 80.
La transformation d’une valeur analogique en vue d’un traitement dans un API est la même pour les entrées et les
sorties analogiques.
Plage nominale de la
valeur analogique
Ces valeurs numérisées doivent souvent être normalisées par un traitement dans l’API.
Les mots correspondants sont :
%IW 64 et %IW66 (Entrées analogique)
%OW 80 (Sortie analogique)
• Note : Dans le système d'adressage utilisé par Siemens, le plan mémoire est composé d'octets. L'adresse
d'un mot est donc l'adresse du premier octet qui le compose (d'où l'absence d'adresse %IW65 ci-dessus :
les adresses de mot sont toujours paires).
Le format utilisé est "INT", car ces valeurs peuvent être signées (dans le cas du +/-10V).
Exercice en langage ST :
I1 I2 Courant de sortie
0 0 5 mA
0 1 10 mA
1 0 15 mA
1 1 20 mA
E1 R H3
S1
E2 S H3
S2 . I1 S2 . I1
E3 N H4 E6 N H2
S3 S3
E4 E7 L t#5s H1
N H1
S4
S4
E5 N H2
S1 + S2
I2
Programmation du graph :
Construction du graph (etapes, Programmation des récetivités (langage LOG)
transitions, sauts...)