Vous êtes sur la page 1sur 212

Avant-propos, Sommaire Oprations combinatoires sur bits

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

SIMATIC Langage CONT pour SIMATIC S7-300/400


Manuel de rfrence
Ce manuel est livr avec la documentation rfrence : 6ES7810-4CA05-8CR0

Oprations de comparaison Oprations de conversion Oprations de comptage Oprations sur blocs de donnes Oprations de saut Fonctions sur nombres entiers Fonctions sur nombres virgule flottante Oprations de transfert Oprations de gestion d'excution de programme Oprations de dcalage et de rotation Oprations sur bits d'tat Oprations de temporisation Oprations combinatoires sur mots

Annexes Prsentation de toutes les oprations CONT Exemples de programmation Index Edition 08/2000 A5E00068866-02

A B

Informations relatives la 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
signifie que la non-application des mesures de scurit appropries conduit la mort, des lsions corporelles graves ou un dommage matriel important.

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

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

Nota
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 la console ne doivent tre effectues que conformment au manuel. Seules des personnes qualifies sont autorises effectuer des interventions sur la console. Il s'agit de personnes qui ont l'autorisation de mettre en service, de mettre la terre et de reprer des appareils, systmes et circuits lectriques conformment aux rgles de scurit en vigueur.

Utilisation conforme aux dispositions


Tenez compte des points suivants :

Attention
Le produit 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 la console sont les conditions indispensables pour garantir un fonctionnement correct et sr du produit.

Marque de fabrique
SIMATIC, SIMATIC NET et SIMATIC HMI sont des marques dposes par SIEMENS AG. Les autres dsignations figurant 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 2000 Tous droits rservs
Toute communication ou reproduction de ce support dinformation, toute exploitation ou communication de son contenu sont interdites, sauf autorisation expresse. Tout manquement cette rgle est illicite et expose son auteur au versement de dommages et intrts. Tous nos droits sont rservs, notamment pour le cas de la dlivrance d'un brevet ou celui de l'enregistrement d'un modle d'utilit.

Exclusion de responsabilit
Nous avons vrifi la conformit du contenu du prsent manuel avec le matriel et le logiciel qui y sont dcrits. Des divergences n'tant pourtant pas exclues, nous ne pouvons pas nous porter garants de la conformit intgrale. Les informations donnes dans ce manuel font l'objet d'un contrle rgulier et les corrections ncessaires figureront dans les prochaines ditions. Veuillez nous faire part de vos suggestions.

Siemens AG Bereich Automatisierungs- und Antriebstechnik Geschaeftsgebiet Industrie-Automatisierungssysteme Postfach 4848, D-90327 Nuernberg

Siemens AG 2000 Sous rserve de modifications techniques

Siemens Aktiengesellschaft

A5E00068866

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

Connaissances fondamentales requises


Ce manuel s'adresse aux programmeurs souhaitant laborer des programmes S7 ainsi qu'au personnel charg de la mise en service et de la maintenance. La comprhension du manuel requiert des connaissances gnrales dans le domaine de la technique d'automatisation. Il est galement suppos que vous matrisiez lutilisation dordinateurs personnels ou de postes de travail similaires (p. ex. consoles de programmation) sous lenvironnement Windows 95/98/2000 ou Windows NT.

Domaine de validit du manuel


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

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

iii

Avant-propos

Connaissances requises
Vous trouverez dans l'aide en ligne de STEP 7 les connaissances thoriques sur les programmes S7 ncessaires la comprhension de ce manuel sur CONT. Les langages de programmation se basant sur le logiciel de base STEP 7, nous supposerons que vous savez utiliser ce logiciel et sa documentation. Ce manuel fait partie de la documentation STEP 7 Connaissances fondamentales. Le tableau suivant prsente la documentation de STEP 7:
Manuel
STEP 7 Connaissances fondamentales avec STEP 7 V5.1 Getting Started Programmer avec STEP 7 V5.1 Configuration matrielle et communication dans STEP 7 V5.1 STEP 7 Pour une transition facile de S5 S7 Langages CONT/LOG/LIST pour SIMATIC S7-300/400 Logiciel systme pour SIMATIC S7-300/400 Fonctions standard et fonctions systme 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-4CA05-8CR0

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

Numro de rfrence
6ES7810-4CA05-8CA0

STEP 7 Manuels de rfrence sur les

Aides en ligne
Aide de STEP 7

Objet
Connaissances fondamentales pour la programmation ainsi que pour la configuration du matriel avec STEP 7, sous forme daide en ligne. Aides en ligne contextuelles de rfrence

Numro de rfrence
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

Fait partie du logiciel STEP 7

iv

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Avant-propos

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

Ce manuel est extrait de l' "Aide pour CONT". En raison de la structure similaire entre le manuel et laide en ligne, le passage de lun lautre est ais.

Remarques relatives la documentation


Afin dtre en mesure doffrir nos utilisateurs une documentation optimale, nous vous serions reconnaissants de bien vouloir nous apporter votre aide. Vous pouvez complter le questionnaire fourni la fin du manuel et lenvoyer ladresse qui y figure pour effectuer toute remarque ou suggestion concernant le prsent manuel ou lAide en ligne. Nhsitez pas mettre votre valuation personnelle.

Centre de formation SIMATIC


Pour faciliter vos dbuts en SIMATIC S7, nous vous proposons des stages de formation. Veuillez vous adresser votre centre de formation rgional.

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Avant-propos

Hotline SIMATIC Support technique


Accessible dans le monde entier toute heure :

Nuremberg Johnson City

Singapur

SIMATIC Hotline

Worldwide (Nuremberg) Technical Support (FreeContact)


Heure locale : lu-ve de 7:00 17:00 Tl. : Fax : E-Mail: GMT: +49 (180) 5050 222 +49 (180) 5050 223 techsupport@ ad.siemens.de +1:00

Worldwide (Nuremberg) Technical Support (contre rtribution, seulement avec la carte SIMATIC)
Heure locale : Tl. : Fax : GMT: lu-ve de 0:00 24:00 +49 (911) 895-7777 +49 (911) 895-7001 +01:00

Europe / Africa (Nuremberg) Authorization


Heure locale : lu-ve de 7:00 17:00 Tl. : Fax : E-Mail: GMT: +49 (911) 895-7200 +49 (911) 895-7201 authorization@ nbgm.siemens.de +1:00

America (Johnson City) Technical Support and Authorization


Heure locale : Tl. : Fax : E-Mail: GMT: lu-ve de 8:00 19:00 +1 423 461-2522 +1 423 461-2289 simatic.hotline@ sea.siemens.com -5:00

Asia / Australia (Singapour) Technical Support and Authorization


Heure locale : lu-ve de 8:30 17:30 Tl. : Fax : E-Mail: GMT: +65 740-7000 +65 740-7001 simatic.hotline@ sae.siemens.com.sg +8:00

En rgle gnrale, les langues disponibles la SIMATIC Hotline sont l'allemand et l'anglais. Cependant, les langues franaise, espagnole et italienne sont pratiques dans le service de la Hotline d'autorisation.

vi

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Avant-propos

Services en ligne offerts par SIMATIC


Le support technique de SIMATIC vous propose grce ces services en ligne de nombreuses informations complmentaires sur les produits SIMATIC. Vous trouverez les informations gnrales les plus rcentes :
-

sur Internet sous http://www.ad.siemens.de/simatic

Informations et fichiers charger pouvant faciliter l'utilisation des produits SIMATIC :


-

sur Internet sous http://www.ad.siemens.de/simatic-cs dans la bote aux lettres du support technique de SIMATIC (Bulletin Board System =BBS) Nuremberg sous le numro +49 (911) 895-7100.

Pour tablir la communication avec la bote aux lettres, utilisez un modem allant jusqu' V.34 (28,8kbauds) et paramtr de la manire suivante : 8, N, 1, ANSI. Vous pouvez aussi utiliser une connexion RNIS (x.75, 64 kbits). Vous trouverez votre interlocuteur Automation & Drives dans votre pays et votre rgion en consultant notre base de donnes Interlocuteurs :
-

sur Internet sous http://www3.ad.siemens.de/partner/search.asp?lang=en

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

vii

Avant-propos

viii

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Sommaire

Oprations combinatoires sur bits 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-1

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

Oprations de comparaison 2.1 2.2 2.3 2.4

Vue d'ensemble des oprations de comparaison..................................................... 2-1 CMP ? I Comparer entiers de 16 bits.................................................................. 2-2 CMP ? D Comparer entiers de 32 bits.................................................................. 2-3 CMP ? R Comparer rels.................................................................................... 2-4 3-1

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

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

ix

Sommaire

Oprations de comptage 4.1 4.2 4.3 4.4 4.5 4.6 4.7

4-1

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

Oprations sur blocs de donnes 5.1 ---(OPN)

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

Oprations de saut 6.1 6.2 6.3 6.4 6.5

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

Fonctions sur nombres entiers 7.1 7.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11

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

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

Oprations de transfert 9.1 MOVE

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Sommaire

10

Oprations de gestion d'excution de programme 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-1

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

11

Oprations de dcalage et de rotation 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

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

12

Oprations sur bits d'tat 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 12.10 12.11

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

13

Oprations de temporisation 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 13.10 13.11

Vue densemble des oprations de temporisation ................................................. 13-1 Adresse dune temporisation en mmoire et composants dune temporisation...... 13-1 S_IMPULS Paramtrer et dmarrer temporisation sous forme d'impulsion ........ 13-5 S_VIMP Paramtrer et dmarrer temporisation sous forme d'impulsion prolonge ........................................................................................... 13-7 S_EVERZ Paramtrer et dmarrer temporisation sous forme de retard la monte............................................................................................ 13-9 S_SEVERZ Paramtrer et dmarrer temporisation sous forme de retard la monte mmoris.......................................................................... 13-11 S_AVERZ Paramtrer et dmarrer temporisation sous forme de retard la retombe ..................................................................................................... 13-13 ---( SI ) Dmarrer temporisation sous forme d'impulsion ................................... 13-15 ---( SV ) Dmarrer temporisation sous forme d'impulsion prolonge ................. 13-16 ---( SE ) Dmarrer temporisation sous forme de retard la monte.................. 13-18 ---( SS ) Dmarrer temporisation sous forme de retard la monte mmoris..... 13-20

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

xi

Sommaire

13.12 14

---( SA )

Dmarrer temporisation sous forme de retard la retombe............... 13-22 14-1

Oprations combinatoires sur mots 14.1 14.2 14.3 14.4 14.5 14.6 14.7

Vue densemble des oprations combinatoires sur mots ....................................... 14-1 WAND_W ET mot............................................................................................. 14-2 WOR_W OU mot .............................................................................................. 14-3 WXOR_W OU exclusif mot ................................................................................ 14-4 WAND_DW ET double mot................................................................................ 14-5 WOR_DW OU double mot ................................................................................. 14-6 WXOR_DW OU exclusif double mot .................................................................. 14-7 A-1

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

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

Exemples de programmation B.1 B.2 B.3 B.4 B.5 B.6

Vue d'ensemble des exemples de programmation .................................................. B-1 Exemples : Oprations combinatoires sur bits......................................................... B-2 Exemple : Oprations de temporisation................................................................... B-6 Exemple : Oprations de comptage et de comparaison........................................... B-9 Exemple : Oprations arithmtiques sur nombres entiers...................................... B-11 Exemple : Oprations combinatoires sur mots ...................................................... B-12 Index-1

Index

xii

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations combinatoires sur bits

1.1

Vue d'ensemble des oprations combinatoires sur bits

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

---(SAVE) Sauvegarder RLG dans RB

---|NOT|--- Inverser RLG

Les oprations suivantes ragissent un RLG gal 1 : ---( S ) ---( R ) SR RS Mettre 1 Mettre 0 Bascule mise 1, mise 0 Bascule mise 0, mise 1

Dautres oprations excutent les fonctions suivantes en cas de front montant ou descendant : ---(N)-----(P)--NEG POS Dtecter front descendant Dtecter front montant Dtecter front descendant de signal Dtecter front montant de signal

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

1-1

Oprations combinatoires sur bits

1.2

XOR

Combinaison OU exclusif

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

<oprande1> <oprande12>

<oprande11> <oprande12>

Paramtre
<oprande1> <oprande2

Type de donnes
BOOL BOOL

Zone de mmoire
E, A, M, L, D, T, Z E, A, M, L, D, T, Z

Description
Bit interrog Bit interrog

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

Exemple
E 0.0 E 0.1 A 4.0

E 0.0

E 0.1

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

1-2

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations combinatoires sur bits

1.3

---| |---

Contact fermeture

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

Type de donnes
BOOL

Zone de mmoire
E, A, M, L, D, T, Z

Description
Bit interrog

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

Mot dtat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 E 0.1

E 0.2

Flux d'nergie si l'une des conditions suivantes est satisfaite : L'tat de signal est 1 aux entres E 0.0 ET E 0.1 OU l'tat de signal est 1 l'entre E 0.2.

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

1-3

Oprations combinatoires sur bits

1.4

---| / |---

Contact ouverture

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

Type de donnes
BOOL

Zone de mmoire
E, A, M, L, D, T, Z

Description
Bit interrog

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

Mot dtat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 E 0.2 E 0.1

Flux d'nergie si l'une des conditions suivantes est satisfaite : L'tat de signal est 1 aux entres E 0.0 ET E 0.1 OU l'tat de signal est 0 l'entre E 0.2.

1-4

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations combinatoires sur bits

1.5

--|NOT|--

Inverser RLG

Reprsentation
---|NOT|---

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
-

ETAT
1

RLG
x

/PI
-

Exemple
E 0.0
NOT

A 4.0

E 0.1

E 0.2

La sortie A 4.0 est 0 si l'une des conditions suivantes est satisfaite : L'tat de signal l'entre E 0.0 est 1 OU l'tat l'entre E 0.1. ET l'entre E 0.2 est 1.

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

1-5

Oprations combinatoires sur bits

1.6

---( )

Bobine de sortie

Reprsentation
<oprande> ---( )
Type de donnes
BOOL

Paramtre
<oprande>

Zone de mmoire
E, A, M, L, D

Description
Bit affect

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

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


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

Mot dtat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
x

RLG
-

/PI
0

1-6

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations combinatoires sur bits

Exemple
E 0.0 E 0.1 A 4.0

E 0.2

E 0.3 A 4.1

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

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

1-7

Oprations combinatoires sur bits

1.7

