Vous êtes sur la page 1sur 32

Automation and drives - SCE

Document de formation pour une solution complte dautomatisation Totally Integrated Automation (T I A)

ANNEXE III Instructions de programmation de base CONT/LOG/LIST dans STEP 7

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 1 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

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.

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 2 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

PAGE : 1. 2. 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.9.1 2.9.2 Avant-propos ................................................................................................ Commandes de programmation de base ..................................................... Attribution ...................................................................................................... ET logique...................................................................................................... OU logique ..................................................................................................... ET avant OU logique........................................................................................ OU avant ET logique........................................................................................ Interrogation de ltat de signal 0 ...................................................................... OU exclusif logique ......................................................................................... Interrogation des sorties .................................................................................. Fonctions mmoire RS .................................................................................... Rinitialisation prioritaire.................................................................................. Initialisation prioritaire...................................................................................... 5 6 6 6 7 7 8 9 9 10 10 11 11

2.10 2.10.1 2.10.2

Oprations sur front...................................................................................... Front montant (FP).......................................................................................... Front descendant (FN).....................................................................................

12 12 13

2.11 2.11.1 2.11.2 2.11.3 2.11.4 2.11.5 2.11.6 2.11.7 2.11.8 2.11.9 2.11.10 2.11.11

Fonctions temporelles.................................................................................. Dverrouillage de la dure (FR) seulement en LIST............................................. Dmarrer la dure (SI/SV/SE/SS/SA) ............................................................... Prdfinition de la dure (TW) .......................................................................... Rinitialiser la dure (R)................................................................................... Interroger la dure (L/LC) ................................................................................. Interroger ltat de signal de la dure en binaire (Q) ............................................ Dure en impulsion (SI) ................................................................................... Impulsion prolonge (SV)................................................................................. Retard lenclenchement (SE)......................................................................... Retard lenclenchement mmoire (SS)......................................................... Retard la dconnexion (SA)...........................................................................

14 14 14 15 15 15 16 16 17 18 19 20

2.12

Gnrateur dhorloge ...................................................................................

21

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 3 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

PAGE : 2.13 2.13.1 2.13.2 2.13.3 2.13.4 2.13.5 2.13.6 2.13.7 2.13.8 Opration de comptage................................................................................ Dverrouiller le compteur (FR) seulement en LIST .............................................. Incrmenter (ZV)............................................................................................. Dcrmenter (ZR)............................................................................................ Initialiser le compteur (S)................................................................................. Prdfinition de la valeur compteur (ZW)............................................................ Rinitialiser le compteur (R) ............................................................................. Interroger la valeur compteur (L/LC)................................................................... Interroger ltat de signal du compteur en binaire (Q) .......................................... 22 22 22 22 23 23 23 23 24

2.14 2.15 2.16 2.16.1 2.16.2 2.16.3 2.16.4 2.16.5 2.16.6

Opration de transfert et de chargement (L/T) seulement en LIST............... Fonctions de comparaison ........................................................................... Organisation du programme ........................................................................ Appel de bloc (CALL) ...................................................................................... Appel de bloc conditionnel (CC)........................................................................ Appel de bloc inconditionnel (UC) ..................................................................... Ouvrir le bloc de donnes (AUF) ....................................................................... Terminaison de bloc conditionnel (BEB) seulement en LIST................................ Terminaison de bloc inconditionnel (BEA) seulement en LIST..............................

25 26 27 27 27 28 28 28 29

2.17 2.17.1 2.17.2 2.17.3

Oprations de sauts...................................................................................... Saut inconditionnel (SPA)................................................................................ Saut conditionnel (SPB/SPBN) ........................................................................ Boucle de programme (LOOP) seulement en LIST .............................................

30 30 30 31

2.18 2.18.1 2.19 2.19.1 2.19.2 2.19.3 2.19.4

Oprations Null............................................................................................. Opration Null 0/1 (NOP0/NOP1) seulement en LIST.......................................... Traitement du VKE ....................................................................................... Ngation du VKE (NOT) seulement en AW72 .................................................... Initialisation du VKE (SET) seulement en A72 ................................................... Rinitialisation du VKE (CLR) seulement en 72 LIST.......................................... Sauvegarde du VKE (SAVE) seulement en 72L .................................................

31 31 32 32 32 32 32

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 4 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

1.

AVANT-PROPOS Lannexe III est ncessaire pour le traitement de tous les modules.
Programmation sur STEP 7 Notions de base 2 - 3 jours Module A

Fonctions tendues de la programmation STEP 7 2- 3 jours Module B

Simulation de systmes avec SIMIT SCE 1- 2 jours Modules G

Langages de programmation 2- 3 jours Modules C

Systmes de bus industriels 2- 3 jours Modules D

Visualisation du processus 2- 3 jours Modules F

Communication IT avec SIMATIC S7 1- 2 jours Modules E

Objectif pdagogique: Dans cette annexe, on vous prsentera un ensemble de commandes de programmation importantes dont on se sert pour la rsolution des exercices de programmation des modules. Prrequis : Afin de pouvoir comprendre les commandes et la manire de programmer, les connaissances suivantes doivent tre acquises : Bases de la programmation dautomates (par ex. Annexe I Bases de la programmation des API avec SIMATIC S7-300)

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 5 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

2.

