You are on page 1of 216

Avant-propos,

Sommaire

SIMATIC
Langage CONT pour
SIMATIC S7-300/400

Oprations combinatoires
sur bits

Oprations de comparaison

Oprations de conversion

Oprations de comptage

Oprations sur blocs


de donnes

Oprations de saut

Fonctions sur nombres entiers

Fonctions sur nombres


virgule flottante

Oprations de transfert

Manuel de rfrence

Oprations de gestion
d'excution de programme

10

Oprations de dcalage
et de rotation

11

Oprations sur bits d'tat

12

Oprations de temporisation

13

Oprations combinatoires
sur mots

14

Annexe
Ce manuel est livr avec
la documentations rfrence :
6ES7810-4CA07-8CW1

Prsentation de toutes
les oprations CONT

Exemples de programmation

Pour travailler en CONT

Index

Edition 01/2004
A5E00261417-01

Consignes de scurit
Ce manuel donne des consignes que vous devez respecter pour votre propre scurit ainsi que pour
viter des dommages matriels. Elles sont mises en vidence par un triangle d'avertissement et sont
prsentes, selon le risque encouru, de la faon suivante :

Danger

Prcaution

Avertissement

signifie que la non-application des mesures de scurit appropries conduit la mort, des lsions
corporelles graves ou un dommage matriel important.

signifie que la non-application des mesures de scurit appropries peut conduire la mort, des
lsions corporelles graves ou un dommage matriel important.

signifie que la non-application des mesures de scurit appropries peut conduire des lsions
corporelles lgres.

Avertissement
signifie que la non-application des mesures de scurit appropries peut conduire un dommage
matriel.

Attention
doit vous rendre tout particulirement attentif des informations importantes sur le produit, aux
manipulations effectuer avec le produit ou la partie de la documentation correspondante.

Personnel qualifi
La mise en service et l'utilisation de l'appareil ne doivent tre effectues que conformment au manuel.
Seules des personnes qualifies sont autorises effectuer des interventions sur l'appareil. Il s'agit de
personnes qui ont l'autorisation de mettre en service, de mettre la terre et de reprer des appareils,
des systmes et circuits lectriques conformment aux rgles de scurit en vigueur.

Utilisation conforme
Tenez compte des points suivants :

Attention
L'appareil, le systme ou le composant ne doit tre utilis que pour les applications spcifies dans le
catalogue ou dans la description technique, et exclusivement avec des priphriques et composants
recommands par Siemens.
Le transport, le stockage, le montage, la mise en service ainsi que l'utilisation et la maintenance
adquats de l'appareil sont les conditions indispensables pour garantir son fonctionnement correct et
sr.

Marque de fabrique
SIMATIC, SIMATIC NET et SIMATIC HMI sont des marques dposes par SIEMENS AG.
Les autres dsignations dans ce document peuvent tre des marques dont l'utilisation par des tiers
leurs propres fins peut enfreindre les droits des propritaires desdites marques.
Copyright Siemens AG 2004 Tous droits rservs

Exclusion de responsabilit

Toute communication et 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 d'un
brevet ou celui de l'enregistrement d'un modle d'utilit.

Nous avons vrifi la conformit du contenu du prsent manuel


avec le matriel et le logiciel qui y sont dcrits. Or des
divergences n'tant pas exclues, nous ne pouvons pas nous
porter garants pour la conformit intgrale. Si l'usage 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 AG
Bereich Automation and Drives
Geschaeftsgebiet Industrial Automation Systems
Postfach 4848, D-90327 Nuernberg

Siemens Aktiengesellschaft

Siemens AG 2004
Sous rserve de modifications techniques

A5E00261417-01

Avant-propos
Objet du manuel
Ce manuel vous aidera crire des programmes utilisateur en langage CONT.
Il contient une partie de rfrence dcrivant la syntaxe et le fonctionnement des lments du
langage de programmation CONT.

Connaissances fondamentales requises


Ce manuel s'adresse aux programmeurs souhaitant laborer des programmes S7 ainsi
qu'au personnel charg de la mise en service et de la maintenance.
La comprhension du manuel requiert des connaissances gnrales dans le domaine de la
technique d'automatisation.
Nous supposerons en outre des connaissances dans l'utilisation d'ordinateurs ou autres
quipements (par exemple consoles de programmation) analogues au PC et des systmes
d'exploitation MS Windows 2000 Professional ou
MS Windows XP Professional.

Domaine de validit du manuel


Le prsent manuel est valable pour le logiciel STEP 7 V5.3.

Norme
CONT correspond au langage Schma contacts dfini dans la norme
CEI 1131-3. Pour plus de renseignements ce sujet, consultez la table de correspondance
la norme dans le fichier NORM_TBL.WRI (anglais) ou NORM_TAB.WRI (allemand) de
STEP 7.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

iii

Avant-propos

Connaissances requises
Vous trouverez dans l'aide en ligne de STEP 7 les connaissances thoriques sur les
programmes S7 ncessaires la comprhension de ce manuel sur CONT. Les langages de
programmation se basant sur le logiciel de base STEP 7, nous supposerons que vous savez
utiliser ce logiciel et sa documentation.
Ce manuel fait partie de la documentation "STEP 7 Connaissances fondamentales.
Le tableau suivant prsente la documentation de STEP 7:
Manuel

Objet

Numro de rfrence

STEP 7 Connaissances fondamentales avec

Connaissances fondamentales pour


le personnel technique. Dcrit la
marche suivre pour raliser des
tches dautomatisation avec
STEP 7 et S7-300/400.

6ES7810-4CA07-8CW0

Manuels de rfrence dcrivant les


langages de programmation CONT,
LOG et LIST de mme que les
fonctions standard et les fonctions
systme en complment des
connaissances fondamentales de
STEP 7.

6ES7810-4CA07-8CW1

STEP 7 V5.3
Getting Started

Programmer avec STEP 7 V5.3

Configuration matrielle et communication


dans STEP 7 V5.3

STEP 7
Pour une transition facile de S5 S7

STEP 7 Manuels de rfrence sur les

Langages CONT/LOG/LIST pour SIMATIC


S7-300/400

Logiciel systme pour SIMATIC


S7-300/400
Fonctions standard et fonctions systme

Aides en ligne

Objet

Numro de rfrence

Aide de STEP 7

Connaissances fondamentales pour


la programmation ainsi que pour la
configuration du matriel avec
STEP 7, sous forme daide en ligne.

Fait partie du logiciel


STEP 7

Aides de rfrence de LIST/CONT/LOG


Aide de rfrence sur les SFB/SFC
Aide de rfrence sur les blocs dorganisation

Aides en ligne contextuelles de


rfrence

Fait partie du logiciel


STEP 7

iv

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Avant-propos

Aide en ligne
En complment au manuel, laide en ligne intgre au logiciel vous offre une assistance
dtaille lors de lutilisation du logiciel.
Ce systme daide est intgr au logiciel grce plusieurs interfaces :
Laide contextuelle donne des informations sur le contexte actuel, par exemple sur une
bote de dialogue ouverte ou sur une fentre active. Vous lappelez en cliquant sur le
bouton Aide ou en appuyant sur la touche F1.
Le menu daide ? propose plusieurs commandes : Rubrique daides ouvre le sommaire
de laide de STEP 7.
Vous obtenez le glossaire relatif toutes les applications de STEP 7 en cliquant sur
"Glossaire".
Ce manuel est extrait de l' "Aide pour CONT". En raison de la structure similaire entre le
manuel et laide en ligne, le passage de lun lautre est ais.

Assistance supplmentaire
Si des questions sont restes sans rponse dans ce manuel, veuillez vous adresser votre
interlocuteur Siemens dans la filiale ou l'agence de votre rgion.
Vous trouvez votre interloculeur sous :
http://www.siemens.com/automation/partner

Centre de formation SIMATIC


Nous proposons des cours de formation pour vous faciliter l'apprentissage des automates
programmables SIMATIC S7. Veuillez vous adresser votre centre de formation rgional ou
au centre principal D 90327 Nuremberg.
Tlphone :
Internet:

+49 (911) 895-3200.


http://www.sitrain.com

Langage CONT pour SIMATIC S7-300/400


A5E00171243-02

Avant-propos

A&D Technical Support


Accessible dans le monde entier toute heure :

Nure nbe rg
Be ijing

Jo hns o n City

Worldwide (Nuernberg)
Technical Support
Heure locale : 0h 24h / 365 jours
Tl. :

+49 (180) 5050-222

Fax:

+49 (180) 5050-223

E-Mail:

adsupport@
siemens.com

GMT:

+1:00

Europe / Africa (Nuernberg)

United States (Johnson City)

Asia / Australia (Beijing)

Authorization

Technical Support and


Authorization

Technical Support and


Authorization

Heure locale : lu-ve. 8h 17h

Heure locale : lu-ve 8h 17h

Heure locale : lu-ve 8h 17h

Tl. :

+49 (180) 5050-222

Tl. :

+1 (423) 262 2522

Tl. :

+86 10 64 75 75 75

Fax:

+49 (180) 5050-223

Fax:

+1 (423) 262 2289

Fax:

+86 10 64 74 74 74

E-Mail:

adsupport@
siemens.com

E-Mail:

simatic.hotline@

E-Mail:

adsupport.asia@

GMT:

+1:00

GMT:

-5:00

GMT:

+8:00

sea.siemens.com

siemens.com

Les langues parles au Technical Support et sur la Hotline des autorisations sont gnralement l'Allemand et l'Anglais.

vi

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Avant-propos

Service & Support sur Internet


En plus de la documentation offerte, vous trouvez la totalit de notre savoir-faire en ligne sur
Internet l'adresse suivante :
http://www.siemens.com/automation/service&support
Vous y trouvez :
le bulletin d'informations qui vous fournit constamment les dernires informations sur le
produit,
les documents dont vous avez besoin l'aide de la fonction de recherche du
Service & Support,
le forum o utilisateurs et spcialistes peuvent changer informations,
votre interlocuteur Automation & Drives sur place,
des informations sur le service aprs-vente, les rparations, les pices de rechange la
rubrique "Service".

Langage CONT pour SIMATIC S7-300/400


A5E00171243-02

vii

Avant-propos

viii

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Sommaire
1

Oprations combinatoires sur bits ...................................................................................... 1-1


1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
1.11
1.12
1.13
1.14
1.15
1.16
1.17
1.18

Oprations de comparaison ................................................................................................. 2-1


2.1
2.2
2.3
2.4

Vue d'ensemble des oprations combinatoires sur bits........................................... 1-1