---( # )--- Connecteur

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

Type de donnes
BOOL

Zone de mmoire
E, A, M, *L, D

Description
Bit affect

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

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

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


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

Mot dtat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
x

RLG
-

/PI
1

1-8

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations combinatoires sur bits

Exemple
E 1.0 E 1.1 M 0.0 E 2.2 E 1.3 M 1.1 NOT M 2.2 NOT A 4.0

(#)

(#)

(#)

( )

E 1.0 E 1.1

M 0.0 a le RLG de
E 1.0 E 1.1 E 2.2 E 1.3 NOT

M 1.1 a le RLG de M 2.2 a le RLG de la combinaison sur bits complte

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

1-9

Oprations combinatoires sur bits

1.8

---( R ) Mettre 0

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

Type de donnes
BOOL

Zone de mmoire
E, A, M, L, D, T, Z

Description
Bit mis 0

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

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


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

Mot dtat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
x

RLG
-

/PI
0

1-10

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations combinatoires sur bits

Exemple
Rseau 1 E 0.0 E 0.1 A 4.0 R

E 0.2

Rseau 2 E 0.3 T1 R

Rseau 3 E 0.4 Z1 R

La sortie A 4.0 est uniquement mise zro si l'une des conditions suivantes est satisfaite : (l'tat de signal est 1 l'entre E 0.0 ET l'entre E 0.1) OU l'tat de signal est 0 l'entre E 0.2. La temporisation T1 est uniquement mise zro si : l'tat de signal l'entre E 0.3 gale 1. Le compteur Z1 est uniquement mis zro si : l'tat de signal l'entre E 0.4 gale 1. Si le trajet de courant de lexemple est dans une zone MCR : Si le relais MCR est en fonction, la sortie A 4.0, la temporisation T1 et le compteur Z1 sont mis zro comme dcrit ci-dessus. Si le relais MCR est hors fonction, la sortie A 4.0, la temporisation T1 et le compteur Z1 restent inchangs, quel que soit l'tat de signal du RLG (du flux d'nergie).

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

1-11

Oprations combinatoires sur bits

1.9

---( S )

Mettre 1

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

Type de donnes
BOOL

Zone de mmoire
E, A, M, L, D

Description
Bit mis 1

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

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


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

Mot dtat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
x

RLG
-

/PI
0

1-12

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations combinatoires sur bits

Exemple
E 0.0 E 0.1 A 4.0 S E 0.2

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

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

1-13

Oprations combinatoires sur bits

1.10

RS

Bascule mise 0, mise 1

Reprsentation
<oprande>
RS S R Q

Paramtre
<oprande> S R Q

Type de donnes
BOOL BOOL BOOL BOOL

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Bit mis 1 ou 0 Valider mise 1 Valider mise 0 Etat de signal de <oprande>

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

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


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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

1-14

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations combinatoires sur bits

Exemple
E 0.0 E 0.1 S M 0.0 RS Q R A 4.0

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

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

1-15

Oprations combinatoires sur bits

1.11

SR

Bascule mise 1, mise 0

Reprsentation
<oprande>
SR S R Q

Paramtre
<oprande> S R Q

Type de donnes
BOOL BOOL BOOL BOOL

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Bit mis 1 ou 0 Valider mise 1 Valider mise 0 Etat de signal de <oprande>

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

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


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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

1-16

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations combinatoires sur bits

Exemple
E 0.0 E 0.1 R M 0.0 SR Q S A 4.0

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

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

1-17

Oprations combinatoires sur bits

1.12

---( N )---

Dtecter front descendant

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

Type de donnes
BOOL

Zone de mmoire
E, A, M, L, D

Description
Le mmento de front mmorise l'ancien tat de signal du RLG.

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 E 0.1 M 0.0 N CAS1 JMP

E 0.2

Le mmento de front M 0.0 mmorise l'tat de signal du RLG de toute la combinaison binaire. En cas de passage de 1 0 du RLG, le programme effectue un saut au repre CAS1.

1-18

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations combinatoires sur bits

1.13

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

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

Type de donnes
BOOL

Zone de mmoire
E, A, M, L, D

Description
Le mmento de front mmorise l'ancien tat de signal du RLG.

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 E 0.2 E 0.1 M 0.0 CAS1 P JMP

Le mmento de front M 0.0 mmorise l'tat de signal du RLG de toute la combinaison binaire. En cas de passage de 0 1 du RLG, le programme effectue un saut au repre CAS1.

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

1-19

Oprations combinatoires sur bits

1.14

---(SAVE)

Sauvegarder RLG dans RB

Reprsentation
---( SAVE )

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

Mot d'tat
RB
Ecriture x

BI1
-

BI0
-

DEB
-

DM
-

OU
-

ETAT
-

RLG
-

/PI
-

Exemple
E 0.0 E 0.2 E 0.1 SAVE

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

1-20

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations combinatoires sur bits

1.15

NEG

Dtecter front descendant de signal

Reprsentation
<oprande1> NEG <oprande2> M_BIT Q

Paramtre
<oprande1> <oprande2> Q

Type de donnes
BOOL BOOL BOOL

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Signal interrog Le mmento de front M_BIT mmorise l'tat de signal prcdent de <oprande1>. Dtection de changement d'tat de signal

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

Mot d'tat
RB
Ecriture x

BI1
-

BI0
-

DEB
-

DM
-

OU
x

ETAT
1

RLG
x

/PI
1

Exemple
E 0.0 E 0.1 E 0.2 M 0.0 E 0.3 NEG M_BIT E 0.4 A 4.0 ( ) Q

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

1-21

Oprations combinatoires sur bits

1.16

POS

Dtecter front montant de signal

Reprsentation
<oprande1> POS <oprande2> M_BIT Q

Paramtre
<oprande1> <oprande2> Q

Type de donnes
BOOL BOOL BOOL

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Signal interrog Le mmento de front M_BIT mmorise l'tat de signal prcdent de <oprande1>. Dtection de changement d'tat de signal

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

Mot d'tat
RB
Ecriture x

BI1
-

BI0
-

DEB
-

DM
-

OU
x

ETAT
1

RLG
x

/PI
1

Exemple
E 0.0 E 0.1 E 0.2 M 0.0 E 0.3 E 0.4 A 4.0 POS ( ) Q M_BIT

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

1-22

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations combinatoires sur bits

1.17

Lecture directe en priphrie

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

Exemple
Rseau CONT avec l'opration de lecture directe en priphrie pour l'entre E 1.1
E 4.1 PEW1 16#0002 WAND_W ENO EN IN1 OUT IN2 <>0 E 4.5

MWx *

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

Description de l'opration WAND_W (ET mot) : PEW1 W#16#0002 Rsultat 0000000000101010 0000000000000010 0000000000000010

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

1-23

Oprations combinatoires sur bits

1.18

Ecriture directe en priphrie

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

Avertissement
Comme l'octet complet de la zone de mmoire A est crit dans le module de sorties, tous les bits de sortie dans l'octet qui est actualis sont galement modifis si l'opration s'excute. Si un bit de sortie prsente un tat intermdiaire (1/0) au cours de l'excution du programme qui ne doit pas tre transfr dans le module de sorties, l'opration d'criture directe en priphrie peut provoquer des tats dangereux (impulsions transitoires aux sorties). Dans un programme, un module de sorties externe ne doit tre adress qu'une fois comme bobine. En observant cette rgle, vous vitez la plupart des problmes qui risquent d'apparatre en liaison avec l'opration d'criture directe en priphrie.

1-24

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations combinatoires sur bits

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

Rseau 1 E 0.1 A 5.1

Rseau 2 MOVE EN ENO AB5 IN OUT PAB5

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

1-25

Oprations combinatoires sur bits

1-26

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de comparaison

2.1

Vue d'ensemble des oprations de comparaison

Description
Les oprations de comparaison comparent les entres IN1 et IN2 selon les types de comparaison suivants : == <> > < >= <= IN1 IN1 IN1 IN1 IN1 IN1 gal IN2 diffrent de IN2 suprieur IN2 infrieur IN2 suprieur ou gal IN2 infrieur ou gal IN2

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

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

2-1

Oprations de comparaison

2.2

CMP ? I

Comparer entiers de 16 bits

Reprsentation
CMP == I
IN1 IN2

CMP >I
IN1 IN2

CMP >= I
IN1 IN2

CMP <> I
IN1 IN2

CMP <I
IN1 IN2

CMP <= I
IN1 IN2

Paramtre

Type de donnes

Zone de mmoire
E, A, M, L, D E, A, M, L, D

Description
Rsultat de la combinaison prcdente Rsultat de la comparaison. Utilis uniquement lorsque le RLG l'entre de la bote est 1. Premier terme de la comparaison Second terme de la comparaison

Entre de la bote BOOL Sortie de la bote BOOL

IN1 IN2

INT INT

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

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

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
0

DM
-

OU
0

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 E 0.1

CMP >= I
IN1 IN2

A 4.0

MW0 MW2

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

2-2

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de comparaison

2.3

CMP ? D

Comparer entiers de 32 bits

Reprsentation
CMP == D
IN1 IN2

CMP >D
IN1 IN2

CMP >= D
IN1 IN2

CMP <> D
IN1 IN2

CMP <D
IN1 IN2

CMP <= D
IN1 IN2

Paramtre

Type de donnes

Zone de mmoire
E, A, M, L, D E, A, M, L, D

Description
Rsultat de la combinaison prcdente Rsultat de la comparaison. Utilis uniquement lorsque le RLG l'entre de la bote est 1. Premier terme de la comparaison Second terme de la comparaison

Entre de la bote BOOL Sortie de la bote BOOL

IN1 IN2

DINT DINT

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

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

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
0

DM
-

OU
0

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 E 0.1

CMP >= D
IN1 IN2

E 0.2 A 4.0

MD0 MD4

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

2-3

Oprations de comparaison

2.4

CMP ? R

Comparer rels

Reprsentation
CMP == R
IN1 IN2

CMP >R
IN1 IN2

CMP >= R
IN1 IN2

CMP <> R
IN1 IN2

CMP <R
IN1 IN2

CMP <= R
IN1 IN2

Paramtre

Type de donnes

Zone de mmoire
E, A, M, L, D E, A, M, L, D

Description
Rsultat de la combinaison prcdente Rsultat de la comparaison. Utilis uniquement lorsque le RLG l'entre de la bote est 1. Premier terme de la comparaison Second terme de la comparaison

Entre de la bote BOOL Sortie de la bote BOOL

IN1 IN2

REAL REAL

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

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

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 E 0.1

CMP >= R
IN1 IN2

E 0.2 A 4.0

MD0 MD4

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

2-4

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de conversion

3.1

Vue d'ensemble des oprations de conversion

Description
Les oprations de conversion lisent le contenu du paramtre dentre IN, le convertent ou en changent le signe (par exemple, valeur positive en valeur ngative). Le rsultat est rang dans le paramtre de sortie OUT. Vous disposez des oprations de conversion suivantes : BCD_I I_BCD BCD_DI I_DI DI_BCD DI_R INV_I INV_DI NEG_I NEG_DI NEG_R ROUND TRUNC CEIL FLOOR Convertir nombre DCB en entier de 16 bits Convertir entier de 16 bits en nombre DCB Convertir nombre DCB en entier de 32 bits Convertir entier de 16 bits en entier de 32 bits Convertir entier de 32 bits en nombre DCB Convertir entier de 32 bits en rel Complment 1 dentier de 16 bits Complment 1 dentier de 32 bits Complment 2 dentier de 16 bits Complment 2 dentier de 32 bits Inverser le signe dun nombre rel Arrondir Tronquer la partie entire Convertir rel en entier suprieur le plus proche Convertir rel en entier infrieur le plus proche

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

3-1

Oprations de conversion

3.2

BCD_I

Convertir nombre DCB en entier de 16 bits

Reprsentation
BCD_I EN IN ENO OUT

Paramtre
EN ENO IN OUT

Type de donnes
BOOL BOOL WORD INT

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Nombre en format DCB Valeur entire de 16 bits du nombre DCB

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

Mot d'tat
RB
Ecriture 1

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
1

RLG
1

/PI
1

Exemple
E 0.0 MW10 BCD_I EN ENO IN OUT A 4.0 NOT MW12

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

3-2

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de conversion

3.3

I_BCD

Convertir entier de 16 bits en nombre DCB

Reprsentation
I_BCD EN IN ENO OUT

Paramtre
EN ENO IN OUT

Type de donnes
BOOL BOOL INT WORD

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Nombre entier de 16 bits Valeur DCB du nombre entier de 16 bits

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

Mot d'tat
RB
Ecriture x

BI1
-

BI0
-

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MW10 I_BCD EN ENO IN OUT A 4.0 NOT MW12

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

3-3

Oprations de conversion

3.4

I_DI

Convertir entier de 16 bits en entier de 32 bits

Reprsentation
I_DI EN IN ENO OUT

Paramtre
EN ENO IN OUT

Type de donnes
BOOL BOOL INT DINT

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Valeur entire de 16 bits convertir Rsultat : nombre entier de 32 bits

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

Mot d'tat
RB
Ecriture 1

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
1

RLG
1

/PI
1

Exemple
E 0.0 MW10 I_DI EN ENO IN OUT A 4.0 NOT MD12

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

3-4

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de conversion

3.5

BCD_DI

Convertir nombre DCB en entier de 32 bits

Reprsentation
BCD_DI EN IN ENO OUT

Paramtre
EN ENO IN OUT

Type de donnes
BOOL BOOL DWORD DINT

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Nombre en format DCB Valeur entire de 32 bits du nombre DCB

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

Mot d'tat
RB
Ecriture 1

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
1

RLG
1

/PI
1

Exemple
E 0.0 MD8 BCD_DI EN ENO IN OUT A 4.0 NOT MD12

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

3-5

Oprations de conversion

3.6

DI_BCD

Convertir entier de 32 bits en nombre DCB

Reprsentation
DI_BCD EN IN ENO OUT

Paramtre
EN ENO IN OUT

Type de donnes
BOOL BOOL DINT DWORD

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Nombre entier de 32 bits Valeur DCB du nombre entier de 32 bits

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

Mot d'tat
RB
Ecriture x

BI1
-

BI0
-

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MD8 DI_BCD EN ENO IN OUT A 4.0 NOT MD12

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

3-6

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de conversion

3.7

DI_R

Convertir entier de 32 bits en rel

Reprsentation
DI_R EN IN ENO OUT

Paramtre
EN ENO IN OUT

Type de donnes
BOOL BOOL DINT REAL

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Nombre entier de 32 bits Nombre rel

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

Mot d'tat
RB
Ecriture 1

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
1

RLG
1

/PI
1

Exemple
E 0.0 MD8 DI_R EN ENO IN OUT A 4.0 NOT MD12

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

3-7

Oprations de conversion

3.8

INV_I

Complment 1 d'entier de 16 bits

Reprsentation
INV_I EN IN ENO OUT

Paramtre
EN ENO IN OUT

Type de donnes
BOOL BOOL INT INT

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Valeur d'entre entire de 16 bits Complment 1 de l'entier de 16 bits dans IN

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

Mot d'tat
RB
Ecriture 1

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
1

RLG
1

/PI
1

Exemple
E 0.0 MW8 INV_I EN ENO IN OUT A 4.0 NOT MW10

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

3-8

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de conversion

3.9

INV_DI

Complment 1 dentier de 32 bits

Reprsentation
INV_DI EN IN ENO OUT

Paramtre
EN ENO IN OUT

Type de donnes
BOOL BOOL DINT DINT

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Valeur d'entre entire de 32 bits Complment 1 de l'entier de 32 bits dans IN

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

Mot d'tat
RB
Ecriture 1

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
1

RLG
1

/PI
1

Exemple
E 0.0 MD8 INV_DI EN ENO IN OUT A 4.0 NOT MD12

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

3-9

Oprations de conversion

3.10

NEG_I

Complment 2 dentier de 16 bits

Reprsentation
NEG_I EN IN ENO OUT

Paramtre
EN ENO IN OUT

Type de donnes
BOOL BOOL INT INT

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Valeur d'entre entire de 16 bits Complment 2 de l'entier de 16 bits dans IN

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

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MW8 NEG_I EN ENO IN OUT A 4.0 NOT MW10

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

3-10

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de conversion

3.11

NEG_DI

Complment 2 dentier de 32 bits

Reprsentation
NEG_DI EN IN ENO OUT

Paramtre
EN ENO IN OUT

Type de donnes
BOOL BOOL DINT DINT

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Valeur d'entre entire de 32 bits Complment 2 de l'entier de 32 bits dans IN

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

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MD8 NEG_DI EN ENO IN OUT A 4.0 NOT MD12

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

3-11

Oprations de conversion

3.12

NEG_R

Inverser le signe d'un nombre rel

Reprsentation
NEG_R EN IN ENO OUT

Paramtre
EN ENO IN OUT

Type de donnes
BOOL BOOL REAL REAL

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Valeur d'entre : nombre rel Nombre rel du paramtre IN avec inversion de signe

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

Mot d'tat
RB
Ecriture x

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MD8 NEG_R EN ENO IN OUT A 4.0 NOT MD12

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

3-12

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de conversion

3.13

ROUND

Arrondir

Reprsentation
ROUND EN IN ENO OUT

Paramtre
EN ENO IN OUT

Type de donnes
BOOL BOOL REAL DINT

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Valeur arrondir IN arrondi au nombre entier le plus proche

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

Mot d'tat
RB
Ecriture x

BI1
-

BI0
-

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MD8 ROUND EN ENO IN OUT A 4.0 NOT MD12

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

3-13

Oprations de conversion

3.14

TRUNC

Tronquer la partie entire

Reprsentation
TRUNC EN IN ENO OUT

Paramtre
EN ENO IN OUT

Type de donnes
BOOL BOOL REAL DINT

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Nombre virgule flottante tronquer Partie entire de la valeur de IN

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

Mot d'tat
RB
Ecriture x

BI1
-

BI0
-

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MD8 TRUNC EN ENO IN OUT A 4.0 NOT MD12

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

3-14

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de conversion

3.15

CEIL

Convertir rel en entier suprieur le plus proche

Reprsentation
CEIL EN IN ENO OUT

Paramtre
EN ENO IN OUT

Type de donnes
BOOL BOOL REAL DINT

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Nombre rel convertir Nombre entier de 32 bits suprieur le plus proche du nombre rel

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

Mot d'tat
RB
Ecriture* Ecriture** x 0

BI1
-

BI0
-

DEB
x -

DM
x -

OU
0 0

ETAT
x 0

RLG
x 0

/PI
1 1

* Fonction excute (EN = 1) ** Fonction non excute (EN = 0)

Exemple
E 0.0 MD8 CEIL EN ENO IN OUT A 4.0 NOT MD12

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

3-15

Oprations de conversion

3.16

FLOOR

Convertir rel en entier infrieur le plus proche

Reprsentation
FLOOR EN IN ENO OUT

Paramtre
EN ENO IN OUT

Type de donnes
BOOL BOOL REAL DINT

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Nombre rel convertir Nombre entier de 32 bits infrieur le plus proche du nombre rel

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

Mot d'tat
RB
Ecriture x

BI1
-

BI0
-

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MD8 FLOOR EN ENO IN OUT A 4.0 NOT MD12

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

3-16

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de comptage

4.1

Vue d'ensemble des oprations de comptage

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

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

Z_RUECK Paramtrage et compteur de dcrmentation ---( SZ ) ---( ZV ) ---( ZR ) Initialiser compteur Dcrmenter Incrmenter

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

4-1

Oprations de comptage

Configuration des bits dans le compteur


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

15 14 13 12 11 10 0 non significatifs 0

9 0

8 1

7 0

6 0

5 1

4 0

3 0

2 1

1 1

0 1

Valeur de comptage en format DCB (0 999)

15 14 13 12 11 10

9 0

8 0

7 0

6 1

5 1

4 1

3 1

2 1

1 1

0 1

non significatifs

Valeur de comptage binaire

4-2

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de comptage

4.2

ZAEHLER Paramtrage et compteur d'incrmentation / dcrmentation

Reprsentation
Anglaise
C n S_CUD CU Q CV CV_BCD ZV ZR S ZW R DUAL DEZ

Allemande
Z n ZAEHLER Q

CD
S PV R

Paramtre Anglaise
C n CU CD S PV

Paramtre Allemande
Zn ZV ZR S ZW
o

Type de donnes
COUNTER BOOL BOOL BOOL WORD

Zone de mmoire
Z E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D ou constante E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Numro d'identification du compteur. La plage dpend de la CPU. Entre d'incrmentation Entre de dcrmentation Entre d'initialisation du compteur Valeur de comptage entre sous forme C#<valeur> dans la plage comprise entre 0 et 999 Valeur d'initialisation du compteur Entre de remise zro Valeur de comptage en cours (format hexadcimal) Valeur de comptage en cours (format DCB) Etat du compteur

PV R CV CV_BCD Q

ZW R DUAL DEZ Q

WORD BOOL WORD WORD BOOL

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

4-3

Oprations de comptage

Description de l'opration
ZAEHLER (Paramtrage et compteur d'incrmentation/dcrmentation) Un front montant l'entre S de cette opration initialise le compteur la valeur figurant dans l'entre ZW. Un 1 l'entre R remet le compteur, et donc la valeur de comptage, zro. Le compteur est incrment d'une unit si l'tat de signal l'entre ZV passe de 0 1 - front montant et que la valeur du compteur est infrieure 999. Le compteur est dcrment d'une unit si l'tat de signal l'entre ZR passe de 0 1 - front montant et que la valeur du compteur est suprieure 0. En cas de front montant aux deux entres de comptage, les deux fonctions sont excutes et la valeur de comptage reste inchange. Si le compteur est mis 1 et si le RLG = 1 aux entres ZV/ZR, le compteur compte de la mme manire dans le cycle suivant, mme si aucun changement de front na eu lieu. L'tat du signal la sortie Q est 1 lorsque la valeur de comptage est suprieure 0 ; il est 0 lorsque la valeur de comptage est gale 0.

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

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

Exemple
Z10 ZAEHLER

E 0.0
ZV Q

A 4.0

E 0.1
ZR

E 0.2
S DUAL DEZ

E 0.3 MW10

ZW R

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

4-4

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de comptage

4.3

Z_VORW

Paramtrage et compteur d'incrmentation

Reprsentation
Anglaise
C n S_CU CU Q CV CV_BCD ZV S ZW R DUAL DEZ

Allemande
Z n Z_VORW Q

S
PV R

Paramtre Anglaise
C n CU S PV

Paramtre Allemande
Zn ZV S ZW
o

Type de donnes
COUNTER BOOL BOOL WORD

Zone de mmoire
Z E, A, M, L, D E, A, M, L, D E, A, M, L, D ou constante E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Numro d'identification du compteur. La plage dpend de la CPU. Entre d'incrmentation Entre d'initialisation du compteur Valeur de comptage entre sous forme C#<valeur> dans la plage comprise entre 0 et 999 Valeur d'initialisation du compteur Entre de remise zro Valeur de comptage en cours (format hexadcimal) Valeur de comptage en cours (format DCB) Etat du compteur

PV R CV CV_BCD Q

ZW R DUAL DEZ Q

WORD BOOL WORD WORD BOOL

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

4-5

Oprations de comptage

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

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

Exemple
Z10 Z_VORW

E 0.0
ZV Q

A 4.0

E 0.2
S ZW R DUAL DEZ

E 0.3

MW10

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

4-6

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de comptage

4.4

Z_RUECK

Paramtrage et compteur de dcrmentation

Reprsentation
Anglaise
C n S_CD CD Q CV CV_BCD R R ZR S ZW DUAL DEZ

Allemande
Z n Z_RUECK Q

S
PV

Paramtre Anglaise
C n CD S PV

Paramtre Allemande
Zn ZR S ZW
o

Type de donnes
COUNTER BOOL BOOL WORD

Zone de mmoire
Z E, A, M, L, D E, A, M, L, D E, A, M, L, D ou constante E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Numro d'identification du compteur. La plage dpend de la CPU. Entre de dcrmentation Entre d'initialisation du compteur Valeur de comptage entre sous forme C#<valeur> dans la plage comprise entre 0 et 999 Valeur d'initialisation du compteur Entre de remise zro Valeur de comptage en cours (format hexadcimal) Valeur de comptage en cours (format DCB) Etat du compteur

PV R CV CV_BCD Q

ZW R DUAL DEZ Q

WORD BOOL WORD WORD BOOL

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

4-7

Oprations de comptage

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

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

Exemple
Z10 Z_RUECK

E 0.0
ZR Q

A 4.0

E 0.2
S ZW R DUAL DEZ

E 0.3

MW10

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

4-8

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de comptage

4.5

---( SZ )

Initialiser compteur

Reprsentation
Anglaise <C n > ---( SC ) <valeur initiale> Allemande <Z n > ---( SZ ) <valeur initiale>

Paramtre Anglaise
<C n > <valeur initiale>

Paramtre Allemande
<Z n > <valeur initiale>

Type de donnes
COUNTER WORD

Zone de mmoire
Z E, A, M, L, D

Description
Numro du compteur qui doit tre initialis La valeur d'initialisation (DCB) peut tre comprise entre 0 et 999.

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

Mot dtat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
x

RLG
-

/PI
0

Exemple
E 0.0 Z5 SZ C#100

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

4-9

Oprations de comptage

4.6

---( ZV )

Incrmenter

Reprsentation
Anglaise <C n > ---( CU ) <valeur initiale> Allemande <Z n > ---( ZV ) <valeur initiale>

Paramtre Anglaise
<C n >

Paramtre Allemande
<Z n >

Type de donnes
COUNTER

Zone de mmoire
Z

Description
Numro du compteur. La plage dpend de la CPU.

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

Mot dtat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
-

RLG
-

/PI
0

Exemple
Rseau 1 E 0.0 Z10 SZ C#100 Rseau 2 E 0.1 Rseau 3 E 0.2 Z10 ZV Z10 R

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

4-10

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de comptage

4.7

---( ZR )

Dcrmenter

Reprsentation
Anglaise <C n > ---( CD ) <valeur initiale> Allemande <Z n > ---( ZR ) <valeur initiale>

Paramtre Anglaise
<C n >

Paramtre Allemande
<Z n >

Type de donnes
COUNTER

Zone de mmoire
Z

Description
Numro du compteur. La plage dpend de la CPU.

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

Mot dtat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
-

RLG
-

/PI
0

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

4-11

Oprations de comptage

Exemple
Rseau 1 E 0.0 Z10 SZ C#100 E 0.1 Z10 ZR

Rseau 2

Rseau 3 Z10 A 4.0 Dtection de valeur 0 Rseau 4 E 0.2 Z10 R

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

4-12

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations sur blocs de donnes

5.1

---(OPN)

Ouvrir bloc de donnes

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

Type de donnes
BLOCK_DB

Zone de mmoire
DB, DI

Description
Numro du DB ou du DI ; La plage dpend de la CPU.

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
-

ETAT
-

RLG
-

/PI
-

Exemple
Rseau 1 DB10 OPN DBX0.0 A 4.0

Rseau 2

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

5-1

Oprations sur blocs de donnes

5-2

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de saut

6.1

Vue d'ensemble des oprations de saut

Description
Vous pouvez utiliser cette opration dans tous les blocs de code, savoir les blocs dorganisation (OB), les blocs fonctionnels (FB) et les fonctions (FC). Vous disposez des oprations de saut suivantes : ---( JMP )-----( JMP )--Saut inconditionnel Saut l'intrieur d'un bloc si 1 (conditionnel)

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

Repre de saut comme oprande


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

Repre de saut comme destination


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

Rseau 2
A 4.0 E 0.1

. .
Rseau X
SEG3 A 4.1 E 0.4 R

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

6-1

Oprations de saut

6.2

---(JMP)---

Saut inconditionnel

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

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
-

ETAT
-

RLG
-

/PI
-

Exemple
Rseau 1 CAS1 JMP

: :
Rseau X CAS1 E 0.4 A 4.1 R

: :

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

6-2

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de saut

6.3

---(JMP)---

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

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

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
1

RLG
1

/PI
0

Exemple
Rseau 1 E 0.0 CAS1 JMP E 0.3 A 4.0 R

Rseau 2

Rseau 3 CAS1 E 0.4 A 4.1 R

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

6-3

Oprations de saut

6.4

---( JMPN )

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

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

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
1

RLG
1

/PI
0

Exemple
Rseau 1 E 0.0 CAS1 JMPN E 0.3 A 4.0 R

Rseau 2

Rseau 3 CAS1 E 0.4 A 4.1 R

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

6-4

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de saut

6.5

LABEL

Repre de saut

Reprsentation
LABEL

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

Exemple
Rseau 1 E 0.0 CAS1 JMP E 0.3 A 4.0 R

Rseau 2 Rseau 3

CAS1 E 0.4 A 4.1 R

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

6-5

Oprations de saut

6-6

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Fonctions sur nombres entiers

7.1

Vue d'ensemble des oprations arithmtiques sur nombres entiers

Description
Les oprations arithmtiques sur nombres entiers permettent dexcuter les fonctions arithmtiques suivantes sur deux nombres entiers (16 et 32 bits) : ADD_I SUB_I MUL_I DIV_I Additionner entiers de 16 bits Soustraire entiers de 16 bits Multiplier entiers de 16 bits Diviser entiers de 16 bits

ADD_DI Additionner entiers de 32 bits SUB_DI Soustraire entiers de 32 bits MUL_DI Multiplier entiers de 32 bits DIV_DI Diviser entiers de 32 bits

MOD_DI Reste de division (32 bits)

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

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 de base influent sur 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
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)

BI1
0 0 1

BI0
0 1 0

DEB
0 0 0

DM
* * *

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


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

BI1
0

BI0
0

DEB
1

DM
1

Opration
+D : rsultat = 4 294 967 296 /D ou MOD : division par 0

BI1
0 1

BI0
0 1

DEB
1 1

DM
1 1

7-2

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Fonctions sur nombres entiers

7.3

ADD_I

Additionner entiers de 16 bits

Reprsentation
ADD_I EN ENO IN1 IN2 OUT

Paramtre
EN ENO IN1 IN2 OUT

Type de donnes
BOOL BOOL INT INT INT

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D ou constante E, A, M, L, D ou constante E, A, M, L, D

Description
Entre de validation Sortie de validation Premire valeur pour l'addition Seconde valeur pour l'addition Rsultat de l'addition

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

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MW0 MW2
ADD_I

EN IN1 IN2

ENO OUT

NOT MW10

A 4.0 S

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

7-3

Fonctions sur nombres entiers

7.4

SUB_I

Soustraire entiers de 16 bits

Reprsentation
SUB_I EN ENO IN1 IN2 OUT

Paramtre
EN ENO IN1 IN2 OUT

Type de donnes
BOOL BOOL INT INT INT

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D ou constante E, A, M, L, D ou constante E, A, M, L, D

Description
Entre de validation Sortie de validation Premire valeur de la soustraction (de laquelle soustraire) Valeur soustraire Rsultat de la soustraction

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

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MW0 MW2
SUB_I

EN IN1 IN2

ENO OUT

NOT MW10

A 4.0 S

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

7-4

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Fonctions sur nombres entiers

7.5

MUL_I

Multiplier entiers de 16 bits

Reprsentation
MUL_I EN ENO IN1 IN2 OUT

Paramtre
EN ENO IN1 IN2 OUT

Type de donnes
BOOL BOOL INT INT DINT

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D ou constante E, A, M, L, D ou constante E, A, M, L, D

Description
Entre de validation Sortie de validation Premire valeur pour la multiplication Seconde valeur pour la multiplication Rsultat de la multiplication

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

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MW0 MW2
MUL_I

EN IN1 IN2

ENO OUT

NOT MW10

A 4.0 S

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

7-5

Fonctions sur nombres entiers

7.6

DIV_I

Diviser entiers de 16 bits

Reprsentation
DIV_I EN ENO IN1 IN2 OUT

Paramtre
EN ENO IN1 IN2 OUT

Type de donnes
BOOL BOOL INT INT INT

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D ou constante E, A, M, L, D ou constante E, A, M, L, D

Description
Entre de validation Sortie de validation Dividende Diviseur Rsultat de la division

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

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MW0 MW2
DIV_I

EN IN1 IN2

ENO OUT

NOT MW10

A 4.0 S

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

7-6

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Fonctions sur nombres entiers

7.7

ADD_DI

Additionner entiers de 32 bits

Reprsentation
ADD_DI EN ENO IN1 IN2 OUT

Paramtre
EN ENO IN1 IN2 OUT

Type de donnes
BOOL BOOL DINT DINT DINT

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D ou constante E, A, M, L, D ou constante E, A, M, L, D

Description
Entre de validation Sortie de validation Premire valeur pour l'addition Seconde valeur pour l'addition Rsultat de l'addition

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

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MD0 MD4
ADD_DI

EN IN1 IN2

ENO OUT

NOT MD10

A 4.0 S

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

7-7

Fonctions sur nombres entiers

7.8

SUB_DI

Soustraire entiers de 32 bits

Reprsentation
SUB_DI EN ENO IN1 IN2 OUT

Paramtre
EN ENO IN1 IN2 OUT

Type de donnes
BOOL BOOL DINT DINT DINT

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D ou constante E, A, M, L, D ou constante E, A, M, L, D

Description
Entre de validation Sortie de validation Premire valeur de la soustraction Valeur soustraire Rsultat de la soustraction

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

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MD0 MD4
SUB_DI

EN IN1 IN2

ENO OUT

NOT MD10

A 4.0 S

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

7-8

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Fonctions sur nombres entiers

7.9

MUL_DI

Multiplier entiers de 32 bits

Reprsentation
MUL_DI EN ENO IN1 IN2 OUT

Paramtre
EN ENO IN1 IN2 OUT

Type de donnes
BOOL BOOL DINT DINT DINT

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D ou constante E, A, M, L, D ou constante E, A, M, L, D

Description
Entre de validation Sortie de validation Premire valeur pour la multiplication Seconde valeur pour la multiplication Rsultat de la multiplication

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

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MD0 MD4
MUL_DI

EN IN1 IN2

ENO OUT

NOT MD10

A 4.0 S

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

7-9

Fonctions sur nombres entiers

7.10

DIV_DI

Diviser entiers de 32 bits

Reprsentation
DIV_DI EN ENO IN1 IN2 OUT

Paramtre
EN ENO IN1 IN2 OUT

Type de donnes
BOOL BOOL DINT DINT DINT

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D ou constante E, A, M, L, D ou constante E, A, M, L, D

Description
Entre de validation Sortie de validation Dividende Diviseur Rsultat entier de la division

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

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MD0 MD4
DIV_DI

EN IN1 IN2

ENO OUT

NOT MD10

A 4.0 S

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

7-10

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Fonctions sur nombres entiers

7.11

MOD_DI

Reste de division (32 bits)

Reprsentation
MOD_DI EN ENO IN1 IN2 OUT

Paramtre
EN ENO IN1 IN2 OUT

Type de donnes
BOOL BOOL DINT DINT DINT

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D ou constante E, A, M, L, D ou constante E, A, M, L, D

Description
Entre de validation Sortie de validation Dividende Diviseur Reste de la division

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

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MD0 MD4
MOD_DI

EN IN1 IN2

ENO OUT

NOT MD10

A 4.0 S

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

7-11

Fonctions sur nombres entiers

7-12

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Fonctions sur nombres virgule flottante

8.1

Vue d'ensemble des oprations arithmtiques sur nombres virgule flottante

Description
Les nombres virgule flottante IEEE de 32 bits ont le type de donnes REAL. Les oprations arithmtiques sur nombres virgule flottante permettent dexcuter les fonctions arithmtiques suivantes sur deux nombres rels IEEE de 32 bits : ADD_R SUB_R MUL_R DIV_R Addition Soustraction Multiplication Division

Les oprations arithmtiques sur nombres virgule flottante permettent dexcuter les fonctions arithmtiques suivantes sur un nombre rels IEEE de 32 bits : Valeur absolue (ABS) dun nombre rel Carr (SQR) ou Racine carre (SQRT) dun nombre rel Logarithme naturel (LN) dun nombre rel Valeur exponentielle (EXP) sur la base e (= 2,71828) dun nombre rel Fonctions trigonomtriques dangles reprsents sous forme de nombres rels IEEE de 32 bits :
-

Sinus (SIN) et Arc sinus (ASIN) Cosinus (COS) et Arc cosinus (ACOS) Tangente (TAN) et Arc tangente (ATAN)

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

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 de base influent sur 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
+0, -0 (zro) -3.402823E+38 < rsultat < -1.175494E-38 (nombre ngatif) +1.175494E-38 < rsultat < 3.402824E+38 (nombre positif)

BI1
0 0 1

BI0
0 1 0

DEB
0 0 0

DM
* * *

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


Plage non autorise
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 virgule flottante correct ou opration illicite (valeur d'entre hors de la plage de valeurs autorise)

BI1
0

BI0
0

DEB
1

DM
1

8-2

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Fonctions sur nombres virgule flottante

8.3
8.3.1

Oprations de base
ADD_R Additionner rels

Reprsentation
ADD_R EN ENO IN1 IN2 OUT

Paramtre
EN ENO IN1 IN2 OUT

Type de donnes
BOOL BOOL REAL REAL REAL

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D ou constante E, A, M, L, D ou constante E, A, M, L, D

Description
Entre de validation Sortie de validation Premire valeur pour l'addition Seconde valeur pour l'addition Rsultat de l'addition

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

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MD0 MD4 ADD_R ENO EN IN1 OUT IN2 A 4.0 NOT MD10 S

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

8-3

Fonctions sur nombres virgule flottante

8.3.2

SUB_R

Soustraire rels

Reprsentation
SUB_R EN ENO IN1 IN2 OUT

Paramtre
EN ENO IN1 IN2 OUT

Type de donnes
BOOL BOOL REAL REAL REAL

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D ou constante E, A, M, L, D ou constante E, A, M, L, D

Description
Entre de validation Sortie de validation Premire valeur de soustraction (de laquelle soustraire) Valeur soustraire de la premire valeur Rsultat de la soustraction

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

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MD0 MD4 SUB_R ENO EN IN1 OUT IN2 A 4.0 NOT MD10 S

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

8-4

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Fonctions sur nombres virgule flottante

8.3.3

MUL_R

Multiplier rels

Reprsentation
MUL_R EN ENO IN1 IN2 OUT

Paramtre
EN ENO IN1 IN2 OUT

Type de donnes
BOOL BOOL REAL REAL REAL

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D ou constante E, A, M, L, D ou constante E, A, M, L, D

Description
Entre de validation Sortie de validation Premire valeur pour la multiplication Seconde valeur pour la multiplication Rsultat de la multiplication

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

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MD0 MD4 MUL_R ENO EN IN1 OUT IN2 A 4.0 NOT MD10 S

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

8-5

Fonctions sur nombres virgule flottante

8.3.4

DIV_R

Diviser rels

Reprsentation
DIV_R EN ENO IN1 IN2 OUT

Paramtre
EN ENO IN1 IN2 OUT

Type de donnes
BOOL BOOL REAL REAL REAL

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D ou constante E, A, M, L, D ou constante E, A, M, L, D

Description
Entre de validation Sortie de validation Dividende Diviseur Rsultat de la division

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

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MD0 MD4 DIV_R ENO EN IN1 OUT IN2 A 4.0 NOT MD10 S

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

8-6

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Fonctions sur nombres virgule flottante

8.3.5

ABS

Valeur absolue d'un nombre virgule flottante

Reprsentation
ABS EN ENO IN OUT

Paramtre
EN ENO IN OUT

Type de donnes
BOOL BOOL REAL REAL

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D ou constante E, A, M, L, D

Description
Entre de validation Sortie de validation Valeur d'entre : nombre virgule flottante Valeur de sortie : valeur absolue du nombre virgule flottante

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

Mot d'tat
RB
Ecriture 1

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
1

RLG
1

/PI
1

Exemple
E 0.0 ABS EN ENO IN OUT A 4.0 NOT MD12

MD8

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

8-7

Fonctions sur nombres virgule flottante

8.4
8.4.1

Oprations tendues
SQR Carr

Reprsentation
SQR EN ENO IN OUT

Paramtre
EN ENO IN OUT

Type de donnes
BOOL BOOL REAL REAL

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D ou constante E, A, M, L, D

Description
Entre de validation Sortie de validation Valeur d'entre : nombre virgule flottante Valeur de sortie : carr du nombre virgule flottante

Description de l'opration
L'opration SQR (Carr d'un nombre virgule flottante) calcule le carr d'un nombre virgule flottante.

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

8-8

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Fonctions sur nombres virgule flottante

8.4.2

SQRT

Racine carre

Reprsentation
SQRT EN ENO IN OUT

Paramtre
EN ENO IN OUT

Type de donnes
BOOL BOOL REAL REAL

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D ou constante E, A, M, L, D

Description
Entre de validation Sortie de validation Valeur d'entre : nombre virgule flottante Valeur de sortie : racine carre du nombre virgule flottante

Description de l'opration
L'opration SQRT (Racine carre d'un nombre virgule flottante) calcule la racine carre d'un nombre virgule flottante. Cette opration dlivre un rsultat positif si l'oprande est suprieur 0. Unique exception : la racine carre de -0 est -0.

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

8-9

Fonctions sur nombres virgule flottante

8.4.3

EXP

Valeur exponentielle

Reprsentation
EXP EN ENO IN OUT

Paramtre
EN ENO IN OUT

Type de donnes
BOOL BOOL REAL REAL

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D ou constante E, A, M, L, D

Description
Entre de validation Sortie de validation Valeur d'entre : nombre virgule flottante Valeur de sortie : valeur exponentielle du nombre virgule flottante

Description de l'opration
L'opration EXP (Valeur exponentielle d'un nombre virgule flottante) calcule la valeur exponentielle de base e (= 2,71828...) d'un nombre virgule flottante.

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

8-10

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Fonctions sur nombres virgule flottante

8.4.4

LN

Logarithme naturel

Reprsentation
LN EN ENO IN OUT

Paramtre
EN ENO IN OUT

Type de donnes
BOOL BOOL REAL REAL

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D ou constante E, A, M, L, D

Description
Entre de validation Sortie de validation Valeur d'entre : nombre virgule flottante Valeur de sortie : logarithme naturel du nombre virgule flottante

Description de l'opration
L'opration LN (Logarithme naturel d'un nombre virgule flottante) calcule le logarithme naturel d'un nombre virgule flottante.

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

8-11

Fonctions sur nombres virgule flottante

8.4.5

SIN

Sinus

Reprsentation
SIN EN ENO IN OUT

Paramtre
EN ENO IN OUT

Type de donnes
BOOL BOOL REAL REAL

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D ou constante E, A, M, L, D

Description
Entre de validation Sortie de validation Valeur d'entre : nombre virgule flottante Valeur de sortie : sinus du nombre virgule flottante

Description de l'opration
L'opration SIN (Sinus d'un nombre virgule flottante) calcule le sinus d'un nombre virgule flottante qui reprsente un angle en radians.

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

8-12

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Fonctions sur nombres virgule flottante

8.4.6

COS

Cosinus

