Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
1 2 3 4 5 6 7
Installer et cbler votre S7-300 Travailler avec le logiciel de programmation STEP 7 Configurer et paramtrer votre S7-300 Programmer des blocs de code avec STEP 7 Charger et tester votre programme utilisateur Glossaire, Index
C79000-G7077-C500-01
C e manue l donne des consignes que vous deve z respect er pour votre propre scurit a insi que pour vit er des dommages ma t rie ls. E lles sont mises en vidence par un triangle davertissement e t sont prsent es, se lon le risque encouru, de la f aon suivant e :
Danger
signifie que la non-applica tion des mesures de scurit appropries conduit la mort, des lsions corpore lles graves ou un dommage ma t rie l import ant.
Attention
signifie que la non-applica tion des mesures de scurit appropries peut conduire la mort, des lsions corpore lles graves ou un dommage ma t rie l import ant.
Avertissement
signifie que la non-applica tion des mesures de scurit appropries peut conduire des lsions corpore lles lgres ou un dommage ma t rie l.
Nota
doit vous rendre tout particulirement a tt entif des informa tions import ant es sur le produit, aux manipula tions e ff ectuer avec le produit ou la partie de la document a tion correspondant e ..
Personnel qualifi
La mise en service e t lutilisa tion de la console ne doivent tre e ff ectues que conformment au manue l. Seules des personnes qualifies sont autorises e ff ectuer des int erventions sur la console . Il sagit de personnes qui ont lautorisa tion de me ttre en service , de me ttre la t erre e t de reprer des appare ils, syst mes e t circuits lectriques conformment aux rgles de scurit en vigueur.
Attention
La console ne doit tre utilise que pour les applica tions spcifies dans le ca t a logue ou dans la description t echnique , e t exclusivement avec des priphriques e t composants recommands par Siemens. Le transport, le stockage , le mont age , la mise en service a insi que lutilisa tion e t la ma int enance adqua ts de la console sont les conditions indispensables pour garantir un fonctionnement correct e t sr du produit. SIMATIC e t SINEC sont des marques dposes par SIEMENS AG . Les autres dsigna tions figurant dans ce document peuvent tre des marques dont lutilisa tion par des tiers leurs propres fins peut enfre indre les droits des propri t a ires desdit es marques.
Marque de fabrique
Toute communication ou reproduction de ce support dinformation, toute exploitation ou communication de son contenu sont interdites, sauf autorisation expresse. Tout manquement cette rgle est illicite et expose son auteur au versement de dommages et intrts. Tous nos droits sont rservs, notamment pour le cas de la dlivrance dun brevet ou celui de lenregistrement dun modle dutilit. Siemens AG Division Automatisation Systmes dautomatisation industrielle (AUT 1) Postfach 4848, D-90327 Nrnberg
Nous avons vrifi la conformit du contenu du prsent manuel avec le matriel et le logiciel qui y sont dcrits. Or des divergences ntant pas exclues, nous ne pouvons pas nous porter garants pour la conformit intgrale. Si lusage de ce manuel devait rvler des erreurs, nous en tiendrons compte et apporterons les corrections ncessaires ds la prochaine dition. Veuillez nous faire part de vos suggestions.
Siemens Aktiengesellschaft
Avant-propos
Nallez pas trop vite en besogne ! Vous nallez tout de mme pas sauter lavant-propos !
Lavant-propos vous donne un aperu du contenu de ce manuel et vous permet ainsi de mieux comprendre la dmarche qui vous est propose.
iii
Avant-propos
Le propos de cet ouvrage est de vous dmontrer la simplicit avec laquelle vous allez pouvoir installer votre automate programmable M7-300 et le programmer avec le logiciel STEP 7. Ce petit manuel illustr :
vous accompagne pas pas dans les tches que vous avez accomplir pour installer votre matriel et
vous prsente une application simple programmer, qui peut vous servir de modle pour laborer votre propre programme. Si vous navez aucune exprience des systmes dautomatisation SIMATIC, ce manuel vous procure le savoir dont vous avez besoin en tant que dbutant.
Son organisation
Dans sa forme et dans son contenu, le manuel est divis en chapitres correspondant aux activits jalonnant un projet dautomatisation. Les diffrents chapitres dcrivent chronologiquement les interventions que vous avez mener. Notre but a t de vous proposer sous cette forme une dmarche claire et un itinraire prcis pour installer et programmer votre automate S7-300. Pour vous permettre de vous orienter plus facilement dans ce document, nous avons recens la page suivante les contenus des diffrents chapitres.
iv
Avant-propos
O trouver quoi ?
Nous dcrivons ici les conditions requises au niveau du matriel et du logiciel pour que vous puissiez travailler effectivement avec ce manuel.
Nous vous montrons dans ce chapitre comment baucher un programme lappui dun exemple de programmation FEUX et comment ce programme va ensuite tre exploit par votre automate programmable.
Dans ce chapitre, nous faisons linventaire des constituants requis au minimum pour configurer un S7-300 et nous vous expliquons comment installer et cbler le S7-300 et comment y raccorder une console de programmation ou un PC.
Vous apprenez ici comment utiliser le logiciel STEP 7. Vous y dcouvrez aussi les objets de STEP 7 que vous serez amen utiliser.
Nous vous montrons dans ce chapitre comment configurer et paramtrer votre S7-300 pour ladapter vos exigences.
Nous donnons ici des exemples pour programmer dans les langages LIST (liste dinstructions), CONT (schma contacts) et LOG (logigramme) du logiciel STEP 7.
Chap. 7
Avant-propos
vi
Sommaire
Avant-propos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Quallez-vous trouver dans ce manuel ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Environnement requis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Environnement matriel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Environnement logiciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Complments dinformation sur ce chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Dfinir et structurer la tche automatiser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dmarche de conception dun systme automatis . . . . . . . . . . . . . . . . . . . . . . . . . . . Comment dfinir et structurer la tche automatiser ? . . . . . . . . . . . . . . . . . . . . . . . . Complments dinformation sur ce chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Installer et cbler votre S7-300 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Que devez-vous savoir ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comment allez-vous monter votre S7-300 ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comment cbler votre S7-300 ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comment raccorder la PG ou le PC ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Complments dinformation sur ce chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Travailler avec le logiciel de programmation STEP 7 . . . . . . . . . . . . . . . . . . . . . . . STEP 7, cest quoi ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comment travailler avec STEP 7 ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Quels objets de STEP 7 faut-il connatre ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Et voici comment structurer votre projet ! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Complments dinformation sur ce chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Configurer et paramtrer votre S7-300 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Quest-ce que configurer et paramtrer ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . La dmarche pour configurer et paramtrer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Commencez par leffacement gnral de la CPU ! . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comment configurer et paramtrer votre S7-300 ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comment se prsente une table de configuration ? . . . . . . . . . . . . . . . . . . . . . . . . . . .
Faites connaissance avec le S7-300... C79000-G7077-C500-01
iii iv 1-1 1-2 1-3 1-4 2-1 2-2 2-3 2-7 3-1 3-2 3-3 3-5 3-6 3-7 4-1 4-2 4-3 4-4 4-6 4-7 5-1 5-2 5-3 5-4 5-5 5-6
vii
Sommaire
Complments dinformation sur ce chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Programmer des blocs de code avec STEP 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Procdure de programmation des blocs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comment crer les blocs requis ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . LIST, CONT et LOG Cest quoi ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comment programmer des blocs en LIST ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comment programmer des blocs en CONT ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comment programmer des blocs en LOG ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Complments dinformation sur ce chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Charger et tester votre programme utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Marche suivre gnrale pour le chargement et le test . . . . . . . . . . . . . . . . . . . . . . . . Comment charger votre programme dans le S7-300 ? . . . . . . . . . . . . . . . . . . . . . . . . . Que vous faut-il savoir avant de passer au test ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comment tester votre programme LIST ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comment tester votre programme CONT ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comment tester votre programme LOG ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Complments dinformation sur ce chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Glossaire Index
5-7 6-1 6-2 6-3 6-4 6-6 6-9 6-13 6-17 7-1 7-2 7-3 7-4 7-6 7-8 7-10 7-12
viii
Environnement requis
1
Je confirme : il nen faut pas plus pour pouvoir travailler avec ce manuel !
Nous nous sommes efforcs de rduire au strict ncessaire le matriel et le logiciel ncessaires pour pouvoir travailler avec ce manuel.
1-1
Environnement requis
Environnement matriel
Pour pouvoir travailler avec ce manuel et excuter le programme FEUX donn en exemple, vous avez besoin du matriel ci-aprs :
Illustration
Il convertit la tension de secteur (120/230 V CA) en une tension continue de 24 V pour lalimentation du S7-300.
La CPU excute le programme utilisateur. Elle alimente le bus interne du S7-300 en 5 V et communique avec dautres CPU et avec la PG ou le PC par lentremise de linterface MPI.
Il vous donne la possibilit de tester le programme utilisateur la mise en service de lautomate et en cours de fonctionnement : des interrupteurs simulent les signaux des capteurs ; des voyants (LED) visualisent ltat logique des signaux des sorties. Il relie la PG ou le PC la CPU.
Cble MPI
Console de programmation (PG) avec carte MPI et logiciel STEP 7 install ou bien
Ordinateur personnel (PC) avec carte MPI ou cble PC/MPI et logiciel STEP 7 install
1-2
Environnement requis
Environnement logiciel
Pour pouvoir travailler avec ce manuel et excuter le programme FEUX donn en exemple, vous avez besoin :
Lisez-moi :
Dans le cadre de ce manuel, nous supposons que le logiciel STEP 7 est install. Si vous disposez dune version de STEP 7 antrieure la version 2, il est important que vous la remplaciez par la version actuelle (V 3.0).
1-3
Environnement requis
Si vous avez encore des questions ou besoin dun complment dinformation au sujet du matriel et du logiciel requis, vous trouverez les rponses dans nos manuels et guides.
Ce que vous ne trouvez pas dans nos manuels, vous le trouvez dans laide en ligne de STEP 7 !
Les informations
les manuels :
se trouvent dans
sur le matriel requis pour travailler avec STEP 7 Automate programmable S7-300 Installation et configuration, caractristiques des CPU et Systmes dautomatisation S7-300, M7-300 Caractristiques des modules le manuel :
1-4
Voyons, voyons... Je vous propose de concevoir maintenant une commande de feux de signalisation.
A lexemple du programme FEUX, nous vous expliquons comment raliser un automatisme simple.
2-1
Approche fondamentale
En prenant comme exemple le programme FEUX, nous allons vous expliquer tape par tape comment concevoir un automatisme. Cette mthodologie dapproche du problme est directement transposable vos propres applications. Ci-aprs, nous listons sous forme interrogative, les diffrentes tapes qui doivent conduire votre rflexion :
Figure 2-1
Dans les pages suivantes, nous vous expliquons comment rpondre aux diffrentes questions et comment concevoir votre problme dautomatisation.
2-2
Dans lexemple donn avec le programme FEUX, il sagit de commander les feux de signalisation au niveau dun passage pour pitons, comme lillustre la figure 2-2. Le programme FEUX doit commander aussi bien :
les feux de signalisation pour la circulation routire (feux de circulation) que les feux de signalisation pour le passage des pitons (feux pour pitons).
Les feux de circulation sont tricolores (rouge, orange et vert). Les feux pour pitons sont bicolores (rouge et vert) et comportent un bouton-poussoir pour lappel du vert et la demande de passage.
Figure 2-2
2-3
Pour viter de mettre en danger automobilistes et pitons, on doit prendre en considration les contraintes suivantes :
Le rglage par dfaut des feux doit tre le suivant : feu vert pour les automobilistes et feu rouge pour les pitons. De cette faon, vous dfinissez un tat de base scuritaire.
En dehors des contraintes relatives la scurit, vous devez prciser la dure des diffrentes phases des feux et le moment o elles doivent dbuter :
Lorange pour les automobilistes doit durer 3 secondes Le rouge pour les automobilistes doit durer 16 secondes et commencer au mme
moment que le vert pour pitons.
Le vert pour pitons doit durer 10 secondes Ds que la phase du vert pour pitons est coule, les feux pour pitons doivent
passer au rouge.
La phase rouge / orange des feux de circulation doit durer 3 secondes La temporisation pour la prochaine demande de passage au vert des feux pour
pitons doit tre de 1 seconde. La fig. 2-3 schmatise le droulement du programme FEUX :
Rglage par dfaut :
Les feux de circulation passent du vert lorange (3 secondes), puis au rouge (16 secondes)
Les feux pour pitons passent au vert, puis reviennent au rouge aprs 10 secondes.
Aprs 6 secondes, les feux de circulation passent du rouge lorange (3 secondes), puis au vert. Temporisation pour la prochaine demande de passage au vert (1 seconde).
Figure 2-3
2-4
Pour que le programme FEUX puisse simuler une commande de feux de signalisation sur le module de simulation de votre S7-300, vous devez dfinir les oprandes suivants auxquels vous pouvez donner un nom symbolique (mnmonique) :
2 entres (E) pour demander le feu vert de part et dautre du passage pour pitons.
5 sorties (A) pour commander les feux de signalisation pour les automobilistes et
les pitons.
1 mmento (M) pour excuter la commutation des feux aprs une demande de
passage au vert par un piton.
5 temporisations (T) pour dfinir la dure des diffrentes phases des feux. Les
temporisations ont toutes le format S5Time.
E 0.0 et E 0.1
Figure 2-4
Description Rouge pour pitons Vert pour pitons Rouge pour automobilistes Orange pour automobilistes Vert pour automobilistes Bouton-poussoir ct droit de la route Bouton-poussoir ct gauche de la route Mmento pour excuter la commutation des feux aprs une demande de passage au vert par un piton. Dure de lorange pour automobilistes Dure du vert pour pitons Temporiser la phase rouge pour automobilistes Dure de la phase rouge/orange pour automobilistes Temporiser la prochaine demande du passage au vert pour pitons
Exemple de mnmoniques Rouge_Ptons Vert_Ptons Rouge_Auto Orange_Auto Vert_Auto Commut._droite Commut._gauche Memento_feux
T2 T3 T4 T5 T6
2-5
les feux de circulation passent du vert (A 0.7) lorange (A 0.6) puis au rouge
(A 0.5)
Feux de circulation
A 0.1 : Vert_Ptons
A 0.5 : Rouge_Auto
1 0 1 0
A 0.6 : Orange_Auto
0 1 1 0
Figure 2-5
2-6
Si vous avez encore des questions ou besoin dun complment dinformation au sujet de la dfinition et de la structuration de votre tche automatiser, vous trouverez les rponses dans nos manuels.
Les informations
le manuel :
se trouvent dans
sur la faon de dfinir et de structurer un automatisme et dune manire gnrale sur la conception dun programme pour votre S7-300 Logiciel systme pour SIMATIC S7-300/400 Conception de programmes
2-7
2-8
Vous voulez installer et cbler votre S7-300 ? Pas de panique. Vous allez voir, cest fait en deux temps trois mouvements !
3-1
Il existe effectivement quelques rgles qui rgissent les emplacements ; elles sont faciles retenir (cf. Fig. 3-1) :
La CPU doit toujours tre place comme second module droite de lalimentation.
Alimentation PS CPU
Module de simulation
Figure 3-1 Rgles simples rgissant lemplacement des modules sur le profil-support
Pour travailler avec ce manuel et dvelopper le programme propos comme modle, vous avez besoin uniquement dun module de simulation.
Lisez-moi :
Vous pouvez monter votre S7-300 la verticale ou lhorizontale. Pour notre exemple, nous avons choisi le montage horizontal et dans les pages suivantes, nous vous disons tout ce que vous devez savoir ce sujet.
3-2
Vous pouvez monter votre S7-300 en quelques gestes. Procdez de la manire suivante :
Etape
Action
Illustration
1.
2.
3-3
Etape
Action
Illustration
2 1
3.
Accrochez le module au bord suprieur du profil-support (ci-contre, il sagit encore de la CPU) et faites-le basculer vers le bas pour lappliquer contre le profil-support.
4.
0,8 1,1 Nm
5.
STOP
3-4
Gnralits
Le tableau ci-aprs vous montre comment procder, dune manire gnrale, au cblage de votre S7-300. Veuillez respecter les directives de montage des manuels cits la fin de ce chapitre. Attention Neffectuez le cblage de votre S7-300 qu ltat hors tension !
Vous pouvez raccorder lalimentation PS 307 la CPU 313/314/315 au moyen du peigne de liaison qui fait partie des fournitures. Si vous avez une CPU 312 IFM, raccordez-la lalimentation PS 307 par lintermdiaire des bornes du connecteur frontal des E/S intgres de la CPU 312 IFM. Etape Action Illustration
1.
1.
2.
4x
0,5 0,8 Nm
230 V/120 V
3-5
Comment raccorder la PG ou le PC ?
Vous raccordez la PG ou le PC votre S7-300 avec un cble MPI. Le cble MPI est compris dans les fournitures de la PG. La figure suivante montre comment relier les interfaces MPI du S7-300 et de la PG avec un cble MPI.
S7-300
PG
Cble MPI
Ct gauche de la PG
Interface MPI
Figure 3-3
3-6
Vous trouverez des informations complmentaires dtailles sur la ralisation dinstallations complexes dans nos manuels.
Vous avez une grosse installation faire ? Alors, vous trouverez ce quil faut savoir dans les manuels suivants.
Les informations
se trouvent dans
les manuels :
sur ladressage des modules dun S7-300 sur le montage dun S7-300 sur le cblage dun S7-300 sur linstallation dun rseau MPI pour la
communication Automate programmable S7-300 Installation et configuration, caractristiques des CPU et Systmes dautomatisation S7-300, M7-300 Caractristiques des modules
sur les cartes mmoires pour S7-300 sur les pices de rechange pour S7-300 sur les modules pour S7-300
3-7
3-8
Cest l que a devient intressant : commencez donc par allumer votre PG ou votre PC !
Dans les pages qui suivent, nous vous prsentons le logiciel de programmation STEP 7.
4-1
Introduction
STEP 7 est le nom du logiciel de programmation pour les systmes SIMATIC S7/M7 et par consquent le logiciel de programmation de votre S7-300. STEP 7 vous offre toutes les fonctionnalits ncessaires pour configurer, paramtrer et programmer votre S7-300. Au fur et mesure que vous avancerez dans la programmation, vous apprcierez les fonctions dassistance quil met votre disposition, pour rsoudre efficacement votre problme dautomatisation. Ci-aprs, nous avons relev les caractristiques principales de STEP 7 qui vont considrablement vous faciliter la tche :
Le nouveau STEP 7 fonctionne sous Windows 95 et son utilisation est tout aussi simple que les autres applications Windows !
STEP 7 autorise une programmation oriente objet. Tous les objets sont reprsents lcran par des icnes.
Les objets de STEP 7 vous sont familiers : ce sont par exemple les stations, les modules et les programmes !
STEP 7 vous paule avec une aide en ligne qui informe et qui propose une aide confortable et contextuelle.
4-2
Lancez le logiciel
Pour lancer le logiciel, le plus simple est de double-cliquer sur licne SIMATIC Manager : Rsultat : A lcran, vous observez louverture de la fentre des projets du SIMATIC Manager :
SIMATIC Manager Fichier Affichage Outils ?
ON OFF
NM 15:57
SIMATIC Manager
SIMATIC Manager est lcran daccueil de la programmation avec STEP 7. Il affiche larborescence de tous les objets dun projet et, travers ces objets, il vous permet daccder toutes les fonctions qui vous sont ncessaires pour rsoudre votre problme dautomatisation. Depuis le SIMATIC Manager, vous pouvez :
quels sont les objets dont vous avez besoin pour travailler avec STEP 7 et comment allez-vous organiser et manipuler ces objets.
Faites connaissance avec ces objets la page suivante.
4-3
Introduction
Le tableau ci-aprs contient les objets de STEP 7 quil vous faut connatre pour comprendre le programme FEUX que nous prenons comme exemple. Ce tableau montre les icnes affectes aux diffrents objets et leur signification :
Icne
Description Il reprsente lensemble des donnes et des programmes dun automatisme. Il reprsente une configuration dautomate comportant un ou plusieurs modules programmables. Il sagit dun module programmable (CPU). Il contient la table des mnmoniques, le programme utilisateur (hors ligne) et les sources, en mmoire de la PG ou du PC. Il contient les modules excutables qui sont chargs dans votre S7-300. Ce sont par exemple :
Programme utilisateur (en ligne) Bloc (hors ligne) Bloc (en ligne)
Cration dobjets
Pour crer des objets, vous utilisez la commande Fichier Nouveau. Comme objet vous pouvez crer par exemple un projet, qui lui-mme contient dautres objets, tels que des programmes et des blocs. Vous pouvez affecter ces objets au projet avec les commandes du menu Insertion. Par contre, les blocs ne contiennent eux-mmes pas dobjets. Quand vous ouvrez un bloc, vous lancez lditeur qui lui est affect et vous pouvez alors travailler sur le contenu de ce bloc.
Diffrentes botes de dialogue vous permettent de dfinir la reprsentation des objets et leurs proprits.
4-4
Manipulation dobjets
Vous pouvez intervenir sur les objets de STEP 7 avec toutes les fonctions ddition :
Avec STEP 7, vous pouvez scinder une installation en projets. Un projet comprend toutes les donnes appartenant un automatisme. Par consquent, la cration dun projet ou dune structure de projets est une condition essentielle pour travailler avec STEP 7. La figure 4-2 vous montre quelle peut tre lorganisation structurelle dun projet :
Projet
FEUX
Station
Module programmable
Programme
Programme utilisateur
Blocs
Programme S7 (1)
Programme utilisateur
OB1
FC1
Figure 4-2
A la page suivante, nous vous disons comment procder pour crer un projet et une station pour le programme FEUX.
4-5
Introduction
Pour le programme FEUX, il vous faut structurer le projet afin de pouvoir ranger toutes les donnes affrentes cet automatisme.
A la page prcdente, nous avons vu un exemple de structure de projet. A vous maintenant de crer le vtre !
Le tableau ci-aprs vous dcrit les diffrentes tapes pour crer un projet et une station : Marche suivre Dans le SIMATIC Manager, cliquez sur la commande Fichier Nouveau Projet ou cliquez sur licne correspondante dans la barre doutils. Entrez dans la bote de dialogue qui souvre alors le nom du projet, ici FEUX , et cliquez sur OK pour crer le projet. Avec la commande Insertion Matriel Station SIMATIC 300, insrez une station dans le projet ouvert. Cliquez dans la fentre de projets sur le signe + prcdant licne du projet pour faire apparatre celle-ci quand elle nest pas encore visible. Rsultat Le nouveau projet nomm FEUX est affich. Vous pouvez continuer insrer dautres objets.
1.
2.
La station et son nom sont affichs dans la fentre de projets. Vous venez dinsrer une station matrielle dans le projet FEUX .
4-6
Si vous avez encore des questions ou besoin dun complment dinformation au sujet de la cration de projets, de stations et de programmes, vous trouverez les rponses dans nos manuels.
Les informations
le manuel :
se trouvent dans
sur la cration de projets, de stations et de programmes Logiciel de base pour SIMATIC S7 et M7 STEP 7
4-7
4-8
5-1
Au sens logiciel du terme, on entend par configuration lorganisation des modules dans une table de configuration. A limage de la ralit matrielle de votre S7-300, il sagit de ranger les modules sur un chssis de faon virtuelle avec le logiciel STEP 7. Vous pouvez choisir les modules dans un catalogue lectronique et les reporter dans la table de configuration lendroit correspondant leur emplacement sur le profil-support. Lemplacement dans la table de configuration doit correspondre lemplacement rel sur le profilsupport. Dans la table de configuration, STEP 7 affecte automatiquement une adresse chaque module.
Par paramtrage, on entend le fait de choisir et de fixer les proprits et le comportement des modules paramtrables.
Je vous donne un exemple : une CPU est un module paramtrable. Le chien de garde est un paramtre que vous pouvez rgler.
5-2
Pralables
Avant de dfinir une nouvelle configuration et de paramtrer la CPU de votre S7-300, il faut que vous ayiez cr auparavant un projet et slectionn lobjet configurer (il sagit ici de votre station SIMATIC 300). Pour tre sr quil ne reste plus de vieux blocs dans votre CPU, vous devez procder un effacement gnral, avant de charger dans la CPU la configuration nouvellement cre.
Avec le programme FEUX en exemple, nous allons vous montrer comment procder dune manire gnrale pour configurer et paramtrer la CPU. Le tableau ci-aprs prcise les principales tapes de la procdure :
Figure 5-1
Puisque le projet FEUX est dj cr, commencez par faire un effacement gnral de votre S7-300.
5-3
Introduction
Avant de charger la configuration dans la CPU de votre S7-300, vous devez procder leffacement gnral de la CPU, pour tre sr quil ne subsiste pas de vieux blocs.
Notez bien que leffacement gnral supprime toutes les donnes utilisateur en mmoire dans la CPU !
Le tableau ci-aprs vous indique, tape par tape, comment procder leffacement gnral de la CPU de votre S7-300 : Marche suivre Dans le SIMATIC Manager, cliquez sur la commande : Fichier Ouvrir Partenaires accessibles et slectionnez dans la bote de dialogue qui souvre alors, ladresse MPI de votre CPU, pour tablir la connexion en ligne. En cliquant sur la commande : Systme cible Etat de fonctionnement... affichez ltat actuel de la CPU. Faites passer la CPU ltat STOP en cliquant sur le bouton Stop et confirmez avec OK . Vous quittez la bote de dialogue en cliquant sur Fermer . Appelez la fonction Effacement gnral avec la commande : Systme cible Effacement gnral et confirmez laction. Le commutateur cl sur la CPU doit se trouver en position RUN-P ou STOP . Rsultat Vous tes en ligne avec la CPU.
1.
2.
Ltat de fonctionnement actuel de la CPU est affich. La CPU passe ltat STOP.
3.
4.
Ce qui se passe dans la CPU : la CPU est rinitialise et le programme utilisateur est entirement effac les paramtres systme ainsi que les paramtres de la CPU et des modules reprennent les valeurs par dfaut la CPU supprime toutes les liaisons existantes.
5-4
1.
2.
Slectionnez tout dabord un chssis dans le catalogue du matriel : SIMATIC 300 RACK 300 Profil support, puis par glisser-lcher activez la fentre de travail. Cliquez sur la table et slectionnez la vue dtaille avec la commande de menu : Affichage Vue dtaille.
Dans le catalogue lectronique SIMATIC 300, slectionnez les modules que vous utilisez : alimentation (PS 307_2A) CPU (CPU 314) et module de simulation (SM 323_DI8/DO8) puis par glisser-lcher, positionnez-les dans les lignes 1, 2 et 4 de la table de configuration.
3.
Une vue dtaille de la table de configuration renfermant les numros de rfrence et les adresses des modules saffiche lcran. (voir figure 5-2). Les modules slectionns saffichent dans les lignes correspondantes de la table de configuration. Nota : Dans la table de configuration, lemplacement 3 reste vide, car il est rserv un coupleur (IM) qui nintervient pas dans notre exemple.
4.
Votre table de configuration est complte. Vous pouvez maintenant paramtrer votre CPU en procdant comme dcrit aux tapes 5 et 6. Viennent ensuite les tapes 7 et 8 pour lenregistrement et le chargement de la configuration. 5. Double-cliquez dans la table de configuration sur la ligne qui contient le module paramtrer. Il sagit ici de la CPU. Dans la bote de dialogue, cliquez sur Cycle/Mmento de cadence et modifiez le chien de garde pour le mettre 100 ms. Quittez la bote de dialogue avec OK . Avec la commande Fichier Enregistrer, enregistrez dans le projet FEUX lensemble de la configuration que vous avez cre. Avec la commande Systme cible Charger dans le module ...., Cliquez dans la bote de dialogue qui saffiche alors sur OK et acquittez dans la bote de dialogue Attribution dune adresse PROFIBUS ladresse par dfaut par OK . Une bote de dialogue souvre contenant des informations et les paramtres de la CPU dfinir. La valeur rgle par dfaut est de 150 ms; vous la ramenez 100 ms.
6.
7.
Toute la configuration que vous avez cre est enregistre sur le disque dur de votre PG ou de votre PC dans le projet FEUX. Toute la configuration que vous avez cre est charge dans la CPU ayant ladresse 2. Les paramtres qui ont t modifis prennent effet lors du redmarrage suivant.
8.
5-5
Vous remplissez la table de configuration limage de la configuration matrielle de votre S7-300. A chaque emplacement rel sur le profil-support correspond un emplacement dans la table de configuration. La figure ci-aprs montre la correspondance entre larchitecture physique de votre S7-300 et la table de configuration.
1 2 3 4 5 6
2 6ES7... Cette ligne reste vide : elle est reserve un coupleur IM ! DI8/DO8... 6ES7...
6ES7...
Chssis 0
N des emplacements :
Figure 5-2
5-6
Si vous avez encore des questions ou besoin dun complment dinformation au sujet de la configuration et le paramtrage de votre S7-300, vous trouverez les rponses dans nos manuels.
Les informations
le manuel :
se trouvent dans
sur la configuration et le paramtrage de votre S7-300 Logiciel de base pour SIMATIC S7 et M7 STEP 7
5-7
5-8
Vous voulez maintenant programmer votre S7-300 ? Pas de problme : cest trs simple aussi !
6-1
Introduction
Vous pouvez programmer votre automate trs simplement, en crant un programme utilisateur que vous chargez ensuite dans la CPU de votre S7-300. Ce programme utilisateur crer comprend diffrents blocs avec lesquels vous allez pouvoir structurer votre programme. Pour le programme FEUX de notre exemple, vous avez besoin de deux blocs seulement :
un bloc dorganisation (OB1) pour grer le traitement cyclique du programme et une fonction (FC1) dans laquelle vous entrez le programme proprement dit.
Quest-ce quun bloc dorganisation (OB) ? Quest-ce quune fonction (FC) ? Un bloc dorganisation (OB) constitue linterface entre le systme dexploitation de la CPU et votre programme utilisateur. LOB spcifie lordre selon lequel sont traits les blocs du programme utilisateur.
Une fonction (FC) est un bloc de code qui est sans mmoire , mais qui peut transmettre des paramtres. Lutilisation de ce bloc est particulirement intressante pour programmer des fonctions qui reviennent frquemment. En prenant le programme FEUX comme exemple, nous vous montrons comment apprhender dune manire gnrale la programmation des blocs. Ci-aprs, la figure-6-1 indique la faon de procder dans ses grandes lignes :
6-2
Pour le programme FEUX pris comme exemple, programmez un bloc dorganisation (OB1) et une fonction (FC1).
Marche suivre Dans le SIMATIC Manager, ouvrez le projet FEUX en choisissant la commande de menu Fichier Ouvrir Projet .... Ouvrez le projet FEUX en descendant dans la hirarchie jusquau niveau le plus bas. Pour cela, cliquez sur le signe + et slectionnez le classeur des blocs. Avec la commande Insertion Bloc S7 Fonction, insrez une fonction que vous nommez FC1. Dans la bote de dialogue qui souvre alors, slectionnez lditeur de langage qui vous convient (LIST, CONT ou LOG) et confirmez avec OK .
Rsultat Ouverture en mode hors ligne de la fentre de projets pour le programme FEUX. Affichage en mode hors ligne de lOB1 contenu dans le classeur des blocs.
2.
2.
Ne connaissant pas votre prfrence pour LIST, CONT ou LOG, je vous propose les trois possibilits.
6-3
LIST est labrviation de liste dinstructions. Cest un langage de programmation littral, intgr dans STEP 7. La syntaxe des instructions est trs proche du langage machine : les ordres ou les oprations sont suivis par les oprandes. Ceci vous permet dobtenir des programmes optimiss en place mmoire et en temps dexcution.
CONT est labrviation de schma contacts. Cest un langage de programmation graphique, intgr dans STEP 7. La syntaxe des instructions ressemble un schma des circuits et vous permet de suivre sans difficult le parcours des signaux entre les barres dalimentation, travers les contacts, les lments complexes et les bobines.
LOG = Logigramme
LOG est labrviation de Logigramme. Il sagit du second langage graphique de STEP 7. Les instructions y sont reprsentes sous la forme de botes fonctionnelles logiques connues de lalgbre boolenne. Tout comme dans le schma contacts, il est possible de suivre le trajet du courant parcourant les fonctions.
LIST, CONT et LOG sont tous trois intgrs dans le logiciel de base STEP 7. Par consquent, ds que vous avez install STEP 7, vous disposez de toutes les fonctions ddition, de compilation et de test des langages LIST, CONT et LOG.
Vous pouvez modifier le langage dans le menu Affichage et commuter entre LIST, CONT et LOG !
Si vous double-cliquez sur la fonction FC1 dj cre, vous lancez lditeur de langage choisi (LIST, CONT ou LOG) et une fentre saffiche en deux parties avec :
la table de dclaration des variables du bloc dans la partie suprieure et la section instructions du bloc dans la partie infrieure de la fentre ; cest dans
cette partie de la fentre que vous entrez le programme.
6-4
Section instructions
Cest dans la section instructions, que vous entrez le programme de votre bloc scind en rseaux, sous forme dinstructions LIST ou dlments CONT ou LOG. Lditeur incrmental LIST, CONT ou LOG vrifie la syntaxe aprs lentre de chaque instruction ou dun lment CONT ou LOG et affiche les erreurs ventuelles en rouge et en italique. Ces erreurs de syntaxe sont corriger avant denregistrer le bloc. Dans le programme FEUX, la section instructions se compose de plusieurs rseaux LIST, CONT ou LOG, qui eux-mmes contiennent respectivement une liste dinstructions ou un circuit.
Dans la section instructions dun bloc, vous pouvez saisir lintitul du bloc, les commentaires du bloc, le nom des rseaux, les commentaires de rseaux ainsi que les instructions LIST ou les lments CONT ou LOG des diffrents rseaux, comme le montre la figure 6-2.
FC1
FC1: Programme FEUX Commande de feux un passage pour pitons Rseau 1: Dtection de la demande du vert pour pitons Dtermine si E 0.0 ou E 0.1 est 1
T6
T5
M 0.0
Intitul du rseau
Rseau 2: Phase verte pour automobilistes Tant que E 0.0 ou E 0.1 ne sont pas 1, le feu reste au vert pour les autos M 0.0 A 0.7
Figure 6-2
6-5
Condition pralable
Vous avez cr les blocs FC1 et OB1 et vous leur avez affect comme diteur de langage lditeur incrmental LIST.
Les rgles observer pour lentre des instructions LIST vous sont fournies dans laide en ligne de STEP 7.
Le tableau ci-aprs vous indique, tape par tape, comment entrer les instructions LIST : Marche suivre
Double-cliquez sur FC1 dans le SIMATIC Manager pour lancer lditeur LIST affect au bloc FC1.
Rsultat
Ouverture du bloc FC1 et affichage dune fentre en deux parties avec : la table de dclaration des variables et la section instructions du bloc. Le premier rseau saffiche dans la section instructions du bloc FC1 ouvert.
1.
2.
Crez un nouveau rseau avec la commande : Insertion Rseau ou bien en cliquant sur licne correspondante dans la barre doutils. Slectionnez la zone situe au-dessous du commentaire de rseau et tapez sur le clavier les instructions LIST indiques plus loin, ligne aprs ligne. Crez au total 11 rseaux selon la procdure dcrite plus haut et entrez les instructions indiques plus loin dans les rseaux respectifs. Enregistrez la fonction FC1 correcte et intgrale avec Fichier Enregistrer. Programmez ensuite le bloc OB1 en procdant de la mme faon.
3.
La syntaxe de chaque ligne est vrifie ds son entre. Les lignes errones sont affiches en rouge. Elles sont corriger avant lenregistrement. Si aucune erreur de syntaxe na t dtecte (aucune ligne affiche en rouge), la programmation de FC1 est termine et vous pouvez enregistrer FC1. Le bloc est enregistr dans votre PG ou votre PC.
4.
5. 6.
Pour le programme FEUX de notre exemple, introduisez dans le bloc FC1, rseau par rseau, les instructions LIST ci-aprs. Procdez comme dcrit dans le tableau. Les oprandes ont dj t dfinis dans le chapitre 2 du prsent document.
6-6
E 0.0 E 0.1 T6 M 0.0 T5 M 0.0 Phase verte pour les automobilistes M 0.0 A 0.7 Lancement tempo. phase orange pour automobilistes M 0.0 S5T#3S T2 Phase orange pour automobilistes M 0.0 T2 T4 A 0.6 Phase rouge pour automobilistes M 0.0 T2 A 0.5 Lancement tempo. phase verte pour pitons A 0.5 S5T#10S T3 Phase verte pour pitons A 0.5 T3 A 0.1
6-7
Lancement tempo. phase orange pour automobilistes M 0.0 T3 S5T#6S T4 Phase rouge pour pitons M 0.0 T2 T3 M 0.0 A 0.0 Lancement tempo. phase rouge/orange pour automobilistes M 0.0 T4 S5T#3S T5 Lancement tempo. pour lappel du vert. A 0.7 S5T#1S T6
Pour le programme FEUX de notre exemple, introduisez dans le bloc OB1 linstruction LIST suivante. Procdez comme dcrit dans le tableau de la page prcdente.
Rseau 1 : CALL Appel de FC1 pour la commande des feux FC1
6-8
Condition pralable
Vous avez cr les blocs FC1 et OB1 et vous leur avez affect comme diteur de langage lditeur incrmental CONT.
Dans le SIMATIC Manager, double-cliquez sur la fonction FC1 dj cre, pour lancer lditeur de langage CONT qui lui a t affect. Vous pouvez alors programmer le bloc.
Un rseau CONT ou un circuit peut se composer de plusieurs lments rpartis sur plusieurs branches du rseau. Ces lments et ces branches doivent tous tre relis entre eux, mais sachez que la barre dalimentation gauche nest pas considre comme une liaison dinformations. Quand vous programmez en CONT, observez les rgles suivantes :
Chaque rseau CONT doit se terminer par une bobine ou une bote.
Ldition de branches de rseau susceptibles doccasionner une circulation du courant en sens inverse nest pas autorise. se.
Pas de panique : Si vous faites une erreur en introduisant les instructions CONT, le programme vous le signale !
6-9
Vous avez les possibilits suivantes pour introduire des lments CONT :
Vous pouvez insrer des contacts fermeture ou ouverture ou des bobines avec
les touches de fonction F2, F3 et F4 ou bien en cliquant sur les icnes correspondantes (contact fermeture, contact ouverture, bobine) dans la barre doutils.
Vous pouvez aussi slectionner et insrer des lments en choisissant la commande de menu Insertion Elments CONT.
1.
Double-cliquez sur FC1 dans le SIMATIC Manager Ouverture de FC1 et affichage lcran dune fentre en pour lancer lditeur CONT affect au bloc FC1. deux parties avec : la table de dclaration des variables et la section instructions du bloc. Crer un nouveau rseau avec la commande : Insertion Rseau ou bien en cliquant sur licne correspondante dans la barre doutils. Slectionnez la zone situe au-dessous du commentaire de rseau et entrez les lments CONT indiqus plus loin avec la commande Insertion Elments CONT. Crez au total 11 rseaux selon la procdure dcrite plus haut et entrez les lments indiqus plus loin dans les rseaux respectifs. Enregistrez la fonction FC1 correcte et intgrale avec Fichier Enregistrer. Le premier rseau saffiche dans la section instructions de FC1. Il contient une branche avec une bobine.
2.
3.
La syntaxe de chaque lment est vrifie ds son entre. Les lments errons sont affichs en rouge. Ils sont corriger avant lenregistrement. Si aucune erreur de syntaxe na t dtecte (aucun lment signal en rouge), la programmation de FC1 est termine et vous pouvez lenregistrer. Enregistrement du bloc.
4.
5. 6.
Programmez ensuite le bloc OB1 en procdant de la Le bloc OB1 est programm et enregistr dans votre PG mme faon. ou votre PC.
6-10
Pour le programme FEUX de notre exemple, introduisez dans le bloc FC1, rseau par rseau, les lments CONT ci-aprs. Procdez comme dcrit dans le tableau. Les oprandes ont dj t dfinies dans le chapitre 2 du prsent document.
Rseau 1 :
E0.0 E0.1 M0.0
Rseau 2 :
M0.0
Rseau 3 :
M0.0 S5T#3S
Rseau 4 :
M0.0
T4
Rseau 5 :
M0.0
Rseau 6 :
A0.5 S5T#10S
Rseau 7 :
A0.5
6-11
Rseau 8 :
M0.0
Rseau 9 :
M0.0
T3 M0.0
Rseau 11 :
A0.7 S5T#1S
Pour le programme FEUX de notre exemple, introduisez dans le bloc OB1 les lments CONT ci-aprs. Procdez comme dcrit dans le tableau de la page prcdente.
Rseau 1 :
FC1 ENO
EN
6-12
Condition pralable
Vous avez cr les blocs FC1 et OB1 et vous leur avez affect comme diteur de langage lditeur incrmental LOG.
Dans le SIMATIC Manager, double-cliquez sur la fonction FC1 dj cre, pour lancer lditeur de langage LOG qui lui a t affect. Vous pouvez alors programmer le bloc.
Un rseau LOG ou un circuit peut se composer de plusieurs lments rpartis sur plusieurs branches du rseau. Ces lments et ces branches doivent tous tre relis entre eux. Quand vous programmez en LOG, observez les rgles suivantes :
Chaque rseau LOG doit se terminer par une affectation ou une bote de fonction.
Les lments LOG suivants ne peuvent tre utiliss en fin de rseau : botes de
comparaison (=), connecteurs (#) et valuation de fronts positif (P) ou ngatif (N).
Vous pouvez faire suivre des fonctions dlivrant un rsultat de combinaison binaire de fonctions standard (bascules, compteurs, oprations arithmtiques etc.).
Pas de panique : si vous faites une erreur en introduisant les instructions LOG, le programme vous le signale !
6-13
Vous disposez des possibilits suivantes pour introduire des lments LOG :
Vous pouvez insrer des portes OU, des portes ET, des botes de Sortie avec les
touches de fonction F2, F3, F7, F8 ou F9 ou bien en cliquant sur les icnes correspondantes dans la barre doutils.
Vous pouvez aussi slectionner et insrer des lments en choisissant la commande de menu Insertion Elments LOG.
1.
Double-cliquez sur FC1 dans le SIMATIC Manager Ouverture de FC1 et affichage lcran dune fentre en pour lancer lditeur LOG affect au bloc FC1. deux parties avec : la table de dclaration des variables et la section instructions du bloc. Crez un nouveau rseau avec la commande : Insertion Rseau ou bien en cliquant sur licne correspondante dans la barre doutils. Slectionnez la zone situe au-dessous du commentaire de rseau et entrez les lments LOG indiqus plus loin avec la commande Insertion Elments LOG. Crez au total 11 rseaux selon la procdure dcrite plus haut et entrez les lments indiqus plus loin dans les rseaux respectifs. Enregistrez la fonction FC1 correcte et intgrale avec Fichier Enregistrer. Le premier rseau saffiche dans la section instructions de FC1. Il contient une branche avec une bobine.
2.
3.
La syntaxe de chaque lment est vrifie ds son entre. Les lments errons sont affichs en rouge. Ils sont corriger avant lenregistrement. Si aucune erreur de syntaxe na t dtecte (aucun lment signal en rouge), la programmation de FC1 est termine et vous pouvez lenregistrer. Enregistrement du bloc.
4.
5. 6.
Programmez ensuite le bloc OB1 en procdant de la Le bloc OB1 est programm et enregistr dans votre PG mme faon. ou votre PC.
6-14
Pour le programme FEUX de notre exemple, introduisez dans le bloc FC1, rseau par rseau, les lments LOG ci-aprs. Procdez comme dcrit dans le tableau. Les oprandes ont dj t dfinis dans le chapitre 2 du prsent document.
Rseau 1 :
E0.0 E0.1 M0.0
Rseau 2 :
M0.0
Rseau 3 :
M0.0 S5T#3S
Rseau 4 :
M0.0
T4
Rseau 5 :
M0.0
Rseau 6 :
A0.5 S5T#10S
Rseau 7 :
A0.5
6-15
Rseau 8 :
M0.0
Rseau 9 :
M0.0
T3 M0.0
Rseau 11 :
A0.7 S5T#1S
Pour le programme FEUX de notre exemple, introduisez dans le bloc OB1 les lments LOG ci-aprs. Procdez comme dcrit dans le tableau de la page prcdente.
Rseau 1 :
FC1 ENO
EN
6-16
Si vous avez encore des questions ou besoin dun complment dinformation au sujet de la programmation des blocs de code en LIST en CONT ou en LOG, vous trouverez les rponses dans nos manuels.
Les informations
le manuel :
se trouvent dans
sur la programmation des blocs en LIST Langage LIST pour S7-300/400 le manuel :
sur la programmation des blocs en CONT Langage CONT pour S7-300/400 le manuel :
6-17
6-18
7-1
Introduction
Pour pouvoir tester votre programme utilisateur, vous devez dabord le charger dans la CPU de votre S7-300. Vous pouvez charger dans la CPU de votre automate soit des blocs isols soit le programme utilisateur complet. Les tests se font toujours sur des blocs individuels.
En prenant notre programme FEUX, nous montrons la faon de procder gnrale pour charger et tester les programmes utilisateur. La figure ci-aprs liste les grandes tapes de cette procdure.
Ouvrir le bloc en mode en ligne Dfinir les rsultats du test afficher Dfinir les conditions de dclenchement Slectionner lenvironnement du test Lancer et arrter le test
Figure 7-1
Ne vous inquitez pas ! Dans les pages qui suivent, nous allons dtailler les diffrentes tapes !
7-2
Pralables
Pour pouvoir charger votre programme dans le S7-300, les conditions suivantes doivent tre remplies :
Vous avez tabli une liaison directe entre la PG et le S7-300. Le programme charger a t compil sans erreurs. La CPU de votre S7-300 se trouve ltat STOP.
Quoi charger et dans quel ordre ? Pour tester des blocs de faon isole, vous devez charger lOB 1 ainsi que tous les blocs qui y sont appels et ce dans lordre inverse de leur appel.
Pour le programme FEUX, chargez en mme temps FC1 et OB1 dans votre CPU.
Le tableau ci-aprs vous montre comment procder pour charger votre programme utilisateur : Marche suivre
Dans la fentre de projets du SIMATIC Manager (Affichage en mode hors ligne), slectionnez dans le classeur des blocs, touche SHIFT presse, les blocs FC1 et OB1, puis choisissez la commande : Systme cible Charger. Choisissez la commande : La CPU dmarre et se met en RUN. Affichage en ligne et ouvrez les classeurs du projet Le programme FEUX que vous avez cr est trait de FEUX, jusquau programme S7 (en ligne). Modifiez faon cyclique. ltat de la CPU avec la commande : Systme cible Etat de fonctionnement Dans la bote de dialogue suivante, cliquez sur Redmarrage. Quittez la bote de dialogue en cliquant sur OK , puis sur Fermer .
Rsultat
Chargement des deux blocs dans la CPU de votre S7-300.
1.
2.
7-3
Introduction
Quel que soit le bloc tester, quil ait t cr avec LIST, CONT ou avec LOG, vous pouvez toujours :
dfinir la condition de dclenchement, choisir lenvironnement de test et dfinir les rsultats du test que vous voulez afficher.
Nous allons vous expliquer ce qui se cache derrire ces trois points !
Il sagit de dfinir les conditions dappel du bloc tester. Le test est effectu uniquement si la condition de dclenchement est remplie. Vous pouvez choisir entre trois options, comme le montre la figure 7-2 :
Conditions dappel du bloc Condition de dclenchement Sans condition Chemin dappel 1er bloc : 2nd bloc : 3e bloc : Bloc dtat Blocs de donnes ouverts Numro DB1 : Numro DB2 : FC1
OK
Annuler
Aide
Dans notre exemple, on a choisi loption Sans condition , puisque les conditions dappel du bloc tester ne jouent aucun rle.
7-4
Pour tester votre programme, vous pouvez choisir entre deux situations de test en ligne : Processus et Laboratoire .
dans lenvironnement Processus , ltat des instructions est analys uniquement dans la premire boucle;
dans lenvironnement Laboratoire , ltat des instructions est analys chaque passage de la boucle. Pour le programme FEUX choisi en exemple, nous avons choisi la premire situation Processus , qui est slectionne par dfaut. Affichage du test du programme LIST Quand vous testez un programme LIST, vous pouvez choisir les tats du programme que vous souhaitez voir apparatre laffichage. Slectionnez les cases correspondantes lcran. Pour le programme FEUX de notre exemple, cliquez sur le bouton Par dfaut pour obtenir laffichage (rgl par dfaut) du bit dtat, du rsultat logique (RLG) et de ltat standard. Affichage du test du programme CONT et LOG Quand vous testez un programme CONT et LOG, vous pouvez choisir comment visualiser la circulation du courant dans les rseaux dun bloc. Vous pouvez choisir la couleur et lpaisseur des trait pour les deux situations suivantes :
Etat non satisfait : les conditions requises le long du circuit ne sont pas remplies. Le courant ne passe pas (traits en pointills).
Maintenant que vous connaissez tous les rglages possibles, testez votre programme !
7-5
Introduction
Tester le programme LIST consiste afficher pour chaque instruction LIST ltat du programme dans les cases que vous avez slectionnes. Laffichage est actualis de faon cyclique et uniquement pour la partie visible de lditeur LIST.
Pour pouvoir afficher ltat du programme, les conditions suivantes doivent tre remplies :
Pralables
Vous avez enregistr le bloc sans erreur et vous lavez charg dans la CPU.
La CPU est en mode RUN ; le programme utilisateur est en cours dexcution.
Etape
Marche suivre
Rsultat
1.
Slectionnez dans votre projet Feux en ligne le clas- Ouverture en ligne de FC1. seur des blocs. Cliquez dans la partie droite de la fentre du bloc que vous voulez tester, ici la fonction FC1, et ouvrez-le avec la commande de menu : Edition Ouvrir un objet. Slectionnez la commande : Test Conditions dappel et dans la bote de dialogue qui souvre alors, cliquez sur Sans condition Fermez la bote de dialogue avec OK . Avec la commande : Test Environnement de test Processus slectionnez le mode Processus . Avec la commande Outils Paramtres, slectionnez dans la bote de dialogue LIST, CONT LOG longlet LIST et cliquez sur le bouton Modle Quittez la bote de dialogue avec OK . Lancez la consignation de ltat du programme avec la commande Test Visualiser. Refaites la commande Test Visualiser pour mettre fin la procdure de consignation de ltat du programme. Pour les conditions dappel, vous avez choisi de ne dfinir aucune condition de dclenchement.
2.
3.
En prsence dune boucle, ltat des instructions nest dtermin que pour le premier passage de la boucle. Pour tester le programme LIST, vous avez slectionn les options : bit dtat, RLG et tat standard.
4.
5. 6.
Ltat du programme LIST est affich dans la section instructions de la FC1 sous la forme de tableau. Fin de laffichage de ltat du programme LIST.
7-6
Rseau Netzwerk 1:1: Dtection de la demande du vert pour pitons RLG ETA STANDARD U( U( O O ) U O ) UN = 0 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0
Rseau 2 : Phase verte pour les automobilistes RLG ETA STANDARD UN = M 0.0 A 0.7 1 1 0 1 0 0
Et voil, ce ntait pas plus sorcier que a ! Vous avez maintenant un programme LIST qui marche.
7-7
Introduction
Vous pouvez tester votre programme CONT en visualisant la circulation du courant dans les rseaux dun bloc. Pour pouvoir visualiser la circulation du courant, les conditions suivantes doivent tre remplies :
Pralables
Vous avez enregistr le bloc sans erreur et vous lavez charg dans la CPU. La CPU est en mode RUN; le programme utilisateur est en cours dexcution. Vous devez ouvrir le bloc tester en mode en ligne .
Comment procder ? Etape Le tableau ci-aprs vous montre la marche suivre pour tester un programme CONT. Marche suivre Rsultat
1.
Slectionnez dans votre projet Feux en ligne le clas- Ouverture en ligne de FC1. seur des blocs. Cliquez dans la partie droite de la fentre du bloc que vous voulez tester, ici la fonction FC1, et ouvrez-le avec la commande de menu : Edition Ouvrir un objet. Slectionnez la commande : Test Conditions dappel et dans la bote de dialogue qui souvre alors, cliquez sur Sans condition Fermez la bote de dialogue avec OK . Avec la commande : Test Environnement de test Processus slectionnez le mode Processus . Avec la commande Outils Paramtres, slectionnez dans la bote de dialogue LIST, CONT, LOG longlet CONT et cliquez sur les paramtres que vous souhaitez pour la couleur et lpaisseur des traits. Quittez la bote de dialogue avec OK . Lancez lenregistrement de ltat du programme avec la commande Test Visualiser. Refaites la commande Test Visualiser pour mettre fin la procdure de consignation de ltat du programme. Pour lenvironnement dappel, vous avez ainsi choisi de ne dfinir aucune condition de dclenchement.
2.
3.
En prsence dune boucle, ltat des instructions nest dtermin que pour le premier passage de la boucle. Pour tester le programme CONT, vous avez choisi les options daffichage : la circulation du courant sera visualise avec la couleur et lpaisseur de trait slectionnes.
4.
5.
Ltat du programme CONT est affich dans la section instructions du FC1 sous la forme dun circuit. Fin de laffichage de ltat du programme CONT.
6.
7-8
Ltat du programme est visualis uniquement pour la partie visible dans lditeur.
Rseau 1: Dtection de la demande du vert pour pitons E 0.0 E 0.1 M 0.0 T 6 T 5 M 0.0
Figure 7-4
Et voil, ce ntait pas sorcier non plus ! Vous avez maintenant un programme CONT qui marche.
7-9
Introduction
Vous pouvez tester votre programme LOG en visualisant la circulation du courant dans les rseaux dun bloc. Pour pouvoir visualiser la circulation du courant, les conditions suivantes doivent tre remplies :
Pralables
Vous avez enregistr le bloc sans erreur et vous lavez charg dans la CPU. La CPU est en mode RUN; le programme utilisateur est en cours dexcution. Vous devez ouvrir le bloc tester en mode en ligne .
Comment procder? Etape Le tableau ci-aprs vous montre la marche suivre pour tester un programme LOG. Marche suivre Rsultat
1.
Slectionnez dans votre projet en ligne Feux le clas- Ouverture en ligne de FC1. seur des blocs. Cliquez dans la partie droite de la fentre du bloc que vous voulez tester, ici la fonction FC1, et ouvrez-le avec la commande de menu : Edition Ouvrir un objet. Slectionnez la commande : Test Conditions dappel et dans la bote de dialogue qui souvre alors, cliquez sur Sans condition Fermez la bote de dialogue avec OK . Avec la commande : Test Environnement de test Processus slectionnez le mode Processus . Avec la commande Outils Paramtres, slectionnez dans la bote de dialogue LIST, CONT, LOG longlet LOG et cliquez sur les paramtres que vous souhaitez pour la couleur et lpaisseur des traits. Quittez la bote de dialogue avec OK . Lancez lenregistrement de ltat du programme avec la commande Test Visualiser. Refaites la commande Test Visualiser pour mettre fin la procdure de consignation de ltat du programme. Pour lenvironnement dappel, vous avez ainsi choisi de ne dfinir aucune condition de dclenchement.
2.
3.
En prsence dune boucle, ltat des instructions nest dtermin que pour le premier passage de la boucle. Pour tester le programme LOG, vous avez choisi les options daffichage : la circulation du courant sera visualise avec la couleur et lpaisseur de trait slectionnes.
4.
5.
Ltat du programme LOG est affich dans la section instructions du FC1 sous la forme dun circuit. Fin de laffichage de ltat du programme LOG.
6.
7-10
Ltat du programme est visualis uniquement pour la partie visible dans lditeur.
Rseau 1:
>=1
E0.0 E0.1 T6 M0.0 T5 Rseau 2 : Phase verte pour les automobilistes A0.7
&
M0.0
Et voil, ce ntait pas sorcier non plus ! Vous avez maintenant un programme LOG qui marche.
7-11
Si vous avez encore des questions ou besoin dun complment dinformation au sujet du chargement et du test de votre programme, vous trouverez les rponses dans nos manuels.
Les informations
le manuel :
se trouvent dans
sur le chargement et le test du programme utilisateur Logiciel de base pour SIMATIC S7 et M7 STEP 7
7-12
Glossaire
B
Bloc Les blocs sont des parties dun programme utilisateur bien dlimites par leur fonction, leur structure ou leur but. Il existe des blocs de code (par ex. FC et OB), des blocs de donnes (par ex. DB) et des types de donnes dfinis par lutilisateur (UDT).
Bloc de code
Dans le SIMATIC S7, un bloc de code est un bloc qui contient une partie du programme utilisateur S7. Contrairement aux blocs de code, les blocs de donnes renferment exclusivement des donnes. Les blocs dorganisation (OB), les blocs fonctionnels (FB), les fonctions (FC), les blocs fonctionnels systme (SFB) et les fonctions systme (SFC) sont des blocs de code.
Les blocs dorganisation constituent linterface entre le systme dexploitation de la CPU et le programme utilisateur. Lordre de traitement des blocs du programme utilisateur est dfini dans les blocs dorganisation.
Le bus fond de panier dun automate programmable SIMATIC S7 alimente en tension les modules raccords et permet lchange de donnes entre ces modules. Sur le S7-400, le bus fond de panier est subdivis en bus priphrique (bus P) et en bus de communication (bus K). Sur le S7-300, le bus fond de panier est un bus interne modulaire qui est prolong de module en module par des connecteurs de bus en forme de U.
Bus interne
C
Console de programmation (PG) Les consoles de programmation sont des ordinateurs personnels portables, en version industrielle compacte. Une console de programmation est entirement quipe en vue de la programmation des systmes dautomatisation SIMATIC.
Glossaire-1
Glossaire
CPU
La CPU (Central Processing Unit ) constitue le module unit centrale de lautomate avec une unit de calcul et de commande, des mmoires, un systme dexploitation et des interfaces pour la communication avec les modules de signaux et de fonctions.
D
Dmarrage Au dmarrage de la CPU (dclench en tournant la cl du commutateur de mode de STOP sur RUN ou suite la mise sous tension), le traitement cyclique du programme (OB1) est prcd du traitement du bloc dorganisation OB 101 (redmarrage; uniquement sur S7-400) ou bien du bloc dorganisation OB 100 (dmarrage). Dans ce dernier cas, il y a tout dabord acquisition des entres (actualisation de la mmoire image des entres), puis le traitement du programme utilisateur S7 dbute par la premire instruction de lOB 1.
E
Effacement gnral (MRES) Leffacement gnral provoque leffacement des mmoires suivantes de la CPU : la mmoire de travail, la zone de lecture/criture de la mmoire de chargement, la mmoire systme lexception des paramtres MPI et du tampon de diagnostic.
F
Fonctions (FC) Selon CEI 1131-3, une fonction (FC) est un bloc de code sans donnes statiques. Une fonction permet le transfert de paramtres dans un programme utilisateur. Ainsi, les fonctions conviennent la programmation de fonctions complexes rptitives comme des calculs par exemple.
M
Mmoire image Les tats des signaux des entres et sorties TOR sont mmoriss sur la CPU dans une mmoire image. On distingue la mmoire image des entres (MIE) et la mmoire image des sorties (MIS).
Mnmonique
Un mnmonique est un nom symbolique dfini par lutilisateur et respectant les rgles de syntaxe. Une fois qua t dfini ce quil doit reprsenter (par ex. une variable, un type de donnes, un repre de saut, un bloc), ce nom peut tre utilis pour la programmation et le contrle-commande. Exemple : oprande : E 5.0, type de donnes : BOOL, mnmonique : arrt_urgence.
Glossaire-2
Glossaire
Le mode MISE EN ROUTE dsigne ltat de fonctionnement transitoire entre le mode STOP et le mode RUN. Il peut tre dclench par lactionnement du commutateur de mode, par la mise sous tension du systme ou par une commande sur la console de programmation.
MPI
Linterface multipoint (MPI) est linterface du SIMATIC S7 vers les consoles de programmation. Elle permet plusieurs stations (consoles de programmation, crans, pupitres de commande) de communiquer en mme temps avec une ou plusieurs CPU.
O
Oprande Un oprande est une partie dune instruction S7. Il prcise lobjet traiter par le processeur. Il peut tre adress de faon absolue ou symbolique.
Opration
Une opration est une partie dune instruction S7. Elle prcise ce que le processeur doit faire.
P
Programme utilisateur Le programme utilisateur contient toutes les instructions et dclarations, ainsi que les donnes de traitement des signaux, ncessaires au pilotage dune installation ou dun processus. Il est affect un module programmable (CPU ou FM par exemple) et peut tre structur en petites entits (blocs).
Programme S7
Le programme S7 est un classeur contenant les blocs, les sources et les schmas pour les modules programmables S7.
Projet
Un projet est un classeur dans lequel on trouve lensemble des objets intervenant dans le solutionnement dun problme dautomatisation, indpendamment du nombre de stations, de modules et de leur raccordement en rseau.
R
Redmarrage Au dmarrage de la CPU (dclench en tournant la cl du commutateur de mode de STOP sur RUN ou suite la mise sous tension), le traitement cyclique du programme (OB1) est prcd du traitement du bloc dorganisation OB 100 (dmarrage) ou bien du bloc dorganisation OB 101 (redmarrage ; uniquement sur S7-400). Dans ce dernier cas, il y a tout dabord actualisation de la mmoire image des entres, puis le traitement du programme utilisateur S7 reprend lendroit o il stait arrt lors de la dernire interruption (STOP, mise hors tension).
Glossaire-3
Glossaire
Rseau
Un rseau se compose dun ou de plusieurs sous-rseaux (par exemple Industrial Ethernet, PROFIBUS, MPI) ralisant linterconnexion dun nombre quelconque de stations. On peut installer plusieurs rseaux cte cte.
S
Systme dautomatisation Sous le terme de systme dautomatisation, on entend soit un automate programmable (AP) SIMATIC S7, soit un systme intgr compact SIMATIC C7 (terminal de contrle-commande avec AP intgr) soit encore un calculateur industriel SIMATIC M7.
T
Temporisations (T) Les temporisations sont des parties de la mmoire systme de la CPU. Le contenu des cellules de temporisation est actualis par le systme dexploitation. Cette actualisation est asynchrone par rapport au programme utilisateur. Des instructions S7 fixent la fonction exacte de la cellule de temporisation (par ex. le retard lenclenchement) et lancent son traitement (par ex. dmarrage).
Glossaire-4
Index
A
Affichage du test du programme CONT et LOG, 7-5 Affichage du test du programme LIST, 7-5
E
Effacement gnral de la CPU, 5-4 Entrer des lments CONT, 6-10 des lments LOG, 6-14 les instructions LIST, 6-6 Environnement requis, 1-2 Exemple de table de configuration, 5-6
B
Blocs chargement, 7-3 cration, 6-3 programmation, 6-2 test, 7-4
I
Informations complmentaires au sujet de la dfinition et de la structuration de la tche automatiser, 2-7 au sujet des prrequis matriels, 1-4 pour charger et tester votre programme utilisateur, 7-12 pour configurer et paramtrer votre S7-300, 5-7 pour crer des programmes, 4-7 pour crer des projets, 4-7 pour crer des stations, 4-7 pour programmer des blocs, 6-17 sur ladressage des modules dun S7-300, 3-7 sur linstallation dun rseau MPI pour la communication, 3-7 sur linstallation du logiciel STEP 7, 1-4 sur la configuration dun S7-300, 3-7 sur le cblage dun S7-300, 3-7 sur le montage dun S7-300, 3-7 sur les cartes mmoire pour S7-300, 3-7 sur les modules pour S7-300, 3-7 sur les pices de rechange pour S7-300, 3-7 Installation de votre S7-300, 3-3, 3-4 rgles respecter pour les emplacements, 3-2 Interface MPI, 3-6
C
Cblage de votre S7-300, 3-5 Chargement et test du programme utilisateur, 7-2 Comment procder pour lentre dlments LOG, 6-14 Configuration, 5-2 Configuration de votre S7-300, 5-5 Cration dobjets, 4-4 Cration dune structure de projet, 4-5, 4-6
D
Dmarche pour charger et tester le programme utilisateur, 7-2, 7-3 pour configurer et paramtrer votre S7-300, 5-5 pour crer des blocs, 6-3 pour crer une structure de projet, 4-6 pour dfinir et structurer la tche automatiser, 2-2 pour entrer des lments CONT, 6-10 pour entrer les instructions LIST, 6-6 pour leffacement gnral de la CPU, 5-4 pour monter votre S7-300, 3-3 pour tester un programme CONT, 7-8, 7-10 pour tester un programme LIST, 7-6 Droulement du programme FEUX, 2-6
L
Liste dinstructions (LIST), dfinition, 6-4 Logiciel STEP 7, 1-3 Logigramme (LOG), dfinition, 6-4
Index-1
Index
M
Manipulations dobjets, 4-5 Matriel, 1-2
R
Raccordement dun PC ou dune PG au S7-300, 3-6 Raccordement dune PG ou dun PC, 3-6 Rgles pour entrer des lments CONT, 6-9 pour entrer des lments LOG, 6-13 pour entrer les instructions LIST, 6-6 Rgles respecter pour les emplacements, 3-2 Reprsentation dobjets, 4-4
O
Objets de STEP 7, 4-4
P
Paramtrage, 5-2 Paramtrage de votre S7-300, 5-5 Programmation des blocs, 6-2 Programme FEUX autres contraintes, 2-4 chargement et test, 7-2 chronogramme, 2-6 contraintes relatives la scurit, 2-4 droulement, 2-6 lments CONT pour FC1, 6-11 lments CONT pour OB1, 6-12 lments LOG pour FC1, 6-15 lments LOG pour OB1, 6-16 fractionnement, 2-3 instructions LIST pour FC1, 6-6 instructions LIST pour OB1, 6-8 noms symboliques des oprandes, 2-5 oprandes ncessaires, 2-5 entres, 2-5 mmentos, 2-5 sorties, 2-5 temporisations, 2-5 schma, 2-4 Programme utlisateur, chargement et test, 7-2 Projets de STEP 7, 4-5
S
Schma contacts, dfinition, 6-4 Section instructions des blocs, dfinition, 6-5 SIMATIC Manager, 4-3 STEP 7 caractristiques principales, 4-2 cration dobjets, 4-4 cration dune structure de projet, 4-5, 4-6 informations fondamentales, 4-3 manipulations dobjets, 4-5 objets, 4-4 projets, 4-5 reprsentation dobjets, 4-4
T
Table de configuration, exemple, 5-6 Test de programmes CONT, 7-8 de programmes LIST, 7-6 de programmes LOG, 7-10 Test du programme CONT, 7-8 Test du programme LIST, 7-6 Test du programme LOG, 7-10 Test du programme utilisateur choisir lenvironnement de test, 7-4 dfinir la condition de dclenchement, 7-4 dfinir les rsultats du test que vous voulez afficher, 7-4
Index-2
Siemens AG AUT E 146 stliche Rheinbrckenstr. 50 D-76181 Karlsruhe Rpublique Fdrale dAllemagne
Expditeur : Vos . Nom : _ _ _ Fonction : Entreprise : Rue : _ _ _ Code postal : Ville : _ _ _ Pays : _ _ _ Tlphone :
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _
Indiquez votre secteur industriel : Industrie automobile Industrie chimique Industrie lectrique Industrie alimentaire Contrle/commande Construction mcanique Ptrochimie Industrie pharmaceutique Traitement des matires plastiques Industrie du papier Industrie textile Transports Autres _ _ _ _ _ _ _ _ _ _ _
Remarques / suggestions Vos remarques et suggestions nous permettent damliorer la qualit gnrale de notre documentation. Cest pourquoi nous vous serions reconnaissants de complter et de renvoyer ces formulaires Siemens.
Rpondez aux questions suivantes en attribuant une note comprise entre 1 pour trs bien et 5 pour trs mauvais. 1. 2. 3. 4. 5. Le contenu du manuel rpond-il votre attente ? Les informations requises peuvent-elles facilement tre trouves ? Le texte est-il comprhensible ? Le niveau des dtails techniques rpond-il votre attente ? Quelle valuation attribuez-vous aux figures et tableaux ?
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _