Professional Documents
Culture Documents
Document de formation pour une solution complte dautomatisation Totally Integrated Automation (TIA)
Page 1 sur 38
Ce document a t dit par Siemens A&D SCE (Automatisierungs und Antriebstechnik, Siemens A&D Cooperates with Education) des fins de formation. Siemens ne se porte pas garant de son contenu. La communication, la distribution et lutilisation de ce document sont autorises dans le cadre de formation publique. En dehors de ces conditions, une autorisation crite par Siemens A&D SCE est exige ( M. Knust: EMail: michael.knust@hvr.siemens.de). Tout non-respect de cette rgle entranera des dommages et intrts. Tous les droits, ceux de la traduction y compris, sont rservs, en particulier dans le cas de brevets ou de modles dposs. Nous remercions lentreprise Michael Dziallas Engineering et les enseignants dcoles professionnelles ainsi que tous ceux qui ont particip llaboration de ce document. La traduction en franais a t ralise par Siemens SCE France.
Page 2 sur 38
Page : I. II. 1) 2) III. 1) 2) 3) IV. V. Avant-propos ............................................................................................................................................ 5 Notes concernant la programmation du SIMATIC S7-1200 ................................................................. 7 Automate SIMATIC S7-1200 ....................................................................................................................... 7 Logiciel de programmation STEP 7 Basic VX.X (TIA Portal VX.X) ............................................................. 7 Types de bloc pour le SIMATIC S7-1200 ................................................................................................ 8 Traitement linaire du programme .............................................................................................................. 8 Traitement structur du programme ............................................................................................................ 9 Blocs utilisateur pour le SIMATIC S7-1200 ............................................................................................... 10 Exemple dapplication : Commande dun convoyeur ......................................................................... 14 Programmation de la commande dun convoyeur pour le SIMATIC S7-1200 ................................. 15
Page 3 sur 38
Information
Programmation
Exemple dapplication
Indication
Page 4 sur 38
I.
Avant-propos
Le contenu du module M2 est assign lunit SIMATIC S7-1200 et TIA Portal . Il explique les diffrents blocs qui peuvent tre utiliss lors de la programmation du SIMATIC S7-1200.
Programmation sur Step7
Notions de base
2 - 3 jours SIMATIC S7-1200 et TIA Portal 2 - 3 jours Modules M Modules A Simulation de systmes avec SIMIT SCE 1 - 2 jours Modules G
Objectif Dans le module M2, le lecteur va se familiariser avec les diffrents blocs utiliss dans la programmation du SIMATIC S7-1200 avec le logiciel TIA Portal. Ce module explique les diffrents types de bloc et montre travers les tapes ci-dessous comment crer un programme dans un bloc de fonction. Cration du bloc fonction Dfinition des variables locales Programmation avec les variables locales dans le bloc fonction Appel et paramtrage du bloc fonction dans OB1
Pr-requis Les connaissances suivantes sont requises pour ltude de ce module : Connaissance pratique des systmes dexploitation Windows Notions de base en programmation dAPI avec TIA Portal (par exemple, module M1 Initiation la programmation du SIMATIC S7-1200 avec TIA Portal VX )
Page 5 sur 38
Configurations matrielles et logicielles requises : PC Pentium 4, 1.7 GHz, 1Go RAM (XP) ou 2Go RAM (Vista), 2Go despace disponible; systmes dexploitation Windows XP (Home SP3, Professional SP3)/Windows Vista (Home Premium SP1, Business SP1, Ultimate SP1). Logiciel STEP7 Basic VX.X SP2 (Totally Integrated Automation (TIA) Portal VX.X) Connexion Ethernet entre le PC et la CPU 1214C API SIMATIC S7-1200 ; par exemple, la CPU 1214C. Les entres doivent tre mises en vidence sur un pupitre.
2 3 4
PC
Connexion Ethernet
Page 6 sur 38
II.
2)
Le logiciel STEP 7 Basic VX.X est loutil de programmation pour le systme dautomatisation : SIMATIC S7-1200.
Avec STEP 7 Basic VX.X, les fonctions suivantes peuvent tre utilises pour automatiser un systme: Configuration et paramtrage du matriel Paramtrage de la communication Programmation Test, mise en service et dpannage avec les fonctions Dmarrer et En ligne & Diagnostic. Documentation Gnration dcrans de visualisation pour les Basic Panels SIMATIC
Page 7 sur 38
III.
Page 8 sur 38
Page 9 sur 38
Indication : Si pendant la programmation des FC et des FB seules les variables locales sont utilises, alors ces blocs peuvent tre utiliss et appels une multitude de fois sous la forme de blocs standards. Toutefois, les blocs FB doivent avoir une zone mmoire attribue, une instance (comme par exemple un DB), chaque fois quils sont appels.
Page 10 sur 38
1. Blocs dorganisation
Les blocs dorganisation (OB) sont linterface entre le systme dexploitation et le programme utilisateur. Ils sont appels par le systme dexploitation et gre les oprations suivantes : Comportement au dmarrage de lautomate Traitement cyclique du programme Traitement par programme des alarmes de processus Gestion des erreurs
Vous pouvez programmer les blocs dorganisation comme vous le voulez, et donc dterminer le comportement de la CPU. Vous avez plusieurs options dutilisation des blocs dorganisation dans votre programme : OB de dmarrage (Startup OB), OB cycliques (Program Cycle OB), OB derreur de temps (Time Error Interrupt OB), et OB dalarme de diagnostic (Diagnostic Error OB) : Vous pouvez insrer et programmer simplement ces blocs dorganisation dans votre projet. Vous navez ni besoin de les rgler, ni de les appeler. OB dalarme de processus (Hardware Interrupt OB) et OB dalarme cyclique (Cyclic Interrupt OB) : Ces blocs dorganisation doivent tre paramtrs aprs leur insertion dans le programme. De plus, les OB dalarme de processus peuvent tre affects un vnement au moment de leur excution en utilisant linstruction ATTACH, ou spars grce linstruction DETACH. OB dalarme temporise (Time Delay Interrupt OB) : Les OB dalarme temporise peuvent tre insrs dans votre projet et programms. De plus, vous devez les appeler dans le programme utilisateur grce linstruction SRT_DINT. Un paramtrage nest pas ncessaire.
Informations au niveau du dmarrage des OB Quand les quelques blocs dorganisation sont dmarrs, le systme dexploitation parcourt les informations qui peuvent tre values dans le programme utilisateur. Ceci peut tre trs utile pour les diagnostics derreur. Les descriptions des blocs dorganisation indiquent si une information a bien t lue, et laquelle.
Page 11 sur 38
2. Fonctions
Une fonction contient un programme qui est excut quand un autre bloc de code appelle cette fonction. Les fonctions (FC) sont des blocs de code sans mmoire. Les donnes des variables temporaires sont perdues aprs que la fonction a t traite. Les blocs de donnes globaux peuvent tre utiliss pour stocker les donnes des FC. Les fonctions peuvent tre utilises pour les cas suivants, par exemple : Retourner des valeurs de fonction au bloc dappel, par exemple dans le cas des fonctions mathmatiques ; Excuter des fonctions technologiques, par exemple des commandes individuelles avec des oprations binaires. Une fonction peut galement tre appele plusieurs fois divers endroits du programme. Ceci facilite la programmation de fonctions complexes et rptitives.
3. Blocs de fonction
Les blocs de fonction contiennent des sous-programmes qui sont toujours excuts quand un bloc de fonction est appel par un autre bloc de code. Les blocs de fonction sont des blocs de code qui stockent leurs valeurs dans des instances DB, ceci afin que ces valeurs soient disponibles mme aprs que le bloc a t trait. Stocker vos paramtres dentres, de sorties et dentres/sorties dans des instances DB rend ces paramtres accessibles en permanence, aprs que le bloc a t trait : pour cette raison, ils sont aussi appels blocs avec mmoire . Les FB sont utiliss pour des tches qui ne peuvent tre mis en uvre avec des fonctions : Toujours quand les tempo et les compteurs sont ncessaires dans un bloc (Cf module M3) Toujours quand les informations doivent tre stockes dans le programme ; par exemple, quand on prslectionne un mode de fonctionnement avec un bouton. Un bloc de fonction peut aussi tre appel plusieurs fois divers endroits du programme. Ceci facilite la programmation de fonctions complexes et rptitives. Instances des FB : Le fait dappeler un FB est nomm une instance. Pour chaque instance dun FB, une zone mmoire lui est affecte, contenant les donnes utiles au traitement du bloc. Cette mmoire est fournie par des blocs de donnes que le logiciel gnre automatiquement. Il est galement possible de fournir de la mmoire pour plusieurs instances grce un bloc de donnes en multi-instance.
Page 12 sur 38
4. Blocs de donnes
Contrairement aux blocs de code, les blocs de donnes ne contiennent pas dinstructions, mais ils sont utiliss pour stocker les donnes utilisateur. Ceci signifie que les blocs de donnes contiennent des donnes variables dont le programme utilisateur se sert pour le traitement du programme. Les blocs de donnes globaux stockent des donnes qui peuvent tre utiliss par tous les autres blocs. La taille maximale des DB varie selon la CPU. La structure des blocs de donnes globaux peut tre dfinie comme on le souhaite. Quelques exemples dapplication : Stockage dinformations pour la gestion dun magasin : Tel produit se situe ici . Stockage dinformations sur certains produits. Tous les FB, FC ou OB peuvent lire ou crire les donnes dun bloc de donnes global. Ces donnes sont conserves dans le DB, mme quand il est quitt. Lappel dun bloc fonction est appel une instance. Pour chaque appel dun FB avec transfert de paramtres, un DB dinstance lui est affect et sert de stockage de donnes. Ainsi, les paramtres locaux et les donnes statiques des FB sont stocks dedans. La taille maximale des DB dinstance varie galement selon la CPU. Les variables dclares dans le FB dterminent la structure du DB dinstance. Un bloc de donnes global et un bloc de donnes dinstance peuvent tre ouverts en mme temps.
Page 13 sur 38
IV.
Dans lexemple ci-dessous, un bloc de fonction doit tre cr avec une dclaration de variable qui contient une commande pour un convoyeur dpendante du mode de fonctionnement choisi. Avec le bouton S1 , on peut slectionner le mode de fonctionnement Manuel , et avec le bouton S2 , on peut slectionner le mode Automatique . En mode Manuel , le moteur est aliment tant quon appuie sur le bouton S3 et que le bouton S4 nest pas activ. En mode Automatique , le moteur du convoyeur est allum avec le bouton S3 et teint avec le bouton S4 . Tableau daffectations Adresses %I 0.0 %I 0.1 %I 0.2 %I 0.3 %Q 0.2 Variables S1 S2 S3 S4 M01 Commentaires Bouton mode manuel, S1 (NO) Bouton mode automatique, S2 (NO) Bouton marche, S3 (NO) Bouton arrt, S4 (NF) Moteur du convoyeur M01
Indication Le bouton arrt S4 est un contact NF pour une raison de scurit en cas de rupture de fil. En effet, si le fil de ce bouton casse, le systme sarrte automatiquement. Autrement, le systme ne pourrait pas tre stopp si ce fil se cassait. Cest pour cette raison quen automatique tous les boutons ou commutateurs stop/arrt sont des contacts ouverture.
Page 14 sur 38
V.
La gestion du projet et sa programmation se font grce au logiciel Totally Integrated Automation Portal . L, sous une mme interface, les lments tels que le systme de contrle, la visualisation et la mise en rseau de la solution dautomatisation sont crs, paramtrs et programms. Les outils en ligne sont disponible pour les diagnostics derreur.
Les tapes ci-dessous montrent comment crer un projet pour SIMATIC S7-1200 et programmer la solution pour cette application. 1. Loutil que nous allons utiliser est Totally Integrated Automation Portal , que lon appelle ici dun double-clic.
Page 15 sur 38
2. Les programmes pour SIMATIC S7-1200 sont grs sous forme de projets. Nous allons maintenant crer un nouveau projet via la vue portail ( Crer un projet > Nom : FB_convoyeur > Crer ).
Page 16 sur 38
3. Mise en route est recommand pour le dbut de la cration du projet. Premirement, nous voulons Configurer un appareil ( Mise en route > Configurer un appareil ).
Page 17 sur 38
4. Puis Ajouter un appareil avec le nom dappareil : Commande_convoyeur. Choisissez alors dans le catalogue la CPU 1214C avec la bonne combinaison de lettres derrire. ( Ajouter un appareil > SIMATIC PLC > CPU 1214C > 6ES7 214-1AE30-0XB0 > Ajouter )
Page 18 sur 38
5. Le logiciel bouge automatiquement vers la vue du projet avec la configuration matrielle ouverte. Ici, on peut ajouter des modules supplmentaires depuis le Catalogue du matriel (fentre de droite), et dans la Vue densemble des appareils, les adresses dentre/sortie peuvent tre visualises. Dans notre cas, les entres intgres la CPU ont des adresses allant de %I 0.0 %I 1.5 (soit 14 entres) et les sorties intgres des adresses allant de %Q 0.0 %Q 1.1 (soit 10 sorties).
Page 19 sur 38
6. Afin que le logiciel puisse accder dans la suite la bonne CPU, son adresse IP et le masque de sous-rseau doivent tre paramtrs ( Proprits > Gnral > Interface PROFINET > Adresses Ethernet > Adresse IP : 192.168.0.1 et Masq. s/rs. : 255.255.255.0 ). (se rfrer galement au module M1, partie IV, pour le paramtrage de linterface de programmation)
Page 20 sur 38
7. Puisque de nos jours on programme avec des variables plutt quavec des adresses absolues, on doit spcifier les variables globales de lAPI ici. Ces variables API globales sont des noms descriptifs et des commentaires pour ces entres et sorties utilises dans le programme. Plus tard, pendant la programmation, on pourra accder ces variables API via leurs noms. Ces variables globales peuvent tre utilises partout dans le programme, dans tous les blocs. A cette fin, slectionnez dans le navigateur du projet Controle_citerne [CPU 1214C DC/DC/DC] puis Variables API . Avec un double-clic, ouvrez la table des variables API et entrez, comme montr ci-dessous, les noms des entres et des sorties.
Page 21 sur 38
8. Pour crer le bloc fonctionnel FB1, slectionnez dans le navigateur du projet Commande_convoyeur [CPU 1214 C DC/DC/DC] puis Blocs de programme . Doublecliquez ensuite sur Ajouter nouveau bloc .
Page 22 sur 38
9. Dans la nouvelle fentre, choisissez Bloc fonctionnel (FB) et donnez-lui le nom Convoyeur . Comme langage de programmation, choisissez LOG (logigramme). La numrotation est automatique. Puisque FB1 est appele de toute faon par son nom symbolique, le numro na plus beaucoup dimportance. Acceptez les saisies avec OK .
Page 23 sur 38
10. Le bloc Convoyeur [FC1] souvre automatiquement. Avant de pouvoir crire le programme, cependant, on doit dclarer les variables locales, qui ne sont connues que dans le bloc. Les variables sont divises en 2 groupes :
Les paramtres qui forment linterface du bloc pour les appels dans le programme :
Nom Input
Fonction Paramtres dont la valeur est lue par le bloc Paramtres dont la valeur est crite par le bloc Paramtres dont la valeur est lue par le bloc quand elle est appele, et qui aprs traitement est crite dans le mme paramtre
Reconnu dans Fonctions, blocs de fonction et quelques types de blocs dorganisation Fonctions et blocs de fonction
Paramtres de sortie
Output
Paramtres dentre/sortie
InOut
Nom Temp
Fonction Variables utilises pour un stockage temporaire des rsultats intermdiaires. Les donnes temporaires sont conserves pour un cycle seulement Variables utilises pour un stockage statique des rsultats intermdiaires dans le bloc de donnes dinstance. Les donnes statiques sont conserves jusqu leur rcriture, soit pour plusieurs cycles
Static
Page 24 sur 38
11. Dclarons maintenant les variables locales ncessaires pour notre exemple : Input : manuel auto marche arret Output : moteur Static : automan moteurauto Le mode de fonctionnement prslectionn est stock ici On stocke ici si le moteur du convoyeur a t mis en mode auto Ltat de la sortie de commande du moteur est crite ici Le bouton de slection du mode Manuel est entr ici (contact NO) Le bouton de slection du mode Automatique est entr ici (contact NO) Le bouton de mise en marche est entr ici (contact NO) Le bouton darrt est entr ici (contact NF)
Toute les variables de cet exemple sont de type Bool , ce qui veut dire quelles ne peuvent prendre que les valeurs 1 (vrai) ou 0 (faux). Dans cet exemple, il est important de noter que ltat des deux variables automan et moteurauto doit tre conserv pendant une plus grande priode de temps. Pour cette raison, le type de variable Static doit tre utilis ici. Ce type de variable nexiste que dans les blocs fonctionnels FB. Pour une meilleure comprhension, il est prfrable dcrire des commentaires pour chaque variable.
Page 25 sur 38
12. Aprs avoir dclar les variables locales, on peut crire le programme en utilisant les noms de variables (les variables sont identifies par le symbole # ). Avec les blocs logiques, par exemple, a donnerait : Attention de ne pas oublier les ngations de certaines entres !!
Page 26 sur 38
13. Ensuite, faites un clic droit sur le bloc Main [OB1] (bloc trait de faon cyclique) et cliquez sur Proprits.. . L, changez le langage de programmation en LOG , puis confirmez avec OK .
Page 27 sur 38
14. Maintenant, on va appeler le bloc Convoyeur [FC1] dans le bloc Main [OB1] , sinon le bloc ne serait pas trait du tout. Double-cliquez sur Main [OB1] pour louvrir.
Page 28 sur 38
15. A laide dun glisser-dposer, dplacez le bloc Convoyeur [FC1] dans le rseau 1 du bloc Main [OB1] . Rappelez-vous aussi de bien documenter les rseaux du bloc Main, de la mme manire que dans Convoyeur.
Page 29 sur 38
16. Puisque nous sommes en train de travailler avec un bloc fonctionnel, une mmoire doit lui tre attribue. Dans le SIMATIC S7-1200, les blocs de donnes font office de cette mmoire. Ce bloc de donnes ainsi affect est appel Bloc de donnes dinstance . Ici, il est dfini et gnr automatiquement, cliquez simplement sur OK .
Indication : Des exemples supplmentaires sur la gestion et la cration dinstances sont donnes dans le module M3.
Page 30 sur 38
17. Maintenant, on connecte les variables dentre et de sortie dans OB1 avec les variables API comme indiqu ci-dessous. Il est galement temps de sauvegarder votre projet, en cliquant sur : .
Page 31 sur 38
18. Pour charger votre programme entier dans la CPU, surlignez dabord Commande_convoyeur [CPU 1214C DC/DC/DC] en cliquant une fois dessus. Cliquez ensuite sur le symbole Charger dans lappareil .
Page 32 sur 38
19. Dans le cas o vous auriez oubli de paramtrer linterface PG/PC auparavant (confer module M1, partie IV), une fentre o il est encore possible de le faire souvre.
Page 33 sur 38
20. Pendant la compilation, ltat de progression est affich dans une fentre.
21. Si la compilation sest correctement droul, cela saffiche dans la fentre. Cliquez maintenant sur Charger , puis Terminer .
Page 34 sur 38
Dmarrer la CPU .
23. Confirmez le fait que vous vouliez vraiment commuter la CPU sur RUN en cliquant sur OK .
Page 35 sur 38
24. En cliquant sur licne Activer/dsactiver visualisation du programme , il est possible de surveiller ltat des variables sur le bloc Convoyeur pendant que vous testez le programme en commutant les interrupteurs de la maquette. Remarquez que la fentre Navigateur du projet est devenue orange, ce qui signifie que vous travaillez dsormais en ligne avec lautomate.
Page 36 sur 38
25. Puisque notre bloc Convoyeur a t cr selon les rgles des blocs standards (pas dutilisation de variables globales dans le bloc !), il peut tre utilis et appel un nombre quelconque de fois. Ci-dessous, on a rajout des variables dans la table des variables API, avec les entres et les sorties pour deux convoyeurs.
Page 37 sur 38
26. Maintenant, le bloc Convoyeur peut tre appel deux fois dans OB1, avec leurs bornes connectes respectivement avec des variables diffrentes. Pour chaque appel, un autre bloc de donnes dinstance est dfini.
Page 38 sur 38