Reprsentation
COS EN ENO IN OUT

Paramtre
EN ENO IN OUT

Type de donnes
BOOL BOOL REAL REAL

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D ou constante E, A, M, L, D

Description
Entre de validation Sortie de validation Valeur d'entre : nombre virgule flottante Valeur de sortie : cosinus du nombre virgule flottante

Description de l'opration
L'opration COS (Cosinus d'un nombre virgule flottante) calcule le cosinus d'un nombre virgule flottante qui reprsente un angle en radians.

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

8-13

Fonctions sur nombres virgule flottante

8.4.7

TAN

Tangente

Reprsentation
TAN EN ENO IN OUT

Paramtre
EN ENO IN OUT

Type de donnes
BOOL BOOL REAL REAL

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D ou constante E, A, M, L, D

Description
Entre de validation Sortie de validation Valeur d'entre : nombre virgule flottante Valeur de sortie : tangente du nombre virgule flottante

Description de l'opration
L'opration TAN (Tangente d'un nombre virgule flottante) calcule la tangente d'un nombre virgule flottante qui reprsente un angle en radians.

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

8-14

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Fonctions sur nombres virgule flottante

8.4.8

ASIN

Arc sinus

Reprsentation
ASIN EN ENO IN OUT

Paramtre
EN ENO IN OUT

Type de donnes
BOOL BOOL REAL REAL

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D ou constante E, A, M, L, D

Description
Entre de validation Sortie de validation Valeur d'entre : nombre virgule flottante Valeur de sortie : arc sinus d'un nombre virgule flottante

Description de l'opration
L'opration ASIN (Arc sinus d'un nombre virgule flottante) calcule l'arc sinus d'un nombre virgule flottante dont la valeur d'entre doit tre comprise entre : -1 <= valeur d'entre <= +1 Le rsultat est un angle indiqu en radians. Sa valeur est comprise dans la plage suivante : -/2 valeur de sortie +/2 avec = 3,1415....

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

8-15

Fonctions sur nombres virgule flottante

8.4.9

ACOS

Arc cosinus

Reprsentation
ACOS EN ENO IN OUT

Paramtre
EN ENO IN OUT

Type de donnes
BOOL BOOL REAL REAL

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D ou constante E, A, M, L, D

Description
Entre de validation Sortie de validation Valeur d'entre : nombre virgule flottante Valeur de sortie : arc cosinus du nombre virgule flottante

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

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

8-16

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Fonctions sur nombres virgule flottante

8.4.10

ATAN

Arc tangente

Reprsentation
ATAN EN ENO IN OUT

Paramtre
EN ENO IN OUT

Type de donnes
BOOL BOOL REAL REAL

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D ou constante E, A, M, L, D

Description
Entre de validation Sortie de validation Valeur d'entre : nombre virgule flottante Valeur de sortie : arc tangente du nombre virgule flottante

Description de l'opration
L'opration ATAN (Arc tangente d'un nombre virgule flottante) calcule l'arc tangente d'un nombre virgule flottante. Le rsultat est un angle en radians dont la valeur est comprise dans la plage suivante : -/2 valeur de sortie +/2 avec = 3,1415....

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

8-17

Fonctions sur nombres virgule flottante

8-18

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de transfert

9.1

MOVE

Affecter valeur

Reprsentation
MOVE
EN IN ENO OUT

Paramtre
EN ENO IN

Type de donnes
BOOL BOOL

Zone de mmoire
E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Valeur source

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

OUT

Adresse de destination

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

9-1

Oprations de transfert

Mot d'tat
RB
Ecriture 1

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
1

RLG
1

/PI
1

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


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

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

1111 1111 Rsultat


1111 1111

0000 1111
0000 1111

1111 0000
1111 0000

0101 0101
0101 0101 0101 0101 0101 0101

Octet Affectation
un octet : un mot : un double mot : 0000 0000 0000 0000 0000 0000 0000 0000

1111 0000 Rsultat


1111 0000 1111 0000 1111 0000

Exemple
E 0.0

MOVE
EN ENO OUT

A 4.0

MW10

IN

DBW12

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

Si le trajet de courant de l'exemple est l'intrieur d'une zone MCR active : Si le relais MCR est en fonction, les donnes sont copies comme dcrit ci-dessus de MW10 dans DBW12. Si le relais MCR est hors fonction, la valeur 0 est crite dans le DBW12.

9-2

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

10 Oprations de gestion d'excution de programme

10.1

Oprations de gestion dexcution de programme

Description
Vous disposez des oprations de gestion dexcution de programme suivantes : ---(Call) CALL_FB CALL_FC Appeler FC/SFC sans paramtre Appeler FB (bote) Appeler FC (bote)

CALL_SFB Appeler SFB (bote) CALL_SFC Appeler SFC (bote) Appeler multi-instance Appeler un bloc dans une bibliothque Remarques importantes sur lutilisation de la fonctionalit ---(MCR<) ---(MCR>) ---(MCRA) ---(MCRD) RET Relais de masquage en fonction Relais de masquage hors fonction Activer relais de masquage Dsactiver relais de masquage

Retour

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

10-1

Oprations de gestion d'excution de programme

10.2

---(Call)

Appeler FC/SFC sans paramtre

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

Type de donnes
BLOCK_FC

Zone de mmoire
-

Description
Numro de la fonction ou de la fonction systme. La plage dpend de la CPU.

Description de l'opration
---(Call) (Appeler FC/SFC sans paramtre) Cette opration permet d'appeler une fonction (FC) ou une fonction systme (SFC) qui n'a pas de paramtre. L'appel est uniquement excut lorsque le RLG est 1 la bobine CALL. Si l'opration ---(CALL) a lieu, elle fonctionne comme suit : Elle sauvegarde l'adresse de retour au bloc appelant. Elle change la zone de donnes locales en cours en zone de donnes locales prcdente. Elle empile le bit MA (bit MCR actif) dans la pile des blocs. Elle cre la nouvelle zone de donnes locales pour la fonction appele.

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

Mot d'tat
RB
Appel conditionnel : Appel inconditionnel : Ecriture Ecriture -

BI1
-

BI0
-

DEB
-

DM
0 0

OU
0 0

ETAT RLG
1 1 1 -

/PI
0 0

10-2

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de gestion d'excution de programme

Exemple
. . . . . . . . .

DB10 OPN

MCRA FC10 CALL E 0.0 A 4.0

. . . . . . E 0.1 MCRD FC11 CALL

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

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

10-3

Oprations de gestion d'excution de programme

10.3

CALL_FB

Appeler FB (bote)

Reprsentation
<DB n> FB n EN ENO

La reprsentation dpend du bloc fonctionnel ( savoir si des paramtres sont prsents et combien). L'entre EN, la sortie ENO et le nom ou le numro du FB doivent tre prsents.
Paramtre
EN ENO FB n DB n

Type de donnes
BOOL BOOL BLOCK_FB BLOCK_DB

Zone de mmoire
E, A, M, L, D E, A, M, L, D -

Description
Entre de validation Sortie de validation Numros du FB et du DB. La plage dpend de la CPU.

Description de l'opration
CALL_FB (Appeler FB) Cette opration est excute si EN est 1. Si l'opration CALL_FB a lieu, elle fonctionne comme suit : Elle sauvegarde l'adresse de retour au bloc appelant. Elle sauvegarde les slecteurs pour les deux blocs de donnes en cours (DB et DI). Elle change la zone de donnes locales en cours en zone de donnes locales prcdente. Elle empile le bit MA (bit MCR actif) dans la pile des blocs. Elle cre la nouvelle zone de donnes locales pour la fonction appele.

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

Mot d'tat
RB
Appel conditionnel : Appel inconditionnel : Ecriture x Ecriture -

BI1
-

BI0
-

DEB
-

DM
0 0

OU
0 0

ETAT RLG
x x x x

/PI
x x

10-4

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de gestion d'excution de programme

Exemple
. . . . . . . . . . . . DB11 FB11 EN ENO DB10 OPN

DB10 OPN

MCRA A 4.0

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

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

10-5

Oprations de gestion d'excution de programme

10.4

CALL_FC

Appeler FC (bote)

Reprsentation
FC n
EN ENO

La reprsentation dpend de la fonction ( savoir si des paramtres sont prsents et combien). L'entre EN, la sortie ENO et le nom ou le numro de la FC doivent tre prsents.
Paramtre
EN ENO FC n

Type de donnes
BOOL BOOL BLOCK_FC

Zone de mmoire
E, A, M, L, D E, A, M, L, D -

Description
Entre de validation Sortie de validation Numro de la FC. La plage dpend de la CPU.

Description de l'opration
CALL_FC (Appeler FC) Cette opration permet d'appeler une fonction (FC). L'appel est activ par l'tat de signal 1 l'entre de validation EN. Si l'opration a lieu, elle fonctionne comme suit : Elle sauvegarde l'adresse de retour au bloc appelant. Elle change la zone de donnes locales en cours en zone de donnes locales prcdente. Elle empile le bit MA (bit MCR actif) dans la pile des blocs. Elle cre la nouvelle zone de donnes locales pour la fonction appele.

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

10-6

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de gestion d'excution de programme

Mot d'tat
RB
Appel conditionnel : Appel inconditionnel : Ecriture x Ecriture -

BI1
-

BI0
-

DEB
-

DM
0 0

OU
0 0

ETAT RLG
x x x x

/PI
x x

Exemple
. . . . . . . . .

DB10 OPN

MCRA FC10 FC11 A 4.0

. EN ENO EN ENO . .

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

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

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

10-7

Oprations de gestion d'excution de programme

10.5

CALL_SFB

Appeler SFB (bote)

Reprsentation
<DB n> SFB n
EN ENO

La reprsentation dpend du bloc fonctionnel systme ( savoir si des paramtres sont prsents et combien). L'entre EN, la sortie ENO et le nom ou le numro du SFB doivent tre prsents.
Paramtre
EN ENO SFB n DB n

Type de donnes
BOOL BOOL BLOCK_SFB BLOCK_DB

Zone de mmoire
E, A, M, L, D E, A, M, L, D -

Description
Entre de validation Sortie de validation Numro du SFB et du DB. La plage dpend de la CPU.

Description de l'opration
CALL_SFB (Appeler SFB) Cette opration est excute si EN est 1. Si l'opration a lieu, elle fonctionne comme suit : Elle sauvegarde l'adresse de retour au bloc appelant. Elle sauvegarde les slecteurs pour les deux blocs de donnes en cours (DB et DI). Elle change la zone de donnes locales en cours en zone de donnes locales prcdente. Elle empile le bit MA (bit MCR actif) dans la pile des blocs. Elle cre la nouvelle zone de donnes locales pour le bloc fonctionnel systme appel.

Ensuite, le traitement du programme se poursuit dans le bloc fonctionnel systme appel. ENO est 1 si le SFB a t appel (EN = 1) et si aucune erreur n'est apparue.

Mot d'tat
RB
Appel conditionnel : Appel inconditionnel : Ecriture x Ecriture -

BI1
-

BI0
-

DEB
-

DM
0 0

OU
0 0

ETAT RLG
x x x x

/PI
x x

10-8

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de gestion d'excution de programme

Exemple
. . . . . . . . . EN M11.0 REQ ID R_ID DW12 DW14 DW16 SD_1 SD_2 SD_3 SD_4 DB10 OPN DB 8 SFB 8 ENO DONE ERROR STATUS READY M10.0 CODE

DB10 OPN

MCRA A 4.0

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

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

10-9

Oprations de gestion d'excution de programme

10.6

CALL_SFC

Appeler SFC (bote)

Reprsentation
SFC n
EN ENO

La reprsentation dpend de la fonction systme ( savoir si des paramtres sont prsents et combien). L'entre EN, la sortie ENO et le nom ou le numro de la SFC doivent tre prsents.
Paramtre
EN ENO SFC n

Type de donnes
BOOL BOOL BLOCK_SFC

Zone de mmoire
E, A, M, L, D E, A, M, L, D -

Description
Entre de validation Sortie de validation Numro de la SFC. La plage dpend de la CPU.

Description de l'opration
CALL_SFC (Appeler SFC) Cette opration permet d'appeler une fonction systme. L'appel est activ par l'tat de signal 1 l'entre de validation EN. Si l'opration a lieu, elle fonctionne comme suit : Elle sauvegarde l'adresse de retour au bloc appelant. Elle change la zone de donnes locales en cours en zone de donnes locales prcdente. Elle empile le bit MA (bit MCR actif) dans la pile des blocs. Elle cre la nouvelle zone de donnes locales pour la fonction appele.

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

Mot d'tat
RB
Appel conditionnel : Appel inconditionnel : Ecriture x Ecriture -

BI1
-

BI0
-

DEB
-

DM
0 0

OU
0 0

ETAT RLG
x x x x

/PI
x x

10-10

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de gestion d'excution de programme

Exemple
. . . . . . . . . . .
EN

DB10 OPN

MCRA SFC20
ENO SRCBLK RET_VAL DSTBLK

A 4.0 MW10 MOTOR.SPEED

. DBDW12 . . .

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

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

10-11

Oprations de gestion d'excution de programme

10.7

Appeler multi-instance

Reprsentation
#Nomvariable

EN

ENO

Paramtre
EN ENO #Nom-variable

Type de donnes
BOOL BOOL FB, SFB

Zone de mmoire
E, A, M, L, D E, A, M, L, D -

Description
Entre de validation Sortie de validation Nom de la multi-instance

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
0

OU
0

ETAT
x

RLG
x

/PI
x

10.8

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" pour les projets STEP 7 de la version 3 et bibliothque "stdlibs (V2)" pour les projets STEP 7 de la version 2) ; que vous avez rangs vous-mme dans des bibliothques parce que vous avez l'intention de les utiliser plusieurs fois.

10-12

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de gestion d'excution de programme

10.9

Remarques importantes sur l'utilisation de la fonctionnalit MCR


Attention avec les blocs dans lesquels le relais de masquage a t activ par l'instruction MCRA :
Lorsque le relais de masquage (MCR) est hors fonction, la valeur 0 est crite par toutes les affectation (T, =) dans les sections de programme entre ---(MCR<) et ---(MCR>) ! Ceci concerne alors videmment aussi toutes les botes contenant une affectation, y compris la transmission de paramtres des blocs ! Le MCR se trouve prcisment hors fonction lorsque le RLG tait gal 0 avant une instruction MCR<.

Danger : arrt de l'AP ou comportement indfini de la dure d'excution ! Pour les calculs d'adresses, le compilateur accde galement en criture aux donnes locales suivant les variables temporaires dfinies dans VAR_TEMP. De ce fait, les squences d'instructions suivantes mettent l'AP l'arrt ou conduisent des comportements indfinis de la dure d'excution : Accs des paramtres formels
Accs des composantes de paramtres FC complexes de type STRUCT, UDT, ARRAY, STRING Accs des composantes de paramtres FB complexes de type STRUCT, UDT, ARRAY, STRING de la zone IN_OUT dans un bloc de version 2. Accs aux paramtres d'un FB de version 2 lorsque leur adresse est suprieure 8180.0. L'accs un paramtre de type BLOCK_DB dans un FB de version 2 ouvre le DB 0. Les accs ultrieurs aux donnes mettent la CPU l'arrt. Pour TIMER, COUNTER, BLOCK_FC, BLOCK_FB se sont aussi toujours T 0, Z 0, FC 0 ou FB 0 qui sont utiliss.

Transmission des paramtres


Appels pour lesquels des paramtres sont transmis.

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

Remde Sparez les instructions concernes de la dpendance par rapport au relais de masquage :
1. 2. Dsactivez le relais de masquage en utilisant l'instruction MCRD avant l'instruction ou le rseau concerns. Activez le relais de masquage en utilisant l'instruction MCRA aprs l'instruction ou le rseau concerns.

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

10-13

Oprations de gestion d'excution de programme

10.10 ---(MCR<)
Reprsentation
---(MCR<)