---| |--- Contact fermeture .................................................................................. 1-2
---| / |--- Contact ouverture................................................................................... 1-3
XOR Combinaison OU exclusif .............................................................................. 1-4
---|NOT|--- Inverser RLG ........................................................................................ 1-5
---( ) Bobine de sortie ........................................................................................... 1-6
---( # )--- Connecteur .............................................................................................. 1-8
---( R ) Mettre 0.................................................................................................... 1-9
---( S ) Mettre 1.................................................................................................. 1-11
RS
Bascule mise 0, mise 1 ......................................................................... 1-12
SR
Bascule mise 1, mise 0 ......................................................................... 1-14
---( N )--- Dtecter front descendant..................................................................... 1-16
---( P )--- Dtecter front montant .......................................................................... 1-17
---(SAVE) Sauvegarder RLG dans RB................................................................. 1-18
NEG Dtecter front descendant de signal............................................................ 1-19
POS Dtecter front montant de signal ................................................................. 1-20
Lecture directe en priphrie ................................................................................. 1-21
Ecriture directe en priphrie ................................................................................. 1-23

Vue d'ensemble des oprations de comparaison .................................................... 2-1


CMP ? I
Comparer entiers de 16 bits.................................................................. 2-2
CMP ? D Comparer entiers de 32 bits .................................................................. 2-3
CMP ? R Comparer rels ..................................................................................... 2-4

Oprations de conversion .................................................................................................... 3-1


3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
3.16

Vue d'ensemble des oprations de conversion ....................................................... 3-1


BCD_I Convertir nombre DCB en entier de 16 bits .............................................. 3-2
I_BCD Convertir entier de 16 bits en nombre DCB .............................................. 3-3
I_DI Convertir entier de 16 bits en entier de 32 bits.............................................. 3-4
BCD_DI Convertir nombre DCB en entier de 32 bits............................................ 3-5
DI_BCD Convertir entier de 32 bits en nombre DCB............................................ 3-6
DI_R Convertir entier de 32 bits en rel................................................................ 3-7
INV_I Complment 1 d'entier de 16 bits ............................................................ 3-8
INV_DI Complment 1 dentier de 32 bits.......................................................... 3-9
NEG_I Complment 2 dentier de 16 bits......................................................... 3-10
NEG_DI Complment 2 dentier de 32 bits ...................................................... 3-11
NEG_R Inverser le signe d'un nombre rel ........................................................ 3-12
ROUND Arrondir ................................................................................................. 3-13
TRUNC Tronquer la partie entire ................................................................... 3-14
CEIL Convertir rel en entier suprieur le plus proche ....................................... 3-15
FLOOR Convertir rel en entier infrieur le plus proche..................................... 3-16

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

vii

Sommaire

Oprations de comptage....................................................................................................... 4-1


4.1
4.2
4.3
4.4
4.5
4.6
4.7

Oprations sur blocs de donnes........................................................................................ 5-1


5.1

8.3
8.3.1
8.3.2
8.3.3
8.3.4
8.3.5
8.4
8.4.1
8.4.2
8.4.3
8.4.4
8.4.5
8.4.6
8.4.7
8.4.8
8.4.9
8.4.10

Vue d'ensemble des oprations arithmtiques sur nombre entiers ......................... 7-1
Evaluation des bits du mot d'tat dans les oprations sur nombres entiers ............ 7-2
ADD_I Additionner entiers de 16 bits .................................................................... 7-3
SUB_I
Soustraire entiers de 16 bits ................................................................... 7-4
MUL_I
Multiplier entiers de 16 bits.................................................................... 7-5
DIV_I
Diviser entiers de 16 bits ........................................................................ 7-6
ADD_DI Additionner entiers de 32 bits ................................................................ 7-7
SUB_DI Soustraire entiers de 32 bits .................................................................. 7-8
MUL_DI
Multiplier entiers de 32 bits ................................................................... 7-9
DIV_DI
Diviser entiers de 32 bits ..................................................................... 7-10
MOD_DI Reste de division (32 bits)................................................................... 7-11

Vue d'ensemble des oprations arithmtiques sur nombres virgule flottante ...... 8-1
Evaluation des bits du mot d'tat dans les oprations sur nombres
virgule flottante ...................................................................................................... 8-2
Oprations de base .................................................................................................. 8-3
ADD_R Additionner rels ...................................................................................... 8-3
SUB_R Soustraire rels ........................................................................................ 8-4
MUL_R Multiplier rels .......................................................................................... 8-5
DIV_R Diviser rels ............................................................................................... 8-6
ABS Valeur absolue d'un nombre rel .................................................................. 8-7
Oprations tendues ................................................................................................ 8-8
SQR Carr............................................................................................................. 8-8
SQRT Racine carre ............................................................................................. 8-9
EXP Valeur exponentielle ................................................................................... 8-10
LN Logarithme naturel......................................................................................... 8-11
SIN Sinus ............................................................................................................ 8-12
COS Cosinus....................................................................................................... 8-13
TAN Tangente ..................................................................................................... 8-14
ASIN Arc sinus .................................................................................................... 8-15
ACOS Arc cosinus............................................................................................... 8-16
ATAN Arc tangente ............................................................................................. 8-17

Oprations de transfert ......................................................................................................... 9-1


9.1

viii

Vue d'ensemble des oprations de saut .................................................................. 6-1


---(JMP)--- Saut inconditionnel .............................................................................. 6-2
---(JMP)--- Saut l'intrieur d'un bloc si 1 (conditionnel)...................................... 6-3
---( JMPN ) Saut l'intrieur d'un bloc si 0 (conditionnel)..................................... 6-4
LABEL Repre de saut.......................................................................................... 6-5

Fonctions sur nombres virgule flottante.......................................................................... 8-1


8.1
8.2

Ouvrir bloc de donnes .......................................................................... 5-1

Fonctions sur nombres entiers ............................................................................................ 7-1


7.1
1.2
7.3
7.4
7.5
7.6
7.7
7.8
7.9
7.10
7.11

---(OPN)

Oprations de saut ................................................................................................................ 6-1


6.1
6.2
6.3
6.4
6.5

Vue d'ensemble des oprations de comptage ......................................................... 4-1


ZAEHLER
Paramtrage et compteur
d'incrmentation/dcrmentation ..... 4-3
Z_VORW
Paramtrage et compteur d'incrmentation...................................... 4-5
Z_RUECK
Paramtrage et compteur de dcrmentation................................ 4-7
---( SZ ) Initialiser compteur...................................................................................... 4-9
---( ZV ) Incrmenter........................................................................................... 4-10
---( ZR ) Dcrmenter............................................................................................. 4-11

MOVE

Affecter valeur.......................................................................................... 9-1

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Sommaire

10

Oprations de gestion d'excution de programme.......................................................... 10-1


10.1
10.2
10.3
10.4
10.5
10.6
10.7
10.8
10.9
10.10
10.11
10.12
10.13
10.14

11

Oprations de dcalage et de rotation .............................................................................. 11-1


11.1
11.1.1
11.1.2
11.1.3
11.1.4
11.1.5
11.1.6
11.1.7
11.2
11.2.1
11.2.2
11.2.3

12

Oprations de dcalage ......................................................................................... 11-1


Vue d'ensemble des oprations de dcalage ........................................................ 11-1
SHR_I
Dcalage vers la droite d'un entier de 16 bits ...................................... 11-2
SHR_DI Dcalage vers la droite d'un entier de 32 bits...................................... 11-3
SHL_W
Dcalage vers la gauche d'un mot ...................................................... 11-5
SHR_W Dcalage vers la droite d'un mot.......................................................... 11-6
SHL_DW
Dcalage vers la gauche d'un double mot ........................................ 11-7
SHR_DW Dcalage vers la droite d'un double mot ............................................. 11-9
Oprations de rotation.......................................................................................... 11-11
Vue d'ensemble des oprations de rotation......................................................... 11-11
ROL_DW Rotation vers la gauche d'un double mot .......................................... 11-11
ROR_DW
Rotation vers la droite d'un double mot.......................................... 11-12

Oprations sur bits d'tat ................................................................................................... 12-1


12.1
12.2
12.3
12.4
12.5
12.6
12.7
12.8
12.9
12.10
12.11

13

Vue d'ensemble des oprations de gestion d'excution de programme ............... 10-1


---(Call) Appeler FC/SFC sans paramtre........................................................... 10-2
CALL_FB
Appeler FB (bote) ........................................................................... 10-4
CALL_FC Appeler FC (bote) .............................................................................. 10-6
CALL_SFB Appeler SFB (bote) ......................................................................... 10-8
CALL_SFC Appeler SFC (bote) ....................................................................... 10-10
Appeler multi-instance.......................................................................................... 10-12
Appeler un bloc dans une bibliothque ................................................................ 10-12
Remarques importantes sur l'utilisation de la fonctionnalit MCR....................... 10-13
---(MCR<) Relais de masquage en fonction ..................................................... 10-14
---(MCR>) Relais de masquage hors fonction .................................................. 10-16
---(MCRA) Activer relais de masquage ............................................................. 10-18
---(MCRD) Dsactiver relais de masquage ....................................................... 10-19
---(RET)
Retour ............................................................................................ 10-20

Vue d'ensemble des oprations sur bits d'tat....................................................... 12-1


OV ---| |--- Bit d'anomalie "dbordement"........................................................... 12-2
OS ---| |--- Bit d'anomalie "dbordement mmoris".......................................... 12-3
UO ---| |--- Bit d'anomalie "illicite" ....................................................................... 12-5
BIE ---| |--- Bit d'anomalie "registre RB" ............................................................. 12-6
==0 ---| |--- Bit de rsultat pour gal 0 ............................................................. 12-7
<>0 ---| |--- Bit de rsultat pour diffrent de 0..................................................... 12-8
>=0 ---| |--- Bit de rsultat pour suprieur ou gal 0........................................ 12-9
<=0 ---| |--- Bit de rsultat pour infrieur ou gal 0........................................ 12-10
>0 ---| |--- Bit de rsultat pour suprieur 0..................................................... 12-11
<0 ---| |--- Bit de rsultat pour infrieur 0....................................................... 12-12

Oprations de temporisation.............................................................................................. 13-1


13.1
13.2
13.3
13.4
13.5
13.6
13.7
13.8
13.9

Vue d'ensemble des oprations de temporisation ................................................. 13-1


Adresse d'une temporisation en mmoire et composants d'une temporisation..... 13-2
S_IMPULS Paramtrer et dmarrer temporisation
sous forme d'impulsion........................................................................................... 13-5
S_VIMP Paramtrer et dmarrer temporisation
sous forme d'impulsion prolonge.......................................................................... 13-7
S_EVERZ Paramtrer et dmarrer temporisation
sous forme de retard la monte .......................................................................... 13-9
S_SEVERZ
Paramtrer et dmarrer temporisation
sous forme de retard la monte mmoris ....................................................... 13-11
S_AVERZ
Paramtrer et dmarrer temporisation
sous forme de retard la retombe ..................................................................... 13-13
---( SI ) Dmarrer temporisation sous forme d'impulsion ..................................... 13-15
---( SV ) Dmarrer temporisation sous forme d'impulsion prolonge................... 13-17

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

ix

Sommaire

13.10
13.11
13.12
14

Oprations combinatoires sur mots .................................................................................. 14-1


14.1
14.2
14.3
14.4
14.5
14.6
14.7

Oprations CONT classes daprs les abrviations allemandes (SIMATIC)......... A-1


Oprations CONT classes daprs les abrviations anglaises (International)....... A-5

Exemples de programmation ...............................................................................................B-1


B.1
B.2
B.3
B.4
B.5
B.6

Vue d'ensemble des oprations combinatoire sur mots ........................................ 14-1


WAND_W ET mot .............................................................................................. 14-2
WOR_W
OU mot.............................................................................................. 14-3
WXOR_W
OU exclusif mot ............................................................................... 14-4
WAND_DW ET double mot ................................................................................. 14-5
WOR_DW OU double mot ................................................................................. 14-6
WXOR_DW OU exclusif double mot.................................................................. 14-7

Prsentation de toutes les oprations CONT .....................................................................A-1


A.1
A.2

---( SE ) Dmarrer temporisation sous forme de retard la monte ................... 13-19


---( SS ) Dmarrer temporisation sous forme de retard la monte mmoris .. 13-21
---( SA ) Dmarrer temporisation sous forme de retard la retombe ................ 13-23

Vue d'ensemble des exemples de programmation .................................................. B-1


Exemples : Oprations combinatoires sur bits......................................................... B-2
Exemple : Oprations de temporisation ................................................................... B-6
Exemple : Oprations de comptage et de comparaison .......................................... B-9
Exemple : Oprations arithmtiques sur nombres entiers ..................................... B-11
Exemple : Oprations combinatoires sur mots ...................................................... B-12

Pour travailler en CONT ........................................................................................................C-1


C.1
C.1.1
C.1.2
C.1.3
C.1.4
C.2

Mcanisme EN/ENO ................................................................................................C-1


Addition avec combinaison EN et avec combinaison ENO......................................C-2
Addition avec combinaison EN et sans combinaison ENO......................................C-3
Addition sans combinaison EN et avec combinaison ENO......................................C-3
Addition sans combinaison EN et sans combinaison ENO......................................C-4
Transmission de paramtres....................................................................................C-4

Index

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

1.1

Oprations combinatoires sur bits

Vue d'ensemble des oprations combinatoires sur bits

Description
Les oprations combinatoires sur bits utilisent deux chiffres : 1 et 0. Ces deux chiffres sont
la base du systme de numration binaire et sont appels chiffres binaires ou bits. Pour les
contacts et les bobines, 1 signifie activ ou excit et 0 signifie dsactiv ou dsexcit.
Les oprations de combinaison sur bits valuent les tats de signal 1 et 0 et les combinent
selon la logique boolenne. Le rsultat de ces combinaisons est gal 1 ou 0. Il sagit du
rsultat logique (RLG).
Il existe des oprations combinatoires sur bits pour effectuer les fonctions suivantes :

---| |---

Contact fermeture

---| / |---

Contact ouverture

---(SAVE)

Sauvegarder RLG dans RB

XOR

Combinaison OU exclusif

---( )

Bobine de sortie

---( # )---

Connecteur

---|NOT|---

Inverser RLG

Les oprations suivantes ragissent un RLG gal 1 :

---( S )

Mettre 1

---( R )

Mettre 0

SR

Bascule mise 1, mise 0

RS

Bascule mise 0, mise 1

Dautres oprations excutent les fonctions suivantes en cas de front montant ou


descendant :

---(N)---

Dtecter front descendant

---(P)---

Dtecter front montant

NEG

Dtecter front descendant de signal

POS

Dtecter front montant de signal

Lecture directe en priphrie

Ecriture directe en priphrie

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

1-1

Oprations combinatoires sur bits

1.2

---| |--- Contact fermeture

Reprsentation
<oprande>
---| |--Paramtre

Type de
donnes

Zone de mmoire

Description

<oprande>

BOOL

E, A, M, L, D, T, Z

Bit interrog

Description de l'opration
---| |--- (Contact fermeture)
Le contact est ferm si la valeur du bit interrog sauvegarde en <oprande> gale 1. Dans
pareil cas, le courant traverse le contact et l'opration fournit un rsultat logique (RLG) gal
1.
En revanche, si l'tat de signal en <oprande> est 0, le contact est ouvert : aucun courant
ne le traverse et l'opration fournit un rsultat logique gal 0.
S'il s'agit d'une connexion en srie, le contact ---| |--- est combin au RLG bit par bit selon
la table de vrit ET. S'il s'agit d'une connexion en parallle, le contact est combin au RLG
selon la table de vrit OU.

Mot d'tat
Ecriture:

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple

E 0.0

E 0.1

E 0.2

Flux d'nergie si l'une des conditions suivantes est satisfaite :


L'tat de signal est 1 aux entres E 0.0 ET E 0.1 OU l'tat de signal est 1 l'entre E 0.2.

1-2

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations combinatoires sur bits

1.3

---| / |--- Contact ouverture

Reprsentation
<oprande>
---| / |--Paramtre

Type de
donnes

Zone de mmoire

Description

<oprande>

BOOL

E, A, M, L, D, T, Z

Bit interrog

Description de l'opration
---| / |--- (Contact ouverture)
Le contact est ferm si la valeur du bit interrog sauvegarde en <oprande> gale 0. Dans
ce cas, le courant traverse le contact et l'opration fournit un rsultat logique (RLG) gal 1.
En revanche, si l'tat de signal en <oprande> est 1, le contact est ouvert : aucun courant
ne le traverse et l'opration fournit un rsultat logique gal 0.
S'il s'agit d'une connexion en srie, le contact ---| / |--- est combin au RLG bit par bit selon
la table de vrit ET. S'il s'agit d'une connexion en parallle, le contact est combin au RLG
selon la table de vrit OU.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0

E 0.1

E 0.2

Flux d'nergie si l'une des conditions suivantes est satisfaite :


L'tat de signal est 1 aux entres E 0.0 ET E 0.1 OU l'tat de signal est 0 l'entre E 0.2.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

1-3

Oprations combinatoires sur bits

1.4

XOR Combinaison OU exclusif

Reprsentation
Cette fonction XOR exige un rseau de contacts ouverture et fermeture (comme
reprsent ci-dessous).

<oprande1> <oprande12>

<oprande11> <oprande12>

Paramtre

Type de
donnes

Zone de mmoire

Description

<oprande1>

BOOL

E, A, M, L, D, T, Z

Bit interrog

<oprande2

BOOL

E, A, M, L, D, T, Z

Bit interrog

Description de l'opration
XOR (Combinaison OU exclusif)
Cette opration gnre un RLG gal 1 si l'tat de signal des deux bits prciss est
diffrent.

Exemple
E 0.0

E 0.1

E 0.0

E 0.1

A 4.0

La sortie A 4.0 est mise 1 si (E 0.0 gale 0 ET E 0.1 gale 1) OU (E 0.0 gale 1 ET E0.1
gale 0).

1-4

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations combinatoires sur bits

1.5

---|NOT|--- Inverser RLG

Reprsentation
---|NOT|---

Description de l'opration
---|NOT|--- (Inverser RLG)
Cette opration inverse le bit de rsultat logique (RLG).

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
A 4.0

E 0.0
NOT

E 0.1

E 0.2

La sortie A 4.0 est 0 si l'une des conditions suivantes est satisfaite :


L'tat de signal l'entre E 0.0 est 1 OU l'tat l'entre E 0.1. ET l'entre E 0.2 est 1.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

1-5

Oprations combinatoires sur bits

1.6

---( ) Bobine de sortie

Reprsentation
<oprande>
---(

Paramtre

Type de
donnes

Zone de
mmoire

Description

<oprande>

BOOL

E, A, M, L, D

Bit affect

Description de l'opration
---( ) (Bobine de sortie)
Cette opration fonctionne comme une bobine dans un schma relais. Si l'nergie atteint
la bobine (RLG = 1), le bit en <oprande> est mis 1. Si l'nergie n'atteint pas la bobine
(RLG = 0), le bit en <oprande> est mis 0. Vous ne pouvez placer une sortie qu'
l'extrmit droite d'un trajet de courant. Jusqu' 16 sorties multiples sont possibles (voir
exemples). Vous pouvez crer une sortie inverse l'aide de l'opration ---|NOT|--- (Inverser
RLG).

Dpendance par rapport au relais de masquage (Master Control Relay, MCR)


La dpendance par rapport au relais MCR est uniquement active si une bobine de sortie
est dans une zone MCR active. Si le relais MCR est en fonction et que l'nergie atteint une
bobine de sortie, le bit adress prend l'tat de signal en cours du flux d'nergie. Si le relais
MCR est hors fonction, la valeur 0 est affecte l'oprande prcis, quel que soit l'tat de
signal du flux d'nergie.

Mot d'tat
Ecriture

1-6

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations combinatoires sur bits

Exemple
E 0.0

E 0.1

E 0.2

A 4.0

E 0.3 A 4.1

La sortie A 4.0 est 1 si :


(l'tat de signal est 1 aux entres E 0.0 ET E 0.1) OU l'tat de signal est 0 l'entre E 0.2.
La sortie A 4.1 est 1 si :
(l'tat de signal est 1 aux entres E 0.0 ET E 0.1 OU l'tat de signal est 0 l'entre E 0.2)
ET l'tat de signal est 1 l'entre E 0.3.

Si le trajet de courant de lexemple est dans une zone MCR active :


Si le relais MCR est en fonction, l'tat de signal des sorties A 4.0 et A 4.1 est fonction de
l'tat de signal du flux d'nergie comme dcrit ci-dessus.
Si le relais MCR est hors fonction, les sorties A 4.0 et A 4.1 sont mises 0, quel que soit
l'tat de signal du flux d'nergie.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

1-7

Oprations combinatoires sur bits

1.7

---( # )--- Connecteur

Reprsentation
<oprande>
---( # )--Paramtre

Type de
donnes

Zone de
mmoire

Description

<oprande>

BOOL

E, A, M, *L, D

Bit affect

* Un oprande dans la pile des donnes locales ne peut tre utilis que s'il figure dans la
table de dclaration des variables dans la zone TEMP d'un bloc de code (FC, FB, OB).

Description de l'opration
---( # )--- (Connecteur)
Un connecteur est un lment d'affectation intermdiaire qui mmorise le bit RLG (l'tat de
signal du flux d'nergie) dans l'<oprande> prcis. Cet lment sauvegarde la
combinaison binaire du dernier branchement ouvert avant lui. S'il s'agit d'une connexion en
srie avec d'autres lments, l'opration ---( # )--- est insre comme un contact. Ne
branchez jamais l'lment ---( # )--- la barre d'alimentation et ne le placez pas
immdiatement aprs un branchement ou comme dernier lment d'une branche. Vous
pouvez crer un connecteur invers ---( # )--- l'aide de l'opration ---|NOT|--- (Inverser
RLG).

Dpendance par rapport au relais de masquage (Master Control Relay, MCR)


La dpendance par rapport au relais MCR est uniquement active si un connecteur est dans
une zone MCR active. Si le relais MCR est en fonction et que l'nergie atteint un connecteur,
le bit adress prend l'tat de signal en cours du flux d'nergie. Si le relais MCR est hors
fonction, la valeur 0 est affecte l'oprande prcis, quel que soit l'tat de signal du flux
d'nergie.

Mot d'tat
Ecriture

1-8

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations combinatoires sur bits

Exemple
E 1.0 E 1.1 M 0.0 E 2.2 E 1.3

(#)

M 1.1
NOT

(#)

NOT

M 2.2

A 4.0

(#)

( )

E 1.0 E 1.1

M 0.0 a le RLG de
E 1.0 E 1.1

E 2.2 E 1.3

M 1.1 a le RLG de

NOT

M 2.2 a le RLG de la combinaison sur bits complte

1.8

---( R ) Mettre 0

Reprsentation
<oprande>
---( R )
Paramtre

Type de
donnes

Zone de mmoire

Description

<oprande>

BOOL

E, A, M, L, D, T, Z

Bit mis 0

Description de l'opration
---( R ) (Mettre 0)
Cette opration ne s'excute que si le RLG des oprations prcdentes a la valeur 1 (flux
d'nergie la bobine). Si l'nergie atteint la bobine (RLG gale 1), l'opration met
l'<oprande> prcis de l'lment 0. Si le RLG gale 0 (pas de flux d'nergie la bobine),
l'opration n'a pas d'effet : l'tat de signal de l'oprande indiqu de l'lment reste inchang.
Un <oprande> peut galement tre une temporisation (T n) dont la valeur de temps est
mise 0 ou un compteur (Z n) dont la valeur de comptage est mise 0.

Dpendance par rapport au relais de masquage (Master Control Relay, MCR)


La dpendance par rapport au relais MCR est uniquement active si une bobine est dans
une zone MCR active. Si le relais MCR est en fonction et que l'nergie atteint une bobine, le
bit adress est mis l'tat de signal 0. Si le relais MCR est hors fonction, l'tat de signal en
cours de l'oprande prcis de l'lment reste inchang, quel que soit l'tat de signal du flux
d'nergie.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

1-9

Oprations combinatoires sur bits

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
Rseau 1
E 0.0

E 0.1

A 4.0
R

E 0.2

Rseau 2
E 0.3

T1
R

E 0.4

Z1

Rseau 3
R

La sortie A 4.0 est uniquement mise zro si l'une des conditions suivantes est satisfaite :
(l'tat de signal est 1 l'entre E 0.0 ET l'entre E 0.1) OU l'tat de signal est 0 l'entre
E 0.2.
La temporisation T1 est uniquement mise zro si :
l'tat de signal l'entre E 0.3 gale 1.
Le compteur Z1 est uniquement mis zro si :
l'tat de signal l'entre E 0.4 gale 1.

Si le trajet de courant de lexemple est dans une zone MCR :


Si le relais MCR est en fonction, la sortie A 4.0, la temporisation T1 et le compteur Z1 sont
mis zro comme dcrit ci-dessus.
Si le relais MCR est hors fonction, la sortie A 4.0, la temporisation T1 et le compteur Z1
restent inchangs, quel que soit l'tat de signal du RLG (du flux d'nergie).

1-10

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations combinatoires sur bits

1.9

---( S ) Mettre 1

Reprsentation
<oprande>
---( S )
Paramtre

Type de
donnes

Zone de
mmoire

Description

<oprande>

BOOL

E, A, M, L, D

Bit mis 1

Description de l'opration
---( S ) (Mettre 1)
Cette opration ne s'excute que si le RLG des oprations prcdentes a la valeur 1 (flux
d'nergie la bobine). Dans ce cas, l'<oprande> prcis de l'lment est mis 1.
Si le RLG gale 0, l'tat de signal en cours de l'oprande prcis de l'lment reste
inchang.

Dpendance par rapport au relais de masquage (Master Control Relay, MCR)


La dpendance par rapport au relais MCR est uniquement active si une bobine est dans
une zone MCR active. Si le relais MCR est en fonction et que l'nergie atteint une bobine, le
bit adress est mis 1. Si le relais MCR est hors fonction, l'tat de signal en cours de
l'oprande prcis de l'lment reste inchang, quel que soit l'tat de signal du flux
d'nergie.

Mot dtat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

1-11

Oprations combinatoires sur bits

Exemple
E 0.0

E 0.1

A 4.0
S

E 0.2

La sortie A 4.0 est mise 1 si :


(l'tat de signal est 1 aux entres E 0.0 ET E 0.1) OU l'tat de signal est 0 l'entre E 0.2.
Si le RLG est 0, l'tat de signal de la sortie A 4.0 reste inchang.

Si le trajet de courant de lexemple est dans une zone MCR :


Si le relais MCR est en fonction, la sortie A 4.0 est mise 1 comme dcrit ci-dessus.
Si le relais MCR est hors fonction, l'tat de signal de la sortie A 4.0 reste inchang, quel que
soit l'tat de signal du RLG (du flux d'nergie).

1.10

RS

Bascule mise 0, mise 1

Reprsentation
<oprande>
RS
S

1-12

Paramtre

Type de
donnes

Zone de
mmoire

Description

<oprande>

BOOL

E, A, M, L, D

Bit mis 1 ou 0

BOOL

E, A, M, L, D

Valider mise 1

BOOL

E, A, M, L, D

Valider mise 0

BOOL

E, A, M, L, D

Etat de signal de <oprande>

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations combinatoires sur bits

Description de l'opration
RS (Bascule mise 0, mise 1)
Cette opration excute la mise 0 si l'tat de signal est 1 l'entre R et 0 l'entre S. Si
l'tat de signal est 0 l'entre R et 1 l'entre S, la bascule est mise 1. Si le RLG est gal
1 aux deux entres, c'est l'ordre qui compte : la bascule RS excute d'abord la mise 0,
puis la mise 1 de l'<oprande> indiqu. L'oprande reste donc 1 pour le reste du cycle
du programme.
Les oprations S (mise 1) et R (mise 0) s'excutent uniquement si le RLG gale 1. Si le
RLG gale 0, ces oprations ne sont pas influences et l'oprande indiqu reste inchang.

Dpendance par rapport au relais de masquage (Master Control Relay, MCR)


La dpendance par rapport au relais MCR est uniquement active si l'opration "Bascule
mise 0, mise 1" est dans une zone MCR active. Si le relais MCR est en fonction, le bit
adress est mis l'tat de signal 1 ou 0 comme dcrit ci-dessus. Si le relais MCR est hors
fonction, l'tat de signal en cours de l'oprande prcis reste inchang, quel que soit l'tat
de signal des entres.

Mot d'tat

Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0

M 0.0
RS
Q
R

A 4.0

E 0.1
S

Si l'tat de signal est 1 l'entre E 0.0 et 0 l'entre E 0.1, le bit de mmento M 0.0 est mis
0 et la sortie A 4.0 est 0. Si l'tat de signal est 0 l'entre E 0.0 et 1 l'entre E 0.1, le
bit de mmento M 0.0 est mis 1 et la sortie A 4.0 est 1. Si les deux tats de signal ont la
valeur 0, rien ne se passe. En revanche, s'ils ont tous les deux la valeur 1, la mise 1,
excute en dernier, l'emporte : M 0.0 est mis 1 et la sortie A 4.0 est 1.

Si lexemple ci-dessus est dans une zone MCR active :


Si le relais MCR est en fonction, la sortie A 4.0 est mise 1 ou 0 comme dcrit ci-dessus.
Si le relais MCR est hors fonction, la sortie A 4.0 reste inchange, quel que soit l'tat de
signal des entres.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

1-13

Oprations combinatoires sur bits

1.11

SR

Bascule mise 1, mise 0

Reprsentation
<oprande>
SR
S

Paramtre

Type de
donnes

Zone de
mmoire

Description

<oprande>

BOOL

E, A, M, L, D

Bit mis 1 ou 0

BOOL

E, A, M, L, D

Valider mise 1

BOOL

E, A, M, L, D

Valider mise 0

BOOL

E, A, M, L, D

Etat de signal de <oprande>

Description de l'opration
SR (Bascule mise 1, mise 0)
Cette opration excute la mise 1 si l'tat de signal est 1 l'entre S et 0 l'entre R. Si
l'tat de signal est 0 l'entre S et 1 l'entre R, la bascule est mise 0. Si le RLG est gal
1 aux deux entres, c'est l'ordre qui compte : la bascule SR excute d'abord la mise 1,
puis la mise 0 de l'<oprande> indiqu. L'oprande reste donc 0 pour le reste du cycle
du programme.
Les oprations S (mise 1) et R (mise 0) s'excutent uniquement si le RLG gale 1. Si le
RLG gale 0, ces oprations ne sont pas influences et l'oprande indiqu reste inchang.

Dpendance par rapport au relais de masquage (Master Control Relay, MCR)


La dpendance par rapport au relais MCR est uniquement active si l'opration "Bascule
mise 1, mise 0" est dans une zone MCR active. Si le relais MCR est en fonction, le bit
adress est mis l'tat de signal 1 ou 0 comme dcrit ci-dessus. Si le relais MCR est hors
fonction, l'tat de signal en cours de l'oprande prcis reste inchang, quel que soit l'tat
de signal des entres.

Mot d'tat
Ecriture

1-14

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations combinatoires sur bits

Exemple
E 0.0

M 0.0
SR
Q
S

A 4.0

E 0.1
R

Si l'tat de signal est 1 l'entre E 0.0 et 0 l'entre E 0.1, le bit de mmento M 0.0 est mis
1 et la sortie A 4.0 est 1. Si l'tat de signal est 0 l'entre E 0.0 et 1 l'entre E 0.1, le
bit de mmento M 0.0 est mis 0 et la sortie A 4.0 est 0. Si les deux tats de signal ont la
valeur 0, rien ne se passe. En revanche, s'ils ont tous les deux la valeur 1, la mise zro,
excute en dernier, l'emporte : M 0.0 est mis 0 et la sortie A 4.0 est 0.

Si lexemple ci-dessus est dans une zone MCR active :


Si le relais MCR est en fonction, la sortie A 4.0 est mise 1 ou 0 comme dcrit ci-dessus.
Si le relais MCR est hors fonction, la sortie A 4.0 reste inchange, quel que soit l'tat de
signal des entres.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

1-15

Oprations combinatoires sur bits

1.12

---( N )--- Dtecter front descendant

Reprsentation
<oprande>
---( N )--Paramtre

Type de
donnes

Zone de
mmoire

Description

<oprande>

BOOL

E, A, M, L, D

Le mmento de front mmorise l'ancien tat


de signal du RLG.

Description de l'opration
---( N )--- (Dtecter front descendant)
Cette opration dtecte le passage de 1 0 de l'tat de signal de l'oprande et montre cette
transition avec un RLG gal 1 aprs cette opration. L'tat de signal en cours du RLG est
compar l'tat de signal de l'oprande (au mmento de front). Si l'tat de signal de
l'oprande est 1 et le RLG avant l'opration est 0, le rsultat logique aprs l'opration est 1
(impulsion) ; dans tous les autres cas, le rsultat logique aprs l'opration est 0. Le RLG
avant l'opration est mmoris dans l'oprande.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0

E 0.1

M 0.0
N

CAS1
JMP

E 0.2

Le mmento de front M 0.0 mmorise l'tat de signal du RLG de toute la combinaison


binaire. En cas de passage de 1 0 du RLG, le programme effectue un saut au repre
CAS1.

1-16

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations combinatoires sur bits

1.13

---( P )--- Dtecter front montant

Reprsentation
<oprande>
---( P )--Paramtre

Type de
donnes

Zone de
mmoire

Description

<oprande>

BOOL

E, A, M, L, D

Le mmento de front mmorise l'ancien tat


de signal du RLG.

Description de l'opration
---( P )--- (Dtecter front montant du RLG)
Cette opration dtecte le passage de 0 1 de l'tat de signal de l'oprande et montre cette
transition avec un RLG gal 1 aprs cette opration. L'tat de signal en cours du RLG est
compar l'tat de signal de l'oprande (au mmento de front). Si l'tat de signal de
l'oprande est 0 et le RLG avant l'opration est 1, le rsultat logique aprs l'opration est 1
(impulsion) ; dans tous les autres cas, le rsultat logique aprs l'opration est 0. Le RLG
avant l'opration est mmoris dans l'oprande.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0

E 0.1

M 0.0 CAS1
P
JMP

E 0.2

Le mmento de front M 0.0 mmorise l'tat de signal du RLG de toute la combinaison


binaire. En cas de passage de 0 1 du RLG, le programme effectue un saut au repre
CAS1.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

1-17

Oprations combinatoires sur bits

1.14

---(SAVE) Sauvegarder RLG dans RB

Reprsentation
---( SAVE )

Description de l'opration
---(SAVE) (Sauvegarder RLG dans RB)
Cette opration sauvegarde le rsultat logique (RLG) dans le bit RB (rsultat binaire) du mot
d'tat. Ce faisant, le bit de premire interrogation /PI n'est pas mis zro.
Pour cette raison, l'tat du bit RB est pris en compte en cas de combinaison ET dans le
rseau suivant.
Contrairement ce que vous trouvez spcifi dans le manuel, il convient d'utiliser l'opration
SAVE (CONT, LOG, LIST) dans les cas suivants :
L'utilisation de SAVE suivie d'une interrogation du bit RB dans le mme bloc ou dans des
blocs subordonns n'est pas recommande car le bit RB risque d'tre modifi plusieurs fois
durant les nombreuses oprations excutes entre. Utilisez plutt l'opration SAVE avant de
quitter un bloc, car la sortie de validation ENO (= bit RB) est mise la valeur du bit RLG et
que vous pouvez enchaner par le dpistage d'erreurs du bloc.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0

E 0.1
SAVE

E 0.2

L'tat de signal du rseau (= RLG) est sauvegard dans le bit RB.

1-18

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations combinatoires sur bits

1.15

NEG Dtecter front descendant de signal

Reprsentation
<oprande1>
NEG
<oprande2>

M_BIT

Paramtre

Type de
donnes

Zone de
mmoire

Description

<oprande1>

BOOL

E, A, M, L, D

Signal interrog

<oprande2>

BOOL

E, A, M, L, D

Le mmento de front M_BIT mmorise l'tat


de signal prcdent de <oprande1>.

BOOL

E, A, M, L, D

Dtection de changement d'tat de signal

Description de l'opration
NEG (Dtecter front descendant de signal)
Cette opration compare l'tat de signal de <oprande1> celui provenant de l'interrogation
d'tat de signal prcdent figurant dans <oprande2>. Si l'tat de signal en cours du RLG
est 0 et si l'tat prcdent tait 1 (dtection d'un front descendant), la sortie Q est 1
aprs cette opration ; dans tous les autres cas, elle est 0.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0 E 0.1 E 0.2
M 0.0

E 0.3
NEG

E 0.4 A 4.0
( )
Q

M_BIT

La sortie A 4.0 est 1 si :


(l'tat de signal est 1 aux entres E 0.0 ET E 0.1 ET E 0.2) ET il y a un front descendant
l'entre E 0.3 ET l'tat de signal est 1 l'entre E 0.4.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

1-19

Oprations combinatoires sur bits

1.16

POS Dtecter front montant de signal

Reprsentation
<oprande1>
POS
<oprande2>

M_BIT

Paramtre

Type de
donnes

Zone de
mmoire

Description

<oprande1>

BOOL

E, A, M, L, D

Signal interrog

<oprande2>

BOOL

E, A, M, L, D

Le mmento de front M_BIT mmorise l'tat


de signal prcdent de <oprande1>.

BOOL

E, A, M, L, D

Dtection de changement d'tat de signal

Description de l'opration
POS (Dtecter front montant de signal)
Cette opration compare l'tat de signal de <oprande1> celui provenant de l'interrogation
d'tat de signal prcdent figurant dans <oprande2>. Si l'tat de signal en cours du RLG
est 1 et si l'tat prcdent tait 0 (dtection d'un front montant), la sortie Q est 1 aprs
cette opration ; dans tous les autres cas, elle est 0.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0 E 0.1 E 0.2
M 0.0

E 0.3
E 0.4 A 4.0
POS
Q
( )
M_BIT

La sortie A 4.0 est 1 si :


(l'tat de signal est 1 aux entres E 0.0 ET E 0.1 ET E 0.2) ET il y a un front montant
l'entre E 0.3 ET l'tat de signal est 1 l'entre E 0.4.

1-20

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations combinatoires sur bits

1.17

Lecture directe en priphrie

Description de l'opration
La fonction de lecture directe en priphrie exige la cration d'un rseau (voir l'exemple cidessous).
Pour des applications o le temps joue un rle important, il se peut que l'tat de signal en
cours d'une entre TOR doive tre lu plus frquemment que normalement (une fois par
cycle). L'opration de lecture directe en priphrie est mise au mme tat de signal que
l'entre TOR du module d'entres au moment o le trajet de courant concern est lu. Sinon,
vous devez patienter jusqu'au prochain cycle de l'OB1 lorsque la zone de mmoire des
entres est mise jour avec l'tat de la zone de mmoire de la priphrie.
Si vous dsirez avoir accs direct en lecture l'entre (ou plusieurs entres) dans le
module d'entres, utilisez la zone de mmoire de priphrie des entres (PE) et non la zone
de mmoire des entres (E). La zone de mmoire de la priphrie peut tre lue sous forme
d'octet, de mot ou de double mot ; une entre TOR individuelle ne peut donc pas tre lue via
un contact (bit).
Transmission conditionnelle de la tension en fonction de l'tat de signal d'une entre
directe
1. Lecture par la CPU du mot de la zone de mmoire PE contenant les donnes
significatives
2. Ensuite, combinaison par ET du mot de la zone de mmoire PE avec une constante
acceptant un rsultat diffrent de 0 si le bit d'entre est 1.
3. Contrle de la condition "diffrent de 0"

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

1-21

Oprations combinatoires sur bits

Exemple
Rseau CONT avec l'opration de lecture directe en priphrie pour l'entre E 1.1
E 4.1
PEW1
16#0002
*

WAND_W
ENO
EN
IN1
OUT
IN2

<>0

E 4.5

MWx *

Il faut indiquer MWx pour pouvoir sauvegarder le rseau. x correspond un numro


autoris quelconque.

Description de l'opration WAND_W (ET mot) :


PEW1

0000000000101010

W#16#0002

0000000000000010

Rsultat

0000000000000010

Dans cet exemple, l'entre directe E 1.1 est monte en srie avec les entres E 4.1 et E 4.5.
Le mot PEW1 contient l'tat de signal direct de E 1.1. PEW1 est combin W#16#0002
selon ET. Le rsultat est diffrent de 0 si E 1.1 (deuxime bit) est vrai dans PB1 (1). Le
contact U<>0 transfre la tension si le rsultat de l'opration WAND_W est diffrent de zro.

1-22

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations combinatoires sur bits

1.18

Ecriture directe en priphrie

Description de l'opration
La fonction dcriture directe en priphrie exige la cration d'un rseau (voir l'exemple cidessous).
Pour des applications o le temps joue un rle important, il se peut que l'tat de signal en
cours d'une sortie TOR doive tre plus frquemment transfr un module de sortie que
normalement (une fois la fin d'un cycle de l'OB1). L'opration d'criture directe en
priphrie actualise l'tat de signal d'une sortie TOR dans le module de sortie au moment o
le trajet de courant concern est crit. Sinon, vous devez patienter jusqu' la fin du cycle de
l'OB1 lorsque la zone de mmoire de la priphrie est mise jour avec l'tat de signal de la
zone de mmoire des sorties.
Si vous dsirez actualiser directement la sortie (ou plusieurs sorties), utilisez la zone de
mmoire de priphrie des sorties (PA) et non la zone de mmoire des sorties (A). La zone
de mmoire de priphrie des sorties peut tre crite par octet, mot ou double mot ; une
sortie TOR individuelle ne peut donc pas tre actualise via une bobine. Pour crire l'tat de
signal d'une sortie TOR directement dans un module de sorties, un octet, un mot ou un
double mot de la zone de mmoire des sorties A contenant le bit significatif est copi
conditionnellement dans la mmoire PA correspondante (dans les oprandes du module de
sorties direct).

Avertissement

Comme l'octet complet de la zone de mmoire A est crit dans le module de sorties, tous les bits
de sortie dans l'octet qui est actualis sont galement modifis si l'opration s'excute.

Si un bit de sortie prsente un tat intermdiaire (1/0) au cours de l'excution du programme qui
ne doit pas tre transfr dans le module de sorties, l'opration d'criture directe en priphrie
peut provoquer des tats dangereux (impulsions transitoires aux sorties).

Dans un programme, un module de sorties externe ne doit tre adress qu'une fois comme
bobine. En observant cette rgle, vous vitez la plupart des problmes qui risquent d'apparatre
en liaison avec l'opration d'criture directe en priphrie.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

1-23

Oprations combinatoires sur bits

Exemple
Rseau CONT avec l'opration d'criture directe en priphrie et le module de sorties
TOR 5, voie 1
Les tats de signal des bits de l'octet de sortie (AB5) adress sont soit actualiss, soit ne
sont pas modifis. L'tat de signal de E 0.1 est affect A 5.1 dans le rseau 1. AB5 est
copi dans la zone de mmoire directe correspondante de la priphrie des sorties (PAB5).

Rseau 1
E 0.1

A 5.1

Rseau 2
MOVE
ENO
EN
AB5

IN

OUT

PAB5

Dans cet exemple, la sortie A 5.1 est le bit de sortie exig.


L'octet PAB5 est mis au mme tat de signal que le bit de sortie A 5.1.
Les autres bits dans PAB5 sont galement actualiss par la copie avec l'opration MOVE.

1-24

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

2.1

Oprations de comparaison

Vue d'ensemble des oprations de comparaison

Description
Les oprations de comparaison comparent les entres IN1 et IN2 selon les types de
comparaison suivants :
==
<>
>
<
>=
<=

IN1
IN1
IN1
IN1
IN1
IN1

gal IN2
diffrent de IN2
suprieur IN2
infrieur IN2
suprieur ou gal IN2
infrieur ou gal IN2

Si la comparaison est vraie, le rsultat logique (RLG) est 1. Ce rsultat est combin au RLG
du trajet de courant entier selon ET si l'lment de comparaison est utilis en srie ou selon
OU s'il est utilis en parallle.
Vous disposez des oprations de comparaison suivantes :

CMP ? I

CMP ? D Comparer entiers de 32 bits (32 Bit)

CMP ? R Comparer rels

Comparer entiers de 16 bits (16 Bit)

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

2-1

Oprations de comparaison

2.2

CMP ? I

Comparer entiers de 16 bits

Reprsentation
CMP
== I

CMP
>I

CMP
>= I

IN1

IN1

IN1

IN2

IN2

IN2

CMP
<> I

CMP
<I

CMP
<= I

IN1

IN1

IN1

IN2

IN2

IN2

Paramtre

Type de
donnes

Zone de
mmoire

Description

Entre de la bote BOOL

E, A, M, L, D

Rsultat de la combinaison prcdente

Sortie de la bote BOOL

E, A, M, L, D

Rsultat de la comparaison. Utilis


uniquement lorsque le RLG l'entre de la
bote est 1.

IN1

INT

E, A, M, L, D ou
constante

Premier terme de la comparaison

IN2

INT

E, A, M, L, D ou
constante

Second terme de la comparaison

Description de l'opration
CMP ? I (Comparer entiers de 16 bits)
Cette opration que vous pouvez utiliser et placer comme un contact normal compare les
entres IN1 et IN2 selon le type de comparaison que vous avez slectionn.
Si la comparaison est vraie, le rsultat logique (RLG) est 1. Ce rsultat est combin au RLG
du trajet de courant entier selon ET si l'lment de comparaison est utilis en srie ou selon
OU s'il est utilis en parallle.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0 E 0.1

MW0
MW2

CMP
>= I

A 4.0

IN1
IN2

La sortie A 4.0 est mise 1 si l'tat de signal est 1 aux entres E 0.0 ET E 0.1 ET si
MW0 >= MW.

2-2

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de comparaison

2.3

CMP ? D

Comparer entiers de 32 bits

Reprsentation
CMP
== D

CMP
>D

CMP
>= D

IN1

IN1

IN1

IN2

IN2

IN2

CMP
<> D

CMP
<D

CMP
<= D

IN1

IN1

IN1

IN2

IN2

IN2

Paramtre

Type de
donnes

Zone de
mmoire

Description

Entre de la bote BOOL

E, A, M, L, D

Rsultat de la combinaison prcdente

Sortie de la bote BOOL

E, A, M, L, D

Rsultat de la comparaison. Utilis


uniquement lorsque le RLG l'entre de la
bote est 1.

IN1

DINT

E, A, M, L, D ou
constante

Premier terme de la comparaison

IN2

DINT

E, A, M, L, D ou
constante

Second terme de la comparaison

Description de l'opration
CMP ? D (Comparer entiers de 32 bits)
Cette opration que vous pouvez utiliser et placer comme un contact normal compare les
entres IN1 et IN2 selon le type de comparaison que vous avez slectionn.
Si la comparaison est vraie, son rsultat logique (RLG) est 1. Ce rsultat est combin au
RLG du trajet de courant selon ET si l'lment de comparaison est utilis en srie ou selon
OU s'il est utilis en parallle.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0 E 0.1

MD0
MD4

CMP
>= D

E 0.2 A 4.0

IN1
IN2

La sortie A 4.0 est mise 1 si l'tat de signal est 1 aux entres E 0.0 ET E 0.1 ET si
MD0 >= MD4 ET si l'tat de signal est 1 l'entre E 0.2.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

2-3

Oprations de comparaison

2.4

CMP ? R

Comparer rels

Reprsentation
CMP
== R

CMP
>R

CMP
>= R

IN1

IN1

IN1

IN2

IN2

IN2

CMP
<> R

CMP
<R

CMP
<= R

IN1

IN1

IN1

IN2

IN2

IN2

Paramtre

Type de
donnes

Zone de
mmoire

Description

Entre de la bote BOOL

E, A, M, L, D

Rsultat de la combinaison prcdente

Sortie de la bote BOOL

E, A, M, L, D

Rsultat de la comparaison. Utilis


uniquement lorsque le RLG l'entre de la
bote est 1.

IN1

REAL

E, A, M, L, D ou
constante

Premier terme de la comparaison

IN2

REAL

E, A, M, L, D ou
constante

Second terme de la comparaison

Description de l'opration
CMP ? R (Comparer rels)
Cette opration que vous pouvez utiliser et placer comme un contact normal compare les
entres IN1 et IN2 selon le type de comparaison que vous avez slectionn.
Si la comparaison est vraie, le rsultat logique (RLG) est 1. Ce rsultat est combin au RLG
du trajet de courant entier selon ET si l'lment de comparaison est utilis en srie ou selon
OU s'il est utilis en parallle.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0 E 0.1

MD0
MD4

CMP
>= R

E 0.2 A 4.0

IN1
IN2

La sortie A 4.0 est mise 1 si l'tat de signal est 1 aux entres E 0.0 ET E 0.1 ET si
MD0 >= MD4 ET si l'tat de signal est 1 l'entre E 0.2.

2-4

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

3.1

Oprations de conversion

Vue d'ensemble des oprations de conversion

Description
Les oprations de conversion lisent le contenu du paramtre dentre IN, le convertissent ou
en changent le signe (par exemple, valeur positive en valeur ngative). Le rsultat est rang
dans le paramtre de sortie OUT.
Vous disposez des oprations de conversion suivantes :

BCD_I

Convertir nombre DCB en entier de 16 bits

I_BCD

Convertir entier de 16 bits en nombre DCB

BCD_DI

Convertir nombre DCB en entier de 32 bits

I_DI

Convertir entier de 16 bits en entier de 32 bits

DI_BCD

Convertir entier de 32 bits en nombre DCB

DI_R

Convertir entier de 32 bits en rel

INV_I

Complment 1 dentier de 16 bits

INV_DI

Complment 1 dentier de 32 bits

NEG_I

Complment 2 dentier de 16 bits

NEG_DI

Complment 2 dentier de 32 bits

NEG_R

Inverser le signe dun nombre rel

ROUND

Arrondir

TRUNC

Tronquer la partie entire

CEIL

Convertir rel en entier suprieur le plus proche

FLOOR

Convertir rel en entier infrieur le plus proche

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

3-1

Oprations de conversion

3.2

BCD_I

Convertir nombre DCB en entier de 16 bits

Reprsentation
BCD_I
EN
IN

ENO
OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

WORD

E, A, M, L, D

Nombre en format DCB

OUT

INT

E, A, M, L, D

Valeur entire de 16 bits du nombre DCB

Description de l'opration
BCD_I (Convertir nombre DCB en entier de 16 bits)
Cette opration lit le contenu du paramtre dentre IN comme nombre dcimal cod binaire
trois chiffres (DCB +/- 999), le convertit en un nombre entier de 16 bits et range le rsultat
dans le paramtre de sortie OUT. ENO et EN ont toujours un tat de signal identique.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MW10

BCD_I
EN
ENO
IN

OUT

A 4.0
NOT
MW12

Si ltat de signal est 1 lentre E 0.0, le contenu du mot de mmento MW10 est lu comme
nombre DCB trois chiffres et converti en nombre entier de 16 bits. Le rsultat est rang
dans le mot de mmento MW12. La sortie A 4.0 est mise 1 si la conversion nest pas
excute (ENO = EN = 0).

3-2

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de conversion

3.3

I_BCD

Convertir entier de 16 bits en nombre DCB

Reprsentation
I_BCD
EN
IN

ENO
OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

INT

E, A, M, L, D

Nombre entier de 16 bits

OUT

WORD

E, A, M, L, D

Valeur DCB du nombre entier de 16 bits

Description de l'opration
I_BCD (Convertir entier de 16 bits en nombre DCB)
Cette opration lit le contenu du paramtre d'entre IN comme valeur entire de 16 bits, le
convertit en un nombre dcimal cod binaire trois chiffres (DCB, +/- 999) et range le
rsultat dans le paramtre de sortie OUT. En cas de dbordement, ENO est mis 0.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MW10

I_BCD
EN
ENO
IN

OUT

A 4.0
NOT
MW12

Si l'tat de signal est 1 l'entre E 0.0, le contenu du mot de mmento MW10 est lu comme
nombre entier de 16 bits et converti en nombre DCB trois chiffres. Le rsultat est rang
dans le mot de mmento MW12. La sortie A 4.0 est mise 1 en cas de dbordement ou si la
conversion n'est pas excute (E0.0 = 0).

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

3-3

Oprations de conversion

3.4

I_DI

Convertir entier de 16 bits en entier de 32 bits

Reprsentation
I_DI
EN
IN

ENO
OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

INT

E, A, M, L, D

Valeur entire de 16 bits convertir

OUT

DINT

E, A, M, L, D

Rsultat : nombre entier de 32 bits

Description de l'opration
I_DI (Convertir entier de 16 bits en entier de 32 bits)
Cette opration lit le contenu du paramtre dentre IN comme valeur entire de 16 bits, le
convertit en un nombre entier de 32 bits et range le rsultat dans le paramtre de sortie
OUT. ENO et EN ont toujours un tat de signal identique.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
EN
MW10

IN

A 4.0

I_DI
ENO

NOT

OUT

MD12

Si ltat de signal est 1 lentre E 0.0, le contenu du mot de mmento MW10 est lu comme
nombre entier de 16 bits et converti en nombre entier de 32 bits. Le rsultat est rang dans
le double mot de mmento MD12. La sortie A 4.0 est mise 1 si la conversion nest pas
excute (ENO = EN = 0).

3-4

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de conversion

3.5

BCD_DI

Convertir nombre DCB en entier de 32 bits

Reprsentation
BCD_DI
EN
IN

ENO
OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

DWORD

E, A, M, L, D

Nombre en format DCB

OUT

DINT

E, A, M, L, D

Valeur entire de 32 bits du nombre DCB

Description de l'opration
BCD_DI (Convertir nombre DCB en entier de 32 bits)
Cette opration lit le contenu du paramtre d'entre IN comme nombre dcimal cod binaire
sept chiffres (DCB, +/- 9999999), le convertit en un nombre entier de 32 bits et range le
rsultat dans le paramtre de sortie OUT. ENO et EN ont toujours un tat de signal
identique.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MD8

BCD_DI
EN
ENO
IN

OUT

A 4.0
NOT
MD12

Si l'tat de signal est 1 l'entre E 0.0, le contenu du double mot de mmento MD8 est lu
comme nombre DCB sept chiffres et converti en nombre entier de 32 bits. Le rsultat est
rang dans le double mot de mmento MD12. La sortie A 4.0 est mise 1 si la conversion
n'est pas excute (ENO = EN = 0).

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

3-5

Oprations de conversion

3.6

DI_BCD

Convertir entier de 32 bits en nombre DCB

Reprsentation
DI_BCD
EN
IN

ENO
OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

DINT

E, A, M, L, D

Nombre entier de 32 bits

OUT

DWORD

E, A, M, L, D

Valeur DCB du nombre entier de 32 bits

Description de l'opration
DI_BCD (Convertir entier de 32 bits en nombre DCB)
Cette opration lit le contenu du paramtre d'entre IN comme valeur entire de 32 bits, le
convertit en un nombre dcimal cod binaire sept chiffres (DCB, +/- 9999999) et range le
rsultat dans le paramtre de sortie OUT. En cas de dbordement, ENO est mis 0.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MD8

DI_BCD
EN
ENO
IN

OUT

A 4.0
NOT
MD12

Si l'tat de signal est 1 l'entre E 0.0, le contenu du double mot de mmento MD8 est lu
comme nombre entier de 32 bits et converti en nombre DCB sept chiffres. Le rsultat est
rang dans le double mot de mmento MD12. La sortie A 4.0 est mise 1 en cas de
dbordement ou si la conversion n'est pas excute (E0.0 = 0).

3-6

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de conversion

3.7

DI_R

Convertir entier de 32 bits en rel

Reprsentation
DI_R
EN
IN

ENO
OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

DINT

E, A, M, L, D

Nombre entier de 32 bits

OUT

REAL

E, A, M, L, D

Nombre rel

Description de l'opration
DI_R (Convertir entier de 32 bits en rel)
Cette opration lit le contenu du paramtre d'entre IN comme nombre entier de 32 bits et le
convertit en nombre virgule flottante. Le rsultat est rang dans le paramtre de sortie
OUT. ENO et EN ont toujours un tat de signal identique.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
EN
MD8

IN

A 4.0

DI_R
ENO

NOT

OUT

MD12

Si l'tat de signal est 1 l'entre E 0.0, le contenu du double mot de mmento MD8 est lu
comme nombre entier de 32 bits et converti en nombre virgule flottante. Le rsultat est
rang dans le double mot de mmento MD12. La sortie A 4.0 est mise 1 si la conversion
n'est pas excute (ENO = EN = 0).

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

3-7

Oprations de conversion

3.8

INV_I

Complment 1 d'entier de 16 bits

Reprsentation
INV_I
EN
IN

ENO
OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

INT

E, A, M, L, D

Valeur d'entre entire de 16 bits

OUT

INT

E, A, M, L, D

Complment 1 de l'entier de 16 bits dans


IN

Description de l'opration
INV_I (Complment 1 dentier de 16 bits)
Cette opration lit le contenu du paramtre dentre IN et excute lopration de
combinaison OU exclusif avec le masque hexadcimal W#16#FFFF afin dinverser la valeur
de chaque bit. ENO et EN ont toujours un tat de signal identique.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MW8

INV_I
EN
ENO
IN

OUT

A 4.0
NOT
MW10

Si l'tat de signal est 1 l'entre E 0.0, l'tat de chaque bit du mot de mmento MW8 est
invers.
MW8 = 01000001 10000001 est converti en MW10 = 10111110 01111110. La sortie A 4.0
est mise 1 si la conversion nest pas excute (ENO = EN = 0).

3-8

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de conversion

3.9

INV_DI

Complment 1 dentier de 32 bits

Reprsentation
INV_DI
EN
IN

ENO
OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

DINT

E, A, M, L, D

Valeur d'entre entire de 32 bits

OUT

DINT

E, A, M, L, D

Complment 1 de l'entier de 32 bits dans


IN

Description de l'opration
INV_DI (Complment 1 dentier de 32 bits)
Cette opration lit le contenu du paramtre dentre IN et excute lopration de
combinaison OU exclusif avec le masque hexadcimal W#16#FFFF FFFF afin dinverser la
valeur de chaque bit. ENO et EN ont toujours un tat de signal identique.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MD8

INV_DI
EN
ENO
IN

OUT

A 4.0
NOT
MD12

Si l'tat de signal est 1 l'entre E 0.0, l'tat de chaque bit du double mot de mmento MD8
est invers.
MD8 = F0FF FFF0 est converti en MD12 = 0F00 000F. La sortie A 4.0 est mise 1 si la
conversion nest pas excute (ENO = EN = 0).

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

3-9

Oprations de conversion

3.10

NEG_I

Complment 2 dentier de 16 bits

Reprsentation
NEG_I
EN
IN

ENO
OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

INT

E, A, M, L, D

Valeur d'entre entire de 16 bits

OUT

INT

E, A, M, L, D

Complment 2 de l'entier de 16 bits dans


IN

Description de l'opration
NEG_I (Complment 2 dentier de 16 bits)
Cette opration lit le contenu du paramtre dentre IN et en change le signe (par exemple,
valeur positive en valeur ngative). ENO et EN ont toujours un tat de signal identique,
l'exception suivante prs : si ltat de signal de EN est gal 1 et quil y a dbordement,
alors ltat de signal de ENO est gal 0.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MW8

NEG_I
EN
ENO
IN

OUT

A 4.0
NOT
MW10

Si l'tat de signal est 1 l'entre E 0.0, le contenu du mot de mmento MW8 est transmis,
avec le signe oppos, du paramtre OUT au mot de mmento MW10.
MW8 = + 10 donne MW10 = - 10. La sortie A 4.0 est mise 1 si la conversion nest pas
excute (ENO = EN = 0).
Si ltat de signal de EN est gal 1 et quil y a dbordement, alors ltat de signal de ENO
est gal 0.

3-10

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de conversion

3.11

NEG_DI

Complment 2 dentier de 32 bits

Reprsentation
NEG_DI
EN
IN

ENO
OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

DINT

E, A, M, L, D

Valeur d'entre entire de 32 bits

OUT

DINT

E, A, M, L, D

Complment 2 de l'entier de 32 bits dans


IN

Description de l'opration
NEG_DI (Complment 2 dentier de 32 bits)
Cette opration lit le contenu du paramtre dentre IN et en change le signe (par exemple,
valeur positive en valeur ngative). ENO et EN ont toujours un tat de signal identique,
l'exception suivante prs : si ltat de signal de EN est gal 1 et quil y a dbordement,
alors ltat de signal de ENO est gal 0.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MD8

NEG_DI
EN
ENO
IN

OUT

A 4.0
NOT
MD12

Si l'tat de signal est 1 l'entre E 0.0, le contenu du double mot de mmento MD8 est
transmis, avec le signe oppos, du paramtre OUT au double mot de mmento MD12.
MD8 = + 1000 donne MD12 = - 1000. La sortie A 4.0 est mise 1 si la conversion nest pas
excute (ENO = EN = 0).
Si ltat de signal de EN est gal 1 et quil y a dbordement, alors ltat de signal de ENO
est gal 0.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

3-11

Oprations de conversion

3.12

NEG_R

Inverser le signe d'un nombre rel

Reprsentation
NEG_R
EN
IN

ENO
OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

REAL

E, A, M, L, D

Valeur d'entre : nombre rel

OUT

REAL

E, A, M, L, D

Nombre rel du paramtre IN avec


inversion de signe

Description de l'opration
NEG_R (Inverser le signe dun nombre rel)
Cette opration lit le contenu du paramtre dentre IN et en change le signe (par exemple,
valeur positive en valeur ngative). Elle correspond une opration de multiplication par
(-1). ENO et EN ont toujours un tat de signal identique.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MD8

NEG_R
EN
ENO
IN

OUT

A 4.0
NOT
MD12

Si l'tat de signal est 1 l'entre E 0.0, le contenu du double mot de mmento MD8 est
transmis, avec le signe inverse, du paramtre OUT au double mot de mmento MD12.
MD8 = + 6,234 donne MD12 = - 6,234. La sortie A 4.0 est mise 1 si la conversion nest pas
excute (ENO = EN = 0).

3-12

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de conversion

3.13

ROUND

Arrondir

Reprsentation
ROUND
EN
IN

ENO
OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

REAL

E, A, M, L, D

Valeur arrondir

OUT

DINT

E, A, M, L, D

IN arrondi au nombre entier le plus proche

Description de l'opration
ROUND (Arrondir par excs ou par dfaut)
Cette opration lit le contenu du paramtre d'entre IN comme nombre virgule flottante et
le convertit en nombre entier de 32 bits. Le rsultat, qui est le nombre entier le plus proche,
est rang dans le paramtre de sortie OUT. Si le nombre virgule flottante se situe
exactement entre deux nombres entiers, le nombre pair est pris comme rsultat. En cas de
dbordement, ENO est mis 0.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MD8

ROUND
EN
ENO
IN

OUT

A 4.0
NOT
MD12

Si l'tat de signal est 1 l'entre E 0.0, le contenu du double mot de mmento MD8 est lu
comme nombre virgule flottante et converti en nombre entier de 32 bits. Le rsultat de
cette fonction "Arrondir par excs ou par dfaut" est rang dans le double mot de mmento
MD12. La sortie A 4.0 est mise 1 en cas de dbordement ou si la conversion n'est pas
excute (E 0.0 = 0).

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

3-13

Oprations de conversion

3.14

TRUNC

Tronquer la partie entire

Reprsentation
TRUNC
EN
IN

ENO
OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

REAL

E, A, M, L, D

Nombre virgule flottante tronquer

OUT

DINT

E, A, M, L, D

Partie entire de la valeur de IN

Description de l'opration
TRUNC (Tronquer la partie entire)
Cette opration lit le contenu du paramtre d'entre IN comme nombre rel et le convertit en
nombre entier de 32 bits. Le rsultat, qui est la partie entire du nombre rel spcifi, est
rang dans le paramtre de sortie OUT. En cas de dbordement, ENO est mis 0.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MD8

TRUNC
EN
ENO
IN

OUT

A 4.0
NOT
MD12

Si l'tat de signal est 1 l'entre E 0.0, le contenu du double mot de mmento MD8 est lu
comme nombre rel et converti en nombre entier de 32 bits. Le rsultat, qui est le
composant entier du nombre rel, est rang dans le double mot de mmento MD12. La
sortie A 4.0 est mise 1 en cas de dbordement ou si la conversion n'est pas excute
(E 0.0 = 0).

3-14

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de conversion

3.15

CEIL

Convertir rel en entier suprieur le plus proche

Reprsentation
CEIL
EN
IN

ENO
OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

REAL

E, A, M, L, D

Nombre rel convertir

OUT

DINT

E, A, M, L, D

Nombre entier de 32 bits suprieur le plus


proche du nombre rel

Description de l'opration
CEIL (Convertir rel en entier suprieur le plus proche)
Cette opration lit le contenu du paramtre dentre IN comme nombre virgule flottante et
le convertit en un nombre entier de 32 bits. Le rsultat est l'entier suprieur le plus proche du
nombre rel indiqu (arrondi au nombre entier suprieur le plus proche). En cas de
dbordement, ENO est mis 0.

Mot d'tat
RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Ecriture*

Ecriture**

* Fonction excute (EN = 1)


** Fonction non excute (EN = 0)

Exemple
E 0.0
EN
MD8

IN

A 4.0

CEIL
ENO

NOT

OUT

MD12

Si ltat de signal est 1 lentre E 0.0, le contenu du double mot de mmento MD8 est lu
comme nombre virgule flottante et converti en nombre entier de 32 bits selon le principe
darrondi au nombre entier suprieur ou gal le plus proche. Le rsultat est rang dans le
double mot de mmento MD12. La sortie A 4.0 est mise 1 en cas de dbordement ou si la
conversion nest pas excute (E 0.0 = 0).

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

3-15

Oprations de conversion

3.16

FLOOR

Convertir rel en entier infrieur le plus proche

Reprsentation
FLOOR
EN
IN

ENO
OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

REAL

E, A, M, L, D

Nombre rel convertir

OUT

DINT

E, A, M, L, D

Nombre entier de 32 bits infrieur le plus


proche du nombre rel

Description de l'opration
FLOOR (Convertir rel en entier infrieur le plus proche)
Cette opration lit le contenu du paramtre dentre IN comme nombre virgule flottante et
le convertit en un nombre entier de 32 bits. Le rsultat est l'entier infrieur le plus proche du
nombre rel indiqu (arrondi au nombre entier infrieur le plus proche). En cas de
dbordement, ENO est mis 0.

Mot d'tat
RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Ecriture

Exemple
E 0.0
MD8

FLOOR
EN
ENO
IN

OUT

A 4.0
NOT
MD12

Si ltat de signal est 1 lentre E 0.0, le contenu du double mot de mmento MD8 est lu
comme nombre virgule flottante et converti en nombre entier de 32 bits selon le principe
darrondi au nombre entier infrieur ou gal le plus proche. Le rsultat est rang dans le
double mot de mmento MD12. La sortie A 4.0 est mise 1 en cas de dbordement ou si la
conversion nest pas excute (E 0.0 = 0).

3-16

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

4.1

Oprations de comptage

Vue d'ensemble des oprations de comptage

Zone de mmoire
Une zone de mmoire est rserve aux compteurs dans votre CPU. Un mot de 16 bits y est
rserv pour chaque compteur. La programmation en CONT permet dutiliser jusqu 256
compteurs.
Les oprations de comptage sont les seules fonctions avoir accs la zone de mmoire
rserve aux compteurs.

Valeur de comptage
La valeur de comptage est contenue dans les bits 0 9 du mot de comptage. Lorsque le
compteur est mis 1, la valeur que vous avez dfinie y est place par laccumulateur. La
plage de la valeur de comptage est comprise entre 0 et 999.
Vous pouvez modifier cette valeur en utilisant les oprations :

ZHLER

Paramtrage et compteur d'incrmentation/dcrmentation

Z_VORW

Paramtrage et compteur d'incrmentation

Z_RUECK

Paramtrage et compteur de dcrmentation

---( SZ )

Initialiser compteur

---( ZV )

Dcrmenter

---( ZR )

Incrmenter

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

4-1

Oprations de comptage

Configuration des bits dans le compteur


Pour assigner une valeur initiale un compteur, vous chargez un nombre compris entre
0 et 999, par exemple 127, au format suivant comme valeur de comptage : C# 127.
C# correspond au format dcimal cod binaire.
Les bits 0 11 du compteur contiennent la valeur de comptage en format DCB, cest --dire
chaque groupe de quatre bits contient le code binaire dune valeur dcimale.
La figure suivante montre le contenu du compteur aprs le chargement de la valeur 127,
ainsi que le contenu de la cellule de compteur aprs assignation dune valeur.

15 14 13 12 11 10
0

non significatifs

Valeur de comptage en format DCB (0 999)

15 14 13 12 11 10

non significatifs

4-2

Valeur de comptage binaire

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de comptage

4.2

ZAEHLER

Paramtrage et compteur
d'incrmentation/dcrmentation

Reprsentation
Anglaise

Allemande

C n

Z n

S_CUD

ZAEHLER
Q

CU

ZR

S
PV
R

ZV

CD

CV

ZW
R

CV_BCD

Paramtre
Anglaise

Paramtre
Allemande

C n

Zn

CU
CD

DUAL
DEZ

Type de
donnes

Zone de
mmoire

Description

COUNTER

Numro d'identification du compteur.


La plage dpend de la CPU.

ZV

BOOL

E, A, M, L, D

Entre d'incrmentation

ZR

BOOL

E, A, M, L, D

Entre de dcrmentation

BOOL

E, A, M, L, D

Entre d'initialisation du compteur

PV

ZW

WORD

E, A, M, L, D
ou
constante

Valeur de comptage entre sous forme


C#<valeur> dans la plage comprise
entre 0 et 999

PV

ZW

WORD

E, A, M, L, D

Valeur d'initialisation du compteur

BOOL

E, A, M, L, D

Entre de remise zro

CV

DUAL

WORD

E, A, M, L, D

Valeur de comptage en cours (format


hexadcimal)

CV_BCD

DEZ

WORD

E, A, M, L, D

Valeur de comptage en cours (format


DCB)

BOOL

E, A, M, L, D

Etat du compteur

Description de l'opration
ZAEHLER (Paramtrage et compteur d'incrmentation/dcrmentation)
Un front montant l'entre S de cette opration initialise le compteur la valeur figurant
dans l'entre ZW. Un 1 l'entre R remet le compteur, et donc la valeur de comptage,
zro.
Le compteur est incrment d'une unit si l'tat de signal l'entre ZV passe de 0 1
front montant et que la valeur du compteur est infrieure 999.
Le compteur est dcrment d'une unit si l'tat de signal l'entre ZR passe de 0 1
front montant et que la valeur du compteur est suprieure 0.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

4-3

Oprations de comptage

En cas de front montant aux deux entres de comptage, les deux fonctions sont excutes
et la valeur de comptage reste inchange.
Si le compteur est mis 1 et si le RLG = 1 aux entres ZV/ZR, le compteur compte de la
mme manire dans le cycle suivant, mme si aucun changement de front na eu lieu.
L'tat du signal la sortie Q est 1 lorsque la valeur de comptage est suprieure 0 ; il est
0 lorsque la valeur de comptage est gale 0.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Nota
Il est recommand d'utiliser un compteur un seul emplacement dans le programme (risque
derreurs de comptage).

Exemple
Z10
ZAEHLER

A 4.0

E 0.0
ZV

E 0.1

ZR

E 0.2
S

E 0.3 MW10

ZW

DUAL
DEZ

Si l'tat de signal l'entre E 0.2 passe de 0 1, le compteur est initialis la valeur figurant
dans le mot de mmento MW10. Si l'tat de signal en E 0.0 passe de 0 1, la valeur du
compteur Z10 est incrmente d'un moins qu'elle ne soit dj gale 999. Si l'tat de
signal en E 0.1 passe de 0 1, la valeur du compteur Z10 est dcrmente d'un moins
qu'elle ne soit dj gale 0. L'tat de signal de la sortie A 4.0 est 1 si Z10 est diffrent de
zro.

4-4

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de comptage

4.3

Z_VORW

Paramtrage et compteur d'incrmentation

Reprsentation
Anglaise

Allemande

C n

Z n
Z_VORW

S_CU
CU

ZV

CV

ZW

S
PV

CV_BCD

DUAL
DEZ

Paramtre
Anglaise

Paramtre
Allemande

C n

Zn

CU

ZV

BOOL

E, A, M, L, D

Entre d'incrmentation

BOOL

E, A, M, L, D

Entre d'initialisation du compteur

PV

ZW

WORD

E, A, M, L, D
ou
constante

Valeur de comptage entre sous forme


C#<valeur> dans la plage comprise
entre 0 et 999

PV

ZW

WORD

E, A, M, L, D

Valeur d'initialisation du compteur

Type de
donnes

Zone de
mmoire

Description

COUNTER

Numro d'identification du compteur.


La plage dpend de la CPU.

BOOL

E, A, M, L, D

Entre de remise zro

CV

DUAL

WORD

E, A, M, L, D

Valeur de comptage en cours (format


hexadcimal)

CV_BCD

DEZ

WORD

E, A, M, L, D

Valeur de comptage en cours (format


DCB)

BOOL

E, A, M, L, D

Etat du compteur

Description de l'opration
Z_VORW (Paramtrage et compteur d'incrmentation)
Un front montant l'entre S de cette opration initialise le compteur la valeur figurant
dans l'entre ZW.
Un 1 l'entre R remet le compteur, et donc la valeur de comptage, zro.
Le compteur est incrment d'une unit si l'tat de signal l'entre ZV passe de 0 1
front montant et que la valeur du compteur est infrieure 999.
Si le compteur est mis 1 et si le RLG = 1 lentre ZV, le compteur compte de la mme
manire dans le cycle suivant, mme si aucun changement de front na eu lieu.
L'tat de signal de la sortie Q est 1 lorsque la valeur de comptage est suprieure 0 ; il est
0 lorsque la valeur de comptage est gale 0.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

4-5

Oprations de comptage

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Nota
Il est recommand d'utiliser un compteur un seul emplacement dans le programme (risque
derreurs de comptage).

Exemple
Z10
Z_VORW

A 4.0

E 0.0
ZV

E 0.2
S

E 0.3

MW10

ZW
R

DUAL
DEZ

Si l'tat de signal l'entre E 0.2 passe de 0 1, le compteur est initialis la valeur figurant
dans le mot de mmento MW10. Si l'tat de signal en E 0.0 passe de 0 1, la valeur du
compteur Z10 est incrmente d'un moins qu'elle ne soit dj gale 999. L'tat de signal
de la sortie A 4.0 est 1 si Z10 est diffrent de zro.

4-6

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de comptage

4.4

Z_RUECK

Paramtrage et compteur de dcrmentation

Reprsentation
Anglaise

Allemande

C n

Z n

S_CD

Z_RUECK
Q

CD

ZR
S

S
PV

ZW

CV
CV_BCD

DUAL
DEZ

Paramtre
Anglaise

Paramtre
Allemande

Type de
donnes

Zone de
mmoire

Description

C n

Zn

COUNTER

Numro d'identification du compteur.


La plage dpend de la CPU.

CD

ZR

BOOL

E, A, M, L, D

Entre de dcrmentation

S
PV

BOOL

E, A, M, L, D

Entre d'initialisation du compteur

ZW

WORD

E, A, M, L, D
ou
constante

Valeur de comptage entre sous forme


C#<valeur> dans la plage comprise
entre 0 et 999

PV

ZW

WORD

E, A, M, L, D

Valeur d'initialisation du compteur

BOOL

E, A, M, L, D

Entre de remise zro

CV

DUAL

WORD

E, A, M, L, D

Valeur de comptage en cours (format


hexadcimal)

CV_BCD

DEZ

WORD

E, A, M, L, D

Valeur de comptage en cours (format


DCB)

BOOL

E, A, M, L, D

Etat du compteur

Description de l'opration
Z_RUECK (Paramtrage et compteur de dcrmentation)
Un front montant l'entre S de cette opration initialise le compteur la valeur figurant
dans l'entre ZW.
Un 1 l'entre R remet le compteur, et donc la valeur de comptage, zro.
Le compteur est dcrment d'une unit si l'tat de signal l'entre ZR passe de 0 1 et
que la valeur du compteur est suprieure 0.
Si le compteur est mis 1 et si le RLG = 1 lentre ZR, le compteur compte de la mme
manire dans le cycle suivant, mme si aucun changement de front na eu lieu.
L'tat de signal de la sortie Q est 1 lorsque la valeur de comptage est suprieure 0 ; il est
0 lorsque la valeur de comptage est gale 0.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

4-7

Oprations de comptage

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Nota
Il est recommand d'utiliser un compteur un seul emplacement dans le programme (risque
derreurs de comptage).

Exemple
Z10
Z_RUECK

A 4.0

E 0.0
ZR

E 0.2
S

E 0.3

MW10

ZW
R

DUAL
DEZ

Si l'tat de signal l'entre E 0.2 passe de 0 1, le compteur est initialis la valeur figurant
dans le mot de mmento MW10. Si l'tat de signal en E 0.0 passe de 0 1, la valeur du
compteur Z10 est dcrmente d'un moins qu'elle ne soit dj gale 0. L'tat de signal
de la sortie A 4.0 est 1 si Z10 est diffrent de zro.

4-8

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de comptage

4.5

---( SZ ) Initialiser compteur

Reprsentation
Anglaise

Allemande

<C n >

<Z n >

---( SC )

---( SZ )

<valeur initiale>

<valeur initiale>

Paramtre
Anglaise

Paramtre
Allemande

Type de
donnes

Zone de
mmoire

Description

<C n >

<Z n >

COUNTER

Numro du compteur qui doit tre


initialis

<valeur
initiale>

<valeur
initiale>

WORD

E, A, M, L, D

La valeur d'initialisation (DCB) peut tre


comprise entre 0 et 999.

Description de l'opration
---( SZ ) (Initialiser compteur)
Cette opration ne s'excute que si le RLG prsente un front montant. La valeur prdfinie
est alors transfre au compteur indiqu.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0

Z5
SZ
C#100

Le compteur Z5 est initialis la valeur 100 si l'tat de signal en E 0.0 passe de 0 1 (front
montant du RLG). En l'absence de front montant, la valeur de Z5 reste inchange.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

4-9

Oprations de comptage

4.6

---( ZV )

Incrmenter

Reprsentation
Anglaise

Allemande

<C n >

<Z n >

---( CU )

---( ZV )

<valeur initiale>

<valeur initiale>

Paramtre
Anglaise

Paramtre
Allemande

Type de
donnes

Zone de
mmoire

Description

<C n >

<Z n >

COUNTER

Numro du compteur. La plage dpend


de la CPU.

Description de l'opration
---( ZV ) (Incrmenter)
Cette opration incrmente d'un la valeur du compteur prcis si le RLG prsente un front
montant et si la valeur du compteur est infrieure 999. En l'absence de front montant au
RLG ou si le compteur est dj gal 999, la valeur du compteur reste inchange.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
Rseau 1

E 0.0

Z10
SZ
C#100

Rseau 2
E 0.1

Z10
ZV

E 0.2

Z10

Rseau 3

Si l'tat de signal en E 0.0 passe de 0 1 (front montant du RLG), le compteur Z10 est
initialis avec la valeur 100.
Si l'tat de signal en E 0.1 passe de 0 1 (front montant du RLG), la valeur de comptage du
compteur Z10 est incrmente d'un, moins qu'elle ne soit dj 999. En l'absence de front
montant au RLG, la valeur de Z10 reste inchange.
Si l'tat de signal l'entre E 0.2 est gal 1, le compteur est mis zro.

4-10

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de comptage

4.7

---( ZR ) Dcrmenter

Reprsentation
Anglaise

Allemande

<C n >

<Z n >

---( CD )

---( ZR )

<valeur initiale>

<valeur initiale>

Paramtre
Anglaise

Paramtre
Allemande

Type de
donnes

Zone de
mmoire

Description

<C n >

<Z n >

COUNTER

Numro du compteur. La plage dpend


de la CPU.

Description de l'opration
---( ZR ) (Dcrmenter)
Cette opration dcrmente d'un la valeur du compteur prcis si le RLG prsente un front
montant et si la valeur du compteur est suprieure 0. En l'absence de front montant au
RLG ou si le compteur est dj gal 0, la valeur du compteur reste inchange.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

4-11

Oprations de comptage

Exemple
Rseau 1
E 0.0

Z10
SZ
C#100

Rseau 2
E 0.1

Z10
ZR

Z10

A 4.0

Rseau 3
Dtection de valeur 0
Rseau 4
E 0.2

Z10
R

Si l'tat de signal en E 0.0 passe de 0 1 (front montant du RLG), le compteur Z10 est
initialis avec la valeur 100.
Si l'tat de signal en E 0.1 passe de 0 1 (front montant du RLG), la valeur de comptage du
compteur Z10 est dcrmente d'un, moins qu'elle ne soit dj nulle. En l'absence de front
montant au RLG, la valeur de Z10 reste inchange.
Si la valeur de comptage est gale zro, la sortie A 4.0 est excite.
Si l'tat de signal l'entre E 0.2 est gal 1, le compteur est mis zro.

4-12

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

5.1

Oprations sur blocs de donnes

---(OPN)

Ouvrir bloc de donnes

Reprsentation
<DB n> ou <DI n>
---(OPN)
Paramtre

Type de
donnes

Zone de
mmoire

Description

<DB n>
<DI n>

BLOCK_DB

DB, DI

Numro du DB ou du DI. La plage dpend


de la CPU.

Description de l'opration
---(OPN) (Ouvrir bloc de donnes)
Cette opration ouvre un bloc de donnes (DB) ou un bloc de donnes d'instance (DI). Il
s'agit d'un appel inconditionnel d'un bloc de donnes. Le numro du bloc de donnes est
transfr au registre DB ou DI. Les commandes suivantes relatives des DB et des DI
accdent aux blocs correspondants selon le contenu des registres.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
Rseau 1

Rseau 2

DB10
OPN
DBX0.0

A 4.0

Le bloc de donnes 10 (DB10) est ouvert. L'adresse du contact (DBX0.0) se rfre au bit
zro de l'octet de donnes zro de l'enregistrement en cours se trouvant dans le bloc de
donnes DB10. L'tat de signal de ce bit est affect la sortie A 4.0.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

5-1

Oprations sur blocs de donnes

5-2

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

6.1

Oprations de saut

Vue d'ensemble des oprations de saut

Description
Vous pouvez utiliser cette opration dans tous les blocs de code, savoir les blocs
dorganisation (OB), les blocs fonctionnels (FB) et les fonctions (FC).
Vous disposez des oprations de saut suivantes :

---( JMP )---

Saut inconditionnel

---( JMP )---

Saut l'intrieur d'un bloc si 1 (conditionnel)

---( JMPN )---

Saut l'intrieur d'un bloc si 0 (conditionnel)

Repre de saut comme oprande


Loprande dune opration de saut est un repre de saut qui comporte au maximum
4 caractres. Le premier caractre doit tre une lettre, les autres caractres pouvant tre
des lettres ou des chiffres (par exemple, SEG3). Le repre de saut indique la destination o
doit sauter le programme.
Le repre de saut doit tre indiqu au-dessus de la bobine de saut.

Repre de saut comme destination


Le repre de destination de saut doit se trouver au dbut du rseau. Pour lindiquer,
slectionnez LABEL dans la bote de slection CONT. Dans la bote vide qui apparat,
spcifiez ensuite le nom du repre.
Rseau 1
SEG3
JMP

Rseau 2
A 4.0
E 0.1

.
.
Rseau X
SEG3
A 4.1
E 0.4

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

6-1

Oprations de saut

6.2

---(JMP)---

Saut inconditionnel

Reprsentation
<repre de saut>
---( JMP )---

Description de l'opration
---( JMP )--- (Saut inconditionnel)
Cette opration fonctionne comme un saut inconditionnel s'il n'y a aucun autre lment
CONT entre la barre d'alimentation gauche et l'opration (voir exemple).
Pour chaque opration ---( JMP )---, il doit exister un repre de saut (LABEL).
Les oprations entre l'opration de saut et le repre de saut ne sont pas excutes.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
Rseau 1
CAS1
JMP

:
:

:
:

Rseau X
CAS1
E 0.4

A 4.1
R

Le saut est toujours excut. Aucune des oprations entre l'opration de saut et le repre de
saut n'est traite.

6-2

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de saut

6.3

---(JMP)---

Saut l'intrieur d'un bloc si 1 (conditionnel)

Reprsentation
<repre de saut>
---( JMP )---

Description de l'opration
---( JMP )--- (Saut l'intrieur d'un bloc si 1)
Cette opration fonctionne comme un saut conditionnel si le RLG de la combinaison
prcdente est gal 1.
Pour chaque opration ---( JMP )---, il doit exister un repre de saut (LABEL).
Les oprations entre l'opration de saut et le repre de saut ne sont pas excutes.
Lorsqu'un saut conditionnel n'est pas excut, le RLG passe 1 aprs l'opration de saut.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
Rseau 1
E 0.0

Rseau 2

CAS1
JMP
E 0.3

A 4.0
R

E 0.4

A 4.1
R

Rseau 3
CAS1

Le saut au repre CAS1 est excut si l'tat de signal est 1 l'entre E 0.0. L'opration de
mise zro de la sortie A 4.0 n'est pas excute mme si l'tat de signal est 1 l'entre E
0.3.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

6-3

Oprations de saut

6.4

---( JMPN )

Saut l'intrieur d'un bloc si 0 (conditionnel)

Reprsentation
<repre de saut>
---( JMPN )

Description de l'opration
---( JMPN ) (Saut l'intrieur d'un bloc si 0)
Cette opration fonctionne comme un saut conditionnel si le RLG de la combinaison
prcdente est gal 0.
Pour chaque opration ---( JMPN ), il doit exister un repre de saut (LABEL).
Les oprations entre l'opration de saut et le repre de saut ne sont pas excutes.
Lorsqu'un saut conditionnel n'est pas excut, le RLG passe 1 aprs l'opration de saut.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
Rseau 1
E 0.0

Rseau 2

CAS1
JMPN
E 0.3

A 4.0
R

E 0.4

A 4.1
R

Rseau 3
CAS1

Le saut au repre CAS1 est excut si l'tat de signal est 0 l'entre E 0.0. En raison du
saut, l'opration de mise 0 de la sortie A 4.0 n'est pas excute mme si l'tat de signal
est 1 l'entre E 0.3.

6-4

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de saut

6.5

LABEL

Repre de saut

Reprsentation
LABEL

Description
LABEL (repre de saut)
Cette opration identifie la destination dune opration de saut. Le repre de saut consiste
de 4 caractres alphanumriques, le premier devant tre une lettre, par exemple CAS1.
Pour chaque opration ---( JMP ) ou ---( JMPN ), il doit exister un repre de saut.

Exemple
Rseau 1
E 0.0

Rseau 2

CAS1
JMP
E 0.3

A 4.0
R

Rseau 3
CAS1
E 0.4

A 4.1
R

Le saut au repre CAS1 est excut si l'tat de signal est 1 l'entre E 0.0. L'opration de
mise zro de la sortie A 4.0 n'est pas excute mme si l'tat de signal est 1 l'entre
E 0.3.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

6-5

Oprations de saut

6-6

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

7.1

Fonctions sur nombres entiers

Vue d'ensemble des oprations arithmtiques sur nombre


entiers

Description
Les oprations arithmtiques sur nombres entiers permettent dexcuter les fonctions
arithmtiques suivantes sur deux nombres entiers (16 et 32 bits) :

ADD_I

Additionner entiers de 16 bits

SUB_I

Soustraire entiers de 16 bits

MUL_I

Multiplier entiers de 16 bits

DIV_I

Diviser entiers de 16 bits

ADD_DI

Additionner entiers de 32 bits

SUB_DI

Soustraire entiers de 32 bits

MUL_DI

Multiplier entiers de 32 bits

DIV_DI

Diviser entiers de 32 bits

MOD_DI Reste de division (32 bits)

Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres entiers

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

7-1

Fonctions sur nombres entiers

7.2

Evaluation des bits du mot d'tat dans les oprations sur


nombres entiers

Description
Les oprations arithmtiques sur nombres entiers affectent les bits suivants du mot d'tat :

BI1 et BI0,

DEB,

DM.

Les tableaux ci-dessous montrent l'tat de signal des bits du mot d'tat pour les rsultats
d'oprations sur nombres entiers (16 et 32 bits) :
Plage autorise

BI1

BI0

DEB

DM

0 (zro)

16 bits : 32 768 <= rsultat < 0 (nombre ngatif)


32 bits : 2 147 483 648 <= rsultat < 0 (nombre ngatif)

16 bits : 32 767 > =rsultat > 0 (nombre positif)


32 bits : 2 147 483 647 > = rsultat > 0 (nombre positif)

* Le bit DM n'est pas influenc par le rsultat de l'opration.

7-2

Plage non autorise

BI1

BI0

DEB

DM

Dpassement ngatif de la plage pour une addition


16 bits : rsultat = 65536
32 bits : rsultat = 4 294 967 296

Dpassement ngatif de la plage pour une multiplication


16 bits : rsultat < 32 768 (nombre ngatif)
32 bits : rsultat < 2 147 483 648 (nombre ngatif)

Dpassement positif de la plage pour addition, soustraction


16 bits : rsultat > 32 767 (nombre positif)
32 bits : rsultat > 2 147 483 647 (nombre positif)

Dpassement positif de la plage pour multiplication, division


16 bits : rsultat > 32 767 (nombre positif)
32 bits : rsultat > 2 147 483 647 (nombre positif)

Dpassement ngatif de la plage pour addition, soustraction


16 bits : rsultat < 32 768 (nombre ngatif)
32 bits : rsultat < 2 147 483 648 (nombre ngatif)

Division par zro

Opration

BI1

BI0

DEB

DM

+D : rsultat = 4 294 967 296

/D ou MOD : division par 0

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Fonctions sur nombres entiers

7.3

ADD_I

Additionner entiers de 16 bits

Reprsentation
ADD_I
EN ENO
IN1
IN2 OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN1

INT

E, A, M, L, D ou
constante

Premire valeur pour l'addition

IN2

INT

E, A, M, L, D ou
constante

Seconde valeur pour l'addition

OUT

INT

E, A, M, L, D

Rsultat de l'addition

Description de l'opration
ADD_I (Additionner entiers de 16 bits)
Cette opration additionne les entres IN1 et IN2 si l'tat de signal est 1 l'entre de
validation EN. Le rsultat est rang dans la sortie OUT. Si ce rsultat est hors de la plage
autorise pour un nombre entier de 16 bits, les bits DEB et DM du mot d'tat sont mis 1 et
la sortie ENO est 0. Ainsi, les oprations suivant cette opration arithmtique et qui y sont
connectes par ENO (cascade) ne sont pas excutes.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres entiers.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MW0
MW2

ADD_I

EN
IN1
IN2

ENO

NOT

OUT

MW10

A 4.0
S

L'opration ADD_I est excute si l'tat de signal est 1 l'entre E 0.0. Le rsultat de
l'addition MW0 + MW2 est rang dans le mot de mmento MW10. Si le rsultat est hors de
la plage autorise pour un nombre entier de 16 bits ou si l'tat de signal est 0 l'entre
E 0.0, la sortie A 4.0 est mise 1.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

7-3

Fonctions sur nombres entiers

7.4

SUB_I

Soustraire entiers de 16 bits

Reprsentation
SUB_I
EN ENO
IN1
IN2 OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN1

INT

E, A, M, L, D ou
constante

Premire valeur de la soustraction (de


laquelle soustraire)

IN2

INT

E, A, M, L, D ou
constante

Valeur soustraire

OUT

INT

E, A, M, L, D

Rsultat de la soustraction

Description de l'opration
SUB_I (Soustraire entiers de 16 bits)
Cette opration soustrait l'entre IN2 de l'entre IN1 si l'tat de signal est 1 l'entre de
validation EN. Le rsultat est rang dans la sortie OUT. Si ce rsultat est hors de la plage
autorise pour un nombre entier de 16 bits, les bits DEB et DM du mot d'tat sont mis 1 et
la sortie ENO est 0. Ainsi, les oprations suivant cette opration arithmtique et qui y sont
connectes par ENO (cascade) ne sont pas excutes.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres entiers.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MW0
MW2

SUB_I

EN
IN1
IN2

ENO

NOT

OUT

MW10

A 4.0
S

L'opration SUB_I est excute si l'tat de signal est 1 l'entre E 0.0. Le rsultat de la
soustraction MW0 - MW2 est rang dans le mot de mmento MW10. Si le rsultat est hors
de la plage autorise pour un nombre entier de 16 bits ou si l'tat de signal est 0 l'entre
E 0.0, la sortie A 4.0 est mise 1.

7-4

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Fonctions sur nombres entiers

7.5

MUL_I

Multiplier entiers de 16 bits

Reprsentation
MUL_I
EN ENO
IN1
IN2 OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN1

INT

E, A, M, L, D ou
constante

Premire valeur pour la multiplication

IN2

INT

E, A, M, L, D ou
constante

Seconde valeur pour la multiplication

OUT

DINT

E, A, M, L, D

Rsultat de la multiplication

Description de l'opration
MUL_I (Multiplier entiers de 16 bits)
Cette opration multiplie les entres IN1 et IN2 si l'tat de signal est 1 l'entre de validation
EN. Le rsultat est rang dans la sortie OUT. Si le rsultat est hors de la plage autorise
pour un nombre entier de 16 bits, les bits DEB et DM du mot d'tat sont mis 1 et la sortie
ENO est 0. Ainsi, les oprations suivant cette opration arithmtique et qui y sont
connectes par ENO (cascade) ne sont pas excutes.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres entiers.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MW0
MW2

MUL_I

EN
IN1
IN2

ENO

NOT

OUT

MW10

A 4.0
S

L'opration MUL_I est excute si l'tat de signal est 1 l'entre E 0.0. Le rsultat de la
multiplication MW0 x MW2 est rang dans le mot de mmento MW10. Si le rsultat est hors
de la plage autorise pour un nombre entier de 16 bits ou si l'tat de signal est 0 l'entre
E 0.0, la sortie A 4.0 est mise 1.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

7-5

Fonctions sur nombres entiers

7.6

DIV_I

Diviser entiers de 16 bits

Reprsentation
DIV_I
EN ENO
IN1
IN2 OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN1

INT

E, A, M, L, D ou
constante

Dividende

IN2

INT

E, A, M, L, D ou
constante

Diviseur

OUT

INT

E, A, M, L, D

Rsultat de la division

Description de l'opration
DIV_I (Diviser entiers de 16 bits)
Cette opration divise l'entre IN1 par l'entre IN2 si l'tat de signal est 1 l'entre de
validation EN. Le rsultat est rang dans la sortie OUT. Si le rsultat est hors de la plage
autorise pour un nombre entier de 16 bits, les bits DEB et DM du mot d'tat sont mis 1 et
la sortie ENO est 0. Ainsi, les oprations suivant cette opration arithmtique et qui y sont
connectes par ENO (cascade) ne sont pas excutes.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres entiers.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MW0
MW2

DIV_I

EN
IN1
IN2

ENO

NOT

OUT

MW10

A 4.0
S

L'opration DIV_I est excute si l'tat de signal est 1 l'entre E 0.0. Le rsultat de la
division MW0 par MW2 est rang dans le mot de mmento MW10. Si le rsultat est hors de
la plage autorise pour un nombre entier de 16 bits ou si l'tat de signal est 0 l'entre
E 0.0, la sortie A 4.0 est mise 1.

7-6

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Fonctions sur nombres entiers

7.7

ADD_DI

Additionner entiers de 32 bits

Reprsentation
ADD_DI
EN ENO
IN1
IN2 OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN1

DINT

E, A, M, L, D ou
constante

Premire valeur pour l'addition

IN2

DINT

E, A, M, L, D ou
constante

Seconde valeur pour l'addition

OUT

DINT

E, A, M, L, D

Rsultat de l'addition

Description de l'opration
ADD_DI (Additionner entiers de 32 bits)
Cette opration additionne IN1 et IN2 si l'tat de signal est 1 l'entre de validation EN. Le
rsultat est rang dans la sortie OUT. Si ce rsultat est hors de la plage autorise pour un
nombre entier de 32 bits, les bits DEB et DM du mot d'tat sont mis 1 et la sortie ENO est
0. Ainsi, les oprations suivant cette opration arithmtique et qui y sont connectes par
ENO (cascade) ne sont pas excutes.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres entiers.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MD0
MD4

ADD_DI

EN
IN1
IN2

ENO

NOT

OUT

MD10

A 4.0
S

L'opration ADD_DI est excute si l'tat de signal est 1 l'entre E 0.0. Le rsultat de
l'addition MD0 + MD4 est rang dans le double mot de mmento MD10. Si le rsultat est
hors de la plage autorise pour un nombre entier de 32 bits ou si l'tat de signal est 0
l'entre E 0.0, la sortie A 4.0 est mise 1.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

7-7

Fonctions sur nombres entiers

7.8

SUB_DI

Soustraire entiers de 32 bits

Reprsentation
SUB_DI
EN ENO
IN1
IN2 OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN1

DINT

E, A, M, L, D ou
constante

Premire valeur de la soustraction

IN2

DINT

E, A, M, L, D ou
constante

Valeur soustraire

OUT

DINT

E, A, M, L, D

Rsultat de la soustraction

Description de l'opration
SUB_DI (Soustraire entiers de 32 bits)
Cette opration soustrait l'entre IN2 de l'entre IN1 si l'tat de signal est 1 l'entre de
validation EN. Le rsultat est rang dans la sortie OUT. Si ce rsultat est hors de la plage
autorise pour un nombre entier de 32 bits, les bits DEB et DM du mot d'tat sont mis 1 et
la sortie ENO est 0. Ainsi, les oprations suivant cette opration arithmtique et qui y sont
connectes par ENO (cascade) ne sont pas excutes.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres entiers.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MD0
MD4

SUB_DI

EN
IN1
IN2

ENO

NOT

OUT

MD10

A 4.0
S

L'opration SUB_DI est excute si l'tat de signal est 1 l'entre E 0.0. Le rsultat de la
soustraction MD0 - MD4 est rang dans le double mot de mmento MD10. Si le rsultat est
hors de la plage autorise pour un nombre entier de 32 bits ou si l'tat de signal est 0
l'entre E 0.0, la sortie A 4.0 est mise 1.

7-8

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Fonctions sur nombres entiers

7.9

MUL_DI

Multiplier entiers de 32 bits

Reprsentation
MUL_DI
EN ENO
IN1
IN2 OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN1

DINT

E, A, M, L, D ou
constante

Premire valeur pour la multiplication

IN2

DINT

E, A, M, L, D ou
constante

Seconde valeur pour la multiplication

OUT

DINT

E, A, M, L, D

Rsultat de la multiplication

Description de l'opration
MUL_DI (Multiplier entiers de 32 bits)
Cette opration multiplie les entres IN1 et IN2 si l'tat de signal est 1 l'entre de validation
EN. Le rsultat est rang dans la sortie OUT. Si le rsultat est hors de la plage autorise
pour un nombre entier de 32 bits, les bits DEB et DM du mot d'tat sont mis 1 et la sortie
ENO est 0. Ainsi, les oprations suivant cette opration arithmtique et qui y sont
connectes par ENO (cascade) ne sont pas excutes.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres entiers.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MD0
MD4

MUL_DI

EN
IN1
IN2

ENO

NOT

OUT

MD10

A 4.0
S

L'opration MUL_DI est excute si l'tat de signal est 1 l'entre E 0.0. Le rsultat de la
multiplication MD0 x MD4 est rang dans le double mot de mmento MD10. Si le rsultat est
hors de la plage autorise pour un nombre entier de 32 bits ou si l'tat de signal est 0
l'entre E 0.0, la sortie A 4.0 est mise 1.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

7-9

Fonctions sur nombres entiers

7.10

DIV_DI

Diviser entiers de 32 bits

Reprsentation
DIV_DI
EN ENO
IN1
IN2 OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN1

DINT

E, A, M, L, D ou
constante

Dividende

IN2

DINT

E, A, M, L, D ou
constante

Diviseur

OUT

DINT

E, A, M, L, D

Rsultat entier de la division

Description de l'opration
DIV_DI (Diviser entiers de 32 bits)
Cette opration divise l'entre IN1 par l'entre IN2 si l'tat de signal est 1 l'entre de
validation EN. Le rsultat (partie entire) est rang dans la sortie OUT. Cette opration ne
fournit pas de reste. Si le quotient est hors de la plage autorise pour un nombre entier de
32 bits, les bits DEB et DM du mot d'tat sont mis 1 et la sortie ENO est 0. Ainsi, les
oprations suivant cette opration arithmtique et qui y sont connectes par ENO (cascade)
ne sont pas excutes.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres entiers.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MD0
MD4

DIV_DI

EN
IN1
IN2

ENO

NOT

OUT

MD10

A 4.0
S

L'opration DIV_DI est excute si l'tat de signal est 1 l'entre E 0.0. Le rsultat de la
division MD0 par MD4 est rang dans le double mot de mmento MD10. Si le rsultat est
hors de la plage autorise pour un nombre entier de 32 bits ou si l'tat de signal est 0
l'entre E 0.0, la sortie A 4.0 est mise 1.

7-10

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Fonctions sur nombres entiers

7.11

MOD_DI

Reste de division (32 bits)

Reprsentation
MOD_DI
EN ENO
IN1
IN2 OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN1

DINT

E, A, M, L, D ou
constante

Dividende

IN2

DINT

E, A, M, L, D ou
constante

Diviseur

OUT

DINT

E, A, M, L, D

Reste de la division

Description de l'opration
MOD_DI (Reste de division)
Cette opration divise l'entre IN1 par l'entre IN2 si l'tat de signal est 1 l'entre de
validation EN. Le reste de la division est rang dans la sortie OUT. Si ce reste est hors de la
plage autorise pour un nombre entier de 32 bits, les bits DEB et DM du mot d'tat sont mis
1 et la sortie ENO est 0. Ainsi, les oprations suivant cette opration arithmtique et qui
y sont connectes par ENO (cascade) ne sont pas excutes.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres entiers.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MD0
MD4

MOD_DI

EN
IN1
IN2

ENO

NOT

OUT

MD10

A 4.0
S

L'opration MOD_DI est excute si l'tat de signal est 1 l'entre E 0.0. Le reste de la
division de MD0 par MD4 est rang dans le double mot de mmento MD10. Si ce reste est
hors de la plage autorise pour un nombre entier de 32 bits ou si l'tat de signal est 0
l'entre E 0.0, la sortie A 4.0 est mise 1.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

7-11

Fonctions sur nombres entiers

7-12

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

8.1

Fonctions sur nombres virgule flottante

Vue d'ensemble des oprations arithmtiques sur nombres


virgule flottante

Description
Les nombres virgule flottante IEEE de 32 bits ont le type de donnes REAL. Les
oprations arithmtiques sur nombres virgule flottante permettent dexcuter les fonctions
arithmtiques suivantes sur deux nombres rels IEEE de 32 bits :

ADD_R

Addition

SUB_R

Soustraction

MUL_R

Multiplication

DIV_R

Division

Les oprations arithmtiques sur nombres virgule flottante permettent dexcuter les
fonctions arithmtiques suivantes sur un nombre rels IEEE de 32 bits :

Valeur absolue (ABS) dun nombre rel

Carr (SQR) ou Racine carre (SQRT) dun nombre rel

Logarithme naturel (LN) dun nombre rel

Valeur exponentielle (EXP) sur la base e (= 2,71828) dun nombre rel

Fonctions trigonomtriques dangles reprsents sous forme de nombres rels IEEE de


32 bits :
-

Sinus (SIN) et Arc sinus (ASIN)

Cosinus (COS) et Arc cosinus (ACOS)

Tangente (TAN) et Arc tangente (ATAN)

Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres virgule
flottante.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

8-1

Fonctions sur nombres virgule flottante

8.2

Evaluation des bits du mot d'tat dans les oprations sur


nombres virgule flottante

Description
Les oprations arithmtiques sur nombres virgule flottante affectent les bits suivants du
mot d'tat :

BI1 et BI0,

DEB,

DM.

Les tableaux ci-dessous montrent l'tat de signal des bits du mot d'tat pour les rsultats
d'oprations sur nombres virgule flottante (32 bits) :
Plage autorise

BI1

BI0

DEB

DM

+0, -0 (zro)

-3.402823E+38 < rsultat < -1.175494E-38 (nombre ngatif)

+1.175494E-38 < rsultat < 3.402824E+38 (nombre positif)

* Le bit DM n'est pas influenc par le rsultat de l'opration.

8-2

Plage incorrecte

BI1

BI0

DEB

DM

Dpassement bas
-1.175494E-38 < rsultat < - 1.401298E-45 (nombre ngatif)

Dpassement bas
+1.401298E-45 < rsultat < +1.175494E-38 (nombre positif)

Dbordement
rsultat < -3.402823E+38 (nombre ngatif)

Dbordement
rsultat > 3.402823E+38 (nombre positif)

Pas un nombre rel correct ou opration illicite (valeur


d'entre hors de la plage de valeurs autorise)

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Fonctions sur nombres virgule flottante

8.3

Oprations de base

8.3.1

ADD_R

Additionner rels

Reprsentation
ADD_R
EN ENO
IN1
IN2 OUT
Paramtre

Type de
donnes

Zone de
mmoire

Description

EN
ENO
IN1

BOOL
BOOL
REAL

Entre de validation
Sortie de validation
Premire valeur pour l'addition

IN2

REAL

OUT

REAL

E, A, M, L, D
E, A, M, L, D
E, A, M, L, D ou
constante
E, A, M, L, D ou
constante
E, A, M, L, D

Seconde valeur pour l'addition


Rsultat de l'addition

Description de l'opration
ADD_R (Additionner rels)
Si l'tat de signal est 1 l'entre de validation (EN), cette opration additionne les entres
IN1 et IN2 et range le rsultat dans la sortie OUT. Si ce rsultat est hors de la plage
autorise pour un nombre rel (dbordement ou dpassement bas), les bits DEB et DM du
mot d'tat sont mis 1 et ENO est mis 0. Ainsi, les oprations suivant cette opration
arithmtique et qui y sont connectes par ENO (cascade) ne sont pas excutes.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres virgule
flottante.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MD0
MD4

ADD_R
ENO
EN
IN1
OUT
IN2

A 4.0
NOT

MD10

L'opration ADD_R est excute si l'tat de signal est 1 l'entre E 0.0. Le rsultat de
l'addition MD0 + MD4 est rang dans le double mot de mmento MD10. Si ce rsultat est
hors de la plage autorise pour un nombre rel ou si cette addition n'est pas traite, la sortie
A 4.0 est mise 1.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

8-3

Fonctions sur nombres virgule flottante

8.3.2

SUB_R

Soustraire rels

Reprsentation
SUB_R
EN ENO
IN1
IN2 OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN1

REAL

E, A, M, L, D ou
constante

Premire valeur de soustraction (de laquelle


soustraire)

IN2

REAL

E, A, M, L, D ou
constante

Valeur soustraire de la premire valeur

OUT

REAL

E, A, M, L, D

Rsultat de la soustraction

Description de l'opration
SUB_R (Soustraire rels)
Si l'tat de signal est 1 l'entre de validation (EN), cette opration soustrait l'entre IN2 de
l'entre IN1 et range le rsultat dans la sortie OUT. Si ce rsultat est hors de la plage
autorise pour un nombre rel (dbordement ou dpassement bas), les bits DEB et DM du
mot d'tat sont mis 1 et ENO est mis 0. Ainsi, les oprations suivant cette opration
arithmtique et qui y sont connectes par ENO (cascade) ne sont pas excutes.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres virgule
flottante.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MD0
MD4

SUB_R
ENO
EN
IN1
OUT
IN2

A 4.0
NOT

MD10

L'opration SUB_R est excute si l'tat de signal est 1 l'entre E 0.0. Le rsultat de la
soustraction MD0 - MD4 est rang dans le double mot de mmento MD10. Si ce rsultat est
hors de la plage autorise pour un nombre rel ou si cette soustraction n'est pas traite, la
sortie A 4.0 est mise 1.

8-4

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Fonctions sur nombres virgule flottante

8.3.3

MUL_R

Multiplier rels

Reprsentation
MUL_R
EN ENO
IN1
IN2 OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN1

REAL

E, A, M, L, D ou
constante

Premire valeur pour la multiplication

IN2

REAL

E, A, M, L, D ou
constante

Seconde valeur pour la multiplication

OUT

REAL

E, A, M, L, D

Rsultat de la multiplication

Description de l'opration
MUL_R (Multiplier rels)
Si l'tat de signal est 1 l'entre de validation (EN), cette opration multiplie les entres IN1
et IN2 et range le rsultat dans la sortie OUT. Si ce rsultat est hors de la plage autorise
pour un nombre rel (dbordement ou dpassement bas), les bits DEB et DM du mot d'tat
sont mis 1 et ENO est mis 0. Ainsi, les oprations suivant cette opration arithmtique et
qui y sont connectes par ENO (cascade) ne sont pas excutes.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres virgule
flottante.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MD0
MD4

MUL_R
ENO
EN
IN1
OUT
IN2

A 4.0
NOT

MD10

L'opration MUL_R est excute si l'tat de signal est 1 l'entre E 0.0. Le rsultat de la
multiplication MD0 x MD4 est rang dans le double mot de mmento MD10. Si le rsultat est
hors de la plage autorise pour un nombre rel ou si cette multiplication n'est pas traite, la
sortie A 4.0 est mise 1.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

8-5

Fonctions sur nombres virgule flottante

8.3.4

DIV_R

Diviser rels

Reprsentation
DIV_R
EN ENO
IN1
IN2 OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN1

REAL

E, A, M, L, D ou
constante

Dividende

IN2

REAL

E, A, M, L, D ou
constante

Diviseur

OUT

REAL

E, A, M, L, D

Rsultat de la division

Description de l'opration
DIV_R (Diviser rels)
Si l'tat de signal est 1 l'entre de validation (EN), cette opration divise l'entre IN1 par
l'entre IN2 et range le rsultat dans la sortie OUT. Si ce rsultat est hors de la plage
autorise pour un nombre rel (dbordement ou dpassement bas), les bits DEB et DM du
mot d'tat sont mis 1 et ENO est mis 0. Ainsi, les oprations suivant cette opration
arithmtique et qui y sont connectes par ENO (cascade) ne sont pas excutes.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres virgule
flottante.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MD0
MD4

DIV_R
ENO
EN
IN1
OUT
IN2

A 4.0
NOT

MD10

L'opration DIV_R est excute si l'tat de signal est 1 l'entre E 0.0. Le rsultat de la
division MD0 par MD4 est rang dans le double mot de mmento MD10. Si ce rsultat est
hors de la plage autorise pour un nombre rel ou si cette division n'est pas traite, la sortie
A 4.0 est mise 1.

8-6

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Fonctions sur nombres virgule flottante

8.3.5

ABS

Valeur absolue d'un nombre rel

Reprsentation
ABS
EN ENO
IN OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

REAL

E, A, M, L, D ou
constante

Valeur d'entre : nombre rel

OUT

REAL

E, A, M, L, D

Valeur de sortie : valeur absolue du nombre


rel

Description de l'opration
ABS (Valeur absolue d'un nombre rel)
Cette opration forme la valeur absolue d'un nombre rel.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0

MD8

A 4.0

EN

ABS
ENO

NOT

IN

OUT

MD12

Si l'tat de signal est 1 l'entre E 0.0, MD8 transmet la valeur absolue MD12.
De MD8 = -6,234 rsulte MD12 = +6,234. Si la conversion n'est pas excute, l'tat de
signal est 1 la sortie A 4.0 (ENO = EN = 0).

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

8-7

Fonctions sur nombres virgule flottante

8.4
8.4.1

Oprations tendues
SQR

Carr

Reprsentation
SQR
EN ENO
IN OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

REAL

E, A, M, L, D ou
constante

Valeur d'entre : nombre rel

OUT

REAL

E, A, M, L, D

Valeur de sortie : carr du nombre rel

Description de l'opration
L'opration SQR (Carr d'un nombre rel) calcule le carr d'un nombre rel.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres virgule
flottante.

Mot d'tat
Ecriture

8-8

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Fonctions sur nombres virgule flottante

8.4.2

SQRT

Racine carre

Reprsentation
SQRT
EN ENO
IN OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

REAL

E, A, M, L, D ou
constante

Valeur d'entre : nombre rel

OUT

REAL

E, A, M, L, D

Valeur de sortie : racine carre du nombre


rel

Description de l'opration
L'opration SQRT (Racine carre d'un nombre rel) calcule la racine carre d'un nombre
rel. Cette opration dlivre un rsultat positif si l'oprande est suprieur 0. Unique
exception : la racine carre de -0 est -0.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres virgule
flottante.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

8-9

Fonctions sur nombres virgule flottante

8.4.3

EXP

Valeur exponentielle

Reprsentation
EXP
EN ENO
IN OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

REAL

E, A, M, L, D ou
constante

Valeur d'entre : nombre rel

OUT

REAL

E, A, M, L, D

Valeur de sortie : valeur exponentielle du


nombre rel

Description de l'opration
L'opration EXP (Valeur exponentielle d'un nombre rel) calcule la valeur exponentielle de
base e (= 2,71828...) d'un nombre rel.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres virgule
flottante.

Mot d'tat
Ecriture

8-10

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Fonctions sur nombres virgule flottante

8.4.4

LN

Logarithme naturel

Reprsentation
LN
EN ENO
IN OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

REAL

E, A, M, L, D ou
constante

Valeur d'entre : nombre rel

OUT

REAL

E, A, M, L, D

Valeur de sortie : logarithme naturel du


nombre rel

Description de l'opration
L'opration LN (Logarithme naturel d'un nombre rel) calcule le logarithme naturel d'un
nombre rel.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres virgule
flottante.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

8-11

Fonctions sur nombres virgule flottante

8.4.5

SIN

Sinus

Reprsentation
SIN
EN ENO
IN OUT

Type de
donnes

Zone de
mmoire

Description

Paramtre
EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

REAL

E, A, M, L, D ou
constante

Valeur d'entre : nombre rel

OUT

REAL

E, A, M, L, D

Valeur de sortie : sinus du nombre rel

Description de l'opration
L'opration SIN (Sinus d'un nombre rel) calcule le sinus d'un nombre rel qui reprsente un
angle en radians.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres virgule
flottante.

Mot d'tat
Ecriture

8-12

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Fonctions sur nombres virgule flottante

8.4.6

COS

Cosinus

Reprsentation
COS
EN ENO
IN OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

REAL

E, A, M, L, D ou
constante

Valeur d'entre : nombre rel

OUT

REAL

E, A, M, L, D

Valeur de sortie : cosinus du nombre rel

Description de l'opration
L'opration COS (Cosinus d'un nombre rel) calcule le cosinus d'un nombre rel qui
reprsente un angle en radians.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres virgule
flottante.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

8-13

Fonctions sur nombres virgule flottante

8.4.7

TAN

Tangente

Reprsentation
TAN
EN ENO
IN OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

REAL

E, A, M, L, D ou
constante

Valeur d'entre : nombre rel

OUT

REAL

E, A, M, L, D

Valeur de sortie : tangente du nombre rel

Description de l'opration
L'opration TAN (Tangente d'un nombre rel) calcule la tangente d'un nombre rel qui
reprsente un angle en radians.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres virgule
flottante.

Mot d'tat
Ecriture

8-14

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Fonctions sur nombres virgule flottante

8.4.8

ASIN

Arc sinus

Reprsentation
ASIN
EN ENO
IN OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

REAL

E, A, M, L, D ou
constante

Valeur d'entre : nombre rel

OUT

REAL

E, A, M, L, D

Valeur de sortie : arc sinus d'un nombre rel

Description de l'opration
L'opration ASIN (Arc sinus d'un nombre rel) calcule l'arc sinus d'un nombre rel dont la
valeur d'entre doit tre comprise entre :
-1 <= valeur d'entre <= +1
Le rsultat est un angle indiqu en radians. Sa valeur est comprise dans la plage suivante :
-/2 valeur de sortie +/2
avec = 3,1415....
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres virgule
flottante.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

8-15

Fonctions sur nombres virgule flottante

8.4.9

ACOS

Arc cosinus

Reprsentation
ACOS
EN ENO
IN OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

REAL

E, A, M, L, D ou
constante

Valeur d'entre : nombre rel

OUT

REAL

E, A, M, L, D

Valeur de sortie : arc cosinus du nombre


rel

Description de l'opration
L'opration ACOS (Arc cosinus d'un nombre rel) calcule l'arc cosinus d'un nombre rel dont
la valeur d'entre doit tre comprise entre :
-1 <= valeur d'entre <= +1
Le rsultat est un angle indiqu en radians. Sa valeur est comprise dans la plage suivante :