COMMANDES DE PROGRAMMATION DE BASE Les commandes de programmation que lon va vous prsenter dans la suite sont suffisantes pour une programmation de base. Ce nest en aucun cas une liste exhaustive des commandes. Vous trouverez des informations supplmentaires sur dautres commandes en CONT/LOG/LIST dans les manuels dutilisation ou mieux, dans laide en ligne sous le point Description du langage CONT, LOG et LIST.

2.1

ATTRIBUTION Lattribution (=) copie le rsultat de la dernire opration logique (VKE) et lattribue loprande qui la suit. Une chane logique peut tre termine par une attribution.

CONT
E A0.0

LIST ()
U E = A

|| LOG
E

2.2

ET LOGIQUE Le ET logique correspond un montage de circuits lectriques en srie. En sortie A 0.0 sobtient ltat de signal 1, si toutes les entres sont simultanment ltat 1. Si lune des entres bascule ltat de signal 0, la sortie passe ltat de signal 0.

CONT
E E A

LIST || ()
U E U E = A

||

LOG
A E

&
E

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 6 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

2.3

OU LOGIQUE Le OU logique correspond un montage de circuits lectriques en parallle. En sortie A 0.1 sobtient ltat de signal 1, si au moins une entre est ltat 1. Si toutes les entres basculent ltat de signal 0, la sortie passe ltat de signal 0.

CONT
E A

LIST ()
O E O E = A

||
E

|| LOG
E A

>1
E

2.4

ET AVANT OU LOGIQUE Le ET avant OU logique correspond un montage de circuits lectriques en parallle de contacteurs en srie. Dans ce montage de branchements la fois srie et parallle, la sortie 0.1 prsente le signal dtat 1, si, dans au moins un branchement, tous les contacts branchs en srie sont ferms (c.--d. quils ont le signal dtat 1). Le ET avant OU logique est programm en mode LIST sans parenthses, toutefois les branchements parallles doivent tre spars lun de lautre par la saisie du caractre O (Fonction OU). Dans cette opration, les fonctions ET sont traites en premier, et ensuite leurs rsultats sont traits en tant quentres de la fonction OU. La premire fonction ET (E 0.0, E 0.1) est spare de la deuxime (E 0.2, E 0.3) par le caractre O (Fonction OU).

CONT
E E A

LOG
E

LIST &
A U U O U U = E E E E A

||
E E

|| ||

()

||

>1
E

&
E

Les oprations logiques ET ont priorit et seront donc traites avant les oprations logiques OU.

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 7 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

2.5

OU AVANT ET LOGIQUE Le OU avant ET logique correspond un montage de circuits lectriques en srie de contacts en parallle. Dans ce montage de branchements la fois srie et parallle, la sortie 1.0 prsente le signal dtat 1, seulement si, dans chaque branchement parallle, au moins un des contacts est ltat de signal 1.

CONT

LOG
E

LIST >1
U( O O ) U( O O ) = E E

||
E E

|| ||

()

||

&
E

E E A

>1
E

Afin que les oprations logiques OU aient priorit sur les oprations logiques ET, elles doivent tre mises entre parenthses.

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 8 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

2.6

INTERROGATION DE LETAT DU SIGNAL 0 Linterrogation de ltat du signal 0 correspond un contact ouverture dans un circuit contacteur et est ralise par lassemblage de : ET NON (UN), OU NON (ON) et NON OU EXCLUSIF (XN). Exemple dune opration logique OU NON :

CONT
E A

LIST ()
O E ON E = A

||
E

|/| LOG
E A

>1
E

2.7

OU EXCLUSIF LOGIQUE Le schma lectrique suivant prsente un OU exclusif (X), dans lequel la sortie 1.0 nest connecte (Etat de signal 1) que si les entres livrent un tat de signal 1. Dans un circuit contacteurs, cela peut tre seulement ralis laide de contacts ouverture et de contacts fermeture.

CONT
E E A

LIST |/|
E

||
E

()

|/| LOG

||

X X =

E E A

E E

XOR

Indication : Lopration logique OU exclusif ne peut tre employe quavec exactement deux entres.

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 9 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

2.8

INTERROGATION DES SORTIES Certaines conditions doivent tre respectes pour la connexion des sorties A 1.0 et A 1.1. Dans ces circonstances, on doit prvoir, pour chaque sortie, sa propre branche de circuit et son propre symbole logique. Puisque lautomate peut non seulement interroger ltat de signal des entres mais aussi celui des sorties, des mmoires internes, etc., la bote logique ET, pour la sortie A 1.1, interroge la sortie A 1.0. LOG
A E E 1.1

LIST

& &

=
A 1.1

U U = U U =

E E A A E A

A 1.0 E

CONT
E 1.0 E 1.1 A 1.0

||
A

||
E 1.2 A

() ()

||

||

2.9

FONCTIONS MEMOIRE RS Conformment DIN 40900 et DIN 19239, une fonction mmoire RS est reprsente comme un rectangle avec lentre dinitialisation S et celle de rinitialisation R. Un tat bref de signal 1 lentre dinitialisation initialise la fonction mmoire. Un tat bref de signal 1 lentre de rinitialisation rinitialise la fonction mmoire. Ltat de signal 0 aux entres R et S ne modifie pas ltat prcdemment tabli. Sil se trouvait que les deux entres R et S prennent toutes les deux un tat de signal 1, une priorit est tablie linitialisation ou la rinitialisation. Cette rinitialisation ou initialisation prioritaire doit tre prise en compte dans votre programmation.

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 10 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

2.9.1

REINITIALISATION PRIORITAIRE

CONT(1)
E A

LIST (S)
A U S U R E A E A

||
E

|| CONT(2)
E

(R)

LOG
A E

||
E

SR S R Q

()
E

S
A. 20

||

Les dernires instructions programmes sont traites en priorit par la commande. Dans notre exemple, lopration dinitialisation sera dabord excute, puis la sortie A 2.0 sera de nouveau rinitialise et restera pour tout le reste du traitement du programme dans cet tat. Cette initialisation phmre de la sortie est seulement effectue dans limage des processus. Ltat du signal du module priphrique correspondant nest ainsi pas influenc pendant le traitement du programme. 2.9.2 INITIALISATION PRIORITAIRE Conformment au paragraphe 4.10.1. la sortie A 2.1 est initialise en priorit dans cet exemple. CONT(1)
E A

LIST (R)
A U R U S E A E A

||
E

|| CONT(2) A
E

(S)

LOG
A E

||
E

RS R S Q

()
E

R
A

||

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 11 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

2.10

OPERATIONS SUR FRONT Les oprations sur front dtectent la variation de niveau du signal par exemple celle dune entre, contrairement aux oprations dtectant un tat du signal statique (0 ou 1). Le programme dune opration sur front correspond un contact dtecteur de front dans un circuit relais.

2.10.1

FRONT MONTANT (FP) Si un front montant (pente positive) (Passage de 0 1) est reconnu sur E 0.2, alors A 4.0 est mise 1 pour un cycle OB1. Cette sortie peut tre rutilise pour la mmoire interne, par exemple. Sur reconnaissance de front montant, le VKE, qui a conduit lopration U, est enregistr dans la mmoire interne de front M 2.0, et est compar avec le VKE du cycle prcdent. Lavantage de la deuxime catgorie de reprsentation en CONT/LOG rside dans le fait quil peut aussi y avoir des botes logiques lentre des oprations sur front.

CONT/LOG
E A
POS A