Relais de masquage en fonction

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
1

RLG
-

/PI
0

10-14

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de gestion d'excution de programme

Exemple
Rseau 1 MCRA Rseau 2 Rseau 3 Rseau 4 Rseau 5 MCR> Rseau 6 Rseau 7 MCR> Rseau 8 MCRD E 0.4 A 4.1 E 0.0 MCR< E 0.1 MCR< E 0.3 A 4.0 S
Zone MCR 2 Zone MCR 1

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

10-15

Oprations de gestion d'excution de programme

10.11 ---(MCR>)
Reprsentation
---(MCR>)

Relais de masquage hors fonction

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
1

RLG
-

/PI
0

10-16

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de gestion d'excution de programme

Exemple
Rseau 1 MCRA Rseau 2 Rseau 3 Rseau 4 Rseau 5 MCR> Rseau 6 Rseau 7 MCR> Rseau 8 MCRD E 0.4 A 4.1 E 0.0 MCR< E 0.1 MCR< E 0.3 A 4.0 S
Zone MCR 2 Zone MCR 1

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

10-17

Oprations de gestion d'excution de programme

10.12 ---(MCRA)
Reprsentation
---(MCRA)

Activer relais de masquage

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
-

ETAT
-

RLG
-

/PI
-

Exemple
Rseau 1 MCRA Rseau 2 Rseau 3 . . . E 0.0 MCR< E 0.3 A 4.0 S

E 0.4

A 4.1

Rseau n MCR> Rseau n + 1 MCRD

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

10-18

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de gestion d'excution de programme

10.13 ---(MCRD)
Reprsentation
---( MCRD )

Dsactiver relais de masquage

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
-

ETAT
-

RLG
-

/PI
-

Exemple
Rseau 1 MCRA Rseau 2 Rseau 3 . . . E 0.0 MCR< E 0.3 A 4.0 S

E 0.4

A 4.1

Rseau n MCR> Rseau n + 1 MCRD

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

10-19

Oprations de gestion d'excution de programme

10.14 ---(RET)
Reprsentation
---( RET )

Retour

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

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

BI1
-

BI0
-

DEB
-

DM
0

OU
0

ETAT
1

RLG
1

/PI
0

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

Exemple
. . . E 0.0 . . . RET

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

10-20

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

11 Oprations de dcalage et de rotation

11.1
11.1.1

Oprations de dcalage
Vue d'ensemble des oprations de dcalage

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

SHR_DW Dcalage vers la droite d'un double mot

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

11-1

Oprations de dcalage et de rotation

11.1.2

SHR_I

Dcalage vers la droite d'un entier de 16 bits

Reprsentation
SHR_I EN ENO OUT IN N

Paramtre
EN ENO IN N OUT

Type de donnes
BOOL BOOL INT WORD INT

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Valeur dcaler Nombre de bits de dcalage Rsultat du dcalage

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

IN N

OUT

1 0 1 0

1 0 0 0 0

1 0 1 0 Ces 4 bits sont perdus.

Les positions libres sont compltes par ltat de signal du bit de signe.

11-2

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de dcalage et de rotation

Mot d'tat
RB
x

BI1
x

BI0
x

DEB
x

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MW0 MW2
SHR_I

EN IN N

ENO OUT

A 4.0 S MW4

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

11.1.3

SHR_DI

Dcalage vers la droite d'un entier de 32 bits

Reprsentation
SHR_DI EN ENO OUT IN N

Paramtre
EN ENO IN N OUT

Type de donnes
BOOL BOOL DINT WORD DINT

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Valeur dcaler Nombre de bits de dcalage Rsultat du dcalage

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

11-3

Oprations de dcalage et de rotation

Mot d'tat
RB
x

BI1
x

BI0
x

DEB
x

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MD0 MW4
SHR_DI

EN IN N

ENO OUT

A 4.0 S MD10

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

11.1.4

SHL_W

Dcalage vers la gauche d'un mot

Reprsentation
SHL_W EN ENO OUT IN N

Format
Paramtre
EN ENO IN N OUT

Type de donnes
BOOL BOOL WORD WORD WORD

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Valeur dcaler Nombre de bits de dcalage Rsultat du dcalage (mot)

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

11-4

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de dcalage et de rotation

IN N

15... 0 0 0 0

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

...0 0 1 0 1

OUT

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

0 1 0 1

0 1 0 0

0 0 0 0

Les positions libres sont compltes par des zros.

Mot d'tat
RB
x

BI1
x

BI0
x

DEB
x

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MW0 MW2
SHL_W

EN IN N

ENO OUT

A 4.0 S MW4

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

11.1.5

SHR_W

Dcalage vers la droite d'un mot

Reprsentation
SHR_W EN ENO OUT IN N

Paramtre
EN ENO IN N OUT

Type de donnes
BOOL BOOL WORD WORD WORD

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Valeur dcaler Nombre de bits de dcalage Rsultat du dcalage (mot)

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

11-5

Oprations de dcalage et de rotation

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

Mot d'tat
RB
x

BI1
x

BI0
x

DEB
x

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MW0 MW2
SHR_W

EN IN N

ENO OUT

A 4.0 S MW4

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

11.1.6

SHL_DW

Dcalage vers la gauche d'un double mot

Reprsentation
SHL_DW EN ENO OUT IN N

Paramtre
EN ENO IN N OUT

Type de donnes
BOOL BOOL DWORD WORD DWORD

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Valeur dcaler Nombre de bits de dcalage Rsultat du dcalage (double mot)

11-6

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de dcalage et de rotation

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

Mot d'tat
RB
x

BI1
x

BI0
x

DEB
x

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MD0 MW4
SHL_DW

EN IN N

ENO OUT

A 4.0 S MD10

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

11.1.7

SHR_DW

Dcalage vers la droite d'un double mot

Reprsentation
SHR_DW EN ENO OUT IN N

Paramtre
EN ENO IN N OUT

Type de donnes
BOOL BOOL DWORD WORD DWORD

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Valeur dcaler Nombre de bits de dcalage Rsultat du dcalage (double mot)

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

11-7

Oprations de dcalage et de rotation

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

IN N

OUT

0001 1111 1110 1010 1011 0101 0101 1111 Les positions libres sont compltes par des zros.

111

Ces 3 bits sont perdus.

Mot d'tat
RB
x

BI1
x

BI0
x

DEB
x

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MD0 MW4
SHR_DW

EN IN N

ENO OUT

A 4.0 S MD10

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

11-8

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de dcalage et de rotation

11.2
11.2.1

Oprations de rotation
Vue densemble des oprations de rotation

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

11.2.2

ROL_DW

Rotation vers la gauche dun double mot

Reprsentation
ROL_DW EN ENO OUT IN N

Paramtre
EN ENO IN N OUT

Type de donnes
BOOL BOOL DWORD WORD DWORD

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Valeur objet de la rotation Nombre de bits de rotation Rsultat de la rotation

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

11-9

Oprations de dcalage et de rotation

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

IN N

OUT

111

1000 0101 0101 0000 0111 1000 0111 1111 Ces 3 bits sont perdus.

Ltat de signal des trois bits dcals est insr dans les positions vides.

Mot d'tat
RB
x

BI1
x

BI0
x

DEB
x

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MD0 MW4
ROL_DW

EN IN N

ENO OUT

A 4.0 S MD10

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

11-10

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de dcalage et de rotation

11.2.3

ROR_DW

Rotation vers la droite dun double mot

Reprsentation
ROR_DW EN ENO OUT IN N

Paramtre
EN ENO IN N OUT

Type de donnes
BOOL BOOL DWORD WORD DWORD

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Valeur objet de la rotation Nombre de bits de rotation Rsultat de la rotation

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

IN N

OUT

1011 0101 0100 0001 1110 0001 1110 1010 Ltat de signal des trois bits dcals est insr dans les positions vides.

101

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

11-11

Oprations de dcalage et de rotation

Mot d'tat
RB
x

BI1
x

BI0
x

DEB
x

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 MD0 MW4
ROR_DW

EN IN N

ENO OUT

A 4.0 S MD10

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

11-12

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

12 Oprations sur bits d'tat

12.1

Vue densemble des oprations sur bits dtat

Description
Les oprations sur bits dtat sont des oprations combinatoires sur bits qui utilisent les bits du mot dtat. Chacune de ces oprations ragit lune des conditions suivantes indiques par un ou plusieurs bits du mot dtat : Le bit de rsultat binaire (BIE ---I I---) est 1 (son tat de signal est gal 1) Un dbordement (OV ---I I---) sest produit lors dune opration arithmtique ou un dbordement mmoris (OS ---I I---). Le rsultat dune opration arithmtique est illicite (UO ---I I---). Le rsultat dune opration arithmtique par rapport 0 est : == 0, <> 0, > 0, < 0, >= 0, <= 0

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

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

...2

RB

BI1

BI0

DEB

DM

OU

ETAT RLG

/PI

Vous pouvez valuer les bits du mot dtat dans les oprations sur nombres entiers, dans les oprations sur nombres virgule flottante.

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

12-1

Oprations sur bits d'tat

12.2

OV ---| |---

Bit d'anomalie "dbordement"

Reprsentation
OV ou forme inverse OV

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

Exemple
Rseau 1 E 0.0 EW0 EW2 Rseau 2 OV SUB_I ENO EN IN1 IN2 OUT

MW10

E 0.1 E 0.2 E 0.2

A 4.0 S

L'tat de signal 1 en E 0.0 active l'opration SUB_I. Si le rsultat de l'opration arithmtique EW0 - EW2 est hors de la plage autorise pour un nombre entier, le bit DEB est mis 1. Le rsultat d'une interrogation d'tat de signal en OV (DEB) gale 1.

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

12-2

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations sur bits d'tat

12.3

OS ---| |---

Bit d'anomalie "dbordement mmoris"

Reprsentation
OS ou forme inverse OS

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

12-3

Oprations sur bits d'tat

Exemple
Rseau 1 E 0.0 EW0 EW2 Rseau 2 E 0.01 EW0 EW2 Rseau 3 OS ADD_I ENO EN IN1 IN2 OUT MW12 MUL_I ENO EN IN1 IN2 OUT

MW10

A 4.0 S

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

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

12-4

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations sur bits d'tat

12.4

UO ---| |---

Bit danomalie "illicite"

Reprsentation
UO ou forme inverse UO

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 ED0 ED4 DIV_R ENO EN IN1 IN2 OUT A 4.0 S MD10

UO

A 4.1 S

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

12-5

Oprations sur bits d'tat

12.5

BIE ---| |---

Bit danomalie "registre RB"

Reprsentation
BIE ou forme inverse BIE

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 E 0.2 BIE A 4.0 S

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

12-6

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations sur bits d'tat

12.6

==0 ---| |---

Bit de rsultat pour gal 0

Reprsentation
==0 ou forme inverse ==0

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

Exemples
E 0.0 EW0 EW2 SUB_I ENO EN IN1 OUT IN2 ==0 A 4.0 S MW10

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

E 0.0 EW0 EW2

SUB_I ENO EN IN1 OUT IN2

==0

A 4.0 S

MW10

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

12-7

Oprations sur bits d'tat

12.7

<>0 ---| |---

Bit de rsultat pour diffrent de 0

Reprsentation
<>0 ou forme inverse <>0

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

Exemples
E 0.0 EW0 EW2 SUB_I ENO EN IN1 OUT IN2 <>0 A 4.0 S MW10

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

E 0.0 EW0 EW2

SUB_I ENO EN IN1 OUT IN2

<>0

A 4.0 S

MW10

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

12-8

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations sur bits d'tat

12.8

>0 ---| |---

Bit de rsultat pour suprieur 0

Reprsentation
>0 ou forme inverse >0

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 EW0 EW2 SUB_I ENO EN IN1 OUT IN2 >0 A 4.0 S MW10

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

E 0.0 EW0 EW2

SUB_I ENO EN IN1 OUT IN2

>0

A 4.0 S

MW10

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

12-9

Oprations sur bits d'tat

12.9

<0 ---| |---

Bit de rsultat pour infrieur 0

Reprsentation
<0 ou forme inverse <0

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

Exemples
E 0.0 EW0 EW2 SUB_I ENO EN IN1 OUT IN2 <0 A 4.0 S MW10

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

E 0.0 EW0 EW2

SUB_I ENO EN IN1 OUT IN2

<0

A 4.0 S

MW10

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

12-10

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations sur bits d'tat

12.10 >=0 ---| |--Reprsentation


>=0

Bit de rsultat pour suprieur ou gal 0

>=0 ou forme inverse

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

Exemples
E 0.0 EW0 EW2 SUB_I ENO EN IN1 OUT IN2 >=0 A 4.0 S MW10

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

E 0.0 EW0 EW2

SUB_I ENO EN IN1 OUT IN2

>=0

A 4.0 S

MW10

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

12-11

Oprations sur bits d'tat

12.11 <=0 ---| |--Reprsentation


<=0

Bit de rsultat pour infrieur ou gal 0

<=0 ou forme inverse

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

Exemples
E 0.0 EW0 EW2 SUB_I ENO EN IN1 OUT IN2 <=0 A 4.0 S MW10

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

E 0.0 EW0 EW2

SUB_I ENO EN IN1 OUT IN2

<=0

A 4.0 S

MW10

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

12-12

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

13 Oprations de temporisation

13.1

Vue densemble des oprations de temporisation

Description
Vous disposez des oprations de temporisations suivantes : S_IMPULS S_VIMP S_EVERZ Paramtrer et dmarrer temporisation sous forme d'impulsion Paramtrer et dmarrer temporisation sous forme d'impulsion prolonge Paramtrer et dmarrer temporisation sous forme de retard la monte

S_SEVERZ Paramtrer et dmarrer temporisation sous forme de retard la monte mmoris S_AVERZ ---( SI ) ---( SV ) ---( SE ) ---( SS ) ---( SA ) Paramtrer et dmarrer temporisation sous forme de retard la retombe Dmarrer temporisation sous forme d'impulsion Dmarrer temporisation sous forme d'impulsion prolonge Dmarrer temporisation sous forme de retard la monte Dmarrer temporisation sous forme de retard la monte mmoris Dmarrer temporisation sous forme de retard la retombe

13.2

Adresse dune temporisation en mmoire et composants dune temporisation

Zone de mmoire
Une zone de mmoire est rserve aux temporisations dans votre CPU. Un mot de 16 bits y est rserv pour chaque oprande de temporisation. La programmation en CONT permet dutiliser jusqu 256 temporisations. Le nombre de mots de temporisation disponibles dans votre CPU figure dans les caractristiques de la CPU. Les fonctions suivantes ont accs la zone de mmoire rserve aux temporisations : oprations de temporisation, actualisation des mots de temporisation avec une horloge. Cette fonction dcrmente, ltat de marche (RUN) de la CPU, une valeur donne dune unit dans un intervalle dfini par la base de temps, et ce, jusqu ce que la valeur de temps soit gale zro.

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

13-1

Oprations de temporisation

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

w = base de temps (cest--dire lintervalle de temps ou la rsolution) xyz = valeur de temps en format dcimal cod binaire (DCB)

S5T#aH_bM_cS_dMS
-

H (heures), M (minutes), S (secondes ) et MS (millisecondes) a, b, c, d sont definies par l'utilisateur la base de temps est choisie automatiquement et la valeur est arrondie au nombre infrieur le plus proche avec cette base de temps.

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

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

Code binaire de la base de temps


00 01 10 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
0,01 seconde 0,1 1 10 seconde seconde secondes

Plage
10MS 1S 10S 9S_990MS 16M_39S 2H_46M_30S 100MS 1M_39S_900MS

13-2

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de temporisation

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

...8 7... 1 0 0 2

0 0

1 7

...0 1

Base de temps 1 seconde

Valeur de temps en format DBC (0 999)

Ces bits ne sont pas significatifs, cest--dire quils ne sont pas pris en compte lorsque la temporisation est dmarre.

Lecture de la valeur et de la base de temps


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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

13-3

Oprations de temporisation

Choix de la temporisation correcte


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

E 0.0

A 4.0 S_IMPULS t

A 4.0 S_VIMP t

A 4.0 S_EVERZ t

A 4.0 S_SEVERZ t

A 4.0 S_AVERZ t

Temporisations S_IMPULS temporisation sous forme dimpulsion S_VIMP temporisation sous forme dimpulsion prolonge S_EVERZ temporisation sous forme de retard la monte S_SEVERZ temporisation sous forme de retard la monte mmoris S_AVERZ temporisation sous forme de retard la retombe

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

13-4

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de temporisation

13.3

S_IMPULS Paramtrer et dmarrer temporisation sous forme d'impulsion

Reprsentation
Anglaise
T n S_PULSE S TV R Q BI BCD S TW R

Allemande
T n S_IMPULS Q DUAL DEZ

Paramtre Anglaise
T n

Paramtre Allemande
Tn
o

Type de donnes
TIMER

Zone de mmoire
T

Description
Numro d'identification de la temporisation. La plage dpend de la CPU. Entre de dmarrage Valeur de temps prdfinie Entre de remise zro Valeur de temps restante (format binaire) Valeur de temps restante (format DCB) Etat de la temporisation

S TV R BI BCD Q

S TW R DUAL DEZ Q

BOOL S5TIME BOOL WORD WORD BOOL

E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

13-5

Oprations de temporisation

Chronogramme
Proprits de la temporisation sous forme d'impulsion
t RLG lentre S t t

RLG lentre R

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

t = Temps programm

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 S5TIME#2S T5 S_IMPULS Q S TW R DUAL DEZ A 4.0

E 0.1

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

13-6

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de temporisation

13.4

S_VIMP Paramtrer et dmarrer temporisation sous forme d'impulsion prolonge

Reprsentation
Anglaise
T n S_PEXT S TV R Q BI BCD S TW R

Allemande
T n S_VIMP Q DUAL DEZ

Paramtre Anglaise
T n

Paramtre Allemande
Tn
o

Type de donnes
TIMER

Zone de mmoire
T

Description
Numro d'identification de la temporisation. La plage dpend de la CPU. Entre de dmarrage Valeur de temps prdfinie Entre de remise zro Valeur de temps restante (format binaire) Valeur de temps restante (format DCB) Etat de la temporisation

S TV R BI BCD Q

S TW R DUAL DEZ Q

BOOL S5TIME BOOL WORD WORD BOOL

E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

13-7

Oprations de temporisation

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

RLG lentre R

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