0 valeur de sortie +
avec = 3,1415....

Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres virgule
flottante.

Mot d'tat
Ecriture

8-16

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Fonctions sur nombres virgule flottante

8.4.10

ATAN

Arc tangente

Reprsentation
ATAN
EN ENO
IN OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

REAL

E, A, M, L, D ou
constante

Valeur d'entre : nombre rel

OUT

REAL

E, A, M, L, D

Valeur de sortie : arc tangente du nombre


rel

Description de l'opration
L'opration ATAN (Arc tangente d'un nombre rel) calcule l'arc tangente d'un nombre rel.
Le rsultat est un angle en radians dont la valeur est comprise dans la plage suivante :

-/2 valeur de sortie +/2


avec = 3,1415....
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres virgule
flottante.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

8-17

Fonctions sur nombres virgule flottante

8-18

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

9.1

Oprations de transfert

MOVE

Affecter valeur

Reprsentation
MOVE
EN

ENO

IN

OUT

Paramtre

Type de donnes

Zone de mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

Tous les types de


E, A, M, L, D ou
donnes simples d'une constante
longueur de 8, de 16 ou
de 32 bits

Valeur source

OUT

Tous les types de


E, A, M, L, D
donnes lmentaires
d'une longueur de 8, de
16 ou de 32 bits

Adresse de destination

Description de l'opration
MOVE (Affecter valeur)
Cette opration est active par l'entre de validation EN. La valeur indique dans l'entre IN
est copie l'adresse prcise dans la sortie OUT. L'tat de signal de ENO est identique
celui de EN. L'opration MOVE ne permet de copier que des octets, des mots ou des
doubles mots. Pour copier des types de donnes utilisateur tels que des tableaux ou des
structures, vous devez faire appel la fonction systme "BLKMOV" (SFC 20).

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

9-1

Oprations de transfert

Dpendance par rapport au relais de masquage (Master Control Relay, MCR)


La dpendance par rapport au relais MCR est uniquement active lorsque l'opration MOVE
est l'intrieur d'une zone MCR active. Au sein d'une telle zone active, les donnes
adresses sont copies comme dcrit ci-dessus si le relais MCR est en fonction et que le
flux d'nergie est prsent l'entre de validation. Si le relais MCR est hors fonction et si une
opration MOVE est excute, la valeur 0 est crite l'adresse prcise dans la sortie OUT,
quel que soit l'tat de signal en vigueur l'entre IN.

Nota
Lors de l'affectation d'une valeur un type de donnes de longueur diffrente, les octets de
poids fort sont, le cas chant, tronqus ou complts par des zro. Exemples :
Double mot

1111 1111

Affectation

Rsultat

un double mot :

1111 1111

0000 1111

1111 0000

0101 0101

0000 1111

1111 0000

0101 0101

un octet :

0101 0101

un mot :

1111 0000

Octet

0101 0101
1111 0000

Affectation

Rsultat

un octet :

1111 0000

un mot :
un double mot :

0000 0000

0000 0000

0000 0000

1111 0000

0000 0000

1111 0000

Exemple
E 0.0

MW10

MOVE
EN

ENO

IN

OUT

A 4.0

DBW12

L'opration est excute si E 0.0 est 1. Le contenu de MW10 est alors copi dans le mot
de donnes 12 du bloc de donnes en cours.
La sortie A 4.0 est mise 1 si l'opration est excute.

Si le trajet de courant de l'exemple est l'intrieur d'une zone MCR active :


Si le relais MCR est en fonction, les donnes sont copies comme dcrit ci-dessus de
MW10 dans DBW12.
Si le relais MCR est hors fonction, la valeur 0 est crite dans le DBW12.

9-2

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

10 Oprations de gestion d'excution de


programme

10.1

Vue d'ensemble des oprations de gestion d'excution de


programme

Description
Vous disposez des oprations de gestion d'excution de programme suivantes :

---(Call)

Appeler FC/SFC sans paramtre

CALL_FB

Appeler FB (bote)

CALL_FC

Appeler FC (bote)

CALL_SFB

Appeler SFB (bote)

CALL_SFC

Appeler SFC (bote)

Appeler multi-instance

Appeler un bloc dans une bibliothque

---(MCR<)

Relais de masquage en fonction

---(MCR>)

Relais de masquage hors fonction

---(MCRA)

Activer relais de masquage

---(MCRD)

Dsactiver relais de masquage

RET

Retour

Voir aussi Remarques importantes sur l'utilisation de la fonctionnalit

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

10-1

Oprations de gestion d'excution de programme

10.2

---(Call)

Appeler FC/SFC sans paramtre

Reprsentation
<FC/SFC n>
---( CALL )
Paramtre

Type de
donnes

Zone de
mmoire

Description

<FC/SFC n>

BLOCK_FC

Numro de la fonction ou de la fonction


systme. La plage dpend de la CPU.

Description de l'opration
---(Call) (Appeler FC/SFC sans paramtre)
Cette opration permet d'appeler une fonction (FC) ou une fonction systme (SFC) qui n'a
pas de paramtre. L'appel est uniquement excut lorsque le RLG est 1 la bobine CALL.
Si l'opration ---(CALL) a lieu, elle fonctionne comme suit :

Elle sauvegarde l'adresse de retour au bloc appelant.

Elle change la zone de donnes locales en cours en zone de donnes locales


prcdente.

Elle empile le bit MA (bit MCR actif) dans la pile des blocs.

Elle cre la nouvelle zone de donnes locales pour la fonction appele.

Ensuite, le traitement du programme se poursuit dans la fonction ou dans la fonction


systme appele.

Mot d'tat
RB

10-2

BI1

BI0

DEB

DM

OU

ETAT RLG

/PI

Appel conditionnel :

Ecriture -

Appel inconditionnel :

Ecriture -

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de gestion d'excution de programme

Exemple
.
.
.

DB10
OPN

.
.
.

MCRA

.
.
.

FC10
CALL
E 0.0

A 4.0

.
.
.
.
.
. E 0.1

MCRD
FC11
CALL

Les oprations CONT reprsentes ci-dessus sont des parties de programme d'un bloc
fonctionnel utilisateur. Ce bloc fonctionnel ouvre le DB10 et active la fonction MCR. Si l'appel
inconditionnel de la FC10 est excut, voici ce qui se passe :
L'adresse de retour au bloc fonctionnel appelant et les slecteurs pour le DB10 et pour le
bloc de donnes d'instance du FB appelant sont sauvegards. Le bit MA qui a t mis 1
par l'opration MCRA est empil dans la pile des blocs, puis mis 0 pour la fonction FC10
appele. Le traitement du programme se poursuit dans la FC10. Si vous voulez utiliser la
fonction MCR dans la FC10, vous devez l'y ractiver. A la fin de la FC10, le traitement du
programme revient au FB appelant. Le bit MA est restaur. Le DB10 et le bloc de donnes
d'instance (DI) du FB utilisateur redeviennent les DB en cours. Le programme se poursuit
avec l'opration suivante : l'affectation de l'tat de signal en E 0.0 la sortie A 4.0. L'appel
de la FC11 tant conditionnel, il n'est excut que si l'tat de signal en E 0.1 est 1. S'il est
excut, la gestion du programme est transmise la FC11 comme dcrit pour la FC10 et
revient de la FC11 aprs traitement.

Nota
Aprs retour au bloc appelant, il n'est pas toujours certain que le DB ouvert prcdemment
soit de nouveau ouvert. Veuillez observer les informations dans le fichier LISEZMOI.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

10-3

Oprations de gestion d'excution de programme

10.3

CALL_FB

Appeler FB (bote)

Reprsentation
<DB n>
FB n
EN ENO

La reprsentation dpend du bloc fonctionnel ( savoir si des paramtres sont prsents et


combien). L'entre EN, la sortie ENO et le nom ou le numro du FB doivent tre prsents.
Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

FB n

BLOCK_FB

DB n

BLOCK_DB

Numros du FB et du DB. La plage dpend


de la CPU.

Description de l'opration
CALL_FB (Appeler FB)
Cette opration est excute si EN est 1. Si l'opration CALL_FB a lieu, elle fonctionne
comme suit :

Elle sauvegarde l'adresse de retour au bloc appelant.

Elle sauvegarde les slecteurs pour les deux blocs de donnes en cours (DB et DI).

Elle change la zone de donnes locales en cours en zone de donnes locales


prcdente.

Elle empile le bit MA (bit MCR actif) dans la pile des blocs.

Elle cre la nouvelle zone de donnes locales pour la fonction appele.

Ensuite, le traitement du programme se poursuit dans le bloc fonctionnel appel. Pour