LIST
(
U FP = E M 2.0 A

M 2.0

M_BIT

Ou :
M 2.0 E 0.2 P A 4.0 ()

Diagramme tat signal E M 2.0 A Cycle 1 2 3 4 5 6 7 8 9 10 11 12

1 0 1 0 1 0

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 12 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

2.10.2

FRONT DESCENDANT (FN) Si un front descendant (pente ngative) (Passage de 1 0) est reconnu sur E 0.2, alors A 4.0 est mise 1 pour un cycle OB1. Cette sortie peut tre rutilise pour la mmoire interne, par exemple. Sur reconnaissance de front descendant, le VKE, qui a conduit lopration U, est enregistr dans la mmoire interne de front M 2.0, et est compar avec le VKE du cycle prcdent. Lavantage de la deuxime catgorie de reprsentation en CONT/LOG rside dans le fait quil peut aussi y avoir des botes logiques lentre des oprations sur front.

CONT/LOG
E A
NEG A

LIST
(
U F = E M 2.0 A

M 2.0

M_BIT

Ou :
M 2.0 E 0.2 N A 4.0 ()

Diagramme tat signal E M 2.0 A Cycle 1 2 3 4 5 6 7 8 9 10 11 12

1 0 1 0 1 0

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 13 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

2.11

FONCTIONS TEMPORELLES Pour la ralisation de tche de contrles, on doit trs souvent mettre en place diverses fonctions temporelles. Ces fonctions temporelles sont intgres dans le module central de lautomate. On procde la configuration des dures dexcution et du dmarrage de la fonction temporelle en passant par le programme utilisateur. Les automates SIMATIC mettent votre disposition un certain nombre de variables temporelles ( dpendantes de la CPU ) avec diffrentes fonctions temporelles. A chaque variable temporelle est attribue un mot de 16 bits. Les fonctions suivantes peuvent tre programmes pour une dure :

2.11.1

DEBLOQUER LE TEMPS (FR) SEULEMENT EN LIST Un front montant ( de 0 1 ) sur le rsultat logique de lopration Dverrouillage (FR) dbloque un temps. Ce dverrouillage nest pas ncessaire pour le dmarrage ou pour les fonctions temporelles normales. Le dverrouillage est seulement employ pour un dclenchement retardateur (trigger) cest--dire pour dbloquer lcoulement de la dure. Cette remise en route de la dure est seulement possible si lopration de dmarrage travaille dans la suite avec VKE 1.

Lopration Dverrouillage (FR) est seulement disponible en LIST.

2.11.2

DEMARRER LA DUREE (SI/SV/SE/SS/SA) La variable temporelle est dmarre sur changement de signal ( front montant ) lentre de dmarrage. Pour dmarrer une dure, servez-vous des trois instructions suivantes dans votre programme LIST : Interrogation de ltat du signal Chargement dune dure dmarrage dans ACCU1 Opration dmarrage (au choix SI, SV, SE, SS ou SA) Ex. : U E 0.0 L S5T#2S SE T5

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 14 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

2.11.3

PREDEFINITION DE LA VALEUR TEMPORELLE (TW) Une variable temporelle doit toujours dpasser une certaine dure. La dure TW peut soit tre renseigne par une constante fixe prdfinie dans le programme, soit tre dfinie comme mot dentre EW, comme mot de sortie AW, comme mot de donnes DBW/DIW, comme mot de donnes locales LW ou encore comme mot de mmoire interne MW. Lactualisation du temps dcrmente la valeur temporelle dune unit dun intervalle qui est fix comme base de temps. Vous pouvez charger une valeur temporelle prdfinie avec la syntaxe suivante : L W#16#abcd - avec : a = base de temps en binaire (c.--d. intervalle de temps, ou rsolution, voir ci-dessous) - bcd = valeur temporelle en BCD L S5T#aH_bbM_ccS_dddMS - avec : a = Heures, bb = Minutes, cc = Secondes et ddd = Millisecondes - La base de temps est automatiquement choisie

Base de temps : La base de temps dfinit lintervalle dans lequel la valeur temporelle est dcrmente dune unit. Les valeurs ne correspondant pas un multiple exact de lintervalle de temps seront tronques. Les valeurs dont la rsolution pour le domaine souhait seront trop grandes seront arrondies. Temps 10ms 100ms 1s 10s 2.11.4 Binaire 00 01 10 11 Domaine temporel 10MS 9S_990MS 100MS 1M_39S_900MS 1S 16M_39S 10S 2H_46M_30S

REINITIALISATION DE LA DUREE (R) Un signal en entre rinitialisation termine le traitement de la variable temporelle. La valeur temporelle actuelle est supprime, et la sortie Q de la cellule temporelle est rinitialise.

2.11.5

INTERROGER LA VALEUR TEMPORELLE (L/LC) Une valeur temporelle est enregistre dans un mot temporel en binaire. La valeur se trouvant dans le mot temporel peut tre charge dans lACCU comme nombre dual (DUAL) ou comme nombre BCD (DEC), et de l tre transfre dans dautres domaines doprandes. En programmation LIST, vous avez le choix entre L T1 en ce qui concerne linterrogation du nombre dual et LC T1 pour celle du nombre BCD.

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 15 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

2.11.6

INTERROGER LETAT DU SIGNAL BINAIRE TEMPOREL (Q) On peut interroger un temps sur son tat de signal (0 ou 1). On peut utiliser les tats du signaux avec U T1, UN T1, ON T1, etc, comme dhabitude, et galement les employer pour dautres oprations logiques. Vous pouvez choisir jusqu 5 types de dures diffrents :

2.11.7

DUREE IMPULSION (SI) La sortie dune variable temporelle, qui est dmarre comme impulsion, dlivre ltat de signal 1 aprs le dmarrage (1). La sortie est rinitialise quand la dure programme est dpasse (2), si le signal de dmarrage est rinitialis zro (3) ou si lentre de rinitialisation du membre temporel prsente ltat de signal 1 (4). Sur front montant ( de 0 1 ) du rsultat logique de lopration de dverrouillage (FR) le temps redmarre (5). Cette reprise est seulement possible si lopration de dmarrage est toujours traite avec le VKE 1.

LOG
T1 S_IMPULS E0.0 S5T#2S E0.1 S TW R DUAL DEZ Q MW0 MW2 A 4.0

LIST
U E 0.2 FR T1 U L SI U R L T LC T U = E 0.0 S5T#2S T1 E 0.1 T1 T1 MW0 T1 MW2 T1 A 4.0

Dblocage du temps T1 (LIST uniquement) Charge temps dpart (2s) dans ACCU 1 Temps dpart T1 en impulsion Rinitialisation de T1 Charge temps T1 en binaire Charge temps T1 en BCD Interrogation du temps T1

CONT
T1 E0.0 S5T#2S E0.1 S TW R S_IMPULS Q DUAL DEZ A 4.0 () MW0 MW2

Diagramme tat signal avec dblocage (FR) E E 0.0 E 0.1 A 4.0


1

-T2 3 4

-T5

-T-

1 0 1 0 1 0 1 0

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 16 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

2.11.8

IMPULSION PROLONGEE (SV) La sortie dune variable temporelle, qui est dmarre comme impulsion prolonge, livre un tat de signal 1 juste aprs le dmarrage (1). La sortie sera rinitialise, si la dure prdfinie est coule (2) ou si lentre de rinitialisation de la fonction temporelle est connecte (5). Une dconnexion de lentre de dmarrage pendant que la dure scoule ne produit pas de rinitialisation de la sortie (commande maintenue) (3). Si un nouveau changement de signal 1 seffectue lentre de dmarrage pendant que la dure scoule encore, la variable temporelle est redmarre ( post dclenche ) (4).

LOG
T1 S_VIMP E0.0 S5T#2S E0.1 S TW R DUAL DEZ Q MW0 MW2 A 4.0

LIST
U L SV U R L T LC T U = E 0.0 S5T#2S T1 E 0.1 T1 T1 MW0 T1 MW2 T1 A 4.0

Charge Temps dpart (2s) dans ACCU 1 Temps dpart T1 en impulsion Rinitialise temps T1 Charge Temps T1 en binaire Charge Temps T1 en BCD Interrogation Temps T1

CONT
T1 E0.0 S5T#2S E0.1 S TW R S_VIMP Q DUAL DEZ A 4.0 () MW0 MW2

Diagramme tat signal E E A


1

-T2

-T3 4

-T5

1 0 1 0 1 0

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 17 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

2.11.9

RETARD A LENCLENCHEMENT (SE) La sortie dune variable temporelle, qui est dmarre comme retard lenclenchement, livre un tat de signal 1 juste aprs le dmarrage, si la dure programme est dpasse et que VKE prsente encore 1 lentre de dmarrage (1). La connexion de lentre de dmarrage a donc pour effet une connexion de la sortie Q retarde de la dure prdfinie. La sortie sera rinitialise, si la sortie est dconnecte (2) ou si lentre de rinitialisation de la variable temporelle prsente ltat de signal 1 (3). La sortie Q ne sera pas connecte, si lentre de dmarrage est dconnecte pendant que la dure scoule, ou si lentre de rinitialisation de la variable temporelle prsente ltat de signal 1.

LOG
T1 S_SEVERZ E0.0 S5T#2S E0.1 S TW R DUAL DEZ Q MW0 MW2 A 4.0

LIST
U L SS U R L T LC T U = E 0.0 S5T#2S T1 E 0.1 T1 T1 MW0 T1 MW2 T1 A 4.0

Charge dure dmarrage (2s) dans ACCU 1 Charge dure T1 en impulsion Rinitialise T1 Charge dure T1 en binaire Charge dure T1 en BCD Interrogation de la dure T1

CONT
T1 E0.0 S5T#2S E0.1 S TW R S_SEVERZ Q DUAL DEZ A 4.0 () MW0 MW2

Diagramme tat signal E E A -T1 2

-T-

-T3

1 0 1 0 1 0

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 18 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

2.11.10

RETARD A LENCLENCHEMENT A MEMOIRE (SS) La sortie dune variable temporelle, qui est dmarre comme retard lenclenchement mmoire, livre un tat de signal 1 juste aprs le dmarrage, si la dure programme est dpasse (1). La fonction na plus besoin de VKE 1 aprs le dmarrage de lentre de dmarrage, celle-ci peut donc tre dconnecte (Commande maintenue) (3). La sortie sera rinitialise lorsque lentre de rinitialisation de la fonction temporelle sera connecte (2). Une dconnexion puis reconnexion de lentre de dmarrage a pour effet un redmarrage de la fonction temporelle (post dclenche), aussi longtemps que le temps scoule (4).

LOG
T1 S_SEVERZ E0.0 S5T#2S E0.1 S TW R DUAL DEZ Q MW0 MW2 A 4.0

LIST
U L SS U R L T LC T U = E 0.0 S5T#2S T1 E 0.1 T1 T1 MW0 T1 MW2 T1 A 4.0

Charge dure dmarrage (2s) dans ACCU 1 Charge dure T1 en impulsion Rinitialise T1 Charge dure T1 en binaire Charge dure T1 en BCD Interrogation de la dure T1

CONT
T1 E0.0 S5T#2S E0.1 S TW R S_SEVERZ Q DUAL DEZ A 4.0 () MW0 MW2

Diagramme tat signal E E A -T1 2

-T3 4

-T-

1 0 1 0 1 0

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 19 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

2.11.11

RETARD A LA COUPURE (SA) Sur changement de signal ( en front montant ) lentre de dmarrage dune variable temporelle, qui est dmarre en tant que retard la coupure, la sortie Q de la fonction temporelle est connecte (1). Si lentre de dmarrage est dconnecte, la sortie dlivre ltat de signal 1 jusqu ce que le temps programm soit dpass (2). La dconnexion de lentre de dmarrage (front descendant) produit donc une dconnexion retarde de la dure prdfinie de la sortie. La sortie de la variable temporelle est aussi dconnecte, si lentre de rinitialisation dlivre ltat de signal 1 (4). Un redmarrage de la fonction temporelle provoque, pendant que la dure scoule, limmobilisation du temps courant et le redmarrage pour la prochaine dconnexion de lentre de dmarrage (3). Si lentre de dmarrage et lentre de rinitialisation de la fonction temporelle dlivrent toutes deux ltat de signal 1, la sortie de la variable temporelle est initialise si la rinitialisation dominante est connecte (5).

LOG
T1 S_AVER E0.0 S5T#2S E0.1 S TW R DUAL DEZ Q MW0 MW2 A

LIST
U L S U R L T LC T U = E 0.0 S5T#2S T1 E 0.1 T1 T1 MW0 T1 MW2 T1 A

Charge dure dpart (2s) dans ACCU Dure dpart T1 en Rinitialisation de Charge dure T1 en Charge T1 en BCD Interrogation dure

CONT
T1 E0.0 S5T#2S E0.1 S TW R DUAL DEZ S_AVER A ( MW0 MW2

Diagramme tat signal E E A


1 5

-T2

-T3 4

1 0 1 0 1 0

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 20 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

2.12

GENERATEUR DHORLOGE Les gnrateurs dhorloge sont mis en place pour diffrentes tches de contrle, de surveillance et de commande. En technique du numrique, on les dsigne en tant que bascule bistable astable. On a souvent besoin dans la pratique dune frquence clignotante pour les messages de fonctionnement ou de drangement.

Il existe une mmoire clignotante paramtrable dans la CPU S7-300, qui peut tre configure avec loutil matriel.

Paramtrer la mmoire clignotante : Les mmoires clignotantes sont des mmoires internes lintrieur dun octet de mmoire clignotante. Pour faire dun octet mmoire interne quelconque de la CPU un octet mmoire clignotante, on doubleclique sur la ligne CPU dans loutil de configuration. Une mmoire clignotante change priodiquement sa valeur binaire. Si vous activez la mmoire clignotante ( la case est coche), alors vous devez aussi dterminer le numro de loctet de la mmoire interne. On ne peut pas utiliser loctet de mmoire interne pour la sauvegarde intermdiaire de donnes.
Paramtrage de la mmoire clignotante Mmoire clignotante Octet mmoire interne Annuler Aide

Priode dhorloge : Chaque bit de loctet de la mmoire clignotante est attribu une priode/frquence. Lattribution est ralise de la manire suivante : Bit : Priode (s) : Frquence (Hz) : 7 2 0,5 6 1,6 0,625 5 1 1 4 0,8 1,25 3 0,5 2 2 0,4 2,5 1 0,2 5 0 0,1 10

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 21 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

2.13

OPERATIONS DE COMPTAGE En technique des rgulations, on a besoin de fonctions de comptage pour dterminer le nombre dentits ou dimpulsions, pour valuer les dures et les distances. En SIMATIC S7 les compteurs sont dj intgrs dans les modules centraux. Ces compteurs possdent un espace mmoire propre. Le domaine des valeurs que peut prendre le compteur va de 0 999. On peut programmer pour un compteur les fonctions suivantes :

2.13.1

DEBLOQUER COMPTEUR (FR) SEULEMENT EN LIST Un front montant ( de 0 1 ) sur rsultat logique de lopration Librer (FR) dbloque le compteur. Un dblocage de compteur nest ncessaire ni pour linitialisation dun compteur, ni pour des oprations normales. Si lon souhaite toutefois initialiser un compteur, lincrmenter ou le dcrmenter sans pour autant avoir un front montant avant lopration compteur ( ZV, ZR ou S ), alors on peut effectuer un dblocage. Cela nest cependant seulement possible que si le bit VKE a ltat de signal 1 avant lopration correspondante ( ZV, ZR ou S ).

Lopration Librer (FR) est seulement disponible dans le mode de reprsentation LIST.

2.13.2

INCREMENTATION (ZV) La valeur du compteur dsign est incrmente par pas de 1. La fonction sera active seulement sur front montant avant lopration logique programme ZV. Si le compteur atteint la borne maximale 999, il ne sincrmentera plus. (La transmission ne pourra plus avoir lieu ! )

2.13.3

DECREMENTATION (ZR) La valeur du compteur dsign est dcrmente par pas de 1. La fonction sera active seulement sur front montant avant lopration logique programme ZR. Si le compteur atteint la borne minimale de 0, il ne se dcrmentera plus. ( Le compteur ne travaille quen valeurs positives ! )

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 22 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

2.13.4

INTIALISER COMPTEUR (S) Pour initialiser un compteur, saisissez 3 instructions dans votre programme LIST : Interrogation dun tat du signal Chargement dune valeur de compteur Mise du compteur la valeur charge Cette fonction sera seulement traite sur front montant de linterrogation.

Par ex. : U E 2.3 L C#5 S Z1

2.13.5

REQUETE VALEUR COMPTEUR (ZW) Quand un compteur est initialis, le contenu de lACCU 1 est employ comme valeur de comptage. Vous avez la possibilit de charger la valeur compteur soit en binaire soit en BCD. Les oprandes suivants sont possibles : Mot entre Mot sortie Mot mmoire Mot donnes Mot donnes locales Constantes EW .. AW .. MW .. DBW/DIW .. LW .. C#5,

2#...etc.

2.13.6

REINITIALISATION COMPTEUR (R) Si VKE est 1, le compteur est mis 0 (rinitialisation). Si VKE est 0, le compteur reste dans son tat. La rinitialisation dun compteur agit statiquement. Aprs une rinitialisation en bonne et due forme, le compteur ne peut ni tre initialis, ni tre incrment/dcrment.

2.13.7

INTERROGER VALEUR COMPTEUR (L/LC) Une valeur compteur est stocke dans un mot compteur en binaire. La valeur se trouvant dans le mot temporel peut tre charge dans lACCU comme nombre dual (DUAL) ou comme nombre BCD (DEC), et de l tre transfre dans dautres domaines doprandes. En programmation LIST, vous avez le choix entre L Z1 en ce qui concerne linterrogation du nombre dual et LC T1 pour celle du nombre BCD.

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 23 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

2.13.8

INTERROGER LETAT SIGNAL DU COMPTEUR EN BINAIRE (Q) On peut interroger le compteur sur son tat de signal. La rponse correspondra aux cas suivants : Etat signal 0 Etat signal 1 = = Le compteur est 0; Le compteur travaille, c.--d. il est prt compter.

On peut utiliser les tats du signaux avec U Z1, UN Z1, ON Z1, etc..., comme dhabitude, et galement les employer pour dautres oprations logiques.
LIST
U FR U ZV U ZR U L S U R L T LC T U = E 0.7 Z1 E 0.0 Z1 E 0.1 Z1 E 0.2 C#5 Z1 E 0.3 Z1 Z1 AW2 Z1 AW4 Z1 A 0.0 Libration (LIST uniquement)

LOG
E0.0 E0.1 E0.2 C#5 E0.3

Z1 COMPTEUR ZV ZR S ZW R Z1 A 0.0 () DUAL DEZ Q AW2 AW4 A 0.0

Incrmenter Dcrmenter Charger valeur demande pour compteur Mise du compteur cette valeur Remise zro compteur Z1 Charge compteur Z1 en binaire Charge compteur Z1 en BCD Interrogation compteur Z1

CONT
E0.0 E0.1 E0.2 C#5 E0.3

COMPTEUR ZV Q ZR S ZW R DUAL DEZ

AW2 AW4

Diagramme tat signal :


FR

ZV

ZR

A 0.0

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 24 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

2.14

OPERATIONS DE CHARGEMENT ET DE TRANSFERT (L/T) En langage STEP7, les oprations de chargement et de transfert permettent lchange dinformation octet/mot/double mot entre les modules dentre et de sortie, entre les images des processus des entres et des sorties, entre les mmoires temps/compteur/clignotantes, ainsi quentre les blocs de donnes. Cet change dinformation se seffectue pas directement, il seffectue toujours via laccumulateur 1 (ACCU 1). LACCU 1 est un registre dans le processeur et sert de mmoire intermdiaire. Le flux dinformation est directionnel : CHARGER : de la mmoire source lACCU 1 TRANSFERER : de lACCU la mmoire cible TRANSFERER
MEMOIRE CIBLE

CHARGER
MEMOIRE SOURCE 31 1615

ACCU 1
0

Lors du chargement, le contenu de la mmoire source dsigne est copi et crit dans lACCU 1. Le contenu sy trouvant jusque l est transmis lACCU 2. Lors du transfert, le contenu de lACCU 1 est copi et crit dans la mmoire cible dsigne. Puisque le contenu de laccumulateur a t seulement copi (et pas dplac) il reste disposition pour dautres oprations de transfert.

LIST : : L EW : T AW : L +5

0 4 PAE
(*1

EW 0

ACC ACC

AW 4 AW 6

PAA

(*2

+5 Constante 6

PAA

: T AW :

*1: Image des processus des entres

*2: Image des processus des sorties

Charger et transfrer sont deux oprations inconditionnelles, compltement indpendantes du rsultat logique et excutes chaque cycle.

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 25 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

2.15

FONCTIONS DE COMPARAISON Le langage de programmation STEP7 vous offre la possibilit de comparer 2 valeurs compteur directement et de propager immdiatement le rsultat de la comparaison ( VKE ). La condition pralable pour se faire, est que les deux nombres aient le mme format. Les couples de valeurs suivants peuvent tre compars : 2 entiers ( 16 bits 2 entiers ( 32 bits 2 rels ( virgule flottante, 32 bits, Symbole : I ) Symbole : D ) Symbole : R )

Vous pouvez choisir jusqu 6 types diffrents doprateurs de comparaison : gale diffrente
Valeur compteur Z 1 est-

Plus grande ou

( dans Accu 2)

Plus grande
Plus petite ou

Plus petite

== <> >= > < <

la valeur compteur Z 2 ? ( dans Accu 1 )

A laide des fonctions de comparaison, on compare directement deux valeurs se trouvant lune dans lACCU1 et lautre dans lACCU2. La premire opration de chargement charge le premier oprande dans lACCU1. La deuxime opration de chargement transfert tout dabord le premier oprande depuis lACCU1 lACCU2, puis charge le deuxime oprande (par ex. EW 2) dans lACCU1. Par la suite, les deux valeurs se trouvant dans les deux accumulateurs sont compares bit bit dans un bloc arithmtique. Le rsultat de la comparaison est binaire. Si la comparaison est vraie, on obtient le rsultat logique 1. Si elle est fausse, VKE est mis 0.

CONT/LO G
>

LIS T
L EW 0 L EW 2 >I

( )
EW 0 EW 2
IN IN

ACCU 1 EW 0 EW 2

ACCU 2 *** EW 0

Bloc = A 4.7 VKE

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 26 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

2.16 2.16.1

ORGANISATION DU PROGRAMME APPEL DE BLOC (CALL) Avec lappel de bloc CALL vous pouvez appeler des fonctions (FC) et des blocs de fonctions (FB) ainsi que des fonctions systme (SFC) et des blocs de fonctions systme (SFB). On peut simultanment transfrer des paramtres, crire des variables, ouvrir les blocs locaux correspondants de FB ou SFB. Sil ny a pas de variables dclares dans le module appel, alors cette commande est quivalente la commande UC.

LIST CALL ZAHL := AUS := TEST := CONT/LOG FB1, DB20 EW 1 ZAHL (Paramtre formel) est attribu EW 1 (paramtre actif). AUS (Paramtre formel) nest attribu aucun paramtre. TEST (Paramtre formel) nest attribu aucun paramtre.

2.16.2

APPEL DE BLOC CONDITIONNEL (CC) A laide de lappel de bloc CC, vous pouvez appeler des fonctions (FC) et des blocs de fonctions (FB) ainsi que des fonctions systme (SFC) et des blocs de fonctions systme (SFB). Vous ne pouvez toutefois pas transfrer des paramtres ou crire des variables. Lappel ne sera excut que si le rsultat logique vaut 1. CONT/LOG
E 0.0 FC

LIST
U C E FC

| |

(CALL )

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 27 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

2.16.3

APPEL DE BLOC INCONDITIONNEL (UC) A laide de lappel de bloc UC, vous pouvez appeler des fonctions (FC) et des blocs de fonctions (FB) ainsi que des fonctions systme (SFC) et des blocs de fonctions systme (SFB). Vous ne pouvez toutefois pas transfrer des paramtres ou crire des variables. Lexcution de lappel est indpendante du rsultat logique. CONT/LOG LIST
U FC

(CALL )

2.16.4

OUVRIR UN BLOC DE DONNEES (AUF) A laide de lopration Ouvrir un Bloc de Donnes (AUF), vous pouvez ouvrir un bloc de donnes (DB) ou un bloc instance de donnes (DI), afin de pouvoir accder aux donnes qui y sont contenues ( par ex. avec les oprations de chargement et de transfert ). CONT/LOG LIST
AUF L T DB DBW 0 MW 1

(
OPN

2.16.5

TERMINAISON CONDITIONNELLE DE BLOC (BEB) SEULEMENT EN LIST Selon le rsultat logique, cette opration termine le traitement du bloc en cours et revient au bloc qui a lanc la demande de terminaison. Cette opration seffectue seulement si le rsultat logique vaut 1. LIST
U BEB E

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 28 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

2.16.6

TERMINAISON INCONDITIONNELLE DE BLOC (BEA) SEULEMENT EN LIST Cette opration termine le traitement du bloc en cours et revient au bloc qui a lanc la demande de terminaison. Lexcution de cette opration est indpendante du rsultat logique. LIST
...(instructions BEA

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 29 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

2.17 2.17.1

OPERATIONS DE SAUTS SAUT INCONDITIONNEL (SPA) Lopration SPA interrompt le droulement normal du programme et saute lindex de saut indiqu dans loprande. Le saut seffectue quel que soit le rsultat logique.

CONT/LO
Rseau

Rseau

LIS T

(
Rseau SUP E 1.1

...(instructions SPA SUP

| |

Rseau SUP: E 1.1 U SUP: S A

2.17.2

SAUT CONDITIONNEL (SPB/SPBN) Les oprations de saut conditionnel interrompent le droulement normal du programme et procdent un saut lindex de saut indiqu dans loprande. Le saut seffectue en fonction du contenu du rsultat logique. Vous pouvez excuter les oprations de saut conditionnel suivantes : SPB : SPBN : saut si VKE = 1 saut si VKE = 0

CONT/LOG
Rseau 1 E 0.0

LIST
Rseau 1 U E SPB SUP1 U E SPBN SUP2 SUP1: Rseau 4 E S A Rseau 8 E S A

| |

( JMP )
SUP2

(Si VKE = 1) (Si VKE = 0)

(JMPN )
Rseau 4 SUP1 E| 0.1 | A ( S

SUP1: U

)
SUP2:

SUP2: U

Rseau 8 SUP2 E 0.2

| |

A S

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 30 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

2.17.3

BOUCLE DE PROGRAMME (LOOP) SEULEMENT EN LIST A laide dune boucle de programme (LOOP), vous pouvez traiter un bout de programme plusieurs fois la suite. Pour cela vous devez charger une constante dans le mot de poids faible de lACCU1. Ce nombre sera ensuite dcrment de 1 par lopration LOOP. Ensuite cette valeur compteur sera compare <>0. Si cela ne vaut pas 0, alors lopration LOOP conduit un saut lindex (NEXT dans notre exemple) ; sinon linstruction suivante sera excute. L 5 MW 10

NEXT: T

L MW 10 LOOP NEXT

La boucle de programme (LOOP) nest disponible quen mode de reprsentation LIST.

2.18 2.18.1

OPERATIONS NULL OPERATION NULL 0 / 1 (NOP0/NOP1) SEULEMENT EN LIST Ces oprations nexcutent aucune fonction et nont pas dincidence sur le mot de statut. Linterprteur a besoin des oprations NULL pour linterprtation retour, par ex. de LIST vers CONT.

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 31 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7

Automation and drives - SCE

2.19

TRAITEMENT DU VKE En STEP7, on trouve des oprations qui peuvent changer la valeur du rsultat logique (VKE) Puisque dans celles-ci VKE est directement modifi, ces oprations nont pas doprandes.

2.19.1

NEGATION DU VKE (NO) SEULEMENT EN LIST Vous pouvez effectuer dans votre programme une ngation du VKE actuel laide de lopration NON (NOT) (ngation). Si le VKE actuel est 0, alors lopration NON le change en 1, si le VKE actuel est 1, alors lopration NON le change en 0.

2.19.2

METTRE A 1 LE VKE (SET) SEULEMENT EN LIST Vous pouvez mettre le bit VKE inconditionnellement 1 dans votre programme en utilisant lopration MISE A 1 (SET).

2.19.3

REMISE A ZERO DU VKE (CLR) SEULEMENT EN LIST Vous pouvez remettre le bit VKE inconditionnellement 0 dans votre programme en utilisant lopration REMISE A 0 (CLR).

2.19.4

SAUVEGARDE DU VKE (SAVE) SEULEMENT EN LIST Vous avez la possibilit de sauvegarder le VKE dans le bit de statut (BIE) du mot de statut dans votre programme laide de lopration SAUVER (SAVE), pour pouvoir vous en servir ultrieurement. Le mot de statut contient des bits auxquels peuvent accder en oprandes les oprations logiques mot/bit. BIE Par ex.: Bit0 Liste dinstructions : SET = M 1.0 = E 0.0 CLR = M 1.0 = E 0.0 NOT SAVE 0 0 1 1 sauvegarde dans le bit BIE du mot de statut 1 1 0 Etat signal : Rsultat logique (VKE): 1 A1 Bit8 A0 Bit7 OV Bit6 OS Bit5 OR Bit4 STA Bit3 VKE Bit2 /ER Bit1

Document de formation T I A Edition: 05/2004 ; fr : 31/09/2004

Page 32 sur 32 Annexe III Commandes de programmation de base CONT/LOG/LIST en STEP 7