t = Temps programm

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 S E 0.1 S5TIME#2S TW R T5 S_VIMP Q DUAL DEZ A 4.0

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

13-8

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de temporisation

13.5

S_EVERZ Paramtrer et dmarrer temporisation sous forme de retard la monte

Reprsentation
Anglaise
T n S_ODT S TV R Q BI BCD S TW R

Allemande
T n S_EVERZ Q DUAL DEZ

Paramtre Anglaise
T n

Paramtre Allemande
Tn
o

Type de donnes
TIMER

Zone de mmoire
T

Description
Numro d'identification de la temporisation. La plage dpend de la CPU. Entre de dmarrage Valeur de temps prdfinie Entre de remise zro Valeur de temps restante (format binaire) Valeur de temps restante (format DCB) Etat de la temporisation

S TV R BI BCD Q

S TW R DUAL DEZ Q

BOOL S5TIME BOOL WORD WORD BOOL

E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

13-9

Oprations de temporisation

Chronogramme
Proprits de la temporisation sous forme de retard la monte
t RLG lentre S t t

RLG lentre R

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

t = Temps programm

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 S5TIME#2S T5 S_EVERZ Q S TW R DUAL DEZ A 4.0

E 0.1

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

13-10

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de temporisation

13.6

S_SEVERZ Paramtrer et dmarrer temporisation sous forme de retard la monte mmoris

Reprsentation
Anglaise
T n S_ODTS S TV R Q BI BCD S TW R

Allemande
T n S_SEVERZ Q DUAL DEZ

Paramtre Anglaise
T n

Paramtre Allemande
Tn
o

Type de donnes
TIMER

Zone de mmoire
T

Description
Numro d'identification de la temporisation. La plage dpend de la CPU. Entre de dmarrage Valeur de temps prdfinie Entre de remise zro Valeur de temps restante (format binaire) Valeur de temps restante (format DCB) Etat de la temporisation

S TV R BI BCD Q

S TW R DUAL DEZ Q

BOOL S5TIME BOOL WORD WORD BOOL

E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

13-11

Oprations de temporisation

Chronogramme
Proprits de la temporisation sous forme de retard la monte mmoris
t RLG lentre S t t t

RLG lentre R

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

t = Temps programm

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 S5TIME#2S T5 S_SEVERZ Q S TV R DUAL DEZ A 4.0

E 0.1

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

13-12

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de temporisation

13.7

S_AVERZ Paramtrer et dmarrer temporisation sous forme de retard la retombe

Reprsentation
Anglaise
T n S_OFFDT S TV R Q BI BCD S TW R

Allemande
T n S_AVERZ Q DUAL DEZ

Paramtre Anglaise
T n

Paramtre Allemande
Tn
o

Type de donnes
TIMER

Zone de mmoire
T

Description
Numro d'identification de la temporisation. La plage dpend de la CPU. Entre de dmarrage Valeur de temps prdfinie Entre de remise zro Valeur de temps restante (format binaire) Valeur de temps restante (format DCB) Etat de la temporisation

S TV R BI BCD Q

S TW R DUAL DEZ Q

BOOL S5TIME BOOL WORD WORD BOOL

E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

13-13

Oprations de temporisation

Chronogramme
Proprits de la temporisation sous forme de retard la retombe
t RLG lentre S t t t

RLG lentre R

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

t = Temps programm

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
x

ETAT
x

RLG
x

/PI
1

Exemple
E 0.0 S5TIME#2S T5 S_AVERZ Q S TV R DUAL DEZ A 4.0

E 0.1

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

13-14

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de temporisation

13.8

---( SI )

Dmarrer temporisation sous forme d'impulsion

Reprsentation
Anglaise <T n > ---( SP ) <valeur de temps> Allemande <T n > ---( SI ) <valeur de temps>

Paramtre
<T n > <valeur de temps>

Type de donnes
TIMER S5TIME

Zone de mmoire
T E, A, M, L, D

Description
Numro de la temporisation. La plage dpend de la CPU. Valeur de temps prdfinie

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

Mot dtat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
-

RLG
-

/PI
0

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

13-15

Oprations de temporisation

Exemple
Rseau 1 E 0.0 T5 SI S5T#2S Rseau 2 T5 A 4.0

Rseau 3 E 0.1 T5 R

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

13.9

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

Reprsentation
Anglaise <T n > ---( SE ) <valeur de temps> Allemande <T n > ---( SV ) <valeur de temps>

Paramtre
<T n > <valeur de temps>

Type de donnes
TIMER S5TIME

Zone de mmoire
T E, A, M, L, D

Description
Numro de la temporisation. La plage dpend de la CPU. Valeur de temps prdfinie

13-16

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de temporisation

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

Mot dtat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
-

RLG
-

/PI
0

Exemple
Rseau 1 E 0.0 T5 SV S5T#2S Rseau 2 T5 A 4.0

Rseau 3 E 0.1 T5 R

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

13-17

Oprations de temporisation

13.10 ---( SE ) monte


Reprsentation
Anglaise <T n > ---( SD )

Dmarrer temporisation sous forme de retard la

Allemande <T n > ---( SE ) <valeur de temps>

<valeur de temps>

Paramtre
<T n > <valeur de temps>

Type de donnes
TIMER S5TIME

Zone de mmoire
T E, A, M, L, D

Description
Numro de la temporisation. La plage dpend de la CPU. Valeur de temps prddinie

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

Mot dtat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
-

RLG
-

/PI
0

13-18

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de temporisation

Exemple
Rseau 1 E 0.0 T5 SE S5T#2S Rseau 2 T5 A 4.0

Rseau 3 E 0.1 T5 R

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

13-19

Oprations de temporisation

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


Reprsentation
Anglaise <T n > ---( SS ) <valeur de temps> Allemande <T n > ---( SS ) <valeur de temps>

Paramtre
<T n > <valeur de temps>

Type de donnes
TIMER S5TIME

Zone de mmoire
T E, A, M, L, D

Description
Numro de la temporisation. La plage dpend de la CPU. Valeur de temps prdfinie

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

Mot dtat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
-

RLG
-

/PI
0

13-20

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations de temporisation

Exemple
Rseau 1 E 0.0 T5 SS S5T#2S Rseau 2 T5 A 4.0

Rseau 3 E 0.1 T5 R

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

13-21

Oprations de temporisation

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


Reprsentation
Anglaise <T n > ---( SF ) <valeur de temps> Allemande <T n > ---( SA ) <valeur de temps>

Paramtre
<T n > <valeur de temps>

Type de donnes
TIMER S5TIME

Zone de mmoire
T E, A, M, L, D

Description
Numro de la temporisation. La plage dpend de la CPU. Valeur de temps prdfinie

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

Mot dtat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
-

RLG
-

/PI
0

Exemple
Rseau 1 E 0.0 T5 SA S5T#2S Rseau 2 T5 A 4.0

Rseau 3 E 0.1 T5 R

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

13-22

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

14 Oprations combinatoires sur mots

14.1

Vue densemble 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. Ces oprations sont actives si l'tat de signal est 1 l'entre de validation EN Si le rsultat la sortie OUT est diffrent de 0, le bit BI1 du mot d'tat est mis 1. Si le rsultat la sortie OUT est gale 0, le bit BI1 du mot d'tat est mis 0. Vous disposez des oprations combinatoires sur mots suivantes : WAND_W WOR_W WXOR_W WAND_DW WOR_DW WXOR_DW ET mot OU mot OU exclusif mot ET double mot OU double mot OU exclusif double mot

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

14-1

Oprations combinatoires sur mots

14.2

WAND_W

ET mot

Reprsentation
WAND_W EN IN1 IN2 ENO OUT

Paramtre
EN ENO IN1 IN2 OUT

Type de donnes
BOOL BOOL WORD WORD WORD

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Premire valeur pour la combinaison Seconde valeur pour la combinaison Rsultat de la combinaison (mot)

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

Mot d'tat
RB
Ecriture 1

BI1
x

BI0
0

DEB
0

DM
-

OU
x

ETAT
1

RLG
1

/PI
1

Exemple
E 0.0 MW0 2#0000000000001111
WAND_W

A 4.0 MW2

EN IN1 IN2

ENO OUT

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

MW0 ET IN2 = MW2 =

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

14-2

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations combinatoires sur mots

14.3

WOR_W

OU mot

Reprsentation
WOR_W EN IN1 IN2 ENO OUT

Paramtre
EN ENO IN1 IN2 OUT

Type de donnes
BOOL BOOL WORD WORD WORD

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Premire valeur pour la combinaison Seconde valeur pour la combinaison Rsultat de la combinaison (mot)

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

Mot d'tat
RB
Ecriture 1

BI1
x

BI0
0

DEB
0

DM
-

OU
x

ETAT
1

RLG
1

/PI
1

Exemple
E 0.0 MW0 2#0000000000001111
WOR_W

A 4.0 MW2

EN IN1 IN2

ENO OUT

Cette opration est excute si l'tat de signal est 1 l'entre E 0.0. Les bits 0 3 sont mis 1, tous les autres bits de MW0 restent inchangs. MW0 IN2 MW0 OU IN2=MW2 = = = 01010101 01010101 00000000 00001111 01010101 01011111

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

14-3

Oprations combinatoires sur mots

14.4

WXOR_W

OU exclusif mot

Reprsentation
WXOR_W EN IN1 IN2 ENO OUT

Paramtre
EN ENO IN1 IN2 OUT

Type de donnes
BOOL BOOL WORD WORD WORD

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Premire valeur pour la combinaison Seconde valeur pour la combinaison Rsultat de la combinaison (mot)

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

Mot d'tat
RB
Ecriture 1

BI1
x

BI0
0

DEB
0

DM
-

OU
x

ETAT
1

RLG
1

/PI
1

Exemple
E 0.0 MW0 2#0000000000001111
WXOR_W

A 4.0 MW2

EN IN1 IN2

ENO OUT

Cette opration est excute si l'tat de signal est 1 l'entre E 0.0 : MW0 IN2 = = MW2 = 01010101 01010101 00000000 00001111 01010101 01011010

MW0 OU exclusif IN2 =

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

14-4

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations combinatoires sur mots

14.5

WAND_DW

ET double mot

Reprsentation
WAND_DW EN IN1 IN2 ENO OUT

Paramtre
EN ENO IN1 IN2 OUT

Type de donnes
BOOL BOOL DWORD DWORD DWORD

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Premire valeur pour la combinaison Seconde valeur pour la combinaison Rsultat de la combinaison (double mot)

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

Mot d'tat
RB
Ecriture 1

BI1
x

BI0
0

DEB
0

DM
-

OU
x

ETAT
1

RLG
1

/PI
1

Exemple
E 0.0 MD0 DW#16#FFF
WAND_DW

A 4.0 MD4

EN IN1 IN2

ENO OUT

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

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

14-5

Oprations combinatoires sur mots

14.6

WOR_DW

OU double mot

Reprsentation
WOR_DW EN IN1 IN2 ENO OUT

Paramtre
EN ENO IN1 IN2 OUT

Type de donnes
BOOL BOOL DWORD DWORD DWORD

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Premire valeur pour la combinaison Seconde valeur pour la combinaison Rsultat de la combinaison (double mot)

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

Mot d'tat
RB
Ecriture 1

BI1
x

BI0
0

DEB
0

DM
-

OU
x

ETAT
1

RLG
1

/PI
1

Exemple
E 0.0 MD0 DW#16#FFF
WOR_DW

A 4.0 MD4

EN IN1 IN2

ENO OUT

Cette opration est excute si l'tat de signal est 1 l'entre E 0.0. Les bits 0 11 sont mis 1. Les bits restants de MD0 restent inchangs. MD0 IN2 MD0 OU IN2 = MD4 = = = 01010101 01010101 01010101 01010101 00000000 00000000 00001111 11111111 01010101 01010101 01011111 11111111

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

14-6

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Oprations combinatoires sur mots

14.7

WXOR_DW

OU exclusif double mot

Reprsentation
WXOR_DW EN IN1 IN2 ENO OUT

Paramtre
EN ENO IN1 IN2 OUT

Type de donnes
BOOL BOOL DWORD DWORD DWORD

Zone de mmoire
E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D

Description
Entre de validation Sortie de validation Premire valeur pour la combinaison Seconde valeur pour la combinaison Rsultat de la combinaison (double mot)

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

Mot d'tat
RB
Ecriture 1

BI1
x

BI0
0

DEB
0

DM
-

OU
x

ETAT
1

RLG
1

/PI
1

Exemple
E 0.0 MD0 DW#16#FFF
WXOR_DW

A 4.0 MD4

EN IN1 IN2

ENO OUT

Cette opration est excute si l'tat de signal est 1 l'entre E 0.0 : MD0 IN2 MD0 OU exclusif IN2 = = = MD4 = 01010101 01010101 01010101 01010101 00000000 00000000 00001111 11111111 01010101 01010101 01011010 10101010

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

14-7

Oprations combinatoires sur mots

14-8

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Prsentation de toutes les oprations CONT

A.1

Oprations CONT classes daprs les abrviations allemandes (SIMATIC)


Description Contact fermeture Contact ouverture Bobine de sortie Connecteur Bit de rsultat pour gal 0 Bit de rsultat pour suprieur 0 Bit de rsultat pour suprieur ou gal 0 Bit de rsultat pour infrieur ou gal 0 Bit de rsultat pour infrieur 0 Bit de rsultat pour diffrent de 0 Valeur absolue dun nombre rel Arc cosinus Additionner entiers de 32 bits Additionner entiers de 16 bits Additionner rels Arc sinus Arc tangente Ouvrir bloc de donnes Convertir nombre DCB en entier de 32 bits
Convertir nombre DCB en entier de 16 bits Bit d'anomalie "registre RB" Appeler FC/SFC sans paramtre Appeler FB (bote) Appeler FC (bote) Appeler SFB (bote) Appeler SFC (bote)

Abrviations Abrviations Catalogue des lments allemandes anglaises de programme