dterminer la sortie de validation ENO, le bit RB est interrog ; l'tat de signal souhait
(valuation d'erreurs) doit lui tre affect par l'utilisateur dans le bloc appel l'aide de
l'opration ---(SAVE).

Mot d'tat

10-4

RB

BI1

BI0

DEB

DM

OU

ETAT RLG

/PI

Appel conditionnel :

Ecriture

Appel inconditionnel :

Ecriture

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de gestion d'excution de programme

Exemple
.
.
.

DB10
OPN

.
.
.
.
.
.
.
.
.

MCRA
DB11
FB11

A 4.0

EN ENO
DB10
OPN

Les oprations CONT reprsentes ci-dessus sont des parties de programme d'un bloc
fonctionnel utilisateur. Ce bloc fonctionnel ouvre le DB10 et active la fonction MCR. Si l'appel
inconditionnel du FB11 est excut, voici ce qui se passe :
L'adresse de retour au bloc fonctionnel appelant et les slecteurs pour le DB10 et pour le
bloc de donnes d'instance de ce bloc fonctionnel sont sauvegards. Le bit MA qui a t mis
1 par l'opration MCRA est empil dans la pile des blocs, puis mis 0 pour le bloc FB11
appel. Ensuite, le traitement du programme se poursuit dans le bloc FB11. Si vous voulez
utiliser la fonction MCR dans le FB11, vous devez l'y ractiver. Il faut sauvegarder l'tat du
RLG dans le bit RB via l'opration ---(SAVE) afin de pouvoir procder une valuation des
erreurs dans le FB appelant. A la fin du FB11, le traitement du programme revient au FB
appelant. Le bit MA est restaur et le bloc de donnes d'instance du bloc fonctionnel
utilisateur redevient le DB en cours. Si le FB11 est excut sans erreur, ENO et donc A 4.0
sont 1.

Nota
Pour des appels de FB ou de SFB, le numro du bloc de donnes ouvert prcdemment est
perdu. Le DB requis doit tre de nouveau ouvert.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

10-5

Oprations de gestion d'excution de programme

10.4

CALL_FC

Appeler FC (bote)

Reprsentation
FC n
no.
EN ENO

La reprsentation dpend de la fonction ( savoir si des paramtres sont prsents et


combien). L'entre EN, la sortie ENO et le nom ou le numro de la FC doivent tre prsents.
Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

FC n

BLOCK_FC

Numro de la FC. La plage dpend de la


CPU.

Description de l'opration
CALL_FC (Appeler FC)
Cette opration permet d'appeler une fonction (FC). L'appel est activ par l'tat de signal 1
l'entre de validation EN. Si l'opration a lieu, elle fonctionne comme suit :

Elle sauvegarde l'adresse de retour au bloc appelant.

Elle change la zone de donnes locales en cours en zone de donnes locales


prcdente.

Elle empile le bit MA (bit MCR actif) dans la pile des blocs.

Elle cre la nouvelle zone de donnes locales pour la fonction appele.

Ensuite, le programme poursuit le traitement dans la fonction appele.


Pour dterminer la sortie de validation ENO, le bit RB est interrog ; l'tat de signal souhait
(valuation d'erreurs) doit lui tre affect par l'utilisateur dans le bloc appel, l'aide de
l'opration ---(SAVE).
Lorsque vous appelez une fonction (FC) et que la table de dclaration des variables du bloc
appel comporte des dclarations du type IN, OUT et IN_OUT, ces variables s'affichent sous
forme de liste de paramtres formels dans le programme du bloc appelant.
Lors de l'appel des FC, vous devez imprativement affecter des paramtres effectifs aux
paramtres formels l'endroit de l'appel. D'ventuelles valeurs initiales dans la dclaration
de la FC sont insignifiantes.

Mot d'tat

10-6

RB

BI1

BI0

DEB

DM

OU

ETAT RLG

/PI

Appel conditionnel :

Ecriture

Appel inconditionnel :

Ecriture

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de gestion d'excution de programme

Exemple
.
.
.

DB10
OPN

.
.
.
.
.
.
.
.
.

MCRA
FC10

FC11

A 4.0

EN ENO EN ENO

Les oprations CONT reprsentes ci-dessus sont des parties de programme d'un bloc
fonctionnel utilisateur. Ce bloc fonctionnel ouvre le DB10 et active la fonction MCR. Si l'appel
inconditionnel de la FC10 est excut, voici ce qui se passe :
L'adresse de retour au bloc fonctionnel appelant et les slecteurs pour le DB10 et pour le
bloc de donnes d'instance de ce bloc fonctionnel sont sauvegards. Le bit MA qui a t mis
1 par l'opration MCRA est empil dans la pile des blocs, puis mis 0 pour la fonction
FC10. Ensuite, le traitement du programme se poursuit dans la fonction FC10. Si vous
voulez utiliser la fonction MCR dans la FC10, vous devez l'y ractiver. Il faut sauvegarder
l'tat du RLG dans le bit RB via l'opration ---(SAVE) afin de pouvoir procder une
valuation des erreurs dans le FB appelant. A la fin de la FC10, le traitement du programme
revient au FB appelant. Le bit MA est restaur. Le programme se poursuit avec l'opration
suivante dont l'excution est fonction de l'tat de signal de la sortie de validation ENO :
ENO = 1

Traitement de la FC11

ENO = 0

Le traitement commence dans le rseau suivant.

Si la FC11 est galement excute sans erreur, ENO et donc A 4.0 sont 1.

Nota
Aprs retour au bloc appelant, il n'est pas toujours certain que le DB ouvert prcdemment
soit de nouveau ouvert. Veuillez observer les informations dans le fichier LISEZMOI.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

10-7

Oprations de gestion d'excution de programme

10.5

CALL_SFB

Appeler SFB (bote)

Reprsentation
<DB n>
SFB n
EN ENO

La reprsentation dpend du bloc fonctionnel systme ( savoir si des paramtres sont


prsents et combien). L'entre EN, la sortie ENO et le nom ou le numro du SFB doivent
tre prsents.
Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

SFB n

BLOCK_SFB

DB n

BLOCK_DB

Numro du SFB et du DB. La plage dpend


de la CPU.

Description de l'opration
CALL_SFB (Appeler SFB)
Cette opration est excute si EN est 1. Si l'opration a lieu, elle fonctionne comme suit :

Elle sauvegarde l'adresse de retour au bloc appelant.

Elle sauvegarde les slecteurs pour les deux blocs de donnes en cours (DB et DI).

Elle change la zone de donnes locales en cours en zone de donnes locales


prcdente.

Elle empile le bit MA (bit MCR actif) dans la pile des blocs.

Elle cre la nouvelle zone de donnes locales pour le bloc fonctionnel systme appel.

Ensuite, le traitement du programme se poursuit dans le bloc fonctionnel systme appel.


ENO est 1 si le SFB a t appel (EN = 1) et si aucune erreur n'est apparue.

Mot d'tat

10-8

RB

BI1

BI0

DEB

DM

OU

ETAT RLG

/PI

Appel conditionnel :

Ecriture

Appel inconditionnel :

Ecriture

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de gestion d'excution de programme

Exemple
.
.
.

DB10
OPN

.
.
.

MCRA

.
.
.

DB 8
SFB 8
EN
M11.0

REQ
ID
R_ID

DW12

SD_1

DW14

SD_2

DW16

SD_3

A 4.0
ENO

DONE

READY

ERROR

M10.0

STATUS

CODE

SD_4
DB10
OPN

Les oprations CONT reprsentes ci-dessus sont des parties de programme d'un bloc
fonctionnel utilisateur. Ce bloc fonctionnel ouvre le DB10 et active la fonction MCR. Si l'appel
inconditionnel du bloc SFB8 est excut, voici ce qui se passe :
L'adresse de retour au bloc fonctionnel appelant et les slecteurs pour le DB10 et pour le
bloc de donnes d'instance de ce bloc fonctionnel sont sauvegards. Le bit MA qui a t mis
1 par l'opration MCRA est empil dans la pile des blocs, puis mis 0 pour le bloc SFB8
appel. Ensuite, le traitement du programme se poursuit dans le bloc fonctionnel SFB8. A la
fin du SFB8, le traitement du programme revient au FB appelant. Le bit MA est restaur et le
bloc de donnes d'instance du bloc fonctionnel utilisateur redevient le DI en cours. Si le
SFB8 est excut sans erreur, ENO et donc A 4.0 sont 1.

Nota
Pour des appels de FB ou de SFB, le numro du bloc de donnes ouvert prcdemment est
perdu. Le DB requis doit tre de nouveau ouvert.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

10-9

Oprations de gestion d'excution de programme

10.6

CALL_SFC

Appeler SFC (bote)

Reprsentation
SFC n
no.
EN ENO

La reprsentation dpend de la fonction systme ( savoir si des paramtres sont prsents


et combien). L'entre EN, la sortie ENO et le nom ou le numro de la SFC doivent tre
prsents.
Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

SFC n

BLOCK_SFC

Numro de la SFC. La plage dpend de la


CPU.

Description de l'opration
CALL_SFC (Appeler SFC)
Cette opration permet d'appeler une fonction systme. L'appel est activ par l'tat de signal
1 l'entre de validation EN. Si l'opration a lieu, elle fonctionne comme suit :

Elle sauvegarde l'adresse de retour au bloc appelant.

Elle change la zone de donnes locales en cours en zone de donnes locales


prcdente.

Elle empile le bit MA (bit MCR actif) dans la pile des blocs.

Elle cre la nouvelle zone de donnes locales pour la fonction appele.

Ensuite, le traitement du programme se poursuit dans la fonction systme appele. ENO est
1 si la fonction a t appele (EN est 1) et si aucune erreur n'est apparue.

Mot d'tat

10-10

RB

BI1

BI0

DEB

DM

OU

ETAT RLG

/PI

Appel conditionnel :

Ecriture

Appel inconditionnel :

Ecriture

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de gestion d'excution de programme

Exemple
.
.
.

DB10
OPN

.
.
.

MCRA

.
.
.

SFC20
EN

DBDW12

A 4.0
ENO

SRCBLK RET_VAL

.
.
.

DSTBLK

MW10
MOTOR.SPEED

Les oprations CONT reprsentes ci-dessus sont des parties de programme d'un bloc
fonctionnel utilisateur. Ce bloc fonctionnel ouvre le DB10 et active la fonction MCR. Si l'appel
inconditionnel de la SFC20 est excut, voici ce qui se passe :
L'adresse de retour au bloc fonctionnel appelant et les slecteurs pour le DB10 et pour le
bloc de donnes d'instance de ce bloc fonctionnel sont sauvegards. Le bit MA qui a t mis
1 par l'opration MCRA est empil dans la pile des blocs, puis mis 0 pour la fonction
SFC20. Ensuite, le traitement du programme se poursuit dans la fonction SFC20. A la fin de
la SFC20, le traitement du programme revient au FB appelant. Le bit MA est restaur.
Le programme se poursuit dans le FB appelant selon l'tat de signal de la sortie de
validation ENO :
ENO = 1

A 4.0 = 1

ENO = 0

A 4.0 = 0

Nota
Aprs retour au bloc appelant, il n'est pas toujours certain que le DB ouvert prcdemment
soit de nouveau ouvert. Veuillez observer les informations dans le fichier LISEZMOI.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

10-11

Oprations de gestion d'excution de programme

10.7

Appeler multi-instance

Reprsentation
#Nomvariable

EN

ENO

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

#Nom-variable

FB, SFB

Nom de la multi-instance

Description de l'opration
Vous crez une multi-instance par la dclaration d'une variable statique de type de donnes
"bloc fonctionnel". Seules les multi-instances dj dclares apparaissent dans le catalogue
des lments de programme.
La reprsentation d'une multi-instance varie selon les paramtres existants et leur nombre.
EN, ENO et le nom de variable sont toujours prsents.

Mot d'tat
Ecriture

10.8

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Appeler un bloc dans une bibliothque


La liste des bibliothques connues dans le gestionnaire de projets SIMATIC vous est
propose.
Vous pouvez y choisir des blocs

10-12

qui sont intgrs dans le systme d'exploitation de votre CPU (bibliothque "Standard
Library" pour les projets STEP 7 de la version 3 et bibliothque "stdlibs (V2)" pour les
projets STEP 7 de la version 2) ;

que vous avez rangs vous-mme dans des bibliothques parce que vous avez
l'intention de les utiliser plusieurs fois.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de gestion d'excution de programme

10.9

Remarques importantes sur l'utilisation de la fonctionnalit


MCR
Attention avec les blocs dans lesquels le relais de masquage a t activ par
l'instruction MCRA :

Lorsque le relais de masquage (MCR) est hors fonction, la valeur 0 est crite par toutes les
affectation (T, =) dans les sections de programme entre ---(MCR<) et ---(MCR>) ! Ceci concerne
alors videmment aussi toutes les botes contenant une affectation, y compris la transmission de
paramtres des blocs !

Le MCR se trouve prcisment hors fonction lorsque le RLG tait gal 0 avant une instruction
MCR<.

Danger : arrt de l'AP ou comportement indfini de la dure d'excution !


Pour les calculs d'adresses, le compilateur accde galement en criture aux donnes locales suivant
les variables temporaires dfinies dans VAR_TEMP. De ce fait, les squences d'instructions suivantes
mettent l'AP l'arrt ou conduisent des comportements indfinis de la dure d'excution :

Accs des paramtres formels

Accs des composants de paramtres FC complexes de type STRUCT, UDT, ARRAY,


STRING

Accs des composants de paramtres FB complexes de type STRUCT, UDT, ARRAY, STRING
de la zone IN_OUT dans un bloc de version 2.

Accs aux paramtres d'un FB de version 2 lorsque leur adresse est suprieure 8180.0.

L'accs un paramtre de type BLOCK_DB dans un FB de version 2 ouvre le DB 0. Les accs


ultrieurs aux donnes mettent la CPU l'arrt. Pour TIMER, COUNTER, BLOCK_FC,
BLOCK_FB se sont aussi toujours T 0, Z 0, FC 0 ou FB 0 qui sont utiliss.

Transmission des paramtres

Appels pour lesquels des paramtres sont transmis.

CONT/LOG

Dans CONT ou LOG, les branches T et les connecteurs dbutent par RLG = 0.

Remde

Sparez les instructions concernes de la dpendance par rapport au relais de masquage :


1.

Dsactivez le relais de masquage en utilisant l'instruction MCRD avant l'instruction ou le rseau


concerns.

2.

Activez le relais de masquage en utilisant l'instruction MCRA aprs l'instruction ou le rseau


concerns.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

10-13

Oprations de gestion d'excution de programme

10.10 ---(MCR<)

Relais de masquage en fonction

Remarques importantes sur l'utilisation de la fonctionnalit MCR

Reprsentation
---(MCR<)

Description de l'opration
---(MCR<) (Relais de masquage en fonction)
Cette opration empile le rsultat logique RLG dans la pile MCR et ouvre une zone MCR. La
pile MCR fonctionne selon le principe "dernier entr, premier sorti" (LIFO) et peut contenir
jusqu' huit entres (8 niveaux). Si elle est pleine, l'opration ---(MCR<) provoque une erreur
de pile MCR (MCRF). Les lments suivants dpendent du relais MCR et sont influencs
par l'tat de signal du RLG qui est empil dans la pile MCR tant qu'une zone MCR est
ouverte :

--( # )

Connecteur

--( )

Bobine de sortie

--( S )

Mettre 1

--( R )

Mettre 0

RS

Bascule mise 0, mise 1

SR

Bascule mise 1, mise 0

MOVE

Affecter valeur

Mot d'tat
Ecriture

10-14

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de gestion d'excution de programme

Exemple
Rseau 1
MCRA
Rseau 2

E 0.0
MCR<

Rseau 3

E 0.1
MCR<

Rseau 4

A 4.0
S

E 0.3

Rseau 5

Zone MCR 2
Zone MCR 1

MCR>
Rseau 6

E 0.4

A 4.1

Rseau 7
MCR>
Rseau 8
MCRD

L'opration MCRA active la fonction MCR. Ensuite, vous pouvez crer jusqu' huit zones
MCR imbriques. Dans notre exemple, il y en a deux. Les oprations sont excutes comme
suit :
Si l'entre E 0.0 est 1 (le relais MCR est en fonction dans la zone 1), l'tat de signal
l'entre E 0.4 est affect la sortie A 4.1.
Si l'entre E 0.0 est 0 (le MCR est hors fonction dans la zone 1), l'tat de signal de la
sortie A 4.1 est 0, quel que soit l'tat de signal l'entre E 0.4.
Si les entres E 0.0 et E 0.1 sont 1 (le relais MCR est en fonction dans la zone 2), la
sortie A 4.0 est mise 1 si l'tat de signal l'entre E 0.3 est 1.
Si les entres E 0.0 ET E 0.1 sont 0 (le relais MCR est hors fonction dans la zone 2), la
sortie A 4.0 reste inchange, quel que soit l'tat de signal l'entre E 0.3.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

10-15

Oprations de gestion d'excution de programme

10.11 ---(MCR>)

Relais de masquage hors fonction

Remarques importantes sur l'utilisation de la fonctionnalit MCR

Reprsentation
---(MCR>)

Description de l'opration
---(MCR>) (Relais de masquage hors fonction)
Cette opration retire de la pile MCR une entre RLG qui y avait t empile. La pile MCR
fonctionne selon le principe "dernier entr, premier sorti" (LIFO) et peut enregistrer jusqu'
huit entres (8 niveaux). Si la pile est vide, l'opration ---(MCR>) provoque une erreur de pile
MCR (MCRF). Les lments suivants dpendent du relais MCR et sont influencs par l'tat
de signal du RLG empil dans la pile MCR tant qu'une zone MCR est ouverte :

--( # )

Connecteur

--( )

Bobine de sortie

--( S )

Mettre 1

--( R )

Mettre 0

RS

Bascule mise 0, mise 1

SR

Bascule mise 1, mise 0

MOVE

Affecter valeur

Mot d'tat
Ecriture

10-16

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de gestion d'excution de programme

Exemple
Rseau 1
MCRA
Rseau 2

E 0.0
MCR<

Rseau 3

E 0.1
MCR<

Rseau 4

A 4.0
S

E 0.3

Rseau 5

Zone MCR 2
Zone MCR 1

MCR>
Rseau 6

E 0.4

A 4.1

Rseau 7
MCR>
Rseau 8
MCRD

L'opration ---(MCRA) active la fonction MCR. Ensuite, vous pouvez crer jusqu' huit zones
MCR. Dans notre exemple, il y en a deux. La premire opration ---(MCR>) (relais MCR
hors fonction) va de pair avec la seconde opration ---(MCR<) (relais MCR en fonction).
Toutes les fonctions entre ces deux oprations appartiennent la seconde zone MCR. Les
fonctions sont excutes de la manire suivante :
Si l'entre E 0.0 est 1, l'tat de signal l'entre E 0.4 est affect la sortie A 4.1.
Si l'entre E 0.0 est 0, la sortie A 4.1 est mise 0, quel que soit l'tat de signal l'entre
E 0.4.
Si l'entre E 0.0 ET l'entre E 0.1 sont 1, la sortie A 4.0 est mise 1 si l'tat de signal est 1
l'entre E 0.3.
Si l'entre E 0.0 ET l'entre E 0.1 sont 0, la sortie A 4.0 reste inchange, quel que soit
l'tat de signal l'entre E 0.3.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

10-17

Oprations de gestion d'excution de programme

10.12 ---(MCRA)

Activer relais de masquage

Remarques importantes sur l'utilisation de la fonctionnalit MCR

Reprsentation
---(MCRA)

Description de l'opration
---(MCRA) (Activer relais de masquage)
Cette opration active la fonction de relais de masquage. (MCR : Master Control Relay).
Vous pouvez, aprs cette commande, programmer des zones MCR en faisant appel aux
oprations ---(MCR<) et ---(MCR>).

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
Rseau 1
MCRA
Rseau 2

E 0.0
MCR<

Rseau 3
.
.
.

E 0.3

A 4.0
S

E 0.4

A 4.1

.
Rseau n
MCR>
Rseau n + 1
MCRD

L'opration MCRA active la fonction MCR. Les oprations entre MCR< et MCR> (sorties
A 4.0, A 4.1) sont excutes comme suit :
Si l'entre E 0.0 est 1 (MCR en fonction), la sortie A 4.0 est mise 1 si l'tat de signal est
1 l'entre E 0.3 ou reste inchange si l'tat de signal est 0 l'entre E 0.3 et l'tat de signal
l'entre E 0.4 est affect la sortie A 4.1.
Si l'entre E 0.0 est 0 (MCR hors fonction), la sortie A 4.0 reste inchange quel que soit
l'tat de signal l'entre E 0.3, et la sortie A 4.1 est mise 0 quel que soit l'tat de signal
l'entre E 0.4.
L'opration ---(MCRD) dsactive le relais MCR dans le trajet de courant suivant. Cela signifie
que vous ne pouvez plus programmer de zones MCR avec ---(MCR<) et ---(MCR>).

10-18

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de gestion d'excution de programme

10.13 ---(MCRD)

Dsactiver relais de masquage

Remarques importantes sur l'utilisation de la fonctionnalit MCR

Reprsentation
---( MCRD )

Description de l'opration
---(MCRD) (Dsactiver relais de masquage)
Cette opration dsactive la fonction de relais de masquage. Aprs cette opration, vous ne
pouvez plus programmer de zones MCR.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
Rseau 1
MCRA
Rseau 2

E 0.0
MCR<

Rseau 3
.
.
.

E 0.3

A 4.0
S

E 0.4

A 4.1

.
Rseau n
MCR>
Rseau n + 1
MCRD

L'opration MCRA active la fonction MCR. Les oprations entre MCR< et MCR> (sorties
A 4.0, A 4.1) sont excutes comme suit :
Si l'entre E 0.0 est 1 (MCR en fonction), la sortie A 4.0 est mise 1 si l'tat de signal est
1 l'entre E 0.3 ou reste inchange si l'tat de signal est 0 l'entre E 0.3 et l'tat de signal
l'entre E 0.4 est affect la sortie A 4.1.
Si l'entre E 0.0 est 0 (MCR hors fonction), la sortie A 4.0 reste inchange quel que soit
l'tat de signal l'entre E 0.3, et la sortie A 4.1 est mise 0 quel que soit l'tat de signal
l'entre E 0.4.
L'opration ---(MCRD) dsactive le relais MCR dans le trajet de courant suivant. Cela signifie
que vous ne pouvez plus programmer de zones MCR avec ---(MCR<) et ---(MCR>).

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

10-19

Oprations de gestion d'excution de programme

10.14 ---(RET)

Retour

Reprsentation
---( RET )

Description de l'opration
RET (Retour)
Cette opration permet de quitter des blocs conditionnellement. Une combinaison amont est
ncessaire pour cette sortie.

Mot d'tat
Retour conditionnel (si RLG gale 1)

Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

L'opration RET tant mappe de manire interne sur la squence "SAVE; BEB;", le bit
RB est influenc lui aussi.

Exemple
.
.
. E 0.0
.
.
.

RET

Le bloc est abandonn si l'tat de signal est 1 l'entre E 0.0.

10-20

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

11 Oprations de dcalage et de rotation

11.1

Oprations de dcalage

11.1.1

Vue d'ensemble des oprations de dcalage

Description
Les oprations de dcalage permettent de dcaler bit par bit le contenu de lentre IN vers la
gauche ou vers la droite (voir Registres de la CPU). Le dcalage vers la gauche multiplie le
contenu de lentre IN par des puissances de 2 ; le dcalage vers la droite le divise par des
puissances de 2. Si, par exemple, vous dcalez de 3 bits vers la gauche lquivalent binaire
de la valeur dcimale 3, vous obtenez lquivalent binaire de la valeur dcimale 24. Si vous
dcalez de 2 bits vers la droite lquivalent binaire de la valeur dcimale 16, vous obtenez
lquivalent binaire de la valeur dcimale 4.
Le nombre de bits de dcalage est prcis dans le paramtre dentre N. Les positions
binaires libres par lopration de dcalage sont soit remplies par des zros, soit par ltat
de signal du bit de signe (0 signifie positif et 1 ngatif). Ltat de signal du bit dcal en
dernier est charg dans le bit BI1 du mot dtat. Les bits BI0 et DEB du mot dtat sont remis
0. Vous pouvez valuer le bit BI1 laide doprations de saut.
Vous disposez des oprations de dcalage suivantes :

SHR_I

Dcalage vers la droite d'un entier de 16 bits

SHR_DI

Dcalage vers la droite d'un entier de 32 bits

SHL_W

Dcalage vers la gauche d'un mot

SHR_W

Dcalage vers la droite d'un mot

SHL_DW

Dcalage vers la gauche d'un double mot

SHR_DW

Dcalage vers la droite d'un double mot

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

11-1

Oprations de dcalage et de rotation

11.1.2

SHR_I

Dcalage vers la droite d'un entier de 16 bits

Reprsentation
SHR_I
EN ENO
IN
OUT
N

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

INT

E, A, M, L, D

Valeur dcaler

WORD

E, A, M, L, D

Nombre de bits de dcalage

OUT

INT

E, A, M, L, D

Rsultat du dcalage

Description de l'opration
SHR_I (Dcalage vers la droite d'un entier de 16 bits)
Cette opration est active si l'tat de signal est 1 l'entre de validation EN. Elle dcale bit
par bit vers la droite les bits 0 15 de l'entre IN. Les bits 16 31 ne sont pas affects. Le
nombre de bits de dcalage est indiqu dans l'entre N. Si N est suprieur 16, tout se
passe comme si N tait gal 16. Les positions binaires libres gauche prennent l'tat de
signal du bit 15 (bit de signe du nombre entier). Elles prennent donc la valeur 0 s'il s'agit d'un
nombre entier positif et la valeur 1 s'il s'agit d'un nombre entier ngatif. Le rsultat du
dcalage est rang dans la sortie OUT. L'opration SHR_I met les bits BI0 et DEB 0 si N
est diffrent de 0.
ENO a le mme tat de signal que EN.

IN
N

OUT

15...
1 0 1 0
Bit de
signe
1 1 1 1

...8 7...
1 1 1 1
0 0 0 0
4 positions

1 0 1 0

Les positions libres sont


compltes par ltat de signal
du bit de signe.

11-2

...0
1 0 1 0

1 0 0 0 0

1 0 1 0
Ces 4 bits
sont perdus.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de dcalage et de rotation

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MW0
MW2

SHR_I

EN
IN
N

ENO
OUT

A 4.0
S
MW4

L'opration SHR_I est excute si l'tat de signal est 1 l'entre E 0.0. Le mot de mmento
MW0 est charg et dcal vers la droite du nombre de bits prcis dans MW2. Le rsultat
est rang dans MW4. La sortie A 4.0 est mise 1.

11.1.3

SHR_DI

Dcalage vers la droite d'un entier de 32 bits

Reprsentation
SHR_DI
EN ENO
IN
OUT
N

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

DINT

E, A, M, L, D

Valeur dcaler

WORD

E, A, M, L, D

Nombre de bits de dcalage

OUT

DINT

E, A, M, L, D

Rsultat du dcalage

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

11-3

Oprations de dcalage et de rotation

Description de l'opration
SHR_DI (Dcalage vers la droite d'un entier de 32 bits)
Cette opration est active si l'tat de signal est 1 l'entre de validation EN. Elle dcale bit
par bit vers la droite les bits 0 31 de l'entre IN. Le nombre de bits de dcalage est indiqu
dans l'entre N. Si N est suprieur 32, tout se passe comme si N tait gal 32. Les
positions binaires libres gauche prennent l'tat de signal du bit 31 (bit de signe du
nombre entier). Elles prennent donc la valeur 0 s'il s'agit d'un nombre entier positif et la
valeur 1 s'il s'agit d'un nombre entier ngatif. Le rsultat du dcalage est rang dans la sortie
OUT. L'opration SHR_DI met les bits BI0 et DEB 0 si N est diffrent de 0.
ENO a le mme tat de signal que EN.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MD0
MW4

SHR_DI

EN
IN
N

ENO
OUT

A 4.0
S
MD10

L'opration SHR_DI est excute si l'tat de signal est 1 l'entre E 0.0. Le double mot de
mmento MD0 est charg et dcal vers la droite du nombre de bits prcis dans MW4. Le
rsultat est rang dans MD10. La sortie A 4.0 est mise 1.

11-4

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de dcalage et de rotation

11.1.4

SHL_W

Dcalage vers la gauche d'un mot

Reprsentation
SHL_W
EN ENO
IN
OUT
N

Format
Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

WORD

E, A, M, L, D

Valeur dcaler

WORD

E, A, M, L, D

Nombre de bits de dcalage

OUT

WORD

E, A, M, L, D

Rsultat du dcalage (mot)

Description de l'opration
SHL_W (Dcalage vers la gauche d'un mot)
Cette opration est active si l'tat de signal est 1 l'entre de validation EN. Elle dcale bit
par bit vers la gauche les bits 0 15 de l'entre IN. Les bits 16 31 ne sont pas influencs.
Le nombre de bits de dcalage est indiqu dans l'entre N. Si N est suprieur 16, la valeur
0 est crite dans la sortie OUT et les bits BI0 et DEB du mot d'tat sont mis 0. Les N
positions libres droite en raison du dcalage sont compltes par des zros. Le rsultat
du dcalage est rang dans la sortie OUT. L'opration SHL_W met les bits BI0 et DEB 0 si
N est diffrent de 0.
ENO a le mme tat de signal que EN.
15...
0 0 0 0

IN

...8 7...
1 1 1 1
0 1 0 1
6 positions

OUT

...0
0 1 0 1

0 0 0 0 1 1 1 1 0 1
Ces 6 bits sont
perdus.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

0 1 0 1

0 1 0 0

0 0 0 0

Les positions libres


sont compltes par
des zros.

11-5

Oprations de dcalage et de rotation

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MW0
MW2

SHL_W

EN
IN
N

ENO
OUT

A 4.0
S
MW4

L'opration SHL_W est excute si l'tat de signal est 1 l'entre E 0.0. Le mot de mmento
MW0 est charg et dcal vers la gauche du nombre de bits prcis dans MW2. Le rsultat
(mot) est rang dans MW4. La sortie A 4.0 est mise 1.

11.1.5

SHR_W

Dcalage vers la droite d'un mot

Reprsentation
SHR_W
EN ENO
IN
OUT
N

Paramtre

11-6

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

WORD

E, A, M, L, D

Valeur dcaler

WORD

E, A, M, L, D

Nombre de bits de dcalage

OUT

WORD

E, A, M, L, D

Rsultat du dcalage (mot)

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de dcalage et de rotation

Description de l'opration
SHR_W (Dcalage vers la droite d'un mot)
Cette opration est active si l'tat de signal est 1 l'entre de validation EN. Elle dcale bit
par bit vers la droite les bits 0 15 de l'entre IN. Les bits 16 31 ne sont pas affects. Le
nombre de bits de dcalage est indiqu dans l'entre N. Si N est suprieur 16, la valeur 0
est crite dans la sortie OUT et les bits BI0 et DEB du mot d'tat sont mis 0. Les N
positions libres gauche en raison du dcalage sont compltes par des zros. Le
rsultat du dcalage est rang dans la sortie OUT. L'opration SHR_W met les bits BI0 et
DEB 0 si N est diffrent de 0.
ENO a le mme tat de signal que EN.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MW0
MW2

SHR_W

EN
IN
N

ENO
OUT

A 4.0
S
MW4

L'opration SHR_W est excute si l'tat de signal est 1 l'entre E 0.0. Le mot de
mmento MW0 est charg et dcal vers la droite du nombre de bits prcis dans MW2. Le
rsultat (mot) est rang dans MW4. La sortie A 4.0 est mise 1.

11.1.6

SHL_DW

Dcalage vers la gauche d'un double mot

Reprsentation
SHL_DW
EN ENO
OUT
IN
N

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

DWORD

E, A, M, L, D

Valeur dcaler

WORD

E, A, M, L, D

Nombre de bits de dcalage

OUT

DWORD

E, A, M, L, D

Rsultat du dcalage (double mot)

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

11-7

Oprations de dcalage et de rotation

Description de l'opration
SHL_DW (Dcalage vers la gauche d'un double mot)
Cette opration est active si l'tat de signal est 1 l'entre de validation EN. Elle dcale les
bits 0 31 de l'entre IN bit par bit vers la gauche. Le nombre de bits de dcalage est
indiqu dans l'entre N. Si N est suprieur 32, la valeur 0 est crite dans la sortie OUT et
les bits BI0 et DEB du mot d'tat sont mis 0. Les N positions libres droite en raison du
dcalage sont compltes par des zros. Le rsultat du dcalage (double mot) est rang
dans la sortie OUT. L'opration SHL_DW met les bits BI0 et DEB 0 si N est diffrent de 0.
ENO a le mme tat de signal que EN.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MD0
MW4

SHL_DW

EN
IN
N

ENO
OUT

A 4.0
S
MD10

L'opration SHL_DW est excute si l'tat de signal est 1 l'entre E 0.0. Le double mot de
mmento MD0 est charg et dcal vers la gauche du nombre de bits prcis dans MW4.
Le rsultat (double mot) est rang dans MD10. La sortie A 4.0 est mise 1.

11-8

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de dcalage et de rotation

11.1.7

SHR_DW Dcalage vers la droite d'un double mot

Reprsentation
SHR_DW
EN ENO
IN
OUT
N

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

DWORD

E, A, M, L, D

Valeur dcaler

WORD

E, A, M, L, D

Nombre de bits de dcalage

OUT

DWORD

E, A, M, L, D

Rsultat du dcalage (double mot)

Description de l'opration
SHR_DW (Dcalage vers la droite d'un double mot)
Cette opration est active si l'tat de signal est 1 l'entre de validation EN. Elle dcale bit
par bit vers la droite les bits 0 31 de l'entre IN. Le nombre de bits de dcalage est indiqu
dans l'entre N. Si N est suprieur 32, la valeur 0 est crite dans la sortie OUT et les bits
BI0 et DEB du mot d'tat sont mis 0. Les N positions libres gauche en raison du
dcalage sont compltes par des zros. Le rsultat du dcalage (double mot) est rang
dans la sortie OUT. L'opration SHR_DW met les bits BI0 et DEB 0 si N est diffrent de 0.
ENO a le mme tat de signal que EN.

IN

31...
...16 15...
...0
1111 1111 0101 0101 1010 1010 1111 1111

OUT

3 positions

0001 1111 1110 1010 1011 0101 0101 1111


Les positions libres sont
compltes par des zros.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

111

Ces 3 bits
sont perdus.

11-9

Oprations de dcalage et de rotation

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MD0
MW4

SHR_DW

EN
IN
N

ENO
OUT

A 4.0
S
MD10

L'opration SHR_DW est excute si l'tat de signal est 1 l'entre E 0.0. Le double mot de
mmento MD0 est charg et dcal vers la droite du nombre de bits prcis dans MW4. Le
rsultat (double mot) est rang dans MD10. La sortie A 4.0 est mise 1.

11-10

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de dcalage et de rotation

11.2

Oprations de rotation

11.2.1

Vue d'ensemble des oprations de rotation

Description
Les oprations de rotation permettent deffectuer la rotation bit par bit vers la droite ou vers
la gauche du contenu entier de lentre IN (voir Registres de la CPU). Les positions binaires
libres sont compltes par ltat de signal des bits qui ont t dcals hors de lentre IN.
Le nombre de bits de rotation est prcis dans le paramtre dentre N.
Selon lopration, la rotation seffectue via le bit BI1 du mot dtat. Le bit BI0 du mot dtat
est remis 0.
Vous disposez des oprations de rotation suivantes :

11.2.2

ROL_DW

Rotation vers la gauche d'un double mot

ROR_DW

Rotation vers la droite d'un double mot

ROL_DW Rotation vers la gauche dun double mot

Reprsentation
ROL_DW
EN ENO
IN
OUT
N

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

DWORD

E, A, M, L, D

Valeur objet de la rotation

WORD

E, A, M, L, D

Nombre de bits de rotation

OUT

DWORD

E, A, M, L, D

Rsultat de la rotation

Description de l'opration
ROL_DW (Rotation vers la gauche dun double mot)
Cette opration est active si l'tat de signal est 1 l'entre de validation EN. Elle dclenche
la rotation bit par bit vers la gauche du contenu entier de l'entre IN. Le nombre de bits de
rotation est indiqu dans l'entre N. Si N est suprieur 32, le double mot IN fait l'objet
d'une rotation de ((N-1) modulo 32)+1 positions. Les positions binaires libres droite
prennent l'tat de signal des bits qui ont fait l'objet de la rotation vers la gauche. Le rsultat
de la rotation est rang dans la sortie OUT. L'opration ROL_DW met les bits BI0 et DEB 0
si N est diffrent de 0.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

11-11

Oprations de dcalage et de rotation

ENO a le mme tat de signal que EN.


31...
...16 15...
...0
1111 0000 1010 1010 0000 1111 0000 1111

IN

3 positions

111

OUT

1000 0101 0101 0000 0111 1000 0111 1111

Ltat de signal des trois


bits dcals est insr
dans les positions vides.

Ces 3 bits
sont perdus.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MD0
MW4

ROL_DW

EN
IN
N

ENO
OUT

A 4.0
S
MD10

L'opration ROL_DW est excute si l'tat de signal est 1 l'entre E 0.0. Le double mot de
mmento MD0 est charg et fait l'objet d'une rotation vers la gauche du nombre de bits
prcis dans MW4. Le rsultat (double mot) est rang dans MD10. La sortie A 4.0 est mise
1.

11.2.3

ROR_DW

Rotation vers la droite dun double mot

Reprsentation
ROR_DW
EN ENO
OUT
IN
N

Paramtre

11-12

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN

DWORD

E, A, M, L, D

Valeur objet de la rotation

WORD

E, A, M, L, D

Nombre de bits de rotation

OUT

DWORD

E, A, M, L, D

Rsultat de la rotation

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de dcalage et de rotation

Description de l'opration
ROR_DW (Rotation vers la droite dun double mot)
Cette opration est active si l'tat de signal est 1 l'entre de validation EN. Elle dclenche
la rotation bit par bit vers la droite du contenu entier de l'entre IN. Le nombre de bits de
rotation est indiqu dans l'entre N. Si N est suprieur 32, le double mot IN fait l'objet
d'une rotation de ((N-1) modulo 32)+1 positions. Les positions binaires libres gauche
prennent l'tat de signal des bits qui ont fait l'objet de la rotation vers la droite. Le rsultat de
la rotation est rang dans la sortie OUT. L'opration ROR_DW met les bits BI0 et DEB 0 si
N est diffrent de 0.
ENO a le mme tat de signal que EN.

IN

31...
...16 15...
...0
1010 1010 0000 1111 0000 1111 0101 0101

OUT

3 positions

1011 0101 0100 0001 1110 0001 1110 1010

101

Ltat de signal des trois bits


dcals est insr dans les
positions vides.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MD0
MW4

ROR_DW

EN
IN
N

ENO
OUT

A 4.0
S
MD10

L'opration ROR_DW est excute si l'tat de signal est 1 l'entre E 0.0. Le double mot de
mmento MD0 est charg et fait l'objet d'une rotation vers la droite du nombre de bits
prcis dans MW4. Le rsultat (double mot) est rang dans MD10. La sortie A 4.0 est mise
1.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

11-13

Oprations de dcalage et de rotation

11-14

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

12 Oprations sur bits d'tat

12.1

Vue d'ensemble des oprations sur bits d'tat

Description
Les oprations sur bits dtat sont des oprations combinatoires sur bits qui utilisent les bits
du mot dtat. Chacune de ces oprations ragit lune des conditions suivantes indiques
par un ou plusieurs bits du mot dtat :

Le bit de rsultat binaire (BIE ---I I---) est 1 (son tat de signal est gal 1).

Un dbordement (OV ---I I---)sest produit lors dune opration arithmtique ou un


dbordement mmoris (OS ---I I---).

Le rsultat dune opration arithmtique est illicite (UO ---I I---).

Le rsultat dune opration arithmtique par rapport 0 est :


== 0, <> 0, > 0, < 0, >= 0, <= 0

Dans une connexion en srie, les oprations sur bits dtat combinent le rsultat de leur
interrogation dtat de signal avec le rsultat logique prcdent selon la table de vrit ET.
Dans une connexion en parallle, elles combinent leur rsultat avec le RLG prcdent selon
la table de vrit OU.

Mot d'tat
Le mot dtat est un registre dans la mmoire de votre CPU contenant des bits auxquels
vous pouvez accder dans les oprandes de combinaisons sur bits et sur mots.
Structure du mot dtat :

15

2 ...

...2

RB

BI1

BI0

DEB

DM

OU

ETAT RLG

/PI

Vous pouvez valuer les bits du mot d'tat

dans les oprations sur nombres entiers

dans les oprations sur nombres virgule flottante

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

12-1

Oprations sur bits d'tat

12.2

OV ---| |--- Bit d'anomalie "dbordement"

Reprsentation
OV

OV
ou forme inverse

Description de l'opration
OV ---| |--- (Bit d'anomalie "dbordement") et OV ---| / |--- (Bit d'anomalie "dbordement",
forme inverse)
Ces oprations permettent de dtecter un dbordement dans l'opration arithmtique traite
en dernier (OV correspond DEB). Cela signifie que le rsultat de l'opration se situe hors
de la plage positive ou ngative autorise. En cas de connexions en srie, le rsultat de
l'interrogation est combin au RLG par ET ; en cas de connexions en parallle, il est
combin au RLG par OU.

Mot d'tat

Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
Rseau 1
E 0.0
EW0
EW2
Rseau 2
OV

SUB_I
ENO
EN
IN1
IN2 OUT

E 0.1 E 0.2

MW10

A 4.0
S

E 0.2

L'tat de signal 1 en E 0.0 active l'opration SUB_I. Si le rsultat de l'opration arithmtique


EW0 - EW2 est hors de la plage autorise pour un nombre entier, le bit DEB est mis 1.
Le rsultat d'une interrogation d'tat de signal en OV (DEB) gale 1.

Nota
L'interrogation de DEB n'est ncessaire qu'en raison de la prsence de deux rseaux
spars. Sinon, si le rsultat est hors de la plage autorise, il suffit de considrer la sortie de
validation ENO de l'opration arithmtique qui est 0.

12-2

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations sur bits d'tat

12.3

OS ---| |--- Bit d'anomalie "dbordement mmoris"

Reprsentation
OS

OS
ou forme inverse

Description de l'opration
OS ---| |--- (Bit d'anomalie "dbordement mmoris") et OS ---| / |--- (Bit d'anomalie
"dbordement mmoris", forme inverse)
Ces oprations permettent de dtecter et de mmoriser un dbordement dans une opration
arithmtique. Si le rsultat de l'opration se situe hors de la plage positive ou ngative
autorise, le bit DM (c'est--dire OS) du mot d'tat est mis 1. Contrairement au bit DEB qui
est de nouveau crit en cas d'oprations arithmtiques suivantes, le bit DM mmorise un
dbordement apparu. Le bit DM reste 1 jusqu' ce que le bloc soit quitt.
En cas de connexions en srie, le rsultat de l'interrogation est combin au RLG par ET ; en
cas de connexions en parallle, il est combin au RLG par OU.

Mot d'tat

Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

12-3

Oprations sur bits d'tat

Exemple
Rseau 1
E 0.0
EW0
EW2

MUL_I
EN
ENO
IN1
IN2

OUT

MW10

Rseau 2
E 0.01
EW0
EW2
Rseau 3
OS

ADD_I
ENO
EN
IN1
IN2

OUT

MW12

A 4.0
S

L'opration MUL_I est active par l'tat de signal 1 en E 0.0 et l'opration ADD_I par l'tat de
signal 1 en E 0.1. Si le rsultat de l'une des oprations arithmtiques est hors de la plage
autorise pour un nombre entier, le bit DM du mot d'tat est mis 1. La sortie A 4.0 est mise
1 si l'interrogation de dbordement mmoris gale 1.

Nota
L'interrogation de DM n'est ncessaire qu'en raison de la prsence de rseaux spars.
Sinon, il est possible de connecter la sortie ENO de la premire opration arithmtique
l'entre EN de la deuxime opration arithmtique (cascade).

12-4

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations sur bits d'tat

12.4

UO ---| |--- Bit danomalie "illicite"

Reprsentation
UO

UO
ou forme inverse

Description de l'opration
UO ---| |--- (Bit danomalie "illicite") et UO ---| / |--- (Bit danomalie "illicite", forme inverse)
Ces oprations permettent de dtecter une opration arithmtique illicite sur nombres
virgule flottante, c'est--dire si l'une des valeurs dans l'opration arithmtique n'est pas un
nombre virgule flottante correct.
Si le rsultat d'une opration arithmtique de nombres virgule flottante est illicite (UO),
l'interrogation d'tat de signal gale 1. Si la combinaison dans BI1 et BI0 donne "non illicite",
l'interrogation d'tat de signal gale 0.
En cas de connexions en srie, le rsultat de l'interrogation est combin au RLG par ET ; en
cas de connexions en parallle, il est combin au RLG par OU.

Mot d'tat

Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
ED0
ED4

DIV_R
EN
ENO
IN1
IN2

OUT

UO

A 4.0
S
MD10

A 4.1
S

L'tat de signal 1 en E 0.0 active l'opration DIV_R. Si la valeur de ED0 ou ED4 ne


correspond pas un nombre virgule flottante correct, l'opration arithmtique est illicite. Si
l'tat de signal en EN est 1 (activ) et qu'une erreur apparaisse pendant le traitement de la
fonction DIV_R, l'tat de signal en ENO sera gal 0.
La sortie A 4.0 est mise 1 si la fonction DIV_R est excute mais que l'une des valeurs
n'est pas un nombre virgule flottante correct.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

12-5

Oprations sur bits d'tat

12.5

BIE ---| |--- Bit danomalie "registre RB"

Reprsentation
BIE

BIE
ou forme inverse

Description de l'opration
BIE ---| |--- (Bit danomalie registre RB) et BIE ---| / |--- (Bit danomalie registre RB, forme
inverse)
Ces oprations contrlent l'tat de signal du bit RB (correspond BIE) dans le mot d'tat. En
cas de connexions en srie, le rsultat de l'interrogation est combin au RLG par ET ; en cas
de connexions en parallle, il est combin au RLG par OU. Le bit RB permet d'tablir le lien
entre traitement sur mots et traitement sur bits.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0

BIE

A 4.0
S

E 0.2

La sortie A 4.0 est mise 1 si l'entre E 0.0 gale 1 ou si l'entre E 0.2 gale 0 et si, en plus
de ce RLG, le bit RB gale 1.

12-6

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations sur bits d'tat

12.6

==0 ---| |--- Bit de rsultat pour gal 0

Reprsentation
==0

==0
ou forme inverse

Description de l'opration
==0 ---| |--- (Bit de rsultat pour gal 0) et ==0 ---| / |--- (Bit de rsultat pour gal 0,
forme inverse)
Ces oprations dtectent si le rsultat d'une opration arithmtique est gal 0. Elles
interrogent les bits indicateurs BI1 et BI0 afin de dterminer cette relation par rapport 0. En
cas de connexions en srie, le rsultat de l'interrogation est combin au RLG par ET ; en cas
de connexions en parallle, il est combin au RLG par OU.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemples
E 0.0
EW0
EW2

SUB_I
ENO
EN
IN1
OUT
IN2

==0

A 4.0
S

MW10

L'tat de signal 1 en E 0.0 active cette opration. Si la valeur de EW0 est gale la valeur
de EW2, le rsultat de l'opration arithmtique EW0 - EW2 est gal 0. La sortie A 4.0 est
mise 1 si l'opration s'excute sans erreur et si le rsultat est gal 0.

E 0.0
EW0
EW2

SUB_I
ENO
EN
IN1
OUT
IN2

==0

A 4.0
S

MW10

La sortie A 4.0 est mise 1 si l'opration s'excute sans erreur et si le rsultat n'est pas gal
0.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

12-7

Oprations sur bits d'tat

12.7

<>0 ---| |--- Bit de rsultat pour diffrent de 0

Reprsentation
<>0

<>0
ou forme inverse

Description de l'opration
<>0 ---| |--- (Bit de rsultat pour diffrent de 0) et <>0 ---| / |--- (Bit de rsultat pour diffrent
de 0, forme inverse)
Ces oprations permettent de dtecter si le rsultat d'une opration arithmtique est diffrent
de 0. Elles interrogent les bits indicateurs BI1 et BI0 afin de dterminer cette relation par
rapport 0. En cas de connexions en srie, le rsultat de l'interrogation est combin au RLG
par ET ; en cas de connexions en parallle, il est combin au RLG par OU.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemples
E 0.0
EW0
EW2

SUB_I
ENO
EN
IN1
OUT
IN2

<>0

A 4.0
S

MW10

L'tat de signal 1 en E 0.0 active cette opration. Si la valeur de EW0 est diffrente de la
valeur de EW2, le rsultat de l'opration arithmtique EW0 - EW2 est diffrent de 0. La sortie
A 4.0 est mise 1 si l'opration s'excute sans erreur et si le rsultat est diffrent de 0.
E 0.0
EW0
EW2

SUB_I
ENO
EN
IN1
OUT
IN2

<>0

A 4.0
S

MW10

La sortie A 4.0 est mise 1 si l'opration s'excute sans erreur et si le rsultat est gal 0.

12-8

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations sur bits d'tat

12.8

>=0 ---| |--- Bit de rsultat pour suprieur ou gal 0

Reprsentation
>=0

>=0
ou forme inverse

Description de l'opration
>=0 ---| |--- (Bit de rsultat pour suprieur ou gal 0) et >=0 ---| / |--- (Bit de rsultat pour
suprieur ou gal 0, forme inverse)
Ces oprations permettent de dtecter si le rsultat d'une opration arithmtique est
suprieur ou gal 0. Elles interrogent les bits indicateurs BI1 et BI0 afin de dterminer
cette relation par rapport 0. En cas de connexions en srie, le rsultat de l'interrogation est
combin au RLG par ET ; en cas de connexions en parallle, il est combin au RLG par OU.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemples
E 0.0
EW0
EW2

SUB_I
ENO
EN
IN1
OUT
IN2

>=0

A 4.0
S

MW10

L'tat de signal 1 en E 0.0 active cette opration. Si la valeur de EW0 est suprieure ou
gale la valeur de EW2, le rsultat de l'opration arithmtique EW0 - EW2 est suprieur ou
gal 0. La sortie A 4.0 est mise 1 si l'opration s'excute sans erreur et si le rsultat est
suprieur ou gal 0.
E 0.0
EW0
EW2

SUB_I
ENO
EN
IN1
OUT
IN2

>=0

A 4.0
S

MW10

La sortie A 4.0 est mise 1 si l'opration s'excute sans erreur et si le rsultat n'est pas
suprieur ou gal 0.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

12-9

Oprations sur bits d'tat

12.9

<=0 ---| |--- Bit de rsultat pour infrieur ou gal 0

Reprsentation
<=0

<=0
ou forme inverse

Description de l'opration
<=0 ---| |--- (Bit de rsultat pour infrieur ou gal 0) et <=0 ---| / |--- (Bit de rsultat pour
infrieur ou gal 0, forme inverse)
Ces oprations permettent de dtecter si le rsultat d'une opration arithmtique est infrieur
ou gal 0. Elles interrogent les bits indicateurs BI1 et BI0 afin de dterminer cette relation
par rapport 0. En cas de connexions en srie, le rsultat de l'interrogation est combin au
RLG par ET ; en cas de connexions en parallle, il est combin au RLG par OU.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemples
E 0.0
EW0
EW2

SUB_I
ENO
EN
IN1
OUT
IN2

<=0

A 4.0
S

MW10

L'tat de signal 1 en E 0.0 active cette opration. Si la valeur de EW0 est infrieure ou gale
la valeur de EW2, le rsultat de l'opration arithmtique EW0 - EW2 est infrieur ou gal
0. La sortie A 4.0 est mise 1 si l'opration s'excute sans erreur et si le rsultat est infrieur
ou gal 0.
E 0.0
EW0
EW2

SUB_I
ENO
EN
IN1
OUT
IN2

<=0

A 4.0
S

MW10

La sortie A 4.0 est mise 1 si l'opration s'excute sans erreur et si le rsultat n'est pas
infrieur ou gal 0.

12-10

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations sur bits d'tat

12.10 >0 ---| |--- Bit de rsultat pour suprieur 0


Reprsentation
>0

>0
ou forme inverse

Description de l'opration
>0 ---| |--- (Bit de rsultat pour suprieur 0) et >0 ---| / |--- (Bit de rsultat pour suprieur
0, forme inverse)
Ces oprations permettent de dtecter si le rsultat d'une opration arithmtique est
suprieur 0. Elles interrogent les bits indicateurs BI1 et BI0 afin de dterminer cette
relation par rapport 0. En cas de connexions en srie, le rsultat de l'interrogation est
combin au RLG par ET ; en cas de connexions en parallle, il est combin au RLG par OU.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
EW0
EW2

SUB_I
ENO
EN
IN1
OUT
IN2

>0

A 4.0
S

MW10

L'tat de signal 1 en E 0.0 active cette opration. Si la valeur de EW0 est suprieure la
valeur de EW2, le rsultat de l'opration arithmtique EW0 - EW2 est suprieur 0. La sortie
A 4.0 est mise 1 si l'opration s'excute sans erreur et si le rsultat est suprieur 0.
E 0.0
EW0
EW2

SUB_I
ENO
EN
IN1
OUT
IN2

>0

A 4.0
S

MW10

La sortie A 4.0 est mise 1 si l'opration s'excute sans erreur et si le rsultat n'est pas
suprieur 0.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

12-11

Oprations sur bits d'tat

12.11 <0 ---| |--- Bit de rsultat pour infrieur 0


Reprsentation
<0

<0
ou forme inverse

Description de l'opration
<0 ---| |--- (Bit de rsultat pour infrieur 0) et <0 ---| / |--- (Bit de rsultat pour infrieur 0,
forme inverse)
Ces oprations permettent de dtecter si le rsultat d'une opration arithmtique est infrieur
0. Elles interrogent les bits indicateurs BI1 et BI0 afin de dterminer cette relation par
rapport 0. En cas de connexions en srie, le rsultat de l'interrogation est combin au RLG
par ET ; en cas de connexions en parallle, il est combin au RLG par OU.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemples
E 0.0
EW0
EW2

SUB_I
ENO
EN
IN1
OUT
IN2

<0

A 4.0
S

MW10

L'tat de signal 1 en E 0.0 active cette opration. Si la valeur de EW0 est infrieure la
valeur de EW2, le rsultat de l'opration arithmtique EW0 - EW2 est infrieur 0. La sortie
A 4.0 est mise 1 si l'opration s'excute sans erreur et si le rsultat est infrieur 0.
E 0.0
EW0
EW2

SUB_I
ENO
EN
IN1
OUT
IN2

<0

A 4.0
S

MW10

La sortie A 4.0 est mise 1 si l'opration s'excute sans erreur et si le rsultat n'est pas
infrieur 0.

12-12

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

13 Oprations de temporisation

13.1

Vue d'ensemble des oprations de temporisation

Description
Vous trouverez des informations sur le rglage et la slection de la bonne temporisation
sous "Adresse d'une temporisation en mmoire et composants d'une temporisation" .

Vous disposez des oprations de temporisations suivantes :

S_IMPULS

Paramtrer et dmarrer temporisation sous forme d'impulsion

S_VIMP

Paramtrer et dmarrer temporisation sous forme d'impulsion prolonge

S_EVERZ

Paramtrer et dmarrer temporisation sous forme de retard la monte

S_SEVERZ Paramtrer et dmarrer temporisation sous forme


de retard la monte mmoris

S_AVERZ

Paramtrer et dmarrer temporisation sous forme de retard la retombe

---( SI )

Dmarrer temporisation sous forme d'impulsion

---( SV )

Dmarrer temporisation sous forme d'impulsion prolonge

---( SE )

Dmarrer temporisation sous forme de retard la monte

---( SS )

Dmarrer temporisation sous forme de retard la monte mmoris

---( SA )

Dmarrer temporisation sous forme de retard la retombe

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

13-1

Oprations de temporisation

13.2

Adresse d'une temporisation en mmoire et composants


d'une temporisation

Zone de mmoire
Une zone de mmoire est rserve aux temporisations dans votre CPU. Un mot de 16 bits y
est rserv pour chaque oprande de temporisation. La programmation en CONT permet
dutiliser jusqu 256 temporisations. Le nombre de mots de temporisation disponibles dans
votre CPU figure dans les caractristiques de la CPU.
Les fonctions suivantes ont accs la zone de mmoire rserve aux temporisations :

oprations de temporisation,

actualisation des mots de temporisation avec une horloge. Cette fonction dcrmente,
ltat de marche (RUN) de la CPU, une valeur donne dune unit dans un intervalle
dfini par la base de temps, et ce, jusqu ce que la valeur de temps soit gale zro.

Valeur de temps
La valeur de temps est contenue sous forme binaire dans les bits 0 9 du mot de
temporisation. Elle dtermine un nombre dunits. Lactualisation de lheure dcrmente la
valeur de temps dune unit dans un intervalle dfini par la base de temps. La
dcrmentation se poursuit jusqu ce que la valeur de temps soit gale zro. Pour
charger une valeur de temps, vous pouvez utiliser le format binaire, hexadcimal ou dcimal
cod binaire (DCB). La plage de temps est comprise entre 0 et 9 990 secondes.
Vous pouvez charger une valeur de temps prdfinie en utilisant lun des deux formats
suivants :

w#16#wxyz o
-

w = base de temps (cest--dire lintervalle de temps ou la rsolution)

xyz = valeur de temps en format dcimal cod binaire (DCB)

S5T#aH_bM_cS_dMS
-

H (heures), M (minutes), S (secondes ) et MS (millisecondes) ;


a, b, c, d sont definies par l'utilisateur

la base de temps est choisie automatiquement et la valeur est arrondie au


nombre infrieur le plus proche avec cette base de temps.

La valeur de temps maximale que vous pouvez indiquer est gale 9 990 secondes ou
2H_46M_30S. Exemples :
S5TIME#4S = 4 secondes
s5t#2h_15m = 2 heures et 15 minutes
S5T#1H_12M_18S = 1 heure, 12 minutes et 18 secondes

Base de temps
La base de temps est contenue en code binaire dans les bits 12 et 13 du mot de
temporisation. Elle dtermine quel intervalle la valeur de temps va tre dcrmente. La
base de temps minimale est gale 10 ms ; la base de temps maximale 10 s.

13-2

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de temporisation

Base

Code binaire de la base de temps

10 ms

00

100 ms

01

1s

10

10 s

11

Les valeurs ne doivent pas excder 2H_46M_30S. Les valeurs prsentant une plage trop
importante ou une trop grande rsolution sont arrondies en fonction des valeurs limites de
plages et de rsolutions. Le format gnral S5TIME a les valeurs limites suivantes pour la
plage et la rsolution :
Rsolution

Plage

0,01 seconde

10MS

0,1

seconde

100MS 1M_39S_900MS

9S_990MS

seconde

1S

16M_39S

10

secondes

10S

2H_46M_30S

Configuration des bits dans la cellule de temporisation


Lorsquune temporisation est dmarre, le contenu de la cellule de temporisation est utilis
comme valeur de temps. Les bits 0 11 de la cellule de temporisation contiennent la valeur
de temps en format dcimal cod binaire (format DCB : chaque groupe de quatre bits
contient le code binaire dune valeur dcimale). Les bits 12 et 13 contiennent la base de
temps en code binaire.
La figure suivante montre le contenu de la cellule de temporisation dans laquelle vous avez
charg la valeur de temps 127 et une base de temps de 1 seconde.

15...
x x

0 0

0
1

Base de temps
1 seconde

...8 7...
1 0 0

1
2

0 0

...0
1

Valeur de temps en format DBC


(0 999)

Ces bits ne sont pas significatifs, cest--dire quils ne sont


pas pris en compte lorsque la temporisation est dmarre.

Lecture de la valeur et de la base de temps


Chaque bote de temporisation possde deux sorties, DUAL (BI) et DEZ (BCD), pour
lesquelles vous pouvez indiquer une adresse de mot. La sortie DUAL fournit la valeur de
temps en format binaire. La sortie DEZ fournit la base de temps et la valeur de temps en
format dcimal cod binaire (DCB).

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

13-3

Oprations de temporisation

Choix de la temporisation correcte


La vue densemble des cinq types de temporisations doit vous aider choisir la
temporisation qui rpond le mieux vos besoins.

E 0.0

A 4.0 S_IMPULS
t

A 4.0 S_VIMP
t

A 4.0 S_EVERZ
t

A 4.0 S_SEVERZ
t

A 4.0 S_AVERZ
t

13-4

Temporisations

Description

S_IMPULS
temporisation sous forme
dimpulsion

La dure maximale pendant laquelle le signal de sortie reste 1 est la


mme que la valeur de temps t programme. Le signal de sortie reste
1 pour une dure plus courte si le signal dentre passe 0.

S_VIMP
temporisation sous forme
d'impulsion prolonge

Le signal de sortie reste 1 pendant la dure programme, quelle que


soit la dure pendant laquelle le signal dentre reste 1.

S_EVERZ
temporisation sous forme
de retard la monte

Le signal de sortie est gal 1 uniquement lorsque le temps programm


sest coul et que le signal dentre est toujours 1.

S_SEVERZ
temporisation sous forme
de retard la monte
mmoris

Le signal de sortie passe de 0 1 uniquement lorsque le temps


programm sest coul, quelle que soit la dure pendant laquelle le
signal dentre reste 1.

S_AVERZ
temporisation sous forme
de retard la retombe

Le signal de sortie est gal 1 lorsque le signal dentre est gal 1 ou


lorsque la temporisation sexcute. La temporisation est dmarre
lorsque le signal dentre passe de 1 0.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de temporisation

13.3

S_IMPULS

Paramtrer et dmarrer temporisation


sous forme d'impulsion

Reprsentation
Anglaise

Allemande

T n

T n

S_PULSE
S
TV
R

S_IMPULS

BI

TW

BCD

Paramtre
Anglaise

Paramtre
Allemande

T n

Tn

DUAL
DEZ

Type de
donnes

Zone de
mmoire

Description

TIMER

Numro d'identification de la
temporisation. La plage dpend de la
CPU.

BOOL

E, A, M, L, D

Entre de dmarrage

TV

TW

S5TIME

E, A, M, L, D

Valeur de temps prdfinie

BOOL

E, A, M, L, D

Entre de remise zro

BI

DUAL

WORD

E, A, M, L, D

Valeur de temps restante (format


binaire)

BCD

DEZ

WORD

E, A, M, L, D

Valeur de temps restante (format DCB)

BOOL

E, A, M, L, D

Etat de la temporisation

Description de l'opration
S_IMPULS (Paramtrer et dmarrer temporisation sous forme d'impulsion)
Cette opration dmarre la temporisation prcise en cas de front montant l'entre de
dmarrage S. Un changement d'tat de signal est toujours ncessaire pour activer une
temporisation. La valeur de temps indique l'entre TW s'coule tant que l'tat de signal
l'entre S est gal 1. Tant que la temporisation s'excute, l'tat de signal la sortie Q
gale 1. En cas de passage de 1 0 l'entre S avant que le temps n'ait expir, la
temporisation s'arrte. Dans ce cas, l'tat de signal la sortie Q est 0.
Si l'tat de signal passe de 0 1 l'entre de remise zro R alors que la temporisation
s'excute, cette dernire est remise zro. La valeur de temps en cours et la base de temps
sont alors galement mises 0. L'tat de signal 1 l'entre R de la temporisation n'a aucun
effet si la temporisation ne s'excute pas.
La valeur de temps en cours peut tre lue en format binaire la sortie DUAL et en format
dcimal cod binaire la sortie DEZ. La valeur de temps en cours correspond la valeur
initiale en TW moins la valeur de temps coule depuis le dmarrage de la temporisation.
Voir aussi Adresse d'une temporisation en mmoire et composants d'une temporisation.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

13-5

Oprations de temporisation

Chronogramme
Proprits de la temporisation sous forme d'impulsion
t

RLG lentre S

RLG lentre R

Excution de la
temporisation
Interrogation 1
de ltat de signal
Interrogation 0
de ltat de signal

t = Temps programm

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
T5
S_IMPULS
Q
S

E 0.0

E 0.1

S5TIME#2S

TW
R

A 4.0

DUAL
DEZ

La temporisation T5 est dmarre si l'tat de signal passe de 0 1 l'entre E 0.0 (front


montant du RLG). Le temps de deux secondes (2 s) indiqu s'coule tant que E 0.0 est 1.
Si l'tat de signal en E 0.0 passe de 1 0 avant que le temps n'ait expir, la temporisation
s'arrte. Si l'tat de signal l'entre E 0.1 passe de 0 1 alors que la temporisation
s'excute, cette dernire est remise zro.
L'tat de signal la sortie A 4.0 est 1 tant que la temporisation s'excute. Cet tat de signal
est 0 si la temporisation a expir ou si elle a t remise zro.

13-6

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de temporisation

13.4

S_VIMP

Paramtrer et dmarrer temporisation


sous forme d'impulsion prolonge

Reprsentation
Anglaise

Allemande

T n

T n

S_PEXT
S
TV
R

S_VIMP
Q

BI

TW

BCD

Paramtre
Anglaise

Paramtre
Allemande

T n

Tn

DUAL
DEZ

Type de
donnes

Zone de
mmoire

Description

TIMER

Numro d'identification de la
temporisation. La plage dpend de la
CPU.

BOOL

E, A, M, L, D

Entre de dmarrage

TV

TW

S5TIME

E, A, M, L, D

Valeur de temps prdfinie

BOOL

E, A, M, L, D

Entre de remise zro

BI

DUAL

WORD

E, A, M, L, D

Valeur de temps restante (format


binaire)

BCD

DEZ

WORD

E, A, M, L, D

Valeur de temps restante (format DCB)

BOOL

E, A, M, L, D

Etat de la temporisation

Description de l'opration
S_VIMP (Paramtrer et dmarrer temporisation sous forme d'impulsion prolonge)
Cette opration dmarre la temporisation prcise en cas de front montant l'entre de
dmarrage S. Un changement d'tat de signal est toujours ncessaire pour activer une
temporisation. La valeur de temps indique l'entre TW continue s'couler mme si l'tat
de signal l'entre S passe 0 avant expiration du temps. Tant que la temporisation
s'excute, l'tat de signal la sortie Q gale 1. La temporisation est redmarre avec la
valeur de temps prdfinie si l'tat de signal l'entre S passe de 0 1 alors que la
temporisation s'excute.
En cas de passage de 0 1 l'entre de remise zro R pendant que la temporisation
s'excute, cette dernire est remise zro. La valeur de temps en cours et la base de temps
sont alors galement mises 0.
La valeur de temps en cours peut tre lue en format binaire la sortie DUAL et en format
dcimal cod binaire la sortie DEZ. La valeur de temps en cours correspond la valeur
initiale en TW moins la valeur de temps coule depuis le dmarrage de la temporisation.
Voir aussi Adresse d'une temporisation en mmoire et composants d'une temporisation.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

13-7

Oprations de temporisation

Chronogramme
Proprits de la temporisation sous forme d'impulsion prolonge
t

RLG lentre S

RLG lentre R

Excution de la
temporisation
Interrogation 1
de ltat de signal
Interrogation 0
de ltat de signal

t = Temps programm

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
T5
S_VIMP

E 0.0
S
E 0.1

S5TIME#2S

TW
R

A 4.0
Q

DUAL
DEZ

La temporisation T5 est dmarre si l'tat de signal passe de 0 1 l'entre E 0.0 (front


montant du RLG). Le temps de deux secondes (2 s) indiqu continue s'couler mme en
cas de front descendant l'entre S. Si l'tat de signal en E 0.0 passe de 0 1 avant que le
temps n'ait expir, la temporisation est redmarre. Si l'tat de signal l'entre E 0.1 passe
de 0 1 alors que la temporisation s'excute, cette dernire est remise zro. L'tat de
signal la sortie A 4.0 est 1 tant que la temporisation s'excute.

13-8

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de temporisation

13.5

S_EVERZ

Paramtrer et dmarrer temporisation


sous forme de retard la monte

Reprsentation
Anglaise

Allemande

T n

T n

S_ODT
S
TV
R

S_EVERZ
Q

BI

TW

BCD

Paramtre
Anglaise

Paramtre
Allemande

T n

Tn

DUAL
DEZ

Type de
donnes

Zone de
mmoire

Description

TIMER

Numro d'identification de la
temporisation. La plage dpend de la
CPU.

BOOL

E, A, M, L, D

Entre de dmarrage

TV

TW

S5TIME

E, A, M, L, D

Valeur de temps prdfinie

BOOL

E, A, M, L, D

Entre de remise zro

BI

DUAL

WORD

E, A, M, L, D

Valeur de temps restante (format


binaire)

BCD

DEZ

WORD

E, A, M, L, D

Valeur de temps restante (format DCB)

BOOL

E, A, M, L, D

Etat de la temporisation

Description de l'opration
S_EVERZ (Paramtrer et dmarrer temporisation sous forme de retard la monte)
Cette opration dmarre la temporisation prcise en cas de front montant l'entre de
dmarrage S. Un changement d'tat de signal est toujours ncessaire pour activer une
temporisation. La valeur de temps indique l'entre TW s'coule tant que l'tat de signal
l'entre S est 1. L'tat de signal la sortie Q gale 1 lorsque la temporisation s'est
excute sans erreur et que l'tat de signal l'entre S est toujours 1. La temporisation
s'arrte si l'tat de signal l'entre S passe de 1 0 alors que la temporisation s'excute.
Dans ce cas, l'tat de signal la sortie Q est 0.
En cas de passage de 0 1 l'entre de remise zro R pendant que la temporisation
s'excute, cette dernire est remise zro. La valeur de temps en cours et la base de temps
sont alors galement mises 0. L'tat de signal la sortie Q gale alors 0. La temporisation
est galement remise zro si l'tat de signal gale 1 l'entre R alors que la temporisation
ne s'excute pas et que le RLG l'entre S est gal 1.
La valeur de temps en cours peut tre lue en format binaire la sortie DUAL et en format
dcimal cod binaire la sortie DEZ. La valeur de temps en cours correspond la valeur
initiale en TW moins la valeur de temps coule depuis le dmarrage de la temporisation.
Voir aussi Adresse d'une temporisation en mmoire et composants d'une temporisation.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

13-9

Oprations de temporisation

Chronogramme
Proprits de la temporisation sous forme de retard la monte
t

RLG lentre S

RLG lentre R

Excution de la
temporisation
Interrogation 1
de ltat de signal
Interrogation 0
de ltat de signal

t = Temps programm

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
T5
S_EVERZ
Q
S

E 0.0

E 0.1

S5TIME#2S

TW
R

A 4.0

DUAL
DEZ

La temporisation T5 est dmarre si l'tat de signal passe de 0 1 l'entre E 0.0 (front


montant du RLG). Si le temps de deux secondes (2 s) indiqu expire et que l'tat de signal
l'entre E 0.0 gale toujours 1, l'tat de signal la sortie A 4.0 est 1. Si l'tat de signal en E
0.0 passe de 1 0, la temporisation est arrte et A 4.0 est 0. Si l'tat de signal l'entre
E 0.1 passe de 0 1, la temporisation est remise zro qu'elle soit en cours d'excution ou
non.

13-10

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de temporisation

13.6

S_SEVERZ

Paramtrer et dmarrer temporisation


sous forme de retard la monte mmoris

Reprsentation
Anglaise

Allemande

T n

T n

S_ODTS
S
TV
R

S_SEVERZ
Q

BI

TW

BCD

Paramtre
Anglaise

Paramtre
Allemande

T n

Tn

DUAL
DEZ

Type de
donnes

Zone de
mmoire

Description

TIMER

Numro d'identification de la
temporisation. La plage dpend de la
CPU.

BOOL

E, A, M, L, D

Entre de dmarrage

TV

TW

S5TIME

E, A, M, L, D

Valeur de temps prdfinie

BOOL

E, A, M, L, D

Entre de remise zro

BI

DUAL

WORD

E, A, M, L, D

Valeur de temps restante (format


binaire)

BCD

DEZ

WORD

E, A, M, L, D

Valeur de temps restante (format DCB)

BOOL

E, A, M, L, D

Etat de la temporisation

Description de l'opration
S_SEVERZ (Paramtrer et dmarrer temporisation sous forme de retard la monte
mmoris)
Cette opration dmarre la temporisation prcise en cas de front montant l'entre de
dmarrage S. Un changement d'tat de signal est toujours ncessaire pour activer une
temporisation. La valeur de temps indique l'entre TW continue s'couler mme si l'tat
de signal l'entre S passe 0 avant que la temporisation n'ait expir. L'tat de signal la
sortie Q gale 1 lorsque la temporisation a expir, quel que soit l'tat de signal l'entre S.
Si l'tat de signal l'entre S passe de 0 1 alors que la temporisation s'excute, cette
dernire est redmarre avec la valeur de temps indique.
En cas de passage de 0 1 l'entre de remise zro R, la temporisation est remise zro
quel que soit le RLG l'entre S. L'tat de signal la sortie Q est alors 0.
La valeur de temps en cours peut tre lue en format binaire la sortie DUAL et en format
dcimal cod binaire la sortie DEZ. La valeur de temps en cours correspond la valeur
initiale en TW moins la valeur de temps coule depuis le dmarrage de la temporisation.
Voir aussi Adresse d'une temporisation en mmoire et composants d'une temporisation.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

13-11

Oprations de temporisation

Chronogramme
Proprits de la temporisation sous forme de retard la monte mmoris
t

RLG lentre S

RLG lentre R

Excution de la
temporisation
Interrogation 1
de ltat de signal
Interrogation 0
de ltat de signal

t = Temps programm

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
T5
S_SEVERZ
Q
S

E 0.0

E 0.1

S5TIME#2S

TV
R

A 4.0

DUAL
DEZ

La temporisation T5 est dmarre si l'tat de signal passe de 0 1 l'entre E 0.0 (front


montant du RLG). La temporisation continue s'excuter mme si l'tat de signal en E 0.0
passe de 1 0. Si l'tat de signal en E 0.0 passe de 0 1 avant que la temporisation n'ait
expir, la temporisation est redmarre. L'tat de signal la sortie A 4.0 est 1 lorsque la
temporisation s'est coule. Si l'tat de signal l'entre E 0.1 passe de 0 1, la
temporisation est remise zro quel que soit le RLG en S.

13-12

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de temporisation

13.7

S_AVERZ

Paramtrer et dmarrer temporisation


sous forme de retard la retombe

Reprsentation
Anglaise

Allemande

T n

T n

S_OFFDT
S
TV
R

S_AVERZ

BI

TW

BCD

Paramtre
Anglaise

Paramtre
Allemande

T n

Tn

DUAL
DEZ

Type de
donnes

Zone de
mmoire

Description

TIMER

Numro d'identification de la
temporisation. La plage dpend de la
CPU.

BOOL

E, A, M, L, D

Entre de dmarrage

TV

TW

S5TIME

E, A, M, L, D

Valeur de temps prdfinie

BOOL

E, A, M, L, D

Entre de remise zro

BI

DUAL

WORD

E, A, M, L, D

Valeur de temps restante (format


binaire)

BCD

DEZ

WORD

E, A, M, L, D

Valeur de temps restante (format DCB)

BOOL

E, A, M, L, D

Etat de la temporisation

Description de l'opration
S_AVERZ (Paramtrer et dmarrer temporisation sous forme de retard la retombe)
Cette opration dmarre la temporisation prcise en cas de front descendant l'entre de
dmarrage S. Un changement d'tat de signal est toujours ncessaire pour activer une
temporisation. L'tat de signal la sortie Q gale 1 lorsque l'tat de signal l'entre S est 1
ou lorsque la temporisation s'excute. La temporisation est remise zro lorsque l'tat de
signal l'entre S passe de 0 1 alors que la temporisation s'excute. La temporisation
n'est redmarre que lorsque l'tat de signal l'entre S repasse de 1 0.
En cas de passage de 0 1 l'entre de remise zro R pendant que la temporisation
s'excute, cette dernire est remise zro.
La valeur de temps en cours peut tre lue en format binaire la sortie DUAL et en format
dcimal cod binaire la sortie DEZ. La valeur de temps en cours correspond la valeur
initiale en TW moins la valeur de temps coule depuis le dmarrage de la temporisation.
Voir aussi Adresse d'une temporisation en mmoire et composants d'une temporisation.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

13-13

Oprations de temporisation

Chronogramme
Proprits de la temporisation sous forme de retard la retombe
t

RLG lentre S

RLG lentre R

Excution de la
temporisation
Interrogation 1
de ltat de signal
Interrogation 0
de ltat de signal

t = Temps programm

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
T5
S_AVERZ
Q
S

E 0.0

E 0.1

S5TIME#2S

TV
R

A 4.0

DUAL
DEZ

La temporisation est dmarre si l'tat de signal passe de 1 0 l'entre E 0.0.


L'tat de signal la sortie A 4.0 est 1 lorsque l'tat de signal en E 0.0 est 1 ou que la
temporisation s'excute. Si l'tat de signal en E 0.1 passe de 0 1 pendant que la
temporisation s'excute, cette dernire est remise zro.

13-14

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de temporisation

13.8

---( SI ) Dmarrer temporisation sous forme d'impulsion

Reprsentation
Anglaise

Allemande

<T n >

<T n >

---( SP )

---( SI )

<valeur de temps>

<valeur de temps>

Paramtre

Type de
donnes

Zone de
mmoire

Description

<T n >

TIMER

Numro de la temporisation. La plage


dpend de la CPU.

<valeur de
temps>

S5TIME

E, A, M, L, D

Valeur de temps prdfinie

Description de l'opration
---( SI ) (Dmarrer temporisation sous forme d'impulsion)
Cette opration dmarre la temporisation indique avec la <valeur de temps> donne si le
RLG prsente un front montant. La valeur de temps prcise continue s'couler tant que le
RLG est positif (tat de signal 1). L'interrogation 1 de l'tat de signal fournit un rsultat gal
1 tant que la temporisation s'excute. Si le RLG passe de 1 0 avant que le temps indiqu
ne soit coul, la temporisation s'arrte. Dans ce cas, l'interrogation 1 de l'tat de signal
fournit un rsultat gal 0.
Voir aussi Adresse d'une temporisation en mmoire et composants d'une temporisation et
S_IMPULS (Dmarrer temporisation sous forme d'impulsion).

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

13-15

Oprations de temporisation

Exemple
Rseau 1
E 0.0

T5
SI
S5T#2S

Rseau 2
T5

A 4.0

E 0.1

T5
R

Rseau 3

Si l'tat de signal en E 0.0 passe de 0 1 (front montant du RLG), la temporisation T5 est


dmarre. La temporisation continue s'excuter avec la valeur de temps prcise de 2
secondes tant que l'tat de signal en E 0.0 est gal 1. Si l'tat de signal en E 0.0 passe de
1 0 avant expiration du temps prcis, la temporisation s'arrte. L'tat de signal la sortie
A 4.0 est 1 tant que la temporisation s'excute. Si l'tat de signal en E 0.1 passe de 0 1, la
temporisation T5 est mise zro, c'est--dire qu'elle s'arrte et que la valeur de temps
restante est mise 0.

13-16

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de temporisation

13.9

---( SV ) Dmarrer temporisation sous forme d'impulsion


prolonge

Reprsentation
Anglaise

Allemande

<T n >

<T n >

---( SE )

---( SV )

<valeur de temps>

<valeur de temps>

Paramtre

Type de
donnes

Zone de
mmoire

Description

<T n >

TIMER

Numro de la temporisation. La plage


dpend de la CPU.

<valeur de
temps>

S5TIME

E, A, M, L, D

Valeur de temps prdfinie

Description de l'opration
---( SV ) (Dmarrer temporisation sous forme d'impulsion prolonge)
Cette opration dmarre la temporisation indique avec la <valeur de temps> donne si le
RLG prsente un front montant. La temporisation continue s'excuter avec la valeur de
temps prcise mme si le RLG passe 0 avant que ce temps n'ait expir. L'interrogation
1 de l'tat de signal fournit un rsultat gal 1 tant que la temporisation s'excute. La
temporisation est redmarre avec la valeur de temps indique si le RLG passe de 0 1
alors que la temporisation s'excute.
Voir aussi Adresse d'une temporisation en mmoire et composants d'une temporisation et
S_VIMP (Dmarrer temporisation sous forme d'impulsion prolonge).

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

13-17

Oprations de temporisation

Exemple
Rseau 1
E 0.0

T5
SV
S5T#2S

Rseau 2
T5

A 4.0

E 0.1

T5
R

Rseau 3

Si l'tat de signal en E 0.0 passe de 0 1 (front montant du RLG), la temporisation T5 est


dmarre. La temporisation continue s'excuter avec la valeur de temps prcise, mme
en prsence d'un front descendant du RLG. Si l'tat de signal en E 0.0 passe de 0 1 avant
expiration du temps prcis, la temporisation est redclenche. L'tat de signal la sortie
A 4.0 est 1 tant que la temporisation s'excute. Si l'tat de signal en E 0.1 passe de 0 1, la
temporisation T5 est mise zro, c'est--dire qu'elle s'arrte et que la valeur de temps
restante est mise 0.

13-18

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de temporisation

13.10 ---( SE ) Dmarrer temporisation sous forme de retard la


monte
Reprsentation
Anglaise

Allemande

<T n >

<T n >

---( SD )

---( SE )

<valeur de temps>

<valeur de temps>

Paramtre

Type de
donnes

Zone de
mmoire

Description

<T n >

TIMER

Numro de la temporisation. La plage


dpend de la CPU.

<valeur de
temps>

S5TIME

E, A, M, L, D

Valeur de temps prddinie

Description de l'opration
---( SE ) (Dmarrer temporisation sous forme de retard la monte)
Cette opration dmarre la temporisation indique avec la <valeur de temps> donne si le
RLG prsente un front montant. L'interrogation 1 de l'tat de signal fournit un rsultat gal
1 lorsque la valeur de temps s'est coule sans erreur et que le RLG est toujours gal 1.
Si le RLG passe de 1 0 alors que la temporisation s'excute, la temporisation est remise
zro. Dans ce cas, l'interrogation 1 de l'tat de signal fournit un rsultat gal 0.
Voir aussi Adresse d'une temporisation en mmoire et composants d'une temporisation et
S_EVERZ (Dmarrer temporisation sous forme de retard la monte).

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

13-19

Oprations de temporisation

Exemple
Rseau 1
E 0.0

T5
SE
S5T#2S

Rseau 2
T5

A 4.0

E 0.1

T5
R

Rseau 3

Si l'tat de signal en E 0.0 passe de 0 1 (front montant du RLG), la temporisation T5 est


dmarre. Si le temps expire et que l'tat de signal en E 0.0 est toujours 1, la sortie A 4.0 est
1. Si l'tat de signal en E 0.0 passe de 1 0 alors que la temporisation s'excute, cette
dernire est remise zro et A 4.0 est 0. Si l'tat de signal en E 0.1 passe de 0 1, la
temporisation T5 est mise zro, c'est--dire qu'elle est arrte et que la valeur de temps
restante est mise 0.

13-20

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de temporisation

13.11 ---( SS ) Dmarrer temporisation sous forme de retard la


monte mmoris
Reprsentation
Anglaise

Allemande

<T n >

<T n >

---( SS )

---( SS )

<valeur de temps>

<valeur de temps>

Paramtre

Type de
donnes

Zone de
mmoire

Description

<T n >

TIMER

Numro de la temporisation. La plage


dpend de la CPU.

<valeur de
temps>

S5TIME

E, A, M, L, D

Valeur de temps prdfinie

Description de l'opration
---( SS ) (Dmarrer temporisation sous forme de retard la monte mmoris)
Cette opration dmarre la temporisation prcise si le RLG prsente un front montant.
L'tat de signal de la temporisation est gal 1 lorsque le temps indiqu est coul. Un
redmarrage de la temporisation n'est possible que si cette dernire a t explicitement mise
zro, car c'est uniquement de cette manire que l'tat de signal de la temporisation peut
tre mis 0.
Si le RLG passe de 0 1 alors que la temporisation s'excute, la temporisation est
redmarre avec le temps indiqu.
Voir aussi Adresse d'une temporisation en mmoire et composants d'une temporisation et
S_SEVERZS (Dmarrer temporisation sous forme de retard la monte mmoris).

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

13-21

Oprations de temporisation

Exemple
Rseau 1
E 0.0

T5
SS
S5T#2S

Rseau 2
T5

A 4.0

E 0.1

T5
R

Rseau 3

Si l'tat de signal en E 0.0 passe de 0 1 (front montant du RLG), la temporisation T5 est


dmarre. Si l'tat de signal en E 0.0 passe de 0 1 avant que le temps n'ait expir, la
temporisation est redclenche. L'tat de signal de la sortie A 4.0 est 1 si le temps a expir.
Si l'tat de signal en E 0.1 est 1, la temporisation T5 est mise zro, c'est--dire qu'elle est
arrte et que la valeur de temps restante est mise 0.

13-22

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations de temporisation

13.12 ---( SA ) Dmarrer temporisation sous forme de retard la


retombe
Reprsentation
Anglaise

Allemande

<T n >

<T n >

---( SF )

---( SA )

<valeur de temps>

<valeur de temps>

Paramtre

Type de
donnes

Zone de
mmoire

Description

<T n >

TIMER

Numro de la temporisation. La plage


dpend de la CPU.

<valeur de
temps>

S5TIME

E, A, M, L, D

Valeur de temps prdfinie

Description de l'opration
---( SA ) (Dmarrer temporisation sous forme de retard la retombe)
Cette opration dmarre la temporisation indique si le RLG prsente un front descendant.
L'interrogation 1 de l'tat de signal fournit un rsultat gal 1 tant que le RLG gale 1 ou
que la temporisation s'excute avec la <valeur de temps> prcise. La temporisation est
remise zro si le RLG passe de 0 1 alors que la temporisation s'excute. La
temporisation est toujours redmarre lorsque le RLG repasse de 1 0.
Voir aussi Adresse d'une temporisation en mmoire et composants d'une temporisation et
S_AVERZ (Dmarrer temporisation sous forme de retard la retombe).

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

13-23

Oprations de temporisation

Exemple
Rseau 1
E 0.0

T5
SA
S5T#2S

Rseau 2
T5

A 4.0

E 0.1

T5
R

Rseau 3

Si l'tat de signal en E 0.0 passe de 1 0, la temporisation est dmarre.


L'tat de signal la sortie A 4.0 est 1 si l'tat de signal est 1 l'entre E 0.0 ou si la
temporisation s'excute. Si l'tat de signal en E 0.1 passe de 0 1, la temporisation T5 est
mise zro, c'est--dire qu'elle est arrte et que la valeur de temps restante est mise 0.

13-24

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

14 Oprations combinatoires sur mots

14.1

Vue d'ensemble des oprations combinatoire sur mots

Description
Les oprations combinatoires sur mots combinent deux mots (16 bits) ou deux doubles mots
(32 bits), bit par bit, selon les combinaisons boolennes. Ces oprations sont actives si
l'tat de signal est 1 l'entre de validation EN
Si le rsultat la sortie OUT est diffrent de 0, le bit BI1 du mot d'tat est mis 1.
Si le rsultat la sortie OUT gale 0, le bit BI1 du mot d'tat est mis 0.
Vous disposez des oprations combinatoires sur mots suivantes :

WAND_W

ET mot

WOR_W

OU mot

WXOR_W

OU exclusif mot

WAND_DW ET double mot

WOR_DW

WXOR_DW OU exclusif double mot

OU double mot

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

14-1

Oprations combinatoires sur mots

14.2

WAND_W

ET mot

Reprsentation
WAND_W
EN
IN1
IN2

ENO
OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN1

WORD

E, A, M, L, D

Premire valeur pour la combinaison

IN2

WORD

E, A, M, L, D

Seconde valeur pour la combinaison

OUT

WORD

E, A, M, L, D

Rsultat de la combinaison (mot)

Description de l'opration
WAND_W (ET mot)
Cette opration est active si l'tat de signal est 1 l'entre de validation EN. Elle combine,
bit par bit selon la table de vrit ET, les deux mots indiqus dans les entres IN1 et IN2.
Ces valeurs sont interprtes comme profils binaires purs. Le rsultat est rang dans la
sortie OUT. L'tat de signal de ENO est identique celui de EN.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MW0
2#0000000000001111

WAND_W

EN
IN1
IN2

ENO
OUT

A 4.0
MW2

Cette opration est excute si l'tat de signal est 1 l'entre E 0.0. Seuls les bits 0 3 de
MW0 sont significatifs ; les autres bits sont masqus par le profil binaire donn dans l'entre
IN2.
MW0

01010101 01010101

IN2

00000000 00001111

MW0 ET IN2 = MW2 =

00000000 00000101

La sortie A 4.0 est mise 1 si l'opration est excute.

14-2

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations combinatoires sur mots

14.3

WOR_W

OU mot

Reprsentation
WOR_W
EN
IN1
IN2

ENO
OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN1

WORD

E, A, M, L, D

Premire valeur pour la combinaison

IN2

WORD

E, A, M, L, D

Seconde valeur pour la combinaison

OUT

WORD

E, A, M, L, D

Rsultat de la combinaison (mot)

Description de l'opration
WOR_W (OU mot)
Cette opration est active si l'tat de signal est 1 l'entre de validation EN. Elle combine,
bit par bit selon la table de vrit OU, les deux mots indiqus dans les entres IN1 et IN2.
Ces valeurs sont interprtes comme profils binaires purs. Le rsultat est rang dans la
sortie OUT. L'tat de signal de ENO est identique celui de EN.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MW0
2#0000000000001111

WOR_W

EN
IN1
IN2

ENO
OUT

A 4.0
MW2

Cette opration est excute si l'tat de signal est 1 l'entre E 0.0. Les bits 0 3 sont mis
1, tous les autres bits de MW0 restent inchangs.
MW0

01010101 01010101

IN2

00000000 00001111

MW0 OU IN2=MW2

01010101 01011111

La sortie A 4.0 est mise 1 si l'opration est excute.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

14-3

Oprations combinatoires sur mots

14.4

WXOR_W

OU exclusif mot

Reprsentation
WXOR_W
EN
IN1
IN2

ENO
OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN1

WORD

E, A, M, L, D

Premire valeur pour la combinaison

IN2

WORD

E, A, M, L, D

Seconde valeur pour la combinaison

OUT

WORD

E, A, M, L, D

Rsultat de la combinaison (mot)

Description de l'opration
WXOR_W (OU exclusif mot)
Cette opration est active si l'tat de signal est 1 l'entre de validation EN. Elle combine,
bit par bit selon la table de vrit OU exclusif, les deux mots indiqus dans les entres IN1 et
IN2. Ces valeurs sont interprtes comme profils binaires purs. Le rsultat est rang dans la
sortie OUT. L'tat de signal de ENO est identique celui de EN.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MW0
2#0000000000001111

WXOR_W

EN
IN1
IN2

ENO
OUT

A 4.0
MW2

Cette opration est excute si l'tat de signal est 1 l'entre E 0.0 :


MW0

01010101 01010101

IN2

00000000 00001111

01010101 01011010

MW0 OU exclusif IN2 =

MW2

La sortie A 4.0 est mise 1 si l'opration est excute.

14-4

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations combinatoires sur mots

14.5

WAND_DW

ET double mot

Reprsentation
WAND_DW
EN
IN1
IN2

ENO
OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN1

DWORD

E, A, M, L, D

Premire valeur pour la combinaison

IN2

DWORD

E, A, M, L, D

Seconde valeur pour la combinaison

OUT

DWORD

E, A, M, L, D

Rsultat de la combinaison (double mot)

Description de l'opration
WAND_DW (ET double mot)
Cette opration est active si l'tat de signal est 1 l'entre de validation EN. Elle combine,
bit par bit selon la table de vrit ET, les deux doubles mots indiqus dans les entres IN1 et
IN2. Ces valeurs sont interprtes comme profils binaires purs. Le rsultat est rang dans la
sortie OUT. L'tat de signal de ENO est identique celui de EN.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MD0
DW#16#FFF

WAND_DW

EN
IN1
IN2

ENO
OUT

A 4.0
MD4

Cette opration est excute si l'tat de signal est 1 l'entre E 0.0. Seuls les bits 0 11 de
MD0 sont significatifs ; les autres bits sont masqus par le profil binaire donn dans l'entre
IN2.
MD0

01010101 01010101 01010101 01010101

IN2

00000000 00000000 00001111 11111111

MD0 ET IN2 = MD4

00000000 00000000 00000101 01010101

La sortie A 4.0 est mise 1 si l'opration est excute.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

14-5

Oprations combinatoires sur mots

14.6

WOR_DW

OU double mot

Reprsentation
WOR_DW
EN
IN1
IN2

ENO
OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN1

DWORD

E, A, M, L, D

Premire valeur pour la combinaison

IN2

DWORD

E, A, M, L, D

Seconde valeur pour la combinaison

OUT

DWORD

E, A, M, L, D

Rsultat de la combinaison (double mot)

Description de l'opration
WOR_DW (OU double mot)
Cette opration est active si l'tat de signal est 1 l'entre de validation EN. Elle combine,
bit par bit selon la table de vrit OU, les deux doubles mots indiqus dans les entres IN1
et IN2. Ces valeurs sont interprtes comme profils binaires purs. Le rsultat est rang dans
la sortie OUT. L'tat de signal de ENO est identique celui de EN.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
E 0.0
MD0
DW#16#FFF

WOR_DW

EN
IN1
IN2

ENO
OUT

A 4.0
MD4

Cette opration est excute si l'tat de signal est 1 l'entre E 0.0. Les bits 0 11 sont mis
1. Les bits restants de MD0 restent inchangs.
MD0

01010101 01010101 01010101 01010101

IN2

00000000 00000000 00001111 11111111

MD0 OU IN2 = MD4

01010101 01010101 01011111 11111111

La sortie A 4.0 est mise 1 si l'opration est excute.

14-6

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Oprations combinatoires sur mots

14.7

WXOR_DW

OU exclusif double mot

Reprsentation
WXOR_DW
EN
IN1
IN2

ENO
OUT

Paramtre

Type de
donnes

Zone de
mmoire

Description

EN

BOOL

E, A, M, L, D

Entre de validation

ENO

BOOL

E, A, M, L, D

Sortie de validation

IN1

DWORD

E, A, M, L, D

Premire valeur pour la combinaison

IN2

DWORD

E, A, M, L, D

Seconde valeur pour la combinaison

OUT

DWORD

E, A, M, L, D

Rsultat de la combinaison (double mot)

Description de l'opration
WXOR_DW (OU exclusif double mot)
Cette opration est active si l'tat de signal est 1 l'entre de validation EN. Elle combine
bit par bit selon la table de vrit OU exclusif, les deux doubles mots indiqus dans les
entres IN1 et IN2. Ces valeurs sont interprtes comme profils binaires purs. Le rsultat est
rang dans la sortie OUT. L'tat de signal de ENO est identique celui de EN.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
WXOR_DW

E 0.0
MD0
DW#16#FFF

EN
IN1
IN2

ENO
OUT

A 4.0
MD4

Cette opration est excute si l'tat de signal est 1 l'entre E 0.0 :


MD0

01010101 01010101 01010101 01010101

IN2

00000000 00000000 00001111 11111111

01010101 01010101 01011010 10101010

MD0 OU exclusif IN2

MD4

La sortie A 4.0 est mise 1 si l'opration est excute.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

14-7

Oprations combinatoires sur mots

14-8

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Prsentation de toutes les oprations CONT

A.1

Oprations CONT classes daprs les abrviations


allemandes (SIMATIC)

Abrviations
allemandes

Abrviations
anglaises

Catalogue
des lments
de programme

Description

---| |---

---| |---

Combinaison sur bits

Contact fermeture

---|/|---

---|/|---

Combinaison sur bits

Contact ouverture

---( )

---( )

Combinaison sur bits

Bobine de sortie

---(#)---

---(#)---

Combinaison sur bits

Connecteur

==0 ---| |---

==0 ---| |---

Bits d'tat

Bit de rsultat pour gal 0

>0 ---| |---

>0 ---| |---

Bits d'tat

Bit de rsultat pour suprieur 0

>=0 ---| |---

>=0 ---| |---

Bits d'tat

Bit de rsultat pour suprieur ou gal 0

<=0 ---| |---

<=0 ---| |---

Bits d'tat

Bit de rsultat pour infrieur ou gal 0

<0 ---| |---

<0 ---| |---

Bits d'tat

Bit de rsultat pour infrieur 0

<>0 ---| |---

<>0 ---| |---

Bits d'tat

Bit de rsultat pour diffrent de 0

ABS

ABS

Fonction sur nombres


virgule flottante

Valeur absolue d'un nombre rel

ACOS

ACOS

Fonction sur nombres


virgule flottante

Arc cosinus

ADD_DI

ADD_DI

Fonction sur nombres


entiers

Additionner entiers de 32 bits

ADD_I

ADD_I

Fonction sur nombres


entiers

Additionner entiers de 16 bits

ADD_R

ADD_R

Fonction sur nombres


virgule flottante

Additionner rels

ASIN

ASIN

Fonction sur nombres


virgule flottante

Arc sinus

ATAN

ATAN

Fonction sur nombres


virgule flottante

Arc tangente

---( OPN )

---( OPN )

Appel de DB

Ouvrir bloc de donnes

BCD_DI

BCD_DI

Conversion

Convertir nombre DCB en entier de 32 bits

BCD_I

BCD_I

Conversion

Convertir nombre DCB en entier de 16 bits

BIE ---| |---

BR ---| |---

Bits d'tat

Bit d'anomalie "registre RB"

----(CALL)

----(CALL)

Gestion d'excution
de programmes

Appeler FC/SFC sans paramtre

CALL_FB

CALL_FB

Gestion d'excution
de programmes

Appeler FB (bote)

CALL_FC

CALL_FC

Gestion d'excution
de programmes

Appeler FC (bote)

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

A-1

Prsentation de toutes les oprations CONT

Abrviations
allemandes

Abrviations
anglaises

Catalogue
des lments
de programme

Description

CALL_SFB

CALL_SFB

Gestion d'excution
de programmes

Appeler SFB (bote)

CALL_SFC

CALL_SFC

Gestion d'excution
de programmes

Appeler SFC (bote)

CEIL

CEIL

Conversion

Convertir rel en entier suprieur le plus proche

CMP ? D

CMP ? D

Comparaison

Comparer entiers de 32 bits

CMP ? I

CMP ? I

Comparaison

Comparer entiers de 16 bits

CMP ? R

CMP ? R

Comparaison

Comparer rels

COS

COS

Fonction sur nombres


virgule flottante

Cosinus

DI_BCD

DI_BCD

Conversion

Convertir entier de 32 bits en nombre DCB

DI_R

DI_R

Conversion

Convertir entier de 32 bits en rel

DIV_DI

DIV_DI

Fonction sur nombres


entiers

Diviser entiers de 32 bits

DIV_I

DIV_I

Fonction sur nombres


entiers

Diviser entiers de 16 bits

DIV_R

DIV_R

Fonction sur nombres


entiers

Diviser rels

EXP

EXP

Fonction sur nombres


virgule flottante

Valeur exponentielle

FLOOR

FLOOR

Conversion

Convertir rel en entier infrieur le plus proche

I_BCD

I_BCD

Conversion

Convertir entier de 16 bits en nombre DCB

I_DI

I_DI

Conversion

Convertir entier de 16 bits en entier de 32 bits

INV_I

INV_I

Conversion

Complment 1 d'entier de 16 bits

INV_DI

INV_DI

Conversion

Complment 1 d'entier de 32 bits

---(JMP)

---(JMP)

Sauts

Saut inconditionnel

---(JMP)

---(JMP)

Sauts

Saut l'intrieur d'un bloc si 1 (conditionnel)

---(JMPN)

---(JMPN)

Sauts

Saut l'intrieur d'un bloc si 0 (conditionnel)

LABEL

LABEL

Sauts

Repre de saut

LN

LN

Fonction sur nombres


virgule flottante

Logarithme naturel

---(MCR>)

---(MCR>)

Gestion d'excution de
programmes

Relais de masquage hors fonction

---(MCR<)

---(MCR<)

Gestion d'excution de
programmes

Relais de masquage en fonction

---(MCRA)

---(MCRA)

Gestion d'excution de
programmes

Activer relais de masquage

---(MCRD)

---(MCRD)

Gestion d'excution de
programmes

Dsactiver relais de masquage

MOD_DI

MOD_DI

Fonction sur nombres


entiers

Reste de division (32 bits)

MOVE

MOVE

Transfert

Affecter valeur

MUL_DI

MUL_DI

Fonction sur nombres


entiers

Multiplier entiers de 32 bits

MUL_I

MUL_I

Fonction sur nombres


entiers

Multiplier entiers de 16 bits

MUL_R

MUL_R

Fonction sur nombres


virgule flottante

Multiplier rels

A-2

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Prsentation de toutes les oprations CONT

Abrviations
allemandes

Abrviations
anglaises

Catalogue
des lments
de programme

Description

---( N )---

---( N )---

Combinaison sur bits

Dtecter front descendant

NEG

NEG

Combinaison sur bits

Dtecter front descendant de signal

NEG_DI

NEG_DI

Conversion

Complment 2 d'entier de 32 bits

NEG_I

NEG_I

Conversion

Complment 2 d'entier de 16 bits

NEG_R

NEG_R

Conversion

Inverser le signe d'un nombre rel

---| NOT |---

---| NOT |---

Combinaison sur bits

Inverser RLG

OS ---| |---

OS ---| |---

Bits d'tat

Bit d'anomalie "dbordement mmoris"

OV ---| |---

OV ---| |---

Bits d'tat

Bit d'anomalie "dbordement"

---( P )---

---( P )---

Combinaison sur bits

Dtecter front montant

POS

POS

Combinaison sur bits

Dtecter front montant de signal

---( R )

---( R )

Combinaison sur bits

Mettre 0

---(RET)

---(RET)

Gestion d'excution
de programmes

Retour

ROL_DW

ROL_DW

Dcalage/rotation

Rotation vers la gauche dun double mot

ROR_DW

ROR_DW

Dcalage/rotation

Rotation vers la droite dun double mot

ROUND

ROUND

Conversion

Arrondir

RS

RS

Combinaison sur bits

Bascule mise 0, mise 1

---( S )

---( S )

Combinaison sur bits

Mettre 1

---( SA )

---( SF )

Temporisations

Dmarrer temporisation sous forme de retard la


retombe

---( SAVE )

---( SAVE )

Combinaison sur bits

Sauvegarder RLG dans RB

S_AVERZ

S_OFFDT

Temporisations

Paramtrer et dmarrer temporisation sous forme


de retard la retombe

---( SE )

---( SD )

Temporisations

Dmarrer temporisation sous forme de retard la


monte

S_EVERZ

S_ODT

Temporisations

Paramtrer et dmarrer temporisation sous forme


de retard la monte

SHL_DW

SHL_DW

Dcalage/rotation

Dcalage vers la gauche d'un double mot

SHL_W

SHL_W

Dcalage/rotation

Dcalage vers la gauche d'un mot

SHR_DI

SHR_DI

Dcalage/rotation

Dcalage vers la droite d'un entier de 32 bits

SHR_DW

SHR_DW

Dcalage/rotation

Dcalage vers la droite d'un double mot

SHR_I

SHR_I

Dcalage/rotation

Dcalage vers la droite d'un entier de 16 bits

SHR_W

SHR_W

Dcalage/rotation

Dcalage vers la droite d'un mot

---( SI )

---( SP )

Temporisations

Dmarrer temporisation sous forme d'impulsion

S_IMPULS

S_PULSE

Temporisations

Paramtrer et dmarrer temporisation sous forme


d'impulsion

SIN

SIN

Fonction sur nombres


virgule flottante

Sinus

SQR

SQR

Fonction sur nombres


virgule flottante

Carr

SQRT

SQRT

Fonction sur nombres


virgule flottante

Racine carre

SR

SR

Combinaison sur bits

Bascule mise 1, mise 0

---( SS )

---( SS )

Temporisations

Dmarrer temporisation sous forme de retard la


monte mmoris

S_SEVERZ

S_ODTS

Temporisations

Paramtrer et dmarrer temporisation sous forme


de retard la monte mmoris (SS)

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

A-3

Prsentation de toutes les oprations CONT

Abrviations
allemandes

Abrviations
anglaises

Catalogue
des lments
de programme

Description

SUB_DI

SUB_DI

Fonction sur nombres


entiers

Soustraire entiers de 32 bits

SUB_I

SUB_I

Fonction sur nombres


entiers

Soustraire entiers de 16 bits

SUB_R

SUB_R

Fonction sur nombres


virgule flottante

Soustraire rels

---( SV )

---( SE )

Temporisations

Dmarrer temporisation sous forme d'impulsion


prolonge

S_VIMP

S_PEXT

Temporisations

Paramtrer et dmarrer temporisation sous forme


d'impulsion prolonge

---( SZ )

---( SC )

Compteurs

Initialiser compteur

TAN

TAN

Fonction sur nombres


virgule flottante

Tangente

TRUNC

TRUNC

Conversion

Tronquer la partie entire

UO ---| |---

UO ---| |---

Bits d'tat

Bit danomalie "illicite"

WAND_DW

WAND_DW

Combinaison sur mots

ET double mot

WAND_W

WAND_W

Combinaison sur mots

ET mot

WOR_DW

WOR_DW

Combinaison sur mots

OU double mot

WOR_W

WOR_W

Combinaison sur mots

OU mot

WXOR_DW

WXOR_DW

Combinaison sur mots

OU exclusif double mot

WXOR_W

WXOR_W

Combinaison sur mots

OU exclusif mot

ZAEHLER

S_CUD

Compteurs

Paramtrage et compteur
d'incrmentation/dcrmentation

----(ZR)

----(CD)

Compteurs

Dcrmenter

Z_RUECK

----(S_CD)

Compteurs

Paramtrage et compteur de dcrmentation

---( ZV )

----(CU)

Compteurs

Incrmenter

Z_VORW

S_CU

Compteurs

Paramtrage et compteur d'incrmentation

A-4

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Prsentation de toutes les oprations CONT

A.2

Oprations CONT classes daprs les abrviations anglaises


(International)

Abrviations
anglaises

Abrviations
allemandes

Catalogue
des lments
de programme

Description

---|/|---

---|/|---

Combinaison sur bits

Contact ouverture

---| |---

---| |---

Combinaison sur bits

Contact fermeture

---( )

---( )

Combinaison sur bits

Bobine de sortie

---(#)---

---(#)---

Combinaison sur bits

Connecteur

==0 ---| |---

==0 ---| |---

Bits d'tat

Bit de rsultat pour gal 0

>0 ---| |---

>0 ---| |---

Bits d'tat

Bit de rsultat pour suprieur 0

>=0 ---| |---

>=0 ---| |---

Bits d'tat

Bit de rsultat pour suprieur ou gal 0

<=0 ---| |---

<=0 ---| |---

Bits d'tat

Bit de rsultat pour infrieur ou gal 0

<0 ---| |---

<0 ---| |---

Bits d'tat

Bit de rsultat pour infrieur 0

<>0 ---| |---

<>0 ---| |---

Bits d'tat

Bit de rsultat pour diffrent de 0

ABS

ABS

Fonction sur nombres


virgule flottante

Valeur absolue d'un nombre rel

ACOS

ACOS

Fonction sur nombres


virgule flottante

Arc cosinus

ADD_DI

ADD_DI

Fonction sur nombres


entiers

Additionner entiers de 32 bits

ADD_I

ADD_I

Fonction sur nombres


entiers

Additionner entiers de 16 bits

ADD_R

ADD_R

Fonction sur nombres


virgule flottante

Additionner rels

ASIN

ASIN

Fonction sur nombres


virgule flottante

Arc sinus

ATAN

ATAN

Fonction sur nombres


virgule flottante

Arc tangente

BCD_DI

BCD_DI

Conversion

Convertir nombre DCB en entier de 32 bits

BCD_I

BCD_I

Conversion

Convertir nombre DCB en entier de 16 bits

BR ---| |---

BIE ---| |---

Bits d'tat

Bit d'anomalie "registre RB"

----(CALL)

----(CALL)

Gestion d'excution
de programmes

Appeler FC/SFC sans paramtre

CALL_FB

CALL_FB

Gestion d'excution
de programmes

Appeler FB (bote)

CALL_FC

CALL_FC

Gestion d'excution
de programmes

Appeler FC (bote)

CALL_SFB

CALL_SFB

Gestion d'excution
de programmes

Appeler SFB (bote)

CALL_SFC

CALL_SFC

Gestion d'excution
de programmes

Appeler SFC (bote)

----(CD)

----(ZR)

Compteurs

Dcrmenter

CEIL

CEIL

Conversion

Convertir rel en entier suprieur le plus proche

CMP ? D

CMP ? D

Comparaison

Comparer entiers de 32 bits

CMP ? I

CMP ? I

Comparaison

Comparer entiers de 16 bits

CMP ? R

CMP ? R

Comparaison

Comparer rels

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

A-5

Prsentation de toutes les oprations CONT

Abrviations
anglaises

Abrviations
allemandes

Catalogue
des lments
de programme

Description

COS

COS

Fonction sur nombres


virgule flottante

Cosinus

----(CU)

---( ZV )

Compteurs

Incrmenter

DI_BCD

DI_BCD

Conversion

Convertir entier de 32 bits en nombre DCB

DI_R

DI_R

Conversion

Convertir entier de 32 bits en rel

DIV_DI

DIV_DI

Fonction sur nombres


entiers

Diviser entiers de 32 bits

DIV_I

DIV_I

Fonction sur nombres


entiers

Diviser entiers de 16 bits

DIV_R

DIV_R

Fonction sur nombres


virgule flottante

Diviser rels

EXP

EXP

Fonction sur nombres


virgule flottante

Valeur exponentielle

FLOOR

FLOOR

Conversion

Convertir rel en entier infrieur le plus proche

I_BCD

I_BCD

Conversion

Convertir entier de 16 bits en nombre DCB

I_DI

I_DI

Conversion

Convertir entier de 16 bits en entier de 32 bits

INV_I

INV_I

Conversion

Complment 1 d'entier de 16 bits

INV_DI

INV_DI

Conversion

Complment 1 d'entier de 32 bits

---(JMP)

---(JMP)

Sauts

Saut inconditionnel

---(JMP)

---(JMP)

Sauts

Saut l'intrieur d'un bloc si 1 (conditionnel)

---(JMPN)

---(JMPN)

Sauts

Saut l'intrieur d'un bloc si 0 (conditionnel)

LABEL

LABEL

Sauts

Repre de saut

LN

LN

Fonction sur nombres


virgule flottante

Logarithme naturel

---(MCR>)

---(MCR>)

Gestion d'excution
de programmes

Relais de masquage hors fonction

---(MCR<)

---(MCR<)

Gestion d'excution
de programmes

Relais de masquage en fonction

---(MCRA)

---(MCRA)

Gestion d'excution
de programmes

Activer relais de masquage

---(MCRD)

---(MCRD)

Gestion d'excution
de programmes

Dsactiver relais de masquage

MOD_DI

MOD_DI

Fonction sur nombres


entiers

Reste de division (32 bits)

MOVE

MOVE

Transfert

Affecter valeur

MUL_DI

MUL_DI

Fonction sur nombres


entiers

Multiplier entiers de 32 bits

MUL_I

MUL_I

Fonction sur nombres


entiers

Multiplier entiers de 16 bits

MUL_R

MUL_R

Fonction sur nombres


virgule flottante

Multiplier rels

---( N )---

---( N )---

Combinaison sur bits

Dtecter front descendant

NEG

NEG

Combinaison sur bits

Dtecter front descendant de signal

NEG_DI

NEG_DI

Conversion

Complment 2 d'entier de 32 bits

NEG_I

NEG_I

Conversion

Complment 2 d'entier de 16 bits

NEG_R

NEG_R

Conversion

Inverser le signe d'un nombre rel

---| NOT |---

---| NOT |---

Combinaison sur bits

Inverser RLG

A-6

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Prsentation de toutes les oprations CONT

Abrviations
anglaises

Abrviations
allemandes

Catalogue
des lments
de programme

Description

---( OPN )

---( OPN )

Appel de DB

Ouvrir bloc de donnes

OS ---| |---

OS ---| |---

Bits d'tat

Bit d'anomalie "dbordement mmoris"

OV ---| |---

OV ---| |---

Bits d'tat

Bit d'anomalie "dbordement"

---( P )---

---( P )---

Combinaison sur bits

Dtecter front montant

POS

POS

Combinaison sur bits

Dtecter front montant de signal

---( R )

---( R )

Combinaison sur bits

Mettre 0

---(RET)

---(RET)

Gestion d'excution
de programmes

Retour

ROL_DW

ROL_DW

Dcalage/rotation

Rotation vers la gauche dun double mot

ROR_DW

ROR_DW

Dcalage/rotation

Rotation vers la droite dun double mot

ROUND

ROUND

Conversion

Arrondir

RS

RS

Combinaison sur bits

Bascule mise 0, mise 1

---( S )

---( S )

Combinaison sur bits

Mettre 1

---( SAVE )

---( SAVE )

Combinaison sur bits

Sauvegarder RLG dans RB

---( SC )

---( SZ )

Compteurs

Initialiser compteur

----(S_CD)

Z_RUECK

Compteurs

Paramtrage et compteur de dcrmentation

S_CU

Z_VORW

Compteurs

Paramtrage et compteur d'incrmentation

S_CUD

ZAEHLER

Compteurs

Paramtrage et compteur
d'incrmentation/dcrmentation

---( SD )

---( SE )

Temporisations

Dmarrer temporisation sous forme de retard la


monte

---( SE )

---( SV )

Temporisations

Dmarrer temporisation sous forme d'impulsion


prolonge

---( SF )

---( SA )

Temporisations

Dmarrer temporisation sous forme de retard la


retombe

SHL_DW

SHL_DW

Dcalage/rotation

Dcalage vers la gauche d'un double mot

SHL_W

SHL_W

Dcalage/rotation

Dcalage vers la gauche d'un mot

SHR_DI

SHR_DI

Dcalage/rotation

Dcalage vers la droite d'un entier de 32 bits

SHR_DW

SHR_DW

Dcalage/rotation

Dcalage vers la droite d'un double mot

SHR_I

SHR_I

Dcalage/rotation

Dcalage vers la droite d'un entier de 16 bits

SHR_W

SHR_W

Dcalage/rotation

Dcalage vers la droite d'un mot

SIN

SIN

Fonction sur nombres


virgule flottante

Sinus

S_ODT

S_EVERZ

Temporisations

Paramtrer et dmarrer temporisation sous forme de


retard la monte

S_ODTS

S_SEVERZ

Temporisations

Paramtrer et dmarrer temporisation sous forme de


retard la monte mmoris (SS)

S_OFFDT

S_AVERZ

Temporisations

Paramtrer et dmarrer temporisation sous forme de


retard la retombe

---( SP )

---( SI )

Temporisations

Dmarrer temporisation sous forme d'impulsion

S_PEXT

S_VIMP

Temporisations

Paramtrer et dmarrer temporisation sous forme


d'impulsion prolonge

S_PULSE

S_IMPULS

Temporisations

Paramtrer et dmarrer temporisation sous forme


d'impulsion

SQR

SQR

Fonction sur nombres


virgule flottante

Carr

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

A-7

Prsentation de toutes les oprations CONT

Abrviations
anglaises

Abrviations
allemandes

Catalogue
des lments
de programme

Description

SQRT

SQRT

Fonction sur nombres


virgule flottante

Racine carre

SR

SR

Combinaison sur bits

Bascule mise 1, mise 0

---( SS )

---( SS )

Temporisation

Dmarrer temporisation sous forme de retard la


monte mmoris

SUB_DI

SUB_DI

Fonction sur nombres


entiers

Soustraire entiers de 32 bits

SUB_I

SUB_I

Fonction sur nombres


entiers

Soustraire entiers de 16 bits

SUB_R

SUB_R

Fonction sur nombres


virgule flottante

Soustraire rels

TAN

TAN

Fonction sur nombres


virgule flottante

Tangente

TRUNC

TRUNC

Conversion

Tronquer la partie entire

UO ---| |---

UO ---| |---

Bits d'tat

Bit danomalie "illicite"

WAND_DW

WAND_DW

Combinaison sur mots

ET double mot

WAND_W

WAND_W

Combinaison sur mots

ET mot

WOR_DW

WOR_DW

Combinaison sur mots

OU double mot

WOR_W

WOR_W

Combinaison sur mots

OU mot

WXOR_DW

WXOR_DW

Combinaison sur mots

OU exclusif double mot

WXOR_W

WXOR_W

Combinaison sur mots

OU exclusif mot

A-8

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

B.1

Exemples de programmation

Vue densemble des exemples de programmation

Applications pratiques
Chacune des oprations CONT dclenche une fonction prcise. En combinant ces
oprations dans un programme, vous pouvez excuter une grande varit de tches
dautomatisation. Vous trouvez dans la suite quelques exemples dapplications pratiques des
oprations CONT :

Commande d'un tapis roulant l'aide d'oprations de combinaison sur bits

Dtection du sens de dplacement d'un tapis roulant l'aide d'oprations de


combinaison sur bits

Gnration d'une priode d'horloge l'aide d'oprations de temporisation

Surveillance de l'espace de stockage l'aide l'aide d'oprations de comptage et de


comparaison

Calculs l'aide d'oprations arithmtiques sur nombres entiers

Rglage de la dure de chauffage d'un four

Oprations utilises
Abrviation
Allemande

Catalogue des lments de


programme

Description

WAND_W
WOR_W
Z_RUECK
Z_VORW
R
S
P
ADD_I
DIV_I
MUL_I
CMP >=I
CMP <=I
| |
| / |
( )
JMPN
RET
MOVE
SV

Combinaison sur mots


Combinaison sur mots
Compteurs
Compteurs
Combinaison sur bits
Combinaison sur bits
Combinaison sur bits
Fonction sur nombres entiers
Fonction sur nombres entiers
Fonction sur nombres entiers
Comparaison
Comparaison
Combinaison sur bits
Combinaison sur bits
Combinaison sur bits
Sauts
Gestion d'excution de programme
Transfert
Temporisations

ET mot
OU mot
Dcrmenter
Incrmenter
Mettre 0
Mettre 1
Dtecter front montant du RLG
Additionner entiers de 16 bits
Diviser entiers de 16 bits
Multiplier entiers de 16 bits
Comparer entiers de 16 bits
Comparer entiers de 16 bits
Contact fermeture
Contact ouverture
Sortie
Saut l'intrieur d'un bloc si 0
Retour
Affecter valeur
Temporisation sous forme dimpulsion
prolonge

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

B-1

Exemples de programmation

B.2

Exemples : Oprations combinatoires sur bits

Exemple 1 : Commande dun tapis roulant


La figure suivante montre un tapis roulant pouvant tre mis en route lectriquement. Deux
boutons-poussoirs, S1 pour MARCHE et S2 pour ARRET, se situent au dbut du tapis et
deux, S3 pour MARCHE et S4 pour ARRET, la fin du tapis. Il est donc possible de
dmarrer et darrter le tapis ses deux extrmits. Dautre part, le capteur S5 arrte le
tapis lorsquun objet atteint la fin du tapis.

Capteur S5

MOTEUR_MAR

S1
S2

O Marche
O Arrt

S3
S4

O Marche
O Arrt

Programmation absolue et symbolique


Vous pouvez crire le programme de commande du tapis roulant en reprsentant les divers
composants du systme convoyeur laide dadresses absolues ou laide de
mnmoniques.
Vous mettez les mnmoniques choisis dans la table des mnmoniques en relation avec les
adresses absolues (voir laide en ligne de STEP 7).

B-2

Composant du systme

Adresse absolue Mnmonique

Table de mnmoniques

Bouton-poussoir Marche

E 1.1

S1

E 1.1

S1

Bouton-poussoir Arrt

E 1.2

S2

E 1.2

S2

Bouton-poussoir Marche

E 1.3

S3

E 1.3

S3

Bouton-poussoir Arrt

E 1.4

S4

E 1.4

S4

Capteur

E 1.5

S5

E 1.5

S5

Moteur

A 4.0

MOTEUR_MAR

A 4.0

MOTEUR_MAR

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Exemples de programmation

Schma contacts pour commander un tapis roulant


Rseau 1: Appuyer sur lun des deux boutons Marche fait dmarrer le moteur.
S1
E 1.1

A 4.0
S

S3
E 1.3

Rseau 2 : Appuyer sur lun des deux boutons Arrt ou ouvrir le contact ouverture la fin
du tapis arrte le moteur.
S2
E 1.2

A 4.0
R

S4
E 1.4

S5
E 1.5

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

B-3

Exemples de programmation

Exemple 2 : Dtection du sens de dplacement d'un tapis roulant


La figure suivante montre un tapis roulant quip de deux barrires photolectriques (BPE1
et BPE2) charges de dtecter le sens dans lequel se dplace un paquet sur le tapis.
Chaque barrire photolectrique fonctionne comme un contact fermeture.
A 4.0

BPE2

BPE1

A 4.1

Programmation absolue et symbolique


Vous pouvez crire le programme de commande du tapis roulant en reprsentant les divers
composants du systme convoyeur laide dadresses absolues ou laide de
mnmoniques.
Vous mettez les mnmoniques choisis dans la table des mnmoniques en relation avec les
adresses absolues (voir laide en ligne de STEP 7).

B-4

Composant du systme

Adresse absolue Mnmonique

Table de mnmoniques

Barrire photolectrique 1

E 1.1

BPE1

E 0.0

BPE 1

Barrire photolectrique 2

E 0.0

BPE2

E 0.1

BPE 2

Affichage pour mouvement


vers la droite

A 4.0

DROITE

A 4.0

DROITE

Affichage pour mouvement


vers la gauche

A 4.1

GAUCHE

A 4.1

GAUCHE

Mmento de cadence 1

M 0.0

MP1

M 0.0 MP1

Mmento de cadence 2

M 0.1

MP2

M 0.1 MP2

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Exemples de programmation

Schma contacts pour dtecter le sens de dplacement dun tapis roulant


Rseau 1 : Si ltat de signal lentre E 0.0 passe de 0 1 (front montant) et si ltat de
signal lentre E 0.1 est simultanment 0, le paquet sur le tapis se dplace vers la
gauche.
BPE1
E 0.0

MP1
M 0.0

BPE2
E 0.1

GAUCHE
A 4.1
S

Rseau 2 : Si ltat de signal lentre E 0.1 passe de 0 1 (front montant) et si ltat de


signal lentre E 0.0 est simultanment 0, le paquet sur le tapis se dplace vers la droite.
Si lune des barrires photolectriques est interrompue, cela signifie quun paquet se trouve
entre les deux barrires.
BPE2
E 0.1

MP2
M 0.1
P

BPE1
E 0.0

DROITE
A 4.0
S

Rseau 3: Si une des barrires photolectriques est interrompue, un paquet se trouve entre
les barrires. Lindicateur de sens se dsactive.
BPE1
E 0.0

BPE2
E 0.1

DROITE
A 4.0
R

GAUCHE
A 4.1
R

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

B-5

Exemples de programmation

B.3

Exemple : Oprations de temporisation

Gnrateur dhorloge
Vous pouvez utiliser, pour produire un signal qui se rpte priodiquement, un gnrateur
dimpulsions dhorloge ou un relais clignotant. On trouve souvent des gnrateurs dhorloge
dans les systmes de signalisation qui commandent le clignotement des lampes de
signalisation.
Dans lautomate S7-300, vous pouvez raliser la gnration dimpulsions dhorloge en
utilisant le traitement command par horloge dans des blocs dorganisation spciaux.
Toutefois, lexemple prsent dans le programme CONT suivant illustre lutilisation de
fonctions de temporisation pour gnrer une priode dhorloge.

Schma contacts pour gnrer une priode dhorloge (rapport dimpulsion 1:1)
Rseau 1 : Si ltat de signal de la temporisation T1 est 0, charger la valeur de temps
250 ms dans T1 et dmarrer T1 sous forme dimpulsion prolonge.
M0.2

T1
SV
S5T#250MS

Rseau 2 : Ltat de la temporisation est provisoirement mmoris dans un mmento


auxiliaire.
T1

M0.2

Rseau 3 : Si ltat de signal de la temporisation T1 est 1, sauter au repre de saut M001.


M0.2

B-6

M001
JMP

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Exemples de programmation

Rseau 4 : Le mot de mmento MW100 est incrment de 1 chaque fois que la


temporisation sest coule.
ADD_I
EN

ENO

MW100

IN1

OUT

IN2

MW100

Rseau 5 : Lopration MOVE vous permet de voir les diffrentes frquences dhorloge aux
sorties A 12.0 A 13.7.

M001
MOVE
MW100

EN

ENO

IN

OUT

AW12

Linterrogation de ltat de signal


Linterrogation du signal de temporisation T1 entrane le rsultat logique suivant pour le
contact ouverture ---I / I--- M0.2 :

1
0
250 ms

La temporisation est redmarre une fois le temps coul. De ce fait, linterrogation de ltat
de signal par lopration ---I / I--- M0.2 ne dlivre ltat de signal 1 que brivement.
La figure montre comment se prsente le bit RLG invers.

1
0
250 ms

Le bit RLG est gal 0 toutes les 250 ms. Le saut est ignor et le contenu du mot de
mmento MW100 est incrment de 1.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

B-7

Exemples de programmation

Obtenir une frquence prcise


Vous pouvez obtenir les frquences suivantes avec les bits de loctet de mmento MB101 et
MB100 :
Bits de MB101/ MB100 Frquence en hertz

Dure

M 101.0
M 101.1
M 101.2
M 101.3
M 101.4
M 101.5
M 101.6
M 101.7
M 100.0
M 100.1
M 100.2
M 100.3
M 100.4
M 100.5
M 100.6
M 100.7

0.5 s
1s
2s
4s
8s
16 s
32 s
64 s
128 s
256 s
512 s
1024 s
2048 s
4096 s
8192 s
16384 s

2.0
1.0
0.5
0.25
0.125
0.0625
0.03125
0.015625
0.0078125
0.0039062
0.0019531
0.0009765
0.0004882
0.0002441
0.000122
0.000061

(250 ms marche / 250 ms arrt)


(0.5 s marche / 0.5 s arrt)
(1 s marche / 1 s arrt)
(2 s marche / 2 s arrt)
(4 s marche / 4 s arrt)
(8 s marche / 8 s arrt)
(16 s marche / 16 s arrt)
(32 s marche / 32 s arrt)
(64 s marche / 64 s arrt)
(128 s marche / 128 s arrt)
(256 s marche / 256 s arrt)
(512 s marche / 512 s arrt)
(1024 s marche / 1024 s arrt)
(2048 s marche / 2048 s arrt)
(4096 s marche / 4096 s arrt)
(8192 s marche / 8192 s arrt)

Etat de signal des bits de loctet de mmento MB101


Cycle

Bit 7

Bit 6

Bit 5

Bit 4

Bit 3

Bit 2

Bit 1

Bit 0

Valeur de
temps (ms)

0
1
2
3
4
5
6
7
8
9
10
11
12

0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
1
1
1
1
1

0
0
0
0
1
1
1
1
0
0
0
0
1

0
0
1
1
0
0
1
1
0
0
1
1
0

0
1
0
1
0
1
0
1
0
1
0
1
0

250
250
250
250
250
250
250
250
250
250
250
250
250

Etat de signal du bit 1 du MB101 (M 101.1)


Frquence = 1/T = 1/1 s = 1 Hz
T
M 101.1

1
0
Temps
0

B-8

250 ms 0.5 s 0.75 s 1 s 1.25 s 1.5 s

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Exemples de programmation

B.4

Exemple : Oprations de comptage et de comparaison

Espace de stockage avec compteur et comparateur


La figure suivante montre un systme avec deux tapis roulants et un espace de stockage
temporaire entre eux. La tapis roulant 1 transporte les paquets dans lespace de stockage.
Une barrire photolectrique lextrmit du tapis roulant 1, prs de lespace de stockage,
dtermine le nombre de paquets qui y sont amens. Le tapis roulant 2 transporte les
paquets de lespace de stockage temporaire une rampe de chargement do ils sont
chargs dans des camions afin dtre livrs aux clients. Une barrire photolectrique
lextrmit du tapis roulant 2 prs de lespace de stockage dtermine le nombre de paquets
transports de lespace de stockage la rampe de chargement. Un tableau daffichage avec
cinq lampes indique le niveau de remplissage de lespace de stockage temporaire.

Tableau daffichage

Espace de
stockage vide

Espace de
stockage non
vide

(A 12.0)

(A 12.1)

E 12.0

Paquets arrivants

Espace de
stockage
plein 50%
(A 15.2)

Espace de
stockage
temporaire
pour 100
paquets

Tapis roulant 1
Barrire photolectrique 1

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Espace de
stockage
plein 90%

Espace de
stockage
plein

(A15.3)

E 12.1

(A15.4)

Paquets sortants

Tapis roulant 2
Barrire photolectrique 2

B-9

Exemples de programmation

Schma contacts pour activer les lampes de signalisation sur un tableau daffichage
Rseau 1 : En prsence dun front montant lentre ZV, la valeur du compteur Z1 est
augmente de 1 ; en prsence dun front descendant lentre ZR, elle est diminue de 1.
En prsence dun front montant lentre S, la valeur du compteur est mise la valeur de
ZW. En prsence dun front montant lentre R, la valeur du compteur est remise zro.
La valeur actuelle du compteur Z1 est mmorise dans le mot de mmento MW200. La
lampe de signalisation A 12.1 indique : Espace de stockage non vide.
Z1
ZAEHLER

E 12.0

ZV

A 12.1

E 12.1
ZR
E 12.2
S
C#10

ZW DUAL

MW210

MW200

E 12.3
DEZ

Rseau 2 : La lampe de signalisation A 12.0 indique : Espace de stockage vide.

A 12.1

A 12.1

Rseau 3 : Si la valeur 50 est infrieure ou gale la valeur du compteur (cest--dire que la


valeur de comptage est suprieure ou gale 50), la lampe de signalisation Espace de
stockage plein 50 % sallume.
CMP
<= I
50

IN1

MW210

IN2

A 15.2

Rseau 4 : Si la valeur du compteur est suprieure ou gale 90, la lampe de signalisation


Espace de stockage plein 90 % sallume.
CMP
>= I

B-10

MW210

IN1

90

IN2

A 15.3

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Exemples de programmation

Rseau 5 : Si la valeur du compteur est suprieure ou gale 100, la lampe de signalisation


Espace de stockage plein sallume. Utilisez la sortie A 4.4 pour bloquer le tapis roulant 1.
A 15.4

CMP
>= I

B.5

MW210

IN1

100

IN2

Exemple : Oprations arithmtiques sur nombres entiers

Calcul dune quation


Lexemple de programme suivant montre comment obtenir en utilisant trois oprations
arithmtiques sur nombres entiers le mme rsultat que montre lquation suivante :
MW4 = ((EW0 + DBW3) x 15) / MW0

Schma contacts
Rseau 1 : Ouvrir bloc de donnes DB1.

DB1
OPN

Rseau 2 : Le mot dentre EW0 est additionn au mot de donnes global DBW3 (le bloc de
donnes doit avoir t dfini et ouvert) et la somme est charge dans le mot de mmento
MW100. MW100 est ensuite multipli par 15 et le rsultat mmoris dans le mot de
mmento MW102. Puis, MW102 est divis par MW0 et le rsultat mmoris dans MW4.

MUL_I

ADD_I
EN
EW0

IN1

DBW3

IN2

ENO

OUT

EN
MW100

IN1

15

IN2

MW100

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

DIV_I

ENO

OUT

EN
MW102

IN1

MW0

IN2

MW102

ENO

OUT

MW4

B-11

Exemples de programmation

B.6

Exemple : Oprations combinatoires sur mots

Chauffage dun Four


Loprateur du four dclenche le chauffage du four en appuyant sur le bouton-poussoir
Marche. Il peut rgler la dure du chauffage laide des molettes reprsentes dans la
figure La valeur indique donne les secondes en format dcimal cod binaire (DCB).

Molettes de rglage des chiffres DCB

Four

4
Chaleur
A 4.0

7....

...0

XXXX

7...

0001

1001

EB0

...0
0001
EB1

Bits
EW0
Octets

Bouton-poussoir Marche E 0.7

B-12

Composants du systme

Adresse absolue

Bouton-poussoir Marche

E 0.7

Molette de rglage des units

E 1.0 E 1.3

Molette de rglage des dizaines

E 1.4 E 1.7

Molette de rglage des centaines

E 0.0 E 0.3

Dclenchement du chauffage

A 4.0

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Exemples de programmation

Schma contacts
Rseau 1 : Si la temporisation sexcute, dclencher le chauffage.

T1

A 4.0

Rseau 2 : Si la temporisation sexcute, lopration Retour met fin au processus ici.

T1
RET

Rseau 3: Masquer les bits dentre E 0.4 E 0.7 (cest--dire les mettre 0). Ces bits
dentre des molettes ne sont pas utiliss. Les 16 bits des entres correspondant aux
molettes sont combins W#16#0FFF avec lopration ET mot. Le rsultat est charg dans
le mot de mmento MW1. Afin de rgler la valeur de temps en secondes, la valeur prdfinie
est combine W#16#2000 avec lopration OU mot. Le bit 13 est mis 1 et le bit 12 est
mis 0.

WAND_W
EN

ENO

EW0

IN1

OUT

W#16#FFF

IN2

WOR_W
EN

ENO

MW1

IN1

OUT

W#16#2000

IN2

MW1

MW2

Rseau 4 : Dmarrer la temporisation T1 sous forme dimpulsion prolonge si le boutonpoussoir Marche est enfonc, en chargeant le mot de mmento MW2 (rsultant de la
combinaison prcdente) comme prslection.

E 0.7

T1
SV
MW2

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

B-13

Exemples de programmation

B-14

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

C.1

Pour travailler en CONT

Mcanisme EN/ENO
L'entre de validation (EN) et la sortie de validation (ENO) des reprsentations LOG/CONT
sont ralises l'aide du bit RB.
Lorsque EN et ENO sont combines, on a :

ENO = EN AND NOT (erreur de la reprsentation)


En cas d'absence d'erreur (erreur de la reprsentation = 0), on a ENO = EN.
Le mcanisme EN/ENO s'utilise pour :

les oprations arithmtiques,

les oprations de transfert et de conversion,

les oprations de dcalage et de rotation,

les appels de blocs.

Ce mcanisme ne s'utilise pas pour :

les comparaisons,

les compteurs,

les temporisations.

Pour les instructions effectives de la reprsentation, des instructions LIST supplmentaires


sont gnres pour le mcanisme EN/ENO selon la prsence de combinaisons prcdentes
ou suivantes. Les quatre cas possibles sont illustrs par un exemple d'addition.
1. Addition avec combinaison de EN et avec combinaison de ENO
2. Addition avec combinaison de EN et sans combinaison de ENO
3. Addition sans combinaison de EN et avec combinaison de ENO
4. Addition sans combinaison de EN et sans combinaison de ENO

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

C-1

Pour travailler en CONT

Remarques pour la cration de vos propres blocs


Lorsque vous souhaitez crire des blocs que vous voulez appeler dans LOG/CONT, vous
devez vous assurer que le bit RB soit mis 1 lorsque vous quittez le bloc. Le quatrime
exemple montre que cela n'est pas automatiquement le cas. Vous ne pouvez pas utiliser le
RB comme mmento, car il est continuellement cras par le mcanisme EN/ENO. Utilisez
la place une variable temporaire dans laquelle vous enregistrez les erreurs survenues.
Initialisez cette variable 0. A chaque endroit du bloc pour lequel vous pensez qu'une
opration errone est susceptible d'entraner une erreur pour l'ensemble du bloc, vous
mettez cette variable 1 en vous servant du mcanisme EN/ENO. Il suffit d'utiliser un NOT
et une bobine de mise 1. A la fin du bloc, vous programmez un rseau :
fin:

UN erreur

SAVE

Assurez-vous que ce rseau sera parcouru dans tous les cas, ce qui signifie que vous ne
devez ni utiliser de BEB dans le bloc, ni sauter ce rseau.

C.1.1

Addition avec combinaison EN et avec combinaison ENO


Si l'addition comporte aussi bien une combinaison EN qu'une combinaison ENO, les
instructions LIST suivantes sont inities :
1

SPBNB _001

// Dcaler le RLG dans le RB et sauter si RLG == 0

in1

// Paramtres de la reprsentation

in2

// Paramtres de la reprsentation

+I

out

// Paramtres de la reprsentation

UN

OV

// Dtection d'erreur

SAVE

9
10
11

0.0

// Addition effective

// Enregistrer l'erreur dans le RB

CLR
_001:

// Premire interrogation

U
=

// Combinaison EN

RB
A

// Dcaler le RB dans le RLG


4.0

Aprs la premire ligne, le RLG contient le rsultat de la combinaison prcdente.


L'instruction SPBNB copie le RLG dans le RB et met le bit de premire interrogation 1.

C-2

Si le RLG est gal 0, le programme saute la ligne 10 et poursuit avec U RB.


L'addition n'est pas effectue. Dans la ligne 10, le RB est nouveau copi dans le RLG
et ainsi 0 est affect la sortie.

Si le RLG est gal 1, le programme ne saute pas plus loin, ce qui signifie que l'addition
est effectue. La ligne 7 permet de dterminer si une erreur s'est produite lors de
l'addition, ce qui est enregistr dans le RB la ligne 8. La ligne 9 met le bit de premire
interrogation 1. A la ligne 10, le bit RB est nouveau copi dans le RLG et ainsi la
sortie prcise si l'addition a t correctement effectue.
Le bit RB n'est plus modifi dans les lignes 10 et 11 et indique donc galement si
l'addition s'est correctement droule.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Pour travailler en CONT

C.1.2

Addition avec combinaison EN et sans combinaison ENO


Si laddition comporte une combinaison EN mais pas de combinaison ENO, les instructions
LIST suivantes sont inities :
1

SPBNB _001

0.0

// Combinaison EN
// Dcaler le RLG dans le RB
et sauter si RLG == 0

in1

// Paramtres de la reprsentation

in2

// Paramtres de la reprsentation

+I

_001:

// Addition effective
out
NOP

// Paramtres de la reprsentation
0

Aprs la ligne 1, le RLG contient le rsultat de la combinaison prcdente. L'instruction


SPBNB copie le RLG dans le RB et met le bit de premire interrogation 1.

Si le RLG est gal 0, le programme saute la ligne 7, l'addition n'est pas ralise, le
RLG et le RB valent 0.

Si le RLG est gal 1, le programme ne saute pas plus loin, ce qui signifie que l'addition
est effectue. L'ventuelle apparition d'une erreur lors de l'addition n'est pas dtecte.
Le RLG et le RB valent 1.

C.1.3

Addition sans combinaison EN et avec combinaison ENO


Si l'addition ne comporte pas de combinaison EN mais une combinaison ENO, les
instructions LIST suivantes sont inities :
1

in1

// Paramtres de la reprsentation

in2

// Paramtres de la reprsentation

+I

out

// Paramtres de la reprsentation

UN

OV

// Dtection d'erreur

SAVE

// Enregistrer l'erreur dans le RB

CLR

// Premire interrogation

RB

// Addition effective

// Dcaler le RB dans le RLG


4.0

L'addition est ralise dans tous les cas. La ligne 5 dtermine si une erreur s'est produite
lors de l'addition, ce qui est enregistr dans le RB la ligne 6. La ligne 7 met le bit de
premire interrogation 1. A la ligne 8, le bit RB est nouveau copi dans le RLG et ainsi
la sortie indique si l'addition s'est correctement droule.
Le bit RB n'est plus modifi dans les lignes 8 et 9 et indique donc galement si l'addition
s'est correctement droule.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

C-3

Pour travailler en CONT

C.1.4

Addition sans combinaison EN et sans combinaison ENO


Si laddition ne comporte ni combianison EN, ni combinaison ENO, les instructions LIST
suivantes sont inities :
1

in1

// Paramtres de la reprsentation

in2

// Paramtres de la reprsentation

+I

NOP 0

// Addition effective
out

// Paramtres de la reprsentation

L'addition est effectue. Le RLG et le bit RB restent inchangs.

C.2

Transmission de paramtres
Les paramtres d'un bloc sont transmis sous forme de valeur. Pour les blocs fonctionnels,
une copie de la valeur du paramtre effectif est utilise dans le DB d'instance au sein du
bloc appel. Pour les fonctions, une copie de la valeur effective se trouve dans la pile des
donnes locales. Les pointeurs ne sont pas copis. Avant l'appel, les valeurs INPUT sont
copies dans le DB d'instance ou la pile L. Aprs l'appel, les valeurs OUTPUT sont
recopies dans les variables. Seules des copies sont utilises au sein du bloc appel. Les
instructions LIST requises se trouvent dans le bloc appelant et restent transparentes
l'utilisateur.

Nota
Si des mmentos, entres, sorties, priphries d'entre ou de sortie sont utiliss en tant
qu'oprandes effectifs dans une fonction, ils sont traits de manire diffrente que les autres
oprandes. Leur actualisation n'est effectue au moyen de la pile L, mais de manire
directe.

Exception :
Si le paramtre formel correspondant est un paramtre d'entre de type de donnes BOOL,
l'actualisation des paramtres effectifs est effectue via la pile L.

Important

Lors de la programmation du bloc appel, veillez complter les paramtres dclars


comme OUTPUT, sans quoi les valeurs fournies seront alatoires ! Pour les blocs
fonctionnels, on obtiendrait la valeur du DB d'instance inscrite lors du dernier appel, pour les
fonctions, la valeur alatoire se trouvant dans la pile L.
Tenez compte des points suivants :

C-4

Si possible, initialisez tous les paramtres OUTPUT.

Evitez l'utilisation d'instructions de mise 1 et de remise 0, car elles dpendent du RLG.


Lorsque le RLG prend la valeur 0, c'est la valeur alatoire qui est conserve !

Lorsque vous effectuez un saut au sein du bloc, faites attention de ne pas sauter une ligne dans
laquelle sont dcrits des paramtres OUTPUT. Tenez galement compte de BEB et de l'effet des
instructions MCR.

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Index
(
---( ) ................................................................... 1-6
---( # )--- ............................................................... 1-8
---( CD ) ............................................................. 4-11
---( CU ) ............................................................. 4-10
---( N )--- ............................................................ 1-16
---( P )---............................................................. 1-17
---( R ) .................................................................. 1-9
---( S ) ................................................................ 1-11
---( SA )............................................................ 13-23
---( SC )................................................................ 4-9
---( SD )............................................................ 13-19
---( SE )................................................. 13-17, 13-19
---( SF ) ............................................................ 13-23
---( SI ) ............................................................. 13-15
---( SP )............................................................ 13-15
---( SS )............................................................ 13-21
---( SV )............................................................ 13-17
---( SZ ) ................................................................ 4-9
---( ZR ).............................................................. 4-11
---( ZV ) .............................................................. 4-10
---(Call) .............................................................. 10-2
---(JMP)---..................................................... 6-2, 6-3
---(JMPN)............................................................. 6-4
---(MCR<) ........................................................ 10-14
---(MCR>) ............................................. 10-16, 10-17
---(MCRA) ........................................................ 10-18
---(MCRD)........................................................ 10-19
---(OPN)............................................................... 5-1
---(RET) ........................................................... 10-20
---(SAVE) ........................................................... 1-18

|
---| |--- ............................................................... 1-2
---| / |--- ................................................................ 1-3
--|NOT|-- .............................................................. 1-5

<
<=0 ---| |--- .................................................... 12-10
<=0 ---| / |--- ..................................................... 12-10
<>0 ---| |--- ...................................................... 12-8
<>0 ---| / |--- ....................................................... 12-8
<0 ---| |--- ..................................................... 12-12
<0 ---| / |--- ....................................................... 12-12

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

=
==0 ---| |--- ....................................................... 12-7
==0 ---| / |--- ....................................................... 12-7

>
>=0 ---| |--- ...................................................... 12-9
>=0 ---| / |--- ...................................................... 12-9
>0 ---| |--- ..................................................... 12-11
>0 ---| / |--- ....................................................... 12-11

A
Abrviations allemandes (SIMATIC)....................A-1
Abrviations anglaises (internationales) ..............A-5
ABS ..................................................................... 8-7
ACOS ................................................................ 8-16
Activer relais de masquage ............................. 10-18
ADD_DI ............................................................... 7-7
ADD_I.................................................................. 7-3
ADD_R ................................................................ 8-3
Addition avec combinaison EN
et avec combinaison ENO ...............................C-2
Addition avec combinaison EN
et sans combinaison ENO ...............................C-3
Addition sans combinaison EN
et avec combinaison ENO ...............................C-3
Addition sans combinaison EN
et sans combinaison ENO ...............................C-4
Additionner entiers de 16 bits .............................. 7-3
Additionner entiers de 32 bits .............................. 7-7
Additionner rels ................................................. 8-3
Adresse dune temporisation en mmoire
et composants dune temporisation .............. 13-2
Affecter valeur ..................................................... 9-1
Appeler FB (bote) ............................................. 10-4
Appeler FC (bote)............................................. 10-6
Appeler FC/SFC sans paramtre ...................... 10-2
Appeler multi-instance ..................................... 10-12
Appeler SFB (bote)........................................... 10-8
Appeler SFC (bote) ........................................ 10-10
Appeler un bloc dans une bibliothque ........... 10-12
Applications pratiques ................. B-1, B-2, B-6, B-9,
............................................................ B-11, B-12
Arc cosinus........................................................ 8-16
Arc sinus............................................................ 8-15
Arc tangente ...................................................... 8-17
Arrondir.............................................................. 3-13
ASIN .................................................................. 8-15
ATAN................................................................. 8-17

Index-1

Index

B
Bascule mise 0 - mise 1............................... 1-12
Bascule mise 1 - mise 0............................... 1-14
BCD_DI ............................................................... 3-5
BCD_I .................................................................. 3-2
BIE ---| |---....................................................... 12-6
BIE ---| / |---........................................................ 12-6
Bit d'anomalie .................................................... 12-1
Bit d'anomalie "dbordement mmoris"........... 12-3
forme inverse................................................. 12-3
Bit d'anomalie "dbordement" ........................... 12-2
forme inverse................................................. 12-2
Bit d'anomalie "illicite"........................................ 12-5
forme inverse................................................. 12-5
Bit d'anomalie "registre RB"............................... 12-6
forme inverse................................................. 12-6
Bit de rsultat..................................................... 12-1
Bit de rsultat pour diffrent de 0....................... 12-8
forme inverse................................................. 12-8
Bit de rsultat pour gal 0............................... 12-7
forme inverse................................................. 12-7
Bit de rsultat pour infrieur 0....................... 12-12
forme inverse............................................... 12-12
Bit de rsultat pour infrieur ou gal 0.......... 12-10
forme inverse............................................... 12-10
Bit de rsultat pour suprieur 0..................... 12-11
forme inverse............................................... 12-11
Bit de rsultat pour suprieur ou gal 0.......... 12-9
forme inverse................................................. 12-9
Bobine de sortie................................................... 1-6

C
CALL_FB ........................................................... 10-4
CALL_FC........................................................... 10-6
CALL_SFB......................................................... 10-8
CALL_SFC ...................................................... 10-10
Carr ................................................................... 8-8
CEIL .................................................................. 3-15
CMP ? D .............................................................. 2-3
CMP ? I................................................................ 2-2
CMP ? R .............................................................. 2-4
Combinaison OU exclusif .................................... 1-4
Comparer entiers de 16 bits ................................ 2-2
Comparer entiers de 32 bits ................................ 2-3
Comparer rels.................................................... 2-4
Complment 1 d'entier de 16 bits ..................... 3-8
Complment 1 dentier de 32 bits...................... 3-9
Complment 2 dentier de 16 bits.................... 3-10
Complment 2 dentier de 32 bits.................... 3-11
Compteur de dcrmentation .............................. 4-7
Compteur d'incrmentation.................................. 4-5
Compteur d'incrmentation/dcrmentation ........ 4-3
Connecteur .......................................................... 1-8
Contact fermeture............................................. 1-2
Contact ouverture ............................................. 1-3
Convertir entier de 16 bits en entier de 32 bits .... 3-4
Convertir entier de 16 bits en nombre DCB ......... 3-3
Convertir entier de 32 bits en nombre DCB ......... 3-6
Convertir entier de 32 bits en rel........................ 3-7
Convertir nombre DCB en entier de 16 bits ......... 3-2
Convertir nombre DCB en entier de 32 bits ......... 3-5
Convertir rel en entier infrieur le plus proche . 3-16
Convertir rel en entier suprieur le plus proche3-15

Index-2

COS................................................................... 8-13
Cosinus ............................................................. 8-13

D
Dcalage vers la droite d'un double mot ........... 11-9
Dcalage vers la droite d'un entier de 16 bits.... 11-2
Dcalage vers la droite d'un entier de 32 bits.... 11-3
Dcalage vers la droite d'un mot ....................... 11-6
Dcalage vers la gauche d'un double mot......... 11-7
Dcalage vers la gauche d'un mot .................... 11-5
Dcrmenter...................................................... 4-11
Dmarrer temporisation sous forme
de retard la monte ......................... 13-9, 13-19
Dmarrer temporisation sous forme
de retard la monte mmoris....... 13-11, 13-21
Dmarrer temporisation sous forme
de retard la retombe .................... 13-13, 13-23
Dmarrer temporisation sous
forme d'impulsion ............................... 13-5, 13-15
Dmarrer temporisation sous
forme d'impulsion prolonge............... 13-7, 13-17
Dsactiver relais de masquage ....................... 10-19
Dtecter front descendant ................................. 1-16
Dtecter front descendant de signal.................. 1-19
Dtecter front montant....................................... 1-17
Dtecter front montant de signal ....................... 1-20
DI_BCD ............................................................... 3-6
DI_R .................................................................... 3-7
DIV_DI............................................................... 7-10
DIV_I ................................................................... 7-6
DIV_R.................................................................. 8-6
Diviser entiers de 16 bits ..................................... 7-6
Diviser entiers de 32 bits ................................... 7-10
Diviser rels......................................................... 8-6

E
Ecriture directe en priphrie ............................ 1-23
ET double mot ................................................... 14-5
ET mot............................................................... 14-2
Evaluation des bits du mot d'tat (oprations
sur nombres virgule flottante) ....................... 8-2
Evaluation des bits du mot d'tat dans les
oprations sur nombres entiers ....................... 7-2
Exemple
Oprations arithmtiques
sur nombres entiers...................................B-11
Oprations combinatoires sur mots ...............B-12
Oprations de comptage et de comparaison...B-9
Exemples
Oprations combinatoires sur bits ...................B-2
Exemples de programmation...............................B-1
EXP ................................................................... 8-10

F
FLOOR .............................................................. 3-16

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

Index

I
I_BCD .................................................................. 3-3
I_DI...................................................................... 3-4
Incrmenter ....................................................... 4-10
Initialiser compteur .............................................. 4-9
INV_D .................................................................. 3-9
INV_I ................................................................... 3-8
Inverser le signe d'un nombre rel .................... 3-12
Inverser RLG ....................................................... 1-5

L
LABEL Repre de saut...................................... 6-5
Lecture directe en priphrie ............................. 1-21
LN...................................................................... 8-11
Logarithme naturel............................................. 8-11

M
Mcanisme EN/ENO ...................................C-1, C-2
Mettre 0 ............................................................ 1-9
Mettre 1 .......................................................... 1-11
MOD_DI............................................................. 7-11
MOVE .................................................................. 9-2
MUL_DI ............................................................... 7-9
MUL_I .................................................................. 7-5
MUL_R ................................................................ 8-5
Multiplier entiers de 16 bits .................................. 7-5
Multiplier entiers de 32 bits .................................. 7-9
Multiplier rels ..................................................... 8-5

N
NEG................................................................... 1-19
NEG_DI ............................................................. 3-11
NEG_I................................................................ 3-10
NEG_R .............................................................. 3-12

O
Opration de conversion ..................................... 3-1
Opration de rotation....................................... 11-11
Oprations arithmtiques
sur nombres flottantes ..................................... 8-1
Oprations combinatoire sur mots..................... 14-1
Oprations combinatoires sur bits ....................... 1-1
Oprations CONT classes daprs
les abrviations allemandes (SIMATIC)...........A-1
Oprations CONT classes daprs
les abrviations anglaises (internationales) .....A-5
Oprations de comparaison................................. 2-1
Oprations de comptage ..................................... 4-1
Oprations de dcalage .................................... 11-1
Oprations de gestion dexcution
de programme ............................................... 10-1
Oprations de nombre entiers ............................. 7-1
Oprations de saut ....................................... 6-1, 6-5
Oprations de temporisation.............................. 13-1
OS ---| |--- ....................................................... 12-3
OS ---| / |--- ........................................................ 12-3
OU double mot .................................................. 14-6
OU exclusif double mot ..................................... 14-7
OU exclusif mot ................................................. 14-4

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

OU mot .............................................................. 14-3


Ouvrir bloc de donnes ....................................... 5-1
OV ---| |--- ....................................................... 12-2
OV ---| / |--- ........................................................ 12-2

P
POS................................................................... 1-20

R
Racine carre ...................................................... 8-9
Relais de masquage en fonction ..................... 10-14
Relais de masquage hors fonction .................. 10-16
Remarques importantes sur l'utilisation
de la fonctionnalit MCR ............................. 10-13
Repre de saut.................................................... 6-5
Reste de division (32 bits) ................................. 7-11
Retour.............................................................. 10-20
ROL_DW .............................................. 11-11, 11-12
ROR_DW ........................................................ 11-13
Rotation vers la droite d'un double mot ........... 11-12
Rotation vers la gauche d'un double mot ........ 11-11
ROUND ............................................................. 3-13
RS ..................................................................... 1-13

S
S_AVERZ ........................................................ 13-13
S_CD................................................................... 4-7
S_CU................................................................... 4-5
S_CUD ................................................................ 4-3
S_EVERZ .......................................................... 13-9
S_IMPULS......................................................... 13-5
S_ODT .............................................................. 13-9
S_ODTS .......................................................... 13-11
S_OFFDT ........................................................ 13-13
S_PEXT............................................................. 13-7
S_PULSE .......................................................... 13-5
S_SEVERZ...................................................... 13-11
S_VIMP ............................................................. 13-7
Saut l'intrieur d'un bloc si 0............................. 6-4
Saut l'intrieur d'un bloc si 1 (conditionnel) ...... 6-3
Saut inconditionnel .............................................. 6-2
Sauvegarder RLG dans RB............................... 1-18
SHL_DW ........................................................... 11-8
SHL_W ..................................................... 11-5, 11-6
SHR_DI ............................................................. 11-4
SHR_DW ................................................ 11-9, 11-10
SHR_I....................................................... 11-2, 11-3
SHR_W ............................................................. 11-7
SIN .................................................................... 8-12
Sinus ................................................................. 8-12
Soustraire entiers de 16 bits................................ 7-4
Soustraire entiers de 32 bits................................ 7-8
Soustraire rels ................................................... 8-4
SQR..................................................................... 8-8
SQRT .................................................................. 8-9
SR ..................................................................... 1-14
SUB_DI ............................................................... 7-8
SUB_I .................................................................. 7-4
SUB_R ................................................................ 8-4

Index-3

Index

T
TAN ................................................................... 8-14
Tangente ........................................................... 8-14
Transmission de paramtres ...............................C-4
Tronquer la partie entire ............................... 3-14
TRUNC .............................................................. 3-14

U
UO ---| |--- ....................................................... 12-5
UO ---| / |--- ........................................................ 12-5

V
Valeur absolue d'un nombre virgule flottante.... 8-7
Valeur exponentielle .......................................... 8-10
Vue d'ensemble.............. 1-1, 2-1, 3-1, 4-1, 6-1, 7-1,
........8-1, 10-1, 11-1, 11-11, 12-1, 13-1, 14-1, B-1

Index-4

W
WAND_DW ....................................................... 14-5
WAND_W .......................................................... 14-2
WOR_DW ......................................................... 14-6
WOR_W ............................................................ 14-3
WXOR_DW ....................................................... 14-7
WXOR_W.......................................................... 14-4

X
XOR..................................................................... 1-4

Z
Z_RUECK............................................................ 4-7
Z_VORW ............................................................. 4-5
ZAEHLER............................................................ 4-3

Langage CONT pour SIMATIC S7-300/400


A5E00261417-01

You might also like