Anda di halaman 1dari 248

Avant-propos,

Sommaire

SIMATIC
Langage LIST 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 chargement
et de transfert

Oprations de gestion
d'excution de programme

10

Oprations de dcalage
et de rotation

11

Oprations de temporisation

12

Oprations combinatoires
sur mots

13

Oprations sur les


accumulateurs

14

Manuel de rfrence

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

Prsentation de toutes
les oprations LOG

Exemples de programmation

Transmission de paramtres

Index

Edition 01/2004
A5E00261419-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

A5E00261419-01

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

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
LIST correspond au langage Liste dinstructions 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 LIST pour SIMATIC S7-300/400


A5E00261419-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 LIST. 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 LIST pour SIMATIC S7-300/400


A5E00261419-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 LIST". 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 :

+49 (911) 895-3200.

Internet:

http://www.sitrain.com

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

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 LIST pour SIMATIC S7-300/400


A5E00261419-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 LIST pour SIMATIC S7-300/400


A5E00261419-01

vii

Avant-propos

viii

Langage LIST pour SIMATIC S7-300/400


A5E00261419-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
1.19
1.20
1.21
1.22
1.23
1.24

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


2.1
2.2
2.3
2.4

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


U ET ..................................................................................................................... 1-3
UN ET NON........................................................................................................... 1-4
O OU ..................................................................................................................... 1-5
ON OU NON.......................................................................................................... 1-6
X OU exclusif......................................................................................................... 1-7
XN OU NON exclusif ............................................................................................. 1-8
O ET avant OU ...................................................................................................... 1-9
U( ET d'une expression ....................................................................................... 1-10
UN( ET NON d'une expression ........................................................................... 1-11
O( OU d'une expression ...................................................................................... 1-12
ON( OU NON d'une expression .......................................................................... 1-12
X( OU exclusif d'une expression ......................................................................... 1-13
XN( OU NON exclusif d'une expression.............................................................. 1-13
) Fermer la parenthse d'une expression............................................................ 1-14
= Affectation ........................................................................................................ 1-15
R Mettre 0......................................................................................................... 1-16
S Mettre 1 ......................................................................................................... 1-17
NOT Ngation du RLG ........................................................................................ 1-18
SET Mettre RLG 1............................................................................................ 1-18
CLR Mettre RLG 0............................................................................................ 1-19
SAVE Sauvegarder RLG dans le bit RB ............................................................. 1-20
FN Front descendant........................................................................................... 1-21
FP Front montant ................................................................................................ 1-23

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


? I Comparer entiers de 16 bits ............................................................................. 2-2
? D Comparer entiers de 32 bits ........................................................................... 2-3
? R Comparer rels de 32 bits .............................................................................. 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

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


BTI Convertir DCB en entier de 16 bits................................................................. 3-2
ITB Convertir entier de 16 bits en DCB................................................................. 3-3
BTD Convertir DCB en entier de 32 bits ............................................................... 3-4
ITD Convertir entier de 16 bits en entier de 32 bits............................................... 3-5
DTB Convertir entier de 32 bits en DCB ............................................................... 3-6
DTR Convertir entier de 32 bits en rel (VF IEEE 32 bits).................................... 3-7
INVI Complment 1 d'entier de 16 bits............................................................... 3-8
INVD Complment 1 d'entier de 32 bits ............................................................. 3-9

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

ix

Sommaire

3.10
3.11
3.12
3.13
3.14
3.15
3.16
3.17
3.18
4

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


4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8

Vue densemble des oprations sur blocs de donnes............................................ 5-1


AUF Ouvrir bloc de donnes .................................................................................. 5-2
TDB Permuter DB global et DB d'instance............................................................ 5-3
L DBLG Charger longueur de DB global dans l'accumulateur 1........................... 5-3
L DBNO Charger numro de DB global dans l'accumulateur 1 ............................. 5-4
L DILG Charger longueur de DB d'instance dans l'accumulateur 1...................... 5-4
L DINO Charger numro de DB d'instance dans l'accumulateur 1....................... 5-5

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


6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
6.10
6.11
6.12
6.13
6.14
6.15
6.16
6.17
6.18
6.19

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


FR Valider compteur ............................................................................................. 4-2
L Charger valeur de comptage en cours comme entier dans l'accumulateur 1.... 4-3
LC Charger valeur de comptage en cours comme nombre DCB
dans l'accumulateur 1............................................................................................... 4-4
R Remettre compteur zro ................................................................................. 4-5
S Initialiser compteur............................................................................................. 4-6
ZV Incrmenter...................................................................................................... 4-7
ZR Dcrmenter .................................................................................................... 4-8

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


5.1
5.2
5.3
5.4
5.5
5.6
5.7

NEGI Complment 2 d'entier de 16 bits........................................................... 3-10


NEGD Complment 2 d'entier de 32 bits ......................................................... 3-11
NEGR Inverser nombre virgule flottante (VF IEEE 32 bits) ............................. 3-12
TAW Modifier l'ordre dans l'accumulateur 1-L (16 bits) ...................................... 3-13
TAD Modifier l'ordre dans l'accumulateur 1 (32 bits) .......................................... 3-14
RND Arrondir l'entier ........................................................................................ 3-15
TRUNC Arrondir par troncature........................................................................... 3-16
RND+ Arrondir l'entier suprieur ...................................................................... 3-17
RND- Arrondir l'entier infrieur ......................................................................... 3-18

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


SPA Saut inconditionnel........................................................................................ 6-3
SPL Saut vers liste ................................................................................................ 6-4
SPB Saut si RLG est 1 .......................................................................................... 6-5
SPBN Saut si RLG est 0 ....................................................................................... 6-6
SPBB Saut si RLG est 1 avec RB ......................................................................... 6-7
SPBNB Saut si RLG est 0 avec RB ...................................................................... 6-8
SPBI Saut si RB est 1 ........................................................................................... 6-9
SPBIN Saut si RB est 0....................................................................................... 6-10
SPO Saut si DEB est 1........................................................................................ 6-11
SPS Saut si DM est 1.......................................................................................... 6-12
SPZ Saut si gal 0............................................................................................ 6-13
SPN Saut si diffrent de 0 ................................................................................... 6-14
SPP Saut si plus.................................................................................................. 6-15
SPM Saut si moins .............................................................................................. 6-16
SPPZ Saut si suprieur ou gal 0 .................................................................... 6-17
SPMZ Saut si infrieur ou gal 0 ..................................................................... 6-18
SPU Saut si illicite ............................................................................................... 6-19
LOOP Boucle de programme.............................................................................. 6-20

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Sommaire

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


7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.8
7.9
7.10
7.11
7.12

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


8.1
8.2
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
+I Additionner accumulateurs 1 et 2 (entiers de 16 bits)....................................... 7-3
-I Soustraire accumulateur 1 de accumulateur 2 (entiers de 16 bits) .................. 7-4
*I Multiplier accumulateur 1 par accumulateur 2 (entiers de 16 bits) ................... 7-5
/I Diviser accumulateur 2 par accumulateur 1 (entiers de 16 bits)....................... 7-6
+ Additionner constante entire (16, 32 bits) ........................................................ 7-7
+D Additionner accumulateurs 1 et 2 (entiers de 32 bits) ..................................... 7-9
-D Soustraire accumulateur 1 de accumulateur 2 (entiers de 32 bits)............... 7-10
*D Multiplier accumulateur 1 par accumulateur 2 (entiers de 32 bits) ............... 7-11
/D Diviser accumulateur 2 par accumulateur 1 (entiers de 32 bits) ................... 7-12
MOD Reste de division entire (32 bits) ............................................................. 7-13

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
+R Additionner accumulateurs 1 et 2 (rels VF IEEE, 32 bits) ............................. 8-3
-R Soustraire accumulateur 1 d'accumulateur 2 (rels VF IEEE, 32 bits) ........... 8-4
*R Multiplier accumulateur 1 par accumulateur 2 (rels VF IEEE, 32 bits) ......... 8-5
/R Diviser accumulateur 2 par accumulateur 1 (rels VF IEEE, 32 bits) .............. 8-6
ABS Valeur absolue d'un nombre virgule flottante (VF IEEE, 32 bits).............. 8-7
Oprations tendues ................................................................................................ 8-8
SQR Carr d'un nombre virgule flottante (32 bits) ............................................. 8-8
SQRT Racine carre d'un nombre virgule flottante (32 bits) ............................. 8-9
EXP Valeur exponentielle d'un nombre virgule flottante (32 bits).................... 8-10
LN Logarithme naturel d'un nombre virgule flottante (32 bits) ......................... 8-11
SIN Sinus d'un angle comme nombres virgule flottante (32 bits) .................... 8-12
COS Cosinus d'un angle comme nombres virgule flottante (32 bits) .............. 8-13
TAN Tangente d'un angle comme nombres virgule flottante (32 bits)............. 8-14
ASIN Arc sinus d'un nombre virgule flottante (32 bits)..................................... 8-15
ACOS Arc cosinus d'un nombre virgule flottante (32 bits) ............................... 8-16
ATAN Arc tangente d'un nombre virgule flottante (32 bits).............................. 8-17

Oprations de chargement et de transfert .......................................................................... 9-1


9.1
9.2
9.3
9.4
9.5
9.6
9.7
9.8
9.9
9.10
9.11
9.12
9.13
9.14
9.15
9.16

Vue densemble des oprations de chargement et de transfert .............................. 9-1


L Charger............................................................................................................... 9-2
L STW Charger mot d'tat dans l'accumulateur 1................................................. 9-3
LAR1 Charger contenu de l'accumulateur 1 dans registre d'adresse 1................ 9-4
LAR1 <D> Charger pointeur de 32 bits dans registre d'adresse 1 ....................... 9-5
LAR1 AR2 Charger contenu du registre d'adresse 2 dans registre d'adresse 1 .. 9-6
LAR2 Charger contenu de l'accumulateur 1 dans registre d'adresse 2................ 9-6
LAR2 <D> Charger pointeur de 32 bits dans registre d'adresse 2 ....................... 9-7
T Transfrer........................................................................................................... 9-8
T STW Transfrer accumulateur 1 dans mot d'tat .............................................. 9-9
TAR Permuter registre d'adresse 1 avec registre d'adresse 2 ........................... 9-10
TAR1 Transfrer registre d'adresse 1 dans l'accumulateur 1............................. 9-10
TAR1 <D> Transfrer registre d'adresse 1 l'adresse de destination (32 bits) . 9-10
TAR1 AR2 Transfrer registre d'adresse 1 dans registre d'adresse 2 ............... 9-12
TAR2 Transfrer registre d'adresse 2 dans l'accumulateur 1 ............................. 9-12
TAR2 <D> Transfrer registre d'adresse 2 l'adresse de destination (32 bits) . 9-13

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

xi

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
10.15
10.16
10.17
10.18
10.19

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
11.2.4
11.2.5

12

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


Vue d'ensemble des oprations de dcalage ........................................................ 11-1
SSI Dcalage vers la droite d'un entier avec signe (16 bits)............................... 11-2
SSD Dcalage vers la droite d'un entier avec signe (32 bits) ............................. 11-3
SLW Dcalage vers la gauche d'un mot (16 bits) ............................................... 11-5
SRW Dcalage vers la droite d'un mot (16 bits) ................................................. 11-6
SLD Dcalage vers la gauche d'un double mot (32 bits) .................................... 11-7
SRD Dcalage vers la droite d'un double mot (32 bits) ...................................... 11-8
Oprations de rotation.......................................................................................... 11-10
Vue d'ensemble des oprations de rotation ......................................................... 11-10
RLD Rotation vers la gauche d'un double mot (32 bits).................................... 11-10
RRD Rotation vers la droite d'un double mot (32 bits)...................................... 11-12
RLDA Rotation vers la gauche de l'accumulateur 1 via BI1 (32 bits) ............... 11-13
RRDA Rotation vers la droite de l'accumulateur 1 via BI1 (32 bits).................. 11-14

Oprations de temporisation.............................................................................................. 12-1


12.1
12.2
12.3
12.4
12.5
12.6
12.7
12.8
12.9
12.10
12.11

xii

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


BE Fin de bloc ..................................................................................................... 10-2
BEB Fin de bloc conditionnelle............................................................................ 10-3
BEA Fin de bloc inconditionnelle......................................................................... 10-4
CALL Appel de bloc............................................................................................. 10-5
Appeler FB.............................................................................................................. 10-7
Appeler FC ............................................................................................................. 10-9
Appeler SFB ......................................................................................................... 10-10
Appeler SFC ......................................................................................................... 10-12
Appeler multi-instance.......................................................................................... 10-13
Appeler un bloc dans une bibliothque ................................................................ 10-13
CC Appel de bloc conditionnel .......................................................................... 10-14
UC Appel de bloc inconditionnel ....................................................................... 10-15
Relais de masquage (Master Control Relay, MCR) ............................................. 10-16
Remarques importantes sur l'utilisation de la fonctionnalit MCR...................... 10-18
MCR( Sauvegarder RLG dans pile MCR, dbut de zone MCR ........................ 10-19
)MCR Fin de zone MCR .................................................................................... 10-21
MCRA Activer la zone MCR .............................................................................. 10-22
MCRD Dsactiver la zone MCR........................................................................ 10-23

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


Adresse d'une temporisation en mmoire et composants d'une temporisation..... 12-2
FR Valider temporisation..................................................................................... 12-5
L Charger valeur de temps en cours comme nombre entier
dans l'accumulateur 1............................................................................................. 12-7
LC Charger valeur de temps en cours comme nombre DCB
dans l'accumulateur 1............................................................................................. 12-8
R Remettre temporisation 0 ............................................................................. 12-9
SI Temporisation sous forme d'impulsion ......................................................... 12-10
SV Temporisation sous forme d'impulsion prolonge....................................... 12-11
SE Temporisation sous forme de retard la monte ....................................... 12-13
SS Temporisation sous forme de retard la monte mmoris....................... 12-14
SA Temporisation sous forme de retard la retombe .................................... 12-15

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Sommaire

13

Oprations combinatoires sur mots .................................................................................. 13-1


13.1
13.2
13.3
13.4
13.5
13.6
13.7

14

Oprations sur les accumulateurs..................................................................................... 14-1


14.1
14.2
14.3
14.4
14.5
14.6
14.7
14.8
14.9
14.10
14.11
14.12
14.13
14.14
14.15

Oprations LIST classes d'aprs les abrviations allemandes (SIMATIC)............A-1


Oprations LIST classes d'aprs les abrviations anglaises (internationales) ......A-7

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


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

Vue d'ensemble des oprations sur les accumulateurs......................................... 14-1


TAK Permuter accumulateur 1 et accumulateur 2 .............................................. 14-2
PUSH CPU avec deux accumulateurs................................................................ 14-3
PUSH CPU avec quatre accumulateurs .............................................................. 14-4
POP CPU avec deux accumulateurs .................................................................. 14-5
POP CPU avec quatre accumulateurs................................................................ 14-6
ENT Entrer dans pile accumulateur .................................................................... 14-7
LEAVE Quitter pile accumulateur........................................................................ 14-7
INC Incrmenter accumulateur 1-L-L.................................................................. 14-8
DEC Dcrmenter accumulateur 1-L-L............................................................... 14-9
AR1 Additionner accumulateur 1 au registre d'adresse 1................................. 14-10
AR2 Additionner accumulateur 1 au registre d'adresse 2................................. 14-11
BLD Opration de composition d'image (opration nulle)................................. 14-12
NOP 0 Opration nulle ...................................................................................... 14-13
NOP 1 Opration nulle ...................................................................................... 14-13

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


A.1
A.2

Vue d'ensemble des oprations combinatoires sur mots....................................... 13-1


UW ET mot (16 bits)............................................................................................ 13-2
OW OU mot (16 bits)........................................................................................... 13-3
XOW OU exclusif mot (16 bits) ........................................................................... 13-4
UD ET double mot (32 bits)................................................................................. 13-6
OD OU double mot (32 bits)................................................................................ 13-7
XOD OU exclusif double mot (32 bits) ................................................................ 13-8

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


Exemples : Oprations combinatoires sur bits.........................................................B-2
Exemple : Oprations de temporisation ...................................................................B-5
Exemple : Oprations de comptage et de comparaison ..........................................B-8
Exemple : Oprations arithmtiques sur nombres entiers .....................................B-10
Exemple : Oprations combinatoires sur mots ......................................................B-11

Transmission de paramtres................................................................................................C-1

Index

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

xiii

Sommaire

xiv

Langage LIST pour SIMATIC S7-300/400


A5E00261419-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).
Vous disposez des oprations de base suivantes :

ET

UN

ET NON

OU

ON

OU NON

OU exclusif

XN

OU NON exclusif

Les oprations suivantes permettent de combiner des parties de squence combinatoire


figurant entre parenthses :

U(

ET d'une expression

UN(

ET NON d'une expression

O(

OU d'une expression

ON(

OU NON d'une expression

X(

OU exclusif d'une expression

XN(

OU NON exclusif d'une expression

Fermer la parenthse d'une expression

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

1-1

Oprations combinatoires sur bits

Les oprations suivantes mettent fin une squence combinatoire :

Affectation

Mettre 0

Mettre 1

Les oprations suivantes vous permettent de modifier le rsultat logique RLG :

NOT

Ngation du RLG

SET

Mettre RLG 1

CLR

Mettre RLG 0

SAVE

Sauvegarder RLG dans le bit RB

Les oprations suivantes dtectent les transitions dans le rsultat logique RLG et y
ragissent :

1-2

FN

Front descendant

FP

Front montant

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations combinatoires sur bits

1.2

ET

Format
U <bit>
Oprande

Type de donnes

Zone de mmoire

<bit>

BOOL

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

Description de l'opration
U (ET)
Cette opration interroge le bit en accs afin de dterminer si son tat de signal est 1 et
combine le rsultat de l'interrogation au RLG selon la table de vrit ET.
Interrogation de l'tat des bits du mot d'tat :
L'opration ET vous permet d'interroger directement le mot d'tat. A cet effet, utilisez les
oprandes suivants : ==0, <>0, >0, <0, >=0, <=0, UO, BIE, OS, OV (BIE correspond RB,
OS DM et OV DEB).

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple

Programme LIST

Schma de circuit relais


Barre dalimentation

E 1.0

E 1.0 tat de signal 1

Contact
fermeture

E 1.1

E 1.1 tat de signal 1

Contact
fermeture

A 4.0

A 4.0 tat de signal 1

Bobine

Montre un contact ferm.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

1-3

Oprations combinatoires sur bits

1.3

UN

ET NON

Format
UN <bit>
Oprande

Type de donnes

Zone de mmoire

<bit>

BOOL

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

Description de l'opration
UN (ET NON)
Cette opration interroge le bit en accs afin de dterminer si son tat de signal est 0 et
combine le rsultat de l'interrogation au RLG selon la table de vrit ET.
Interrogation de l'tat des bits du mot d'tat :
L'opration ET NON vous permet d'interroger directement le mot d'tat. A cet effet, utilisez
les oprandes suivants : ==0, <>0, >0, <0, >=0, <=0, UO, BIE, OS, OV (BIE correspond
RB, OS DM et OV DEB).

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
Programme LIST

Schma de circuit relais


Barre dalimentation

1-4

E 1.0

E 1.0
Etat de signal 0

Contact
fermeture

UN

E 1.1

E 1.1
Etat de signal 1

Contact
ouverture

A 4.0

A 4.0
Etat de signal 0

Bobine

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations combinatoires sur bits

1.4

OU

Format
O <bit>
Oprande

Type de donnes

Zone de mmoire

<bit>

BOOL

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

Description de l'opration
O (OU)
Cette opration interroge le bit en accs afin de dterminer si son tat de signal est 1 et
combine le rsultat de l'interrogation au RLG selon la table de vrit OU.
Interrogation de l'tat des bits du mot d'tat :
L'opration OU vous permet d'interroger directement le mot d'tat. A cet effet, utilisez les
oprandes suivants : ==0, <>0, >0, <0, >=0, <=0, UO, BIE, OS, OV (BIE correspond RB,
OS DM et OV DEB).

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
Programme LIST

Schma de circuit relais


Barre dalimentation

E 1.0

E 1.1

A 4.0

E 1.0 tat de signal 1


Contact fermeture

A 4.0 tat de signal 1

E 1.1 tat de signal 0


Contact fermeture

Bobine

Montre un contact ferm.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

1-5

Oprations combinatoires sur bits

1.5

ON

OU NON

Format
ON <bit>
Oprande

Type de donnes

Zone de mmoire

<bit>

BOOL

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

Description de l'opration
ON (OU NON)
Cette opration interroge le bit en accs afin de dterminer si son tat de signal est 0 et
combine le rsultat de l'interrogation au RLG selon la table de vrit OU.
Interrogation de l'tat des bits du mot d'tat :
L'opration OU NON vous permet aussi d'interroger directement le mot d'tat. A cet effet,
utilisez les oprandes suivants : ==0, <>0, >0, <0, >=0, <=0, UO, BIE, OS, OV (BIE
correspond RB, OS DM et OV DEB).

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
Programme LIST

Schma de circuit relais


Barre dalimentation

1-6

E 1.0

E 1.0
Etat de signal 0

ON

E 1.1

E 1.1
Etat de signal 1

A 4.0

A 4.0
Etat de signal 1

Contact
fermeture
Contact
ouverture
Bobine

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations combinatoires sur bits

1.6

OU exclusif

Format
X <bit>
Oprande

Type de donnes

Zone de mmoire

<bit>

BOOL

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

Description de l'opration
X (OU exclusif)
Cette opration interroge le bit en accs afin de dterminer si son tat de signal est 1, et
combine le rsultat de cette interrogation au RLG selon la table de vrit OU exclusif.
Vous avez galement la possibilit d'appliquer plusieurs fois d'affile l'opration OU exclusif.
Le RLG global sera alors gal "1", lorsqu'un nombre impair des oprandes interrogs
fournit le rsultat "1".
Interrogation de l'tat des bits du mot d'tat :
L'opration OU exclusif vous permet aussi d'interroger directement le mot d'tat. A cet effet,
utilisez les oprandes suivants : ==0, <>0, >0, <0, >=0, <=0, UO, BIE, OS, OV (BIE
correspond RB, OS DM et OV DEB).

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
3URJUDPPH/,67

Schma de circuit relais


%DUUHG
DOLPHQWDWLRQ

(

&RQWDFW(

(

&RQWDFW(

$

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

$
%RELQH

1-7

Oprations combinatoires sur bits

1.7

XN

OU NON exclusif

Format
XN <bit>
Oprande

Type de donnes

Zone de mmoire

<bit>

BOOL

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

Description de l'opration
XN (OU NON exclusif)
Cette opration interroge le bit en accs afin de dterminer si son tat de signal est 0, et
combine le rsultat de cette interrogation au RLG selon la table de vrit OU exclusif.
Interrogation de l'tat des bits du mot d'tat :
L'opration OU NON exclusif vous permet aussi d'interroger directement le mot d'tat. A cet
effet, utilisez les oprandes suivants : ==0, <>0, >0, <0, >=0, <=0, UO, BIE, OS, OV (BIE
correspond RB, OS DM et OV DEB).

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
Programme LIST

Schma de circuit relais


Barre dalimentation

1-8

E 1.0

Contact E 1.0

XN

E 1.1

Contact E 1.1

A 4.0

A 4.0
Bobine

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations combinatoires sur bits

1.8

ET avant OU

Format
O

Description de l'opration
O
Cette opration excute, selon le principe ET avant OU, la combinaison OU sur des
combinaisons ET.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
Programme LIST

Schma de circuit relais


Barre dalimentation

E 0.0

M 10.0

O
U
U

E 0.2
M 0.3

M 10.1

E 0.0
E 0.2

M 10.0
M 0.3

M 10.1

A 4.0

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

A 4.0
Bobine

1-9

Oprations combinatoires sur bits

1.9

U(

ET dune expression

Format
U(

Description de l'opration
U( (ET dune expression)
Cette opration sauvegarde les bits RLG et OU ainsi qu'un code d'opration dans la pile des
parenthses. La piles des parenthses peut contenir jusqu' 7 entres.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
Programme LIST

Schma de circuit relais


Barre dalimentation

1-10

U(
O
O
)

E 0.0
M 10.0

E 0.0

U(
O
O
)

E 0.2
M 10.3

E 0.2

M 10.1

A 4.0

M 10.0

M 10.3

M 10.1

A 4.0
Bobine

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations combinatoires sur bits

1.10

UN(

ET NON dune expression

Format
UN(

Description de l'opration
UN( (ET NON dune expression)
Cette opration sauvegarde les bits RLG et OU ainsi qu'un code d'opration dans la pile des
parenthses. La pile des parenthses peut contenir jusqu' 7 entres.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

1-11

Oprations combinatoires sur bits

1.11

O(

OU dune expression

Format
O(

Description de l'opration
O( (OU dune expression)
Cette opration sauvegarde les bits RLG et OU ainsi qu'un code d'opration dans la pile des
parenthses. La pile des parenthses peut contenir jusqu' 7 entres.

Mot d'tat
Ecriture :

1.12

ON(

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

OU NON dune expression

Format
ON(

Description de l'opration
ON( (OU NON dune expression)
Cette opration sauvegarde les bits RLG et OU ainsi qu'un code d'opration dans la pile des
parenthses. La pile des parenthses peut contenir jusqu' 7 entres.

Mot d'tat
Ecriture :

1-12

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations combinatoires sur bits

1.13

X(

OU exclusif dune expression

Format
X(

Description de l'opration
X( (OU exclusif dune expression)
Cette opration sauvegarde les bits RLG et OU ainsi qu'un code d'opration dans la pile des
parenthses. La pile des parenthses peut contenir jusqu' 7 entres.

Mot d'tat
Ecriture :

1.14

XN(

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

OU NON exclusif dune expression

Format
XN(

Description de l'opration
XN( (OU NON exclusif dune expression)
Cette opration sauvegarde les bits RLG et OU ainsi qu'un code d'opration dans la pile des
parenthses. La pile des parenthses peut contenir jusqu' 7 entres.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

1-13

Oprations combinatoires sur bits

1.15

Fermer la parenthse d'une expression

Format
)

Description de l'opration
) (Fermer la parenthse d'une expression)
Cette opration efface une entre de la pile des parenthses, restaure le bit OU, combine le
bit RLG contenu dans l'entre de la pile au RLG en cours conformment au code d'opration
et affecte le rsultat au RLG. S'il s'agit d'une opration ET ou ET NON, celle-ci tient
galement compte du bit OU.
Oprations ouvrant une expression entre parenthses :

U(

ET d'une expression

UN(

ET NON d'une expression

O(

OU d'une expression

ON(

OU NON d'une expression

X(

OU exclusif d'une expression

XN(

OU NON exclusif d'une expression

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
Programme LIST

Schma de circuit relais


Barre dalimentation

1-14

U(
O
O
)

E 0.0
M 10.0

E 0.0

U(
O
O
)

E 0.2
M 10.3

E 0.2

M 10.1

A 4.0

M 10.0

M 10.3

M 10.1

A 4.0
Bobine

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations combinatoires sur bits

1.16

Affectation

Format
= <bit>
Oprande

Type de donnes

Zone de mmoire

<bit>

BOOL

E, A, M, L, D

Description de l'opration
= <bit>
Cette opration sauvegarde le RLG dans le bit en accs si le relais de masquage (Master
Control Relay) est en fonction (MCR = 1). Si le relais MCR gale 0, c'est la valeur 0 et non le
RLG qui est crite dans le bit.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
Programme LIST
8

(
$

Schma de circuit relais


Barre dalimentation
(

Schma des tats de signaux


(




$




Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

$
%RELQH

1-15

Oprations combinatoires sur bits

1.17

Mettre 0

Format
R <bit>
Oprande

Type de donnes

Zone de mmoire

<bit>

BOOL

E, A, M, L, D

Description de l'opration
R (Mettre 0)
Cette opration crit la valeur 0 dans le bit en accs si le RLG gale 1 et si le relais de
masquage (Master Control Relay) est en fonction (MCR = 1). Si le relais MCR gale 0, le bit
indiqu n'est pas modifi.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
Programme LIST
U
S
U
R

E 1.0
A 4.0
E 1.1
A 4.0

Schma de circuit relais


Barre dalimentation
E 1.0
Contact
fermeture

Schmas des tats de signaux


E 1.0
E 1.1
A 4.0

1-16

1
0
1
0
1
0

A 4.0

E 1.1

Contact
ouverture
A 4.0
Bobines

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations combinatoires sur bits

1.18

Mettre 1

Format
S <bit>
Oprande

Type de donnes

Zone de mmoire

<bit>

BOOL

E, A, M, L, D

Description de l'opration
S (Mettre 1)
Cette opration crit la valeur 1 dans le bit en accs si le RLG gale 1 et si le relais de
masquage (Master Control Relay) est en fonction (MCR = 1). Si le relais MCR gale 0, le bit
indiqu n'est pas modifi.

Mot d'tat
RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Ecriture :

Exemple
Programme LIST
U
S
U
R

E 1.0
A 4.0
E 1.1
A 4.0

Schma de circuit relais


Barre dalimentation
E 1.0
Contact
fermeture

Schmas des tats de signaux


E 1.0
E 1.1
A 4.0

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

1
0
1
0
1
0

A 4.0

E 1.1

Contact
ouverture
A 4.0
Bobines

1-17

Oprations combinatoires sur bits

1.19

NOT

Ngation du RLG

Format
NOT

Description de l'opration
NOT
Cette opration inverse le RLG.

Mot d'tat

Ecriture :

1.20

SET

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Mettre RLG 1

Format
SET

Description de l'opration
SET (Mettre RLG 1)
Cette opration met le RLG l'tat de signal 1.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
Programme LIST

Etat de signal

SET
= M 10.0

= M 15.1

= M 16.0

1
0

CLR

1-18

Rsultat logique (RLG)

= M 10.1

= M 10.2

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations combinatoires sur bits

1.21

CLR

Mettre RLG 0

Format
CLR

Description de l'opration
CLR (Mettre RLG 0)
Cette opration met le RLG l'tat de signal 0.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
Programme LIST

Etat de signal

SET
= M 10.0

= M 15.1

= M 16.0

1
0

CLR
= M 10.1

= M 10.2

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Rsultat logique (RLG)

1-19

Oprations combinatoires sur bits

1.22

SAVE

Sauvegarder RLG dans le bit RB

Format
SAVE

Description de l'opration
SAVE (Sauvegarder RLG dans le bit RB)
Cette opration sauvegarde le RLG dans le bit RB, le bit de premire interrogation /PI
ntant pas remis 0.
Pour cette raison, une combinaison ET dans le rseau suivant prend en compte ltat du bit
RB.
L'utilisation de l'opration SAVE suivie d'une interrogation du bit RB dans le mme bloc ou
dans un bloc subordonn n'est pas recommande, le bit RB pouvant tre modifi par un
grand nombre d'oprations intermdiaires. Il est par contre judicieux d'utiliser l'opration
SAVE avant de quitter un bloc, car ainsi la sortie ENO (= bit RB) prend la valeur du bit RLG,
ce qui vous permet ensuite de poursuivre par un traitement des erreurs du bloc.

Mot d'tat
Ecriture :

1-20

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations combinatoires sur bits

1.23

FN

Front descendant

Format
FN <bit>
Oprande

Type de
donnes

Zone de
mmoire

Description

<bit>

BOOL

E, A, M, L, D

Mmento de front, sauvegarde l'tat de


signal prcdent du RLG

Description de l'opration
FN <bit> (Front descendant)
Cette opration permet de dtecter un front descendant si le RLG passe de 1 0, et donne
1 comme rsultat.
Au cours de chaque cycle de programme, l'tat de signal du bit RLG est compar l'tat de
signal du bit RLG du cycle prcdent pour dterminer toute modification de l'tat. Pour que
la comparaison s'excute, l'tat de signal du bit RLG prcdent doit tre sauvegard dans
l'adresse du mmento de front (<bit>). Si l'tat de signal en cours diffre de l'tat de signal
prcdent (1 ; dtection d'un front descendant), le bit RLG gale 1 aprs cette opration.

Nota
Lorsque le bit contrler se trouve dans la mmoire image, cette opration n'est pas
significative. En effet, les donnes locales d'un bloc ne sont valides que pendant la dure
d'excution de ce bloc.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

1-21

Oprations combinatoires sur bits

Dfinition
Front montant

Front descendant

RLG

1
0

Temps

Exemple
Lorsque l'automate programmable dtecte un front descendant au contact E 1.0, il active la
sortie A 4.0 pour un cycle d'OB1.

Programme LIST
U

E 1.0

E 1.0

1
0

FN

M 1.0

M 1.0

1
0

A 4.0

A 4.0

1
0

Cycle OB1 n :

1-22

Schma des tats de signaux

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations combinatoires sur bits

1.24

FP

Front montant

Format
FP <bit>
Oprande

Type de
donnes

Zone de
mmoire

Description

<bit>

BOOL

E, A, M, L, D

Mmento de front, sauvegarde l'tat de


signal prcdent du RLG

Description de l'opration
FP <bit> (Front montant)
Cette opration permet de dtecter un front montant si le RLG passe de 0 1, et donne 1
comme rsultat.
Au cours de chaque cycle de programme, l'tat de signal du bit RLG est compar l'tat de
signal du bit RLG du cycle prcdent pour dterminer toute modification de l'tat. Pour que
la comparaison s'excute, l'tat de signal du bit RLG prcdent doit tre sauvegard dans
l'adresse du mmento de front (<bit>). Si l'tat de signal en cours diffre de l'tat de signal
prcdent (0 ; dtection d'un front montant), le bit RLG gale 1 aprs cette opration.

Nota
Lorsque le bit contrler se trouve dans la mmoire image, cette opration n'est pas
significative. En effet, les donnes locales d'un bloc ne sont valides que pendant la dure
d'excution de ce bloc.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

1-23

Oprations combinatoires sur bits

Dfinition
Front montant

Front descendant

RLG

1
0

Temps

Exemple
Lorsque l'automate programmable dtecte un front montant au contact E 1.0, il active la
sortie A 4.0 pour un cycle d'OB1.

Programme LIST
U

E 1.0

E 1.0

1
0

FP

M 1.0

M 1.0

1
0

A 4.0

A 4.0

1
0

Cycle OB1 n :

1-24

Schma des tats de signaux

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

2.1

Oprations de comparaison

Vue d'ensemble des oprations de comparaison

Description
Les oprations de comparaison comparent le contenu de l'accumulateur 2 celui de
l'accumulateur 1 selon les types de comparaison suivants :
==
<>
>
<
>=
<=

ACCU 2
ACCU 2
ACCU 2
ACCU 2
ACCU 2
ACCU 2

est gal ACCU 1


est diffrent de ACCU 1
est suprieur ACCU 1
est infrieur ACCU 1
est suprieur ou gal ACCU 1
est infrieur ou gal ACCU 1

Si le RLG gale 1, le rsultat de comparaison est vrai. Si le RLG gale 0, le rsultat de


comparaison est faux. Les bits BI1 et BI0 indiquent la relation "infrieur ", "gal " ou
"suprieur ".
Vous disposez des oprations de comparaison suivantes :

?I

Comparer entiers de 16 bits

?D

Comparer entiers de 32 bits

?R

Comparer rels de 32 bits

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

2-1

Oprations de comparaison

2.2

?I

Comparer entiers de 16 bits

Format
==I, <>I, >I, <I, >=I, <=I

Description de l'opration
Les oprations de comparaison d'entiers de 16 bits comparent le contenu de l'accumulateur
2-L celui de l'accumulateur 1-L. Les contenus de l'accumulateur 2-L et de l'accumulateur 1L sont valus comme nombres entiers de 16 bits. Le rsultat de la comparaison est indiqu
par le RLG et les bits significatifs du mot d'tat. Si le RLG gale 1, le rsultat de
comparaison est vrai. Si le RLG gale 0, le rsultat de comparaison est faux. Les bits BI1 et
BI0 indiquent la relation "infrieur ", "gal " ou "suprieur ".

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Valeurs du RLG
Opration de
RLG si
comparaison excute ACCU 2 > ACCU 1

RLG si
ACCU 2 = ACCU 1

RLG si
ACCU 2 < ACCU 1

==I

<>I

>I

<I

>=I

<=I

Exemple
LIST
L
L
>I

MW10
EW24

M 2.0

2-2

Explication
//Charger le contenu de MW10 (entier de 16 bits).
//Charger le contenu de EW24 (entier de 16 bits).
//Comparer si accumulateur 2-L (MW10) suprieur (>) accumulateur 1-L
(EW24).
//Le RLG gale 1 si MW10 > EW24.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de comparaison

2.3

?D

Comparer entiers de 32 bits

Format
==D, <>D, >D, <D, >=D, <=D

Description de l'opration
Les oprations de comparaison d'entiers de 32 bits comparent le contenu de l'accumulateur
2 celui de l'accumulateur 1. Les contenus de l'accumulateur 2 et de l'accumulateur 1 sont
valus comme nombres entiers de 32 bits. Le rsultat de la comparaison est indiqu par le
RLG et les bits significatifs du mot d'tat. Si le RLG gale 1, le rsultat de comparaison est
vrai. Si le RLG gale 0, le rsultat de comparaison est faux. Les bits BI1 et BI0 indiquent la
relation "infrieur ", "gal " ou "suprieur ".

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Valeurs du RLG
Opration de
RLG si
comparaison excute ACCU 2 > ACCU 1

RLG si
ACCU 2 = ACCU 1

RLG si
ACCU 2 < ACCU 1

==D

<>D

>D

<D

>=D

<=D

Exemple
LIST
L
L
>D
=

MD10
ED24
M 2.0

Explication
//Charger le contenu de MD10 (entier de 32 bits).
//Charger le contenu de ED24 (entier de 32 bits).
//Comparer si accumulateur 2 (MD10) suprieur (>) accumulateur 1 (ED24).
//Le RLG gale 1 si MD10 > ED24.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

2-3

Oprations de comparaison

2.4

?R

Comparer rels de 32 bits

Format
==R, <>R, >R, <R, >=R, <=R

Description de l'opration
Les oprations de comparaison de nombres virgule flottante IEEE de 32 bits comparent le
contenu de l'accumulateur 2 celui de l'accumulateur 1. Les contenus de l'accumulateur 1 et
de l'accumulateur 2 sont valus comme nombres virgule flottante IEEE de 32 bits. Le
rsultat de la comparaison est indiqu par le RLG et les bits significatifs du mot d'tat. Si le
RLG gale 1, le rsultat de comparaison est vrai. Si le RLG gale 0, le rsultat de
comparaison est faux. Les bits BI1 et BI0 indiquent la relation "infrieur ", "gal " ou
"suprieur ".

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Valeurs du RLG
Opration de
RLG si
comparaison excute ACCU 2 > ACCU 1

RLG si
ACCU 2 = ACCU 1

RLG si
ACCU 2 < ACCU 1

==R

<>R

>R

<R

>=R

<=R

Exemple
LIST
L
L
>R

MD10
1.359E+02

M 2.0

2-4

Explication
//Charger le contenu de MD10 (nombre virgule flottante).
//Charger la constante 1.359E+02.
//Comparer si l'accumulateur 2 (MD10) suprieur (>) l'accumulateur 1
(1.359E+02).
//Le RLG gale 1 si MD10 > 1.359E+02.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

3.1

Oprations de conversion

Vue d'ensemble des oprations de conversion

Description
Les oprations suivantes permettent de convertir des nombres dcimaux cods binaires et
des nombres entiers en dautres types de nombres :

BTI

Convertir DCB en entier de 16 bits

ITB

Convertir entier de 16 bits en DCB

BTD

Convertir DCB en entier de 32 bits

ITD

Convertir entier de 16 bits en entier de 32 bits

DTB

Convertir entier de 32 bits en DCB

DTR

Convertir entier de 32 bits en rel (VF IEEE 32 bits)

Les oprations suivantes permettent de former le complment de nombres entiers ou de


raliser linversion de nombres virgule flottante :

INVI

Complment 1 d'entier de 16 bits

INVD

Complment 1 d'entier de 32 bits

NEGI

Complment 2 d'entier de 16 bits

NEGD

Complment 2 d'entier de 32 bits

NEGR

Inverser nombre virgule flottante (VF IEEE 32 bits)

Les oprations suivantes permettent de modifier lordre des octets dans le mot de poids
faible de laccumulateur 1 ou dans laccumulateur 1 entier :

TAW

Modifier l'ordre dans l'accumulateur 1-L (16 bits)

TAD

Modifier l'ordre dans l'accumulateur 1 (32 bits)

Les oprations suivantes permettent de convertir le nombre virgule flottante IEEE de


32 bits figurant dans laccumulateur 1 en un nombre entier de 32 bits (entier double). Les
diffrentes oprations se distinguent par leur faon darrondir :

RND

Arrondir l'entier

TRUNC

Arrondir par troncature

RND+

Arrondir l'entier suprieur

RND-

Arrondir l'entier infrieur

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

3-1

Oprations de conversion

3.2

BTI

Convertir DCB en entier de 16 bits

Format
BTI

Description de l'opration
BTI (Conversion en nombre entier d'un nombre dcimal cod binaire trois chiffres)
Cette opration value le contenu de l'accumulateur 1-L comme nombre dcimal cod
binaire (nombre DCB) trois chiffres et le convertit en un nombre entier de 16 bits. Le
rsultat de la conversion est rang dans l'accumulateur 1-L. L'accumulateur 1-H et
l'accumulateur 2 restent inchangs.
Nombre DCB contenu dans laccumulateur 1-L : ce nombre DCB peut tre compris entre
-999 et +999. Les bits 0 11 indiquent la valeur et le bit 15 le signe (0 = positif, 1 = ngatif)
du nombre DCB. Les bits 12 14 ne sont pas utiliss pour la conversion. Si un chiffre
dcimal (une ttrade de 4 bits dans la reprsentation DCB) est compris dans la plage
incorrecte de 10 15, une erreur BCDF est signale lors de la tentative de conversion. En
gnral, l'automate programmable passe alors l'tat de fonctionnement "Arrt" (STOP).
Cependant, l'OB121 vous permet de programmer une autre raction cette erreur
synchrone.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
L
BTI

MW10

MW20

Explication
//Charger le nombre DCB dans laccumulateur 1-L.
//Convertir le nombre DCB en un nombre entier et ranger le rsultat dans
l'accumulateur 1-L.
//Transfrer le rsultat (nombre entier de 16 bits) dans le mot de mmento
MW20.

"+"

"9"

15...
MW10

...8
0

"5"

7...
0

...0
0

+915 DCB

+915 nombre entier

Convertir DCB en entier

BTI
MW20

3-2

"1"

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de conversion

3.3

ITB

Convertir entier de 16 bits en DCB

Format
ITB

Description de l'opration
ITB (Convertir entier de 16 bits en DCB)
Cette opration value le contenu de l'accumulateur 1-L comme nombre entier de 16 bits et
le convertit en un nombre dcimal cod binaire (nombre DCB) trois chiffres. Le rsultat est
rang dans l'accumulateur 1-L. Les bits 0 11 indiquent la valeur du nombre DCB. Les bits
12 15 contiennent l'tat du signe du nombre DCB (0000 = positif, 1111 = ngatif).
L'accumulateur 1-H et l'accumulateur 2 restent inchangs.
Le nombre DCB peut tre compris entre -999 et +999. S'il se situe hors de la plage correcte,
les bits d'tat DEB et DM sont mis 1.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
L
ITB

MW10

MW20

Explication
//Charger lentier dans laccumulateur 1-L.
//Convertir l'entier de 16 bits en un nombre DCB et ranger le rsultat
dans l'accumulateur 1-L.
//Transfrer le rsultat (nombre DCB) dans le mot de mmento MW20.

15...
MW10

...8

7...
0

...0
1

-413 nombre entier

-413 DCB

Convertir entier de 16 bits en DCB

ITB
MW20

"-"

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

"4"

"1"

"3"

3-3

Oprations de conversion

3.4

BTD

Convertir DCB en entier de 32 bits

Format
BTD

Description de l'opration
BTD (Conversion en nombre entier d'un nombre dcimal cod binaire sept chiffres)
Cette opration value le contenu de l'accumulateur 1 comme nombre dcimal cod binaire
(nombre DCB) sept chiffres et le convertit en un nombre entier de 32 bits. Le rsultat de la
conversion est rang dans l'accumulateur 1. L'accumulateur 2 reste inchang.
Nombre DCB contenu dans laccumulateur 1 : ce nombre DCB peut tre compris entre -9
999 999 et +9 999 999. Les bits 0 27 indiquent la valeur et le bit 31 le signe (0 = positif,
1 = ngatif) du nombre DCB. Les bits 28 30 ne sont pas utiliss pour la conversion.
Si un chiffre dcimal (une ttrade de 4 bits dans la reprsentation DCB) est compris dans la
plage incorrecte de 10 15, une erreur BCDF est signale lors de la tentative de conversion.
En gnral, l'automate programmable passe alors l'tat de fonctionnement "Arrt" (STOP).
Cependant, l'OB121 vous permet de programmer une autre raction cette erreur
synchrone.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
L
BTD

MD10

MD20

Explication
//Charger le nombre DCB dans laccumulateur 1.
//Convertir le nombre DCB en un nombre entier et ranger le rsultat dans
l'accumulateur 1.
//Transfrer le rsultat (nombre entier de 32 bits) dans le double mot de
mmento MD20.

"+"
31...
MD10

BTD
MD20

"0"

"1"

"5"

"7"

...16 15...

"8"

"2"

"1"
...0

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

Convertir DCB en entier

"+157821"

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

"+157821"

3-4

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de conversion

3.5

ITD

Convertir entier de 16 bits en entier de 32 bits

Format
ITD

Description de l'opration
ITD (Convertir entier de 16 bits en entier de 32 bits)
Cette opration value le contenu de l'accumulateur 1-L comme nombre entier de 16 bits et
le convertit en un nombre entier de 32 bits. Le rsultat est rang dans l'accumulateur 1 ;
l'accumulateur 2 reste inchang.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
L
ITD

MW12

MD20

Explication
//Charger lentier de 16 bits dans laccumulateur 1.
//Convertir lentier de 16 bits en un entier de 32 bits et ranger le
rsultat dans l'accumulateur 1.
//Transfrer le rsultat (nombre entier de 32 bits) dans le double mot de
mmento MD20.

Exemple : MW12 = "-10" (nombre entier de 16 bits)


Contenu

ACCU1-H

ACCU1-L

Bit

31 . . .

..

..

. . . 16

15 . . .

..

..

...0

avant excution de ITD

XXXX

XXXX

XXXX

XXXX

1111

1111

1111

0110

aprs excution de ITD

1111

1111

1111

1111

1111

1111

1111

0110

(X = 0 ou 1, bits non requis pour la conversion)

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

3-5

Oprations de conversion

3.6

DTB

Convertir entier de 32 bits en DCB

Format
DTB

Description de l'opration
DTB (Conversion dun nombre entier de 32 bits en nombre DCB)
Cette opration value le contenu de l'accumulateur 1 comme nombre entier de 32 bits et le
convertit en un nombre dcimal cod binaire (nombre DCB) sept chiffres. Le rsultat est
rang dans l'accumulateur 1. Les bits 0 27 indiquent la valeur du nombre DCB.
Les bits 28 31 reprsentent l'tat du signe du nombre DCB (0000 = positif, 1111 = ngatif).
L'accumulateur 2 reste inchang.
Le nombre DCB peut tre compris entre -9 999 999 et +9 999 999. S'il se situe hors de la
plage correcte, les bits d'tat DEB et DM sont mis 1.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
L
DTB

MD10

MD20

Explication
//Charger lentier de 32 bits dans laccumulateur 1.
//Convertir lentier de 32 bits en un nombre DCB et ranger le rsultat
dans l'accumulateur 1.
//Transfrer le rsultat (nombre DCB) dans le double mot de mmento MD20.

31...
MD10

...0
-701 nombre entier

Convertir entier de 32 bits en DCB

DTB
MD20

...16 15...

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

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

"-"

"0"

"0"

"0"

"0"

"7"

"0"

"1"
-701 DBC

3-6

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de conversion

3.7

DTR

Convertir entier de 32 bits en rel (VF IEEE 32 bits)

Format
DTR

Description de l'opration
DTR (Conversion dun nombre entier de 32 bits en nombre virgule flottante IEEE de
32 bits)
Cette opration value le contenu de l'accumulateur 1 comme nombre entier de 32 bits et le
convertit en nombre virgule flottante IEEE de 32 bits. Si ncessaire, l'opration arrondit le
rsultat (un entier de 32 bits a une plus grande prcision qu'un nombre virgule flottante
IEEE de 32 bits). Le rsultat est rang dans l'accumulateur 1.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
L
DTR

MD10

MD20

MD10

DTR
MD20

Explication
//Charger lentier de 32 bits dans laccumulateur 1.
//Convertir lentier de 32 bits en un nombre virgule flottante IEEE de
32 bits et ranger le rsultat dans l'accumulateur 1.
//Transfrer le rsultat (nombre DCB) dans le double mot de mmento MD20.

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 1 0 0

Convertir entier de 32 bits en nombre


virgule flottante de de 32 bits
31 30...

+500 nombre entier


...0

22...

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

Exposant de 8 bits
1 bit
Signe de la mantisse

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Mantisse de 23 bits
+500 VF IEEE

3-7

Oprations de conversion

3.8

INVI

Complment 1 d'entier de 16 bits

Format
INVI

Description de l'opration
INVI (Complment 1 d'entier de 16 bits)
Cette opration forme le complment 1 de la valeur de 16 bits figurant dans l'accumulateur
1- L. Lors de la formation du complment 1, les bits individuels sont inverss, c'est--dire
que les zros sont remplacs par des uns et les uns par des zros. Le rsultat est rang
dans l'accumulateur 1-L.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
L
INVI
T

EW8
MW10

Explication
//Charger la valeur dans laccumulateur 1-L.
//Former le complment 1 (16 bits).
//Transfrer le rsultat dans le mot de mmento MW10.

Contenu

ACCU1-L

Bit

15 . . .

..

..

...0

avant excution de INVI

0110

0011

1010

1110

aprs excution de INVI

1001

1100

0101

0001

3-8

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de conversion

3.9

INVD

Complment 1 d'entier de 32 bits

Format
INVD

Description de l'opration
INVD (Complment 1 d'entier de 32 bits)
Cette opration forme le complment 1 de la valeur de 32 bits figurant dans
l'accumulateur 1. Lors de la formation du complment 1, les bits individuels sont inverss,
c'est--dire que les zros sont remplacs par des uns et les uns par des zros. Le rsultat
est rang dans l'accumulateur 1.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
L
INVD
T

ED8
MD10

Explication
//Charger la valeur dans laccumulateur 1.
//Former le complment 1 (32 bits).
//Transfrer le rsultat dans le double mot de mmento MD10.

Contenu

ACCU1-H

Bit

31 . . .

..

..

. . . 16

15 . . .

..

..

...0

avant excution de INVD

0110

1111

1000

1100

0110

0011

1010

1110

aprs excution de INVD

1001

0000

0111

0011

1001

1100

0101

0001

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

ACCU1-L

3-9

Oprations de conversion

3.10

NEGI

Complment 2 d'entier de 16 bits

Format
NEGI

Description de l'opration
NEGI (Complment 2 d'entier de 16 bits)
Cette opration forme le complment 2 de la valeur de 16 bits figurant dans l'accumulateur
1-L. Lors de la formation du complment 2, les bits individuels sont inverss, c'est--dire
que les zros sont remplacs par des uns et les uns par des zros, puis on ajoute la valeur
1. Le rsultat est rang dans l'accumulateur 1-L. L'opration "Complment 2 d'entier" est
quivalente une multiplication par -1. Les bits d'tat BI1, BI0, DM et DEB sont mis 1
comme rsultat de l'opration.

Mot d'tat
RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Formation des bits d'tat

BI1

BI0

DEB

DM

rsultat = 0

-32768 <= rsultat <= -1

32767 >= rsultat >= 1

rsultat = 2768

Ecriture :

Exemple
LIST
L
NEGI
T

EW8
MW10

Explication
//Charger la valeur dans laccumulateur 1-L.
//Former le complment 2 (16 bits).
//Transfrer le rsultat dans le mot de mmento MW10.

Contenu

ACCU1-L

Bit

15 . . .

..

..

...0

avant excution de NEGI

0101

1101

0011

1000

aprs excution de NEGI

1010

0010

1100

1000

3-10

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de conversion

3.11

NEGD

Complment 2 d'entier de 32 bits

Format
NEGD

Description de l'opration
NEGD (Complment 2 d'entier de 32 bits)
Cette opration forme le complment 2 de la valeur de 32 bits figurant dans
l'accumulateur 1. Lors de la formation du complment 2, les bits individuels sont inverss,
c'est--dire que les zros sont remplacs par des uns et les uns par des zros, puis on
ajoute la valeur 1. Le rsultat est rang dans l'accumulateur 1. L'opration "Complment
2 d'entier" est quivalente une multiplication par -1. Les bits d'tat BI1, BI0, DM et DEB
sont mis 1 comme rsultat de l'opration.

Mot d'tat
RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Formation des bits d'tat

BI1

BI0

DEB

DM

rsultat = 0

-2 147 483 648 <= rsultat <= -1

2 147 483 647 >= rsultat >= 1

rsultat = 2 147 483 648

Ecriture :

Exemple
LIST
L
NEGD
T

ED8
MD10

Explication
//Charger la valeur dans laccumulateur 1.
//Former le complment 2 (32 bits).
//Transfrer le rsultat dans le double mot de mmento MD10.

Contenu

ACCU1-H

Bit

31 . . .

..

..

. . . 16

15 . . .

..

..

...0

avant excution de NEGD

0101

1111

0110

0100

0101

1101

0011

1000

aprs excution de NEGD

1010

0000

1001

1011

1010

0010

1100

1000

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

ACCU1-L

3-11

Oprations de conversion

3.12

NEGR

Inverser nombre virgule flottante (VF IEEE 32 bits)

Format
NEGR

Description de l'opration
NEGR (Inverser nombre virgule flottante)
Cette opration inverse le nombre virgule flottante IEEE de 32 bits figurant dans
l'accumulateur 1. Elle inverse l'tat du bit 31 contenu dans l'accumulateur 1 (signe de la
mantisse). Le rsultat est rang dans l'accumulateur 1.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
L
NEGR

ED8

MD10

3-12

Explication
//Charger la valeur dans laccumulateur 1 (exemple : ED8 = 1.5E+02).
//Inverser le nombre virgule flottante IEEE de 32 bits et ranger le
rsultat dans l'accumulateur 1.
//Transfrer le rsultat dans le double mot de mmento MD10 (exemple :
rsultat = -1.5E+02).

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de conversion

3.13

TAW

Modifier lordre dans laccumulateur 1-L (16 bits)

Format
TAW

Description de l'opration
TAW
Cette opration permet d'inverser l'ordre des octets dans l'accumulateur 1-L. Le rsultat est
rang dans l'accumulateur 1-L. L'accumulateur 1-H et l'accumulateur 2 restent inchangs.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
L
TAW
T

MW10
MW20

Explication
//Charger la valeur du mot de mmento MW10 dans l'accumulateur 1.
//Inverser l'ordre des octets dans l'accumulateur 1-L.
//Transfrer le rsultat dans le mot de mmento MW20.

Contenu

ACCU 1-H-H

ACCU 1-H-L

ACCU 1-L-H

ACCU 1-L-L

avant excution de TAW

valeur A

valeur B

valeur C

valeur D

aprs excution de TAW

valeur A

valeur B

valeur D

valeur C

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

3-13

Oprations de conversion

3.14

TAD

Modifier lordre dans laccumulateur 1 (32 bits)

Format
TAD

Description de l'opration
TAD
Cette opration permet d'inverser l'ordre des octets dans l'accumulateur 1. Le rsultat est
rang dans l'accumulateur 1 ; l'accumulateur 2 reste inchang.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
L
TAD
T

MD10
MD20

Explication
//Charger la valeur du double mot de mmento MD10 dans l'accumulateur 1.
//Inverser l'ordre des octets dans l'accumulateur 1.
//Transfrer le rsultat dans le double mot de mmento MD20.

Contenu

ACCU 1-H-H

ACCU 1-H-L

ACCU 1-L-H

ACCU 1-L-L

avant excution de TAD

valeur A

valeur B

valeur C

valeur D

aprs excution de TAD

valeur D

valeur C

valeur B

valeur A

3-14

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de conversion

3.15

RND

Arrondir l'entier

Format
RND

Description de l'opration
RND (Conversion d'un nombre virgule flottante IEEE de 32 bits en entier de 32 bits)
Cette opration value le contenu de l'accumulateur 1 comme nombre virgule flottante
IEEE de 32 bits, le convertit en un nombre entier de 32 bits et arrondit le rsultat au nombre
entier le plus proche. Si la partie fractionnaire du nombre converti se situe exactement entre
un rsultat pair et un rsultat impair, l'opration choisit le rsultat pair. Si le nombre est hors
de la plage correcte, les bits d'tat DEB et DM sont mis 1.
Si le nombre n'est pas un nombre virgule flottante ou est un nombre virgule flottante qui
ne peut pas tre reprsent comme entier de 32 bits, la conversion n'a pas lieu et un
dbordement est signal.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
L

MD10

RND

MD20

Explication
//Charger dans l'accumulateur 1 le nombre virgule flottante IEEE de
32 bits.
//Convertir le nombre virgule flottante IEEE de 32 bits en un nombre
entier de 32 bits et arrondir au nombre entier le plus proche. Ranger le
rsultat dans l'accumulateur 1.
//Transfrer le rsultat (entier de 32 bits) dans le double mot de mmento
MD20.

Valeur avant la conversion

Valeur aprs la conversion

MD10 = "100.5"

=> RND =>

MD20 = "+100"

MD10 = "-100.5"

=> RND =>

MD20 = "-100"

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

3-15

Oprations de conversion

3.16

TRUNC

Arrondir par troncature

Format
TRUNC

Description de l'opration
TRUNC (Conversion d'un nombre virgule flottante IEEE de 32 bits en nombre entier de
32 bits)
Cette opration value le contenu de l'accumulateur 1 comme nombre virgule flottante
IEEE de 32 bits et le convertit en un nombre entier de 32 bits. Le rsultat correspond la
partie entire du nombre virgule flottante converti (mode d'arrondi IEEE "arrondi zro").
Si le nombre est hors de la plage correcte, les bits d'tat DEB et DM sont mis 1. Le rsultat
est rang dans l'accumulateur 1.
Si le nombre n'est pas un nombre virgule flottante ou est un nombre virgule flottante qui
ne peut pas tre reprsent comme entier de 32 bits, la conversion n'a pas lieu et un
dbordement est signal.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
L

MD10

TRUNC

MD20

Explication
//Charger dans l'accumulateur 1 le nombre virgule flottante IEEE de
32 bits.
//Convertir le nombre virgule flottante de 32 bits en un nombre entier
de 32 bits et conserver la partie entire. Ranger le rsultat dans
l'accumulateur 1.
//Transfrer le rsultat (entier de 32 bits) dans le double mot de mmento
MD20.

Valeur avant la conversion

Valeur aprs la conversion

MD10 = "100.5"

=> TRUNC =>

MD20 = "+100"

MD10 = "-100.5"

=> TRUNC =>

MD20 = "-100"

3-16

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de conversion

3.17

RND+

Arrondir l'entier suprieur

Format
RND+

Description de l'opration
RND+ (Conversion d'un nombre virgule flottante IEEE de 32 bits en entier de 32 bits)
Cette opration value le contenu de l'accumulateur 1 comme nombre virgule flottante
IEEE de 32 bits, le convertit en un nombre entier de 32 bits et arrondit le rsultat au plus
petit nombre entier suprieur ou gal au nombre virgule flottante converti (mode d'arrondi
IEEE "arrondi +infini"). Si le nombre est hors de la plage correcte, les bits d'tat DEB et
DM sont mis 1. Le rsultat est rang dans l'accumulateur 1.
Si le nombre n'est pas un nombre virgule flottante ou est un nombre virgule flottante qui
ne peut pas tre reprsent comme entier de 32 bits, la conversion n'a pas lieu et un
dbordement est signal.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
L

MD10

RND+

MD20

Explication
//Charger dans l'accumulateur 1 le nombre virgule flottante IEEE de
32 bits.
//Convertir le nombre virgule flottante IEEE de 32 bits en un nombre
entier de 32 bits et arrondir au plus petit nombre entier suprieur.
Ranger le rsultat dans l'accumulateur 1.
//Transfrer le rsultat (entier de 32 bits) dans le double mot de mmento
MD20.

Valeur avant la conversion

Valeur aprs la conversion

MD10 = "100.5"

=> RND+ =>

MD20 = "+101"

MD10 = "-100.5"

=> RND+ =>

MD20 = "-100"

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

3-17

Oprations de conversion

3.18

RND-

Arrondir l'entier infrieur

Format
RND-

Description de l'opration
RND- (Conversion d'un nombre virgule flottante IEEE de 32 bits en entier de 32 bits)
Cette opration value le contenu de l'accumulateur 1 comme nombre virgule flottante
IEEE de 32 bits, le convertit en un nombre entier de 32 bits et arrondit le rsultat au plus
grand nombre entier infrieur ou gal au nombre virgule flottante converti (mode d'arrondi
IEEE "arrondi -infini"). Si le nombre est hors de la plage correcte, les bits d'tat DEB et DM
sont mis 1. Le rsultat est rang dans l'accumulateur 1.
Si le nombre n'est pas un nombre virgule flottante ou est un nombre virgule flottante qui
ne peut pas tre reprsent comme entier de 32 bits, la conversion n'a pas lieu et un
dbordement est signal.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
L

MD10

RND-

MD20

Explication
//Charger dans l'accumulateur 1 le nombre virgule flottante IEEE de
32 bits.
//Convertir le nombre virgule flottante IEEE de 32 bits en un nombre
entier de 32 bits et arrondir au plus grand nombre entier infrieur.
Ranger le rsultat dans l'accumulateur 1.
//Transfrer le rsultat (entier de 32 bits) dans le double mot de mmento
MD20.

Valeur avant la conversion

Valeur aprs la conversion

MD10 = "100.5"

=> RND- =>

MD20 = "+100"

MD10 = "-100.5"

=> RND- =>

MD20 = "-101"

3-18

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

4.1

Oprations de comptage

Vue d'ensemble des oprations de comptage

Description
Un compteur est un lment fonctionnel du logiciel de programmation STEP 7. Une zone est
rserve aux compteurs dans la mmoire de votre CPU. Cette zone de mmoire rserve un
mot de 16 bits chaque compteur. La programmation avec LIST prend en charge 256
compteurs. Le nombre de compteurs disponibles dans votre CPU figure dans les
caractristiques techniques. Les oprations de comptage sont les seules fonctions qui ont
accs la zone de mmoire rserve aux compteurs.
Vous disposez des oprations de comptage suivantes :

FR

Valider compteur

Charger valeur de comptage en cours comme entier dans l'accumulateur 1

LC

Charger valeur de comptage en cours comme nombre DCB dans l'accumulateur 1

Remettre compteur zro

Initialiser compteur

ZV

Incrmenter

ZR

Dcrmenter

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

4-1

Oprations de comptage

4.2

FR

Valider compteur

Format
FR <compteur>
Paramtre

Type de
donnes

Zone de
mmoire

Description

<compteur>

COUNTER

Compteur ; la plage dpend de la CPU.

Description de l'opration
FR <compteur> efface le mmento de front qui active l'incrmentation ou la dcrmentation
pour le compteur en accs si le rsultat logique RLG passe de 0 1. La validation du
compteur n'est pas requise pour initialiser un compteur ou excuter la fonction de comptage
normale. Cela signifie que, malgr un RLG constant de 1 aux instructions Initialiser
compteur, Incrmenter ou Dcrmenter, ces oprations sont nouveau excutes aprs la
validation.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
U
FR

4-2

E 2.0
Z3

Explication
//Interroger l'tat de signal l'entre E 2.0.
//Valider le compteur Z3 si le RLG passe de 0 1.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de comptage

4.3

L Charger valeur de comptage en cours comme entier dans


laccumulateur 1

Format
L <compteur>
Paramtre

Type de
donnes

Zone de
mmoire

Description

<compteur>

COUNTER

Compteur ; la plage dpend de la CPU.

Description de l'opration
L <compteur> charge la valeur de comptage en cours du compteur en accs comme
nombre entier dans l'accumulateur 1-L aprs sauvegarde du contenu de l'accumulateur 1
dans l'accumulateur 2.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
L

Z3

Mot de
compteur
pour Z3 en
mmoire

Explication
//Charger la valeur de comptage du compteur Z3 en format binaire dans
laccumulateur 1-L.

15

14

13

12

11

10

Valeur de compteur (0 999) binaire

Contenu de
lACCU 1-L
aprs l'instruction
L Z3

15

14

13

12

Tous "0"

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

11

10

Z3

Valeur de compteur (0 999) binaire

4-3

Oprations de comptage

4.4

LC Charger valeur de comptage en cours comme nombre


DCB dans laccumulateur 1

Format
LC <compteur>
Paramtre

Type de
donnes

Zone de
mmoire

Description

<compteur>

COUNTER

Compteur ; la plage dpend de la CPU.

Description de l'opration
LC <compteur> charge la valeur de comptage en cours du compteur en accs comme
nombre DCB dans l'accumulateur 1 aprs sauvegarde du contenu de l'accumulateur 1 dans
l'accumulateur 2.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
LC

Z3

Mot de
comptage
pour Z3 en
mmoire

Explication
//Charger la valeur de comptage du compteur Z3 en format DCB dans
laccumulateur 1-L.

15

14

13

12

11

10

Valeur de comptage (de 0 999) binaire

LC

Contenu de
0
0
0
0
lACCU1-L
aprs l'instruction
15
14
13
12
2
2
2
2
LC Z3

11

2
2

10

10 Centaines

2
1

Z3

10 Dizaines

10 Units

Valeur de comptage en format DCB

4-4

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de comptage

4.5

Remettre compteur zro

Format
R <compteur>
Paramtre

Type de
donnes

Zone de
mmoire

Description

<compteur>

COUNTER

Compteur ; la plage dpend de la CPU.

Description de l'opration
R <compteur> charge la valeur de comptage 0 dans le compteur en accs si le RLG
gale 1.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
U
R

E 2.3
Z3

Explication
//Interroger l'tat de signal l'entre E 2.3.
//Remettre le compteur Z3 0 si le RLG passe de 0 1.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

4-5

Oprations de comptage

4.6

Initialiser compteur

Format
S <compteur>
Paramtre

Type de
donnes

Zone de
mmoire

Description

<compteur>

COUNTER

Compteur ; la plage dpend de la CPU.

Description de l'opration
S <compteur> charge la valeur de comptage figurant dans laccumulateur 1-L dans le
compteur concern si le RLG passe de 0 1. La valeur de comptage dans l'accumulateur 1
doit tre un nombre DCB compris entre 0 et 999.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
U
L
S

4-6

E 2.3
C#3
Z1

Explication
//Interroger l'tat de signal l'entre E 2.3.
//Charger la valeur de comptage 3 dans l'accumulateur 1-L.
//Initialiser le compteur Z1 la valeur de comptage si le RLG passe de 0
1.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de comptage

4.7

ZV

Incrmenter

Format
ZV <compteur>
Paramtre

Type de
donnes

Zone de
mmoire

Description

<compteur>

COUNTER

Compteur ; la plage dpend de la CPU.

Description de l'opration
ZV <compteur> incrmente d'1 la valeur de comptage du compteur en accs si le rsultat
logique RLG passe de 0 1 et si la valeur de comptage est infrieure 999. Si la valeur de
comptage atteint sa limite suprieure de 999, l'incrmentation s'arrte. Une modification
suivante du RLG n'a aucun effet. Le bit de dbordement (DEB) n'est pas mis 1.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
U
ZV

E 2.1
Z3

Explication
//Interroger l'tat de signal l'entre E 2.1.
//Incrmenter d'1 le compteur Z3 si le RLG passe de 0 1.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

4-7

Oprations de comptage

4.8

ZR

Dcrmenter

Format
ZR <compteur>
Paramtre

Type de
donnes

Zone de
mmoire

Description

<compteur>

COUNTER

Compteur ; la plage dpend de la CPU.

Description de l'opration
ZR <compteur> dcrmente d'1 la valeur de comptage du compteur en accs si le rsultat
logique RLG passe de 0 1 et si la valeur de comptage est suprieure 0. Si le compteur
atteint sa limite infrieure de 0, la dcrmentation s'arrte. Une modification suivante du
RLG n'a aucun effet, car le compteur n'opre pas avec des valeurs ngatives.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
L
U
S
U
ZR

C#14
E 0.1
Z1
E 0.0
Z1

UN
=

Z1
A 0.0

4-8

Explication
//Valeur prdfinie du compteur
//Compteur initialis aprs dtection du front montant l'entre E 0.1.
//Charger la valeur prdfinie dans le compteur Z1 si celui-ci est valid.
//Enlever 1 chaque front montant l'entre E 0.0.
//Dcrmenter d'1 le compteur Z1 si le RLG passe de 0 1 en fonction de
l'entre E 0.0.
//Dtection de 0 avec le bit Z1
//Si la valeur du compteur Z1 gale 0, la sortie A 0.0 donne 1.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

5.1

Oprations sur blocs de donnes

Vue d'ensemble des oprations sur blocs de donnes

Description
Lopration AUF (ouvrir bloc de donnes) permet douvrir un bloc de donnes global ou un
bloc de donnes dinstance. Un bloc de donnes global et un bloc de donnes dinstance
peuvent tre ouverts simultanment dans le programme.
Vous disposez des oprations sur bloc de donnes suivantes :

AUF

Ouvrir bloc de donnes

TDB

Permuter DB global et DB d'instance

L DBLG

Charger longueur de DB global dans l'accumulateur 1

L DBNO Charger numro de DB global dans l'accumulateur 1

L DILG

Charger longueur de DB d'instance dans l'accumulateur 1

L DINO

Charger numro de DB d'instance dans l'accumulateur 1

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

5-1

Oprations sur blocs de donnes

5.2

AUF Ouvrir bloc de donnes

Format
AUF <bloc de donnes>
Oprande

Type de blocs de donnes

Adresse source

<bloc de donnes >

DB, DI

1 65535

Description de l'opration
AUF <bloc de donnes>
Cette opration ouvre un bloc de donnes comme bloc de donnes global ou comme bloc
de donnes d'instance. C'est chaque fois un bloc de donnes global et un bloc de donnes
d'instance qui peuvent tre ouverts simultanment.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
AUF
L

DB10
DBW35

MW22

AUF
L

DI20
DIB12

DBB37

5-2

Explication
//Ouvrir le bloc de donnes DB10 comme bloc de donnes global.
//Charger dans l'accumulateur 1-L le mot de donnes DBW35 du bloc de
donnes ouvert
//Transfrer le contenu de l'accumulateur 1-L dans le mot de mmentos
MW22.
//Ouvrir le bloc de donnes DB20 comme bloc de donnes d'instance.
//Charger dans l'accumulateur 1-L-L. l'octet de donnes DIB12 du bloc de
donnes d'instance ouvert
//Transfrer le contenu de l'accumulateur 1-L-L dans l'octet de donnes
DBB37 du bloc de donnes global ouvert.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations sur blocs de donnes

5.3

TDB

Permuter DB global et DB dinstance

Format
TDB

Description de l'opration
TDB permute les registres de bloc de donnes. Un bloc de donnes global devient ainsi bloc
de donnes d'instance et vice versa.

Mot d'tat
Ecriture :

5.4

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

L DBLG Charger longueur de DB global dans


laccumulateur 1

Format
L DBLG

Description de l'opration
L DBLG (Charger longueur de DB global)
Cette opration charge la longueur du bloc de donnes global dans l'accumulateur 1 une fois
que l'ancien contenu de l'accumulateur 1 a t sauvegard dans l'accumulateur 2.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
AUF
L
L

DB10
DBLG
MD10

<D
SPB

ERRO

Explication
//Ouvrir le bloc de donnes DB10 comme bloc de donnes global.
//Charger la longueur du bloc de donnes global (longueur de DB10).
//Valeur de comparaison pour dterminer si le bloc de donnes est
suffisamment long.
//Saut au repre de saut ERRO si la longueur est infrieure la valeur
figurant dans le mot de mmento MD10.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

5-3

Oprations sur blocs de donnes

5.5

L DBNO Charger numro de DB global dans


l'accumulateur 1

Format
L DBNO

Description de l'opration
L DBNO (Charger le numro de DB global)
Cette opration charge dans l'accumulateur 1 le numro du bloc de donnes global ouvert
une fois que l'ancien contenu de l'accumulateur 1 a t sauvegard dans l'accumulateur 2.

Mot d'tat
Ecriture :

5.6

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

L DILG Charger longueur de DB dinstance dans


laccumulateur 1

Format
L DILG

Description de l'opration
L DILG (Charger longueur de DB dinstance)
Cette opration charge dans l'accumulateur 1 la longueur du bloc de donnes d'instance une
fois que l'ancien contenu de l'accumulateur 1 a t sauvegard dans l'accumulateur 2.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
AUF
L
L

DI20
DILG
MW10

<I
SPB

ERRO

5-4

Explication
//Ouvrir le bloc de donnes DB20 comme bloc de donnes d'instance.
//Charger la longueur du bloc de donnes d'instance (longueur de DB20).
//Valeur de comparaison pour dterminer si le bloc de donnes est
suffisamment long.
//Saut au repre de saut ERRO si la longueur est infrieure la valeur
figurant dans le mot de mmento MW10.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations sur blocs de donnes

5.7

L DINO Charger numro de DB d'instance dans


l'accumulateur 1

Format
L DINO

Description de l'opration
L DINO (Charger numro de DB d'instance)
Cette opration charge dans l'accumulateur 1 le numro du bloc de donnes d'instance
ouvert une fois que l'ancien contenu de l'accumulateur 1 a t sauvegard dans
l'accumulateur 2.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

5-5

Oprations sur blocs de donnes

5-6

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

6.1

Oprations de saut

Vue d'ensemble des oprations de saut

Description
Les oprations de saut et de boucle suivantes permettent de grer le droulement de votre
programme. Elles interrompent le droulement linaire de votre programme afin de
reprendre son excution un endroit diffrent. Loprande dune opration de saut ou de
boucle est un repre de saut.

Nota
Dans les programmes pour les CPU S7-300, veiller ce que la destination du saut soit
toujours le dbut dune squence dinstructions combinatoires (pas obligatoire pour 318-2).
La destination du saut ne doit pas se trouver lintrieur de la squence dinstructions
combinatoires.

Les oprations de saut suivantes permettent dinterrompre la squence normale de votre


programme de manire inconditionnelle :

SPA

Saut inconditionnel

SPL

Saut vers liste

Les oprations de saut suivantes interrompent la squence normale dans votre programme
selon le rsultat logique RLG gnr par linstruction prcdente :

SPB

Saut si RLG est 1

SPBN

Saut si RLG est 0

SPBB

Saut si RLG est 1 avec RB

SPBNB Saut si RLG est 0 avec RB

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

6-1

Oprations de saut

Les oprations de saut suivantes interrompent la squence normale dans votre programme
selon ltat de signal dun bit du mot dtat :

SPBI

SPBIN Saut si RB est 0

SPO

Saut si DEB est 1

SPS

Saut si DM est 1

Saut si RB est 1

Les oprations de saut suivantes interrompent la squence normale dans votre programme
selon le rsultat dun calcul :

6-2

SPZ

Saut si gal 0

SPN

Saut si diffrent de 0

SPP

Saut si plus

SPM

Saut si moins

SPPZ

Saut si suprieur ou gal 0

SPMZ

Saut si infrieur ou gal 0

SPU

Saut si illicite

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de saut

6.2

SPA

Saut inconditionnel

Format
SPA <repre de saut>
Oprande

Description

<repre de saut>

Nom de la destination de saut.

Description de l'opration
SPA <repre de saut>
Cette opration interrompt la squence logique normale de votre programme et provoque
quel que soit le contenu du mot d'tat le saut la destination o le traitement du
programme doit continuer. La destination de saut est prcise par un repre. Le saut peut
s'excuter aussi bien vers l'avant que vers l'arrire, mais absolument l'intrieur d'un bloc
(l'instruction de saut et le repre de saut doivent se trouver l'intrieur du mme bloc). La
destination de saut l'intrieur de ce bloc doit tre unique. La porte de saut maximale est
de -32768 ou +32767 mots du code de programme. Le nombre maximal rel d'instructions
pouvant tre sautes dpend de la combinaison des instructions l'intrieur du programme
(instructions un, deux ou trois mots).

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST

EFFA:
AVAN:

Explication
U
U
SPB
L
INC
T
SPA
L
T
U

E 1.0
E 1.2
EFFA
MB10
1
MB10
AVAN
0
MB10
E 2.1

//Saut au repre de saut EFFA si le RLG gale 1.

//Saut inconditionnel au repre de saut AVAN.

//La squence de programme se poursuit ici aprs le saut au repre AVAN.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

6-3

Oprations de saut

6.3

SPL

Saut vers liste

Format
SPL <repre de saut>
Oprande

Description

<repre de saut>

Nom de la destination de saut.

Description de l'opration
SPL <repre de saut>
L'opration "Saut vers liste" permet de programmer une srie de sauts. La liste de
destinations qui contient 255 entres au maximum suit directement l'opration SPL et se
termine avant le repre de saut prcis comme oprande de SPL. Chaque destination de
saut correspond une opration SPA. Le nombre des destinations de saut (0 255) figure
dans l'accumulateur 1-L-L.
Tant que le contenu de l'ACCU est infrieur au nombre de destinations de saut entre
l'instruction SPL et le repre de saut, l'opration SPL saute vers l'une des oprations SPA.
Si l'accumulateur 1-L-L gale 0, le saut a lieu vers la premire opration SPA ; si
l'accumulateur 1-L-L gale 1, le saut s'excute vers la deuxime opration SPA, etc. Si le
nombre des destinations de saut est trop grand, l'opration SPL saute la premire
instruction suivant la dernire opration SPA dans la liste de destinations.
La liste de destinations de saut doit tre compose d'oprations SPA se situant avant le
repre de saut prcis en oprande de l'instruction SPL. D'autres oprations dans la liste ne
sont pas autorises.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST

LSTX:
SEG0:

SEG1:

SEG3:

COMM:

6-4

L
SPL
SPA
SPA
SPA
SPA
SPA
*
*
SPA
*
*
SPA
*
*
SPA
*
*

MB0
LSTX
SEG0
SEG1
COMM
SEG3
COMM

Explication
//Charger le numro de la destination de saut
//Destination de saut si l'accumulateur 1-L-L
//Destination de saut si l'accumulateur 1-L-L
//Destination de saut si l'accumulateur 1-L-L
//Destination de saut si l'accumulateur 1-L-L
//Destination de saut si l'accumulateur 1-L-L

dans l'accumulateur 1-L-L.


est suprieur 3.
gale 0.
gale 1.
gale 2.
gale 3.

//Instruction autorise.
COMM
//Instruction autorise.
COMM
//Instruction autorise.
COMM

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de saut

6.4

SPB

Saut si RLG est 1

Format
SPB <repre de saut>
Oprande

Description

<repre de saut>

Nom de la destination de saut.

Description de l'opration
Si le bit d'tat RLG gale 1, l'opration SPB <repre de saut> interrompt la squence
logique normale de votre programme et provoque le saut la destination o le traitement du
programme doit continuer. La destination de saut est prcise par un repre. Le saut peut
s'excuter aussi bien vers l'avant que vers l'arrire, mais absolument l'intrieur d'un bloc
(l'instruction de saut et le repre de saut doivent se trouver l'intrieur du mme bloc). La
destination de saut l'intrieur de ce bloc doit tre unique. La porte de saut maximale est
de -32768 ou +32767 mots du code de programme. Le nombre maximal rel d'instructions
pouvant tre sautes dpend de la combinaison des instructions l'intrieur du programme
(instructions un, deux ou trois mots).
Si RLG gale 0, le saut ne s'excute pas. Le RLG est mis 1 et la squence normale de
votre programme se poursuit par l'instruction suivante.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST

SAUT:

Explication
U
U
SPB
L
T
U

E 1.0
E 1.2
SAUT
EW8
MW22
E 2.1

//Saut au repre de saut SAUT si RLG gale 1.


//La squence de programme se poursuit ici si le saut ne s'excute pas.
//La squence de programme se poursuit ici aprs le saut au repre SAUT.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

6-5

Oprations de saut

6.5

SPBN

Saut si RLG est 0

Format
SPBN <repre de saut>
Oprande

Description

<repre de saut>

Nom de la destination de saut.

Description de l'opration
Si le RLG gale 1, l'opration SPBN <repre de saut> interrompt la squence logique
normale de votre programme et provoque le saut la destination o le traitement du
programme doit continuer. La destination de saut est prcise par un repre. Le saut peut
s'excuter aussi bien vers l'avant que vers l'arrire, mais absolument l'intrieur d'un bloc
(l'instruction de saut et le repre de saut doivent se trouver l'intrieur du mme bloc). La
destination de saut l'intrieur de ce bloc doit tre unique. La porte de saut maximale est
de -32768 ou +32767 mots du code de programme. Le nombre maximal rel d'instructions
pouvant tre sautes dpend de la combinaison des instructions l'intrieur du programme
(instructions un, deux ou trois mots).
Si le RLG gale 1, le saut ne s'excute pas. La squence normale de votre programme se
poursuit par l'instruction suivante.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST

SAUT:

6-6

Explication
U
U
SPBN
L
T
U

E 1.0
E 1.2
SAUT
EW8
MW22
E 2.1

//Saut au repre SAUT si RLG gale 0.


//La squence de programme se poursuit ici si le saut ne s'excute pas.
//La squence de programme se poursuit ici aprs le saut au repre SAUT.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de saut

6.6

SPBB

Saut si RLG est 1 avec RB

Format
SPBB <repre de saut>
Oprande

Description

<repre de saut>

Nom de la destination de saut.

Description de l'opration
Si le RLG gale 1, l'opration SPBB <repre de saut> interrompt la squence logique
normale de votre programme et provoque un saut la destination o le traitement du
programme doit continuer. La destination de saut est prcise par un repre. Le saut peut
s'excuter aussi bien vers l'avant que vers l'arrire, mais absolument l'intrieur d'un bloc
(l'instruction de saut et le repre de saut doivent se trouver l'intrieur du mme bloc). La
destination de saut l'intrieur de ce bloc doit tre unique. La porte de saut maximale est
de -32768 ou +32767 mots du code de programme. Le nombre maximal rel d'instructions
pouvant tre sautes dpend de la combinaison des instructions l'intrieur du programme
(instructions un, deux ou trois mots).
Si le RLG gale 0, le saut ne s'excute pas. Le RLG est mis 1 et la squence normale de
votre programme se poursuit par l'instruction suivante.
Avec l'opration SPBB <repre de saut>, le rsultat logique est copi dans le bit RB, et ce
indpendamment de la valeur du RLG.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST

SAUT:

Explication
U
U
SPBB

E 1.0
E 1.2
SAUT

L
T
U

EW8
MW22
E 2.1

//Saut au repre SAUT si RLG gale 1. Copier le contenu du bit RLG dans
le bit RB.
//La squence de programme se poursuit ici si le saut ne s'excute pas.
//La squence de programme se poursuit ici aprs le saut au repre SAUT.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

6-7

Oprations de saut

6.7

SPBNB

Saut si RLG est 0 avec RB

Format
SPBNB <repre de saut>
Oprande

Description

<repre de saut>

Nom de la destination de saut.

Description de l'opration
Si le RLG gale 0, l'opration SPBNB <repre de saut> interrompt la squence logique
normale de votre programme et provoque le saut la destination o le traitement du
programme doit continuer. La destination de saut est prcise par un repre. Le saut peut
s'excuter aussi bien vers l'avant que vers l'arrire, mais absolument l'intrieur d'un bloc
(l'instruction de saut et le repre de saut doivent se trouver l'intrieur du mme bloc). La
destination de saut l'intrieur de ce bloc doit tre unique. La porte de saut maximale est
de -32768 ou +32767 mots du code de programme. Le nombre maximal rel d'instructions
pouvant tre sautes dpend de la combinaison des instructions l'intrieur du programme
(instructions un, deux ou trois mots).
Si le RLG gale 1, le saut ne s'excute pas. La squence normale de votre programme se
poursuit par l'instruction suivante.
Avec l'opration SPBNB <repre de saut>, le rsultat logique est copi dans le bit RB, et ce
indpendamment de la valeur du RLG.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST

SAUT:

6-8

Explication
U
U
SPBNB

E 1.0
E 1.2
SAUT

L
T
U

EW
MW22
E 2.1

//Saut au repre SAUT si le RLG gale 0. Copier le contenu du bit RLG


dans le bit RB.
//La squence de programme se poursuit ici si le saut ne s'excute pas.
//La squence de programme se poursuit ici aprs le saut au repre SAUT.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de saut

6.8

SPBI

Saut si RB est 1

Format
SPBI <repre de saut>
Oprande

Description

<repre de saut>

Nom de la destination de saut.

Description de l'opration
Si le bit d'tat RB gale 1, l'opration SPBI <repre de saut> interrompt la squence
logique normale de votre programme et provoque le saut la destination o le traitement du
programme doit continuer. La destination de saut est prcise par un repre. Le saut peut
s'excuter aussi bien vers l'avant que vers l'arrire, mais absolument l'intrieur d'un bloc
(l'instruction de saut et le repre de saut doivent se trouver l'intrieur du mme bloc). La
destination de saut l'intrieur de ce bloc doit tre unique. La porte de saut maximale est
de -32768 ou +32767 mots du code de programme. Le nombre maximal rel d'instructions
pouvant tre sautes dpend de la combinaison des instructions l'intrieur du programme
(instructions un, deux ou trois mots).

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

6-9

Oprations de saut

6.9

SPBIN

Saut si RB est 0

Format
SPBIN <repre de saut>
Oprande

Description

<repre de saut>

Nom de la destination de saut.

Description de l'opration
Si le bit d'tat RB gale 0, l'opration SPBIN <repre de saut> interrompt la squence
logique normale de votre programme et provoque le saut la destination o le traitement du
programme doit continuer. La destination de saut est prcise par un repre. Le saut peut
s'excuter aussi bien vers l'avant que vers l'arrire, mais absolument l'intrieur d'un bloc
(l'instruction de saut et le repre de saut doivent se trouver l'intrieur du mme bloc). La
destination de saut l'intrieur de ce bloc doit tre unique. La porte de saut maximale est
de -32768 ou +32767 mots du code de programme. Le nombre maximal rel d'instructions
pouvant tre sautes dpend de la combinaison des instructions l'intrieur du programme
(instructions un, deux ou trois mots).

Mot d'tat
Ecriture :

6-10

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de saut

6.10

SPO

Saut si DEB est 1

Format
SPO <repre de saut>
Oprande

Description

<repre de saut>

Nom de la destination de saut.

Description de l'opration
Si le bit d'tat DEB gale 1, l'opration SPO <repre de saut> interrompt la squence
logique normale de votre programme et provoque le saut la destination o le traitement du
programme doit continuer. La destination de saut est prcise par un repre. Le saut peut
s'excuter aussi bien vers l'avant que vers l'arrire, mais absolument l'intrieur d'un bloc
(l'instruction de saut et le repre de saut doivent se trouver l'intrieur du mme bloc). La
destination de saut l'intrieur de ce bloc doit tre unique. La porte de saut maximale est
de -32768 ou +32767 mots du code de programme. Le nombre maximal rel d'instructions
pouvant tre sautes dpend de la combinaison des instructions l'intrieur du programme
(instructions un, deux ou trois mots). Pour une opration arithmtique combine, il faut
veiller, aprs chaque opration arithmtique individuelle, ce qu'aucun dbordement ne se
produise afin de garantir que chaque rsultat intermdiaire soit l'intrieur de la plage
autorise. Sinon, utilisez l'opration SPS.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST

DEBO:
SUIV:

Explication
L
L
*I
SPO
T
U
R
SPA
UN
S
NOP 0

MW10
3
DEBO
MW10
M 4.0
M 4.0
SUIV
M 4.0
M 4.0

//Multiplication du contenu de MW10 par 3.


//Saut si le rsultat dborde de la plage maximale (DEB gale 1).
//La squence de programme se poursuit ici si le saut ne s'excute pas.

//La squence de programme se poursuit ici aprs le saut au repre DEBO.


//La squence de programme se poursuit ici aprs le saut au repre SUIV.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

6-11

Oprations de saut

6.11

SPS

Saut si DM est 1

Format
SPS <repre de saut>
Oprande

Description

<repre de saut>

Nom de la destination de saut.

Description de l'opration
Si le bit d'tat DM gale 1, l'opration SPS <repre de saut> interrompt la squence logique
normale de votre programme et provoque le saut la destination o le traitement du
programme doit continuer. La destination de saut est prcise par un repre. Le saut peut
s'excuter aussi bien vers l'avant que vers l'arrire, mais absolument l'intrieur d'un bloc
(l'instruction de saut et le repre de saut doivent se trouver l'intrieur du mme bloc). La
destination de saut l'intrieur de ce bloc doit tre unique. La porte de saut maximale est
de -32768 ou +32767 mots du code de programme. Le nombre maximal rel d'instructions
pouvant tre sautes dpend de la combinaison des instructions l'intrieur du programme
(instructions un, deux ou trois mots).

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST

DEBO:
SUIV:

Explication
L
L
*I
L
+I
L
-I
SPS

EW10
MW12

T
U
R
SPA
UN
S
NOP 0

MW16
M 4.0
M 4.0
SUIV
M 4.0
M 4.0

DBW25
MW14
DEBO

//Saut si dbordement dans l'une des 3 oprations prcdentes, DM gale


1 (voir nota).
//La squence de programme se poursuit ici si le saut ne s'excute pas.

//La squence de programme se poursuit ici aprs le saut au repre DEBO.


//La squence de programme se poursuit ici aprs le saut au repre SUIV.

Nota
Dans pareil cas, n'utilisez jamais l'opration SPO qui ne testerait de dbordement que pour
l'opration -I prcdente.

6-12

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de saut

6.12

SPZ

Saut si gal 0

Format
SPZ <repre de saut>
Oprande

Description

<repre de saut>

Nom de la destination de saut.

Description de l'opration
Si le bit d'tat BI1 gale 0 et le bit d'tat BI0 gale 0, l'opration SPZ <repre de saut>
interrompt la squence logique normale de votre programme et provoque le saut la
destination o le traitement du programme doit continuer. La destination de saut est prcise
par un repre. Le saut peut s'excuter aussi bien vers l'avant que vers l'arrire, mais
absolument l'intrieur d'un bloc (l'instruction de saut et le repre de saut doivent se trouver
l'intrieur du mme bloc). La destination de saut l'intrieur de ce bloc doit tre unique. La
porte de saut maximale est de -32768 ou +32767 mots du code de programme. Le nombre
maximal rel d'instructions pouvant tre sautes dpend de la combinaison des instructions
l'intrieur du programme (instructions un, deux ou trois mots).

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST

ZERO:

SUIV:

Explication
L
SRW
SPZ
L
INC
T
SPA
L
INC
T
NOP 0

MW10
1
ZERO
MW2
1
MW2
SUIV
MW4
1
MW4

//Sauter au repre de saut ZERO si le bit dcal gale 0.


//La squence de programme se poursuit ici si le saut ne s'excute pas.

//La squence de programme se poursuit ici aprs le saut au repre ZERO.

//La squence de programme se poursuit ici aprs le saut au repre SUIV.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

6-13

Oprations de saut

6.13

SPN

Saut si diffrent de 0

Format
SPN <repre de saut>
Oprande

Description

<repre de saut>

Nom de la destination de saut.

Description de l'opration
Si le rsultat indiqu par les bits BI1 et BI0 est infrieur ou gal zro (BI1 = 0/BI0 = 1 ou
BI1 = 1/BI0 = 0), l'opration SPN <repre de saut> (Saut si diffrent de 0) interrompt la
squence logique normale de votre programme et provoque un saut la destination o le
traitement du programme doit continuer. La destination de saut est prcise par un repre.
Le saut peut s'excuter aussi bien vers l'avant que vers l'arrire, mais absolument
l'intrieur d'un bloc (l'instruction de saut et le repre de saut doivent se trouver l'intrieur du
mme bloc). La destination de saut l'intrieur de ce bloc doit tre unique. La porte de saut
maximale est de -32768 ou +32767 mots du code de programme. Le nombre maximal rel
d'instructions pouvant tre sautes dpend de la combinaison des instructions l'intrieur
du programme (instructions un, deux ou trois mots).

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST

DIZE:
SUIV:

6-14

Explication
L
L
XOW
SPN
UN
S
SPA
UN
S
NOP 0

EW8
MW12
DIZE
M 4.0
M 4.0
SUIV
M 4.1
M 4.1

//Saut si le contenu de l'accumulateur 1-L est diffrent de 0.


//La squence de programme se poursuit ici si le saut ne s'excute pas.

//La squence de programme se poursuit ici aprs le saut au repre DIZE.


//La squence de programme se poursuit ici aprs le saut au repre SUIV.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de saut

6.14

SPP

Saut si plus

Format
SPP <repre de saut>
Oprande

Description

<repre de saut>

Nom de la destination de saut.

Description de l'opration
Si le bit d'tat BI1 gale 1 et si le bit d'tat BI0 gale 0, l'opration SPP <repre de saut>
interrompt la squence logique normale de votre programme et provoque le saut la
destination o le traitement du programme doit continuer. La destination de saut est prcise
par un repre. Le saut peut s'excuter aussi bien vers l'avant que vers l'arrire, mais
absolument l'intrieur d'un bloc (l'instruction de saut et le repre de saut doivent se trouver
l'intrieur du mme bloc). La destination de saut l'intrieur de ce bloc doit tre unique. La
porte de saut maximale est de -32768 ou +32767 mots du code de programme. Le nombre
maximal rel d'instructions pouvant tre sautes dpend de la combinaison des instructions
l'intrieur du programme (instructions un, deux ou trois mots).

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST

POS:
SUIV:

Explication
L
L
-I
SPP

EW8
MW12

UN
S
SPA
UN
S
NOP 0

M 4.0
M 4.0
SUIV
M 4.1
M 4.1

POS

//Soustraction du contenu de MW12 du contenu de EW8.


//Saut si le rsultat est suprieur 0 (c'est--dire contenu de
l'accumulateur 1 > 0).
//La squence de programme se poursuit ici si le saut ne s'excute pas.

//La squence de programme se poursuit ici aprs le saut au repre POS.


//La squence de programme se poursuit ici aprs le saut au repre SUIV.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

6-15

Oprations de saut

6.15

SPM

Saut si moins

Format
SPM <repre de saut>
Oprande

Description

<repre de saut>

Nom de la destination de saut.

Description de l'opration
Si le bit d'tat BI1 gale 0 et si le bit BI0 gale 1, l'opration SPM <repre de saut>
interrompt la squence logique normale de votre programme et provoque un saut la
destination o le traitement du programme doit continuer. La destination de saut est prcise
par un repre. Le saut peut s'excuter aussi bien vers l'avant que vers l'arrire, mais
absolument l'intrieur d'un bloc (l'instruction de saut et le repre de saut doivent se trouver
l'intrieur du mme bloc). La destination de saut l'intrieur de ce bloc doit tre unique. La
porte de saut maximale est de -32768 ou +32767 mots du code de programme. Le nombre
maximal rel d'instructions pouvant tre sautes dpend de la combinaison des instructions
l'intrieur du programme (instructions un, deux ou trois mots).

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST

NEG:
SUIV:

6-16

Explication
L
L
-I
SPM

EW8
MW12

UN
S
SPA
UN
S
NOP 0

M 4.0
M 4.0
SUIV
M 4.1
M 4.1

NEG

//Soustraction du contenu de MW12 du contenu de EW8.


//Saut si rsultat infrieur 0 (c'est--dire contenu de l'accumulateur
1 < 0).
//La squence de programme se poursuit ici si le saut ne s'excute pas.

//La squence de programme se poursuit ici aprs le saut au repre NEG.


//La squence de programme se poursuit ici aprs le saut au repre SUIV.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de saut

6.16

SPPZ

Saut si suprieur ou gal 0

Format
SPPZ <repre de saut>
Oprande

Description

<repre de saut>

Nom de la destination de saut.

Description de l'opration
Si le rsultat indiqu par les bits d'tat BI1 et BI0 est suprieur ou gal 0 (BI1 = 0/BI0 = 0
ou BI1 = 1/BI0 = 0), l'opration SPPZ <repre de saut> (Saut si >= 0) interrompt la
squence logique normale de votre programme et provoque le saut la destination o le
traitement du programme doit continuer. La destination de saut est prcise par un repre.
Le saut peut s'excuter aussi bien vers l'avant que vers l'arrire, mais absolument
l'intrieur d'un bloc (l'instruction de saut et le repre de saut doivent se trouver l'intrieur du
mme bloc). La destination de saut l'intrieur de ce bloc doit tre unique. La porte de saut
maximale est de -32768 ou +32767 mots du code de programme. Le nombre maximal rel
d'instructions pouvant tre sautes dpend de la combinaison des instructions l'intrieur
du programme (instructions un, deux ou trois mots).

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST

REG0:
SUIV:

Explication
L
L
-I
SPPZ

EW8
MW12

UN
S
SPA
UN
S
NOP 0

M 4.0
M 4.0
SUIV
M 4.1
M 4.1

REG0

//Soustraction du contenu de MW12 du contenu de EW8.


//Saut si le rsultat est suprieur ou gal 0 (c'est--dire contenu de
l'accumulateur 1 >= 0).
//La squence de programme se poursuit ici si le saut ne s'excute pas.

//La squence de programme se poursuit ici aprs le saut au repre REG0.


//La squence de programme se poursuit ici aprs le saut au repre SUIV.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

6-17

Oprations de saut

6.17

SPMZ

Saut si infrieur ou gal 0

Format
SPMZ <repre de saut>
Oprande

Description

<repre de saut>

Nom de la destination de saut.

Description de l'opration
Si le rsultat indiqu par les bits BI1 et BI0 est infrieur ou gal zro (BI1 = 0/BI0 = 0 ou
BI1 = 0/BI0 = 1), l'opration SPMZ <repre de saut> (Saut si <= 0) interrompt la squence
logique normale de votre programme et provoque le saut la destination o le traitement du
programme doit continuer. La destination de saut est prcise par un repre. Le saut peut
s'excuter aussi bien vers l'avant que vers l'arrire, mais absolument l'intrieur d'un bloc
(l'instruction de saut et le repre de saut doivent se trouver l'intrieur du mme bloc). La
destination de saut l'intrieur de ce bloc doit tre unique. La porte de saut maximale est
de -32768 ou +32767 mots du code de programme. Le nombre maximal rel d'instructions
pouvant tre sautes dpend de la combinaison des instructions l'intrieur du programme
(instructions un, deux ou trois mots).

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST

RGE0:
SUIV:

6-18

Explication
L
L
-I
SPMZ
UN
S
SPA
UN
S
NOP 0

EW8
MW12
RGE0
M 4.0
M 4.0
SUIV
M 4.1
M 4.1

//Soustraction du contenu de MW12 du contenu de EW8.


//Saut si rsultat <= 0 (c'est--dire contenu de l'accumulateur 1 <= 0).
//La squence de programme se poursuit ici si le saut ne s'excute pas.

//La squence de programme se poursuit ici aprs le saut au repre RGE0.


//La squence de programme se poursuit ici aprs le saut au repre SUIV.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de saut

6.18

SPU

Saut si illicite

Format
SPU <repre de saut>
Oprande

Description

<repre de saut>

Nom de la destination de saut.

Description de l'opration
Si le bit d'tat BI1 gale 1 et le bit d'tat BI0 gale 1, l'opration SPU <repre de saut>
interrompt la squence logique normale de votre programme et provoque le saut la
destination o le traitement du programme doit continuer. La destination de saut est prcise
par un repre. Le saut peut s'excuter aussi bien vers l'avant que vers l'arrire, mais
absolument l'intrieur d'un bloc (l'instruction de saut et le repre de saut doivent se trouver
l'intrieur du mme bloc). La destination de saut l'intrieur de ce bloc doit tre unique. La
porte de saut maximale est de -32768 ou +32767 mots du code de programme. Le nombre
maximal rel d'instructions pouvant tre sautes dpend de la combinaison des instructions
l'intrieur du programme (instructions un, deux ou trois mots).
Les bits d'tat BI1 et BI0 sont tous deux 1 en cas :

de division par 0,

d'utilisation d'oprations illicites ou

de rsultat illicite d'une comparaison de nombres virgule flottante (utilisation d'un


format illicite).

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST

ERRE:
SUIV:

Explication
L
L
/D
SPU
T
U
R
SPA
UN
S
NOP 0

MD10
ED2
ERRE
MD14
M 4.0
M 4.0
SUIV
M 4.0
M 4.0

//Division du contenu de MD10 par le contenu de ED2.


//Saut si division par 0 (c'est--dire ED2 = 0).
//La squence de programme se poursuit ici si le saut ne s'excute pas.

//La squence de programme se poursuit ici aprs le saut au repre ERRE.


//La squence de programme se poursuit ici aprs le saut au repre SUIV.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

6-19

Oprations de saut

6.19

LOOP

Boucle de programme

Format
LOOP <repre de saut>
Oprande

Description

<repre de saut>

Nom de la destination de saut.

Description de l'opration
LOOP <repre de saut> (Dcrmenter l'accumulateur 1-L et sauter si accumulateur 1-L
diffrent de 0)
Cette opration simplifie la programmation de boucles. Le compteur de boucles est un
nombre entier non sign de 16 bits qui se trouve dans l'accumulateur 1-L. L'instruction saute
au repre de saut indiqu tant que le contenu de l'accumulateur 1-L est diffrent de 0. Le
traitement du programme se poursuit la destination de saut prcise par un repre. Le
saut peut s'excuter aussi bien vers l'avant que vers l'arrire, mais absolument l'intrieur
d'un bloc (l'opration "Boucle de programme" et le repre de saut doivent se trouver
l'intrieur du mme bloc). La destination de saut l'intrieur de ce bloc doit tre unique. La
porte de saut maximale est de -32768 ou +32767 mots du code de programme. Le nombre
maximal rel d'instructions pouvant tre sautes dpend de la combinaison des instructions
l'intrieur du programme (instructions un, deux ou trois mots).

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple de calcul de la factorielle de 5 (5!)


LIST

SUIV:

6-20

L
T
L
T

L#1
MD20
5
MW10

L
*

MD20
D

T
L
LOOP

MD20
MW10
SUIV

L
L
>I

MW24
200

Explication
//Charger la constante entire de 32 bits dans l'accumulateur 1.
//Transfrer le contenu de l'accumulateur 1 dans MD20 (initialisation).
//Charger le nombre de boucles dans l'accumulateur 1-L.
//Repre de saut = dbut de la boucle/Transfrer l'accumulateur 1-L dans
le compteur de boucles.
//Multiplier le contenu en cours de MD20 par le contenu en cours de
MB10.
//Transfrer le rsultat de la multiplication dans MD20.
//Charger le contenu du compteur de boucles dans l'accumulateur 1.
//Dcrmenter le contenu de l'accumulateur 1 et sauter au repre SUIV si
l'accumulateur 1-L est suprieur 0.
//La squence de programme se poursuit ici aprs la fin de la boucle.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

7.1

Fonctions sur nombres entiers

Vue d'ensemble des oprations arithmtiques sur nombre


entiers

Description
Les oprations arithmtiques combinent le contenu des accumulateurs 1 et 2. Le rsultat est
rang dans laccumulateur 1. Le contenu de laccumulateur 2 reste inchang.
Pour les CPU quatre accumulateurs, le contenu de laccumulateur 3 est ensuite copi
dans laccumulateur 2 et le contenu de laccumulateur 4 est copi dans laccumulateur 3. Le
contenu de laccumulateur 4 reste inchang.
Les oprations arithmtiques sur nombres entiers permettent dexcuter les fonctions
arithmtiques suivantes sur deux nombres entiers (16 et 32 bits) :

+I

Additionner accumulateurs 1 et 2 (entiers de 16 bits)

-I

Soustraire accumulateur 1 de accumulateur 2 (entiers de 16 bits)

/I

Diviser accumulateur 2 par accumulateur 1 (entiers de 16 bits)

*I

Multiplier accumulateur 1 par accumulateur 2 (entiers de 16 bits)

Additionner constante entire (16, 32 bits)

+D

Additionner accumulateurs 1 et 2 (entiers de 32 bits)

-D

Soustraire accumulateur 1 de accumulateur 2 (entiers de 32 bits)

*D

Multiplier accumulateur 1 par accumulateur 2 (entiers de 32 bits)

/D

Diviser accumulateur 2 par accumulateur 1 (entiers de 32 bits)

MOD Reste de division entire (32 bits)

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

Langage LIST pour SIMATIC S7-300/400


A5E00261419-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 LIST pour SIMATIC S7-300/400


A5E00261419-01

Fonctions sur nombres entiers

7.3

+I

Additionner accumulateurs 1 et 2 (entiers de 16 bits)

Format
+I

Description de l'opration
+I (Additionner entiers de 16 bits)
Cette opration additionne le contenu de l'accumulateur 1-L celui de l'accumulateur 2-L et
sauvegarde le rsultat dans l'accumulateur 1-L. Les contenus de l'accumulateur 1-L et de
l'accumulateur 2-L sont valus comme nombres entiers de 16 bits. L'opration s'excute
sans tenir compte du RLG ni influer sur lui. Les bits d'tat BI1, BI0, DM et DEB sont mis 1
comme rsultat de l'opration. En cas de dbordement haut ou bas, le rsultat de l'opration
n'est pas un entier de 32 bits, mais un entier de 16 bits.
Le contenu de l'accumulateur 2 reste inchang pour les CPU deux accumulateurs.
Pour les CPU quatre accumulateurs, le contenu de l'accumulateur 3 est copi dans
l'accumulateur 2 et celui de l'accumulateur 4 dans l'accumulateur 3. Le contenu de
l'accumulateur 4 reste inchang.
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

BI1

BI0

DEB

DM

Formation des bits d'tat


somme

-32768

<=

somme <

32767

>=

somme >

somme

-65536

65534

>=

somme >

32767

-65535

<=

somme <

-32768

Exemple
LIST
L

EW10

MW14

+I
T

DB1.DBW25

Explication
//Charger dans l'accumulateur 1-L la valeur figurant dans le mot d'entre
EW10.
//Charger le contenu de l'accumulateur 1-L dans l'accumulateur 2-L.
Charger la valeur figurant dans le mot de mmento MW14 dans l'accumulateur
1-L.
//Additionner l'accumulateur 2-L et l'accumulateur 1-L et sauvegarder le
rsultat dans l'accumulateur 1-L.
//Le contenu de l'accumulateur 1-L (rsultat) est transfr au mot de
donnes DBW25 dans DB1.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

7-3

Fonctions sur nombres entiers

7.4

-I Soustraire accumulateur 1 de accumulateur 2


(entiers de 16 bits)

Format
-I

Description de l'opration
-I (Soustraire entiers de 16 bits) soustrait le contenu de laccumulateur 1-L de celui de
l'accumulateur 2-L et sauvegarde le rsultat dans l'accumulateur 1-L. Les contenus de
l'accumulateur 1-L et de l'accumulateur 2-L sont valus comme nombres entiers de 16 bits.
L'opration s'excute sans tenir compte du RLG ni influer sur lui. Les bits d'tat BI1, BI0, DM
et DEB sont mis 1 comme rsultat de l'opration. En cas de dbordement haut ou bas, le
rsultat de l'opration n'est pas un entier de 32 bits, mais un entier de 16 bits.
Le contenu de l'accumulateur 2 reste inchang pour les CPU deux accumulateurs.
Pour les CPU quatre accumulateurs, le contenu de l'accumulateur 3 est copi dans
l'accumulateur 2 et celui de l'accumulateur 4 dans l'accumulateur 3. Le contenu de
l'accumulateur 4 reste inchang.
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

BI1

BI0

DEB

DM

Formation des bits d'tat


diffrence

-32768

<=

diffrence

<

32767

>=

diffrence

>

65535

>=

diffrence

>

32767

-65535

<=

diffrence

<

-32768 1

Exemple
LIST
L

EW10

MW14

-I
T

7-4

DB1.DBW25

Explication
//Charger dans l'accumulateur 1-L la valeur figurant dans le mot d'entre
EW10.
//Charger le contenu de l'accumulateur 1-L dans l'accumulateur 2-L.
Charger la valeur figurant dans le mot de mmento MW14 dans l'accumulateur
1-L.
//Soustraire l'accumulateur 1-L de l'accumulateur 2-L et sauvegarder le
rsultat dans l'accumulateur 1-L.
//Le contenu de l'accumulateur 1-L (rsultat) est transfr au mot de
donnes DBW25 dans DB1.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Fonctions sur nombres entiers

7.5

*I Multiplier accumulateur 1 par accumulateur 2


(entiers de 16 bits)

Format
*I

Description de l'opration
*I (Multiplier entiers de 16 bits) multiplie le contenu de laccumulateur 2-L par celui de
laccumulateur 1- L. Les contenus de laccumulateur 1-L et de laccumulateur 2-L sont
valus comme nombres entiers de 16 bits. Le rsultat est rang dans l'accumulateur 1
comme entier de 32 bits. Si les bits d'tat DEB et DM sont tous deux gaux 1, le rsultat
est hors de la plage d'un nombre entier de 16 bits.
L'opration s'excute sans tenir compte du RLG ni influer sur lui. Les bits d'tat BI1, BI0, DM
et DEB sont mis 1 comme rsultat de l'opration.
Le contenu de l'accumulateur 2 reste inchang pour les CPU deux accumulateurs.
Pour les CPU quatre accumulateurs, le contenu de l'accumulateur 3 est copi dans
l'accumulateur 2 et celui de l'accumulateur 4 dans l'accumulateur 3. Le contenu de
l'accumulateur 4 reste inchang.
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

BI1

BI0

DEB

DM

Formation des bits d'tat


produit

-32768

<=

produit <

32767

>=

produit >

1.073.741.824

>=

produit >

32767

-1.073.709.056

<=

produit <

-32768

Exemple
LIST
L

EW10

MW14

*I
T

DB1.DBD25

Explication
//Charger dans l'accumulateur 1 la valeur figurant dans le mot d'entre
EW10.
//Charger le contenu de l'accumulateur 1-L dans l'accumulateur 2-L.
Charger la valeur figurant dans le mot de mmento MW14 dans l'accumulateur
1-L.
//Multiplier l'accumulateur 2-L par l'accumulateur 1-L et sauvegarder le
rsultat dans l'accumulateur 1.
//Le contenu de l'accumulateur 1 (rsultat) est transfr au double mot de
donnes DBD25 dans DB1.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

7-5

Fonctions sur nombres entiers

7.6

/I Diviser accumulateur 2 par accumulateur 1


(entiers de 16 bits)

Format
/I

Description de l'opration
/I (Diviser entiers de 16 bits) divise le contenu de laccumulateur 2-L par celui de
laccumulateur 1-L. Les contenus de laccumulateur 1-L et de laccumulateur 2-L sont
valus comme nombres entiers de 16 bits. Le rsultat est rang dans l'accumulateur 1 : il
comprend deux entiers de 16 bits, le quotient et le reste de la division. Le quotient est
sauvegard dans l'accumulateur 1-L et le reste de la division dans l'accumulateur 1-H.
L'opration s'excute sans tenir compte du RLG ni influer sur lui. Les bits d'tat BI1, BI0, DM
et DEB sont mis 1 comme rsultat de l'opration.
Le contenu de l'accumulateur 2 reste inchang pour les CPU deux accumulateurs.
Pour les CPU quatre accumulateurs, le contenu de l'accumulateur 3 est copi dans
l'accumulateur 2 et celui de l'accumulateur 4 dans l'accumulateur 3. Le contenu de
l'accumulateur 4 reste inchang.
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

BI1

BI0

DEB

DM

0
0
1
1
1

0
1
0
0
1

0
0
0
1
1

1
1

Formation des bits d'tat


quotient = 0
-32768
<=
32767
>=
quotient
=
Division par zro

quotient <
quotient >
32768

0
0

Exemple
LIST
L
L

EW10
MW14

/I
T

MD20

Explication
//Charger dans l'accumulateur 1-L la valeur figurant dans le mot d'entre EW10.
//Charger le contenu de l'accumulateur 1-L dans l'accumulateur 2-L. Charger la
valeur figurant dans le mot de mmento MW14 dans l'accumulateur 1-L.
//Diviser l'accumulateur 2-L par l'accumulateur 1-L et sauvegarder le rsultat
dans l'accumulateur 1 : ACCU 1-L : quotient, ACCU 1-H : reste de la division
//Le contenu de l'accumulateur 1 (rsultat) est transfr dans le double mot de
mmento MD20.

Exemple : 13 divis par 4

7-6

Contenu de l'accumulateur 2-L avant l'opration (EW10) :

"13"

Contenu de l'accumulateur 1-L avant l'opration (MW14) :

"4"

Opration /I (accumulateur 2-L / accumulateur 1-L) :

"13/4"

Contenu de l'accumulateur 1-L aprs l'opration (quotient) :

"3"

Contenu de l'accumulateur 1-H aprs l'opration (reste) :

"1"

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Fonctions sur nombres entiers

7.7

Additionner constante entire (16, 32 bits)

Format
+ <constante entire>
Oprande

Type de donnes

Description

<constante entire >

constante,
(16 ou 32 bits)

Constante additionner

Description de l'opration
+ <constante entire> additionne la constante entire au contenu de l'accumulateur 1 et
sauvegarde le rsultat dans l'accumulateur 1. L'opration s'excute sans tenir compte des
bits d'tat ni influer sur eux.
Le contenu de l'accumulateur 2 reste inchang pour les CPU deux accumulateurs.
Pour les CPU quatre accumulateurs, le contenu de l'accumulateur 3 est copi dans
l'accumulateur 2 et celui de l'accumulateur 4 dans l'accumulateur 3. Le contenu de
l'accumulateur 4 reste inchang.
+ <constante entire de 16 bits> additionne une constante entire de 16 bits (dans la
plage de -32768 +32767) au contenu de l'accumulateur 1-L et sauvegarde le rsultat dans
l'accumulateur 1-L.
Le contenu de l'accumulateur 2 et celui de l'accumulateur 1-H restent inchangs pour les
CPU deux accumulateurs.
Pour les CPU quatre accumulateurs, le contenu de l'accumulateur 3 est copi dans
l'accumulateur 2 et celui de l'accumulateur 4 dans l'accumulateur 3. Le contenu de
l'accumulateur 4 et celui de l'accumulateur 1-H restent inchangs.
+ <constante entire de 32 bits> additionne une constante entire de 32 bits (dans la
plage de -2 147 483 648 2 147 483 647) au contenu de l'accumulateur 1 et sauvegarde le
rsultat dans l'accumulateur 1
Le contenu de l'accumulateur 2 reste inchang pour les CPU deux accumulateurs.
Pour les CPU quatre accumulateurs, le contenu de l'accumulateur 3 est copi dans
l'accumulateur 2 et celui de l'accumulateur 4 dans l'accumulateur 3. Le contenu de
l'accumulateur 4 reste inchang.
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

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

7-7

Fonctions sur nombres entiers

Exemple 1
LIST
L

EW10

MW14

+I
+

25

DB1.DBW25

Explication
//Charger la valeur figurant dans le mot d'entre EW10 dans l'accumulateur
1-L.
//Charger le contenu de l'accumulateur 1-L dans l'accumulateur 2-L.
Charger la valeur figurant dans le mot de mmento MW14 dans l'accumulateur
1-L.
//Additionner l'accumulateur 2-L l'accumulateur 1-L et sauvegarder le
rsultat dans l'accumulateur 1-L.
//Additionner l'accumulateur 1-L 25 et sauvegarder le rsultat dans
l'accumulateur 1-L.
//Transfrer le contenu de l'accumulateur 1-L (rsultat) au mot de donnes
DBW25 dans DB1.

Exemple 2
LIST
L
L
+

EW12
EW14
100

Explication

>I
SPB

SUIV

//Additionner l'accumulateur 1-L 100 et sauvegarder le rsultat dans


l'accumulateur 1-L.
//Si accumulateur 2 > accumulateur 1, c'est--dire EW12 > (EW14 + 100)
Alors sauter au repre de saut SUIV.

Exemple 3
LIST
L
L
+D

MD20
MD24

L#-200

MD28

7-8

Explication

//Additionner l'accumulateur 1 l'accumulateur 2 et sauvegarder le


rsultat dans l'accumulateur 1.
//Additionner l'accumulateur 1 -200 et sauvegarder le rsultat dans
l'accumulateur 1.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Fonctions sur nombres entiers

7.8

+D

Additionner accumulateurs 1 et 2 (entiers de 32 bits)

Format
+D

Description de l'opration
+D (Additionner entiers de 32 bits)
Cette opration additionne le contenu de l'accumulateur 1 celui de l'accumulateur 2 et
sauvegarde le rsultat dans l'accumulateur 1. Les contenus de l'accumulateur 1 et de
l'accumulateur 2 sont valus comme nombres entiers de 32 bits. L'opration s'excute sans
tenir compte du RLG ni influer sur lui. Les bits d'tat BI1, BI0, DM et DEB sont mis 1
comme rsultat de l'opration.
Le contenu de l'accumulateur 2 reste inchang pour les CPU deux accumulateurs.
Pour les CPU quatre accumulateurs, le contenu de l'accumulateur 3 est copi dans
l'accumulateur 2 et celui de l'accumulateur 4 dans l'accumulateur 3. Le contenu de
l'accumulateur 4 reste inchang.
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

BI1

BI0

DEB

DM

Formation des bits d'tat


somme

-2.147.483.648

<=

somme

<

2.147.483.647

>=

somme

>

somme

-4.294.967.296

4.294.967.294

>=

somme

>

2.147.483.647

-4.294.967.295

<=

somme

<

-2.147.483.648

Exemple
LIST
L

ED10

MD14

+D
T

DB1.DBD25

Explication
//Charger dans laccumulateur 1 la valeur figurant dans le double mot
d'entre ED10.
//Charger le contenu de l'accumulateur 1 dans l'accumulateur 2. Charger la
valeur figurant dans le double mot de mmento MD14 dans l'accumulateur 1.
//Additionner l'accumulateur 2 l'accumulateur 1 et sauvegarder le
rsultat dans l'accumulateur 1.
//Le contenu de l'accumulateur 1 (rsultat) est transfr au double mot de
donnes DBD25 dans DB1.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

7-9

Fonctions sur nombres entiers

7.9

-D Soustraire accumulateur 1 de accumulateur 2


(entiers de 32 bits)

Format
-D

Description de l'opration
-D (Soustraire entiers de 32 bits) soustrait le contenu de laccumulateur 1 de celui de
l'accumulateur 2 et sauvegarde le rsultat dans l'accumulateur 1. Les contenus de
l'accumulateur 1 et de l'accumulateur 2 sont valus comme nombres entiers de 32 bits.
L'opration s'excute sans tenir compte du RLG ni influer sur lui. Les bits d'tat BI1, BI0, DM
et DEB sont mis 1 comme rsultat de l'opration.
Le contenu de l'accumulateur 2 reste inchang pour les CPU deux accumulateurs.
Pour les CPU quatre accumulateurs, le contenu de l'accumulateur 3 est copi dans
l'accumulateur 2 et celui de l'accumulateur 4 dans l'accumulateur 3. Le contenu de
l'accumulateur 4 reste inchang.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres entiers.

Mot d'tat
RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Formation des bits d'tat

BI1

BI0

DEB

DM

diffrence

Ecriture :

-2.147.483.648

<=

diffrence <

2.147.483.647

>=

diffrence >

4.294.967.295

>=

diffrence > 2.147.483.647

-4.294.967.295

<=

diffrence < -2.147.483.648

Exemple
LIST
L

ED10

MD14

-D
T

7-10

DB1.DBD25

Explication
//Charger dans laccumulateur 1 la valeur figurant dans le double mot
d'entre ED10.
//Charger le contenu de l'accumulateur 1 dans l'accumulateur 2. Charger le
contenu du double mot de donnes MD14 dans l'accumulateur 1.
//Soustraire l'accumulateur 1 de l'accumulateur 2 et sauvegarder le
rsultat dans l'accumulateur 1.
//Le contenu de l'accumulateur 1 (rsultat) est transfr au double mot de
donnes DBD25 dans DB1.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Fonctions sur nombres entiers

7.10

*D Multiplier accumulateur 1 par accumulateur 2


(entiers de 32 bits)

Format
*D

Description de l'opration
*D (Multiplier entiers de 32 bits)
Cette opration multiplie le contenu de l'accumulateur 1 par celui de l'accumulateur 2. Les
contenus de l'accumulateur 1 et de l'accumulateur 2 sont valus comme nombres entiers
de 32 bits. Le rsultat est rang dans l'accumulateur 1 comme entier de 32 bits. Si les bits
d'tat DEB et DM sont tous deux gaux 1, le rsultat est hors de la plage d'un nombre
entier de 32 bits.
L'opration s'excute sans tenir compte du RLG ni influer sur lui. Les bits d'tat BI1, BI0, DM
et DEB sont mis 1 comme rsultat de l'opration.
Le contenu de l'accumulateur 2 reste inchang pour les CPU deux accumulateurs.
Pour les CPU quatre accumulateurs, le contenu de l'accumulateur 3 est copi dans
l'accumulateur 2 et celui de l'accumulateur 4 dans l'accumulateur 3. Le contenu de
l'accumulateur 4 reste inchang.
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

BI1

BI0

DEB

DM

Formation des bits d'tat


produit

-2.147.483.648

<=

produit <

2.147.483.647

>=

produit

produit

>

2.147.483.647

produit

<

-2.147.483.648

>

Exemple
LIST
L

ED10

MD14

*D
T

DB1.DBD25

Explication
//Charger dans laccumulateur 1 la valeur figurant dans le double mot
d'entre ED10.
//Charger le contenu de l'accumulateur 1 dans l'accumulateur 2. Charger la
valeur figurant dans le double mot de mmento MD14 dans l'accumulateur 1.
//Multiplier l'accumulateur 2 par l'accumulateur 1 et sauvegarder le
rsultat dans l'accumulateur 1.
//Le contenu de l'accumulateur 1 (rsultat) est transfr au double mot de
donnes DBD25 dans DB1.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

7-11

Fonctions sur nombres entiers

7.11

/D Diviser accumulateur 2 par accumulateur 1


(entiers de 32 bits)

Format
/D

Description de l'opration
/D (Diviser entiers de 32 bits) divise le contenu de laccumulateur 2 par celui de
l'accumulateur 1. Les contenus de l'accumulateur 1 et de l'accumulateur 2 sont valus
comme nombres entiers de 32 bits. Le rsultat est rang dans l'accumulateur 1. Le rsultat
contient uniquement le quotient et non pas le reste de la division que vous obtenez l'aide
de l'opration MOD.
L'opration s'excute sans tenir compte du RLG ni influer sur lui. Les bits d'tat BI1, BI0, DM
et DEB sont mis 1 comme rsultat de l'opration.
Le contenu de l'accumulateur 2 reste inchang pour les CPU deux accumulateurs.
Pour les CPU quatre accumulateurs, le contenu de l'accumulateur 3 est copi dans
l'accumulateur 2 et celui de l'accumulateur 4 dans l'accumulateur 3. Le contenu de
l'accumulateur 4 reste inchang.
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

BI1

BI0

DEB

DM

0
0
1
1
1

0
1
0
0
1

0
0
0
1
1

1
1

Formation des bits d'tat


Quotient = 0
-2147483648
<=
2147483647
>=
quotient
=
Division par zro

quotient <
quotient >
2147483648

0
0

Exemple
LIST
L

ED10

MD14

/D
T

MD20

Explication
//Charger dans laccumulateur 1 la valeur figurant dans le double mot
d'entre ED10.
//Charger le contenu de l'accumulateur 1 dans l'accumulateur 2. Charger le
contenu du double mot de mmento MD14 dans l'accumulateur 1.
//Diviser l'accumulateur 2 par l'accumulateur 1 et sauvegarder le rsultat
(quotient) dans l'accumulateur 1.
//Le contenu de l'accumulateur 1 (rsultat) est transfr au double mot de
mmento MD20.

Exemple : 13 divis par 4

7-12

Contenu de l'accumulateur 2 avant l'opration (ED10) :

"13"

Contenu de l'accumulateur 1 avant l'opration (MD14) :

"4"

Opration /D (accumulateur 2 / accumulateur 1) :

"13/4"

Contenu de l'accumulateur 1 aprs l'opration (quotient) :

"3"

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Fonctions sur nombres entiers

7.12

MOD

Reste de division entire (32 bits)

Format
MOD

Description de l'opration
MOD (Reste de division entire de 32 bits) divise le contenu de l'accumulateur 2 par celui de
l'accumulateur 1. Les contenus de l'accumulateur 1 et de l'accumulateur 2 sont valus
comme nombres entiers de 32 bits. Le rsultat est sauvegard dans l'accumulateur 1. Il
contient uniquement le reste de la division et non pas le quotient que vous obtenez l'aide
de l'opration /D.
L'opration s'excute sans tenir compte du RLG ni influer sur lui. Les bits d'tat BI1, BI0, DM
et DEB sont mis 1 comme rsultat de l'opration.
Le contenu de l'accumulateur 2 reste inchang pour les CPU deux accumulateurs.
Pour les CPU quatre accumulateurs, le contenu de l'accumulateur 3 est copi dans
l'accumulateur 2 et celui de l'accumulateur 4 dans l'accumulateur 3. Le contenu de
l'accumulateur 4 reste inchang.
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

BI1

BI0

DEB

DM

Formation des bits d'tat


reste

-2147483648

<=

reste

<

2147483647

>=

reste

>

Division par zro

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

7-13

Fonctions sur nombres entiers

Exemple
LIST
L

ED10

MD14

MOD
T

MD20

Explication
//Charger dans laccumulateur 1 la valeur figurant dans le double mot
d'entre ED10.
//Charger le contenu de l'accumulateur 1 dans l'accumulateur 2. Charger le
contenu du double mot de mmento MD14 dans l'accumulateur 1.
//Diviser l'accumulateur 2 par l'accumulateur 1 et sauvegarder le rsultat
(reste de la division) dans l'accumulateur 1.
//Le contenu de l'accumulateur 1 (rsultat) est transfr dans le double
mot de mmento MD20.

Exemple : 13 divis par 4

7-14

Contenu de l'accumulateur 2 avant l'opration (ED10) :

"13"

Contenu de l'accumulateur 1 avant l'opration (MD14) :

"4"

Opration /MOD (accumulateur 2 / accumulateur 1) :

"13/4"

Contenu de l'accumulateur 1 aprs l'opration (reste de la division) :

"1"

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

8.1

Fonctions sur nombres virgule flottante

Vue d'ensemble des oprations arithmtiques sur nombres


virgule flottante

Description
Les oprations arithmtiques combinent le contenu des accumulateurs 1 et 2. Le rsultat est
rang dans laccumulateur 1, le contenu de laccumulateur 2 reste inchang.
Pour les CPU quatre accumulateurs, le contenu de laccumulateur 3 est ensuite copi
dans laccumulateur 2 et celui de laccumulateur 4 dans laccumulateur 3. Le contenu
prcdent de laccumulateur 4 reste inchang.
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 virgule flottante IEEE de 32 bits :

+R

Additionner accumulateurs 1 et 2 (rels VF IEEE, 32 bits)

-R

Soustraire accumulateur 1 d'accumulateur 2 (rels VF IEEE, 32 bits)

*R

Multiplier accumulateur 1 par accumulateur 2 (rels VF IEEE, 32 bits)

/R

Diviser accumulateur 2 par accumulateur 1 (rels VF IEEE, 32 bits)

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

ABS

Valeur absolue d'un nombre virgule flottante (VF IEEE, 32 bits)

SQR

Carr d'un nombre virgule flottante (32 bits)

SQRT Racine carre d'un nombre virgule flottante (32 bits)

EXP

Valeur exponentielle d'un nombre virgule flottante (32 bits)

LN

Logarithme naturel d'un nombre virgule flottante (32 bits)

SIN

Sinus d'un angle comme nombres virgule flottante (32 bits)

COS

Cosinus d'un angle comme nombres virgule flottante (32 bits)

TAN

Tangente d'un angle comme nombres virgule flottante (32 bits)

ASIN Arc sinus d'un nombre virgule flottante (32 bits)

ACOS Arc cosinus d'un nombre virgule flottante (32 bits)

ATAN Arc tangente d'un nombre virgule flottante (32 bits)

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

Langage LIST pour SIMATIC S7-300/400


A5E00261419-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 non autorise

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 LIST pour SIMATIC S7-300/400


A5E00261419-01

Fonctions sur nombres virgule flottante

8.3

Oprations de base

8.3.1

+R

Additionner accumulateurs 1 et 2 (rels VF IEEE, 32 bits)

Format
+R

Description de l'opration
+R (Additionner nombres virgule flottante VF IEEE, 32 bits)
Cette opration additionne les contenus des accumulateurs 1 et 2 et sauvegarde le rsultat
dans l'accumulateur 1. Les contenus de l'accumulateur 1 et de l'accumulateur 2 sont valus
comme nombres virgule flottante VF IEEE de 32 bits. L'opration s'excute sans tenir
compte du RLG ni influer sur lui. Les bits d'tat BI1, BI0, DM et DEB sont mis 1 comme
rsultat de l'opration.
Le contenu de l'accumulateur 2 reste inchang pour les CPU deux accumulateurs.
Pour les CPU quatre accumulateurs, le contenu de l'accumulateur 3 est copi dans
l'accumulateur 2 et celui de l'accumulateur 4 dans l'accumulateur 3. Le contenu de
l'accumulateur 4 reste inchang.

Rsultat
Le rsultat dans ACCU 1 est BI1

BI0

DEB

DM

+qNaN

+infini

+normalis

+dnormalis

+zro

-zro

-dnormalis

-normalis

-infini

-qNaN

Indication
Dbordement
Dbordement bas

Dbordement bas
Dbordement

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
AUF
L
L

Explication
DB10
ED10
MD14

+R
T

DBD25

//Charger dans l'accumulateur 1 la valeur du double mot d'entre ED10.


//Charger le contenu de l'accumulateur 1 dans l'accumulateur 2. Charger la
valeur du double mot de mmento MD14 dans l'accumulateur 1.
//Additionner l'accumulateur 2 et l'accumulateur 1 ; sauvegarder le
rsultat dans l'accumulateur 1.
//Le contenu de l'accumulateur 1 (rsultat) est transfr au double mot de
donnes DBD25 dans DB10.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

8-3

Fonctions sur nombres virgule flottante

8.3.2

-R Soustraire accumulateur 1 daccumulateur 2


(rels VF IEEE, 32 bits)

Format
-R

Description de l'opration
-R (Soustraire nombres virgule flottante VF IEEE, 32 bits)
Cette opration soustrait le contenu de l'accumulateur 1 de celui de l'accumulateur 2 et
sauvegarde le rsultat dans l'accumulateur 1. Les contenus de l'accumulateur 1 et de
l'accumulateur 2 sont valus comme nombres virgule flottante VF IEEE de 32 bits.
L'opration s'excute sans tenir compte du RLG ni influer sur lui. Les bits d'tat BI1, BI0, DM
et DEB sont mis 1 comme rsultat de l'opration.
Le contenu de l'accumulateur 2 reste inchang pour les CPU deux accumulateurs.
Pour les CPU quatre accumulateurs, le contenu de l'accumulateur 3 est copi dans
l'accumulateur 2 et celui de l'accumulateur 4 dans l'accumulateur 3. Le contenu de
l'accumulateur 4 reste inchang.

Rsultat
Le rsultat dans ACCU 1 est

BI1

BI0

DEB

DM

+qNaN

+infini

+normalis

+dnormalis

+zro

-zro

-dnormalis

-normalis

-infini

-qNaN

Indication
Dbordement
Dbordement bas

Dbordement bas
Dbordement

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
AUF
L
L

Explication
DB10
ED10
MD14

-R
T

8-4

DBD25

//Charger dans l'accumulateur 1 la valeur du double mot d'entre ED10.


//Charger le contenu de l'accumulateur 1 dans l'accumulateur 2. Charger la
valeur du double mot de mmento MD14 dans l'accumulateur 1.
//Soustraire l'accumulateur 1 de l'accumulateur 2 ; sauvegarder le
rsultat dans l'accumulateur 1.
//Le contenu de l'accumulateur 1 (rsultat) est transfr au double mot de
donnes DBD25 dans DB10.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Fonctions sur nombres virgule flottante

8.3.3

*R Multiplier accumulateur 1 par accumulateur 2


(rels VF IEEE, 32 bits)

Format
*R

Description de l'opration
*R (Multiplier nombres virgule flottante VF IEEE, 32 bits)
Cette opration multiplie le contenu de l'accumulateur 2 par le contenu de l'accumulateur 1
ces contenus sont valus comme nombre virgule flottante VF IEEE de 32 bits et range
le rsultat comme nombre virgule flottante VF IEEE de 32 bits dans l'accumulateur 1.
L'opration s'excute sans tenir compte du RLG ni influer sur lui. Les bits d'tat BI1, BI0, DM
et DEB sont mis 1 comme rsultat de l'opration.
Le contenu de l'accumulateur 2 reste inchang pour les CPU deux accumulateurs.
Pour les CPU quatre accumulateurs, le contenu de l'accumulateur 3 est copi dans
l'accumulateur 2 et celui de l'accumulateur 4 dans l'accumulateur 3. Le contenu de
l'accumulateur 4 reste inchang.

Rsultat
Le rsultat dans ACCU 1 est

BI1

BI0

DEB

DM

+qNaN

+infini

+normalis

+dnormalis

+zro

-zro

-dnormalis

-normalis

-infini

-qNaN

Indication
Dbordement
Dbordement bas

Dbordement bas
Dbordement

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
AUF
L
L

Explication
DB10
ED10
MD14

*R
T

DBD25

//Charger dans l'accumulateur 1 la valeur du double mot d'entre ED10.


//Charger le contenu de l'accumulateur 1 dans l'accumulateur 2. Charger la
valeur du double mot de mmento MD14 dans l'accumulateur 1.
//Multiplier l'accumulateur 2 par l'accumulateur 1 et sauvegarder le
rsultat dans l'accumulateur 1.
//Le contenu de l'accumulateur 1 (rsultat) est transfr au double mot de
donnes DBD25 dans DB10.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

8-5

Fonctions sur nombres virgule flottante

8.3.4

/R

Diviser accumulateur 2 par accumulateur 1 (rels VF IEEE, 32 bits)

Format
/R

Description de l'opration
/R (Diviser nombres virgule flottante VF IEEE, 32 bits)
Cette opration divise le contenu de l'accumulateur 2 par celui de l'accumulateur 1 et
sauvegarde le rsultat dans l'accumulateur 1. Les contenus de l'accumulateur 1 et de
l'accumulateur 2 sont valus comme nombres virgule flottante VF IEEE de 32 bits.
L'opration s'excute sans tenir compte du RLG ni influer sur lui. Les bits d'tat BI1, BI0, DM
et DEB sont mis 1 comme rsultat de l'opration.
Le contenu de l'accumulateur 2 reste inchang pour les CPU deux accumulateurs.
Pour les CPU quatre accumulateurs, le contenu de l'accumulateur 3 est copi dans
l'accumulateur 2 et celui de l'accumulateur 4 dans l'accumulateur 3. Le contenu de
l'accumulateur 4 reste inchang.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres rels.

Rsultat
Le rsultat dans ACCU 1 est

BI1

BI0

DEB

DM

+qNaN
+infini
+normalis
+dnormalis
+zro
-zro
-dnormalis
-normalis
-infini
-qNaN

1
1
1
0
0
0
0
0
0
1

1
0
0
0
0
0
0
1
1
1

1
1
0
1
0
0
1
0
1
1

1
1
1
1
1
1

Indication
Dbordement
Dbordement bas

Dbordement bas
Dbordement

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
AUF
L
L

Explication
DB10
ED10
MD14

/R
T

8-6

DBD20

//Charger dans l'accumulateur 1 la valeur du double mot d'entre ED10.


//Charger le contenu de l'accumulateur 1 dans l'accumulateur 2. Charger la
valeur du double mot de mmento MD14 dans l'accumulateur 1.
//Diviser l'accumulateur 2 par l'accumulateur 1 ; sauvegarder le rsultat
dans l'accumulateur 1.
//Le contenu de l'accumulateur 1 (rsultat) est transfr au double mot de
donnes DBD20 dans DB10.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Fonctions sur nombres virgule flottante

8.3.5

ABS Valeur absolue d'un nombre virgule flottante


(VF IEEE, 32 bits)

Format
ABS

Description de l'opration
ABS (Valeur absolue d'un nombre virgule flottante VF IEEE, 32 bits)
Cette opration forme la valeur absolue d'un nombre virgule flottante IEEE de 32 bits
figurant dans l'accumulateur 1. Le rsultat est sauvegard dans l'accumulateur 1. L'opration
s'excute sans tenir compte des bits du mot d'tat ni influer sur eux.

Mot d'tat
Ecriture

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
L
ABS

ED8

MD10

Explication
//Charger la valeur dans laccumulateur 1 (exemple : ED8 = -1.5E+02).
//Former la valeur absolue et sauvegarder le rsultat dans l'accumulateur
1.
//Transfrer le rsultat au double mot de mmento MD10 (exemple : rsultat
= 1.5E+02).

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

8-7

Fonctions sur nombres virgule flottante

8.4

Oprations tendues

8.4.1

SQR

Carr d'un nombre virgule flottante (32 bits)

Format
SQR

Description de l'opration
L'opration SQR (Carr d'un nombre virgule flottante IEEE de 32 bits) calcule le carr d'un
nombre virgule flottante IEEE de 32 bits contenu dans l'accumulateur 1. Le rsultat est
rang dans l'accumulateur 1. Cette opration influe sur les bits BI1, BI0, DEB et DM du mot
d'tat.
Le contenu de l'accumulateur 2 et des accumulateurs 3 et 4 pour les CPU quatre
accumulateurs reste inchang.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres virgule
flottante.

Rsultat
Le rsultat dans ACCU 1 est

BI1

BI0

DEB

DM

+qNaN

+infini

+normalis

+dnormalis

+zro

-qNaN

Indication
Dbordement
Dbordement bas

Exemple
LIST
OPN
L

DB17
DBD0

SQR
UN
SPB

OV
OK

DBD4

BEA
OK:

8-8

Explication
//Ouvrir le bloc de donnes DB17.
//Charger dans l'accumulateur 1 la valeur figurant dans le double mot de
donnes DBD0 (doit tre un nombre virgule flottante).
//Calculer le carr du nombre virgule flottante IEEE de 32 bits contenu
dans l'accumulateur 1 et ranger le rsultat dans l'accumulateur 1.
//Tester 0 le bit DEB du mot d'tat.
//Sauter au repre OK si aucune erreur n'est apparue lors de l'opration
SQR.
//Fin de bloc inconditionnelle si une erreur est apparue lors de
l'opration SQR.
//Transfrer le rsultat de l'accumulateur 1 dans le double mot de donnes
DBD4.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Fonctions sur nombres virgule flottante

8.4.2

SQRT

Racine carre d'un nombre virgule flottante (32 bits)

Format
SQRT

Description de l'opration
L'opration SQRT (Racine carre d'un nombre virgule flottante IEEE de 32 bits) calcule la
racine carre d'un nombre virgule flottante IEEE de 32 bits contenu dans l'accumulateur 1.
Le rsultat est rang dans l'accumulateur 1. La valeur d'entre doit tre positive ou nulle,
exception faite de -0 dont la racine carre est
-0. Cette opration influe sur les bits BI1, BI0, DEB et DM du mot d'tat.
Le contenu de l'accumulateur 2 et des accumulateurs 3 et 4 pour les CPU quatre
accumulateurs reste inchang.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres virgule
flottante.

Rsultat
Le rsultat dans ACCU 1 est

BI1

BI0

DEB

DM

+qNaN

+infini

+normalis

+dnormalis

+zro

-zro

-qNaN

Indication
Dbordement
Dbordement bas

Exemple
LIST
L

MD10

SQRT
UN
SPB

OV
OK

BEA
MD20
OK:

DBD4

Explication
//Charger dans laccumulateur 1 la valeur figurant dans le double mot de
mmento MD10 (doit tre un nombre virgule flottante).
//Calculer la racine carre du nombre virgule flottante IEEE de 32 bits
contenu dans l'accumulateur 1 et ranger le rsultat dans l'accumulateur 1.
//Tester 0 le bit DEB du mot d'tat.
//Sauter au repre OK si aucune erreur n'est apparue lors de l'opration
SQRT.
//Fin de bloc inconditionnelle si une erreur est apparue lors de
l'opration SQRT.
//Transfrer le rsultat de l'accumulateur 1 dans le double mot de mmento
MD20.
//Transfrer le rsultat de l'accumulateur 1 dans le double mot de donnes
DBD4.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

8-9

Fonctions sur nombres virgule flottante

8.4.3

EXP

Valeur exponentielle d'un nombre virgule flottante (32 bits)

Format
EXP

Description de l'opration
L'opration EXP (Valeur exponentielle d'un nombre virgule flottante IEEE de 32 bits)
calcule la valeur exponentielle (de base e) d'un nombre virgule flottante IEEE de 32 bits
contenu dans l'accumulateur 1. Le rsultat est rang dans l'accumulateur 1. Cette opration
influe sur les bits BI1, BI0, DEB et DM du mot d'tat.
Le contenu de l'accumulateur 2 et des accumulateurs 3 et 4 pour les CPU quatre
accumulateurs reste inchang.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres virgule
flottante.

Rsultat
Le rsultat dans ACCU 1 est

BI1

BI0

DEB

DM

+qNaN

+infini

+normalis

+dnormalis

+zro

-qNaN

Indication
Dbordement
Dbordement bas

Exemple
LIST
L

MD10

EXP

UN
SPB

OV
OK

MD20

BEA
OK:

8-10

Explication
//Charger dans laccumulateur 1 la valeur figurant dans le double mot de
mmento MD10 (doit tre un nombre virgule flottante).
//Calculer la valeur exponentielle (de base e) du nombre virgule
flottante IEEE de 32 bits contenu dans l'accumulateur 1 et ranger le
rsultat dans l'accumulateur 1.
//Tester 0 le bit DEB du mot d'tat.
//Sauter au repre OK si aucune erreur n'est apparue lors de l'opration
EXP.
//Fin de bloc inconditionnelle si une erreur est apparue lors de
l'opration EXP.
//Transfrer le rsultat de l'accumulateur 1 dans le double mot de mmento
MD20.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Fonctions sur nombres virgule flottante

8.4.4

LN

Logarithme naturel d'un nombre virgule flottante (32 bits)

Format
LN

Description de l'opration
L'opration LN (Logarithme naturel d'un nombre virgule flottante IEEE de 32 bits) calcule
le logarithme naturel logarithme de base e d'un nombre virgule flottante IEEE de
32 bits contenu dans l'accumulateur 1. Le rsultat est rang dans l'accumulateur 1. La valeur
d'entre doit tre strictement positive. Cette opration influe sur les bits BI1, BI0, DEB et DM
du mot d'tat.
Le contenu de l'accumulateur 2 et des accumulateurs 3 et 4 pour les CPU quatre
accumulateurs reste inchang.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres virgule
flottante.

Rsultat
Le rsultat dans ACCU 1 est

BI1

BI0

DEB

DM

+qNaN

+infini

+normalis

+dnormalis

+zro

- zro

-dnormalis

-normalis

- infini

-qNaN

Indication
Dbordement
Dbordement bas

Dbordement bas
Dbordement

Exemple
LIST
L

MD10

LN

UN
SPB

OV
OK

MD20

BEA
OK:

Explication
//Charger dans laccumulateur 1 la valeur figurant dans le double mot de
mmento MD10 (doit tre un nombre virgule flottante).
//Calculer le logarithme naturel du nombre virgule flottante IEEE de
32 bits contenu dans l'accumulateur 1 et ranger le rsultat dans
l'accumulateur 1.
//Tester 0 le bit DEB du mot d'tat.
//Sauter au repre OK si aucune erreur n'est apparue lors de l'opration
LN.
//Fin de bloc inconditionnelle si une erreur est apparue lors de
l'opration LN.
//Transfrer le rsultat de l'accumulateur 1 dans le double mot de mmento
MD20.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

8-11

Fonctions sur nombres virgule flottante

8.4.5

SIN

Sinus d'un angle comme nombres virgule flottante (32 bits)

Format
SIN

Description de l'opration
L'opration SIN (Sinus d'angles comme nombres virgule flottante IEEE de 32 bits) calcule
le sinus d'un angle indiqu en radians. L'angle doit figurer sous forme de nombre virgule
flottante dans l'accumulateur 1. Le rsultat est rang dans l'accumulateur 1. Cette opration
influe sur les bits BI1, BI0, DEB et DM du mot d'tat.
Le contenu de l'accumulateur 2 et des accumulateurs 3 et 4 pour les CPU quatre
accumulateurs reste inchang.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres rels.

Rsultat
Le rsultat dans ACCU 1 est

BI1

BI0

DEB

DM

+qNaN

+normalis

+dnormalis

+zro

- zro

-dnormalis

-normalis

-qNaN

Indication

Dbordement

Dbordement bas

Exemple
LIST
L

MD10

SIN
T

8-12

MD20

Explication
//Charger dans laccumulateur 1 la valeur figurant dans le double mot de
mmento MD10 (doit tre un nombre virgule flottante).
//Calculer le sinus du nombre virgule flottante IEEE de 32 bits contenu
dans l'accumulateur 1 et ranger le rsultat dans l'accumulateur 1.
//Transfrer le rsultat de l'accumulateur 1 dans le double mot de mmento
MD20.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Fonctions sur nombres virgule flottante

8.4.6

COS

Cosinus d'un angle comme nombres virgule flottante (32 bits)

Format
COS

Description de l'opration
L'opration COS (Cosinus d'angles comme nombres virgule flottante IEEE de 32 bits)
calcule le cosinus d'un angle indiqu en radians. L'angle doit figurer sous forme de nombre
virgule flottante dans l'accumulateur 1. Le rsultat est rang dans l'accumulateur 1. Cette
opration influe sur les bits BI1, BI0, DEB et DM du mot d'tat.
Le contenu de l'accumulateur 2 et des accumulateurs 3 et 4 pour les CPU quatre
accumulateurs reste inchang.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres virgule
flottante.

Rsultat
Le rsultat dans ACCU 1 est

BI1

BI0

DEB

DM

+qNaN

+normalis

+dnormalis

+zro

- zro

-dnormalis

-normalis

-qNaN

Indication

Dbordement

Dbordement bas

Exemple
LIST
L

MD10

COS
T

MD20

Explication
//Charger dans laccumulateur 1 la valeur figurant dans le double mot de
mmento MD10 (doit tre un nombre virgule flottante).
//Calculer le cosinus du nombre virgule flottante IEEE de 32 bits
contenu dans l'accumulateur 1 et ranger le rsultat dans l'accumulateur 1.
//Transfrer le rsultat de l'accumulateur 1 dans le double mot de mmento
MD20.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

8-13

Fonctions sur nombres virgule flottante

8.4.7

TAN Tangente d'un angle comme nombres virgule flottante


(32 bits)

Format
TAN

Description de l'opration
L'opration TAN (Tangente d'angles comme nombres virgule flottante IEEE de 32 bits)
calcule la tangente d'un angle indiqu en radians. L'angle doit figurer sous forme de nombre
virgule flottante dans l'accumulateur 1. Le rsultat est rang dans l'accumulateur 1. Cette
opration influe sur les bits BI1, BI0, DEB et DM du mot d'tat.
Le contenu de l'accumulateur 2 et des accumulateurs 3 et 4 pour les CPU quatre
accumulateurs reste inchang.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres virgule
flottante.

Rsultat
Le rsultat dans ACCU 1 est

BI1

BI0

DEB

DM

+qNaN

+infini

+normalis

+dnormalis

+zro

-zro

-dnormalis

-normalis

- infini

-qNaN

Indication
Dbordement
Dbordement bas

Dbordement bas
Dbordement

Exemple
LIST
L

MD10

TAN
UN
SPB

OV
OK

MD20

BEA
OK:

8-14

Explication
//Charger dans laccumulateur 1 la valeur figurant dans le double mot de
mmento MD10 (doit tre un nombre virgule flottante).
//Calculer la tangente du nombre virgule flottante IEEE de 32 bits
contenu dans l'accumulateur 1 et ranger le rsultat dans l'accumulateur 1.
//Tester 0 le bit DEB du mot d'tat.
//Sauter au repre OK si aucune erreur n'est apparue lors de l'opration
TAN.
//Fin de bloc inconditionnelle si une erreur est apparue lors de
l'opration TAN.
//Transfrer le rsultat de l'accumulateur 1 dans le double mot de mmento
MD20.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Fonctions sur nombres virgule flottante

8.4.8

ASIN

Arc sinus d'un nombre virgule flottante (32 bits)

Format
ASIN

Description de l'opration
L'opration ASIN (Arc sinus d'un nombre virgule flottante IEEE de 32 bits) calcule l'arc
sinus d'un nombre virgule flottante figurant dans l'accumulateur 1. 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 <= arc sinus (ACCU 1) <= + / 2, avec = 3,14159...


Cette opration influe sur les bits BI1, BI0, DEB et DM du mot d'tat.
Le contenu de l'accumulateur 2 et des accumulateurs 3 et 4 pour les CPU quatre
accumulateurs reste inchang.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres virgule
flottante.

Rsultat
Le rsultat dans ACCU 1 est

BI1

BI0

DEB

DM

+qNaN

+normalis

+dnormalis

+zro

-zro

-dnormalis

-normalis

-qNaN

Indication

Dbordement

Dbordement bas

Exemple
LIST
L

MD10

ASIN
UN
SPB

OV
OK

MD20

BEA
OK:

Explication
//Charger dans laccumulateur 1 la valeur figurant dans le double mot de
mmento MD10 (doit tre un nombre virgule flottante).
//Calculer l'arc sinus du nombre virgule flottante IEEE de 32 bits
contenu dans l'accumulateur 1 et ranger le rsultat dans l'accumulateur 1.
//Tester 0 le bit DEB du mot d'tat.
//Sauter au repre OK si aucune erreur n'est apparue lors de l'opration
ASIN.
//Fin de bloc inconditionnelle si une erreur est apparue lors de
l'opration ASIN.
//Transfrer le rsultat de l'accumulateur 1 dans le double mot de mmento
MD20.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

8-15

Fonctions sur nombres virgule flottante

8.4.9

ACOS

Arc cosinus d'un nombre virgule flottante (32 bits)

Format
ACOS

Description de l'opration
L'opration ACOS (Arc cosinus d'un nombre virgule flottante IEEE de 32 bits) calcule l'arc
cosinus d'un nombre virgule flottante figurant dans l'accumulateur 1. 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 <= arc cosinus (ACCU 1) <= , avec = 3,14159...


Cette opration influe sur les bits BI1, BI0, DEB et DM du mot d'tat.
Le contenu de l'accumulateur 2 et des accumulateurs 3 et 4 pour les CPU quatre
accumulateurs reste inchang.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres virgule
flottante.

Rsultat
Le rsultat dans ACCU 1 est

BI1

BI0

DEB

DM

+qNaN

+normalis

+dnormalis

+zro

-zro

-dnormalis

-normalis

-qNaN

Indication

Dbordement

Dbordement bas

Exemple
LIST
L

MD10

ACOS
UN
SPB

OV
OK

MD20

BEA
OK:

8-16

Explication
//Charger dans laccumulateur 1 la valeur figurant dans le double mot de
mmento MD10 (doit tre un nombre virgule flottante).
//Calculer l'arc cosinus du nombre virgule flottante IEEE de 32 bits
contenu dans l'accumulateur 1 et ranger le rsultat dans l'accumulateur 1.
//Tester 0 le bit DEB du mot d'tat.
//Sauter au repre OK si aucune erreur n'est apparue lors de l'opration
ACOS.
//Fin de bloc inconditionnelle si une erreur est apparue lors de
l'opration ACOS.
//Transfrer le rsultat de l'accumulateur 1 dans le double mot de mmento
MD20.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Fonctions sur nombres virgule flottante

8.4.10

ATAN

Arc tangente d'un nombre virgule flottante (32 bits)

Format
ATAN

Description de l'opration
L'opration ATAN (Arc tangente d'un nombre virgule flottante IEEE de 32 bits) calcule l'arc
tangente d'un nombre virgule flottante figurant dans l'accumulateur 1. Le rsultat est un
angle indiqu en radians. Sa valeur est comprise dans la plage suivante :

- / 2 <= arc tangente (ACCU 1) <= + / 2, avec = 3,14159...


Cette opration influe sur les bits BI1, BI0, DEB et DM du mot d'tat.
Le contenu de l'accumulateur 2 et des accumulateurs 3 et 4 pour les CPU quatre
accumulateurs reste inchang.
Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres virgule
flottante.

Rsultat
Le rsultat dans ACCU 1 est

BI1

BI0

DEB

DM

+qNaN

+normalis

+dnormalis

+zro

-zro

-dnormalis

-normalis

-qNaN

Indication

Dbordement

Dbordement bas

Exemple
LIST
L

MD10

ATAN
UN
SPB

OV
OK

MD20

BEA
OK:

Explication
//Charger dans laccumulateur 1 la valeur figurant dans le double mot de
mmento MD10 (doit tre un nombre virgule flottante).
//Calculer l'arc tangente du nombre virgule flottante IEEE de 32 bits
contenu dans l'accumulateur 1 et ranger le rsultat dans l'accumulateur 1.
//Tester 0 le bit DEB du mot d'tat.
//Sauter au repre OK si aucune erreur n'est apparue lors de l'opration
ATAN.
//Fin de bloc inconditionnelle si une erreur est apparue lors de
l'opration ATAN.
//Transfrer le rsultat de l'accumulateur 1 dans le double mot de mmento
MD20.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

8-17

Fonctions sur nombres virgule flottante

8-18

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

9.1

Oprations de chargement et de transfert

Vue d'ensemble des oprations de chargement et de transfert

Description
Les oprations L (charger) et T (transfrer) vous permettent de programmer lchange
dinformations entre des modules dentres ou de sorties, dune part, et des zones de
mmoire, dautre part, ou bien entre des zones de mmoire. La CPU excute ces oprations
inconditionnellement chaque cycle, cest--dire quel que soit le rsultat logique RLG dune
opration.
Vous disposez des oprations de chargement et de transfert suivantes :

Charger

L STW

Charger mot d'tat dans l'accumulateur 1

LAR1

Charger contenu de l'accumulateur 1 dans registre d'adresse 1

LAR1 <D>

Charger pointeur de 32 bits dans registre d'adresse 1

LAR1 AR2

Charger contenu du registre d'adresse 2 dans registre d'adresse 1

LAR2

Charger contenu de l'accumulateur 1 dans registre d'adresse 2

LAR2 <D>

Charger pointeur de 32 bits dans registre d'adresse 2

Transfrer

T STW

Transfrer accumulateur 1 dans mot d'tat

TAR

Permuter registre d'adresse 1 avec registre d'adresse 2

TAR1

Transfrer registre d'adresse 1 dans l'accumulateur 1

TAR1 <D>

Transfrer registre d'adresse 1 l'adresse de destination (32 bits)

TAR1 AR2

Transfrer registre d'adresse 1 dans registre d'adresse 2

TAR2

Transfrer registre d'adresse 2 dans l'accumulateur 1

TAR2 <D>

Transfrer registre d'adresse 2 l'adresse de destination (32 bits)

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

9-1

Oprations de chargement et de transfert

9.2

Charger

Format
L <oprande>

<oprande>

Type de donnes

Zone de mmoire

Adresse source

BYTE
WORD
DWORD

E, A, PE, M, L, D,
pointeur, paramtre

0...65535
0...65534
0...65532

Description de l'opration
L <oprande> charge dans l'accumulateur 1 l'octet, le mot ou le double mot indiqu une fois
que l'ancien contenu de l'accumulateur 1 a t sauvegard dans l'accumulateur 2 et que
l'accumulateur 1 a t mis 0.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
L
L
L
L
L
L
L
L

EB10
MB120
DBB12
DIW15
LD252
P# E 8.7
OTTO
P# ANNA

Explication
//Charger l'octet d'entre EB10 dans l'accumulateur 1-L-L.
//Charger l'octet de mmento MB120 dans l'accumulateur 1-L-L.
//Charger l'octet de donnes DBB12 dans l'accumulateur 1-L-L.
//Charger le mot de donnes d'instance DIW15 dans l'accumulateur 1-L.
//Charger le double mot de donnes locales LD252 dans l'accumulateur 1.
//Charger le pointeur dans laccumulateur 1.
//Charger le paramtre "OTTO" dans laccumulateur 1.
//Charger dans laccumulateur 1 le pointeur sur le paramtre spcifi.
(Cette instruction charge le dcalage dadresse relatif du paramtre
spcifi ; pour dterminer le dcalage absolu dans le bloc de donnes
dinstance de blocs fonctionnels multi-instance, il faut encore ajouter
cette valeur le contenu du registre dadresse 2.)

Contenu de laccumulateur 1
Contenu

ACCU1-H-H

ACCU1-H-L

ACCU1-L-H

ACCU1-L-L

avant excution de l'opration de


chargement
aprs excution de L MB10 (L <octet>)
aprs excution de L MW10 (L <mot>)
aprs excution de L MD10
(L <double mot>)
aprs excution de L P# ANNA
(dans le FB)

XXXXXXXX

XXXXXXXX

XXXXXXXX

XXXXXXXX

00000000
00000000
<MB10>

00000000
00000000
<MB11>

00000000
<MB10>
<MB12>

<MB10>
<MB11>
<MB13>

aprs excution de L P# ANNA


(dans la FC)

<86>

<dcalage d'un bit de ANNA par rapport au dbut


du FB>
Pour dterminer le dcalage absolu dans le bloc de
donnes dinstance de blocs fonctionnels multiinstance, il faut encore ajouter cette valeur le
contenu du registre dadresse 2.
<une adresse interzone de la donne transmise ANNA>
X = "1" ou "0"

9-2

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de chargement et de transfert

9.3

L STW

Charger mot d'tat dans l'accumulateur 1

Format
L STW

Description de l'opration
L STW (Opration L avec l'oprande STW)
Cette opration charge le contenu du mot d'tat dans l'accumulateur 1. Cette opration
s'excute sans tenir compte des bits du mot d'tat ni influer sur eux.

Nota
Dans les CPU de la famille S7-300, lopration L STW ne charge pas les bits /PI, ETAT et
OU du mot dtat. Seuls les bits 1, 4, 5, 6, 7 et 8 sont chargs dans les emplacements
correspondants du mot de poids faible de laccumulateur 1.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
L

STW

Explication
//Charger le contenu du mot d'tat dans l'accumulateur 1.

Le contenu de l'accumulateur 1 aprs excution de L STW est le suivant :


Bits

31-9

Contenu :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

9-3

Oprations de chargement et de transfert

9.4

LAR1 Charger contenu de laccumulateur 1 dans registre


dadresse 1

Format
LAR1

Description de l'opration
LAR1
Cette opration charge dans le registre d'adresse 1 (AR1) le contenu de l'accumulateur 1
(32 bits). L'accumulateur 1 et l'accumulateur 2 restent inchangs. L'opration s'excute sans
tenir compte des bits du mot d'tat ni influer sur eux.

Mot d'tat
Ecriture :

9-4

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de chargement et de transfert

9.5

LAR1 <D> Charger pointeur de 32 bits dans registre


dadresse 1

Format
LAR1 <D>
Paramtre

Type de donnes

Zone de mmoire

Adresse source

<D>

DWORD

D, M, L

0...65532

Constante pointeur

Description de l'opration
LAR1 <D>
Cette opration charge dans le registre d'adresse 1 (AR1) le contenu du double mot <D>
indiqu ou une constante de pointeur. L'accumulateur 1 et l'accumulateur 2 restent
inchangs. L'opration s'excute sans tenir compte des bits du mot d'tat ni influer sur eux.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemples : Adresses directes


LIST
LAR1

DBD 20

LAR1

DID 30

LAR1

LD 180

LAR1

MD 24

Explication
//Charger dans
DBD20.
//Charger dans
DID30.
//Charger dans
locales LD180.
//Charger dans
MD24.

AR1 le pointeur figurant dans le double mot de donnes


AR1 le pointeur figurant dans le double mot d'instance
AR1 le pointeur figurant dans le double mot de donnes
AR1 le pointeur figurant dans le double mot de mmento

Exemple : Constante pointeur


LIST
LAR1

P#M100.0

Explication
//Charger une constante de pointeur de 32 bits dans AR1.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

9-5

Oprations de chargement et de transfert

9.6

LAR1 AR2 Charger contenu du registre dadresse 2 dans


registre dadresse 1

Format
LAR1 AR2

Description de l'opration
LAR1 AR2 (Opration LAR1 avec l'oprande AR2)
Cette opration charge dans le registre d'adresse 1 (AR1) le contenu du registre d'adresse 2
(AR2). L'accumulateur 1 et l'accumulateur 2 restent inchangs. L'opration s'excute sans
tenir compte des bits du mot d'tat ni influer sur eux.

Mot d'tat
Ecriture :

9.7

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

LAR2 Charger contenu de laccumulateur 1 dans registre


dadresse 2

Format
LAR2

Description de l'opration
LAR2 charge dans le registre dadresse 2 (AR2) le contenu de laccumulateur 1 (32 bits).
L'accumulateur 1 et l'accumulateur 2 restent inchangs. L'opration s'excute sans tenir
compte des bits du mot d'tat ni influer sur eux.

Mot d'tat
Ecriture :

9-6

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de chargement et de transfert

9.8

LAR2 <D> Charger pointeur de 32 bits dans registre


dadresse 2

Format
LAR2 <D>
Paramtre

Type de donnes

Zone de mmoire

Adresse source

<D>

DWORD

D, M, L

0...65532

Constante pointeur

Description de l'opration
LAR2 <D>
Cette opration charge dans le registre d'adresse 2 (AR2) le contenu du double mot <D>
indiqu ou une constante de pointeur. L'accumulateur 1 et l'accumulateur 2 restent
inchangs. L'opration s'excute sans tenir compte des bits du mot d'tat ni influer sur eux.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemples : Adresses directes


LIST
LAR2

DBD 20

LAR2

DID 30

LAR2

LD 180

LAR2

MD 24

Explication
//Charger dans
DBD20.
//Charger dans
DID30.
//Charger dans
locales LD180.
//Charger dans
MD24.

AR2 le pointeur figurant dans le double mot de donnes


AR2 le pointeur figurant dans le double mot d'instance
AR2 le pointeur figurant dans le double mot de donnes
AR2 le pointeur figurant dans le double mot de mmento

Exemple : Constante pointeur


LIST
LAR2

P#M100.0

Explication
//Charger une constante de pointeur de 32 bits dans AR2.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

9-7

Oprations de chargement et de transfert

9.9

Transfrer

Format
T <oprande>
Paramtre

Type de donnes

Zone de mmoire

Adresse source

<oprande>

BYTE

E, A, PA, M, L, D

0...65535

WORD

0...65534

DWORD

0...65532

Description de l'opration
T <oprande>
Cette opration transfre (copie) le contenu de l'accumulateur 1 dans l'adresse de
destination si le relais de masquage (Master Control Relay) est en fonction (MCR = 1). Si le
relais MCR gale 0, c'est la valeur 0 qui est crite dans l'adresse de destination. Le nombre
d'octets copis partir de l'accumulateur 1 dpend de la taille indique dans l'adresse de
destination. L'accumulateur 1 conserve les donnes mme aprs excution de l'opration de
transfert. Le transfert dans la zone de priphrie directe (zone de mmoire PA) excute
galement un transfert du contenu de l'accumulateur 1 ou de l'tat de signal 0 (si MCR
gale 0) l'adresse correspondante dans la mmoire image des sorties (zone de
mmoire A). L'opration s'excute sans tenir compte des bits du mot d'tat ni influer sur eux.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemples
LIST
T

AB10

T
T

MW14
DBD2

9-8

Explication
//Transfrer le contenu de l'accumulateur 1-L-L dans l'octet de sortie
AB10.
//Transfrer le contenu de l'accumulateur 1-L dans le mot de mmento MW14.
//Transfrer le contenu de l'accumulateur 1 dans le double mot de donnes
DBD2.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de chargement et de transfert

9.10

T STW

Transfrer accumulateur 1 dans mot d'tat

Format
T STW

Description de l'opration
T STW (Opration T avec l'oprande STW)
Cette opration transfre dans le mot d'tat les bits 0 8 figurant dans l'accumulateur 1.
L'opration s'excute sans tenir compte des bits du mot d'tat.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
T

STW

Explication
//Transfrer les bits 0 8 de l'accumulateur 1 dans le mot d'tat.

Les bits dans l'accumulateur 1 contiennent les bits d'tat suivants :


Bits

31-9 8

Contenu : *

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

* Ces bits ne sont pas transfrs.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

9-9

Oprations de chargement et de transfert

9.11

TAR Permuter registre dadresse 1 avec


registre dadresse 2

Format
TAR

Description de l'opration
TAR (Permuter registre dadresse)
Cette opration permute les contenus des registres d'adresse AR 1 et AR 2. Cette opration
s'excute sans tenir compte des bits du mot d'tat ni influer sur eux.
Le contenu du registre d'adresse 1 est dplac dans le registre d'adresse 2 et celui du
registre d'adresse 2 dans le registre d'adresse 1.

Mot d'tat
Ecriture :

9.12

TAR1

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Transfrer registre d'adresse 1 dans l'accumulateur 1

Format
TAR1

Description de l'opration
TAR1 transfre le contenu du registre d'adresse 1 (AR1) dans l'accumulateur 1 (32 bits). Le
contenu de l'accumulateur 1 a auparavant t rang dans l'accumulateur 2. L'opration
s'excute sans tenir compte des bits du mot d'tat ni influer sur eux.

Mot d'tat
Ecriture :

9.13

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

TAR1 <D> Transfrer registre d'adresse 1 l'adresse de


destination (32 bits)

Format
TAR1 <D>

9-10

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de chargement et de transfert

Paramtre

Type de donnes

Zone de mmoire

Adresse source

<D>

DWORD

D, M, L

0...65532

Description de l'opration
TAR1 <D>
Cette opration transfre le contenu du registre d'adresse 1 (AR1) dans le double mot <D>
indiqu. Les zones de destination possibles sont les suivantes : doubles mots de mmento
(MD), doubles mots de donnes locales (LD), doubles mots de donnes (DBD) et doubles
mots d'instance (DID).
Les accumulateurs 1 et 2 restent inchangs. L'opration s'excute sans tenir compte des
bits du mot d'tat ni influer sur eux.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemples
LIST
TAR1
TAR1
TAR1
TAR1

DBD20
DID30
LD18
MD24

Explication
//Transfrer
//Transfrer
//Transfrer
//Transfrer

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

le
le
le
le

contenu
contenu
contenu
contenu

de
de
de
de

AR1
AR1
AR1
AR1

dans
dans
dans
dans

le
le
le
le

double
double
double
double

mot
mot
mot
mot

de donnes
d'instance
de donnes
de mmento

DBD20.
DID30.
locales LD18.
MD24.

9-11

Oprations de chargement et de transfert

9.14

TAR1 AR2 Transfrer registre d'adresse 1 dans


registre d'adresse 2

Format
TAR1 AR2

Description de l'opration
TAR1 AR2 (Opration TAR1 avec l'oprande AR2)
Cette opration transfre le contenu du registre d'adresse 1 (AR1) dans le registre
d'adresse 2 (AR2).
L'accumulateur 1 et l'accumulateur 2 restent inchangs. L'opration s'excute sans tenir
compte des bits du mot d'tat ni influer sur eux.

Mot d'tat
Ecriture :

9.15

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

TAR2 Transfrer registre d'adresse 2 dans l'accumulateur 1

Format
TAR2

Description de l'opration
TAR2 transfre le contenu du registre d'adresse 2 (AR2) dans l'accumulateur 1 (32 bits). Le
contenu de l'accumulateur 1 a auparavant t sauvegard dans l'accumulateur 2.
L'opration s'excute sans tenir compte des bits du mot d'tat ni influer sur eux.

Mot d'tat
Ecriture :

9-12

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de chargement et de transfert

9.16

TAR2 <D> Transfrer registre d'adresse 2 l'adresse de


destination (32 bits)

Format
TAR2 <D>
Paramtre

Type de donnes

Zone de mmoire

Adresse source

<D>

DWORD

D, M, L

0...65532

Description de l'opration
TAR2 <D>
Cette opration transfre le contenu du registre d'adresse 2 (AR2) dans le double mot <D>
indiqu. Les zones de destination possibles sont les suivantes : doubles mots de mmento
(MD), doubles mots de donnes locales (LD), doubles mots de donnes (DBD) et doubles
mots d'instance (DID).
L'accumulateur 1 et l'accumulateur 2 restent inchangs. L'opration s'excute sans tenir
compte des bits du mot d'tat ni influer sur eux.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemples
LIST
TAR2
TAR2
TAR2
TAR2

DBD20
DID30
LD18
MD24

Explication
//Transfrer
//Transfrer
//Transfrer
//Transfrer

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

le
le
le
le

contenu
contenu
contenu
contenu

de
de
de
de

AR2
AR2
AR2
AR2

dans
dans
dans
dans

le
le
le
le

double
double
double
double

mot
mot
mot
mot

de donnes
d'instance
de donnes
de mmento

DBD20.
DID30.
locales LD18.
MD24.

9-13

Oprations de chargement et de transfert

9-14

Langage LIST pour SIMATIC S7-300/400


A5E00261419-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 de programme suivantes :

BE

Fin de bloc

BEB

Fin de bloc conditionnelle

BEA

Fin de bloc inconditionnelle

CALL

Appel de bloc

CC

Appel de bloc conditionnel

UC

Appel de bloc inconditionnel

Appeler FB

Appeler FC

Appeler SFB

Appeler SFC

Appeler multi-instance

Appeler un bloc dans une bibliothque

Relais de masquage (Master Control Relay, MCR)

Remarques importantes sur l'utilisation de la fonctionnalit MCR

MCR(

Sauvegarder RLG dans pile MCR, dbut de zone MCR

)MCR

Fin de zone MCR

MCRA

Activer la zone MCR

MCRD

Dsactiver la zone MCR

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

10-1

Oprations de gestion d'excution de programme

10.2

BE

Fin de bloc

Format
BE

Description de l'opration
BE (Fin de bloc)
Cette opration interrompt la squence normale de votre programme dans le bloc en cours
et saute au bloc ayant appel le bloc en cours. Le programme se poursuit avec la premire
instruction suivant l'appel du bloc. La zone de donnes locales en cours est libre et la
zone de donnes locales prcdentes redevient la zone de donnes locales en cours. Les
blocs de donnes qui taient ouverts au moment de l'appel sont nouveau ouverts. De plus,
la dpendance par rapport au MCR du bloc appelant est restaure et le RLG est transfr
du bloc en cours au bloc appelant. L'opration BE prend effet sans aucune condition. Si
l'opration BE est saute, le droulement de votre programme ne s'achve pas, mais se
poursuit la destination de saut, l'intrieur du bloc.
L'opration BE ne correspond pas celle du logiciel S5. Pour le matriel S7, l'opration BE
a la mme fonction que l'opration BEA de S5.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST

SUIV:

10-2

Explication
U
SPB

E 1.0
SUIV

L
T
U
U
S

EW4
EW10
E 6.0
E 6.1
M
12.0

BE
NOP 0

//Saut au repre de saut SUIV si le rsultat logique gale 1


(E 1.0 = 1).
//Poursuivre ici si le saut ne s'excute pas.

//Fin de bloc.
//Poursuivre ici si le saut s'excute.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de gestion d'excution de programme

10.3

BEB

Fin de bloc conditionnelle

Format
BEB

Description de l'opration
Si le RLG gale 1, l'opration BEB (Fin de bloc conditionnelle) interrompt la squence
normale de votre programme dans le bloc en cours et saute au bloc ayant appel le bloc en
cours. Le programme se poursuit avec la premire instruction suivant l'appel du bloc. La
zone de donnes locales en cours est libre et la zone de donnes locales prcdentes
redevient la zone de donnes locales en cours. Les blocs de donnes qui taient ouverts au
moment de l'appel sont nouveau ouverts. La dpendance par rapport au MCR du bloc
appelant est restaure.
Le RLG (gal 1) est report du bloc qui s'est achev dans le bloc appelant. Si le RLG
gale 0, l'opration BEB ne s'excute pas. Le RLG est mis 1 et le programme se poursuit
avec l'instruction suivante.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
U
BEB
L
T

E 1.0
EW4
MW10

Explication
//Actualiser le RLG.
//Terminer le bloc si le RLG gale 1.
//Poursuivre ici si l'instruction BEB ne s'excute pas (RLG gal 0).

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

10-3

Oprations de gestion d'excution de programme

10.4

BEA

Fin de bloc inconditionnelle

Format
BEA

Description de l'opration
BEA (Fin de bloc inconditionnelle)
Cette opration interrompt la squence normale de votre programme dans le bloc en cours
et saute au bloc ayant appel le bloc en cours. Le programme se poursuit avec la premire
instruction suivant l'appel du bloc. La zone de donnes locales en cours est libre et la
zone de donnes locales prcdentes redevient la zone de donnes locales en cours. Les
blocs de donnes qui taient ouverts au moment de l'appel sont nouveau ouverts. De plus,
la dpendance par rapport au MCR du bloc appelant est restaure et le RLG est transfr
du bloc en cours au bloc appelant. L'opration BEA prend effet sans condition. Si l'opration
BEA est saute, le droulement de votre programme ne s'achve pas, mais se poursuit la
destination de saut, l'intrieur du bloc.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST

SUIV:

10-4

Explication
U
SPB

E 1.0
SUIV

L
T
U
U
S

EW4
EW10
E 6.0
E 6.1
M
12.0

BEA
NOP 0

//Saut au repre de saut SUIV si le rsultat logique RLG gale 1


(E 1.0 = 1).
//Poursuivre ici si le saut ne s'excute pas.

//Fin de bloc inconditionnelle.


//Poursuivre ici si le saut s'excute.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de gestion d'excution de programme

10.5

CALL

Appel de bloc

Format
CALL <ID du bloc de code>

Description de l'opration
CALL <ID du bloc de code>
Cette opration permet l'appel des fonctions (FC) et blocs fonctionnels (FB) ou celui des
fonctions standard (SFC) et blocs fonctionnels standard (SFB) livrs par Siemens. CALL
appelle la FC, le FB, la SFC ou le SFB que vous avez indiqu en oprande, et ce
indpendamment du RLG ou de toute autre condition. Si vous appelez un FB ou un SFB
l'aide de CALL, vous devez prciser un bloc de donnes d'instance. Une fois le bloc appel
trait, le programme se poursuit dans le bloc appelant. Vous pouvez indiquer l'identificateur
de bloc sous forme absolue ou symbolique. Les contenus des registres sont restaurs aprs
un appel de SFB/SFC.

Exemple : CALL FB1, DB1 ou CALL REMPLIR1, SUBST1


Bloc de code

Type de bloc

Syntaxe pour lappel


(adressage absolu)

FC

Fonction

CALL FCn

SFC

Fonction systme

CALL SFCn

FB

Bloc fonctionnel

CALL FBn1,DBn2

SFB

Bloc fonctionnel systme

CALL SFBn1,DBn2

Nota
Si vous utilisez lditeur LIST, les indications (n, n1 ou n2) du tableau ci-dessus doivent se
rapporter des blocs corrects dj prsents. Vous devez aussi dfinir pralablement les
mnmoniques.

Transfert de paramtres ( cet effet, travaillez en mode de traitement incrmental)


Le bloc appelant peut changer des paramtres avec le bloc appel l'aide de la liste de
variables. Cette liste est automatiquement complte dans votre programme LIST si vous
entrez une instruction CALL correcte.
Si vous appelez un FB, un SFB, une FC ou une SFC et si la table de dclaration des
variables du bloc appel comporte des dclarations de type IN, OUT et IN_OUT, ces
variables seront ajoutes dans le programme du bloc appelant comme liste des paramtres
formels.
Vous devez, lors de l'appel de FC et de SFC, affecter des paramtres effectifs du bloc de
code appelant aux paramtres formels.
Lors de l'appel de FB et de SFB, vous devez uniquement indiquer les paramtres effectifs
devant changer par rapport au dernier appel, car les paramtres effectifs sont sauvegards
dans le DB d'instance aprs le traitement du FB. Si le paramtre effectif est un DB, il faut
toujours indiquer l'adresse absolue entire, par exemple DB1, DBW2.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

10-5

Oprations de gestion d'excution de programme

Il est possible d'indiquer les paramtres IN comme constantes ou comme adresses absolues
ou symboliques. Les paramtres OUT et IN_OUT doivent tre indiqus comme adresses
absolues ou symboliques. Veillez ce que toutes les adresses et constantes soient
compatibles avec les types de donnes transfrs.
L'opration CALL sauvegarde l'adresse de retour (slecteur et adresse relative), les
slecteurs des deux blocs de donnes ouverts et le bit MA dans la pile des blocs. Elle
dsactive en outre la relation de dpendance par rapport au MCR et dfinit la zone de
donnes locales du bloc qui doit tre appel.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple 1 : Affectation de paramtres l'appel de la fonction FC6


CALL

FC6
Paramtre formel
NO OF TOOL
TIME OUT
FOUND
ERROR

Paramtre effectif
:= MW100
:= MW110
:= A 0.1
:= A 100.0

Exemple 2 : Appel d'une SFC sans paramtre


LIST
CALL

SFC43

Explication
//Appeler SFC43 pour redmarrer la surveillance du temps (sans paramtre).

Exemple 3 : Appel du FB99 avec le bloc de donnes d'instance DB1


CALL

FB99,DB1
Paramtre formel
MAX_RPM
MIN_RPM
MAX_POWER
MAX_TEMP

Paramtre effectif
:= #RPM1_MAX
:= #RPM2
:= #POWER
:= #TEMP

Exemple 4 : Appel du FB99 avec le bloc de donnes d'instance DB2


CALL

FB99,DB2
Paramtre formel
MAX_RPM
MIN_RPM
MAX_POWER
MAX_TEMP

Paramtre effectif
:= #RPM3_MAX
:= #RPM2
:= #POWER1
:= #TEMP

Nota
Chaque appel de bloc fonctionnel ou de bloc fonctionnel systme ncessite un bloc de
donnes d'instance. Dans l'exemple ci-dessus, les blocs DB1 et DB2 doivent tre prsents
avant l'appel.

10-6

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de gestion d'excution de programme

10.6

Appeler FB

Format
CALL FB n1, DB n2

Description de l'opration
Cette opration permet l'appel des blocs fonctionnels (FB) que vous avez programms.
CALL appelle le FB que vous avez indiqu en oprande, et ce indpendamment du RLG ou
de toute autre condition. Si vous appelez un FB l'aide de CALL, vous devez prciser un
bloc de donnes d'instance. Une fois le bloc appel trait, le programme se poursuit dans le
bloc appelant. Vous pouvez indiquer l'identificateur de bloc sous forme absolue ou
symbolique.

Transfert de paramtres ( cet effet, travaillez en mode de traitement incrmental)


Le bloc appelant peut changer des paramtres avec le bloc appel l'aide de la liste de
variables. Cette liste est automatiquement complte dans votre programme LIST si vous
entrez une instruction CALL correcte.
Si vous appelez un FB dont la table de dclaration des variables comporte des dclarations
de type IN, OUT et IN_OUT, ces variables seront ajoutes dans le programme du bloc
appelant comme liste des paramtres formels.
Lors de l'appel de FB, vous devez uniquement indiquer les paramtres effectifs devant
changer par rapport au dernier appel, car les paramtres effectifs sont sauvegards dans le
DB d'instance aprs le traitement du FB. Si le paramtre effectif est un DB, il faut toujours
indiquer l'adresse absolue entire, par exemple DB1,DBW2.
Il est possible d'indiquer les paramtres IN comme constantes ou comme adresses absolues
ou symboliques. Les paramtres OUT et IN_OUT doivent tre indiqus comme adresses
absolues ou symboliques. Veillez ce que toutes les adresses et constantes soient
compatibles avec les types de donnes transfrs.
L'opration CALL sauvegarde l'adresse de retour (slecteur et adresse relative), les
slecteurs des deux blocs de donnes ouverts et le bit MA dans la pile des blocs. Elle
dsactive en outre la relation de dpendance par rapport au MCR et dfinit la zone de
donnes locales du bloc qui doit tre appel.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

10-7

Oprations de gestion d'excution de programme

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple 1 : Appel du FB99 avec le bloc de donnes d'instance DB1


CALL

FB99,DB1
Paramtre formel
MAX_RPM
MIN_RPM
MAX_POWER
MAX_TEMP

Paramtre effectif
:= #RPM1_MAX
:= #RPM1
:= #POWER1
:= #TEMP1

Exemple 2 : Appel du FB99 avec le bloc de donnes d'instance DB2


CALL

FB99,DB2
Paramtre formel
MAX_RPM
MIN_RPM
MAX_POWER
MAX_TEMP

Paramtre effectif
:= #RPM2_MAX
:= #RPM2
:= #POWER2
:= #TEMP2

Nota
Chaque appel de bloc fonctionnel ncessite un bloc de donnes d'instance. Dans l'exemple
ci-dessus, les blocs DB1 et DB2 doivent tre prsents avant l'appel.

10-8

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de gestion d'excution de programme

10.7

Appeler FC

Format
CALL FC n

Nota
Si vous utilisez lditeur LIST, l'indication (n) doit se rapporter des blocs corrects dj
prsents. Vous devez aussi dfinir pralablement les mnmoniques.

Description de l'opration
Cette opration permet l'appel de fonctions (FC). CALL appelle la FC que vous avez
indique en oprande, et ce indpendamment du RLG ou de toute autre condition. Une fois
le bloc appel trait, le programme se poursuit dans le bloc appelant. Vous pouvez indiquer
l'identificateur de bloc sous forme absolue ou symbolique.

Transfert de paramtres ( cet effet, travaillez en mode de traitement incrmental)


Le bloc appelant peut changer des paramtres avec le bloc appel l'aide de la liste de
variables. Cette liste est automatiquement complte dans votre programme LIST si vous
entrez une instruction CALL correcte.
Si vous appelez une FC dont la table de dclaration des variables comporte des dclarations
de type IN, OUT et IN_OUT, ces variables seront ajoutes dans le programme du bloc
appelant comme liste des paramtres formels.
Vous devez, lors de l'appel de FC, affecter des paramtres effectifs du bloc de code
appelant aux paramtres formels.
Il est possible d'indiquer les paramtres IN comme constantes ou comme adresses absolues
ou symboliques. Les paramtres OUT et IN_OUT doivent tre indiqus comme adresses
absolues ou symboliques. Veillez ce que toutes les adresses et constantes soient
compatibles avec les types de donnes transfrs.
L'opration CALL sauvegarde l'adresse de retour (slecteur et adresse relative), les
slecteurs des deux blocs de donnes ouverts et le bit MA dans la pile des blocs. Elle
dsactive en outre la relation de dpendance par rapport au MCR et dfinit la zone de
donnes locales du bloc qui doit tre appel.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple : Affectation de paramtres l'appel de la fonction FC6


CALL

FC6
Paramtre formel
NO OF TOOL
TIME OUT
FOUND
ERROR

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Paramtre effectif
:= MW100
:= MW110
:= A 0.1
:= A 100.0

10-9

Oprations de gestion d'excution de programme

10.8

Appeler SFB

Format
CALL SFB n1, DB n2

Description de l'opration
Cette opration permet l'appel des blocs fonctionnels standard (SFB) livrs par Siemens.
CALL appelle le SFB que vous avez indiqu en oprande, et ce indpendamment du RLG
ou de toute autre condition. Si vous appelez un SFB l'aide de CALL, vous devez prciser
un bloc de donnes d'instance. Une fois le bloc appel trait, le programme se poursuit dans
le bloc appelant. Vous pouvez indiquer l'identificateur de bloc sous forme absolue ou
symbolique.

Transfert de paramtres ( cet effet, travaillez en mode de traitement incrmental)


Le bloc appelant peut changer des paramtres avec le bloc appel l'aide de la liste de
variables. Cette liste est automatiquement complte dans votre programme LIST si vous
entrez une instruction CALL correcte.
Si vous appelez un FB dont la table de dclaration des variables comporte des dclarations
de type IN, OUT et IN_OUT, ces variables seront ajoutes dans le programme du bloc
appelant comme liste des paramtres formels.
Lors de l'appel de SFB, vous devez uniquement indiquer les paramtres effectifs devant
changer par rapport au dernier appel, car les paramtres effectifs sont sauvegards dans le
DB d'instance aprs le traitement du SFB. Si le paramtre effectif est un DB, il faut toujours
indiquer l'adresse absolue entire, par exemple DB1,DBW2.
Il est possible d'indiquer les paramtres IN comme constantes ou comme adresses absolues
ou symboliques. Les paramtres OUT et IN_OUT doivent tre indiqus comme adresses
absolues ou symboliques. Veillez ce que toutes les adresses et constantes soient
compatibles avec les types de donnes transfrs.
L'opration CALL sauvegarde l'adresse de retour (slecteur et adresse relative), les
slecteurs des deux blocs de donnes ouverts et le bit MA dans la pile des blocs. Elle
dsactive en outre la relation de dpendance par rapport au MCR et dfinit la zone de
donnes locales du bloc qui doit tre appel.

10-10

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de gestion d'excution de programme

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
CALL

SFB4,DB4
Paramtre formel
IN:
PT:
Q:
ET:

Paramtre effectif
E0.1
T#20s
M0.0
MW10

Nota
Chaque appel de bloc fonctionnel ncessite un bloc de donnes d'instance. Dans l'exemple
ci-dessus, les blocs SFB4 et DB4 doivent tre prsents avant l'appel.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

10-11

Oprations de gestion d'excution de programme

10.9

Appeler SFC

Format
CALL SFC n

Nota
Si vous utilisez lditeur LIST, l'indication (n) doit se rapporter des blocs corrects dj
prsents. Vous devez aussi dfinir pralablement les mnmoniques.

Description de l'opration
Cette opration permet l'appel de fonctions standard (SFC) livres par Siemens. CALL
appelle la SFC que vous avez indique en oprande, et ce indpendamment du RLG ou de
toute autre condition. Une fois le bloc appel trait, le programme se poursuit dans le bloc
appelant. Vous pouvez indiquer l'identificateur de bloc sous forme absolue ou symbolique.

Transfert de paramtres ( cet effet, travaillez en mode de traitement incrmental)


Le bloc appelant peut changer des paramtres avec le bloc appel l'aide de la liste de
variables. Cette liste est automatiquement complte dans votre programme LIST si vous
entrez une instruction CALL correcte.
Si vous appelez une FC dont la table de dclaration des variables comporte des dclarations
de type IN, OUT et IN_OUT, ces variables seront ajoutes dans le programme du bloc
appelant comme liste des paramtres formels.
Vous devez, lors de l'appel de SFC, affecter des paramtres effectifs du bloc de code
appelant aux paramtres formels.
Il est possible d'indiquer les paramtres IN comme constantes ou comme adresses absolues
ou symboliques. Les paramtres OUT et IN_OUT doivent tre indiqus comme adresses
absolues ou symboliques. Veillez ce que toutes les adresses et constantes soient
compatibles avec les types de donnes transfrs.
L'opration CALL sauvegarde l'adresse de retour (slecteur et adresse relative), les
slecteurs des deux blocs de donnes ouverts et le bit MA dans la pile des blocs. Elle
dsactive en outre la relation de dpendance par rapport au MCR et dfinit la zone de
donnes locales du bloc qui doit tre appel.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple : Appel d'une SFC sans paramtre


LIST
CALL

10-12

SFC43

Explication
//Appeler SFC43 pour redmarrer la surveillance du temps (sans paramtre).

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de gestion d'excution de programme

10.10 Appeler multi-instance


Format
CALL # nom-variable

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.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

10.11 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

qui sont intgrs dans le systme d'exploitation de votre CPU (bibliothque "Standard
Library") ;

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

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

10-13

Oprations de gestion d'excution de programme

10.12 CC

Appel de bloc conditionnel

Format
CC <ID du bloc de code>

Description de l'opration

CC <ID du bloc de code>


L'opration "Appel de bloc conditionnel" permet d'appeler, si le RLG gale 1, un bloc de
code de type FC ou SFC sans paramtre. L'opration CC est quasiment identique
l'opration CALL la diffrence qu'il n'est pas possible de transmettre des paramtres.
L'opration sauvegarde l'adresse de retour (slecteur et adresse relative), les slecteurs des
deux blocs de donnes en cours ainsi que le bit MA dans la pile des blocs, dsactive la
dpendance par rapport au MCR, cre la zone de donnes locales du bloc qui doit tre
appel et commence l'excution du code appel. Vous pouvez indiquer l'identificateur du
bloc sous forme absolue ou symbolique.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple 1
LIST
U
CC
U

E 2.0
FC6
M3.0

Explication
//Interroger l'tat de signal l'entre E 2.0.
//Appeler la fonction FC6 si l'tat de signal en E 2.0 gale 1.
//S'excute aprs retour de la fonction appele (si E 2.0 = 1) ou juste
aprs l'instruction U E 2.0 si E 2.0 gale 0.

Exemple 2
LIST
U
CC

E 2.0
SFC43

Explication
//Interroger l'tat de signal l'entre E 2.0.
//Appeler la fonction systme SFC43 (sans paramtre) si E 2.0 gale 1.

Nota
Lorsque vous appelez un bloc fonctionnel (FB) ou un bloc fonctionnel systme (SFB) avec
l'opration CALL, vous devez prciser un bloc de donnes d'instance (n de DB) dans
l'instruction. Pour un appel avec l'opration CC, vous ne pouvez pas indiquer de bloc de
donnes dans l'oprande de l'instruction.
Selon le rseau avec lequel vous travaillez, la fentre de programmation de blocs en CONT
ou LIST gnre en partie l'opration UC et en partie l'opration CC lors de la conversion du
langage de programmation CONT (schma contacts) en langage de programmation LIST
(liste d'instructions). Utilisez, en rgle gnrale, l'opration CALL pour que des erreurs
n'apparaissent pas dans les programmes que vous avez crs.

10-14

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de gestion d'excution de programme

10.13 UC

Appel de bloc inconditionnel

Format
UC <ID du bloc de code>

Description de l'opration
UC <ID du bloc de code>
L'opration "Appel de bloc inconditionnel" permet d'appeler un bloc de code de type FC ou
SFC. L'opration UC ressemble l'opration CALL la diffrence qu'il n'est pas possible de
transmettre des paramtres. L'opration sauvegarde l'adresse de retour (slecteur et
adresse relative), les slecteurs des deux blocs de donnes en cours ainsi que le bit MA
dans la pile des blocs. Elle dsactive la relation de dpendance par rapport au MCR, cre la
zone de donnes locales du bloc qui doit tre appel et commence l'excution du code
appel.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple 1
LIST
UC

FC6

Explication
//Appeler la fonction FC6 (sans paramtre).

Exemple 2
LIST
UC

SFC43

Explication
//Appeler la fonction systme SFC43 (sans paramtre).

Nota
Lorsque vous appelez un bloc fonctionnel (FB) ou un bloc fonctionnel systme (SFB) avec
l'opration CALL, vous devez prciser un bloc de donnes d'instance (n de DB) dans
l'instruction. Pour un appel avec l'opration UC, vous ne pouvez pas indiquer de bloc de
donnes dans l'oprande de l'instruction.
Selon le rseau avec lequel vous travaillez, la fentre de programmation de blocs en CONT
ou LIST gnre en partie l'opration UC et en partie l'opration CC lors de la conversion du
langage de programmation CONT (schma contacts) en langage de programmation LIST
(liste d'instructions). Utilisez, en rgle gnrale, l'opration CALL pour que des erreurs
n'apparaissent pas dans les programmes que vous avez crs.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

10-15

Oprations de gestion d'excution de programme

10.14 Relais de masquage (Master Control Relay, MCR)


Remarques importantes sur l'utilisation de la fonctionnalit MCR

Avertissement
Pour exclure tout risque de blessures ou de dgts matriels, n'utilisez jamais le MCR pour
remplacer un relais de masquage mcanique cbl servant une fonction d'arrt d'urgence.

Description
Le relais de masquage Master Control Relay (MCR) est utilis dans les schmas contacts
de relais pour exciter et dsexciter le flux d'nergie. Les oprations dclenches par les
oprations suivantes de combinaison sur bits et de transfert dpendent du MCR :

= <bit>

S <bit>

R <bit>

T <octet>, T <mot>, T <double mot>

L'opration T avec octet, mot ou double mot crit un 0 en mmoire si le MCR gale 0. Les
oprations S et R laissent la valeur existante inchange. L'opration = crit un 0 dans le bit
adress.

Ractions des oprations dpendant de l'tat de signal du bit MCR

10-16

Etat de signal du
MCR

= <bit>

S <bit>, R <bit>

T <octet>, T <mot>
T <double mot>

0 (HORS
FONCTION)

Ecrit 0.

N'crit rien.

Ecrit 0.

Imite un relais passant Imite un relais restant


l'tat de repos en cas de l'tat en vigueur en cas
perte de tension.
de perte de tension.

Imite un composant produisant


une valeur de 0 en cas de
perte de tension.

1 (EN FONCTION)

Excution normale.

Excution normale.

Excution normale.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de gestion d'excution de programme

MCR( : Dbut de zone MCR et )MCR : Fin de zone MCR


Le MCR est command par une pile de un bit de large et de huit bits de profondeur. Le MCR
est actif tant que toutes les huit entres galent 1. L'opration MCR( copie le bit RLG dans la
pile MCR. L'opration )MCR annule la dernire entre de la pile et met l'emplacement libr
1. Les oprations MCR( et )MCR doivent toujours tre utilises par paires. Une erreur
MCR (MCRF) est signale si plus de huit oprations MCR( se suivent ou si une opration
)MCR doit tre excute alors que la pile est vide.

MCRA : Activer la zone MCR et MCRD : Dsactiver la zone MCR


Les oprations MCRA et MCRD doivent toujours tre utilises par paires. Les instructions
entre MCRA et MCRD dpendent de l'tat de signal du bit MCR. En revanche, les
instructions en dehors de la squence MCRA-MCRD ne dpendent pas de l'tat de signal de
ce bit.
Vous devez programmer la relation de dpendance au MCR des fonctions (FC) et des blocs
fonctionnels (FB) dans les blocs eux-mmes en utilisant l'opration MCRA dans le bloc
appel.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

10-17

Oprations de gestion d'excution de programme

10.15 Remarques importantes sur lutilisation


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 !

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 :

10-18

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 LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de gestion d'excution de programme

10.16 MCR(

Sauvegarder RLG dans pile MCR, dbut de zone MCR

Remarques importantes sur l'utilisation de la fonctionnalit MCR

Format
MCR(

Description de l'opration
MCR( (Ouvrir une zone MCR)
Cette opration sauvegarde le RLG dans la pile MCR (Master Control Relay : relais de
masquage) et ouvre une zone MCR. Une zone MCR comprend les instructions entre
l'opration MCR( et l'opration )MCR correspondante. Il faut toujours utiliser les oprations
MCR( et )MCR par paires.
Si le RLG gale 1, le relais de masquage est "en fonction". Les instructions dpendant du
MCR l'intrieur de cette zone MCR s'excutent normalement.
Si le RLG gale 0, le relais de masquage est "hors fonction". Les instructions dpendant du
MCR l'intrieur de cette zone MCR s'excutent comme indiqu dans le tableau ci-dessous.

Ractions des oprations dpendant de l'tat de signal du bit MCR


Etat de signal du
MCR

= <bit>

S <bit>, R <bit>

T <octet>, T <mot>
T <double mot>

0 (HORS
FONCTION)

Ecrit 0.

N'crit rien.

Ecrit 0.

1 (EN FONCTION)

Excution normale.

Imite un relais passant Imite un relais restant Imite un composant produisant


l'tat de repos en cas de l'tat en vigueur en cas une valeur de 0 en cas de perte
perte de tension.
de perte de tension.
de tension.
Excution normale.

Excution normale.

Vous pouvez imbriquer les oprations MCR( et )MCR. La profondeur d'imbrication maximale
est de huit oprations. La pile peut, par consquent, contenir huit entres au maximum. Si
l'opration MCR( est excute pile pleine, une erreur de pile MCR (MCRF) est alors
signale.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

10-19

Oprations de gestion d'excution de programme

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
MCRA
U
MCR(

Explication
//Activer la zone MCR.
E 1.0
//Sauvegarder le RLG dans la pile MCR, ouvrir une zone MCR. Le MCR est en
fonction si le RLG gale 1 (E 1.0 = 1). Le MCR est hors fonction si le RLG
gale 0 (E 1.0 = 0).

U
=

E 4.0
A 8.0

L
T
)MCR
MCRD
U
=

MW20
AW10

10-20

E 1.1
A 8.1

//Si le MCR est hors fonction, la sortie A 8.0 est mise 0 sans
considrer l'tat de signal l'entre E 4.0.
//Si le MCR est hors fonction, la valeur 0 est transfre dans AW10.
//Mettre fin la zone MCR.
//Dsactiver la zone MCR.
//Ces instructions sont l'extrieur de la zone MCR et ne dpendent pas
du bit MCR.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de gestion d'excution de programme

10.17 )MCR

Fin de zone MCR

Remarques importantes sur l'utilisation de la fonctionnalit MCR

Format
)MCR

Description de l'opration
)MCR (Fin de zone MCR)
Cette opration retire une entre de la pile MCR et termine une zone MCR. La dernire
entre dans la pile MCR est libre et mise 1. Les oprations MCR( et )MCR doivent
toujours tre utilises par paires. Si l'opration )MCR s'excute si la pile est vide, une erreur
de pile MCR (MCRF) est signale.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
MCRA
U
MCR(

Explication
//Activer la zone MCR.
E 1.0
//Sauvegarder le RLG dans la pile MCR, ouvrir une zone MCR. Le MCR est en
fonction si le RLG gale 1 (E 1.0 = 1). Le MCR est hors fonction si le RLG
gale 0 (E 1.0 = 0).

U
=

E 4.0
A 8.0

L
T
)MCR
MCRD
U
=

MW20
AW10

E 1.1
A 8.1

//Si le MCR est hors fonction, la sortie A 8.0 est mise 0 sans
considrer l'tat de signal l'entre E 4.0.
//Si le MCR est hors fonction, la valeur 0 est transfre dans AW10.
//Mettre fin la zone MCR.
//Dsactiver la zone MCR.
//Ces instructions sont l'extrieur de la zone MCR et ne dpendent pas
du bit MCR.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

10-21

Oprations de gestion d'excution de programme

10.18 MCRA

Activer la zone MCR

Remarques importantes sur l'utilisation de la fonctionnalit MCR

Format
MCRA

Description de l'opration
MCRA (Activer le relais de masquage)
Cette opration permet d'activer la dpendance par rapport au MCR des instructions qui
suivent cette opration. Les oprations MCRA et MCRD (dsactivation du relais de
masquage) doivent toujours tre utilises par paires. Les instructions figurant entre MCRA et
MCRD dpendent de l'tat de signal du bit MCR.
L'opration s'excute sans tenir compte des bits d'tat ni influer sur eux.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
MCRA
U
MCR(

Explication
//Activer la zone MCR.
E 1.0
//Sauvegarder le RLG dans la pile MCR, ouvrir une zone MCR. Le MCR est en
fonction si le RLG gale 1 (E 1.0 = 1). Le MCR est hors fonction si le RLG
gale 0 (E 1.0 = 0).

U
=

E 4.0
A 8.0

L
T
)MCR
MCRD
U
=

MW20
AW10

10-22

E 1.1
A 8.1

//Si le MCR est hors fonction, la sortie A 8.0 est mise 0 sans
considrer l'tat de signal l'entre E 4.0.
//Si le MCR est hors fonction, la valeur 0 est transfre dans AW10.
//Mettre fin la zone MCR.
//Dsactiver la zone MCR.
//Ces instructions sont l'extrieur de la zone MCR et ne dpendent pas
du bit MCR.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de gestion d'excution de programme

10.19 MCRD

Dsactiver la zone MCR

Remarques importantes sur l'utilisation de la fonctionnalit MCR

Format
MCRD

Description de l'opration
MCRD (Dsactiver le relais de masquage)
Cette opration permet de dsactiver la dpendance par rapport au MCR des instructions
qui suivent cette opration. Les oprations MCRA et MCRD (activation du relais de
masquage) doivent toujours tre utilises par paires. Les instructions figurant entre MCRA et
MCRD dpendent de l'tat de signal du bit MCR.
L'opration s'excute sans tenir compte des bits d'tat ni influer sur eux.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
MCRA
U
MCR(

Explication
//Activer la zone MCR.
E 1.0
//Sauvegarder le RLG dans la pile MCR, ouvrir une zone MCR. Le MCR est en
fonction si le RLG gale 1 (E 1.0 = 1). Le MCR est hors fonction si le RLG
gale 0 (E 1.0 = 0).

U
=

E 4.0
A 8.0

L
T
)MCR
MCRD
U
=

MW20
AW10

E 1.1
A 8.1

//Si le MCR est hors fonction, la sortie A 8.0 est mise 0 sans
considrer l'tat de signal l'entre E 4.0.
//Si le MCR est hors fonction, la valeur 0 est transfre dans AW10.
//Mettre fin la zone MCR.
//Dsactiver la zone MCR.
//Ces instructions sont l'extrieur de la zone MCR et ne dpendent pas
du bit MCR.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

10-23

Oprations de gestion d'excution de programme

10-24

Langage LIST pour SIMATIC S7-300/400


A5E00261419-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 du mot de poids
faible de laccumulateur 1 ou de laccumulateur entier vers la gauche ou vers la droite (voir
aussi Registres de la CPU). Le dcalage vers la gauche multiplie le contenu de
laccumulateur 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 dans
laccumulateur. 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 dans laccumulateur.
Le nombre de bits de dcalage est prcis dans linstruction de dcalage mme ou est pris
dans loctet de poids faible du mot de poids faible de laccumulateur 2. 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). Le 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.
Les oprations de dcalage sont inconditionnelles : leur excution ne dpend daucune
condition spciale. Elles naffectent pas le rsultat logique RLG.
Vous disposez des oprations de dcalage suivantes :

SSI

Dcalage vers la droite d'un entier avec signe (16 bits)

SSD

Dcalage vers la droite d'un entier avec signe (32 bits)

SLW

Dcalage vers la gauche d'un mot (16 bits)

SRW

Dcalage vers la droite d'un mot (16 bits)

SLD

Dcalage vers la gauche d'un double mot (32 bits)

SRD

Dcalage vers la droite d'un double mot (32 bits)

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

11-1

Oprations de dcalage et de rotation

11.1.2

SSI

Dcalage vers la droite d'un entier avec signe (16 bits)

Formats
SSI
SSI <nombre>
Oprande

Type de donnes

Description

<nombre>

Entier non sign

Nombre de bits dcaler ; plage de dcalage de 0 15

Description de l'opration
SSI (Dcalage vers la droite d'un entier avec signe)
Cette opration permet de dcaler bit par bit le contenu de l'accumulateur 1-L vers la droite.
L'tat de signal du bit de signe (bit 15) est crit dans les bits librs par le dcalage. Le bit
dcal en dernier est charg dans le bit BI1 du mot d'tat. Le nombre de bits de dcalage
est prcis soit par l'oprande <nombre>, soit par une valeur figurant dans l'accumulateur 2L-L.
SSI <nombre> : Le nombre de bits de dcalage est prcis par l'oprande <nombre>. Des
valeurs entre 0 et 15 sont autorises. Les bits d'tat BI0 et DEB sont mis 0 si <nombre>
est suprieur 0. Si <nombre> gale 0, l'opration de dcalage s'excute comme une
opration NOP.
SSI : Le nombre de bits de dcalage est prcis par la valeur figurant dans l'accumulateur 2L-L. Des valeurs entre 0 et 255 sont autorises. Un nombre de bits de dcalage suprieur
16 donne toujours le mme rsultat : accumulateur 1 = 16#0000, BI1 = 0 ou accumulateur 1
= 16#FFFF, BI1 = 1. Si le nombre de bits de dcalage est suprieur 0, les bits d'tat BI0 et
DEB sont mis 0. Si le nombre de bits de dcalage gale 0, l'opration de dcalage
s'excute comme une opration NOP.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemples
Contenu

ACCU1-H

ACCU1-L

Bit

31 . . .

..

..

. . . 16

15 . . .

..

..

...0

avant excution de SSI 6

0101

1111

0110

0100

1001

1101

0011

1011

aprs excution de SSI 6

0101

1111

0110

0100

1111

1110

0111

0100

Exemple 1
LIST
L
SSI

MW4
6

MW8

11-2

Explication
//Charger la valeur de MW4 dans laccumulateur 1.
//Dcaler les bits dans l'accumulateur 1, signe inclus, de 6 positions
vers la droite.
//Transfrer le rsultat dans le mot de mmento MW8.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de dcalage et de rotation

Exemple 2
LIST
L
L

Explication
//Charger la valeur +3 dans laccumulateur 1.
//Charger le contenu de laccumulateur 1 dans laccumulateur 2. Charger la
valeur du mot de mmento MW20 dans l'accumulateur 1.
//Le nombre pour le dcalage gale la valeur de l'accumulateur 2-L-L =>
dcaler les bits dans l'accumulateur 1-L, signe inclus, de 3 positions
vers la droite, mettre les positions libres l'tat de signal du bit de
signe.
//Sauter au repre de saut SUIV si le dernier bit dcal (BI1) gale 1.

+3
MW20

SSI

SPP

SUIV

11.1.3

SSD

Dcalage vers la droite d'un entier avec signe (32 bits)

Formats
SSD
SSD <nombre>
Oprande

Type de donnes

Description

<nombre>

Entier non sign

Nombre de bits dcaler ; plage de dcalage de 0 32

Description de l'opration
SSD (Dcalage vers la droite d'un entier avec signe, 32 bits)
Cette opration permet de dcaler bit par bit le contenu entier de l'accumulateur 1 vers la
droite. L'tat de signal du bit de signe est crit dans les bits librs par le dcalage. Le bit
dcal en dernier est charg dans le bit BI1 du mot d'tat. Le nombre de bits de dcalage
est prcis soit par l'oprande <nombre>, soit par une valeur figurant dans
l'accumulateur 2-L-L.
SSD <nombre> : Le nombre de bits de dcalage est prcis par l'oprande <nombre>. Des
valeurs entre 0 et 32 sont autorises. Les bits d'tat BI0 et DEB sont mis 0 si <nombre>
est suprieur 0. Si <nombre> gale 0, l'opration de dcalage s'excute comme une
opration NOP.
SSD : Le nombre de bits de dcalage est prcis par la valeur figurant dans l'accumulateur
2-L-L. Des valeurs entre 0 et 255 sont autorises. Un nombre de bits de dcalage suprieur
32 donne toujours le mme rsultat : accumulateur 1 = 32#00000000, BI1 = 0 ou
accumulateur 1 = 32#FFFFFFFF, BI1 = 1. Si le nombre de bits de dcalage est suprieur
0, les bits d'tat BI0 et DEB sont mis 0. Si le nombre de bits de dcalage gale 0,
l'opration de dcalage s'excute comme une opration NOP.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

11-3

Oprations de dcalage et de rotation

Exemples
Contenu

ACCU1-H

ACCU1-L

Bit

31 . . .

..

..

. . . 16

15 . . .

..

..

...0

avant excution de SSD 7

1000

1111

0110

0100

0101

1101

0011

1011

aprs excution de SSD 7

1111

1111

0001

1110

1100

1000

1011

1010

Exemple 1
LIST
L
SSD

MD4
7

MD8

Explication
//Charger la valeur de MD4 dans laccumulateur 1.
//Dcaler les bits dans l'accumulateur 1, signe inclus, de 7 positions
vers la droite.
//Transfrer le rsultat dans le double mot de mmento MD8.

Exemple 2
LIST
L
L

+3
MD20

SSD

SPP

11-4

SUIV

Explication
//Charger la valeur +3 dans l'accumulateur 1.
//Charger le contenu de l'accumulateur 1 dans l'accumulateur 2. Charger la
valeur du double mot de mmento MD20 dans l'accumulateur 1.
//Le nombre pour le dcalage gale la valeur de l'accumulateur 2-L-L =>
dcaler les bits dans l'accumulateur 1, signe inclus, de 3 positions vers
la droite, mettre les positions libres l'tat de signal du bit de
signe.
//Sauter au repre de saut SUIV si le dernier bit dcal (BI1) gale 1.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de dcalage et de rotation

11.1.4

SLW

Dcalage vers la gauche d'un mot (16 bits)

Formats
SLW
SLW <nombre>
Oprande

Type de donnes

Description

<nombre>

Entier non sign

Nombre de bits dcaler ; plage de dcalage de 0 15

Description de l'opration
SLW (Dcalage vers la gauche d'un mot)
Cette opration permet de dcaler bit par bit le contenu de l'accumulateur 1-L vers la
gauche. Les positions binaires libres par le dcalage sont compltes par des zros. Le
bit dcal en dernier est charg dans le bit BI1 du mot d'tat. Le nombre de bits de dcalage
est prcis soit par l'oprande <nombre>, soit par une valeur figurant dans
l'accumulateur 2-L-L.
SLW <nombre> : Le nombre de bits de dcalage est prcis par l'oprande <nombre>. Des
valeurs entre 0 et 15 sont autorises. Les bits d'tat BI0 et DEB sont remis 0 si <nombre>
est suprieur 0. Si <nombre> gale 0, l'opration de dcalage s'excute comme une
opration NOP.
SLW : Le nombre de bits de dcalage est prcis par la valeur figurant dans l'accumulateur 2-L-L. Des valeurs entre 0 et 255 sont autorises. Un nombre de bits de dcalage
suprieur 16 donne toujours le mme rsultat : accumulateur 1-L = 0, BI1 = 0, BI0 = 0,
DEB = 0. Si 0 < nombre de bits dcals <= 16, les bits d'tat BI0 et DEB sont mis 0. Si le
nombre de bits de dcalage gale 0, l'opration de dcalage s'excute comme une
opration NOP.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemples
Contenu

ACCU1-H

ACCU1-L

Bit

31 . . .

..

..

. . . 16

15 . . .

..

..

...0

avant excution de SLW 5

0101

1111

0110

0100

0101

1101

0011

1011

aprs excution de SLW 5

0101

1111

0110

0100

1010

0111

0110

0000

Exemple 1
LIST
L
SLW
T

MW4
5
MW8

Explication
//Charger la valeur de MW4 dans laccumulateur 1.
//Dcaler les bits dans l'accumulateur 1 de 5 positions vers la gauche.
//Transfrer le rsultat dans le mot de mmento MW8.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

11-5

Oprations de dcalage et de rotation

Exemple 2
LIST
L
L

+3
MW20

SLW
SPP

SUIV

11.1.5

SRW

Explication
//Charger la valeur +3 dans laccumulateur 1.
//Charger le contenu de laccumulateur 1 dans laccumulateur 2. Charger la
valeur du mot de mmento MW20 dans l'accumulateur 1.
//Le nombre pour le dcalage gale la valeur de l'accumulateur 2-L-L =>
dcaler les bits dans l'accumulateur 1-L de 3 positions vers la gauche.
//Sauter au repre de saut SUIV si le dernier bit dcal (BI1) gale 1.

Dcalage vers la droite d'un mot (16 bits)

Formats
SRW
SRW <nombre>
Oprande

Type de donnes

Description

<nombre>

Entier non sign

Nombre de bits dcaler ; plage de dcalage de 0 15

Description de l'opration
SRW (Dcalage vers la droite d'un mot)
Cette opration permet de dcaler bit par bit le contenu de l'accumulateur 1-L vers la droite.
Les positions binaires libres par le dcalage sont compltes par des zros. Le bit dcal
en dernier est charg dans le bit BI1 du mot d'tat. Le nombre de bits de dcalage est
prcis soit par l'oprande <nombre>, soit par une valeur figurant dans l'accumulateur 2 L-L.
SRW <nombre> : Le nombre de bits de dcalage est prcis par l'oprande <nombre>. Des
valeurs entre 0 et 15 sont autorises. Les bits d'tat BI0 et DEB sont mis 0 si <nombre>
est suprieur 0. Si <nombre> gale 0, l'opration de dcalage s'excute comme une
opration NOP.
SRW : Le nombre de bits de dcalage est prcis par la valeur figurant dans l'accumulateur 2-L-L. Des valeurs entre 0 et 255 sont autorises. Un nombre de bits de dcalage
suprieur 16 donne toujours le mme rsultat : accumulateur 1-L = 0, BI1 = 0, BI0 = 0,
DEB = 0. Si 0 < nombre de bits de dcalage <= 16, les bits d'tat BI0 et DEB sont mis 0. Si
le nombre de bits de dcalage gale 0, l'opration de dcalage s'excute comme une
opration NOP.

Mot d'tat
Ecriture :

11-6

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de dcalage et de rotation

Exemples
Contenu

ACCU1-H

ACCU1-L

Bit

31 . . .

..

..

. . . 16

15 . . .

..

..

...0

avant excution de SRW 6

0101

1111

0110

0100

0101

1101

0011

1011

aprs excution de SRW 6

0101

1111

0110

0100

0000

0001

0111

0100

Exemple 1
LIST
L
SRW
T

Explication
//Charger la valeur de MW4 dans laccumulateur 1.
//Dcaler les bits dans l'accumulateur 1 de 6 positions vers la droite.
//Transfrer le rsultat dans le mot de mmento MW8

MW4
6
MW8

Exemple 2
LIST
L
L

Explication
//Charger la valeur +3 dans l'accumulateur 1.
//Charger le contenu de l'accumulateur 1 dans l'accumulateur 2. Charger la
valeur du mot de mmento MW20 dans l'accumulateur 1.
//Le nombre pour le dcalage gale la valeur de l'accumulateur 2-L-L =>
dcaler les bits dans l'accumulateur 1-L de 3 positions vers la droite.
//Sauter au repre de saut SUIV si le dernier bit dcal (BI1) gale 1.

+3
MW20

SRW
SPP

SUIV

11.1.6

SLD

Dcalage vers la gauche d'un double mot (32 bits)

Formats
SLD
SLD <nombre>
Oprande

Type de donnes

Description

<nombre>

Entier non sign

Nombre de bits dcaler ; plage de dcalage de 0 32

Description de l'opration
SLD (Dcalage vers la gauche d'un double mot)
Cette opration permet de dcaler bit par bit le contenu entier de l'accumulateur 1 vers la
gauche. Les positions binaires libres par le dcalage sont compltes par des zros. Le
bit dcal en dernier est charg dans le bit BI1 du mot d'tat. Le nombre de bits dcaler
est prcis soit par l'oprande <nombre>, soit par une valeur figurant dans
l'accumulateur 2-L-L.
SLD <nombre> : Le nombre de bits de dcalage est prcis par l'oprande <nombre>. Des
valeurs entre 0 et 32 sont autorises. Si <nombre> est suprieur 0, les bits BI0 et DEB
sont mis 0. Si <nombre> gale 0, l'opration de dcalage s'excute comme une opration
NOP.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

11-7

Oprations de dcalage et de rotation

SLD : Le nombre de bits de dcalage est prcis par la valeur figurant dans l'accumulateur 2-L-L. Des valeurs entre 0 et 255 sont autorises. Un nombre de bits de dcalage
suprieur 32 donne toujours le mme rsultat : accumulateur 1 = 0, BI1 = 0, BI0 = 0, DEB
= 0. Si 0 < nombre de bits de dcalage <= 32, les bits d'tat BI0 et DEB sont mis 0. Si le
nombre de bits de dcalage gale 0, l'opration de dcalage s'excute comme une
opration NOP.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemples
Contenu

ACCU1-H

Bit

31 . . .

..

..

. . . 16

15 . . .

ACCU1-L
..

..

...0

avant excution de SLD 5

0101

1111

0110

0100

0101

1101

0011

1011

aprs excution de SLD 5

1110

1100

1000

1011

1010

0111

0110

0000

Exemple 1
LIST
L
SLD
T

MD4
5
MD8

Explication
//Charger la valeur de MD4 dans laccumulateur 1.
//Dcaler les bits dans l'accumulateur 1 de 5 positions vers la gauche.
//Transfrer le rsultat dans le double mot de mmento MD8.

Exemple 2
LIST
L
L

+3
MD20

SLD
SPP

SUIV

11.1.7

SRD

Explication
//Charger la valeur +3 dans l'accumulateur 1.
//Charger le contenu de l'accumulateur 1 dans l'accumulateur 2. Charger la
valeur du double mot de mmento MD20 dans l'accumulateur 1.
//Le nombre pour le dcalage gale la valeur de l'accumulateur 2-L-L =>
dcaler les bits dans l'accumulateur 1 de 3 positions vers la gauche.
//Sauter au repre de saut SUIV si le dernier bit dcal (BI1) gale 1.

Dcalage vers la droite d'un double mot (32 bits)

Formats
SRD
SRD <nombre>

11-8

Oprande

Type de donnes

Description

<nombre>

Entier non sign

Nombre de bits dcaler ; plage de dcalage de 0 32

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de dcalage et de rotation

Description de l'opration
SRD (Dcalage vers la droite d'un double mot)
Cette opration permet de dcaler bit par bit le contenu entier de l'accumulateur 1 vers la
droite. Les positions binaires libres par le dcalage sont compltes par des zros. Le bit
dcal en dernier est charg dans le bit BI1 du mot d'tat. Le nombre de bits de dcalage
est prcis soit par l'oprande <nombre>, soit par une valeur figurant dans l'accumulateur 2-L-L.
SRD <nombre> : Le nombre de bits de dcalage est prcis par l'oprande <nombre>. Des
valeurs entre 0 et 32 sont autorises. Les bits d'tat BI0 et DEB sont mis 0 si <nombre>
est suprieur 0. Si <nombre> gale 0, l'opration de dcalage s'excute comme une
opration NOP.
SRD : Le nombre de bits de dcalage est prcis par la valeur figurant dans l'accumulateur 2-L-L. Des valeurs entre 0 et 255 sont autorises. Un nombre de bits de dcalage
suprieur 32 donne toujours le mme rsultat : accumulateur 1 = 0, BI1 = 0, BI0 = 0, DEB
= 0. Si 0 < nombre de bits de dcalage <= 32, les bits BI0 et DEB sont remis 0. Si le
nombre de bits de dcalage gale 0, l'opration de dcalage s'excute comme une
opration NOP.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemples
Contenu

ACCU1-H

ACCU1-L

Bit

31 . . .

..

..

. . . 16

15 . . .

..

..

...0

avant excution de SRD 7

0101

1111

0110

0100

0101

1101

0011

1011

aprs excution de SRD 7

0000

0000

1011

1110

1100

1000

1011

1010

Exemple 1
LIST
L
SRD
T

MD4
7
MD8

Explication
//Charger la valeur de MD4 dans laccumulateur 1.
//Dcalage des bits dans l'accumulateur 1 de 7 positions vers la droite.
//Transfrer le rsultat dans le double mot de mmento MD8.

Exemple 2
LIST
L
L

+3
MD20

SRD
SPP

SUIV

Explication
//Charger la valeur +3 dans l'accumulateur 1.
//Charger le contenu de l'accumulateur 1 dans l'accumulateur 2. Charger la
valeur du double mot de mmento MD20 dans l'accumulateur 1.
//Le nombre pour le dcalage gale la valeur de l'accumulateur 2-L-L =>
dcaler les bits dans l'accumulateur 1 de 3 positions vers la droite.
//Sauter au repre de saut SUIV si le dernier bit dcal (BI1) gale 1.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

11-9

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 gauche ou vers
la droite du contenu entier de laccumulateur 1 (voir aussi Registres de la CPU). Ces
oprations dclenchent des fonctions similaires aux oprations de dcalage. Toutefois, les
positions binaires libres sont remplies avec ltat de signal des bits qui ont t dcals
hors de laccumulateur.
Le nombre de bits de rotation est prcis dans linstruction de rotation mme ou est pris
dans loctet de poids faible du mot de poids faible de laccumulateur 2. 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 :

RLD

Rotation vers la gauche d'un double mot (32 bits)

RRD

Rotation vers la droite d'un double mot (32 bits)

RLDA

Rotation vers la gauche de l'accumulateur 1 via BI1 (32 bits)

RRDA

Rotation vers la droite de l'accumulateur 1 via BI1 (32 bits)

11.2.2

RLD

Rotation vers la gauche dun double mot (32 bits)

Formats
RLD
RLD <nombre>
Oprande

Type de donnes

Description

<nombre>

Entier non sign

Nombre de bits objet de la rotation ;


plage de rotation de 0 32

Description de l'opration
RLD (Rotation vers la gauche dun double mot)
Cette opration permet de dplacer bit par bit le contenu entier de l'accumulateur vers la
gauche. Les bits librs par la rotation sont remplis avec l'tat de signal des bits qui ont t
dcals hors de l'accumulateur 1. Le bit dcal en dernier est mmoris dans le bit BI1 du
mot d'tat. Le nombre de positions binaires objet de la rotation est prcis soit par
l'oprande <nombre>, soit par une valeur figurant dans l'accumulateur 2-L-L.
RLD <nombre> : Le nombre de bits objet de la rotation est prcis par l'oprande
<nombre>. Des valeurs entre 0 et 32 sont autorises. Les bits d'tat BI0 et DEB sont mis 0
si <nombre> est suprieur zro. Si <nombre> gale zro, l'opration de rotation s'excute
comme une opration nulle (NOP).

11-10

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de dcalage et de rotation

RLD : Le nombre de bits objet de la rotation est prcis par la valeur figurant dans
l'accumulateur 2-L-L. Des valeurs entre 0 et 255 sont autorises. Les bits d'tat BI0 et DEB
sont mis 0 si le contenu de l'accumulateur 2-L-L est suprieur zro. Si le nombre de bits
objet de la rotation gale 0, l'opration de rotation s'excute comme une opration NOP.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemples
Contenu

ACCU1-H

ACCU1-L

Bit

31 . . .

..

..

. . . 16

15 . . .

..

..

...0

avant excution de RLD 4

0101

1111

0110

0100

0101

1101

0011

1011

aprs excution de RLD 4

1111

0110

0100

0101

1101

0011

1011

0101

Exemple 1
LIST
L
RLD
T

MD2
4
MD8

Explication
//Charger la valeur de MD2 dans laccumulateur 1.
//Rotation des bits dans laccumulateur 1 de 4 positions vers la gauche.
//Transfrer le rsultat dans le double mot de mmento MD8.

Exemple 2
LIST
L
L

+3
MD20

RLD

SPP

SUIV

Explication
//Charger la valeur +3 dans l'accumulateur 1.
//Charger le contenu de l'accumulateur 1 dans l'accumulateur 2. Charger la
valeur du double mot de mmento MD20 dans l'accumulateur 1.
//Le nombre pour la rotation gale la valeur de l'accumulateur 2-L-L =>
effectuer la rotation des bits dans l'accumulateur 1 de 3 positions vers
la gauche.
//Sauter au repre de saut SUIV si le dernier bit objet de la rotation
(BI1) gale 1.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

11-11

Oprations de dcalage et de rotation

11.2.3

RRD

Rotation vers la droite dun double mot (32 bits)

Formats
RRD
RRD <nombre>
Oprande

Type de donnes

Description

<nombre>

Entier non sign

Nombre de bits objet de la rotation ;


plage de rotation de 0 32

Description de l'opration
RRD (Rotation vers la droite dun double mot)
Cette opration permet de dplacer bit par bit le contenu entier de l'accumulateur vers la
droite. Les bits librs par la rotation sont remplis avec l'tat de signal des bits qui ont t
dcals hors de l'accumulateur 1. Le bit dplac en dernier est mmoris dans le bit BI1 du
mot d'tat. Le nombre de bits objet de la rotation est prcis soit par l'oprande , soit par une
valeur figurant dans l'accumulateur 2-L-L.
RRD <nombre> : Le nombre de bits objet de la rotation est prcis par l'oprande
<nombre>. Des valeurs entre 0 et 32 sont autorises. Les bits BI0 et DEB sont mis 0 si
<nombre> est suprieur 0. Si <nombre> gale 0, l'opration de dcalage s'excute comme
une opration NOP.
RRD : Le nombre de bits objet de la rotation est prcis par la valeur figurant dans
l'accumulateur 2-L-L. Des valeurs entre 0 et 255 sont autorises. Si le contenu de
l'accumulateur 2-L-L est suprieur 0, les bits BI0 et DEB sont mis 0. Si le nombre de bits
de rotation gale 0, l'opration de rotation s'excute comme une opration NOP.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemples
Contenu

ACCU1-H

ACCU1-L

Bit

31 . . .

..

..

. . . 16

15 . . .

..

..

...0

avant excution de RRD 4

0101

1111

0110

0100

0101

1101

0011

1011

aprs excution de RRD 4

1011

0101

1111

0110

0100

0101

1101

0011

Exemple 1
LIST
L
RRD

MD2
4

MD8

11-12

Explication
//Charger la valeur de MD2 dans laccumulateur 1.
//Effectuer la rotation des bits dans laccumulateur 1 de 4 positions vers
la droite.
//Transfrer le rsultat dans le double mot de mmento MD8.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de dcalage et de rotation

Exemple 2
LIST
L
L

+3
MD20

RRD

SPP

SUIV

11.2.4

RLDA

Explication
//Charger la valeur +3 dans laccumulateur 1.
//Charger le contenu de laccumulateur 1 dans laccumulateur 2. Charger la
valeur du double mot de mmento MD20 dans l'accumulateur 1.
//Le nombre pour la rotation gale la valeur de l'accumulateur 2-L-L =>
effectuer la rotation des bits dans l'accumulateur 1 de 3 positions vers
la droite.
//Sauter au repre de saut SUIV si le dernier bit objet de la rotation
(BI1) gale 1.

Rotation vers la gauche de laccumulateur 1 via BI1 (32 bits)

Format
RLDA

Description de l'opration
RLDA (Rotation vers la gauche dun double mot via BI1)
Cette opration permet de dplacer le contenu entier de l'accumulateur 1 d'un bit vers la
gauche via le bit indicateur BI1. Les bits BI0 et DEB sont remis 0.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemples
Contenu

BI1

Bit

ACCU1-H

ACCU1-L

31 . . .

..

..

. . . 16

15 . . .

..

..

...0

avant excution de RLDA

0101

1111

0110

0100

0101

1101

0011

1011

aprs excution de RLDA

1011

1110

1100

1000

1011

1010

0111

011X

(X gale 0 ou 1, ancien tat de signal de BI1)


LIST
L
RLDA

MD2

SPP

SUIV

Explication
//Charger la valeur de MD2 dans laccumulateur 1.
//Effectuer la rotation des bits dans laccumulateur 1 dune position vers
la gauche via BI1.
//Sauter au repre de saut SUIV si le dernier bit objet de la rotation
(BI1) gale 1.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

11-13

Oprations de dcalage et de rotation

11.2.5

RRDA

Rotation vers la droite de laccumulateur 1 via BI1 (32 bits)

Format
RRDA

Description de l'opration
RRDA (Rotation vers la droite dun double mot via BI1)
Cette opration permet de dplacer le contenu entier de l'accumulateur 1 d'un bit vers la
droite via le bit indicateur BI1. Les bits BI0 et DEB sont remis 0.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemples
Contenu

BI1

ACCU1-H
31 . . .

..

..

. . . 16

15 . . .

..

..

...0

avant excution de RRDA

0101

1111

0110

0100

0101

1101

0011

1011

aprs excution de RRDA

X010

1111

1011

0010

0010

1110

1001

1101

Bit

ACCU1-L

(X gale 0 ou 1, ancien tat de signal de BI1)


LIST
L
RRDA

MD2

SPP

SUIV

11-14

Explication
//Charger la valeur de MD2 dans laccumulateur 1.
//Effectuer la rotation des bits dans laccumulateur 1 dune position vers
la droite via BI1.
//Sauter au repre de saut SUIV si le dernier bit objet de la rotation
(BI1) gale 1.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

12 Oprations de temporisation

12.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".
Le langage de programmation LIST du logiciel de programmation STEP 7 met les oprations
de temporisation suivantes votre disposition :

FR

Valider temporisation

Charger valeur de temps en cours comme nombre entier dans l'accumulateur 1

LC

Charger valeur de temps en cours comme nombre DCB dans l'accumulateur 1

Remettre temporisation 0

SI

Temporisation sous forme d'impulsion

SV

Temporisation sous forme d'impulsion prolonge

SE

Temporisation sous forme de retard la monte

SS

Temporisation sous forme de retard la monte mmoris

SA

Temporisation sous forme de retard la retombe

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

12-1

Oprations de temporisation

12.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 avec LIST 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#txyz o
-

t = 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.

12-2

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de temporisation

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.
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

9S_990MS

0,1

seconde

100MS 1M_39S_900MS

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.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

12-3

Oprations de temporisation

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).

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 SI_IMPULS
t

A 4.0 SV_VIMP
t

A 4.0 SE_EVERZ
t

A 4.0 SS_SEVERZ
t

A 4.0 SA_AVERZ
t

12-4

Temporisations

Description

SI_IMPULS
temporisation sous forme
dimpulsion
SV_VIMP
temporisation sous forme
dimpulsion prolonge
SE_EVERZ
temporisation sous forme
de retard la monte
SS_SEVERZ
temporisation sous forme
de retard la monte
mmoris
SA_AVERZ
temporisation sous forme
de retard la retombe

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.
Le signal de sortie reste 1 pendant la dure programme, quelle que
soit la dure pendant laquelle le signal dentre reste 1.
Le signal de sortie est gal 1 uniquement lorsque le temps programm
sest coul et que le signal dentre est toujours 1.
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.
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 LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de temporisation

12.3

FR

Valider temporisation

Format
FR <temporisation>
Oprande

Type de donnes

Zone de mmoire

Description

<temporisation>

TIMER

Numro de la temporisation ; la plage


dpend de la CPU.

Description de l'opration
FR <temporisation>
Cette opration efface le mmento de front utilis pour dmarrer la temporisation indique si
le RLG passe de 0 1. Le passage du rsultat logique RLG de 0 1 avant une opration de
validation de temporisation FR valide une temporisation.
L'opration Valider temporisation n'est pas obligatoire pour dmarrer une temporisation ni
pour les temporisations normales. Elle sert essentiellement redmarrer une temporisation
en cours. Cela n'est possible que si l'opration de dmarrage continue tre traite avec un
RLG de 1.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
U
FR
U
L
SI
U
R
U
=
L

E 2.0
T1
E 2.1
S5T#10s
T1
E 2.2
T1
T1
A 4.0
T1

Explication

MW10

//Valider la temporisation T1.


//Dfinir une initialisation de 10 secondes dans l'accumulateur 1.
//Dmarrer la temporisation T1 sous forme d'impulsion.
//Remettre la temporisation T1 zro.
//Interroger l'tat de signal de la temporisation T1.
//Charger la valeur de temps en cours de la temporisation T1 sous forme de
nombre binaire.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

12-5

Oprations de temporisation

RLG l'entre de validation


(
RLG l'entre de
dmarrage
RLG l'entre de
remise zro

(
(

Raction de la temporisation
Interroger l'tat de signal
$
la sortie de la
temporisation.
Charger la temporisation:
L, LC

t = dure programme

(1) Le passage du RLG de 0 1 l'entre de validation, alors que la temporisation


s'excute, redmarre la temporisation. Le temps programm est utilis comme temps en
cours pour le redmarrage. Le passage du RLG de 1 0 l'entre de validation n'a pas
d'influence.
(2) Si le RLG passe de 0 1 l'entre de validation alors que la temporisation ne s'excute
pas et qu'un RLG de 1 reste appliqu l'entre de dmarrage, la temporisation est
galement dmarre sous forme d'impulsion avec la valeur de temps programme.
(3) Le passage du RLG de 0 1 l'entre de validation alors qu'un RLG gal 0 reste
appliqu l'entre de dmarrage n'a aucun effet sur la temporisation.

12-6

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de temporisation

12.4

L Charger valeur de temps en cours comme nombre entier


dans laccumulateur 1

Format
L <temporisation>
Oprande

Type de donnes

Zone de mmoire

Description

<temporisation>

TIMER

Numro de la temporisation ; la plage


dpend de la CPU.

Description de l'opration
L <temporisation>
Cette opration charge, comme nombre entier binaire dans l'accumulateur 1-L, la valeur de
temps en cours figurant dans le mot de temporisation indiqu sans la base de temps, et ce
aprs sauvegarde pralable du contenu de l'accumulateur 1 dans l'accumulateur 2.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
L

Explication
//Charger dans laccumulateur 1-L la valeur de temps de la temporisation
T1 en format binaire.

T1

Mot de temporisation pour la


temporisation
T1 en mmoire

Contenu
de l'ACCU 1-L
aprs
l'instruction
L T1

15

14

13

12

11

10

Base de temps
00 = 10 ms
01 = 100 ms
10 = 1 s
11 = 10 s

215

214

213

212

Tous "0"

211 210

Valeur de temps (0 999) binaire

29

28

27

26

T1

25

24

23

22

21

20

Valeur de temps (0 999) binaire

Nota
L <temporisation> charge uniquement le code binaire de la valeur de temps en cours dans
l'accumulateur 1-L et non la base de temps. La valeur de temps charge est la valeur
initiale de la temporisation moins le temps qui s'est coul depuis le dmarrage de la
fonction de temporisation.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

12-7

Oprations de temporisation

12.5

LC Charger valeur de temps en cours comme nombre DCB


dans laccumulateur 1

Format
LC <temporisation>
Oprande

Type de donnes

Zone de mmoire

Description

<temporisation>

TIMER

Numro de la temporisation ; la plage


dpend de la CPU.

Description de l'opration
LC <temporisation>
Cette opration charge, comme nombre DCB dans l'accumulateur 1, la valeur de temps et la
base de temps figurant dans le mot de temporisation indiqu, et ce aprs sauvegarde
pralable du contenu de l'accumulateur 1 dans l'accumulateur 2.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
LC

Explication
//Charger dans laccumulateur 1 la valeur de temps en cours et la base de
temps de la temporisation T1 en format DCB.

T1

Mot de temporisation pour


la temporisation
T1 en mmoire

Contenu de
l'ACCU 1-L
aprs
l'instruction
LC T1

15

14

13

12

11

10

Base de temps
00 = 10 ms
01 = 100 ms
10 = 1 s
11 = 10 s

0
2

15

0
2

14

0
2

13

Base de temps
00 = 10 ms
01 = 100 ms
10 = 1 s
11 = 10 s

12-8

Valeur de temps (0 999) binaire


LC T1
binaire en DCB

0
2

12

11

2
2

10

10 Centaines

2
1

10 Dizaines

10 Units

Valeur de temps en format DCB

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de temporisation

12.6

Remettre temporisation 0

Format
R <temporisation>
Oprande

Type de donnes

Zone de mmoire

Description

<temporisation>

TIMER

Numro de la temporisation ; la plage


dpend de la CPU.

Description de l'opration
R <temporisation>
Cette opration permet de remettre une temporisation zro et d'effacer la valeur de temps
et la base de temps du mot de temporisation indiqu si le rsultat logique RLG passe de
0 1.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
U
R

Explication
E 2.1
T1

//Interroger l'tat de signal l'entre E 2.1. Si le RLG passe de 0 1,


remettre la temporisation T1 zro.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

12-9

Oprations de temporisation

12.7

SI

Temporisation sous forme dimpulsion

Format
SI <temporisation>
Oprande

Type de donnes

Zone de mmoire

Description

<temporisation>

TIMER

Numro de la temporisation ; la
plage dpend de la CPU.

Description de l'opration
SI <temporisation>
Cette opration dmarre la temporisation indique si le rsultat logique RLG passe de 0 1.
La dure programme s'coule tant que le RLG gale 1. Si le RLG passe 0 avant que
cette dure n'ait expir, la temporisation s'arrte. Le dmarrage de la temporisation ne
s'excute que si la valeur de temps et la base de temps figurent en format DCB dans
l'accumulateur 1-L.
Voir aussi Adresse d'une temporisation en mmoire et composants d'une temporisation.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
U
FR
U
L
SI
U
R
U
=
L

E 2.0
T1
E 2.1
S5T#10s
T1
E 2.2
T1
T1
A 4.0
T1

T
LC
T

MW10
T1
MW12

12-10

Explication
//Valider la temporisation T1.
//Dfinir une initialisation de 10 secondes dans l'accumulateur 1.
//Dmarrer la temporisation T1 sous forme d'impulsion.
//Remettre la temporisation T1 zro.
//Interroger l'tat de signal de la temporisation T1.
//Charger la valeur de temps en cours de la temporisation T1 sous forme de
nombre binaire.
//Charger la valeur de temps en cours de la temporisation T1 en format DCB.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de temporisation

9DOLGDWLRQ

(

'pPDUUDJH

(

0LVHj]pUR

(

7HPSRULVDWLRQ
W

6RUWLH

$

&KDUJHPHQWGHOD
WHPSRULVDWLRQ//&

12.8

SV

W GXUpHSURJUDPPpH

Temporisation sous forme d'impulsion prolonge

Format
SV <temporisation>
Oprande

Type de donnes

Zone de mmoire

Description

<temporisation>

TIMER

Numro de la temporisation ; la plage


dpend de la CPU.

Description de l'opration
SV <temporisation>
Cette opration dmarre la temporisation indique si le rsultat logique RLG passe de 0 1.
La dure programme s'coule mme si le RLG passe entre-temps 0. Si le RLG passe de
0 1 avant que la dure programme n'ait expir, le temps redmarre. La valeur de temps
et la base de temps doivent figurer en format DCB dans l'accumulateur 1-L pour que la
temporisation dmarre.
Voir aussi Adresse d'une temporisation en mmoire et composants d'une temporisation.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

12-11

Oprations de temporisation

Exemple
LIST
U
FR
U
L
SV
U
R
U
=
L

E 2.0
T1
E 2.1
S5T#10s
T1
E 2.2
T1
T1
A 4.0
T1

Explication

T
LC

MW10
T1

MW12

//Valider la temporisation T1.


//Dfinir une initialisation de 10 secondes dans l'accumulateur 1.
//Dmarrer la temporisation T1 sous forme d'impulsion prolonge.
//Remettre la temporisation T1 zro.
//Interroger l'tat de signal de la temporisation T1.
//Charger la valeur de temps en cours de la temporisation T1 sous forme de
nombre binaire.
//Charger la valeur de temps en cours de la temporisation T1 en format
DCB.

9DOLGDWLRQ

(

'pPDUUDJH

(

0LVHj]pUR

(

7HPSRULVDWLRQ
W
6RUWLH

$

&KDUJHPHQWGHOD
WHPSRULVDWLRQ//&

12-12

W GXUpHSURJUDPPpH

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de temporisation

12.9

SE

Temporisation sous forme de retard la monte

Format
SE <temporisation>
Oprande

Type de donnes

Zone de mmoire

Description

<temporisation>

TIMER

Numro de la temporisation ; la
plage dpend de la CPU.

Description de l'opration
SE <temporisation>
Cette opration dmarre la temporisation indique si le rsultat logique passe de 0 1. La
dure initiale programme s'coule tant que le RLG gale 1. Si le RLG passe 0 avant que
cette dure n'ait expir, la temporisation s'arrte. Le dmarrage de la temporisation ne
s'excute que si la valeur de temps et la base de temps sont mmorises dans
l'accumulateur 1-L en format DCB.
Voir aussi Adresse d'une temporisation en mmoire et composants d'une temporisation.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
U
FR
U
L
SE
U
R
U
=
L

E 2.0
T1
E 2.1
S5T#10s
T1
E 2.2
T1
T1
A 4.0
T1

Explication

T
LC

MW10
T1

MW12

//Valider la temporisation T1.


//Dfinir une initialisation de 10 secondes dans l'accumulateur 1.
//Dmarrer la temporisation T1 sous forme de retard la monte.
//Remettre la temporisation T1 zro.
//Interroger l'tat de signal de la temporisation T1.
//Charger la valeur de temps en cours de la temporisation T1 sous forme de
nombre binaire.
//Charger la valeur de temps en cours de la temporisation T1 en format
DCB.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

12-13

Oprations de temporisation

9DOLGDWLRQ

(

'pPDUUDJH

(

0LVHj]pUR

(

7HPSRULVDWLRQ



$

6RUWLH

&KDUJHPHQWGHOD
WHPSRULVDWLRQ//&

W GXUpHSURJUDPPpH

12.10 SS Temporisation sous forme de retard la monte


mmoris
Format
SS <temporisation>
Oprande

Type de donnes

Zone de mmoire

Description

<temporisation>

TIMER

Numro de la temporisation ; la plage


dpend de la CPU.

Description de l'opration
SS <temporisation> (Dmarrer temporisation sous forme de retard la monte mmoris)
Cette opration dmarre la temporisation indique si le rsultat logique RLG passe de 0 1.
La dure programme s'coule mme si le RLG passe entre-temps 0. Si le RLG passe de
0 1 avant que cette dure n'ait expir, le temps redmarre. La valeur de temps et la base
de temps doivent figurer en format DCB dans l'accumulateur 1-L pour que la temporisation
dmarre.
Voir aussi Adresse d'une temporisation en mmoire et composants d'une temporisation.

Mot d'tat
Ecriture :

12-14

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations de temporisation

Exemple
LIST
U
FR
U
L
SS
U
R
U
=
L

E 2.0
T1
E 2.1
S5T#10s
T1
E 2.2
T1
T1
A 4.0
T1

Explication

T
LC

MW10
T1

MW12

//Valider la temporisation T1.


//Dfinir une initialisation de 10 secondes dans l'accumulateur 1.
//Dmarrer la temporisation T1 sous forme de retard la monte mmoris.
//Remettre la temporisation T1 zro.
//Interroger l'tat de signal de la temporisation T1.
//Charger la valeur de temps en cours de la temporisation T1 sous forme de
nombre binaire.
//Charger la valeur de temps en cours de la temporisation T1 en format
DCB.

9DOLGDWLRQ

(

'pPDUUDJH

(

0LVHj]pUR

(

7HPSRULVDWLRQ
$

6RUWLH

&KDUJHPHQWGHOD
WHPSRULVDWLRQ//&

12.11 SA

W GXUpHSURJUDPPpH

Temporisation sous forme de retard la retombe

Format
SA <temporisation>
Oprande

Type de donnes

Zone de mmoire

Description

<temporisation>

TIMER

Numro de la temporisation ; la
plage dpend de la CPU.

Description de l'opration
SA <temporisation>
Cette opration dmarre la temporisation indique si le rsultat logique passe de 1 0. La
dure programme s'coule tant que le RLG gale 0. Si le RLG passe 1 avant que cette
dure n'ait expir, la temporisation s'arrte. La valeur de temps et la base de temps doivent
figurer en format DCB dans l'accumulateur 1-L pour que la temporisation dmarre.
Langage LIST pour SIMATIC S7-300/400
A5E00261419-01

12-15

Oprations de temporisation

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
U
FR
U
L
SA
U
R
U
=
L

E 2.0
T1
E 2.1
S5T#10s
T1
E 2.2
T1
T1
A 4.0
T1

Explication

T
LC

MW10
T1

MW12

//Valider la temporisation T1.


//Dfinir une initialisation de 10 secondes dans l'accumulateur 1.
//Dmarrer la temporisation T1 sous forme de retard la retombe.
//Remettre la temporisation T1 zro.
//Interroger l'tat de signal de la temporisation T1.
//Charger la valeur de temps en cours de la temporisation T1 sous forme de
nombre binaire.
//Charger la valeur de temps en cours de la temporisation T1 en format
DCB.

Validation

E 2.0

Dmarrage

E 2.1

Mise zro

E 2.2

Temporisation
t
Sortie

A 4.0

Chargement de la
temporisation : L, LC

12-16

t = dure programme

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

13 Oprations combinatoires sur mots

13.1

Vue d'ensemble des oprations combinatoires 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. Chaque mot ou double mot doit se
trouver dans lun des deux accumulateurs.
Lors de la combinaison de mots, le contenu du mot de poids faible de laccumulateur 2 est
combin au contenu du mot de poids faible de laccumulateur 1. Le rsultat de la
combinaison se substitue lancien contenu du mot de poids faible de laccumulateur 1.
Lors de la combinaison de doubles mots, le contenu de laccumulateur 2 est combin au
contenu de laccumulateur 1. Le rsultat de la combinaison se substitue lancien contenu
de laccumulateur 1.
Le bit du mot d'tat BI1 est mis 1 (BI1 gale 1 si le rsultat est diffrent de zro) comme
rsultat de l'opration.
Vous disposez des oprations combinatoires sur mots suivantes :

UW

ET mot (16 bits)

OW

OU mot (16 bits)

XOW

OU exclusif mot (16 bits)

UD

ET double mot (32 bits)

OD

OU double mot (32 bits)

XOD

OU exclusif double mot (32 bits)

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

13-1

Oprations combinatoires sur mots

13.2

UW

ET mot (16 bits)

Formats
UW
UW <constante>
Oprande

Type de donnes

Description

<constante>

WORD,
constante (16 bits)

Profil binaire combiner l'accumulateur 1-L selon la


table de vrit ET

Description de l'opration
UW (ET mot)
Cette opration combine, bit par bit, le contenu de l'accumulateur 1-L au contenu de
l'accumulateur 2-L ou une constante de 16 bits selon la table de vrit ET. C'est
uniquement si les bits correspondants des deux mots combiner sont 1 que le bit dans le
mot de rsultat sera 1. Le rsultat est rang dans l'accumulateur 1-L. L'accumulateur 1-H
et l'accumulateur 2, ainsi que les accumulateurs 3 et 4 pour les CPU quatre
accumulateurs, restent inchangs. Le bit du mot d'tat BI1 est mis 1 (BI1 gale 1 si le
rsultat est diffrent de zro) comme rsultat de l'opration. Les bits d'tat BI0 et DEB sont
mis 0.
UW : combine l'accumulateur 1-L l'accumulateur 2-L.
UW <constante> : combine l'accumulateur 1-L une constante de 16 bits.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemples
Bit

15 . .

..

..

...0

Accumulateur 1-L avant excution de UW

0101

1001

0011

1011

Accumulateur 2-L ou constante (16 bits)

1111

0110

1011

0101

Rsultat (ACCU 1-L) aprs excution de UW

0101

0000

0011

0001

Exemple 1
LIST
L
L

EW20
EW22

UW

13-2

MW 8

Explication
//Charger le contenu de EW20 dans laccumulateur 1-L.
//Charger le contenu de laccumulateur 1 dans laccumulateur 2. Charger le
contenu de EW22 dans laccumulateur 1-L.
//Combiner, bit par bit, le contenu de laccumulateur 1-L au contenu de
l'accumulateur 2-L selon la table de vrit ET ; ranger le rsultat dans
l'accumulateur 1-L.
//Transfrer le rsultat dans le mot de mmento MW8.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations combinatoires sur mots

Exemple 2
LIST
L
UW

EW20
W#16#0FFF

SPP

SUIV

13.3

OW

Explication
//Charger le contenu de EW20 dans laccumulateur 1-L.
//Combiner les bits de laccumulateur 1-L au profil binaire de la
constante de 16 bits (0000_1111_1111_1111) selon la table de vrit ET ;
ranger le rsultat dans l'accumulateur 1-L.
//Sauter au repre de saut SUIV si le rsultat est diffrent de 0 (BI1
gale 1).

OU mot (16 bits)

Formats
OW
OW <constante>
Oprande

Type de donnes

Description

<constante>

WORD,
constante (16 bits)

Profil binaire combiner l'accumulateur 1-L selon la


table de vrit OU

Description de l'opration
OW (OU mot)
Cette opration combine, bit par bit, le contenu de l'accumulateur 1-L au contenu de
l'accumulateur 2-L ou une constante de 16 bits selon la table de vrit OU. C'est
uniquement si au moins un des bits correspondants des deux mots combiner est 1 que
le bit dans le mot de rsultat sera 1. Le rsultat est rang dans l'accumulateur 1-L.
L'accumulateur 1-H et l'accumulateur 2, ainsi que les accumulateurs 3 et 4 pour les CPU
quatre accumulateurs, restent inchangs. Le bit du mot d'tat BI1 est mis 1 (BI1 gale 1 si
le rsultat est diffrent de zro) comme rsultat de l'opration. Les bits d'tat BI0 et DEB
sont mis 0.
OW : combine l'accumulateur 1-L l'accumulateur 2-L.
OW <constante> : combine l'accumulateur 1-L une constante de 16 bits.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemples
Bit

15 . .

..

..

...0

Accumulateur 1-L avant excution de OW

0101

0101

0011

1011

Accumulateur 2-L ou constante (16 bits)

1111

0110

1011

0101

Rsultat (ACCU 1-L) aprs excution de OW

1111

0111

1011

1111

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

13-3

Oprations combinatoires sur mots

Exemple 1
LIST
L
EW20
L
EW22
OW

MW8

Explication
//Charger le contenu de EW20 dans laccumulateur 1-L.
//Charger le contenu de laccumulateur 1 dans laccumulateur 2. Charger le
contenu de EW22 dans laccumulateur 1-L.
//Combiner, bit par bit, le contenu de laccumulateur 1-L au contenu de
l'accumulateur 2-L selon la table de vrit OU ; ranger le rsultat dans
l'accumulateur 1-L.
//Transfrer le rsultat dans le mot de mmento MW8.

Exemple 2
LIST
L
EW20
OW
W#16#0FFF

SPP

13.4

SUIV

XOW

Explication
//Charger le contenu de EW20 dans l'accumulateur 1-L.
//Combiner les bits de l'accumulateur 1-L au profil binaire de la
constante de 16 bits (0000_1111_1111_1111) selon la table de vrit OU ;
ranger le rsultat dans l'accumulateur 1-L.
//Sauter au repre de saut SUIV si le rsultat est diffrent de 0 (BI1
gale 1).

OU exclusif mot (16 bits)

Formats
XOW
XOW <constante>
Oprande

Type de donnes

Description

<constante>

WORD,
constante (16 bits)

Profil binaire combiner l'accumulateur 1-L selon la


table de vrit OU exclusif

Description de l'opration
XOW (OU exclusif mot)
Cette opration combine, bit par bit, le contenu de l'accumulateur 1-L au contenu de
l'accumulateur 2-L ou une constante de 16 bits selon la table de vrit OU exclusif. C'est
uniquement si exactement un des bits correspondants des deux mots combiner est 1
que le bit dans le mot de rsultat sera 1. Le rsultat est rang dans l'accumulateur 1-L.
L'accumulateur 1-H et l'accumulateur 2, ainsi que les accumulateurs 3 et 4 pour les CPU
quatre accumulateurs, restent inchangs. Le bit du mot d'tat BI1 est mis 1 (BI1 gale 1 si
le rsultat est diffrent de zro) comme rsultat de l'opration. Les bits d'tat BI0 et DEB
sont mis 0.
Vous pouvez galement utiliser la fonction OU exclusif plusieurs fois d'affile. Le RLG global
est alors gal "1", lorsqu'un nombre impair des oprandes interrogs fournit le rsultat "1".
XOW : combine l'accumulateur 1-L l'accumulateur 2-L.
XOW <constante> : combine l'accumulateur 1-L une constante de 16 bits.

13-4

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations combinatoires sur mots

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemples
Bit

15 . .

..

..

...0

Accumulateur 1-L avant excution de XOW

0101

0101

0011

1011

Accumulateur 2-L ou constante (16 bits)

1111

0110

1011

0101

Rsultat (ACCU 1-L) aprs excution de XOW

1010

0011

1000

1110

Exemple 1
LIST
L
L

EW20
EW22

XOW

MW8

Explication
//Charger le contenu de EW20 dans laccumulateur 1-L.
//Charger le contenu de laccumulateur 1 dans laccumulateur 2. Charger le
contenu de EW22 dans laccumulateur 1-L.
//Combiner, bit par bit, le contenu de laccumulateur 1-L au contenu de
l'accumulateur 2-L selon la table de vrit OU exclusif ; ranger le
rsultat dans l'accumulateur 1-L.
//Transfrer le rsultat dans le mot de mmento MW8.

Exemple 2
LIST
L
XOW

EW20
16#0FFF

SPP

SUIV

Explication
//Charger le contenu de EW20 dans l'accumulateur 1-L.
//Combiner les bits de l'accumulateur 1-L au profil binaire de la
constante de 16 bits (0000_1111_1111_1111) selon la table de vrit OU
exclusif ; ranger le rsultat dans l'accumulateur 1-L.
//Sauter au repre de saut SUIV si le rsultat est diffrent de 0 (BI1
gale 1).

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

13-5

Oprations combinatoires sur mots

13.5

UD

ET double mot (32 bits)

Formats
UD
UD <constante>
Oprande

Type de donnes

Description

<constante>

DWORD,
constante (32 bits)

Profil binaire combiner l'accumulateur 1 selon la


table de vrit ET

Description de l'opration
UD (ET double mot)
Cette opration combine, bit par bit, le contenu de l'accumulateur 1 au contenu de
l'accumulateur 2 ou une constante de 32 bits selon la table de vrit ET. C'est uniquement
si les bits correspondants des deux doubles mots combiner sont 1 que le bit dans le
double mot de rsultat sera 1. Le rsultat est rang dans l'accumulateur 1. L'accumulateur
2 ainsi que les accumulateurs 3 et 4 pour les CPU quatre accumulateurs restent
inchangs. Le bit du mot d'tat BI1 est mis 1 (BI1 gale 1 si le rsultat est diffrent de
zro) comme rsultat de l'opration. Les bits d'tat BI0 et DEB sont mis 0.
UD : combine l'accumulateur 1 l'accumulateur 2.
UD <constante> : combine l'accumulateur 1 une constante de 32 bits.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemples
Bit

31 . .

..

..

..

..

..

..

...0

Accumulateur 1 avant excution de UD


Accumulateur 2 ou constante (32 bits)
Rsultat (ACCU 1) aprs excution de UD

0101
1111
0101

0000
0011
0000

1111
1000
1000

1100
0101
0100

1000
0111
0000

1001
0110
0000

0011
1011
0011

1011
0101
0001

Exemple 1
LIST
L
ED20
L
ED24
UD

MD8

Explication
//Charger le contenu de ED20 dans laccumulateur 1.
//Charger le contenu de laccumulateur 1 dans laccumulateur 2. Charger
le contenu de ED24 dans laccumulateur 1.
//Combiner, bit par bit, le contenu de laccumulateur 1 au contenu de
l'accumulateur 2 selon la table de vrit ET ; ranger le rsultat dans
l'accumulateur 1.
//Transfrer le rsultat dans le double mot de mmento MD8.

Exemple 2
LIST
L
ED 20
UD DW#16#0FFF_EF2
1
SP
P

13-6

SUIV

Explication
//Charger le contenu de ED20 dans l'accumulateur 1.
//Combiner les bits de l'accumulateur 1 au profil binaire de la
constante de 32 bits (0000_1111_1111_1111_1110_1111_0010_0001) selon la
table de vrit ET ; ranger le rsultat dans l'accumulateur 1.
//Sauter au repre de saut SUIV si le rsultat est diffrent de 0 (BI1
gale 1).

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations combinatoires sur mots

13.6

OD

OU double mot (32 bits)

Formats
OD
OD <constante>
Oprande

Type de donnes

Description

<constante>

DWORD,
constante (32 bits)

Profil binaire combiner l'accumulateur 1 selon la


table de vrit OU

Description de l'opration
OD (OU double mot)
Cette opration combine, bit par bit, le contenu de l'accumulateur 1 au contenu de
l'accumulateur 2 ou une constante de 32 bits selon la table de vrit OU. C'est uniquement
si au moins un des bits correspondants des deux doubles mots combiner est 1 que le bit
dans le double mot de rsultat sera 1. Le rsultat est rang dans l'accumulateur 1.
L'accumulateur 2 ainsi que les accumulateurs 3 et 4 pour les CPU quatre accumulateurs
restent inchangs. Le bit du mot d'tat BI1 est mis 1 (BI1 gale 1 si le rsultat est diffrent
de zro) comme rsultat de l'opration. Les bits d'tat BI0 et DEB sont mis 0.
OD : combine l'accumulateur 1 l'accumulateur 2.
OD <constante> : combine l'accumulateur 1 une constante de 32 bits.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemples
Bit

31 . .

..

..

..

..

..

..

...0

Accumulateur 1 avant excution de OD

0101

0000

1111

1100

1000

0101

0011

1011

Accumulateur 2 ou constante (32 bits)

1111

0011

1000

0101

0111

0110

1011

0101

Rsultat (ACCU 1) aprs excution de OD

1111

0011

1111

1101

1111

0111

1011

1111

Exemple 1
LIST
L
ED20
L
ED24
OD

MD8

Explication
//Charger le contenu de ED20 dans laccumulateur 1.
//Charger le contenu de laccumulateur 1 dans laccumulateur 2.
Charger le contenu de ED24 dans laccumulateur 1.
//Combiner, bit par bit, le contenu de laccumulateur 1 au contenu de
l'accumulateur 2 selon la table de vrit OU ; ranger le rsultat
dans l'accumulateur 1.
//Transfrer le rsultat dans le double mot de mmento MD8.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

13-7

Oprations combinatoires sur mots

Exemple 2
LIST
L
ED20
OD
DW#16#0FFF_EF21

SPP

13.7

Explication
//Charger le contenu de ED20 dans laccumulateur 1.
//Combiner les bits de laccumulateur 1 au profil binaire de la
constante de 32 bits (0000_1111_1111_1111_1110_1111_0010_0001) selon
la table de vrit OU ; ranger le rsultat dans l'accumulateur 1.
//Sauter au repre de saut SUIV si le rsultat est diffrent de 0
(BI1 gale 1).

SUIV

XOD

OU exclusif double mot (32 bits)

Formats
XOD
XOD <constante>
Oprande
<constante>

Type de donnes

Description

DWORD,

Profil binaire combiner l'accumulateur 1 selon la


table de vrit OU exclusif

constante (32 bits)

Description de l'opration
XOD (OU exclusif double mot)
Cette opration combine, bit par bit, le contenu de l'accumulateur 1 au contenu de
l'accumulateur 2 ou une constante de 32 bits selon la table de vrit OU exclusif. C'est
uniquement si exactement un des bits correspondants des deux doubles mots combiner
est 1 que le bit dans le double mot de rsultat sera 1. Le rsultat est rang dans
l'accumulateur 1. L'accumulateur 2 ainsi que les accumulateurs 3 et 4 pour les CPU quatre
accumulateurs restent inchangs. Le bit du mot d'tat BI1 est mis 1 (BI1 gale 1 si le
rsultat est diffrent de zro) comme rsultat de l'opration. Les bits d'tat BI0 et DEB sont
mis 0.
Vous pouvez galement utiliser la fonction OU exclusif plusieurs fois d'affile. Le RLG global
est alors gal "1", lorsqu'un nombre impair des oprandes interrogs fournit le rsultat "1".
XOD : combine l'accumulateur 1 l'accumulateur 2.
XOD <constante> : combine l'accumulateur 1 une constante de 32 bits.

Mot d'tat
Ecriture :

13-8

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations combinatoires sur mots

Exemples
Bit

31 . .

..

..

..

..

..

..

...0

Accumulateur 1 avant excution de XOD

0101

0000

1111

1100

1000

0101

0011

1011

Accumulateur 2 ou constante (32 bits)

1111

0011

1000

0101

0111

0110

1011

0101

Rsultat (ACCU 1) aprs excution de XOD 1010

0011

0111

1001

1111

0011

1000

1110

Exemple 1
LIST
L
L

ED20
ED24

XOD

MD8

Explication
//Charger le contenu de ED20 dans laccumulateur 1.
//Charger le contenu de laccumulateur 1 dans laccumulateur 2. Charger le
contenu de ED24 dans laccumulateur 1.
//Combiner, bit par bit, le contenu de laccumulateur 1 au contenu de
l'accumulateur 2 selon la table de vrit OU exclusif ; ranger le rsultat
dans l'accumulateur 1.
//Transfrer le rsultat dans le double mot de mmento MD8.

Exemple 2
LIST
L
XOD

SPP

ED20
DW#16#0FFF_EF2
1

SUIV

Explication
//Charger le contenu de ED20 dans l'accumulateur 1.
//Combiner les bits de l'accumulateur 1 au profil binaire de la
constante de 32 bits (0000_1111_1111_1111_1111_1110_0010_0001) selon
la table de vrit OU exclusif ; ranger le rsultat dans
l'accumulateur 1.
//Sauter au repre de saut SUIV si le rsultat est diffrent de 0
(BI1 gale 1).

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

13-9

Oprations combinatoires sur mots

13-10

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

14 Oprations sur les accumulateurs

14.1

Vue d'ensemble des oprations sur les accumulateurs

Description
Les oprations suivantes permettent de traiter le contenu dun ou plusieurs accumulateurs
ou registres dadresse :

TAK

Permuter accumulateur 1 et accumulateur 2

PUSH

CPU avec deux accumulateurs

PUSH

CPU avec quatre accumulateurs

POP

CPU avec deux accumulateurs

POP

CPU avec quatre accumulateurs

ENT

Entrer dans pile accumulateur

LEAVE

Quitter pile accumulateur

INC

Incrmenter accumulateur 1-L-L

DEC

Dcrmenter accumulateur 1-L-L

+AR1

Additionner accumulateur 1 au registre d'adresse 1

+AR2

Additionner accumulateur 1 au registre d'adresse 2

BLD

Opration de composition d'image (opration nulle)

NOP 0

Opration nulle

NOP 1

Opration nulle

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

14-1

Oprations sur les accumulateurs

14.2

TAK

Permuter accumulateur 1 et accumulateur 2

Format
TAK

Description de l'opration
TAK (Permuter accumulateur 1 et accumulateur 2)
Cette opration permet de permuter le contenu de l'accumulateur 1 et celui de
l'accumulateur 2. L'opration s'excute sans tenir compte des bits du mot d'tat ni influer sur
eux. Les contenus des accumulateurs 3 et 4 ne sont pas modifis (CPU avec quatre
accumulateurs).

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple : Soustraire la plus petite valeur de la plus grande valeur


LIST
L
L

MW10
MW12

>I
SPB

SUIV:

SUIV

TAK
-I
T

MW14

Explication
//Charger le contenu du mot de mmento MW10 dans l'accumulateur 1-L.
//Charger le contenu de l'accumulateur 1-L dans l'accumulateur 2-L.
Charger le contenu du mot de mmento MW12 dans l'accumulateur 1-L.
//Vrifier si l'accumulateur 2-L (MW10) est plus grand que
l'accumulateur 1-L (MW12).
//Sauter au repre de saut SUIV si l'accumulateur 2 (MW10) est plus
grand que l'accumulateur 1 (MW12).
//Permuter le contenu de l'accumulateur 1 et celui de l'accumulateur 2.
//Soustraire le contenu de l'accumulateur 1-L du contenu de
l'accumulateur 2-L.
//Transfrer le rsultat (= valeur plus grande moins la valeur plus
petite) dans MW14.

Contenu

ACCU 1

ACCU 2

Avant excution de l'opration TAK

<MW12>

<MW10>

Aprs excution de l'opration TAK

<MW10>

<MW12>

14-2

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations sur les accumulateurs

14.3

PUSH

CPU avec deux accumulateurs

Format
PUSH

Description de l'opration
PUSH (Accumulateur 1 dans accumulateur 2)
Cette opration copie le contenu complet de l'accumulateur 1 dans l'accumulateur 2 sans
modifier l'accumulateur 1. L'opration s'excute sans tenir compte des bits du mot d'tat ni
influer sur eux.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
L
PUSH

MW10

Explication
//Charger le contenu du mot de mmento MW10 dans l'accumulateur 1.
//Copier le contenu total de l'accumulateur 1 dans l'accumulateur 2.

Contenu

ACCU 1

ACCU 2

Avant excution de l'opration PUSH

<MW10>

<X>

Aprs excution de l'opration PUSH

<MW10>

<MW10>

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

14-3

Oprations sur les accumulateurs

14.4

PUSH CPU avec quatre accumulateurs

Format
PUSH

Description de l'opration
PUSH (CPU avec quatre accumulateurs)
Cette opration copie le contenu de l'accumulateur 3 dans l'accumulateur 4, le contenu de
l'accumulateur 2 dans l'accumulateur 3 et le contenu de l'accumulateur 1 dans
l'accumulateur 2. L'accumulateur 1 n'est pas modifi. L'opration s'excute sans tenir
compte des bits du mot d'tat ni influer sur eux.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
L
PUSH

MW10

Explication
//Charger le contenu du mot de mmento MW10 dans l'accumulateur 1.
//Copier le contenu total de l'accumulateur 1 dans l'accumulateur 2, le
contenu de l'accumulateur 2 dans l'accumulateur 3 et le contenu de
l'accumulateur 3 dans l'accumulateur 4.

Contenu

ACCU 1

ACCU 2

ACCU 3

ACCU 4

Avant excution de l'opration PUSH

valeur A

valeur B

valeur C

valeur D

Aprs excution de l'opration PUSH

valeur A

valeur A

valeur B

valeur C

14-4

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations sur les accumulateurs

14.5

POP

CPU avec deux accumulateurs

Format
POP

Description de l'opration
POP (CPU avec deux accumulateurs)
Cette opration copie le contenu complet de l'accumulateur 2 dans l'accumulateur 1 sans
modifier l'accumulateur 2. L'opration s'excute sans tenir compte des bits du mot d'tat ni
influer sur eux.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
T

MD10

POP
T

MD14

Explication
//Transfrer le contenu de l'accumulateur 1 (= valeur A) dans le double
mot de mmento MD10.
//Copier le contenu total de l'accumulateur 2 dans l'accumulateur 1.
//Transfrer le contenu de l'accumulateur 1 (= valeur B) dans le double
mot de mmento MD14.

Contenu

ACCU 1

ACCU 2

Avant excution de l'opration POP

valeur A

valeur B

Aprs excution de l'opration POP

valeur B

valeur B

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

14-5

Oprations sur les accumulateurs

14.6

POP

CPU avec quatre accumulateurs

Format
POP

Description de l'opration
POP (CPU avec quatre accumulateurs)
Cette opration copie le contenu de l'accumulateur 2 dans l'accumulateur 1, le contenu de
l'accumulateur 3 dans l'accumulateur 2 et le contenu de l'accumulateur 4 dans
l'accumulateur 3. L'accumulateur 4 n'est pas modifi. L'opration s'excute sans tenir
compte des bits du mot d'tat ni influer sur eux.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
T

MD10

POP

MD14

Explication
//Transfrer le contenu de l'accumulateur 1 (= valeur A) dans le double
mot de mmento MD10.
//Copier le contenu de l'accumulateur 2 dans l'accumulateur 1, le contenu
de l'accumulateur 3 dans l'accumulateur 2 et le contenu de
l'accumulateur 4 dans l'accumulateur 3.
//Transfrer le contenu de l'accumulateur 1 (= valeur B) dans le double
mot de mmento MD14.

Contenu

ACCU 1

ACCU 2

ACCU 3

ACCU 4

Avant excution de l'opration POP

valeur A

valeur B

valeur C

valeur D

Aprs excution de l'opration POP

valeur B

valeur C

valeur D

valeur D

14-6

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations sur les accumulateurs

14.7

ENT

Entrer dans pile accumulateur

Format
ENT

Description de l'opration
ENT (Entrer dans pile accumulateur)
Cette opration copie le contenu de l'accumulateur 3 dans l'accumulateur 4 et le contenu de
l'accumulateur 2 dans l'accumulateur 3. En programmant l'opration ENT directement avant
une opration de chargement, vous pouvez sauvegarder un rsultat intermdiaire dans
l'acccumulateur 3.

Exemple
LIST
L

DBD0

DBD4

+R
L

DBD8

ENT
L
-R

DBD12

/R

DBD16

14.8

Explication
//Charger la valeur (nombre virgule flottante) contenue dans le double mot de
donnes DBD0 dans l'accumulateur 1.
//Copier la valeur de l'accumulateur 1 dans l'accumulateur 2. Charger la valeur
(nombre virgule flottante) contenue dans le double mot de donnes DBD4 dans
l'accumulateur 1.
//Additionner les contenus des accumulateurs 1 et 2 (nombres virgule flottante
IEEE de 32 bits) et sauvegarder le rsultat dans l'accumulateur 1.
//Copier la valeur de l'accumulateur 1 dans l'accumulateur 2 et celle du double
mot de donnes DBD8 dans l'accumulateur 1.
//Copier le contenu de l'accumulateur 3 dans l'accumulateur 4. Copier le contenu
de l'accumulateur 2 (rsultat intermdiaire) dans l'accumulateur 3.
//Charger la valeur du double mot de donnes DBD12 dans l'accumulateur 1.
//Soustraire le contenu de l'accumulateur 1 du contenu de l'accumulateur 2 et
sauvegarder le rsultat dans l'accumulateur 1. Copier le contenu de
l'accumulateur 3 dans l'accumulateur 2 et le contenu de l'accumulateur 4 dans
l'accumulateur 3.
//Diviser le contenu de l'accumulateur 2 (DBD0 + DBD4) par le contenu de
l'accumulateur 1 (DBD8 - DBD12) et sauvegarder le rsultat dans
l'accumulateur 1.
//Transfrer le rsultat (accumulateur 1) dans le double mot de donnes DBD16.

LEAVE

Quitter pile accumulateur

Format
LEAVE

Description de l'opration
LEAVE (Quitter pile accumulateur)
Cette opration copie le contenu de l'accumulateur 3 dans l'accumulateur 2 et le contenu de
l'accumulateur 4 dans l'accumulateur 3. Si vous programmez l'opration LEAVE directement
avant une opration de dcalage ou de rotation qui combine les accumulateurs, LEAVE agit
comme une opration arithmtique. Les contenus des accumulateurs 1 et 4 restent
inchangs.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

14-7

Oprations sur les accumulateurs

14.9

INC

Incrmenter accumulateur 1-L-L

Format
INC <entier, 8 bits>
Oprande

Type de donnes

Description

<entier, 8 bits>

Constante
(entier, 8 bits)

Constante additionner au contenu de l'accumulateur


1-L-L, plage de 0 255

Description de l'opration
INC <entier, 8 bits> (Incrmenter accumulateur 1-L-L)
Cette opration additionne l'entier de 8 bits indiqu au contenu de l'accumulateur 1-L-L et
sauvegarde le rsultat dans l'accumulateur 1-L-L. L'accumulateur 1-L-H, l'accumulateur 1-H
et l'accumulateur 2 restent inchangs. L'opration s'excute sans tenir compte des bits du
mot d'tat ni influer sur eux.

Attention
Ces oprations ne conviennent pas aux oprations arithmtiques (16 ou 32 bits), car elles
neffectuent pas de report de loctet de poids faible du mot de poids faible de
laccumulateur 1 dans loctet de poids fort du mot de poids faible de laccumulateur. Vous
devez utiliser +I ou +D pour les oprations arithmtiques (16 ou 32 bits).

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
L
INC

MB22
1

MB22

14-8

Explication
//Charger la valeur de MB22.
//Incrmenter d'1 laccumulateur 1 (MB 22), sauvegarder le rsultat dans
l'accumulateur 1-L-L.
//Retransfrer le contenu de l'accumulateur 1-L-L (rsultat) dans l'octet
de mmento MB22.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations sur les accumulateurs

14.10 DEC

Dcrmenter accumulateur 1-L-L

Format
DEC <entier, 8 bits>
Oprande

Type de donnes

Description

<entier, 8 bits>

Constante (entier,
8 bits)

Constante soustraire du contenu de l'accumulateur 1-L-L,


plage de 0 255

Description de l'opration
DEC <entier, 8 bits> (Dcrmenter accumulateur 1-L-L)
Cette opration soustrait l'entier de 8 bits indiqu du contenu de l'accumulateur 1-L-L et
sauvegarde le rsultat dans l'accumulateur 1-L-L. L'accumulateur 1-L-H, l'accumulateur 1-H
et l'accumulateur 2 restent inchangs. L'opration s'excute sans tenir compte des bits du
mot d'tat ni influer sur eux.

Attention
Ces oprations ne conviennent pas aux oprations arithmtiques (16 ou 32 bits), car elles
neffectuent pas de report de loctet de poids faible du mot de poids faible de laccumulateur 1 dans loctet de poids fort du mot de poids faible de laccumulateur. Vous devez utiliser
+I ou +D pour les oprations arithmtiques (16 ou 32 bits).

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple
LIST
L
DEC

MB250
1

MB250

Explication
//Charger la valeur de MB250.
//Dcrmenter d'1 laccumulateur 1-L-L, sauvegarder le rsultat dans
l'accumulateur 1-L-L.
//Retransfrer le contenu de l'accumulateur 1-L-L (rsultat) dans l'octet
de mmento MB250.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

14-9

Oprations sur les accumulateurs

14.11 AR1

Additionner accumulateur 1 au registre dadresse 1

Formats
+AR1
+AR1 <P#octet.bit>
Oprande

Type de donnes

Description

<P#octet.bit>

Constante pointeur

Adresse additionne au registre d'adresse 1

Description de l'opration
+AR1 (Additionner au registre dadresse 1)
Cette opration ajoute au contenu du registre d'adresse 1 (AR1) le dcalage prcis soit
dans l'instruction soit dans l'accumulateur 1-L. Le nombre entier de 16 bits est tout d'abord
tendu 24 bits (en tenant compte du signe), puis additionn aux 24 bits de poids faible
(partie de l'adresse relative) du registre d'adresse 1. Les bits 24, 25 et 26 qui identifient la
zone dans AR1 restent inchangs. Cette opration s'excute sans tenir compte des bits du
mot d'tat ni influer sur eux.
+AR1 : Le nombre entier de 16 bits qui doit tre additionn au contenu du registre d'adresse
1 correspond la valeur contenue dans l'accumulateur 1-L. Les valeurs comprises entre
-32768 et +32767 sont autorises.
+AR1 <P#octet.bit> : Le dcalage qui doit tre additionn correspond l'oprande
<P#octet.bit>.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple 1
LIST
L
+AR1

+300

Explication
//Charger la valeur dans laccumulateur 1-L.
//Additionner laccumulateur 1-L (entier de 16 bits) au registre dadresse 1.

Exemple 2
LIST
+AR1

14-10

P#300.0

Explication
//Additionner le dcalage 300.0 au registre d'adresse 1.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations sur les accumulateurs

14.12 AR2

Additionner accumulateur 1 au registre dadresse 2

Formats
+AR2
+AR2 <P#octet.bit>
Oprande

Type de donnes

Description

<P#octet.bit>

Constante pointeur

Adresse additionne au registre d'adresse 2

Description de l'opration
+AR2 (Additionner au registre dadresse 2)
Cette opration ajoute au contenu du registre d'adresse 2 (AR2) le dcalage prcis soit
dans l'instruction soit dans l'accumulateur 1-L. Le nombre entier de 16 bits est tout d'abord
tendu 24 bits (en tenant compte du signe), puis additionn aux 24 bits de poids faible
(partie de l'adresse relative) du registre d'adresse 2. Les bits 24, 25 et 26 qui identifient la
zone dans AR2 restent inchangs. Cette opration s'excute sans tenir compte des bits du
mot d'tat ni influer sur eux.
+AR2 : Le nombre entier de 16 bits qui doit tre additionn au contenu du registre
d'adresse 2 correspond la valeur contenue dans l'accumulateur 1-L. Les valeurs comprises
entre -32768 et +32767 sont autorises.
+AR2 <P#octet.bit> : Le dcalage qui doit tre additionn correspond l'oprande
<P#octet.bit>.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Exemple 1
LIST
L
+AR2

+300

Explication
//Charger la valeur dans laccumulateur 1-L.
//Additionner laccumulateur 1-L (entier de 16-bits) au registre dadresse
2.

Exemple 2
LIST
+AR2

P#300.0

Explication
//Additionner le dcalage 300.0 au registre d'adresse 2.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

14-11

Oprations sur les accumulateurs

14.13 BLD

Opration de composition d'image (opration nulle)

Format
BLD <nombre>
Oprande

Description

<nombre>

Numro de l'opration BLD ; plage de 0 255

Description de l'opration
BLD <nombre> (Composition d'image ; opration nulle)
Cette opration n'excute pas de fonction et n'influe pas sur les bits du mot d'tat. Elle sert
la composition dimage graphique de la console de programmation. Elle est
automatiquement gnre lorsqu'un programme CONT ou LOG est affich en LIST.
L'oprande <nombre> identifie l'opration BLD, il est gnr par la console de
programmation.

Mot d'tat
Ecriture :

14-12

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Oprations sur les accumulateurs

14.14 NOP 0

Opration nulle

Format
NOP 0

Description de l'opration
NOP 0 (Opration NOP avec l'oprande 0)
Cette opration n'excute aucune fonction et n'influe pas sur les bits du mot d'tat. Le code
d'opration contient un profil binaire de 16 zros. L'opration ne revt d'importance que pour
la console de programmation lorsqu'un programme est affich.

Mot d'tat
Ecriture :

14.15 NOP 1

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Opration nulle

Format
NOP 1

Description de l'opration
NOP 1 (Opration NOP avec l'oprande 1)
Cette opration n'excute aucune fonction et n'influe pas sur les bits du mot d'tat. Le code
d'opration contient un profil binaire de 16 uns. L'opration ne revt d'importance que pour la
console de programmation lorsqu'un programme est affich.

Mot d'tat
Ecriture :

RB

BI1

BI0

DEB

DM

OU

ETAT

RLG

/PI

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

14-13

Oprations sur les accumulateurs

14-14

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

A.1

Prsentation de toutes les oprations LIST

Oprations LIST classes d'aprs les abrviations


allemandes (SIMATIC)

Abrviation Abrviation Catalogue des


allemande
anglaise
lments de
programme

Description

Combinaison sur
bits

Affectation

Combinaison sur
bits

Fermer la parenthse d'une expression

*D

*D

Fonction sur
nombres entiers

Multiplier accumulateur 1 par accumulateur 2


(entiers de 32 bits)

*I

*I

Fonction sur
nombres entiers

Multiplier accumulateur 1 par accumulateur 2


(entiers de 16 bits)

*R

*R

Fonction sur
nombres virgule
flottante

Multiplier accumulateur 1 par accumulateur 2


(rels VF IEEE, 32 bits)

/D

/D

Fonction sur
nombres entiers

Diviser accumulateur 2 par accumulateur 1 (entiers de 32 bits)

/I

/I

Fonction sur
nombres entiers

Diviser accumulateur 2 par accumulateur 1 (entiers de 16 bits)

/R

/R

Fonction sur
nombres virgule
flottante

Diviser accumulateur 2 par accumulateur 1 (rels VF IEEE,


32 bits)

?D

?D

Comparaison

Comparer entiers de 32 bits , <>, >, <, >, <

?I

?I

Comparaison

Comparer entiers de 16 bits , <>, >, <, >, <

?R

?R

Comparaison

Comparer rels de 32 bits , <>, >, <, >, <

Fonction sur
nombres entiers

Additionner constante entire (16, 32 bits)

+AR1

+AR1

Accumulateurs

Additionner accumulateur 1 au registre d'adresse 1

+AR2

+AR2

Accumulateurs

Additionner accumulateur 1 au registre d'adresse 2

+D

+D

Fonction sur
nombres entiers

Additionner accumulateurs 1 et 2 (entiers de 32 bits)

+I

+I

Fonction sur
nombres entiers

Additionner accumulateurs 1 et 2 (entiers de 16 bits)

+R

+R

Fonction sur
nombres virgule
flottante

Additionner accumulateurs 1 et 2 (rels VF IEEE, 32 bits)

ABS

ABS

Fonction sur
nombres virgule
flottante

Valeur absolue d'un nombre virgule flottante


(VF IEEE, 32 bits)

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

A-1

Prsentation de toutes les oprations LIST

Abrviation Abrviation Catalogue des


allemande
anglaise
lments de
programme

Description

ACOS

ACOS

Fonction sur
nombres virgule
flottante

Arc cosinus d'un nombre virgule flottante (32 bits)

ASIN

ASIN

Fonction sur
nombres virgule
flottante

Arc sinus d'un nombre virgule flottante (32 bits)

ATAN

ATAN

Fonction sur
nombres virgule
flottante

Arc tangente d'un nombre virgule flottante (32 bits)

AUF

OPN

Blocs de donnes

Ouvrir bloc de donnes

BE

BE

Gestion d'excution Fin de bloc


de programme

BEA

BEU

Gestion d'excution Fin de bloc inconditionnelle


de programme

BEB

BEC

Gestion d'excution Fin de bloc conditionnelle


de programme

BLD

BLD

Accumulateurs

Opration de composition d'image (opration nulle)

BTD

BTD

Conversions

Convertir DCB en entier de 32 bits

BTI

BTI

Conversions

Convertir DCB en entier de 16 bits

CALL

CALL

Gestion d'excution Appel de bloc


de programme

CALL

CALL

Gestion d'excution Appel de multi-instance


de programme

CALL

CALL

Gestion d'excution Appel de bloc dans une bibliothque


de programme

CC

CC

Gestion d'excution Appel de bloc conditionnel


de programme

CLR

CLR

Combinaison sur
bits

Mettre RLG 0

COS

COS

Fonction sur
nombres virgule
flottante

Cosinus d'angles comme nombres virgule flottante (32 bits)

Fonction sur
nombres entiers

Soustraire accumulateur 1 de accumulateur 2


(entiers de 32 bits)

DEC

DEC

Accumulateurs

Dcrmenter accumulateur 1-L-L

DTB

DTB

Conversions

Convertir entier de 32 bits en DCB

DTR

DTR

Conversions

Convertir entier de 32 bits en rel (VF IEEE 32 bits)

ENT

ENT

Chargement/
Transfert

Entrer dans pile accumulateur

EXP

EXP

Fonction sur
nombres virgule
flottante

Valeur exponentielle d'un nombre virgule flottante (32 bits)

FN

FN

Combinaison sur
bits

Front descendant

FP

FP

Combinaison sur
bits

Front montant

FR

FR

Compteurs

Valider compteur (valid, FR Z 0 Z 255)

FR

FR

Temporisations

Valider temporisation

Fonction sur
nombres entiers

Soustraire accumulateur 1 de accumulateur 2


(entiers de 16 bits)

A-2

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Prsentation de toutes les oprations LIST

Abrviation Abrviation Catalogue des


allemande
anglaise
lments de
programme

Description

INC

INC

Accumulateurs

Incrmenter accumulateur 1-L-L

INVD

INVD

Conversions

Complment 1 d'entier de 32 bits

INVI

INVI

Conversions

Complment 1 d'entier de 16 bits

ITB

ITB

Conversions

Convertir entier de 16 bits en DCB

ITD

ITD

Conversions

Convertir entier de 16 bits en entier de 32 bits

Accumulateurs

Charger

L STW

L STW

Chargement/
Transfert

Charger mot d'tat dans l'accumulateur 1

Temporisations

Charger valeur de temps en cours comme nombre entier dans


l'accumulateur 1 (la valeur de temps en cours peut tre un
nombre compris dans la plage de 0 255,
par exemple : L T 32)

Compteurs

Charger valeur de comptage en cours comme entier dans


l'accumulateur 1 (la valeur de comptage en cours peut tre un
nombre compris dans la plage de 0 255,
par exemple : L Z 15)

L DBLG

L DBLG

Blocs de donnes

Charger longueur de DB global dans l'accumulateur 1

L DBNO

L DBNO

Blocs de donnes

Charger numro de DB global dans l'accumulateur 1

L DILG

L DILG

Blocs de donnes

Charger longueur de DB d'instance dans l'accumulateur 1

L DINO

L DINO

Blocs de donnes

Charger numro de DB d'instance dans l'accumulateur 1

LAR1

LAR1

Chargement/
Transfert

Charger contenu de l'accumulateur 1 dans registre


d'adresse 1

LAR1

LAR1

Chargement/
Transfert

Charger pointeur de 32 bits dans registre d'adresse 1

LAR1

LAR1

Chargement/
Transfert

Charger contenu du registre d'adresse 2 dans registre


d'adresse 1

LAR2

LAR2

Chargement/
Transfert

Charger contenu de l'accumulateur 1 dans registre


d'adresse 2

LAR2

LAR2

Chargement/
Transfert

Charger pointeur de 32 bits dans registre d'adresse 2

LC

LC

Compteurs

Charger valeur de comptage en cours comme nombre DCB


dans l'accumulateur 1 (la valeur de comptage en cours peut
tre un nombre compris dans la plage de 0 255, par
exemple : LC Z 15)

LC

LC

Temporisations

Charger valeur de temps en cours comme nombre DCB dans


l'accumulateur 1 (la valeur de temps en cours peut tre un
nombre compris dans la plage de 0 255,
par exemple : LC T 32)

LEAVE

LEAVE

Accumulateurs

Quitter pile accumulateur

LN

LN

Fonction sur
nombres virgule
flottante

Logarithme naturel d'un nombre virgule flottante (32 bits)

LOOP

LOOP

Sauts

Boucle de programme

MCR(

MCR(

Gestion d'excution Sauvegarder RLG dans pile MCR, dbut de zone MCR
de programme

)MCR

)MCR

Gestion d'excution Fin de zone MCR


de programme

MCRA

MCRA

Gestion d'excution Activer la zone MCR


de programme

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

A-3

Prsentation de toutes les oprations LIST

Abrviation Abrviation Catalogue des


allemande
anglaise
lments de
programme

Description

MCRD

MCRD

Gestion d'excution Dsactiver la zone MCR


de programme

MOD

MOD

Fonction sur
nombres entiers

Reste de division entire (32 bits)

NEGD

NEGD

Conversions

Complment 2 d'entier de 32 bits

NEGI

NEGI

Conversions

Complment 2 d'entier de 16 bits

NEGR

NEGR

Conversions

Inverser nombre virgule flottante (VF IEEE 32 bits)

NOP 0

NOP 0

Accumulateurs

Opration nulle

NOP 1

NOP 1

Accumulateurs

Opration nulle

NOT

NOT

Combinaison sur
bits

Ngation du RLG

Combinaison sur
bits

OU

O(

O(

Combinaison sur
bits

OU d'une expression

OD

OD

Combinaison sur
mots

OU double mot (32 bits)

ON

ON

Combinaison sur
bits

OU NON

ON(

ON(

Combinaison sur
bits

OU NON d'une expression

OW

OW

Combinaison sur
mots

OU mot (16 bits)

POP

POP

Accumulateurs

POP

CPU avec deux accumulateurs

POP

POP

Accumulateurs

POP

CPU avec quatre accumulateurs

PUSH

PUSH

Accumulateurs

PUSH

CPU avec deux accumulateurs

PUSH

PUSH

Accumulateurs

PUSH

CPU avec quatre accumulateurs

Combinaison sur
bits

Mettre 0

Compteurs

Remettre compteur 0 (le compteur actuel peut tre un


nombre compris dans la plage de 0 255,
par exemple : R Z 15)

Temporisations

Remettre temporisation 0 (la temporisation actuelle peut tre


un nombre compris dans la plage de 0 255,
par exemple : R T 32)

Fonction sur
nombres virgule
flottante

Soustraire accumulateur 1 de accumulateur 2


(rels VF IEEE, 32 bits)

RLD

RLD

Dcalage/Rotation

Rotation vers la gauche d'un double mot (32 bits)

RLDA

RLDA

Dcalage/Rotation

Rotation vers la gauche de l'accumulateur 1 via BI1 (32 bits)

RND

RND

Conversions

Arrondir l'entier

RND

RND

Conversions

Arrondir l'entier infrieur

RND+

RND+

Conversions

Arrondir l'entier suprieur

RRD

RRD

Dcalage/Rotation

Rotation vers la droite d'un double mot (32 bits)

RRDA

RRDA

Dcalage/Rotation

Rotation vers la droite de l'accumulateur 1 via BI1 (32 bits)

Combinaison sur
bits

Mettre 1

A-4

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Prsentation de toutes les oprations LIST

Abrviation Abrviation Catalogue des


allemande
anglaise
lments de
programme

Description

Compteurs

Initialiser compteur (le compteur actuel peut tre un nombre


compris dans la plage de 0 255, par exemple : S Z 15)

SA

SF

Temporisations

Temporisation sous forme de retard la retombe

SAVE

SAVE

Combinaison sur
bits

Sauvegarder RLG dans le bit RB

SE

SD

Temporisations

Temporisation sous forme de retard la monte

SET

SET

Combinaison sur
bits

Mettre 1

SI

SP

Temporisations

Temporisation sous forme d'impulsion

SIN

SIN

Fonction sur
nombres virgule
flottante

Sinus d'angles comme nombres virgule flottante (32 bits)

SLD

SLD

Dcalage/Rotation

Dcalage vers la gauche d'un double mot (32 bits)

SLW

SLW

Dcalage/Rotation

Dcalage vers la gauche d'un mot (16 bits)

SPA

JU

Sauts

Saut inconditionnel

SPB

JC

Sauts

Saut si RLG est 1

SPBB

JCB

Sauts

Saut si RLG est 1 avec RB

SPBI

JBI

Sauts

Saut si RB est 1

SPBIN

JNBI

Sauts

Saut si RB est 0

SPBN

JCN

Sauts

Saut si RLG est 0

SPBNB

JNB

Sauts

Saut si RLG est 0 avec RB

SPL

JL

Sauts

Saut vers liste

SPM

JM

Sauts

Saut si moins

SPMZ

JMZ

Sauts

Saut si infrieur ou gal 0

SPN

JN

Sauts

Saut si diffrent de 0

SPO

JO

Sauts

Saut si DEB est 1

SPP

JP

Sauts

Saut si plus

SPPZ

JPZ

Sauts

Saut si suprieur ou gal 0

SPS

JOS

Sauts

Saut si DM est 1

SPU

JUO

Sauts

Saut si illicite

SPZ

JZ

Sauts

Saut si gal 0

SQR

SQR

Fonction sur
nombres virgule
flottante

Carr d'un nombre virgule flottante (32 bits)

SQRT

SQRT

Fonction sur
nombres virgule
flottante

Racine carre d'un nombre virgule flottante (32 bits)

SRD

SRD

Dcalage/Rotation

Dcalage vers la droite d'un double mot (32 bits)

SRW

SRW

Dcalage/Rotation

Dcalage vers la droite d'un mot (16 bits)

SS

SS

Temporisations

Temporisation sous forme de retard la monte mmoris

SSD

SSD

Dcalage/Rotation

Dcalage vers la droite d'un entier avec signe (32 bits)

SSI

SSI

Dcalage/Rotation

Dcalage vers la droite d'un entier avec signe (16 bits)

SV

SE

Temporisations

Temporisation sous forme d'impulsion prolonge

Chargement/
Transfert

Transfrer

T STW

T STW

Chargement/
Transfert

Transfrer accumulateur 1 dans mot d'tat

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

A-5

Prsentation de toutes les oprations LIST

Abrviation Abrviation Catalogue des


allemande
anglaise
lments de
programme

Description

TAD

CAD

Modifier lordre dans laccumulateur 1 (32 bits)

TAK

TAK

Accumulateurs

Permuter accumulateur 1 et accumulateur 2

TAN

TAN

Fonction sur
nombres virgule
flottante

Tangente d'angles comme nombres virgule flottante (32 bits)

TAR

CAR

Chargement/
Transfert

Permuter registre d'adresse 1 avec registre d'adresse 2

TAR1

TAR1

Chargement/
Transfert

Transfrer registre d'adresse 1 dans l'accumulateur 1

TAR1

TAR1

Chargement/
Transfert

Transfrer registre d'adresse 1 l'adresse de destination


(32 bits)

TAR1

TAR1

Chargement/
Transfert

Transfrer registre d'adresse 1 dans registre d'adresse 2

TAR2

TAR2

Chargement/
Transfert

Transfrer registre d'adresse 2 dans l'accumulateur 1

TAR2

TAR2

Chargement/
Transfert

Transfrer registre d'adresse 2 l'adresse de destination


(32 bits)

Conversions

TAW

CAW

Conversions

Modifier l'ordre dans l'accumulateur 1 (16 bits)

TDB

CDB

Blocs de donnes

Permuter DB global et DB d'instance

TRUNC

TRUNC

Conversions

Arrondir par troncature

Combinaison sur
bits

ET

U(

A(

Combinaison sur
bits

ET d'une expression

UC

UC

Gestion d'excution Appel de bloc inconditionnel


de programme

UD

AD

Combinaison sur
mots

ET double mot

UN

AN

Combinaison sur
bits

ET NON

UN(

AN(

Combinaison sur
bits

ET NON d'une expression

UW

AW

Combinaison sur
mots

ET mot (16 bits)

Combinaison sur
bits

OU exclusif

X(

X(

Combinaison sur
bits

OU exclusif d'une expression

XN

XN

Combinaison sur
bits

OU NON exclusif

XN(

XN(

Combinaison sur
bits

OU NON exclusif d'une expression

XOD

XOD

Combinaison sur
mots

OU exclusif double mot (32 bits)

XOW

XOW

Combinaison sur
mots

OU exclusif mot (16 bits)

ZR

CD

Compteurs

Dcrmenter

ZV

CU

Compteurs

Incrmenter

A-6

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Prsentation de toutes les oprations LIST

A.2

Oprations LIST classes d'aprs les abrviations anglaises


(internationales)

Abrviation Abrviation Catalogue des


anglaise
allemande
lments de
programme

Description

Combinaison sur
bits

Affectation

Combinaison sur
bits

Fermer la parenthse d'une expression

*D

*D

Fonction sur
nombres entiers

Multiplier accumulateur 1 par accumulateur 2


(entiers de 32 bits)

*I

*I

Fonction sur
nombres entiers

Multiplier accumulateur 1 par accumulateur 2


(entiers de 16 bits)

*R

*R

Fonction sur
nombres virgule
flottante

Multiplier accumulateur 1 par accumulateur 2


(rels VF IEEE, 32 bits)

/D

/D

Fonction sur
nombres entiers

Diviser accumulateur 2 par accumulateur 1 (entiers de 32 bits)

/I

/I

Fonction sur
nombres entiers

Diviser accumulateur 2 par accumulateur 1 (entiers de 16 bits)

/R

/R

Fonction sur
nombres virgule
flottante

Diviser accumulateur 2 par accumulateur 1


(rels VF IEEE, 32 bits)

?D

?D

Comparaison

Comparer entiers de 32 bits , <>, >, <, >, <

?I

?I

Comparaison

Comparer entiers de 16 bits , <>, >, <, >, <

?R

?R

Comparaison

Comparer rels de 32 bits , <>, >, <, >, <

Fonction sur
nombres entiers

Additionner constante entire (16, 32 bits)

+AR1

+AR1

Accumulateurs

Additionner accumulateur 1 au registre d'adresse 1

+AR2

+AR2

Accumulateurs

Additionner accumulateur 1 au registre d'adresse 2

+D

+D

Fonction sur
nombres entiers

Additionner accumulateurs 1 et 2 (entiers de 32 bits)

+I

+I

Fonction sur
nombres entiers

Additionner accumulateurs 1 et 2 (entiers de 16 bits)

+R

+R

Fonction sur
nombres virgule
flottante

Additionner accumulateurs 1 et 2 (rels VF IEEE, 32 bits)

Combinaison sur
bits

ET

A(

U(

Combinaison sur
bits

ET d'une expression

ABS

ABS

Fonction sur
nombres virgule
flottante

Valeur absolue d'un nombre virgule flottante (VF IEEE,


32 bits)

ACOS

ACOS

Fonction sur
nombres virgule
flottante

Arc cosinus d'un nombre virgule flottante (32 bits)

AD

UD

Combinaison sur
mots

ET double mot

AN

UN

Combinaison sur
bits

ET NON

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

A-7

Prsentation de toutes les oprations LIST

Abrviation Abrviation Catalogue des


anglaise
allemande
lments de
programme

Description

AN(

UN(

Combinaison sur
bits

ET NON dune expression

ASIN

ASIN

Fonction sur
nombres virgule
flottante

Arc sinus d'un nombre virgule flottante (32 bits)

ATAN

ATAN

Fonction sur
nombres virgule
flottante

Arc tangente d'un nombre virgule flottante (32 bits)

AW

UW

Combinaison sur
mots

ET mot (16 bits)

BE

BE

Gestion d'excution Fin de bloc


de programme

BEC

BEB

Gestion d'excution Fin de bloc conditionnelle


de programme

BEU

BEA

Gestion d'excution Fin de bloc inconditionnelle


de programme

BLD

BLD

Accumulateurs

Opration de composition d'image (opration nulle)

BTD

BTD

Conversions

Convertir DCB en entier de 32 bits

BTI

BTI

Conversions

Convertir DCB en entier de 16 bits

CAD

TAD

Conversions

Modifier l'ordre dans l'accumulateur 1 (32 bits)

CALL

CALL

Gestion d'excution Appel de bloc


de programme

CALL

CALL

Gestion d'excution Appel de multi-instance


de programme

CALL

CALL

Gestion d'excution Appel de bloc dans une bibliothque


de programme

CAR

TAR

Chargement/
Transfert

Permuter registre d'adresse 1 avec registre d'adresse 2

CAW

TAW

Chargement/
Transfert

Modifier l'ordre dans l'accumulateur 1 (16 bits)

CC

CC

Gestion d'excution Appel de bloc conditionnel


de programme

CD

ZR

Compteurs

Dcrmenter

CDB

TDB

Blocs de donnes

Permuter DB global et DB d'instance

CLR

CLR

Combinaison sur
bits

Mettre RLG 0

COS

COS

Fonction sur
nombres virgule
flottante

Cosinus d'angles comme nombres virgule flottante (32 bits)

CU

ZV

Compteurs

Incrmenter

Fonction sur
nombres entiers

Soustraire accumulateur 1 de accumulateur 2 (entiers de


32 bits)

DEC

DEC

Accumulateurs

Dcrmenter accumulateur 1-L-L

DTB

DTB

Conversions

Convertir entier de 32 bits en DCB

DTR

DTR

Conversions

Convertir entier de 32 bits en rel (VF IEEE 32 bits)

ENT

ENT

Chargement/
Transfert

Entrer dans pile accumulateur

A-8

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Prsentation de toutes les oprations LIST

Abrviation Abrviation Catalogue des


anglaise
allemande
lments de
programme

Description

EXP

EXP

Fonction sur
nombres virgule
flottante

Valeur exponentielle d'un nombre virgule flottante (32 bits)

FN

FN

Combinaison sur
bits

Front descendant

FP

FP

Combinaison sur
bits

Front montant

FR

FR

Compteurs

Valider compteur (valid, FR Z 0 Z 255)

FR

FR

Temporisations

Valider temporisation

Fonction sur
nombres entiers

Soustraire accumulateur 1 de accumulateur 2 (entiers de 16


bits)

INC

INC

Accumulateurs

Incrmenter accumulateur 1-L-L

INVD

INVD

Conversions

Complment 1 d'entier de 32 bits

INVI

INVI

Conversions

Complment 1 d'entier de 16 bits

ITB

ITB

Conversions

Convertir entier de 16 bits en DCB

ITD

ITD

Conversions

Convertir entier de 16 bits en entier de 32 bits

JBI

SPBI

Sauts

Saut si RB est 1

JC

SPB

Sauts

Saut si RLG est 1

JCB

SPBB

Sauts

Saut si RLG est 1 avec RB

JCN

SPBN

Sauts

Saut si RLG est 0

JL

SPL

Sauts

Saut vers liste

JM

SPM

Sauts

Saut si moins

JMZ

SPMZ

Sauts

Saut si infrieur ou gal 0

JN

SPN

Sauts

Saut si diffrent de 0

JNB

SPBNB

Sauts

Saut si RLG est 0 avec RB

JNBI

SPBIN

Sauts

Saut si RB est 0

JO

SPO

Sauts

Saut si DEB est 1

JOS

SPS

Sauts

Saut si DM est 1

JP

SPP

Sauts

Saut si plus

JPZ

SPPZ

Sauts

Saut si suprieur ou gal 0

JU

SPA

Sauts

Saut inconditionnel

JUO

SPU

Sauts

Saut si illicite

JZ

SPZ

Sauts

Saut si gal 0

Accumulateurs

Charger

L STW

L STW

Chargement/
Transfert

Charger mot d'tat dans l'accumulateur 1

Temporisations

Charger valeur de temps en cours comme nombre entier dans


l'accumulateur 1 (la valeur de temps en cours peut tre un
nombre compris dans la plage de 0 255,
par exemple : L T 32)

Compteurs

Charger valeur de comptage en cours comme entier dans


l'accumulateur 1 (la valeur de comptage en cours peut tre un
nombre compris dans la plage de 0 255,
par exemple : L Z 15)

L DBLG

L DBLG

Blocs de donnes

Charger longueur de DB global dans l'accumulateur 1

L DBNO

L DBNO

Blocs de donnes

Charger numro de DB global dans l'accumulateur 1

L DILG

L DILG

Blocs de donnes

Charger longueur de DB d'instance dans l'accumulateur 1

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

A-9

Prsentation de toutes les oprations LIST

Abrviation Abrviation Catalogue des


anglaise
allemande
lments de
programme

Description

L DINO

L DINO

Blocs de donnes

Charger numro de DB d'instance dans l'accumulateur 1

LAR1

LAR1

Chargement/
Transfert

Charger contenu de l'accumulateur 1 dans registre


d'adresse 1

LAR1

LAR1

Chargement/
Transfert

Charger pointeur de 32 bits dans registre d'adresse 1

LAR1

LAR1

Chargement/
Transfert

Charger contenu du registre d'adresse 2 dans registre


d'adresse 1

LAR2

LAR2

Chargement/
Transfert

Charger contenu de l'accumulateur 1 dans registre


d'adresse 2

LAR2

LAR2

Chargement/
Transfert

Charger pointeur de 32 bits dans registre d'adresse 2

LC

LC

Compteurs

Charger valeur de comptage en cours comme nombre DCB


dans l'accumulateur 1 (la valeur de comptage en cours peut
tre un nombre compris dans la plage de 0 255, par
exemple : LC Z 15)

LC

LC

Temporisations

Charger valeur de temps en cours comme nombre DCB dans


l'accumulateur 1 (la valeur de temps en cours peut tre un
nombre compris dans la plage de 0 255,
par exemple : LC T 32)

LEAVE

LEAVE

Accumulateurs

Quitter pile accumulateur

LN

LN

Fonction sur
nombres virgule
flottante

Logarithme naturel d'un nombre virgule flottante (32 bits)

LOOP

LOOP

Sauts

Boucle de programme

MCR(

MCR(

Gestion d'excution Sauvegarder RLG dans pile MCR, dbut de zone MCR
de programme

)MCR

)MCR

Gestion d'excution Fin de zone MCR


de programme

MCRA

MCRA

Gestion d'excution Activer la zone MCR


de programme

MCRD

MCRD

Gestion d'excution Dsactiver la zone MCR


de programme

MOD

MOD

Fonction sur
nombres entiers

Reste de division entire (32 bits)

NEGD

NEGD

Conversions

Complment 2 d'entier de 32 bits

NEGI

NEGI

Conversions

Complment 2 d'entier de 16 bits

NEGR

NEGR

Conversions

Inverser nombre virgule flottante (VF IEEE 32 bits)

NOP 0

NOP 0

Accumulateurs

Opration nulle

NOP 1

NOP 1

Accumulateurs

Opration nulle

NOT

NOT

Combinaison sur
bits

Ngation du RLG

Combinaison sur
bits

OU

O(

O(

Combinaison sur
bits

OU d'une expression

OD

OD

Combinaison sur
mots

OU double mot (32 bits)

ON

ON

Combinaison sur
bits

OU NON

A-10

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Prsentation de toutes les oprations LIST

Abrviation Abrviation Catalogue des


anglaise
allemande
lments de
programme

Description

ON(

ON(

Combinaison sur
bits

OU NON dune expression

OPN

AUF

Blocs de donnes

Ouvrir bloc de donnes

OW

OW

Combinaison sur
mots

OU mot (16 bits)

POP

POP

Accumulateurs

POP

CPU avec deux accumulateurs

POP

POP

Accumulateurs

POP

CPU avec quatre accumulateurs

PUSH

PUSH

Accumulateurs

PUSH

CPU avec deux accumulateurs

PUSH

PUSH

Accumulateurs

PUSH

CPU avec quatre accumulateurs

Combinaison sur
bits

Mettre 0

Compteurs

Remettre compteur 0 (le compteur actuel peut tre un


nombre compris dans la plage de 0 255,
par exemple : R Z 15)

Temporisations

Remettre temporisation 0 (la temporisation actuelle peut tre


un nombre compris dans la plage de 0 255,
par exemple :R T 32)

Fonction sur
nombres virgule
flottante

Soustraire accumulateur 1 de accumulateur 2


(rels VF IEEE, 32 bits)

RLD

RLD

Dcalage/Rotation

Rotation vers la gauche d'un double mot (32 bits)

RLDA

RLDA

Dcalage/Rotation

Rotation vers la gauche de l'accumulateur 1 via BI1(32 bits)

RND

RND

Conversions

Arrondir l'entier

RND

RND

Conversions

Arrondir l'entier infrieur

RND+

RND+

Conversions

Arrondir l'entier suprieur

RRD

RRD

Dcalage/Rotation

Rotation vers la droite d'un double mot (32 bits)

RRDA

RRDA

Dcalage/Rotation

Rotation vers la droite de l'accumulateur 1 via BI1 (32 bits)

Combinaison sur
bits

Mettre 1

Compteurs

Initialiser compteur (le compteur actuel peut tre un nombre


compris dans la plage de 0 255, par exemple : S Z 15)

SAVE

SAVE

Combinaison sur
bits

Sauvegarder RLG dans le bit RB

SD

SE

Temporisations

Temporisation sous forme de retard la monte

SE

SV

Temporisations

Temporisation sous forme d'impulsion prolonge

SET

SET

Combinaison sur
bits

Mettre 1

SF

SA

Temporisations

Temporisation sous forme de retard la retombe

SIN

SIN

Fonction sur
nombres virgule
flottante

Sinus d'angles comme nombres virgule flottante (32 bits)

SLD

SLD

Dcalage/Rotation

Dcalage vers la gauche d'un double mot (32 bits)

SLW

SLW

Dcalage/Rotation

Dcalage vers la gauche d'un mot (16 bits)

SP

SI

Temporisations

Temporisation sous forme d'impulsion

SQR

SQR

Fonction sur
nombres virgule
flottante

Carr d'un nombre virgule flottante (32 bits)

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

A-11

Prsentation de toutes les oprations LIST

Abrviation Abrviation Catalogue des


anglaise
allemande
lments de
programme

Description

SQRT

SQRT

Fonction sur
nombres virgule
flottante

Racine carre d'un nombre virgule flottante (32 bits)

SRD

SRD

Dcalage/Rotation

Dcalage vers la droite d'un double mot (32 bits)

SRW

SRW

Dcalage/Rotation

Dcalage vers la droite d'un mot (16 bits)

SS

SS

Temporisations

Temporisation sous forme de retard la monte mmoris

SSD

SSD

Dcalage/Rotation

Dcalage vers la droite d'un entier avec signe (32 bits)

SSI

SSI

Dcalage/Rotation

Dcalage vers la droite d'un entier avec signe (16 bits)

Chargement/
Transfert

Transfrer

T STW

T STW

Chargement/
Transfert

Transfrer accumulateur 1 dans mot d'tat

TAK

TAK

Accumulateurs

Permuter accumulateur 1 et accumulateur 2

TAN

TAN

Fonction sur
nombres virgule
flottante

Tangente d'angles comme nombres virgule flottante (32 bits)

TAR1

TAR1

Chargement/
Transfert

Transfrer registre d'adresse 1 dans l'accumulateur 1

TAR1

TAR1

Chargement/
Transfert

Transfrer registre d'adresse 1 l'adresse de destination


(32 bits)

TAR1

TAR1

Chargement/
Transfert

Transfrer registre d'adresse 1 dans registre d'adresse 2

TAR2

TAR2

Chargement/
Transfert

Transfrer registre d'adresse 2 dans l'accumulateur 1

TAR2

TAR2

Chargement/
Transfert

Transfrer registre d'adresse 2 l'adresse de destination


(32 bits)
Arrondir par troncature

TRUNC

TRUNC

Conversions

UC

UC

Gestion d'excution Appel de bloc inconditionnel


de programme

Combinaison sur
bits

OU exclusif

X(

X(

Combinaison sur
bits

OU exclusif d'une expression

XN

XN

Combinaison sur
bits

OU NON exclusif

XN(

XN(

Combinaison sur
bits

OU NON exclusif d'une expression

XOD

XOD

Combinaison sur
mots

OU exclusif double mot (32 bits)

XOW

XOW

Combinaison sur
mots

OU exclusif mot (16 bits)

A-12

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

B.1

Exemples de programmation

Vue densemble des exemples de programmation

Applications pratiques
Chacune des oprations LIST 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
LIST :

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

UW
OW
ZV, ZR
S, R
NOT
FP
+I
/I
*I
>=I, <=I
U, UN
O, ON
=
INC
BE, BEB
L, T
SV

Combinaison sur mots


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

ET mot
OU mot
Dcrmenter, Incrmenter
Mettre 1, Mettre 0
Ngation du RLG
Front montant
Additionner entiers de 16 bits
Diviser entiers de 16 bits
Multiplier entiers de 16 bits
Comparer entiers de 16 bits
ET, ET NON
OU, OU NON
Affectation
Incrmenter accumulateur 1
Fin de bloc, Fin de bloc conditionnelle
Charger, Transfrer
Temporisation sous forme dimpulsion prolonge

Langage LIST pour SIMATIC S7-300/400


A5E00261419-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
diverses 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

Programme absolue

Programme symbolique

E 1.1

E 1.3

S3

A 4.0

MOTOR_MAR

E 1.2

S2

E 1.4

S4

S1

ON E 1.5

ON S5

A 4.0

MOTOR_MAR

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Exemples de programmation

Programme LIST pour commander un tapis roulant


LIST
O
O
S
O

E
E
A
E

O
ON
R

E 1.4
E 1.5
A 4.0

1.1
1.3
4.0
1.2

Explication
//Appuyer sur lun des deux boutons Marche fait dmarrer le moteur.

//Appuyer sur lun des deux boutons Arrt ou ouvrir le contact ouverture
la fin du tapis arrte le moteur.

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

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

BPE1

A 4.1

B-3

Exemples de programmation

Programmation absolue et symbolique


Vous pouvez crire le programme de commande du tapis roulant en reprsentant les
diverses 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).
Composant du systme

Adresse absolue

Mnmonique Table de mnmoniques

Barrire photolectrique 1
Barrire photolectrique 2
Affichage pour mouvement vers la
droite
Affichage pour mouvement vers la
gauche
Mmento de cadence 1
Mmento de cadence 2

E 1.1
E 0.0
A 4.0

BPE1
BPE2
DROITE

E 0.0B PE1
E 0.1 BPE2
A 4.0 DROITE

A 4.1

GAUCHE

A 4.1

M 0.0
M 0.1

MP1
MP2

M 0.0 MP1
M 0.1 MP2

Programme absolue

Programme symbolique

U
FP
UN
S
U
FP
UN
S
UN
UN
R
R

U
FP
UN
S
U
FP
UN
S
UN
UN
R
R

E 0.0
M 0.0
E 0.1
A 4.1
E 0.1
M 0.1
E 0.0
A 4.0
E 0.0
E 0.1
A 4.0
A 4.1

GAUCHE

BPE 1
MP1
BPE 2
GAUCHE
BPE 2
MP2
BPE 1
DROITE
BPE 1
BPE 2
DROITE
GAUCHE

Programme LIST pour dtecter le sens de dplacement dun tapis roulant


LIST
U

E 0.0

FP
UN
S
U

M
E
A
E

0.0
0.1
4.1
0.1

FP
UN
S
UN

M
E
A
E

0.1
0.0
4.0
0.0

UN
R
R

E 0.1
A 4.0
A 4.1

B-4

Explication
//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.

//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.

//Si aucune des barrires photolectriques nest interrompue, aucun paquet


ne se trouve entre les barrires. Lindicateur de sens se dsactive.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

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 LIST suivant illustre lutilisation de
fonctions de temporisation pour gnrer une priode dhorloge.

Programme LIST pour gnrer une priode dhorloge (rapport dimpulsion 1:1)
LIST
U
L
SV
NOT
BEB
L
INC
T

T1
S5T#250ms
T1

MB100
1
MB100

Explication
//Lorsque la temporisation T1 sest coule,
//charger la valeur de temps 250 ms dans T1 et
//dmarrer T1 sous forme dimpulsion prolonge.
//Inverser le rsultat logique.
//Mettre fin au bloc en cours si la temporisation sexcute.
//Aprs lexcution de la temporisation, charger le contenu de loctet de
mmento MB100,
//incrmenter le contenu de 1 et
//transfrer le rsultat dans loctet de mmento MB100.

Linterrogation de ltat de signal


Linterrogation de ltat de signal de la temporisation T1 fournit le rsultat logique RLG :

1
0
250 ms

La temporisation est redmarre une fois le temps coul. De ce fait, linterrogation de ltat
de signal par linstruction UN T1 ne dlivre ltat de signal 1 que brivement.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

B-5

Exemples de programmation

La figure montre comment se prsente le bit RLG invers.

1
0
250 ms

Le bit RLG est gal 0 toutes les 250 ms. Lopration BEB ne met alors pas fin au
traitement du bloc, mais incrmente le contenu de loctet de mmento MB100 de 1.
Le contenu de loctet de mmento MB100 change toutes les 250 ms de la manire suivante :
0 -> 1 -> 2 -> 3 -> ... -> 254 -> 255 -> 0 -> 1 ...

Obtenir une frquence prcise


Vous pouvez obtenir les frquences suivantes avec les bits de loctet de mmento MB100 :
Bits de MB100

Frquence en hertz

Dure

M 100.0

2.0

0.5 s
arrt)

(250 ms marche / 250 ms

M 100.1

1.0

1s

(0.5 s marche / 0.5 s arrt)

M 100.2

0.5

2s

(1 s marche / 1 s arrt)

M 100.3

0.25

4s

(2 s marche / 2 s arrt)

M 100.4

0.125

8s

(4 s marche / 4 s arrt)

M 100.5

0.0625

16 s

(8 s marche / 8 s arrt)

M 100.6

0.03125

32 s

(16 s marche / 16 s arrt)

M 100.7

0.015625

64 s

(32 s marche / 32 s arrt)

Programme LIST
LIST
U

M10.0

U
=

M100.1
A 4.0

B-6

Explication
//M 10.0 = 1 en cas derreur. La lampe derreur clignote la frquence de
1 Hz en cas derreur.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Exemples de programmation

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)

250

250

250

250

250

250

250

250

250

250

10

250

11

250

12

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

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

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

B-7

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

B-8

Espace de
stockage
plein 90%

Espace de
stockage
plein

(A15.3)

E 12.1

(A15.4)

Paquets sortants

Tapis roulant 2
Barrire photolectrique 2

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Exemples de programmation

Programme LIST pour activer les lampes de signalisation sur un tableau daffichage
U
ZV

E 0.0
Z1

U
ZR

E 0.1
Z1

UN
=

Z1
A 4.0

U
=

Z1
A 4.1

L
L
<=I
=

50
Z1

L
>=I
=

L
L
>=I
=

A 4.2

//Chaque impulsion gnre par la barrire photolectrique 1


//augmente dun la valeur du compteur Z1, comptant ainsi le nombre de
paquets transports dans lespace de stockage.
//
//Chaque impulsion gnre par la barrire photolectrique 2
//diminue dun la valeur du compteur Z1, comptant ainsi le nombre de
paquets quittant lespace de stockage.
//
//Si la valeur du compteur est 0,
//la lampe de signalisation Espace de stockage vide sallume.
//
//Si elle est diffrente de 0,
//la lampe de signalisation Espace de stockage non vide sallume.
//

//Si 50 est infrieur ou gal la valeur du compteur,


//la lampe de signalisation Espace de stockage plein 50 %
sallume.
//

90
A 4.3

//Si la valeur du compteur est suprieure ou gale 90,


//la lampe de signalisation Espace de stockage plein 90 %
sallume.
//

Z1
100
A 4.4

//Si la valeur du compteur est suprieure ou gale 100,


//la lampe de signalisation Espace de stockage plein sallume (vous
pouvez galement bloquer le tapis roulant 1 via la sortie A 4.4).

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

B-9

Exemples de programmation

B.5

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 :
MD4 = ((EW0 + DBW3) x 15) / MW2

Programme LIST
LIST
L

EW0

DB5.DBW3

+I

E 0.1

+15

*I

MW2

/I

B-10

MD4

Explication
//Charger dans laccumulateur 1 la valeur figurant dans le mot dentre
EW0.
//Charger dans laccumulateur 1 la valeur du mot de donnes global DBW3 du
DB5. Lancien contenu de laccumulateur 1 est dplac dans laccumulateur
2.
//Additionner le contenu des mots de poids faible des accumulateurs 1 et 2
et ranger le rsultat dans le mot de poids faible de laccumulateur 1. Le
contenu de laccumulateur 2 et le mot de poids fort de laccumulateur 1
restent inchangs.
//Charger dans laccumulateur 1 la valeur constante +15. Lancien contenu
de laccumulateur 1 est dplac dans laccumulateur 2.
//Multiplier le contenu du mot de poids faible de laccumulateur 2 par le
contenu du mot de poids faible de laccumulateur 1 et ranger le rsultat
dans laccumulateur 1. Le contenu de laccumulateur 2 reste inchang.
//Charger dans laccumulateur 1 la valeur figurant dans le mot de mmento
MW2. Lancien contenu de laccumulateur 1 est dplac dans
laccumulateur 2.
//Diviser le contenu du mot de poids faible de laccumulateur 2 par le
contenu du mot de poids faible de laccumulateur 1 et ranger le rsultat
dans laccumulateur 1. Le contenu de laccumulateur 2 reste inchang.
//Transfrer le rsultat final dans le double mot de mmento MD4. Le
contenu des deux accumulateurs reste inchang.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

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

0001

7...
1001

EB0

...0
0001
EB1

Bits
EW0
Octets

Bouton-poussoir Marche E 0.7

Composant 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

Programme LIST
LIST
U
=
BEB

T1
A 4.0

L
UW

EW0
W#16#0FFF

OW

W#16#2000

U
SV

E 0.7
T1

Explication
//Si la temporisation s'excute,
//dclencher le chauffage.
//Si la temporisation s'excute, arrter le traitement ici. Ainsi, la
temporisation T1 nest pas redmarre si le bouton-poussoir Marche est
enfonc.
//Masquer les bits dentre E 0.4 E 0.7 (c'est--dire les remettre 0).
La valeur de temps en secondes se trouve dans le mot de poids faible de
laccumulateur 1 en format DCB.
//Affecter la base de temps en secondes dans les bits 12 et 13 du mot de
poids faible de l'accumulateur 1.
//Dmarrer la temporisation T1 sous forme dimpulsion prolonge lorsque le
bouton-poussoir est enfonc.

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

B-11

Exemples de programmation

B-12

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

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.

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 :

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 LIST pour SIMATIC S7-300/400


A5E00261419-01

C-1

Transmission de paramtres

C-2

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Index
)
)

...................................................................... 1-14

*
*D ...................................................................... 7-11
*I ........................................................................ 7-5
*R ........................................................................ 8-5

/
/D ...................................................................... 7-12
/I ........................................................................ 7-6
/R ........................................................................ 8-6

+
+ ........................................................................ 7-8
+D........................................................................ 7-9
+I ........................................................................ 7-3
+R........................................................................ 8-3

=
= ...................................................................... 1-15
==D...................................................................... 2-3
==I ....................................................................... 2-2
==R...................................................................... 2-4

A
Abrviations allemandes (SIMATIC)....................A-1
Abrviations anglaises (internationales) ..............A-7
ABS ..................................................................... 8-7
ACOS ................................................................ 8-16
Activer la zone MCR........................................ 10-22
Additionner accumulateurs 1 et 2
(entiers de 16 bits)........................................... 7-3
Additionner accumulateurs 1 et 2
(entiers de 32 bits)........................................... 7-9
Additionner accumulateurs 1 et 2
(rels VF IEEE 32 bits) .................................... 8-3
Additionner constante entire (16 et 32 bits) ....... 7-7
Adresse dune temporisation en mmoire et
composants dune temporisation................... 12-2
Affectation ......................................................... 1-15
Appel de bloc..................................................... 10-6
Appel de bloc conditionnel............................... 10-14
Appel de bloc inconditionnel............................ 10-15
Appeler FB ........................................................ 10-7
Appeler FC ........................................................ 10-9
Appeler multi-instance ..................................... 10-13
Appeler SFB .................................................... 10-10

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Appeler SFC.................................................... 10-12


Appeler un bloc dans une bibliothque ........... 10-13
Applications pratiques ................. B-1, B-2, B-5, B-8,
............................................................ B-10, B-11
Arc cosinus d'un nombre virgule flottante
(32 bits) ......................................................... 8-16
Arc sinus d'un nombre virgule flottante
(32 bits) ......................................................... 8-15
Arc tangente d'un nombre virgule flottante
(32 bits) ......................................................... 8-17
Arrondir l'entier ............................................... 3-15
Arrondir l'entier infrieur ................................. 3-18
Arrondir l'entier suprieur ............................... 3-17
Arrondir par troncature ...................................... 3-16
ASIN .................................................................. 8-15
ATAN................................................................. 8-17
AUF ..................................................................... 5-2

B
BE...................................................................... 10-2
BEA ................................................................... 10-4
BEB ................................................................... 10-3
Boucle de programme ....................................... 6-20
BTD ..................................................................... 3-4
BTI....................................................................... 3-2

C
CALL ........................................................ 10-5, 10-6
Carr d'un nombre virgule flottante (32 bits) .... 8-8
CC ................................................................... 10-14
Charger ............................................................... 9-2
Charger contenu de l'accumulateur 1
dans registre d'adresse 1 ................................ 9-4
Charger contenu de l'accumulateur 1
dans registre d'adresse 2 ................................ 9-6
Charger contenu du registre d'adresse 2
dans registre d'adresse 1 ................................ 9-6
Charger longueur de DB d'instance dans
l'accumulateur 1 .............................................. 5-4
Charger longueur de DB global
dans l'accumulateur 1...................................... 5-3
Charger mot d'tat dans l'accumulateur 1 ........... 9-3
Charger numro de DB d'instance dans
l'accumulateur 1 .............................................. 5-5
Charger numro de DB global
dans l'accumulateur 1...................................... 5-4
Charger pointeur de 32 bits
dans registre d'adresse 1 ................................ 9-5
Charger pointeur de 32 bits
dans registre d'adresse 2 ................................ 9-7
Charger valeur de comptage en cours
comme entier dans l'accumulateur 1 ............... 4-3
Charger valeur de comptage en cours
comme nombre DCB dans l'accumulateur 1 ... 4-4

Index-1

Index

Charger valeur de temps en cours


comme nombre DCB dans laccumulateur 1 . 12-8
Charger valeur de temps en cours comme
nombre entier dans laccumulateur 1............. 12-7
CLR ................................................................... 1-19
Comparer entiers de 16 bits ................................ 2-2
Comparer entiers de 32 bits ................................ 2-3
Comparer rels de 32 bits ................................... 2-4
Complment 1 d'entier de 16 bits ..................... 3-8
Complment 1 d'entier de 32 bits ..................... 3-9
Complment 2 d'entier de 16 bits ................... 3-10
Complment 2 d'entier de 32 bits ................... 3-11
Convertir DCB en entier de 16 bits ...................... 3-2
Convertir DCB en entier de 32 bits ...................... 3-4
Convertir entier de 16 bits en DCB ...................... 3-3
Convertir entier de 16 bits en entier de 32 bits .... 3-5
Convertir entier de 32 bits en DCB ...................... 3-6
Convertir entier de 32 bits en rel
(VF IEEE 32 bits)............................................. 3-7
COS................................................................... 8-13
Cosinus d'un angle comme nombres
virgule flottante (32 bits) ............................. 8-13

D
-D ...................................................................... 7-10
Dcalage vers la droite d'un double mot
(32 bits) ......................................................... 11-8
Dcalage vers la droite d'un entier
avec signe (16 bits) ....................................... 11-2
Dcalage vers la droite d'un entier
avec signe (32 bits) ....................................... 11-3
Dcalage vers la droite d'un mot (16 bits) ......... 11-6
Dcalage vers la gauche d'un double mot
(32 bits) ......................................................... 11-7
Dcalage vers la gauche d'un mot (16 bits)....... 11-5
Dcrmenter........................................................ 4-8
Dsactiver la zone MCR .................................. 10-23
Diviser accumulateur 2 par accumulateur 1
(entiers de 16 bits)........................................... 7-6
Diviser accumulateur 2 par accumulateur 1
(entiers de 32 bits)......................................... 7-12
Diviser accumulateur 2 par accumulateur 1
(rels VF IEEE 32 bits) .................................... 8-6
DTB ..................................................................... 3-6
DTR ..................................................................... 3-7

E
ET........................................................................ 1-3
ET avant OU........................................................ 1-9
ET double mot (32 bits) ..................................... 13-6
ET d'une expression .......................................... 1-10
ET mot (16 bits) ................................................. 13-2
ET NON ............................................................... 1-4
ET NON d'une expression ................................. 1-11
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-10
Oprations combinatoires sur mots ...............B-11
Oprations de comptage et de comparaison ...B-8

Index-2

Exemples
Oprations combinatoires sur bits ...................B-2
Exemples de programmation...............................B-1
EXP ................................................................... 8-10

F
FB
appel..................................................... 10-7, 10-8
FC
appel.............................................................. 10-9
Fermer la parenthse d'une expression ............ 1-14
Fin de bloc......................................................... 10-2
Fin de bloc conditionnelle .................................. 10-3
Fin de bloc inconditionnelle ............................... 10-4
Fin de zone MCR............................................. 10-21
FN...................................................................... 1-21
FP...................................................................... 1-23
FR............................................................... 4-2, 12-5
Front descendant ..................................... 1-21, 1-22
Front monant ..................................................... 1-23

I
-I ........................................................................ 7-4
Incrmenter ......................................................... 4-7
Initialiser compteur .............................................. 4-6
INVD.................................................................... 3-9
Inverser nombre virgule flottante
(VF IEEE 32 bits)........................................... 3-12
INVI ..................................................................... 3-8
ITB....................................................................... 3-3
ITD....................................................................... 3-5

L
L ........................................................ 4-3, 9-2, 12-7
L DBLG................................................................ 5-3
L DBNO ............................................................... 5-4
L DILG ................................................................. 5-4
L DINO ................................................................ 5-5
L STW ................................................................. 9-3
LAR1 ................................................................... 9-4
LAR1 <d> ............................................................ 9-5
LAR1 AR2 ........................................................... 9-6
LAR2 ................................................................... 9-6
LAR2 <d> ............................................................ 9-7
LC............................................................... 4-4, 12-8
LN...................................................................... 8-11
Logarithme naturel d'un nombre
virgule flottante (32 bits) ............................. 8-11
LOOP ................................................................ 6-20

M
MCR ................................................................ 10-21
MCR( .................................................... 10-19, 10-20
MCR) ............................................................... 10-21
MCRA.............................................................. 10-22
MCRD.............................................................. 10-23
Mettre 0 .......................................................... 1-16
Mettre 1 .......................................................... 1-17
Mettre RLG 0.................................................. 1-19
Mettre RLG 1.................................................. 1-18

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Index

MOD ......................................................... 7-13, 7-14


Modifier lordre dans laccumulateur 1
(32 bits) ......................................................... 3-14
Modifier lordre dans laccumulateur 1-L
(16 bits) ......................................................... 3-13
Multiplier accumulateur 1 par accumulateur 2
(entiers de 16 bits)........................................... 7-5
Multiplier accumulateur 1 par accumulateur 2
(entiers de 32 bits)......................................... 7-11
Multiplier accumulateur 1 par accumulateur 2
(rels VF IEEE 32 bits) .................................... 8-5

N
Ngation du RLG............................................... 1-18
NEGD ................................................................ 3-11
NEGI.................................................................. 3-10
NEGR ................................................................ 3-12
NOT................................................................... 1-18

O
O ................................................................. 1-5, 1-9
O( ...................................................................... 1-12
OD ............................................................ 13-7, 13-8
ON ....................................................................... 1-6
ON(.................................................................... 1-12
Oprations arithmtiques sur nombres
flottantes .......................................................... 8-1
Oprations LIST classes d'aprs les
abrviations allemandes (SIMATIC) ................A-1
Oprations LIST classes d'aprs les
abrviations anglaises (internationales) ..........A-7
OPN = AUF ......................................................... 5-2
OU ....................................................................... 1-5
OU double mot (32 bits) .................................... 13-7
OU d'une expression ......................................... 1-12
OU exclusif .......................................................... 1-7
OU exclusif double mot (32 bits)........................ 13-8
OU exclusif d'une expression ............................ 1-13
OU exclusif mot (16 bits) ................................... 13-4
OU mot (16 bits) ................................................ 13-3
OU NON .............................................................. 1-6
OU NON d'une expression ................................ 1-12
OU NON exclusif ................................................. 1-8
OU NON exclusif d'une expression ................... 1-13
Ouvrir bloc de donnes ....................................... 5-2
OW ........................................................... 13-3, 13-4

P
Permuter DB global et DB d'instance .................. 5-3
Permuter registre d'adresse 1 avec registre
d'adresse 2 .................................................... 9-10

R
R ......................................................1-16, 4-5, 12-9
-R ........................................................................ 8-4
Racine carre d'un nombre virgule flottante
(32 bits) ........................................................... 8-9
Relais de masquage
(Master Control Relay - MCR) ..................... 10-16

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Remarques importantes sur l'utilisation de la


fonctionnalit MCR ...................................... 10-18
Remettre compteur zro................................... 4-5
Remettre temporisation 0 ............................... 12-9
Reste de division entire (32 bits) ..................... 7-13
RLD ...................................................... 11-10, 11-11
RLDA............................................................... 11-13
RND................................................................... 3-15
RND- ................................................................. 3-18
RND+ ................................................................ 3-17
Rotation vers la droite de l'accumulateur 1
via BI1 (32 bits) ........................................... 11-14
Rotation vers la gauche de l'accumulateur 1
via BI1 (32 bits) ........................................... 11-13
Rotation vers la gauche d'un double mot
(32 bits) ....................................................... 11-10
Rotiation vers la droite d'un double mot
(32 bits) ....................................................... 11-12
RRD...................................................... 11-12, 11-13
RRDA .............................................................. 11-14

S
S ............................................................... 1-17, 4-6
SA......................................................... 12-15, 12-16
Saut inconditionnel .............................................. 6-3
Saut si <= 0 ....................................................... 6-18
Saut si = 0 ......................................................... 6-13
Saut si >= 0 ....................................................... 6-17
Saut si DEB = 1 ................................................. 6-11
Saut si diffrent de 0 ......................................... 6-14
Saut si DM = 1................................................... 6-12
Saut si illicite...................................................... 6-19
Saut si moins..................................................... 6-16
Saut si plus........................................................ 6-15
Saut si RB = 0 ................................................... 6-10
Saut si RB = 1 ..................................................... 6-9
Saut si RLG = 0 ................................................... 6-6
Saut si RLG = 0 avec RB .................................... 6-8
Saut si RLG = 1 ................................................... 6-5
Saut si RLG = 1 avec RB .................................... 6-7
Saut vers liste...................................................... 6-4
Sauvegarder RLG dans le bit RB ...................... 1-20
Sauvegarder RLG dans pile MCR
dbut de zone MCR..................................... 10-19
SAVE................................................................. 1-20
SE.................................................................... 12-13
SET ................................................................... 1-18
SFB
appel................................................. 10-10, 10-11
SFC
appel............................................................ 10-12
SI .................................................................... 12-10
SIN .................................................................... 8-12
Sinus d'un angle comme nombres
virgule flottante (32 bits) ............................. 8-12
SLD .......................................................... 11-7, 11-8
SLW ......................................................... 11-5, 11-6
Soustraire accumulateur 1 d'accumulateur 2
(rels VF IEEE 32 bits) .................................... 8-4
Soustraire accumulateur 1 de accumulateur 2
(entiers de 16 bits)........................................... 7-4
Soustraire accumulateur 1 de accumulateur 2
(entiers de 32 bits)......................................... 7-10
SPA ..................................................................... 6-3

Index-3

Index

SPB ..................................................................... 6-5


SPBB................................................................... 6-7
SPBI .................................................................... 6-9
SPBIN................................................................ 6-10
SPBN................................................................... 6-6
SPBNB ................................................................ 6-8
SPL...................................................................... 6-4
SPM................................................................... 6-16
SPMZ ................................................................ 6-18
SPN ................................................................... 6-14
SPO................................................................... 6-11
SPP ................................................................... 6-15
SPPZ ................................................................. 6-17
SPS ................................................................... 6-12
SPU ................................................................... 6-19
SPZ ................................................................... 6-13
SQR..................................................................... 8-8
SQRT................................................................... 8-9
SRD.......................................................... 11-8, 11-9
SRW ......................................................... 11-6, 11-7
SS......................................................... 12-14, 12-15
SSD .......................................................... 11-3, 11-4
SSI............................................................ 11-2, 11-3
SV......................................................... 12-11, 12-12

T
T ........................................................................ 9-8
T STW ................................................................. 9-9
TAD ................................................................... 3-14
TAN ................................................................... 8-14
Tangente dun angle comme nombres
virgule flottante (32 bits) ............................. 8-14
TAR ................................................................... 9-10
TAR1 ................................................................. 9-10
TAR1 <D>................................................. 9-10, 9-11
TAR1 AR2 ......................................................... 9-12
TAR2 ................................................................. 9-12
TAR2 <d> .......................................................... 9-13
TAW .................................................................. 3-13
TDB ..................................................................... 5-3
Temporisation sous forme de retard
la monte.................................................. 12-13
Temporisation sous forme de retard
la monte mmorise ............................... 12-14
Temporisation sous forme de retard
la retombe............................................... 12-15
Temporisation sous forme d'impulsion ............ 12-10
Temporisation sous forme d'impulsion
prolonge .................................................... 12-11
Transfrer............................................................ 9-8
Transfrer accumulateur 1 dans mot d'tat ......... 9-9
Transfrer registre d'adresse 1 l'adresse
de destination (32 bits) .................................. 9-10
Transfrer registre d'adresse 1
dans l'accumulateur 1.................................... 9-10
Transfrer registre d'adresse 1 dans registre
d'adresse 2 .................................................... 9-12
Transfrer registre d'adresse 2 l'adresse
de destination (32 bits) .................................. 9-13

Index-4

Transfrer registre d'adresse 2


dans l'accumulateur 1.................................... 9-12
Transmission de paramtres ...............................C-1
TRUNC.............................................................. 3-16

U
U ........................................................................ 1-3
U( ...................................................................... 1-10
UC ................................................................... 10-15
UD ..................................................................... 13-6
UN ....................................................................... 1-4
UN( .................................................................... 1-11
UW ........................................................... 13-2, 13-3

V
Valeur absolue d'un nombre virgule flottante
(VF IEEE 32 bits)............................................. 8-7
Valeur exponentielle d'un nombre
virgule flottante (32 bits) ............................. 8-10
Valider compteur ................................................. 4-2
Valider temporisation......................................... 12-5
Vue d'ensemble............................................8-1, B-1
Vue d'ensemble des oprations arithmtiques
sur nombre entiers........................................... 7-1
Vue d'ensemble des oprations combinatoires
sur bits............................................................. 1-1
Vue d'ensemble des oprations combinatoires
sur mots......................................................... 13-1
Vue d'ensemble des oprations
de chargement et de transfert ......................... 9-1
Vue d'ensemble des oprations de comparaison 2-1
Vue d'ensemble des oprations de comptage..... 4-1
Vue d'ensemble des oprations de conversion ... 3-1
Vue d'ensemble des oprations de dcalage.... 11-1
Vue d'ensemble des oprations de gestion
d'excution de programme ............................ 10-1
Vue d'ensemble des oprations de rotation .... 11-10
Vue d'ensemble des oprations de saut.............. 6-1
Vue d'ensemble des oprations
de temporisation............................................ 12-1
Vue d'ensemble des oprations sur blocs
de donnes...................................................... 5-1

X
X ........................................................................ 1-7
X( ...................................................................... 1-13
XN ....................................................................... 1-8
XN( .................................................................... 1-13
XOD.......................................................... 13-8, 13-9
XOW......................................................... 13-4, 13-5

Z
ZR........................................................................ 4-8
ZV........................................................................ 4-7

Langage LIST pour SIMATIC S7-300/400


A5E00261419-01

Anda mungkin juga menyukai