---| |-----|/|-----( ) ---(#)--==0 ---| |-----| |-----|/|-----( ) ---(#)--==0 ---| |---

Combinaison sur bits Combinaison sur bits Combinaison sur bits Combinaison sur bits Bits d'tat Bits d'tat Bits d'tat Bits d'tat Bits d'tat Bits d'tat Fonction sur nombres virgule flottante Fonction sur nombres virgule flottante Fonction sur nombres entiers Fonction sur nombres entiers Fonction sur nombres virgule flottante Fonction sur nombres virgule flottante Fonction sur nombres virgule flottante Appel de DB Conversion
Conversion Bits d'tat Gestion d'excution de programmes Gestion d'excution de programmes Gestion d'excution de programmes Gestion d'excution de programmes Gestion d'excution de programmes

>0 ---| |-->=0 ---| |--<=0 ---| |--<0 ---| |--<>0 ---| |--ABS ACOS
ADD_DI ADD_I ADD_R

>0 ---| |-->=0 ---| |--<=0 ---| |--<0 ---| |--<>0 ---| |--ABS ACOS
ADD_DI ADD_I ADD_R

ASIN
ATAN ---( OPN )

ASIN
ATAN ---( OPN )

BCD_DI
BCD_I BIE ---| |------(CALL) CALL_FB CALL_FC CALL_SFB CALL_SFC

BCD_DI
BCD_I BR ---| |------(CALL) CALL_FB CALL_FC CALL_SFB CALL_SFC

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

A-1

Prsentation de toutes les oprations CONT

Abrviations Abrviations Catalogue des lments allemandes anglaises de programme


CEIL CMP ? D CMP ? I CMP ? R COS DI_BCD DI_R DIV_DI DIV_I DIV_R EXP FLOOR I_BCD I_DI INV_I INV_DI ---(JMP) ---(JMP) ---(JMPN) LABEL LN ---(MCR>) ---(MCR<) ---(MCRA) ---(MCRD) CEIL CMP ? D CMP ? I CMP ? R COS DI_BCD DI_R DIV_DI DIV_I DIV_R EXP FLOOR I_BCD I_DI INV_I INV_DI ---(JMP) ---(JMP) ---(JMPN) LABEL LN ---(MCR>) ---(MCR<) ---(MCRA) ---(MCRD) Conversion Comparaison Comparaison Comparaison Fonction sur nombres virgule flottante Conversion Conversion Fonction sur nombres entiers Fonction sur nombres entiers Fonction sur nombres entiers Fonction sur nombres virgule flottante Conversion Conversion Conversion Conversion Conversion

Description
Convertir rel en entier suprieur le plus proche Comparer entiers de 32 bits Comparer entiers de 16 bits Comparer rels Cosinus Convertir entier de 32 bits en nombre DCB Convertir entier de 32 bits en rel Diviser entiers de 32 bits Diviser entiers de 16 bits Diviser rels Valeur exponentielle Convertir rel en entier infrieur le plus proche Convertir entier de 16 bits en nombre DCB Convertir entier de 16 bits en entier de 32 bits Complment 1 d'entier de 16 bits Complment 1 d'entier de 32 bits

Sauts Sauts Sauts Sauts Fonction sur nombres virgule flottante Gestion d'excution de programmes Gestion d'excution de programmes Gestion d'excution de programmes Gestion d'excution de programmes Fonction sur nombres entiers Transfert Fonction sur nombres entiers Fonction sur nombres entiers Fonction sur nombres virgule flottante Combinaison sur bits Combinaison sur bits Conversion Conversion Conversion Combinaison sur bits Bits d'tat Bits d'tat Combinaison sur bits

Saut inconditionnel Saut l'intrieur d'un bloc si 1 (conditionnel) Saut l'intrieur d'un bloc si 0 (conditionnel) Repre de saut Logarithme naturel Relais de masquage hors fonction Relais de masquage en fonction Activer relais de masquage Dsactiver relais de masquage Reste de division (32 bits) Affecter valeur Multiplier entiers de 32 bits Multiplier entiers de 16 bits Multiplier rels Dtecter front descendant Dtecter front descendant de signal Complment 2 d'entier de 32 bits Complment 2 d'entier de 16 bits Inverser le signe d'un nombre rel Inverser RLG Bit d'anomalie "dbordement mmoris" Bit d'anomalie "dbordement" Dtecter front montant

MOD_DI
MOVE MUL_DI MUL_I MUL_R

MOD_DI
MOVE MUL_DI MUL_I MUL_R

---( N )--NEG NEG_DI NEG_I NEG_R ---| NOT |--OS ---| |---

---( N )--NEG NEG_DI NEG_I NEG_R ---| NOT |--OS ---| |---

OV ---| |-----( P )---

OV ---| |-----( P )---

A-2

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Prsentation de toutes les oprations CONT

Abrviations Abrviations Catalogue des lments allemandes anglaises de programme


POS ---( R ) ---(RET) ROL_DW ROR_DW ROUND RS POS ---( R ) ---(RET) ROL_DW ROR_DW ROUND RS

Description Dtecter front montant de signal Mettre 0 Retour Rotation vers la gauche dun double mot Rotation vers la droite dun double mot Arrondir Bascule mise 0, mise 1 Mettre 1 Dmarrer temporisation sous forme de retard la retombe Sauvegarder RLG dans RB Paramtrer et dmarrer temporisation sous forme de retard la retombe Dmarrer temporisation sous forme de retard la monte Paramtrer et dmarrer temporisation sous forme de retard la monte Dcalage vers la gauche d'un double mot Dcalage vers la gauche d'un mot Dcalage vers la droite d'un entier de 32 bits Dcalage vers la droite d'un double mot Dcalage vers la droite d'un entier de 16 bits Dcalage vers la droite d'un mot Dmarrer temporisation sous forme d'impulsion Paramtrer et dmarrer temporisation sous forme d'impulsion Sinus Carr Racine carre Bascule mise 1, mise 0 Dmarrer temporisation sous forme de retard la monte mmoris Paramtrer et dmarrer temporisation sous forme de retard la monte mmoris (SS) Soustraire entiers de 32 bits Soustraire entiers de 16 bits Soustraire rels Dmarrer temporisation sous forme d'impulsion prolonge Paramtrer et dmarrer temporisation sous forme d'impulsion prolonge Initialiser compteur Tangente

Combinaison sur bits Combinaison sur bits Gestion d'excution de programmes Dcalage/rotation Dcalage/rotation Conversion Combinaison sur bits Combinaison sur bits Temporisations Combinaison sur bits Temporisations Temporisations Temporisations Dcalage/rotation Dcalage/rotation Dcalage/rotation Dcalage/rotation Dcalage/rotation Dcalage/rotation Temporisations Temporisations Fonction sur nombres virgule flottante Fonction sur nombres virgule flottante Fonction sur nombres virgule flottante Combinaison sur bits Temporisations Temporisations Fonction sur nombres entiers Fonction sur nombres entiers Fonction sur nombres virgule flottante Temporisations Temporisations Compteurs Fonction sur nombres virgule flottante

---( S )
---( SA ) ---( SAVE ) S_AVERZ ---( SE ) S_EVERZ SHL_DW

---( S )
---( SF ) ---( SAVE ) S_OFFDT ---( SD ) S_ODT SHL_DW

SHL_W SHR_DI SHR_DW SHR_I SHR_W ---( SI )


S_IMPULS SIN SQR

SHL_W SHR_DI SHR_DW SHR_I SHR_W ---( SP )


S_PULSE SIN SQR

SQRT SR
---( SS ) S_SEVERZ SUB_DI SUB_I SUB_R

SQRT SR
---( SS ) S_ODTS SUB_DI SUB_I SUB_R

---( SV )
S_VIMP ---( SZ ) TAN

---( SE )
S_PEXT ---( SC ) TAN

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

A-3

Prsentation de toutes les oprations CONT

Abrviations Abrviations Catalogue des lments allemandes anglaises de programme


TRUNC UO ---| |--WAND_DW WAND_W WOR_DW WOR_W WXOR_DW WXOR_W ZAEHLER TRUNC UO ---| |--WAND_DW WAND_W WOR_DW WOR_W WXOR_DW WXOR_W S_CUD

Description Tronquer la partie entire Bit danomalie "illicite" ET double mot ET mot OU double mot OU mot OU exclusif double mot OU exclusif mot Paramtrage et compteur d'incrmentation/ dcrmentation Dcrmenter Paramtrage et compteur de dcrmentation Incrmenter Paramtrage et compteur d'incrmentation

Conversion Bits d'tat Combinaison sur mots Combinaison sur mots Combinaison sur mots Combinaison sur mots Combinaison sur mots Combinaison sur mots Compteurs Compteurs Compteurs Compteurs Compteurs

----(ZR)
Z_RUECK ---( ZV ) Z_VORW

----(CD)
----(S_CD) ----(CU) S_CU

A-4

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Prsentation de toutes les oprations CONT

A.2

Oprations CONT classes daprs les abrviations anglaises


Description Contact ouverture Contact fermeture Bobine de sortie Connecteur Bit de rsultat pour gal 0 Bit de rsultat pour suprieur 0 Bit de rsultat pour suprieur ou gal 0 Bit de rsultat pour infrieur ou gal 0 Bit de rsultat pour infrieur 0 Bit de rsultat pour diffrent de 0 Valeur absolue dun nombre rel Arc cosinus Additionner entiers de 32 bits Additionner entiers de 16 bits Additionner rels Arc sinus Arc tangente Convertir nombre DCB en entier de 32 bits Convertir nombre DCB en entier de 16 bits
Bit d'anomalie "registre RB" Appeler FC/SFC sans paramtre Appeler FB (bote) Appeler FC (bote) Appeler SFB (bote) Appeler SFC (bote) Dcrmenter Convertir rel en entier suprieur le plus proche Comparer entiers de 32 bits Comparer entiers de 16 bits Comparer rels Cosinus Incrmenter Convertir entier de 32 bits en nombre DCB Convertir entier de 32 bits en rel

Abrviations Abrviations Catalogue des lments anglaises allemandes de programme


---|/|-----| |-----( ) ---(#)--==0 ---| |-----|/|-----| |-----( ) ---(#)--==0 ---| |---

Combinaison sur bits Combinaison sur bits Combinaison sur bits Combinaison sur bits Bits d'tat Bits d'tat Bits d'tat Bits d'tat Bits d'tat Bits d'tat Fonction sur nombres virgule flottante Fonction sur nombres virgule flottante Fonction sur nombres entiers Fonction sur nombres entiers Fonction sur nombres virgule flottante Fonction sur nombres virgule flottante Fonction sur nombres virgule flottante Conversion Conversion
Bits d'tat Gestion d'excution de programmes Gestion d'excution de programmes Gestion d'excution de programmes Gestion d'excution de programmes Gestion d'excution de programmes Compteurs Conversion Comparaison Comparaison Comparaison Fonction sur nombres virgule flottante Compteurs Conversion Conversion

>0 ---| |-->=0 ---| |--<=0 ---| |--<0 ---| |--<>0 ---| |--ABS ACOS
ADD_DI ADD_I ADD_R

>0 ---| |-->=0 ---| |--<=0 ---| |--<0 ---| |--<>0 ---| |--ABS ACOS
ADD_DI ADD_I ADD_R

ASIN
ATAN BCD_DI BCD_I BR ---| |------(CALL) CALL_FB CALL_FC CALL_SFB CALL_SFC ----(CD) CEIL CMP ? D CMP ? I CMP ? R COS ----(CU) DI_BCD DI_R

ASIN
ATAN BCD_DI BCD_I BIE ---| |------(CALL) CALL_FB CALL_FC CALL_SFB CALL_SFC ----(ZR) CEIL CMP ? D CMP ? I CMP ? R COS ---( ZV ) DI_BCD DI_R

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

A-5

Prsentation de toutes les oprations CONT

Abrviations Abrviations Catalogue des lments anglaises allemandes de programme


DIV_DI DIV_I DIV_R EXP FLOOR I_BCD I_DI INV_I INV_DI ---(JMP) ---(JMP) ---(JMPN) LABEL LN ---(MCR>) ---(MCR<) ---(MCRA) ---(MCRD) DIV_DI DIV_I DIV_R EXP FLOOR I_BCD I_DI INV_I INV_DI ---(JMP) ---(JMP) ---(JMPN) LABEL LN ---(MCR>) ---(MCR<) ---(MCRA) ---(MCRD) Fonction sur nombres entiers Fonction sur nombres entiers Fonction sur nombres virgule flottante Fonction sur nombres virgule flottante Conversion Conversion Conversion Conversion

Description
Diviser entiers de 32 bits Diviser entiers de 16 bits Diviser rels Valeur exponentielle Convertir rel en entier infrieur le plus proche Convertir entier de 16 bits en nombre DCB Convertir entier de 16 bits en entier de 32 bits Complment 1 d'entier de 16 bits

Conversion Sauts Sauts Sauts Sauts Fonction sur nombres virgule flottante Gestion d'excution de programmes Gestion d'excution de programmes Gestion d'excution de programmes Gestion d'excution de programmes Fonction sur nombres entiers Transfert Fonction sur nombres entiers Fonction sur nombres entiers Fonction sur nombres virgule flottante Combinaison sur bits Combinaison sur bits Conversion Conversion Conversion Combinaison sur bits Appel de DB Bits d'tat Bits d'tat Combinaison sur bits Combinaison sur bits Combinaison sur bits Gestion d'excution de programmes Dcalage/rotation Dcalage/rotation

Complment 1 d'entier de 32 bits Saut inconditionnel Saut l'intrieur d'un bloc si 1 (conditionnel) Saut l'intrieur d'un bloc si 0 (conditionnel) Repre de saut Logarithme naturel Relais de masquage hors fonction Relais de masquage en fonction Activer relais de masquage Dsactiver relais de masquage Reste de division (32 bits) Affecter valeur Multiplier entiers de 32 bits Multiplier entiers de 16 bits Multiplier rels Dtecter front descendant Dtecter front descendant de signal Complment 2 d'entier de 32 bits Complment 2 d'entier de 16 bits Inverser le signe d'un nombre rel Inverser RLG Ouvrir bloc de donnes Bit d'anomalie "dbordement mmoris" Bit d'anomalie "dbordement" Dtecter front montant Dtecter front montant de signal Mettre 0 Retour Rotation vers la gauche dun double mot Rotation vers la droite dun double mot

MOD_DI
MOVE MUL_DI MUL_I MUL_R

MOD_DI
MOVE MUL_DI MUL_I MUL_R

---( N )--NEG NEG_DI NEG_I NEG_R ---| NOT |-----( OPN ) OS ---| |---

---( N )--NEG NEG_DI NEG_I NEG_R ---| NOT |-----( OPN ) OS ---| |---

OV ---| |-----( P )--POS ---( R ) ---(RET) ROL_DW ROR_DW

OV ---| |-----( P )--POS ---( R ) ---(RET) ROL_DW ROR_DW

A-6

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Prsentation de toutes les oprations CONT

Abrviations Abrviations Catalogue des lments anglaises allemandes de programme


ROUND ROUND

Description Arrondir Bascule mise 0, mise 1 Mettre 1 Sauvegarder RLG dans RB Initialiser compteur Paramtrage et compteur de dcrmentation Paramtrage et compteur d'incrmentation Paramtrage et compteur d'incrmentation/ dcrmentation Dmarrer temporisation sous forme de retard la monte Dmarrer temporisation sous forme d'impulsion prolonge Dmarrer temporisation sous forme de retard la retombe Dcalage vers la gauche d'un double mot Dcalage vers la gauche d'un mot Dcalage vers la droite d'un entier de 32 bits Dcalage vers la droite d'un double mot Dcalage vers la droite d'un entier de 16 bits Dcalage vers la droite d'un mot Sinus Paramtrer et dmarrer temporisation sous forme de retard la monte Paramtrer et dmarrer temporisation sous forme de retard la monte mmoris (SS) Paramtrer et dmarrer temporisation sous forme de retard la retombe Dmarrer temporisation sous forme d'impulsion Paramtrer et dmarrer temporisation sous forme d'impulsion prolonge Paramtrer et dmarrer temporisation sous forme d'impulsion Carr Racine carre Bascule mise 1, mise 0 Dmarrer temporisation sous forme de retard la monte mmoris Soustraire entiers de 32 bits Soustraire entiers de 16 bits Soustraire rels Tangente Tronquer la partie entire Bit danomalie "illicite"

Conversion Combinaison sur bits Combinaison sur bits Combinaison sur bits Compteurs Compteurs Compteurs Compteurs Temporisations Temporisations Temporisations Dcalage/rotation Dcalage/rotation Dcalage/rotation Dcalage/rotation Dcalage/rotation Dcalage/rotation Fonction sur nombres virgule flottante Temporisations Temporisations Temporisations Temporisations Temporisations Temporisations Fonction sur nombres virgule flottante Fonction sur nombres virgule flottante Combinaison sur bits Temporisation Fonction sur nombres entiers Fonction sur nombres entiers Fonction sur nombres virgule flottante Fonction sur nombres virgule flottante Conversion Bits d'tat

RS
---( S ) ---( SAVE ) ---( SC ) ----(S_CD) S_CU S_CUD ---( SD ) ---( SE ) ---( SF ) SHL_DW

RS
---( S ) ---( SAVE ) ---( SZ ) Z_RUECK Z_VORW ZAEHLER ---( SE ) ---( SV ) ---( SA ) SHL_DW

SHL_W SHR_DI SHR_DW SHR_I SHR_W SIN


S_ODT

SHL_W SHR_DI SHR_DW SHR_I SHR_W SIN


S_EVERZ

S_ODTS
S_OFFDT ---( SP ) S_PEXT S_PULSE SQR

S_SEVERZ
S_AVERZ ---( SI ) S_VIMP S_IMPULS SQR

SQRT SR
---( SS ) SUB_DI SUB_I SUB_R

SQRT SR
---( SS ) SUB_DI SUB_I SUB_R

TAN
TRUNC

TAN
TRUNC

UO ---| |---

UO ---| |---

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

A-7

Prsentation de toutes les oprations CONT

Abrviations Abrviations Catalogue des lments anglaises allemandes de programme


WAND_DW WAND_DW

Description ET double mot ET mot OU double mot OU mot OU exclusif double mot OU exclusif mot

Combinaison sur mots Combinaison sur mots Combinaison sur mots Combinaison sur mots Combinaison sur mots Combinaison sur mots

WAND_W WOR_DW WOR_W WXOR_DW WXOR_W

WAND_W WOR_DW WOR_W WXOR_DW WXOR_W

A-8

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

B
B.1

Exemples de programmation
Vue densemble des exemples de programmation

Applications pratiques
Chacune des oprations CONT dclenche une fonction prcise. En combinant ces oprations dans un programme, vous pouvez excuter une grande varit de tches dautomatisation. Vous trouvez dans la suite quelques exemples dapplications pratiques des oprations CONT: Commande d'un tapis roulant l'aide d'oprations de combinaison sur bits Dtection du sens de dplacement d'un tapis roulant l'aide d'oprations de combinaison sur bits Gnration d'une priode d'horloge l'aide d'oprations de temporisation Surveillance de l'espace de stockage l'aide l'aide d'oprations de comptage et de comparaison Calculs l'aide d'oprations arithmtiques sur nombres entiers Rglage de la dure de chauffage d'un four

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

Catalogue des lments de programme


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

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

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 composantes du systme convoyeur laide dadresses absolues ou laide de mnmoniques. Si vous choisissez cette mthode, vous devez crer une table des mnmoniques afin de mettre les mnmoniques choisis en relation avec les adresses absolues. Vous mettez les mnmoniques choisis dans la table des mnmoniques en relation avec les adresses absolues (voir laide en ligne de STEP 7).
Composante du systme
Bouton-poussoir Marche Bouton-poussoir Arrt Bouton-poussoir Marche Bouton-poussoir Arrt Capteur Moteur

Adresse absolue Mnmonique


E 1.1 E 1.2 E 1.3 E 1.4 E 1.5 A 4.0 S1 S2 S3 S4 S5 MOTEUR_MAR

Table de mnmoniques
E 1.1 E 1.2 E 1.3 E 1.4 E 1.5 A 4.0 S1 S2 S3 S4 S5 MOTEUR_MAR

B-2

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Exemples de programmation

Schma contacts pour commander un tapis roulant


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

A 4.0 S

S3 E 1.3

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

A 4.0 R

S4 E 1.4

S5 E 1.5

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

B-3

Exemples de programmation

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


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

A 4.0

BPE2

BPE1

A 4.1

Programmation absolue et symbolique


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

Adresse absolue Mnmonique


E 1.1 E 0.0 A 4.0 A 4.1 M 0.0 M 0.1 BPE1 BPE2 DROITE GAUCHE MP1 MP2

Table de mnmoniques
E 0.0 E 0.1 A 4.0 A 4.1 LS1 LS2 DROITE GAUCHE

M 0.0 MP1 M 0.1 MP2

B-4

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Exemples de programmation

Schma contacts pour dtecter le sens de dplacement dun tapis roulant


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

Rseau 2 : Si ltat de signal lentre E 0.1 passe de 0 1 (front montant) et si ltat de signal lentre E 0.0 est simultanment 0, le paquet sur le tapis se dplace vers la droite. Si lune des barrires photolectriques est interrompue, cela signifie quun paquet se trouve entre les deux barrires.
BPE2 E 0.1 MP2 M 0.1 P BPE1 E 0.0 DROITE A 4.0 S

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

GAUCHE A 4.1 R

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

B-5

Exemples de programmation

B.3

Exemple : Oprations de temporisation

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

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

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


T1 M0.2

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


M0.2 M001 JMP

Rseau 4 : Le mot de mmento MW100 est incrment de 1 chaque fois que la temporisation sest coule.

ADD_I EN MW100 1 IN1 IN2 ENO OUT MW100

B-6

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Exemples de programmation

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

M001 MOVE EN MW100 IN ENO OUT AW12

Linterrogation de ltat de signal


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

1 0 250 ms

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

1 0 250 ms

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

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

B-7

Exemples de programmation

Obtenir une frquence prcise


Vous pouvez obtenir les frquences suivantes partir des diffrents bits de loctet de mmento MB101 et MB100 :
Bits de MB101/ MB100
M 101.0 M 101.1 M 101.2 M 101.3 M 101.4 M 101.5 M 101.6 M 101.7 M 100.0 M 100.1 M 100.2 M 100.3 M 100.4 M 100.5 M 100.6 M 100.7

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

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

16384 s (8192 s marche/ 8192 s arrt)

Etat de signal des bits de loctet de mmento MB101


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

Bit 7
0 0 0 0 0 0 0 0 0 0 0 0 0

Bit 6
0 0 0 0 0 0 0 0 0 0 0 0 0

Bit 5
0 0 0 0 0 0 0 0 0 0 0 0 0

Bit 4
0 0 0 0 0 0 0 0 0 0 0 0 0

Bit 3
0 0 0 0 0 0 0 0 1 1 1 1 1

Bit 2
0 0 0 0 1 1 1 1 0 0 0 0 1

Bit 1
0 0 1 1 0 0 1 1 0 0 1 1 0

Bit 0
0 1 0 1 0 1 0 1 0 1 0 1 0

Valeur de temps (ms)


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

B-8

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Exemples de programmation

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

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 (A 12.0)

Espace de stockage non vide (A 12.1)

Espace de stockage plein 50% (A 15.2)

Espace de stockage plein 90% (A15.3)

Espace de stockage plein (A15.4)

Paquets arrivants

E 12.0

Espace de stockage temporaire pour 100 paquets

E 12.1

Paquets sortants

Tapis roulant 1 Barrire photolectrique 1

Tapis roulant 2 Barrire photolectrique 2

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

B-9

Exemples de programmation

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

E 12.0 E 12.1

Z1 ZAEHLER ZV ZR Q

A 12.1

E 12.2 S C#10 E 12.3 R DEZ MW200 ZW DUAL MW210

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


A 12.1 A 12.1

Rseau 3 : Si la valeur 50 est infrieure ou gale la valeur du compteur (cest--dire que la valeur de comptage est suprieure ou gale 50), la lampe de signalisation Espace de stockage plein 50 % sallume.
CMP <= 1 50 MW200 IN1 IN2

A 15.2

Rseau 4 : Si la valeur du compteur est suprieure ou gale 90, la lampe de signalisation Espace de stockage plein 90 % sallume.
CMP >= 1 MW200 90 IN1 IN2

A 15.3

B-10

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Exemples de programmation

Rseau 5 : Si la valeur du compteur est suprieure ou gale 100, la lampe de signalisation Espace de stockage plein sallume. Utilisez la sortie A 4.4 pour bloquer le tapis roulant 1.

CMP >= 1 MW200 100 IN1 IN2

A 15.4

B.5

Exemple : Oprations arithmtiques sur nombres entiers

Calcul dune quation


Lexemple de programme vous montre comment utiliser trois oprations arithmtiques sur nombres entiers pour obtenir le mme rsultat quavec lquation suivante : MW4 = ((EW0 + DBW3) x 15) / MW0

Schma contacts
Rseau 1 : Ouvrir bloc de donnes DB1.
DB1 OPN

Rseau 2 : Le mot dentre EW0 est additionn au mot de donnes global DBW3 (le bloc de donnes doit avoir t dfini et ouvert) et la somme est charge dans le mot de mmento MW100. MW100 est ensuite multipli par 15 et le rsultat mmoris dans le mot de mmento MW102. Puis, MW102 est divis par MW0 et le rsultat mmoris dans MW4. Tant que tous les rsultats sont compris dans la plage autorise pour chaque opration, la sortie de validation ENO transmet un tat de signal gal 1 la bote suivante.
ADD_I EN EW0 DBW3 IN1 IN2 OUT ENO MW100 MW100 15 MUL_I EN IN1 IN2 OUT MW102 ENO MW102 MW0 DIV_I EN IN1 IN2 OUT MW4 ENO

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

B-11

Exemples de programmation

B.6

Exemple : Oprations combinatoires sur mots

Chauffage dun Four


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

Molettes de rglage des chiffres DCB

Four

4
Chaleur

4 ...0 0001
Bits EW0 Octets

A 4.0

7.... XXXX

...0 0001

7... 1001

EB0

EB1

Bouton-poussoir Marche E 0.7

Composants du systme
Bouton-poussoir Marche Molette de rglage des units Molette de rglage des dizaines Molette de rglage des centaines Dclenchement du chauffage

Adresse absolue
E 0.7 E 1.0 E 1.3 E 1.4 E 1.7 E 0.0 E 0.3 A 4.0

B-12

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Exemples de programmation

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

T1

A 4.0

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

T1
RET

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

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

E 0.7

T1
SV MW2

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

B-13

Exemples de programmation

B-14

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Index
---( ) ................................................................ 1-6 ---( # )---............................................................ 1-8 ---( CD ) .......................................................... 4-11 ---( CU ) .......................................................... 4-10 ---( N )--- ......................................................... 1-18 ---( P )--- ......................................................... 1-19 ---( R )............................................................. 1-10 ---( S )............................................................. 1-12 ---( SA ) .........................................................13-22 ---( SC ) ............................................................ 4-9 ---( SD ) .........................................................13-18 ---( SE ) .............................................. 13-16, 13-18 ---( SF )..........................................................13-22 ---( SI )...........................................................13-15 ---( SP ) .........................................................13-15 ---( SS ) .........................................................13-20 ---( SV ) .............................................. 13-16, 13-17 ---( SZ )............................................................. 4-9 ---( ZR ) .......................................................... 4-11 ---( ZV )........................................................... 4-10 ---(Call) ........................................................... 10-2 ---(JMP)---...................................................6-2, 6-3 ---(JMPN).......................................................... 6-4 ---(MCR<) ......................................................10-14 ---(MCR>) ........................................... 10-16, 10-17 ---(MCRA)......................................................10-18 ---(MCRD)......................................................10-19 ---(OPN) ........................................................... 5-1 ---(RET) .........................................................10-20 ---(SAVE)........................................................ 1-20 ---| |--- ............................................................ 1-3 ---| / |--- ............................................................. 1-4 --|NOT|-- ........................................................... 1-5 <=0 ---| |--- ..................................................12-12 <=0 ---| / |--- ...................................................12-12 <>0 ---| |--- ................................................... 12-8 <>0 ---| / |--- .................................................... 12-8 <0 ---| |--- ...................................................12-10 <0 ---| / |--- .....................................................12-10 ==0 ---| |--- .................................................... 12-7 ==0 ---| / |--- .................................................... 12-7 >=0 ---| |--- ..................................................12-11 >=0 ---| / |--- ..................................................12-11 >0 ---| |--- .................................................... 12-9 >0 ---| / |--- ...................................................... 12-9 ACOS............................................................. 8-16 ADD_DI ............................................................ 7-7 ADD_I............................................................... 7-3 ADD_R ............................................................. 8-3 Additionner entiers de 16 bits............................. 7-3 Additionner entiers de 32 bits............................. 7-7 Additionner rels ............................................... 8-3 Adresse dune temporisation en mmoire et composants dune temporisation.................. 13-1 Affecter valeur................................................... 9-1 Appeler FB (bote) ........................................... 10-4 Appeler FC (bote)........................................... 10-6 Appeler FC/SFC sans paramtre ..................... 10-2 Appeler multi-instance ................................... 10-12 Appeler SFB (bote)......................................... 10-8 Appeler SFC (bote)....................................... 10-10 Appeler un bloc dans une bibliothque........... 10-12 Arc cosinus ..................................................... 8-16 Arc sinus......................................................... 8-15 Arc tangente.................................................... 8-17 Arrondir........................................................... 3-13 ASIN............................................................... 8-15 ATAN.............................................................. 8-17 Bascule mise 0 - mise 1 ............................. 1-14 Bascule mise 1 - mise 0 ............................. 1-16 BCD_DI ............................................................ 3-5 BCD_I............................................................... 3-2 BIE ---| |--- .................................................... 12-6 BIE ---| / |--- ..................................................... 12-6 Bit d'anomalie.................................................. 12-1 Bit d'anomalie "dbordement mmoris" .......... 12-3 forme inverse............................................... 12-3 Bit d'anomalie "dbordement" .......................... 12-2 forme inverse............................................... 12-2 Bit d'anomalie "illicite"...................................... 12-5 forme inverse............................................... 12-5 Bit d'anomalie "registre RB" ............................. 12-6 forme inverse............................................... 12-6 Bit de rsultat .................................................. 12-1 Bit de rsultat pour diffrent de 0 ..................... 12-8 forme inverse............................................... 12-8 Bit de rsultat pour gal 0 ............................. 12-7 forme inverse............................................... 12-7 Bit de rsultat pour infrieur 0 ..................... 12-10 forme inverse............................................. 12-10 Bit de rsultat pour infrieur ou gal 0 ......... 12-12 forme inverse............................................. 12-12 Bit de rsultat pour suprieur 0 ..................... 12-9 forme inverse............................................... 12-9 Bit de rsultat pour suprieur ou gal 0 ....... 12-11 forme inverse............................................. 12-11

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Index-1

Index

Bobine de sortie ................................................ 1-6 CALL_FB........................................................ 10-4 CALL_FC........................................................ 10-6 CALL_SFB...................................................... 10-8 CALL_SFC ....................................................10-10 Carr ................................................................ 8-8 CEIL ............................................................... 3-15 CMP ? D........................................................... 2-3 CMP ? I ............................................................ 2-2 CMP ? R........................................................... 2-4 Combinaison OU exclusif .................................. 1-2 Comparer entiers de 16 bits .............................. 2-2 Comparer entiers de 32 bits .............................. 2-3 Comparer rels ................................................. 2-4 Complment 1 d'entier de 16 bits.................... 3-8 Complment 1 dentier de 32 bits .................... 3-9 Complment 2 dentier de 16 bits .................. 3-10 Complment 2 dentier de 32 bits .................. 3-11 Compteur de dcrmentation ............................ 4-7 Compteur d'incrmentation................................ 4-5 Compteur d'incrmentation/dcrmentation ....... 4-3 Connecteur ....................................................... 1-8 Contact fermeture........................................... 1-3 Contact ouverture........................................... 1-4 Convertir entier de 16 bits en entier de 32 bits.... 3-4 Convertir entier de 16 bits en nombre DCB ........ 3-3 Convertir entier de 32 bits en nombre DCB ........ 3-6 Convertir entier de 32 bits en rel ...................... 3-7 Convertir nombre DCB en entier de 16 bits ........ 3-2 Convertir nombre DCB en entier de 32 bits ........ 3-5 Convertir rel en entier infrieur le plus proche. 3-16 Convertir rel en entier suprieur le plus proche3-15 COS ............................................................... 8-13 Cosinus .......................................................... 8-13 Dcalage vers la droite d'un double mot........... 11-7 Dcalage vers la droite d'un entier de 16 bits ... 11-2 Dcalage vers la droite d'un entier de 32 bits ... 11-3 Dcalage vers la droite d'un mot...................... 11-5 Dcalage vers la gauche d'un double mot ........ 11-6 Dcalage vers la gauche d'un mot ................... 11-4 Dcrmenter ................................................... 4-11 Dmarrer temporisation sous forme de retard la monte ............. 13-9, 13-18, 13-20 Dmarrer temporisation sous forme de retard la monte mmoris.......................................13-11 Dmarrer temporisation sous forme de retard la retombe ........................................ 13-13, 13-22 Dmarrer temporisation sous forme d'impulsion ........................................13-5, 13-15 Dmarrer temporisation sous forme d'impulsion prolonge..........................................13-7, 13-16 Dtecter front descendant ............................... 1-18 Dtecter front descendant de signal................. 1-21 Dtecter front montant..................................... 1-19 Dtecter front montant de signal ...................... 1-22 DI_BCD ............................................................ 3-6 DI_R................................................................. 3-7

DIV_DI............................................................ 7-10 DIV_I ................................................................ 7-6 DIV_R............................................................... 8-6 Diviser entiers de 16 bits ................................... 7-6 Diviser entiers de 32 bits ................................. 7-10 Diviser rels ...................................................... 8-6 Ecriture directe en priphrie ........................... 1-24 ET double mot................................................. 14-5 ET mot............................................................ 14-2 Evaluation des bits du mot d'tat (oprations sur nombres virgule flottante) ...................... 8-2 Evaluation des bits du mot d'tat dans les prations sur nombres entiers ....................................... 7-2 EXP ................................................................ 8-10 FLOOR ........................................................... 3-16 I_BCD............................................................... 3-3 I_DI................................................................... 3-4 Incrmenter..................................................... 4-10 Initialiser compteur ............................................ 4-9 INV_D............................................................... 3-9 INV_I ................................................................ 3-8 Inverser le signe d'un nombre rel ................... 3-12 Inverser RLG..................................................... 1-5 LABEL Repre de saut .................................... 6-5 Lecture directe en priphrie............................ 1-23 LN................................................................... 8-11 Logarithme naturel .......................................... 8-11 Mettre 0 ....................................................... 1-10 Mettre 1 ....................................................... 1-12 MOD_DI.......................................................... 7-11 MOVE........................................................ 9-1, 9-2 MUL_DI ............................................................ 7-9 MUL_I............................................................... 7-5 MUL_R ............................................................. 8-5 Multiplier entiers de 16 bits ................................ 7-5 Multiplier entiers de 32 bits ................................ 7-9 Multiplier rels................................................... 8-5 NEG ............................................................... 1-21 NEG_DI .......................................................... 3-11 NEG_I............................................................. 3-10 NEG_R ........................................................... 3-12 Opration de comparaison................................. 2-1 Opration de conversion.................................... 3-1 Opration de rotation....................................... 11-9 Oprations arithmtiques sur nombres flottantes ......................................... 8-1 Oprations combinatoire sur mots.................... 14-1 Oprations combinatoires sur bits ...................... 1-1 Oprations de comptage.................................... 4-1 Oprations de dcalage................................... 11-1 Oprations de gestion dexcution de programme............................................. 10-1 Oprations de nombre entiers............................ 7-1 Oprations de saut ..................................... 6-1, 6-5 Oprations de temporisation ............................ 13-1 Oprations sur bits dtat................................. 12-1 OS ---| |---..................................................... 12-3
Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Index-2

Index

OS ---| / |--- ..................................................... 12-3 OU double mot................................................ 14-6 OU exclusif double mot ................................... 14-7 OU exclusif mot .............................................. 14-4 OU mot........................................................... 14-3 Ouvrir bloc de donnes ..................................... 5-1 OV ---| |--- .................................................... 12-2 OV ---| / |--- ..................................................... 12-2 POS ............................................................... 1-22 Racine carre ................................................... 8-9 Remarques importantes sur l'utilisation de la fonctionnalit MCR .....................................10-13 Repre de saut ................................................. 6-5 Reste de division (32 bits) ............................... 7-11 Retour ...........................................................10-20 ROL_DW .......................................................11-10 ROR_DW ........................................... 11-11, 11-12 Rotation vers la droite d'un double mot ...........11-11 Rotation vers la gauche d'un double mot.......... 11-9 ROUND .......................................................... 3-13 RS.................................................................. 1-14 S_AVERZ ......................................................13-13 S_CD................................................................ 4-7 S_CU................................................................ 4-5 S_CUD ............................................................. 4-3 S_EVERZ ....................................................... 13-9 S_IMPULS...................................................... 13-5 S_ODT ........................................................... 13-9 S_ODTS........................................................13-11 S_OFFDT ......................................................13-13 S_PEXT.......................................................... 13-7 S_PULSE ....................................................... 13-5 S_SEVERZ....................................................13-11 S_VIMP .......................................................... 13-7 Saut l'intrieur d'un bloc si 0 ........................... 6-4 Saut conditionnel .............................................. 6-3 Saut inconditionnel............................................ 6-2

Sauvegarder RLG dans RB ............................. 1-20 SHL_DW......................................................... 11-7 SHL_W .................................................. 11-4, 11-5 SHR_DI ................................................. 11-3, 11-4 SHR_DW ........................................................ 11-8 SHR_I.................................................... 11-2, 11-3 SHR_W .......................................................... 11-6 SIN ................................................................. 8-12 Sinus .............................................................. 8-12 Soustraire entiers de 16 bits .............................. 7-4 Soustraire entiers de 32 bits .............................. 7-8 Soustraire rels ................................................. 8-4 SQR ................................................................. 8-8 SQRT ............................................................... 8-9 SR .................................................................. 1-16 SUB_DI............................................................. 7-8 SUB_I ............................................................... 7-4 SUB_R.............................................................. 8-4 TAN ................................................................ 8-14 Tangente......................................................... 8-14 Tronquer la partie entire.............................. 3-14 TRUNC ........................................................... 3-14 UO ---| |--- .................................................... 12-5 UO ---| / |--- ..................................................... 12-5 Valeur absolue d'un nombre virgule flottante ... 8-7 Valeur exponentielle ........................................ 8-10 Vue d'ensemble................................................. 6-1 WAND_DW ..................................................... 14-5 WAND_W ....................................................... 14-2 WOR_DW ....................................................... 14-6 WOR_W ......................................................... 14-3 WXOR_DW..................................................... 14-7 WXOR_W ....................................................... 14-4 XOR ................................................................. 1-2 Z_RUECK ......................................................... 4-7 Z_VORW .......................................................... 4-5 ZAEHLER ......................................................... 4-3

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Index-3

Index

Index-4

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Siemens AG A&D AS E 81 Oestliche Rheinbrueckenstr. 50 D-76181 Karlsruhe Rpublique Fdrale d'Allemagne

Expditeur : Vos Nom : ............................................................................................................................... Fonction : ......................................................................................................................... Entreprise : ................................................................................................................................ Rue :................................................................................................................................... Code postal : ...................................................................................................................... Ville : .................................................................................................................................. Pays : ................................................................................................................................. Tlphone : ........................................................................................................................

Indiquez votre secteur industriel : Industrie automobile Industrie chimique Industrie lectrique Industrie alimentaire Contrle/commande Construction mcanique Ptrochimie Industrie pharmaceutique Traitement des matires plastique Industrie du papier Industrie textile Transports Autres ..................................................

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02

Remarques / suggestions

Remarques / suggestions Vos remarques et suggestions nous permettent d'amliorer la qualit gnrale de notre documentation. C'est pourquoi nous vous serions reconnaissants de complter et de renvoyer ces formulaires Siemens.

Rpondez aux questions suivantes en attribuant une note comprise entre 1 pour trs bien et 5 pour trs mauvais.

1. Le contenu du manuel rpond-il votre attente ? 2. Les informations requises peuvent-elles facilement tre trouves ? 3. Le texte est-il comprhensible ? 4. Le niveau des dtails techniques rpond-il votre attente ? 5. Quelle valuation attribuez-vous aux figures et tableaux ?

o o o o o

Vos remarques et suggestions : .............................................................................................................................................. .............................................................................................................................................. .............................................................................................................................................. .............................................................................................................................................. .............................................................................................................................................. .............................................................................................................................................. .............................................................................................................................................. .............................................................................................................................................. .............................................................................................................................................. .............................................................................................................................................. ..............................................................................................................................................

Langage CONT pour SIMATIC S7-300/400 A5E00068866-02