You are on page 1of 214

s

Avant-propos, Sommaire Oprations combinatoires sur bits

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

SIMATIC Langage LOG pour SIMATIC S7-300/400


Manuel de rfrence

Oprations de comparaison Oprations de conversion Oprations de comptage Oprations sur blocs de donnes Oprations de saut Oprations arithmtiques sur nombres entiers Oprations arithmtiques sur nombres rels 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 Annexe

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

Prsentation de toutes les oprations LOG Exemples de programmation Pour travailler en LOG Index

A B C

Edition 03/2006
A5E00706956-01

Consignes de scurit
Ce manuel donne des consignes que vous devez respecter pour votre propre scurit et pour viter des dommages matriels. Les avertissements servant votre scurit personnelle sont accompagns d'un triangle de danger, les avertissements concernant uniquement des dommages matriels sont dpourvus de ce triangle. Les avertissements sont reprsents ci-aprs par ordre dcroissant de niveau de risque.

! ! !

Danger
signifie que la non-application des mesures de scurit appropries entrane la mort ou des blessures graves.

Attention
signifie que la non-application des mesures de scurit appropries peut entraner la mort ou des blessures graves.

Prudence
signifie que la non-application des mesures de scurit appropries peut entraner des blessures lgres.

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

Important
signifie que le non-respect de l'avertissement correspondant peut entraner l'apparition d'un vnement ou d'un tat indsirable. En prsence de plusieurs niveaux de risque, c'est toujours l'avertissement correspondant au niveau le plus lev qui est reproduit. Si un avertissement avec triangle de danger prvient des risques de dommages corporels, le mme avertissement peut aussi contenir un avis de mise en garde contre des dommages matriels.

Personnel qualifi
L'installation et l'exploitation de l'appareil/du systme concern ne sont autorises qu'en liaison avec la prsente documentation. La mise en service et l'exploitation d'un appareil/systme ne doivent tre effectues que par des personnes qualifies. Au sens des consignes de scurit figurant dans cette documentation, les personnes qualifies sont des personnes qui sont habilites mettre en service, mettre la terre et identifier des appareils, systmes et circuits en conformit avec les normes de scurit.

Utilisation conforme la destination


Tenez compte des points suivants :

Attention
L'appareil/le systme ne doit tre utilis que pour les applications spcifies dans le catalogue ou dans la description technique, et uniquement en liaison avec des appareils et composants recommands ou agrs par Siemens s'ils ne sont pas de Siemens. Le transport, le stockage, le montage, la mise en service ainsi que l'utilisation et la maintenance Le fonctionnement correct et sr du produit implique son transport, stockage, montage et mise en service selon les rgles de l'art ainsi qu'une utilisation et maintenance soigneuses.

Marque de fabrique
Toutes les dsignations repres par sont des marques dposes de Siemens AG. Les autres dsignations dans ce document peuvent tre des marques dont l'utilisation par des tiers leurs propres fins peut enfreindre les droits de leurs propritaires respectifs.

Exclusion de responsabilit
Nous avons vrifi la conformit du contenu du prsent document avec le matriel et le logiciel qui y sont dcrits. Ne pouvant toutefois exclure toute divergence, nous ne pouvons pas nous porter garants de la conformit intgrale. Si l'usage de ce manuel devait rvler des erreurs, nous en tiendrons compte et apporterons les corrections ncessaires ds la prochaine dition.

Siemens AG Automation and Drives Postfach 4848 90437 NRNBERG ALLEMAGNE

A5E00706956-01 03/2006

Copyright Siemens AG 2006 Sous rserve de modifications techniques

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

Connaissances fondamentales requises


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

Domaine de validit du manuel


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

Norme
LOG correspond au langage Langage en blocs fonctionnels 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 LOG pour SIMATIC S7-300/400 A5E00706956-01

iii

Avant-propos

Connaissances requises
Vous trouverez dans l'aide en ligne de STEP 7 les connaissances thoriques sur les programmes S7 ncessaires la comprhension de ce manuel sur LOG. 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 Getting Started Programmer avec STEP 7 Configuration matrielle et communication dans STEP 7 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 Volume 1 et Volume 2 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-4CA08-8CW1 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-4CA08-8CW0

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 LOG pour SIMATIC S7-300/400 A5E00706956-01

Avant-propos

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

Assistance supplmentaire
Si des questions sont restes sans rponse dans ce manuel, veuillez vous adresser votre interlocuteur Siemens dans la filiale ou l'agence de votre rgion. Vous trouvez votre interloculeur sous : http://www.siemens.com/automation/partner Vous trouvez un fil rouge pour la recherche de documentations techniques sur les produits et systmes SIMATIC ladresse suivante sur Internet : http://www.siemens.com/simatic-tech-doku-portal Le catalogue en ligne et le systme de commande en ligne se trouvent l'adresse : http://mall.automation.siemens.com/

Centre de formation SIMATIC


Nous proposons des cours de formation pour vous faciliter l'apprentissage des automates programmables SIMATIC S7. Veuillez vous adresser votre centre de formation rgional ou au centre principal D 90327 Nuremberg. Tlphone : +49 (911) 895-3200. Internet: http://www.sitrain.com

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Avant-propos

Technical Support
Vous pouvez joindre le support technique pour tous les produits A&D Via le formulaire Web de demande dassistance (Support Request) http://www.siemens.com/automation/support-request Tlphone : Tlcopie : + 49 180 5050 222 + 49 180 5050 223

Vous trouvez plus dinformations concernant notre Technical Support sur Internet ladresse suivante : http://www.siemens.com/automation/service

Service & Support sur Internet


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

vi

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Sommaire
1 Oprations combinatoires sur bits......................................................................................... 1-1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 2 Vue d'ensemble des oprations combinatoires sur bits ............................................. 1-1 >=1 : Porte OU............................................................................................................ 1-2 & : Porte ET ................................................................................................................ 1-3 Combinaisons ET avant OU et OU avant ET ............................................................. 1-4 XOR : Combinaison OU exclusif................................................................................. 1-6 Insrer entre binaire.................................................................................................. 1-7 Inverser l'entre binaire .............................................................................................. 1-8 = : Affectation .............................................................................................................. 1-9 # : Connecteur .......................................................................................................... 1-10 R : Mettre 0 ............................................................................................................ 1-12 S : Mettre 1 ............................................................................................................ 1-13 RS : Bascule mise 0, mise 1............................................................................... 1-14 SR : Bascule mise 1, mise 0............................................................................... 1-15 N : Dtecter front descendant................................................................................... 1-16 P : Dtecter front montant......................................................................................... 1-17 SAVE : Sauvegarder RLG dans RB ......................................................................... 1-18 NEG : Dtecter front descendant de signal .............................................................. 1-19 POS : Dtecter front montant de signal .................................................................... 1-20

Oprations de comparaison.................................................................................................... 2-1 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 nombres rels .......................................................................... 2-4

Oprations de conversion....................................................................................................... 3-1 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 Vue d'ensemble des oprations de conversion .......................................................... 3-1 BCD_I : Convertir nombre DCB en entier de 16 bits .................................................. 3-2 I_BCD : Convertir entier de 16 bits en nombre DCB .................................................. 3-3 BCD_DI : Convertir nombre DCB en entier de 32 bits ............................................... 3-4 I_DI : Convertir entier de 16 bits 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 nombre rel ...................................................... 3-7 INV_I : Complment 1 d'entier de 16 bits ................................................................ 3-8 INV_DI : Complment 1 d'entier de 32 bits ............................................................. 3-9 NEG_I : Complment 2 d'entier de 16 bits ............................................................ 3-10 NEG_DI : Complment 2 d'entier de 32 bits.......................................................... 3-11 NEG_R : Inverser le signe d'un nombre rel ............................................................ 3-12 ROUND : Arrondir entier de 32 bits ....................................................................... 3-13 TRUNC : Tronquer la partie entire (32 bits)......................................................... 3-14 CEIL : Convertir nombre rel en entier suprieur le plus proche ............................. 3-15 FLOOR : Convertir nombre rel en entier infrieur le plus proche........................... 3-16

Langage LOG pour SIMATIC S7-300/400 A5E00706056-01

vii

Sommaire

Oprations de comptage ......................................................................................................... 4-1 4.1 4.2 4.3 4.4 4.5 4.6 4.7 Vue d'ensemble des oprations de comptage............................................................ 4-1 ZAEHLER : Paramtrage et compteur incrmental/dcrmental............................... 4-3 Z_VORW : Paramtrage et compteur incrmental..................................................... 4-5 Z_RUECK : Paramtrage et compteur dcrmental .................................................. 4-7 SZ : Initialiser compteur .............................................................................................. 4-9 ZV : Incrmenter ....................................................................................................... 4-10 ZR : Dcrmenter ..................................................................................................... 4-11

Oprations sur blocs de donnes .......................................................................................... 5-1 5.1 OPN : Ouvrir bloc de donnes.................................................................................... 5-1

Oprations de saut................................................................................................................... 6-1 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 si 1 (conditionnel) ..................................................................................... 6-3 JMPN : Saut si 0 (conditionnel) .................................................................................. 6-4 LABEL : Repre de saut ............................................................................................. 6-5

Oprations arithmtiques sur nombres entiers.................................................................... 7-1 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 7.11 Vue d'ensemble des oprations arithmtiques sur nombre entiers............................ 7-1 Evaluation des bits du mot d'tat pour 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

Oprations arithmtiques sur nombres rels ....................................................................... 8-1 8.1 8.2 8.3 8.3.1 8.3.2 8.3.3 8.3.4 8.3.5 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 Vue d'ensemble des oprations arithmtiques sur nombres rels............................. 8-1 Evaluation des bits du mot d'tat pour les oprations sur nombres rels .................. 8-2 Oprations de base..................................................................................................... 8-3 ADD_R : Additionner nombres rels........................................................................... 8-3 SUB_R : Soustraire nombres rels............................................................................. 8-4 MUL_R : Multiplier nombres rels .............................................................................. 8-5 DIV_R : Diviser nombres rels ................................................................................... 8-6 ABS : Valeur absolue d'un nombre rel...................................................................... 8-7 Oprations tendues .................................................................................................. 8-8 SQR : Carr d'un nombre rel .................................................................................... 8-8 SQRT : Racine carre d'un nombre rel .................................................................... 8-9 EXP : Valeur exponentielle d'un nombre rel ........................................................... 8-10 LN : Logarithme naturel d'un nombre rel ................................................................ 8-11 Fonctions trigonomtriques d'angles sous forme de nombres rels ........................ 8-12

Oprations de transfert ........................................................................................................... 9-1 9.1 MOVE : Affecter valeur ............................................................................................... 9-1

viii

Langage LOG pour SIMATIC S7-300/400 A5E00706056-01

Sommaire

10

Oprations de gestion d'excution de programme ............................................................ 10-1 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 10.10 10.11 10.12 10.13 Vue d'ensemble des oprations de gestion dexcution de programme ................. 10-1 CALL : Appeler FC/SFC sans paramtre ................................................................. 10-2 CALL_FB : Appeler FB ............................................................................................. 10-4 CALL_FC : Appeler FC............................................................................................. 10-6 CALL_SFB : Appeler SFB ........................................................................................ 10-8 CALL_SFC : Appeler SFC ...................................................................................... 10-10 Appeler multi-instances .......................................................................................... 10-12 Appeler un bloc dans une bibliothque................................................................... 10-12 Fonctions du relais de masquage........................................................................... 10-13 Remarques importantes sur l'utilisation de la fonctionnalit MCR ......................... 10-14 MCR< / MCR> : Relais de masquage en fonction/hors fonction............................ 10-15 MCRA / MCRD : Activer/dsactiver relais de masquage ....................................... 10-18 RET : Retour ........................................................................................................... 10-21

11

Oprations de dcalage et de rotation................................................................................. 11-1 11.1 11.1.1 11.1.2 11.1.3 11.1.4 11.1.5 11.1.6 11.1.7 11.2 11.2.1 11.2.2 11.2.3 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-4 SHL_W : Dcalage vers la gauche d'un mot ............................................................ 11-5 SHR_W : Dcalage vers la droite d'un mot .............................................................. 11-7 SHL_DW : Dcalage vers la gauche d'un double mot ............................................. 11-8 SHR_DW : Dcalage vers la droite d'un double mot................................................ 11-9 Oprations de rotation ............................................................................................ 11-11 Vue d'ensemble des oprations de rotation ........................................................... 11-11 ROL_DW : Rotation vers la gauche d'un double mot............................................. 11-11 ROR_DW : Rotation vers la droite d'un double mot ............................................... 11-13

12

Oprations sur bits d'tat...................................................................................................... 12-1 12.1 12.2 12.3 12.4 12.5 12.6 Vue d'ensemble des oprations sur bits d'tat ......................................................... 12-1 OV : Bit d'anomalie "Dbordement".......................................................................... 12-2 OS : Bit d'anomalie "Dbordement mmoris"......................................................... 12-4 UO : Bit d'anomalie "Opration illicite"...................................................................... 12-6 BIE : Bit d'anomalie "Registre RB"............................................................................ 12-7 <> 0 : Bits de rsultat................................................................................................ 12-8

13

Oprations de temporisation ................................................................................................ 13-1 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 13.10 13.11 13.12 Vue d'ensemble des oprations de temporisation.................................................... 13-1 Adresse d'une temporisation en mmoire et composants d'une temporisation ....... 13-2 S_IMPULS : Paramtrer et dmarrer une temporisation sous forme d'impulsion.... 13-6 S_VIMP : Paramtrer et dmarrer une temporisation sous forme d'impulsion prolonge ............................................................................ 13-8 S_EVERZ : Paramtrer et dmarrer une temporisation sous forme de retard la monte.............................................................................................. 13-10 S_SEVERZ : Paramtrer et dmarrer une temporisation sous forme de retard la monte mmoris............................................................................. 13-12 S_AVERZ : Paramtrer et dmarrer une temporisation sous forme de retard la retombe .......................................................................................... 13-14 SI : Temporisation sous forme d'impulsion............................................................. 13-16 SV : Temporisation sous forme d'impulsion prolonge .......................................... 13-18 SE : Temporisation sous forme de retard la monte ........................................... 13-20 SS : Temporisation sous forme de retard la monte mmoris .......................... 13-22 SA : Temporisation sous forme de retard la retombe........................................ 13-24

Langage LOG pour SIMATIC S7-300/400 A5E00706056-01

ix

Sommaire

14

Oprations combinatoires sur mots .................................................................................... 14-1 14.1 14.2 14.3 14.4 14.5 14.6 14.7 Vue d'ensemble 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

Prsentation de toutes les oprations LOG ..........................................................................A-1 A.1 A.2 Oprations LOG classes d'aprs les abrviations allemandes (SIMATIC) ..............A-1 Oprations LOG classes d'aprs les abrviations anglaises (internationales) ........A-5

Exemples de programmation..................................................................................................B-1 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-5 Exemple : Oprations de comptage et de comparaison.............................................B-9 Exemple : Oprations arithmtiques sur nombres entiers........................................B-12 Exemple : Oprations combinatoires sur mots.........................................................B-13

Pour travailler en LOG .............................................................................................................C-1 C.1 C.1.1 C.1.2 C.1.3 C.1.4 C.2 Mcanisme EN/ENO...................................................................................................C-1 Addition avec combinaison EN et avec combinaison ENO ........................................C-3 Addition avec combinaison EN et sans combinaison ENO ........................................C-4 Addition sans combinaison EN et avec combinaison ENO ........................................C-5 Addition sans combinaison EN et sans combinaison ENO ........................................C-6 Transmission de paramtres ......................................................................................C-7 Index-1

Index

Langage LOG pour SIMATIC S7-300/400 A5E00706056-01

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. Le 1 signifie OUI logique et le 0 NON logique en relation avec ET, OU, OU exclusif et des sorties 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 : ET, OU et Exclusiv-OU interrogent chacune ltat de signal et leur rsultat est soit copi dans le bit de rsultat logique RLG, soit combin au RLG. Combinaisons ET avant OU et OU avant ET Affectation et Connecteur assignent le RLG ou le mmorisent temporairement. Les oprations suivantes ragissent un RLG gal 1 : S : Mettre 1 R : Mettre 0 SR : Bascule mise 1, mise 0 RS : Bascule mise 0, mise 1 Dautres oprations excutent les fonctions suivantes en cas de front montant ou descendant : N : Dtecter front descendant P : Dtecter front montant NEG : Dtecter front descendant de signal POS : Dtecter front montant de signal Les oprations suivantes agissent directement sur le RLG de la manire suivante : Insrer entre binaire Inverser entre binaire SAVE : Sauvegarder RLG dans RB

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

1-1

Oprations combinatoires sur bits

1.2

>=1 : Porte OU

Reprsentation
<oprande> <oprande> >=1

Paramtre <oprande>

Type de donnes BOOL

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

Description L'oprande indique le bit dont l'tat de signal est interrog.

Description
La porte OU vous permet d'interroger l'tat de signal de deux oprandes ou plus indiqus aux entres d'une bote OU. Si l'tat de signal d'un des oprandes est 1, la condition est ralise et l'opration fournit un rsultat gal 1. Si tous les oprandes ont l'tat de signal 0, la condition n'est pas satisfaite et l'opration fournit un rsultat gal 0. Lorsque la porte OU est la premire opration dans une squence combinatoire, elle range le rsultat de son interrogation d'tat de signal dans le bit de rsultat logique (RLG). Lorsqu'elle n'est pas la premire opration dans la squence combinatoire, elle combine le rsultat de son interrogation d'tat de signal la valeur figurant dans le bit RLG. Cette combinaison se fait selon la table de vrit OU.

Mot d'tat
RB Ecriture BI1 BI0 DEB DM OU X ETAT X RLG X /PI 1

Exemple
>=1

E 0.0 E 0.1

A 4.0 =

La sortie A 4.0 est mise 1 si l'tat de signal est 1 l'entre E 0.0 ou l'entre E 0.1.

1-2

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations combinatoires sur bits

1.3

& : Porte ET

Reprsentation
<oprande> <oprande> &

Paramtre
<oprande>

Type de donnes
BOOL

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

Description
L'oprande indique le bit dont l'tat de signal est interrog.

Description
La porte ET vous permet d'interroger l'tat de signal de deux oprandes ou plus indiqus aux entres d'une bote ET. Si l'tat de signal de tous les oprandes est 1, la condition est ralise et l'opration fournit un rsultat gal 1. En revanche, si un des oprandes a l'tat de signal 0, la condition n'est pas satisfaite et l'opration fournit un rsultat gal 0. Lorsque la porte ET est la premire opration dans une squence combinatoire, elle range le rsultat de son interrogation d'tat de signal dans le bit de rsultat logique (RLG). Lorsqu'elle n'est pas la premire opration dans la squence combinatoire, elle combine le rsultat de son interrogation d'tat de signal la valeur figurant dans le bit RLG. Cette combinaison se fait selon la table de vrit ET.

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
X

ETAT
X

RLG
X

/PI
1

Exemple
& A 4.0 =

E 0.0 E 0.1

La sortie A 4.0 est mise 1 si l'tat de signal est 1 aux entres E 0.0 et E 0.1.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

1-3

Oprations combinatoires sur bits

1.4

Combinaisons ET avant OU et OU avant ET

Description
L'opration ET avant OU vous permet d'interroger le rsultat d'une interrogation d'tat de signal selon la table de vrit OU. Pour une combinaison ET avant OU, l'tat de signal est 1 lorsqu'une combinaison ET au moins est satisfaite.

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
X

ETAT
X

RLG
X

/PI
1

Exemple
E 1.0 E 1.1 E 1.2 E 1.3 & & >=1 A 3.1 =

L'tat de signal est 1 la sortie A 3.1 si une combinaison ET au moins est satisfaite. L'tat de signal est 0 la sortie A 3.1 si aucune combinaison ET n'est satisfaite.

Description
L'opration OU avant ET vous permet d'interroger le rsultat d'une interrogation d'tat de signal selon la table de vrit ET. Pour une combinaison OU avant ET, l'tat de signal est 1 lorsque toutes les combinaisons OU sont satisfaites.

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
X

ETAT
X

RLG
X

/PI
1

1-4

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations combinatoires sur bits

Exemple
E 1.0 E 1.1 E 1.2 E 1.3 >=1 >=1 & A 3.1 =

L'tat de signal est 1 la sortie A 3.1 si les deux combinaisons OU sont satisfaites. L'tat de signal est 0 la sortie A 3.1 si une combinaison OU au moins n'est pas satisfaite.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

1-5

Oprations combinatoires sur bits

1.5

XOR : Combinaison OU exclusif

Reprsentation
<oprande> <oprande> XOR

Paramtre
<oprande>

Type de donnes
BOOL

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

Description
L'oprande indique le bit dont l'tat de signal est interrog.

Description
L'opration OU exclusif vous permet d'interroger le rsultat d'une interrogation d'tat de signal selon la table de vrit OU exclusif. Pour une combinaison OU exclusif, l'tat de signal est 1 lorsque l'tat de signal de l'un des deux oprandes est 1. Si la fonction XOR comprend plus de 2 oprandes, la rgle est la suivante : Si un nombre impair doprandes interrogs fournit en rsultat 1, le rsultat logique de ces oprandes est "1".

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
X

ETAT
X

RLG
X

/PI
1

Exemple
XOR

E 0.0 E 0.2

A 3.1 =

L'tat de signal est 1 la sortie A 3.1 lorsque soit l'tat de signal est 1 l'entre E 0.0 soit il est 1 l'entre E 0.2, et ce exclusivement.

1-6

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations combinatoires sur bits

1.6

Insrer entre binaire

Reprsentation
<oprande>

Paramtre
<oprande>

Type de donnes
BOOL

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

Description
L'oprande indique le bit dont l'tat de signal est interrog.

Description
L'opration Insrer entre binaire insre une nouvelle entre binaire aprs l'entre slectionne d'une bote ET, OU ou OU exclusif.

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
-

ETAT
1

RLG
X

/PI
-

Exemple
E 1.0 E 1.1 E 1.2 & A 4.0 =

La sortie A 4.0 est 1 si l'tat de signal est 1 aux entres E 1.0 et E 1.1 et E 1.2.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

1-7

Oprations combinatoires sur bits

1.7

Inverser l'entre binaire

Reprsentation

Description
L'opration Inverser entre binaire inverse le rsultat logique. Vous devez tenir compte de certaines rgles lors de la ngation du rsultat logique : Il n'y a pas de mise entre parenthses si le rsultat logique est invers au niveau de la premire entre d'une porte ET ou d'une porte OU. Si le rsultat logique n'est pas invers au niveau de la premire entre d'une porte OU, toute la combinaison binaire avant l'entre est incluse dans la combinaison OU. Si le rsultat logique n'est pas invers au niveau de la premire entre d'une porte ET, toute la combinaison binaire avant l'entre est incluse dans la combinaison ET.

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
-

ETAT
1

RLG
X

/PI
-

Exemple
E 1.0 E 1.1 E 1.2 E 1.3 E 1.4 & >=1 A 4.0 = & &

La sortie A 4.0 est 1 : si l'tat de signal n'est pas 1 aux entres E 1.0 et E 1.1 et que l'tat de signal n'est pas 1 aux entres E 1.2 et E 1.3 ou que l'tat de signal n'est pas 1 l'entre E 1.4.

1-8

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations combinatoires sur bits

1.8

= : Affectation

Reprsentation
<oprande> =

Paramtre
<oprande>

Type de donnes
BOOL

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

Description
L'oprande indique le bit auquel l'tat de signal de la squence combinatoire est affect.

Description
L'opration Affectation fournit le rsultat logique. La bote au bout de la combinaison dlivre le signal 1 ou 0 selon les critres suivants : La sortie prend le signal 1 lorsque les conditions de la combinaison avant la bote de sortie sont satisfaites. Elle prend le signal 0 lorsque les conditions de la combinaison avant la bote de sortie ne sont pas satisfaites. La combinaison LOG affecte l'tat de signal la sortie laquelle accde l'opration (il reviendrait au mme d'affecter l'tat de signal du bit RLG l'oprande). Si les conditions des combinaisons LOG sont satisfaites, l'tat de signal est 1 la bote de sortie ; sinon, il est gal 0. Le relais de masquage MCR influence l'opration Affectation. Vous ne pouvez placer la bote "Affectation" qu' l'extrmit droite de la squence combinatoire. Il est toutefois possible d'en utiliser plusieurs. Vous pouvez crer une affectation inverse l'aide de l'opration Inverser entre binaire.

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
X

RLG
-

/PI
0

Exemple
E 0.0 E 0.1 E 0.2 & >=1 A 4.0 =

L'tat de signal de la sortie A 4.0 est 1 : si l'tat de signal est 1 aux entres E 0.0 et E 0.1 ou si l'tat de signal est 0 l'entre E 0.2
Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

1-9

Oprations combinatoires sur bits

1.9

# : Connecteur

Reprsentation
<oprande> #

Paramtre
<oprande>

Type de donnes
BOOL

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

Description
L'oprande indique le bit auquel le rsultat logique est affect.

Dans lopration Connecteur, vous ne pouvez utiliser un oprande dans la zone de mmoire L que si vous le dclarez la table de dclaration de variables.

Description
L'opration Connecteur est un lment d'affectation intermdiaire qui mmorise le RLG. Cet lment sauvegarde la combinaison sur bits de la dernire branche ouverte avant l'lment d'affectation. Le relais de masquage MCR influence l'opration Connecteur. Vous pouvez crer un connecteur invers en inversant l'entre du connecteur.

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
X

RLG
-

/PI
1

1-10

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations combinatoires sur bits

Exemple
M 0.0 E 1.0 E 1.1 E 1.2 E 1.3 E 1.4 & M 1.1 # M 2.2 # >=1 M 3.3 # A 4.0 = & # &

Les connecteurs mmorisent les rsultats de combinaison suivants : M 0.0 mmorise le RLG invers de
E 1.0 E 1.1 &

M 1.1 mmorise le RLG invers de


E 1.2 E 1.3 &

M 2.2 mmorise le RLG de E 1.4 et M 3.3 mmorise le RLG invers de la combinaison sur bits.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

1-11

Oprations combinatoires sur bits

1.10

R : Mettre 0

Reprsentation
<oprande>

Paramtre
<oprande>

Type de donnes
BOOL TIMER COUNTER

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

Description
L'oprande indique le bit qui doit tre mis 0.

Description
L'opration Mettre 0 ne s'excute que si le RLG a la valeur 1. Dans ce cas, l'opration met son oprande 0. Si le RLG gale 0, l'opration n'a pas d'effet sur l'oprande prcis qui reste inchang. Le relais de masquage MCR influence l'opration Mettre 0.

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
X

RLG
-

/PI
0

Exemple
E 0.0 E 0.1 E 0.2 & >=1 A 4.0 R

L'tat de signal de la sortie A 4.0 est mis 0 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 de la branche est gal 0, l'tat de signal de la sortie A 4.0 reste inchang.

1-12

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations combinatoires sur bits

1.11

S : Mettre 1

Reprsentation
<oprande>

Paramtre
<oprande>

Type de donnes
BOOL

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

Description
L'oprande indique le bit qui doit tre mis 1.

Description
L'opration Mettre 1 ne s'excute que si le RLG a la valeur 1. Dans ce cas, l'opration met son oprande 1. Si le RLG gale 0, l'opration n'a pas d'effet sur l'oprande prcis qui reste inchang. Le relais de masquage MCR influence l'opration Mettre 1.

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
X

RLG
-

/PI
0

Exemple
E 0.0 E 0.1 E 0.2 & >=1 A 4.0 S

L'tat de signal de la sortie A 4.0 est mis 1 : si l'tat de signal est 1 aux entres E 0.0 et E 0.1 ou si l'tat de signal est 0 l'entre E 0.2. Si le RLG de la branche est gal 0, l'tat de signal de la sortie A 4.0 reste inchang.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

1-13

Oprations combinatoires sur bits

1.12

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, D, L E, A, M, D, L, T, Z E, A, M, D, L, T, Z E, A, M, D, L

Description
L'oprande indique le bit qui doit tre mis 1 ou 0. Mise 0 active Mise 1 active Etat de signal de l'<oprande>

Description
L'opration Bascule mise 0, mise 1 n'excute la mise 1 (S) et la mise 0 (R) que lorsque le RLG est gal 1. Lorsque le RLG est gal 0, l'oprande prcis dans l'opration reste inchang. Une Bascule mise 0, mise 1 est mise 1 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, la bascule est mise 1. Le relais de masquage MCR influence l'opration Bascule mise 0, mise 1.

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
X

ETAT
X

RLG
X

/PI
1

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

Si l'tat de signal est 1 l'entre E 0.0 et 0 l'entre E 0.1, le 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 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 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.
Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

1-14

Oprations combinatoires sur bits

1.13

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, D, L

Description
L'oprande indique le bit qui doit tre mis 1 ou 0.

E, A, M, D, L, T, Z Mise 1 active E, A, M, D, L, T, Z Mise 0 active E, A, M, D, L Etat de signal de l'<oprande>

Description
L'opration Bascule mise 1, mise 0 n'excute la mise 1 (S) et la mise 0 (R) que lorsque le RLG est gal 1. Lorsque le RLG est gal 0, l'oprande prcis dans l'opration reste inchang. Une Bascule mise 1, mise 0 est 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, la bascule est mise 0. Le relais de masquage MCR influence l'opration Bascule mise 1, mise 0.

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
X

ETAT
X

RLG
X

/PI
1

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

Si l'tat de signal est 1 l'entre E 0.0 et 0 l'entre E 0.1, le 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 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 deux la valeur 1, la mise 0, excute en dernier, l'emporte : M 0.0 est mis 0 et la sortie A 4.0 est 0.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

1-15

Oprations combinatoires sur bits

1.14

N : Dtecter front descendant

Reprsentation
<oprande>

Paramtre
<oprande>

Type de donnes
BOOL

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

Description
L'oprande indique le mmento de front qui mmorise l'ancien RLG.

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
X

RLG
X

/PI
1

Exemple
E 1.0 E 1.1 E 1.2 E 1.3 E 1.4 & & M 0.0 P

&

M 1.1 N M 2.2 P

>=1 M 3.3 N A 4.0 =

&

Le mmento de front M 3.3 mmorise l'tat de signal du RLG prcdent.

1-16

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations combinatoires sur bits

1.15

P : Dtecter front montant

Reprsentation
<oprande>

Paramtre
<oprande>

Type de donnes
BOOL

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

Description
L'oprande indique le mmento de front qui mmorise l'ancien RLG.

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
X

RLG
X

/PI
1

Exemple
E 1.0 E 1.1 E 1.2 E 1.3 E 1.4 & & M 0.0 P

&

M 1.1 N M 2.2 P

>=1 M 3.3 N A 4.0 =

&

Le mmento de front M 0.0 mmorise l'tat de signal du RLG prcdent.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

1-17

Oprations combinatoires sur bits

1.16

SAVE : Sauvegarder RLG dans RB

Reprsentation
SAVE

Description
L'opration Sauvegarder RLG dans RB sauvegarde le rsultat logique dans le bit de rsultat binaire du mot d'tat. Elle ne remet toutefois pas 1 le bit de premire interrogation /PI, ce qui entrane, en cas de combinaison ET dans le rseau suivant, la prise en compte de l'tat du bit RB. 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 1.2 E 1.3 & SAVE

Le rsultat logique est sauvegard dans le bit de rsultat binaire. RB Rsultat binaire (mot d'tat, bit 8)

1-18

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations combinatoires sur bits

1.17

NEG : Dtecter front descendant de signal

Reprsentation
<oprande1> NEG M_BIT Q

Paramtre
<oprande1> M_BIT

Type de donnes
BOOL BOOL

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

Description
Signal interroger pour dtecter un front descendant L'oprande M_BIT indique le mmento de front qui mmorise l'tat de signal prcdent de NEG. N'utilisez la mmoire image des entres (E) pour M_BIT que si aucun module d'entres n'occupe dj cet oprande. Sortie monostable

BOOL

E, A, M, D, L

Description
L'opration Dtecter front descendant de signal compare l'tat de signal de <oprande1> celui provenant de l'interrogation prcdente figurant dans le paramtre M_BIT. En cas de passage de 1 0, la sortie Q est mise 1 ; dans tous les autres cas, elle est mise 0.

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
1

RLG
X

/PI
1

Exemple
E 0.3 NEG M 0.0 M_BIT Q E 0.4 & A 4.0 =

La sortie A 4.0 est 1 si : il y a un front descendant l'entre E 0.3 et l'tat de signal est 1 l'entre E 0.4.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

1-19

Oprations combinatoires sur bits

1.18

POS : Dtecter front montant de signal

Reprsentation
<oprande1> POS M_BIT Q

Paramtre
<oprande1> M_BIT

Type de donnes
BOOL BOOL

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

Description
Signal interroger pour dtecter un front montant L'oprande M_BIT indique le mmento de front qui mmorise l'tat de signal prcdent de POS. N'utilisez la mmoire image des entres (E) pour M_BIT que si aucun module d'entres n'occupe dj cet oprande. Sortie monostable

BOOL

E, A, M, D, L

Description
L'opration Dtecter front montant de signal compare l'tat de signal de <oprande1> celui provenant de l'interrogation prcdente figurant dans le paramtre M_BIT. En cas de passage de 0 1, la sortie Q est mise 1 ; dans tous les autres cas, elle est mise 0.

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
1

RLG
X

/PI
1

Exemple
E 0.3 POS M 0.0 M_BIT Q E 0.4 & A 4.0 =

La sortie A 4.0 est 1 si : il y a un front montant l'entre E 0.3 et l'tat de signal est 1 l'entre E 0.4.

1-20

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

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, son rsultat logique (RLG) est 1 ; sinon, il est gal 0. Il ny a pas de ngation du rsultat de la comparaison, car cela peut tre obtenu laide de lopration de comparaison inverse. Vous disposez des oprations de comparaison suivantes : CMP ? I : Comparer entiers de 16 bits CMP ? D : Comparer entiers de 32 bits CMP ? R : Comparer nombres rels

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

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
IN1 IN2 Sortie bote

Type de donnes
INT INT BOOL

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

Description
Premier terme de la comparaison Second terme de la comparaison Rsultat de la comparaison

Description
L'opration Comparer entiers de 16 bits compare les entres IN1 et IN2 - deux nombres entiers de 16 bits - selon le type de comparaison que vous avez slectionn.

Mot d'tat
RB
Ecriture X

BI1
X

BI0
X

DEB
0

DM
-

OU
0

ETAT
X

RLG
X

/PI
1

Exemple
CMP == I IN1 IN2

&
E 0.0 A 4.0 S

MW0 MW2

La sortie A 4.0 est mise 1 si : MW0 = MW2 et l'tat de signal est 1 l'entre E 0.0.

2-2

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

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
IN1 IN2 Sortie bote

Type de donnes
DINT DINT BOOL

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

Description
Premier terme de la comparaison Second terme de la comparaison Rsultat de la comparaison

Description
L'opration Comparer entiers de 32 bits compare les entres IN1 et IN2 - deux nombres entiers de 32 bits - selon le type de comparaison que vous avez slectionn.

Mot d'tat
RB
Ecriture -

BI1
X

BI0
X

DEB
0

DM
-

OU
0

ETAT
X

RLG
X

/PI
1

Exemple
CMP <> D IN1 IN2

&
E 0.0 A 4.0 S

MD0 MD4

La sortie A 4.0 est mise 1 si : MD0 est diffrent de MD4 et l'tat de signal est 1 l'entre E 0.0.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

2-3

Oprations de comparaison

2.4

CMP ? R : Comparer nombres 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
IN1 IN2 Sortie bote

Type de donnes
REAL REAL BOOL

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

Description
Premier terme de la comparaison Second terme de la comparaison Rsultat de la comparaison

Description
L'opration Comparer nombres rels compare les entres IN1 et IN2 - deux nombres rels - selon le type de comparaison que vous avez slectionn.

Mot d'tat
RB
Ecriture -

BI1
X

BI0
X

DEB
X

DM
X

OU
0

ETAT
X

RLG
X

/PI
1

Exemple
CMP <R IN1 IN2

&
E 0.0 A 4.0 S

MD0 MD4

La sortie A 4.0 est mise 1 si : MD0 < MD4 et l'tat de signal est 1 l'entre E 0.0.

2-4

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de conversion

3.1

Vue d'ensemble des oprations de conversion

Description
Les oprations suivantes permettent de convertir des nombres dcimaux cods binaires et des nombres entiers en dautres types de nombres : BCD_I : Convertir nombre DCB en entier de 16 bits I_BCD : Convertir entier de 16 bits en nombre DCB BCD_DI : Convertir nombre DCB en entier de 32 bits I_DI : Convertir entier de 16 bits en entier de 32 bits DI_BCD : Convertir entier de 32 bits en nombre DCB DI_R : Convertir entier de 32 bits en nombre rel

Les oprations suivantes permettent de former le complment de nombres entiers ou de raliser linversion de nombres virgule flottante : INV_I : Complment 1 d'entier de 16 bits INV_DI : Complment 1 d'entier de 32 bits NEG_I : Complment 2 d'entier de 16 bits NEG_DI : Complment 2 d'entier de 32 bits NEG_R : Inverser le signe d'un nombre rel

Les oprations suivantes permettent de convertir le nombre virgule flottante IEEE de 32 en un nombre entier de 32 bits (entier double). Les diffrentes oprations se distinguent par leur faon darrondir : ROUND : Arrondir entier de 32 bits TRUNC : Tronquer la partie entire (32 bits) CEIL : Convertir nombre rel en entier suprieur le plus proche FLOOR : Convertir nombre rel en entier infrieur le plus proche

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

3-1

Oprations de conversion

3.2

BCD_I : Convertir nombre DCB en entier de 16 bits

Reprsentation
BCD_I EN OUT IN ENO

Paramtre
EN IN OUT ENO

Type de donnes
BOOL WORD INT BOOL

Zone de mmoire Description


E, A, M, D, L, T, Z E, A, M, D, L ou constante E, A, M, D, L E, A, M, D, L Entre de validation Nombre en format DCB Valeur entire de 16 bits du nombre DCB Sortie de validation

Description
L'opration Convertir nombre DCB en entier de 16 bits lit le contenu du paramtre d'entre 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. Si l'un des chiffres du nombre DCB se trouve dans la plage non autorise entre 10 et 15, une erreur DCB se produit durant la conversion : La CPU passe l'tat de fonctionnement "Arrt" (STOP). La mmoire tampon de diagnostic indique une "Erreur de conversion DCB" dont le numro d'vnement est 2521. S'il a t programm, l'OB121 est appel.

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 OUT IN ENO MW12

A 4.0 =

La conversion est excute si l'tat de signal est 1 l'entre 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 MW12. La sortie A 4.0 est mise 1 si la conversion est excute (ENO = EN).

3-2

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de conversion

3.3

I_BCD : Convertir entier de 16 bits en nombre DCB

Reprsentation
I_BCD EN OUT IN ENO

Paramtre
EN IN OUT ENO

Type de donnes
BOOL INT WORD BOOL

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

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

Description
L'opration Convertir entier de 16 bits en nombre DCB lit le contenu du paramtre d'entre IN comme nombre entier 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 OUT IN ENO MW12

A 4.0 =

La conversion est excute 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 MW12. En cas de dbordement, la sortie A 4.0 est mise 0. Si l'tat de signal l'entre EN est gal 0 (la conversion n'est pas excute), l'tat de signal la sortie A 4.0 est galement 0.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

3-3

Oprations de conversion

3.4

BCD_DI : Convertir nombre DCB en entier de 32 bits

Reprsentation
BCD_DI EN OUT IN ENO

Paramtre
EN IN OUT ENO

Type de donnes
BOOL DWORD DINT BOOL

Zone de mmoire Description


E, A, M, D, L, T, Z E, A, M, D, L ou constante E, A, M, D, L E, A, M, D, L Entre de validation Nombre en format DCB Valeur entire de 32 bits du nombre DCB Sortie de validation

Description
L'opration Convertir nombre DCB en entier de 32 bits lit le contenu du paramtre d'entre IN comme nombre dcimal cod binaire sept chiffres (DCB, + 9 999 999), 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. Si l'un des chiffres du nombre DCB se trouve dans la plage non autorise entre 10 et 15, une erreur DCB se produit durant la conversion : La CPU passe l'tat de fonctionnement "Arrt" (STOP). La mmoire tampon de diagnostic indique une "Erreur de conversion DCB" dont le numro d'vnement est 2521. S'il a t programm, l'OB121 est appel.

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 OUT IN ENO MD12

A 4.0 =

La conversion est excute 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 MD12. La sortie A 4.0 est mise 1 si la conversion est excute (ENO = EN).

3-4

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de conversion

3.5

I_DI : Convertir entier de 16 bits en entier de 32 bits

Reprsentation
I_DI EN OUT IN ENO

Paramtre
EN IN OUT ENO

Type de donnes
BOOL INT DINT BOOL

Zone de mmoire Description


E, A, M, D, L, T, Z E, A, M, D, L ou constante E, A, M, D, L E, A, M, D, L Entre de validation Valeur convertir Rsultat Sortie de validation

Description
L'opration Convertir entier de 16 bits en entier de 32 bits lit le contenu du paramtre d'entre IN comme nombre entier 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 OUT IN ENO MD12

A 4.0 =

La conversion est excute 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 entier de 32 bits. Le rsultat est rang dans MD12. La sortie A 4.0 est mise 1 si la conversion est excute (ENO = EN).

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

3-5

Oprations de conversion

3.6

DI_BCD : Convertir entier de 32 bits en nombre DCB

Reprsentation
DI_BCD EN OUT IN ENO

Paramtre
EN IN OUT ENO

Type de donnes
BOOL DINT DWORD BOOL

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

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

Description
L'opration Convertir entier de 32 bits en nombre DCB lit le contenu du paramtre d'entre IN comme nombre entier de 32 bits, le convertit en un nombre dcimal cod binaire sept chiffres (DCB, + 9 999 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 MD8 DI_BCD EN OUT IN ENO MD12

A 4.0 =

La conversion est excute 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 MD12. En cas de dbordement, la sortie A 4.0 est mise 0. Si l'tat de signal l'entre EN est gal 0 (la conversion n'est pas excute), l'tat de signal la sortie A 4.0 est galement 0.

3-6

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de conversion

3.7

DI_R : Convertir entier de 32 bits en nombre rel

Reprsentation
DI_R EN OUT IN ENO

Paramtre
EN IN OUT ENO

Type de donnes
BOOL DINT REAL BOOL

Zone de mmoire Description


E, A, M, D, L, T, Z E, A, M, D, L ou constante E, A, M, D, L E, A, M, D, L Entre de validation Valeur convertir Rsultat Sortie de validation

Description
L'opration Convertir entier de 32 bits en nombre rel lit le contenu du paramtre d'entre IN comme nombre entier de 32 bits, le convertit en un nombre rel 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 DI_R EN OUT IN ENO MD12

A 4.0 =

La conversion est excute 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 rel. Le rsultat est rang dans MD12. La sortie A 4.0 est mise 0 si la conversion n'est pas excute (ENO = EN).

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

3-7

Oprations de conversion

3.8

INV_I : Complment 1 d'entier de 16 bits

Reprsentation
INV_I EN OUT IN ENO

Paramtre
EN IN OUT ENO

Type de donnes
BOOL INT INT BOOL

Zone de mmoire Description


E, A, M, D, L, T, Z E, A, M, D, L ou constante E, A, M, D, L E, A, M, D, L Entre de validation Valeur d'entre Complment 1 du nombre entier de 16 bits Sortie de validation

Description
L'opration Complment 1 d'entier de 16 bits lit le contenu du paramtre d'entre IN et excute l'opration de combinaison OU exclusif mot avec le masque hexadcimal FFFF afin d'inverser la valeur de chaque bit. 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 MW8 INV_I EN OUT IN ENO MW10

A 4.0 =

La conversion est excute si l'tat de signal est 1 l'entre E 0.0. Chaque bit de MW8 est invers : MW8 = 01000001 10000001 -> MW10 = 10111110 01111110 Si E 0.0 est gal 0, la conversion n'est pas excute et la sortie A 4.0 est mise 0 (ENO = EN).

3-8

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de conversion

3.9

INV_DI : Complment 1 d'entier de 32 bits

Reprsentation
INV_DI EN OUT IN ENO

Paramtre
EN IN OUT ENO

Type de donnes
BOOL DINT DINT BOOL

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

Description
Entre de validation Valeur d'entre Complment 1 du nombre entier de 32 bits Sortie de validation

Description
L'opration Complment 1 d'entier de 32 bits lit le contenu du paramtre d'entre IN et excute l'opration de combinaison OU exclusif double mot avec le masque hexadcimal FFFF FFFF afin d'inverser la valeur de chaque bit. 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 INV_DI EN OUT IN ENO MD12

A 4.0 =

La conversion est excute si l'tat de signal est 1 l'entre E 0.0. Chaque bit du double mot de mmento MD8 est invers : MD8 = F0FF FFF0 -> MD12 = 0F00 000F Si E 0.0 est gal 0, la conversion n'est pas excute et la sortie A 4.0 est mise 0 (ENO = EN).

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

3-9

Oprations de conversion

3.10

NEG_I : Complment 2 d'entier de 16 bits

Reprsentation
NEG_I EN OUT IN ENO

Paramtre
EN IN OUT ENO

Type de donnes
BOOL INT INT BOOL

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

Description
Entre de validation Valeur d'entre Complment 2 du nombre entier de 16 bits Sortie de validation

Description
L'opration Complment 2 d'entier de 16 bits lit le contenu du paramtre d'entre IN et en change le signe (par exemple, valeur positive en valeur ngative). Le rsultat est rang dans le paramtre de sortie OUT. ENO et EN ont toujours un tat de signal identique. Exception : si l'tat de signal de EN est gal 1 et qu'il y ait dbordement, l'tat 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 OUT IN ENO MW10

A 4.0 =

La conversion est excute si l'tat de signal est 1 l'entre E 0.0. Le contenu du mot de mmento MW8 est rang dans le paramtre de sortie OUT - mot de mmento MW10 - avec le signe oppos. MW8 = +10 -> MW10 = - 10 Si l'tat de signal de EN est gal 1 et qu'il y ait dbordement, l'tat de signal de ENO ainsi que celui de la sortie A 4.0 sont gaux 0. La sortie A 4.0 est mise 0 si la conversion n'est pas excute (ENO = EN).

3-10

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de conversion

3.11

NEG_DI : Complment 2 d'entier de 32 bits

Reprsentation
NEG_DI EN OUT IN ENO

Paramtre
EN IN OUT ENO

Type de donnes
BOOL DINT DINT BOOL

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

Description
Entre de validation Valeur d'entre Complment 2 du nombre entier de 32 bits Sortie de validation

Description
L'opration Complment 2 d'entier de 32 bits lit le contenu du paramtre d'entre IN et en change le signe (par exemple, valeur positive en valeur ngative). Le rsultat est rang dans le paramtre de sortie OUT. ENO et EN ont toujours un tat de signal identique. Exception : si l'tat de signal de EN est gal 1 et qu'il y ait dbordement, l'tat 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 OUT IN ENO MD12

A 4.0 =

La conversion est excute si l'tat de signal est 1 l'entre E 0.0. Le contenu du double mot de mmento MD8 est rang dans le paramtre de sortie OUT - double mot de mmento MD12 - avec le signe oppos. MD8 = + 60.000 -> MD12 = - 60.000. Si l'tat de signal de EN est gal 1 et qu'il y ait dbordement, l'tat de signal de ENO ainsi que celui de la sortie A 4.0 sont gaux 0. La sortie A 4.0 est mise 0 si la conversion n'est pas excute (ENO = EN).

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

3-11

Oprations de conversion

3.12

NEG_R : Inverser le signe d'un nombre rel

Reprsentation
NEG_R EN OUT IN ENO

Paramtre
EN IN OUT ENO

Type de donnes
BOOL REAL REAL BOOL

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

Description
Entre de validation Valeur d'entre Le rsultat est la ngation de la valeur d'entre. Sortie de validation

Description
L'opration Inverser le signe d'un nombre rel lit le contenu du paramtre d'entre IN et en change le bit de signe (par exemple, de 0 pour une valeur positive en 1 pour une valeur ngative). Les bits de l'exposant et de la mantisse restent inchangs. Le rsultat est rang dans le paramtre de sortie OUT. ENO et EN ont toujours un tat de signal identique. Exception : si l'tat de signal de EN est gal 1 et qu'il y ait dbordement, l'tat de signal de ENO est gal 0.

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 OUT IN ENO MD12

A 4.0 =

La conversion est excute si l'tat de signal est 1 l'entre E 0.0. Le contenu du double mot de mmento MD8 est rang dans le paramtre de sortie OUT - double mot de mmento MD12 - avec le signe oppos. MD8 = + 6,234 -> MD12 = - 6,234 La sortie A 4.0 est mise 0 si la conversion n'est pas excute (ENO = EN).

3-12

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de conversion

3.13

ROUND : Arrondir entier de 32 bits

Reprsentation
ROUND EN OUT IN ENO

Paramtre
EN IN OUT ENO

Type de donnes
BOOL REAL DINT BOOL

Zone de mmoire Description


E, A, M, D, L, T, Z E, A, M, D, L ou constante E, A, M, D, L E, A, M, D, L Entre de validation Valeur arrondir IN arrondi au nombre entier le plus proche Sortie de validation

Description
L'opration Arrondir entier de 32 bits lit le contenu du paramtre d'entre IN comme nombre rel 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 la partie fractionnaire est gale "x,5", le rsultat fourni est le nombre pair (exemple : 2,5 -> 2 et 1,5 -> 2). En cas de dbordement, ENO est mis 0. Si l'entre n'est pas un nombre rel, les bits de dbordement et de dbordement mmoris (DEB et DM) prennent la valeur 1 et ENO est gal 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 OUT IN ENO MD12

A 4.0 =

La conversion est excute 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 selon le principe "arrondi au plus proche". Le rsultat est rang dans MD12. En cas de dbordement, la sortie A 4.0 est mise 0. Si l'tat de signal de l'entre EN est gal 0 (conversion non excute), l'tat de signal de la sortie A 4.0 est galement 0.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

3-13

Oprations de conversion

3.14

TRUNC : Tronquer la partie entire (32 bits)

Reprsentation
TRUNC EN OUT IN ENO

Paramtre
EN IN OUT ENO

Type de donnes
BOOL REAL DINT BOOL

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

Description
Entre de validation Valeur tronquer Partie entire de IN Sortie de validation

Description
L'opration Tronquer la partie entire (32 bits) lit le contenu du paramtre d'entre IN comme nombre rel et le convertit en nombre entier de 32 bits (exemple : 1,5 devient 1). Le rsultat, qui est la partie entire du nombre rel, est rang dans le paramtre de sortie OUT. En cas de dbordement, ENO est mis 0. Si l'entre n'est pas un nombre rel, les bits de dbordement et de dbordement mmoris (DEB et DM) prennent la valeur 1 et ENO est gal 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 OUT IN ENO MD12

A 4.0 =

La conversion est excute 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 selon le principe "arrondi zro". Le rsultat, qui est la partie entire du nombre rel, est rang dans MD12. En cas de dbordement, la sortie A 4.0 est mise 0. Si l'tat de signal de l'entre EN est gal 0 (conversion non excute), l'tat de signal de la sortie A 4.0 est galement 0.

3-14

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de conversion

3.15

CEIL : Convertir nombre rel en entier suprieur le plus proche

Reprsentation
CEIL EN OUT IN ENO

Paramtre
EN IN OUT ENO

Type de donnes
BOOL REAL DINT BOOL

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

Description
Entre de validation Valeur convertir Rsultat Sortie de validation

Description
L'opration Convertir nombre rel en entier suprieur le plus proche lit le contenu du paramtre d'entre IN comme nombre rel et le convertit en un nombre entier de 32 bits (exemple : +1,2 -> +2 et -1,5 -> -1). Le rsultat, qui est le nombre entier suprieur le plus proche du nombre rel indiqu, est rang dans le paramtre de sortie OUT. En cas de dbordement, ENO est mis 0. Si l'entre n'est pas un nombre rel, les bits de dbordement et de dbordement mmoris (DEB et DM) prennent la valeur 1 et ENO est gal 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 CEIL EN OUT IN ENO MD12

A 4.0 =

La conversion est excute 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 selon le principe "arrondi plus l'infini". Le rsultat est rang dans MD12. En cas de dbordement, la sortie A 4.0 est mise 0. Si l'tat de signal de l'entre EN est gal 0 (conversion non excute), l'tat de signal de la sortie A 4.0 est galement 0.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

3-15

Oprations de conversion

3.16

FLOOR : Convertir nombre rel en entier infrieur le plus proche

Reprsentation
FLOOR EN OUT IN ENO

Paramtre
EN IN OUT ENO

Type de donnes
BOOL REAL DINT BOOL

Zone de mmoire Description


E, A, M, D, L, T, Z E, A, M, D, L ou constante E, A, M, D, L E, A, M, D, L Entre de validation Valeur convertir Rsultat Sortie de validation

Description
L'opration Convertir nombre rel en entier infrieur le plus proche lit le contenu du paramtre d'entre IN comme nombre rel et le convertit en un nombre entier de 32 bits (exemple : +1,5 -> +1 et -1,5 -> -2). Le rsultat, qui est le nombre entier infrieur le plus proche du nombre rel indiqu, est rang dans le paramtre de sortie OUT. En cas de dbordement, ENO est mis 0. Si l'entre n'est pas un nombre rel, les bits de dbordement et de dbordement mmoris (DEB et DM) prennent la valeur 1 et ENO est gal 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 OUT IN ENO MD12

A 4.0 =

La conversion est excute 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 selon le principe "arrondi moins l'infini". Le rsultat est rang dans MD12. En cas de dbordement, la sortie A 4.0 est mise 0. Si l'tat de signal de l'entre EN est gal 0 (conversion non excute), l'tat de signal de la sortie A 4.0 est galement 0.

3-16

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

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 LOG 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 : ZAEHLER : Paramtrage et compteur incrmental/dcrmental Z_VORW : Paramtrage et compteur incrmental Z_RUECK : Paramtrage et compteur dcrmental SZ : Initialiser compteur ZV : Incrmenter ZR : Dcrmenter

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.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

4-1

Oprations de comptage

15 14 13 12 11 10 0 0

9 0

8 1

7 0

6 0

5 1

4 0

3 0

2 1

1 1

0 1

non significatifs

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 LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de comptage

4.2

ZAEHLER : Paramtrage et compteur incrmental/dcrmental

Reprsentation
Anglaise
C no. S_CUD CU CD S PV R

Allemande
Z-Nr. ZAEHLER ZV ZR S DUAL ZW R DEZ Q

CV CV_BCD Q

Paramtre Paramtre Anglaise Allemande


C no. CU CD S PV Z Nr. ZV ZR S ZW

Type de donnes
COUNTER BOOL BOOL BOOL WORD

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

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 comprise entre 0 et 999 ou valeur de comptage saisie en format DCB sous la forme C#<valeur>

R CV CV_BCD Q

R DUAL DEZ Q

BOOL WORD WORD BOOL

E, A, M, D, L,T, Entre de remise zro Z E, A, M, D, L E, A, M, D, L E, A, M, D, L Valeur de comptage en cours (format hexadcimal) Valeur de comptage en cours (format DCB) Etat du compteur

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

4-3

Oprations de comptage

Description
Un front montant (transition de 0 1) l'entre S de l'opration Paramtrage et compteur incrmental/dcrmental initialise le compteur la valeur figurant dans l'entre ZW. La valeur du compteur est incrmente d'une unit en cas de front montant l'entre ZV si la valeur de comptage est infrieure 999 ; elle est dcrmente d'une unit en cas de front montant l'entre ZR si la valeur de comptage est suprieure 0. En cas de front montant aux deux entres de comptage, les deux oprations sont traites 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. La valeur 1 l'entre R remet le compteur zro ; la valeur de comptage prend la valeur nulle. L'interrogation 1 de l'tat de signal la sortie Q donne 1 comme rsultat lorsque la valeur de comptage est suprieure 0 ; cette interrogation donne 0 comme rsultat 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

Exemple
Z10 E 0.0 E 0.1 E 0.2 C#55 E 0.3 ZAEHLER ZV ZR S ZW R DUAL DEZ Q A 4.0 =

Le compteur Z10 est initialis la valeur 55 si l'tat de signal passe de 0 1 l'entre E 0.2. Si l'tat de signal de 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 de E 0.1 passe de 0 1, la valeur du compteur Z10 est dcrmente d'un moins qu'elle ne soit dj gale 0. Si l'tat de signal de l'entre E 0.3 passe de 0 1, la valeur de comptage de Z10 est mise zro. La sortie A 4.0 est 1 tant que Z10 est diffrent de zro.

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

4-4

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de comptage

4.3

Z_VORW : Paramtrage et compteur incrmental

Reprsentation
Anglaise C no. S_CU CU S PV R CV CV_BCD Q Allemande Z-Nr. Z_VORW ZV S ZW R DUAL DEZ Q

Paramtre Anglaise
C no. CU S PV

Paramtre Allemande
Z Nr. ZV S ZW

Type de donnes
COUNTER BOOL BOOL WORD

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

Description
Numro d'identification du compteur. La plage dpend de la CPU. Entre d'incrmentation

E, A, M, D, L, Entre d'initialisation du compteur T, Z E, A, M, D, L ou constante Valeur de comptage comprise entre 0 et 999 ou valeur de comptage saisie en format DCB sous la forme C#<valeur>

R CV CV_BCD Q

R DUAL DEZ Q

BOOL WORD WORD BOOL

E, A, M, D, L, Entre de remise zro T, Z E, A, M, D, L E, A, M, D, L E, A, M, D, L Valeur de comptage en cours (format hexadcimal) Valeur de comptage en cours (format DCB) Etat du compteur

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

4-5

Oprations de comptage

Description
Un front montant (transition de 0 1) l'entre S de l'opration Paramtrage et compteur incrmental initialise le compteur la valeur figurant dans l'entre ZW. La valeur du compteur est incrmente d'une unit en cas de front montant l'entre ZV si la valeur de comptage est infrieure 999. 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. La valeur 1 l'entre R remet le compteur zro ; la valeur de comptage prend la valeur nulle. L'interrogation 1 de l'tat de signal la sortie Q donne 1 comme rsultat lorsque la valeur de comptage est suprieure 0 ; cette interrogation donne 0 comme rsultat 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

Exemple
Z10 Z_VORW E 0.0 E 0.2 C#901 E 0.3 ZV S ZW R DUAL DEZ Q A 4.0 =

Le compteur Z10 est initialis la valeur 901 si l'tat de signal passe de 0 1 l'entre E 0.2. Si l'tat de signal de 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 de l'entre E 0.3 passe de 0 1, la valeur de comptage de Z10 est mise zro. La sortie A 4.0 est 1 tant que Z10 est diffrent de zro.

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

4-6

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de comptage

4.4

Z_RUECK : Paramtrage et compteur dcrmental

Reprsentation
Anglaise C no. S_CD CD S PV R CV CV_BCD Q Allemande Z-Nr. Z_RUECK ZR S ZW R DUAL DEZ Q

Paramtre Anglaise
C no. CD S PV

Paramtre Allemande
Z Nr. ZR S ZW

Type de donnes
COUNTER BOOL BOOL WORD

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

Description
Numro d'identification du compteur. La plage dpend de la CPU. Entre de dcrmentation

E, A, M, D, L, Entre d'initialisation du compteur T, Z E, A, M, D, L ou constante Valeur de comptage comprise entre 0 et 999 ou valeur de comptage saisie en format DCB sous la forme C#<valeur>

R CV CV_BCD Q

R DUAL DEZ Q

BOOL WORD WORD BOOL

E, A, M, D, L, Entre de remise zro T, Z E, A, M, D, L E, A, M, D, L E, A, M, D, L Valeur de comptage en cours (format hexadcimal) Valeur de comptage en cours (format DCB) Etat du compteur

Description
Un front montant (transition de 0 1) l'entre S de l'opration Paramtrage et compteur dcrmental initialise le compteur la valeur figurant dans l'entre ZW. La valeur du compteur est dcrmente d'une unit en cas de front montant l'entre ZR si la valeur de comptage est suprieure 0. 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. La valeur 1 l'entre R remet le compteur zro ; la valeur de comptage prend la valeur nulle. L'interrogation 1 de l'tat de signal la sortie Q donne 1 comme rsultat lorsque la valeur de comptage est suprieure 0 ; cette interrogation donne 0 comme rsultat lorsque la valeur de comptage est gale 0.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

4-7

Oprations de comptage

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
X

ETAT
X

RLG
X

/PI
1

Exemple
Z10 Z_RUECK E 0.0 E 0.2 C#89 E 0.3 ZR S ZW R DUAL DEZ Q A 4.0 =

Le compteur Z10 est initialis la valeur 89 si l'tat de signal passe de 0 1 l'entre E 0.2. Si l'tat de signal de E 0.0 passe de 0 1, la valeur du compteur Z10 est dcrmente d'un moins qu'elle ne soit dj gale 0. Si l'tat de signal de l'entre E 0.3 passe de 0 1, la valeur de comptage de Z10 est mise zro.

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

4-8

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de comptage

4.5

SZ : Initialiser compteur

Reprsentation
Anglaise <oprande1> SC <oprande2> CV <oprande2> Allemande <oprande1> SZ ZW

Paramtre Anglaise Numro de compteur CV

Paramtre Allemande Numro de compteur ZW

Type de donnes COUNTER WORD

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

Description <oprande1> indique le numro du compteur qui doit tre initialis. La valeur d'initialisation (oprande2) peut tre comprise entre 0 et 999. Pour une constante, elle doit tre prcde de C# afin d'indiquer le format DCB, par exemple C#100.

Description
L'opration Initialiser compteur vous permet d'affecter une valeur initiale au compteur que vous avez dfini. Elle ne s'excute que si le RLG prsente un front montant (c'est--dire s'il passe de 0 1). Vous ne pouvez placer la bote Initialiser compteur qu' l'extrmit droite de la squence combinatoire. Il est toutefois possible d'en utiliser plusieurs.

Mot d'tat
RB Ecriture BI1 BI0 DEB DM OU 0 ETAT RLG /PI 0

Exemple
Z5 SZ ZW

E 0.0 C#100

Si l'tat de signal l'entre E 0.0 passe de 0 1 (front montant du RLG), le compteur Z5 est initialis avec la valeur 100. C# indique que vous entrez une valeur en format DCB. En l'absence de front montant, la valeur de Z5 reste inchange.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

4-9

Oprations de comptage

4.6

ZV : Incrmenter

Reprsentation
Anglaise
<oprande> CU

Allemande
<oprande> ZV

Paramtre Numro de compteur

Type de donnes COUNTER

Zone de mmoire Z

Description L'oprande indique le numro du compteur incrmenter.

Description
L'opration Incrmenter incrmente d'un la valeur du compteur prcis si le RLG prsente un front montant (c'est--dire s'il passe de 0 1) 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. L'opration Initialiser compteur permet d'initialiser le compteur. Vous ne pouvez placer la bote Incrmenter qu' l'extrmit droite de la squence combinatoire. Il est toutefois possible d'en utiliser plusieurs.

Mot d'tat
RB Ecriture BI1 BI0 DEB DM OU 0 ETAT RLG /PI 0

Exemple
Z10 E 0.0 ZV

Si l'tat de signal en E 0.0 passe de 0 1 (front montant du RLG), la valeur du compteur Z10 est incrmente de 1, moins qu'elle ne soit dj gale 999. En l'absence de front montant, la valeur de Z10 reste inchange.

4-10

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de comptage

4.7

ZR : Dcrmenter

Reprsentation
Anglaise
<oprande> CD

Allemande
<oprande> ZR

Paramtre
Numro de compteur

Type de donnes
COUNTER

Zone de mmoire
Z

Description
L'oprande indique le numro du compteur dcrmenter.

Description
L'opration Dcrmenter dcrmente d'un la valeur du compteur prcis si le RLG prsente un front montant (c'est--dire s'il passe de 0 1) 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. L'opration Initialiser compteur permet d'initialiser le compteur (voir aussi la rubrique Initialiser compteur). Vous ne pouvez placer la bote Dcrmenter qu' l'extrmit droite de la squence combinatoire. Il est toutefois possible d'en utiliser plusieurs.

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
-

RLG
-

/PI
0

Exemple
Z10 E 0.0 ZR

Si l'tat de signal en E 0.0 passe de 0 1 (front montant du RLG), la valeur du compteur Z10 est dcrmente de 1, moins qu'elle ne soit dj gale 0. En l'absence de front montant, la valeur de Z10 reste inchange.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

4-11

Oprations de comptage

4-12

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations sur blocs de donnes

5.1

OPN : Ouvrir bloc de donnes

Reprsentation
<DB numro> ou <DI numro> OPN

Paramtre
Numro du DB ou du DI

Type de donnes
-

Zone de mmoire
-

Description
Numro du DB ou du DI. La plage autorise dpend de votre CPU.

Description
L'opration Ouvrir bloc de donnes ouvre un bloc de donnes (DB) ou un bloc de donnes d'instance (DI). Le numro du bloc de donnes est transfr dans le registre DB ou DI. Les commandes DB et DI suivantes accdent aux blocs de donnes correspondant au contenu de ces registres.

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
-

ETAT
-

RLG
-

/PI
-

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

5-1

Oprations sur blocs de donnes

Exemple
Rseau 1 DB10 OPN

Rseau 2 A 4.0 DBX 0.0 =

Le DB10 est le DB ouvert en cours. C'est pourquoi l'interrogation en DBX 0.0 se rfre au bit 0 de l'octet de donnes 0 du bloc de donnes DB10. L'tat de signal de ce bit est affect la sortie A 4.0.

5-2

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

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 : Saut inconditionnel JMPN : Saut si 0 (conditionnel) JMP : Saut si 1 (conditionnel)

Repre de saut comme oprande


L'oprande d'une opration de saut est un repre de saut qui comporte 4 caractres au maximum. 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 l'endroit o doit sauter le programme. Vous prcisez le repre de saut au-dessus de la bote JMP.

Repre de saut comme destination


Le repre de saut de destination doit se trouver au dbut d'un rseau. Pour l'indiquer, slectionnez REPERE dans la bote de slection LOG et saisissez son nom dans la bote vide qui apparat alors.
Rseau 1 SEG3 JMP Rseau 2 A 4.0 E 0.1

. .
Rseau X SEG3 A 4.1 E 0.4 R

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

6-1

Oprations de saut

6.2

JMP : Saut inconditionnel

Reprsentation
<oprande> JMP

Paramtre

Type de donnes

Zone de mmoire
-

Description
L'oprande indique le repre vers lequel doit se faire le saut inconditionnel.

Nom d'un repre de saut

Description
L'opration Saut inconditionnel correspond une opration Aller un repre de saut. Aucune des oprations entre l'opration de saut et le repre de saut n'est excute. Vous pouvez utiliser cette opration dans tous les blocs de code, savoir les blocs d'organisation (OB), les blocs fonctionnels (FB) et les fonctions (FC). Il ne doit pas y avoir de combinaison en amont de la bote Saut inconditionnel.

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
-

ETAT
-

RLG
-

/PI
-

Exemple
Rseau 1 CAS1 ??.? JMP

. .
Rseau X CAS1 A 4.1 E 0.4 R

Le saut est excut chaque fois. Aucune des oprations entre l'opration de saut et le repre de saut n'est excute.

6-2

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de saut

6.3

JMP : Saut si 1 (conditionnel)

Reprsentation
<oprande> JMP

Paramtre

Type de donnes

Zone de mmoire
-

Description
L'oprande indique le repre vers lequel doit se faire le saut si le RLG est gal 1.

Nom d'un repre de saut

Description
L'opration Saut si 1 (conditionnel) correspond une opration Aller un repre de saut si le RLG est gal 1. Pour cette opration, utilisez l'lment LOG Saut inconditionnel, mais avec une combinaison en amont. Le saut conditionnel n'est excut que si le rsultat logique de cette combinaison est gal 1. Dans ce cas, aucune des oprations entre l'opration de saut et le repre de saut n'est excute. Vous pouvez utiliser cette opration dans tous les blocs de code, savoir les blocs d'organisation (OB), les blocs fonctionnels (FB) et les fonctions (FC).

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
1

RLG
1

/PI
0

Exemple
Rseau 1 CAS1 E 0.0 Rseau 2 A 4.0 E 0.3 Rseau 3 CAS1 A 4.1 E 0.4 R R JMP

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 LOG pour SIMATIC S7-300/400 A5E00706956-01

6-3

Oprations de saut

6.4

JMPN : Saut si 0 (conditionnel)

Reprsentation
<oprande> JMPN

Paramtre

Type de donnes

Zone de mmoire
-

Description
L'oprande indique le repre vers lequel doit se faire le saut si le RLG est gal 0.

Nom d'un repre de saut

Description
L'opration Saut si 0 (conditionnel) correspond une opration Aller un repre de saut si le RLG est gal 0. Vous pouvez utiliser cette opration dans tous les blocs de code, savoir les blocs d'organisation (OB), les blocs fonctionnels (FB) et les fonctions (FC).

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
1

RLG
1

/PI
0

Exemple
Rseau 1 CAS1 E 0.0 Rseau 2 A 4.0 E 0.3 Rseau 3 CAS1 A 4.1 E 0.4 R R JMPN

Le saut au repre CAS1 est excut si l'tat de signal est 0 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. Aucune des oprations entre l'opration de saut et le repre de saut n'est excute.
Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

6-4

Oprations de saut

6.5

LABEL : Repre de saut

Reprsentation
LABEL

Description
Le repre de saut identifie la destination d'une opration de saut. Le repre de saut consiste de 4 caractres alphanumriques, le premier devant tre une lettre, par exemple CAS1. Il doit exister un repre de saut (LABEL) pour chaque saut conditionnel (JMP ou JMPN).

Exemple
Rseau 1 CAS1 E 0.0 Rseau 2 A 4.0 E 0.3 Rseau 3 CAS1 A 4.1 E 0.4 R R JMP

Le saut au repre CAS1 est excut si l'tat de signal est 1 l'entre E 0.0. En raison du saut, 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 LOG pour SIMATIC S7-300/400 A5E00706956-01

6-5

Oprations de saut

6-6

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations arithmtiques sur nombres entiers

7.1

Vue d'ensemble des oprations arithmtiques sur nombre entiers

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

ADD_I : Additionner entiers de 16 bits SUB_I : Soustraire entiers de 16 bits MUL_I : Multiplier entiers de 16 bits DIV_I : Diviser entiers de 16 bits ADD_DI : Additionner entiers de 32 bits SUB_DI : Soustraire entiers de 32 bits MUL_DI : Multiplier entiers de 32 bits DIV_DI : Diviser entiers de 32 bits MOD_DI : Reste de division (32 bits)

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

7-1

Oprations arithmtiques sur nombres entiers

7.2

Evaluation des bits du mot d'tat pour les oprations sur nombres entiers

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

BI1 et BI0, DEB et 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 LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations arithmtiques sur nombres entiers

7.3

ADD_I : Additionner entiers de 16 bits

Reprsentation
ADD_I
EN IN1 IN2 OUT ENO

Paramtre
EN IN1 IN2 OUT ENO

Type de donnes
BOOL INT INT INT BOOL

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

Description
Entre de validation Premier terme de l'addition Second terme de l'addition Rsultat de l'addition Sortie de validation

Description
L'opration Additionner entiers de 16 bits est active 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 entier de 16 bits, les bits de dbordement et de dbordement mmoris (DEB et DM) sont mis 1 et la sortie ENO est mise 0. Voir aussi Evaluation des bits du mot d'tat pour les oprations sur nombres entiers.

Mot d'tat
RB
Ecriture X

BI1
X

BI0
X

DEB
X

DM
X

OU
0

ETAT
X

RLG
X

/PI
1

Exemple
ADD_I
E 0.0 MW0 MW2 EN IN1 IN2 OUT ENO MW10 A 4.0 =

La bote ADD_I est active 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 ce rsultat est hors de la plage autorise pour un nombre entier de 16 bits ou si l'tat de signal de l'entre E 0.0 est gal 0, la sortie A 4.0 est mise 0 et l'opration n'est pas excute.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

7-3

Oprations arithmtiques sur nombres entiers

7.4

SUB_I : Soustraire entiers de 16 bits

Reprsentation
SUB_I
EN IN1 IN2 OUT ENO

Paramtre
EN IN1 IN2 OUT ENO

Type de donnes
BOOL INT INT INT BOOL

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

Description
Entre de validation Valeur dont on soustrait Valeur soustraire Rsultat de la soustraction Sortie de validation

Description
L'opration Soustraire entiers de 16 bits est active 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 entier de 16 bits, les bits de dbordement et de dbordement mmoris (DEB et DM) sont mis 1 et la sortie ENO est mise 0. Voir aussi Evaluation des bits du mot d'tat pour les oprations sur nombres entiers.

Mot d'tat
RB
Ecriture X

BI1
X

BI0
X

DEB
X

DM
X

OU
0

ETAT
X

RLG
X

/PI
1

Exemple
SUB_I
E 0.0 MW0 MW2 EN IN1 IN2 OUT ENO MW10 A 4.0 =

La bote SUB_I est active 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 ce rsultat est hors de la plage autorise pour un nombre entier de 16 bits ou si l'tat de signal de l'entre E 0.0 est gal 0, la sortie A 4.0 est mise 0.

7-4

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations arithmtiques sur nombres entiers

7.5

MUL_I : Multiplier entiers de 16 bits

Reprsentation
MUL_I
EN IN1 IN2 OUT ENO

Paramtre
EN IN1 IN2 OUT ENO

Type de donnes
BOOL INT INT INT BOOL

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

Description
Entre de validation Premier terme de la multiplication Second terme de la multiplication Rsultat de la multiplication Sortie de validation

Description
L'opration Multiplier entiers de 16 bits est active 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 entier de 16 bits, les bits de dbordement et de dbordement mmoris (DEB et DM) sont mis 1 et la sortie ENO est mise 0. Voir aussi Evaluation des bits du mot d'tat pour les oprations sur nombres entiers.

Mot d'tat
RB
Ecriture X

BI1
X

BI0
X

DEB
X

DM
X

OU
0

ETAT
X

RLG
X

/PI
1

Exemple
MUL_I
E 0.0 MW0 MW2 EN IN1 IN2 OUT ENO MW10 A 4.0 =

La bote MUL_I est active 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 ce rsultat est hors de la plage autorise pour un nombre entier de 16 bits ou si l'tat de signal de l'entre E 0.0 est gal 0, la sortie A 4.0 est mise 0.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

7-5

Oprations arithmtiques sur nombres entiers

7.6

DIV_I : Diviser entiers de 16 bits

Reprsentation
DIV_I
EN IN1 IN2 OUT ENO

Paramtre
EN IN1 IN2 OUT ENO

Type de donnes
BOOL INT INT INT BOOL

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

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

Description
L'opration Diviser entiers de 16 bits est active 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 quotient (partie entire) dans la sortie OUT. Elle ne fournit pas de reste. Si le quotient est hors de la plage autorise pour un nombre entier de 16 bits, les bits de dbordement et de dbordement mmoris (DEB et DM) sont mis 1 et la sortie ENO est mise 0. Voir aussi Evaluation des bits du mot d'tat pour les oprations sur nombres entiers.

Mot d'tat
RB
Ecriture X

BI1
X

BI0
X

DEB
X

DM
X

OU
0

ETAT
X

RLG
X

/PI
1

Exemple
DIV_I
E 0.0 MW0 MW2 EN IN1 IN2 OUT ENO MW10 A 4.0 =

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

7-6

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations arithmtiques sur nombres entiers

7.7

ADD_DI : Additionner entiers de 32 bits

Reprsentation
ADD_DI
EN IN1 IN2 OUT ENO

Paramtre
EN IN1 IN2 OUT ENO

Type de donnes
BOOL DINT DINT DINT BOOL

Zone de mmoire Description


E, A, M, D, L, T, Z E, A, M, D, L ou constante E, A, M, D, L ou constante E, A, M, D, L E, A, M, D, L Entre de validation Premier terme de l'addition Second terme de l'addition Rsultat de l'addition Sortie de validation

Description
L'opration Additionner entiers de 32 bits est active 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 entier de 32 bits, les bits de dbordement et de dbordement mmoris (DEB et DM) sont mis 1 et la sortie ENO est mise 0. Voir aussi Evaluation des bits du mot d'tat pour les oprations sur nombres entiers.

Mot d'tat
RB
Ecriture X

BI1
X

BI0
X

DEB
X

DM
X

OU
0

ETAT
X

RLG
X

/PI
1

Exemple
ADD_DI
E 0.0 MD0 MD4 EN IN1 IN2 OUT ENO MD10 A 4.0 =

La bote ADD_DI est active 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 entier de 32 bits, les bits de dbordement et de dbordement mmoris (DEB et DM) sont mis 1 et la sortie ENO est mise 0.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

7-7

Oprations arithmtiques sur nombres entiers

7.8

SUB_DI : Soustraire entiers de 32 bits

Reprsentation
SUB_DI
EN IN1 IN2 OUT ENO

Paramtre
EN IN1 IN2 OUT ENO

Type de donnes
BOOL DINT DINT DINT BOOL

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

Description
Entre de validation Valeur dont on soustrait Valeur soustraire Rsultat de la soustraction Sortie de validation

Description
L'opration Soustraire entiers de 32 bits est active 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 entier de 32 bits, les bits de dbordement et de dbordement mmoris (DEB et DM) sont mis 1 et la sortie ENO est mise 0. Voir aussi Evaluation des bits du mot d'tat pour les oprations sur nombres entiers.

Mot d'tat
RB
Ecriture X

BI1
X

BI0
X

DEB
X

DM
X

OU
0

ETAT
X

RLG
X

/PI
1

Exemple
SUB_DI
E 0.0 MD0 MD4 EN IN1 IN2 OUT ENO MD10 A 4.0 =

La bote SUB_DI est active 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 entier de 32 bits ou si l'tat de signal de l'entre E 0.0 est gal 0, la sortie A 4.0 est mise 0 et l'opration n'est pas excute.

7-8

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations arithmtiques sur nombres entiers

7.9

MUL_DI : Multiplier entiers de 32 bits

Reprsentation
MUL_DI
EN IN1 IN2 OUT ENO

Paramtre
EN IN1 IN2 OUT ENO

Type de donnes
BOOL DINT DINT DINT BOOL

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

Description
Entre de validation Premier terme de la multiplication Second terme de la multiplication Rsultat de la multiplication Sortie de validation

Description
L'opration Multiplier entiers de 32 bits est active 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 entier de 32 bits, les bits de dbordement et de dbordement mmoris (DEB et DM) sont mis 1 et la sortie ENO est mise 0. Voir aussi Evaluation des bits du mot d'tat pour les oprations sur nombres entiers.

Mot d'tat
RB
Ecriture X

BI1
X

BI0
X

DEB
X

DM
X

OU
0

ETAT
X

RLG
X

/PI
1

Exemple
MUL_DI
E 0.0 MD0 MD4 EN IN1 IN2 OUT ENO MD10 A 4.0 =

La bote MUL_DI est active 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 ce rsultat est hors de la plage autorise pour un nombre entier de 32 bits ou si l'tat de signal de l'entre E 0.0 est gal 0, la sortie A 4.0 est mise 0.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

7-9

Oprations arithmtiques sur nombres entiers

7.10

DIV_DI : Diviser entiers de 32 bits

Reprsentation
DIV_DI
EN IN1 IN2 OUT ENO

Paramtre
EN IN1 IN2 OUT ENO

Type de donnes
BOOL DINT DINT DINT BOOL

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

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

Description
L'opration Diviser entiers de 32 bits est active 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 quotient (partie entire) dans la sortie OUT. Elle range le quotient sous forme de valeur de 32 bits en format DINT et ne fournit pas de reste. Si le quotient est hors de la plage autorise pour un nombre entier de 32 bits, les bits de dbordement et de dbordement mmoris (DEB et DM) sont mis 1 et la sortie ENO est mise 0. Voir aussi Evaluation des bits du mot d'tat pour les oprations sur nombres entiers.

Mot d'tat
RB
Ecriture X

BI1
X

BI0
X

DEB
X

DM
X

OU
0

ETAT
X

RLG
X

/PI
1

Exemple
DIV_DI
E 0.0 MD0 MD4 EN IN1 IN2 OUT ENO MD10 A 4.0 =

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

7-10

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations arithmtiques sur nombres entiers

7.11

MOD_DI : Reste de division (32 bits)

Reprsentation
MOD_DI
EN IN1 IN2 OUT ENO

Paramtre
EN IN1 IN2 OUT ENO

Type de donnes
BOOL DINT DINT DINT BOOL

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

Description
Entre de validation Dividende Diviseur Reste Sortie de validation

Description
L'opration Reste de division (32 bits) est active 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 reste dans la sortie OUT. Si ce reste est hors de la plage autorise pour un nombre entier de 32 bits, les bits de dbordement et de dbordement mmoris (DEB et DM) sont mis 1 et la sortie ENO est mise 0. Voir aussi Evaluation des bits du mot d'tat pour les oprations sur nombres entiers.

Mot d'tat
RB
Ecriture X

BI1
X

BI0
X

DEB
X

DM
X

OU
0

ETAT
X

RLG
X

/PI
1

Exemple
MOD_DI
E 0.0 MD0 MD4 EN IN1 IN2 OUT ENO MD10 A 4.0 =

La bote MOD_DI est active 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 de l'entre E 0.0 est gal 0, la sortie A 4.0 est mise 0.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

7-11

Oprations arithmtiques sur nombres entiers

7-12

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations arithmtiques sur nombres rels

8.1

Vue d'ensemble des oprations arithmtiques sur nombres rels

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 : Additionner nombres rels SUB_R : Soustraire nombres rels MUL_R : Multiplier nombres rels DIV_R : Diviser nombres rels

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

valeur absolue (ABS) d'un nombre rel, carr (SQR) et racine carre (SQRT) d'un nombre rel, logarithme naturel (LN) d'un nombre rel, valeur exponentielle (EXP) de base e (= 2,71828...) d'un nombre rel, fonctions trigonomtriques d'angles reprsents sous forme de nombres virgule flottante IEEE de 32 bits : sinus d'un nombre rel (SIN) et arc sinus d'un nombre rel (ASIN), cosinus d'un nombre rel (COS) et arc cosinus d'un nombre rel (ACOS), tangente d'un nombre rel (TAN) et arc tangente d'un nombre rel (ATAN).

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

8-1

Oprations arithmtiques sur nombres rels

8.2

Evaluation des bits du mot d'tat pour les oprations sur nombres rels

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

BI0 et BI1, DEB et 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 rel correct ou opration illicite (valeur d'entre hors de la plage de valeurs autorise)

BI1
0 0 0 1 1

BI0
0 0 1 0 1

DEB
1 1 1 1 1

DM
1 1 1 1 1

8-2

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations arithmtiques sur nombres rels

8.3
8.3.1

Oprations de base
ADD_R : Additionner nombres rels

Reprsentation
ADD_R EN IN1 IN2 OUT ENO

Paramtre
EN IN1 IN2 OUT ENO

Type de donnes
BOOL REAL REAL REAL BOOL

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

Description
Entre de validation

E, A, M, D, L ou constante Premier terme de l'addition E, A, M, D, L ou constante Second terme de l'addition E, A, M, D, L E, A, M, D, L Rsultat de l'addition Sortie de validation

Description
L'opration Additionner nombres rels est active 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 l'une des entres ou le rsultat n'est pas un nombre rel, les bits de dbordement et de dbordement mmoris (DEB et DM) sont mis 1 et la sortie ENO est mise 0. Vous trouverez des informations sur l'valuation des bits du mot d'tat la rubrique Evaluation des bits du mot d'tat pour les oprations sur nombres rels.

Mot d'tat
RB
Ecriture X

BI1
X

BI0
X

DEB
X

DM
X

OU
0

ETAT
X

RLG
X

/PI
1

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

La bote ADD_R est active 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 l'une des entres ou le rsultat n'est pas un nombre rel ou si l'tat de signal de l'entre E 0.0 est gal 0, la sortie A 4.0 est mise 0.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

8-3

Oprations arithmtiques sur nombres rels

8.3.2

SUB_R : Soustraire nombres rels

Reprsentation
SUB_R EN IN1 IN2 OUT ENO

Paramtre
EN IN1 IN2 OUT ENO

Type de donnes
BOOL REAL REAL REAL BOOL

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

Description
Entre de validation

E, A, M, D, L ou constante Valeur dont on soustrait E, A, M, D, L ou constante Valeur soustraire E, A, M, D, L E, A, M, D, L Rsultat de la soustraction Sortie de validation

Description
L'opration Soustraire nombres rels est active 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 l'une des entres ou le rsultat n'est pas un nombre rel, les bits de dbordement et de dbordement mmoris (DEB et DM) sont mis 1 et la sortie ENO est mise 0. Vous trouverez des informations sur l'valuation des bits du mot d'tat la rubrique Evaluation des bits du mot d'tat pour les oprations sur nombres rels.

Mot d'tat
RB
Ecriture X

BI1
X

BI0
X

DEB
X

DM
X

OU
0

ETAT
X

RLG
X

/PI
1

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

La bote SUB_R est active 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 l'une des entres ou le rsultat n'est pas un nombre rel ou si l'tat de signal de l'entre E 0.0 est gal 0, la sortie A 4.0 est mise 0.

8-4

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations arithmtiques sur nombres rels

8.3.3

MUL_R : Multiplier nombres rels

Reprsentation
MUL_R EN IN1 IN2 OUT ENO

Paramtre
EN IN1 IN2 OUT ENO

Type de donnes
BOOL REAL REAL REAL BOOL

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

Description
Entre de validation

E, A, M, D, L ou constante Premier terme de la multiplication E, A, M, D, L ou constante Second terme de la multiplication E, A, M, D, L E, A, M, D, L Rsultat de la multiplication Sortie de validation

Description
L'opration Multiplier nombres rels est active 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 l'une des entres ou le rsultat n'est pas un nombre rel, les bits de dbordement et de dbordement mmoris (DEB et DM) sont mis 1 et la sortie ENO est mise 0. Vous trouverez des informations sur l'valuation des bits du mot d'tat la rubrique Evaluation des bits du mot d'tat pour les oprations sur nombres rels.

Mot d'tat
RB
Ecriture X

BI1
X

BI0
X

DEB
X

DM
X

OU
0

ETAT
X

RLG
X

/PI
1

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

La bote MUL_R est active 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 l'une des entres ou le rsultat n'est pas un nombre rel ou si l'tat de signal de l'entre E 0.0 est gal 0, la sortie A 4.0 est mise 0.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

8-5

Oprations arithmtiques sur nombres rels

8.3.4

DIV_R : Diviser nombres rels

Reprsentation
DIV_R EN IN1 IN2 OUT ENO

Paramtre
EN IN1 IN2 OUT ENO

Type de donnes
BOOL REAL REAL REAL BOOL

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

Description
Entre de validation

E, A, M, D, L ou constante Dividende E, A, M, D, L ou constante Diviseur E, A, M, D, L E, A, M, D, L Rsultat de la division Sortie de validation

Description
L'opration Diviser nombres rels est active 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 l'une des entres ou le rsultat n'est pas un nombre rel, les bits de dbordement et de dbordement mmoris (DEB et DM) sont mis 1 et la sortie ENO est mise 0. Vous trouverez des informations sur l'valuation des bits du mot d'tat la rubrique Evaluation des bits du mot d'tat pour les oprations sur nombres rels.

Mot d'tat
RB
Ecriture X

BI1
X

BI0
X

DEB
X

DM
X

OU
0

ETAT
X

RLG
X

/PI
1

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

La bote DIV_R est active si l'tat de signal est 1 l'entre E 0.0. Le rsultat de la division de MD0 par MD4 est rang dans le double mot de mmento MD10. Si l'une des entres ou le rsultat n'est pas un nombre rel ou si l'tat de signal de l'entre E 0.0 est gal 0, la sortie A 4.0 est mise 0.

8-6

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations arithmtiques sur nombres rels

8.3.5

ABS : Valeur absolue d'un nombre rel

Reprsentation
ABS EN OUT IN ENO

Paramtre
EN IN OUT ENO

Type de donnes
BOOL REAL REAL BOOL

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

Description
Entre de validation Valeur de sortie : valeur absolue du nombre rel Sortie de validation

E, A, M, D, L ou constante Valeur d'entre : nombre rel

Description
L'opration Valeur absolue d'un nombre rel permet d'obtenir la valeur absolue d'un nombre rel.

Mot d'tat
RB
Ecriture X

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
X

RLG
X

/PI
1

Exemple
ABS
E 0.0 MD8 EN OUT IN ENO MD10 A 4.0

Si E 0.0 est 1, la valeur absolue du nombre rel figurant dans MD8 est transmise dans MD12. MD8 = +6,234 donne MD12 = 6,234. La sortie A 4.0 est mise 0 si la conversion n'est pas excute (ENO = EN = 0).

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

8-7

Oprations arithmtiques sur nombres rels

8.4
8.4.1

Oprations tendues
SQR : Carr d'un nombre rel

Reprsentation
SQR EN OUT IN ENO

Paramtre
EN IN OUT ENO

Type de donnes
BOOL REAL REAL BOOL

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

Description
Entre de validation Carr du nombre rel Sortie de validation

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

Description
L'opration Carr d'un nombre rel calcule le carr d'un nombre rel. Si l'entre ou le rsultat n'est pas un nombre rel, les bits de dbordement et de dbordement mmoris (DEB et DM) sont mis 1 et la sortie ENO est mise 0.

Mot d'tat
RB
Ecriture X

BI1
X

BI0
X

DEB
X

DM
X

OU
0

ETAT
X

RLG
X

/PI
1

Exemple
SQR
E 0.0 MD0 EN OUT IN ENO MD10 A 4.0

La bote SQR est active si l'tat de signal est 1 l'entre E 0.0. Le rsultat de la mise au carr de MD0 est rang dans le double mot de mmento MD10. Si MD0 est infrieur 0, si l'entre ou le rsultat n'est pas un nombre rel ou si l'tat de signal de l'entre E 0.0 est gal 0, la sortie A 4.0 est mise 0.

8-8

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations arithmtiques sur nombres rels

8.4.2

SQRT : Racine carre d'un nombre rel

Reprsentation
SQRT EN OUT IN ENO

Paramtre
EN IN OUT ENO

Type de donnes
BOOL REAL REAL BOOL

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

Description
Entre de validation Racine carre du nombre rel Sortie de validation

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

Description
L'opration Racine carre d'un nombre rel calcule la racine carre d'un nombre rel. Cette opration dlivre un rsultat positif si l'oprande est suprieur zro. Si l'entre ou le rsultat n'est pas un nombre rel, les bits de dbordement et de dbordement mmoris (DEB et DM) sont mis 1 et la sortie ENO est mise 0.

Mot d'tat
RB
Ecriture X

BI1
X

BI0
X

DEB
X

DM
X

OU
0

ETAT
X

RLG
X

/PI
1

Exemple
SQRT
E 0.0 MD0 EN OUT IN ENO MD10 A 4.0

La bote SQRT est active si l'tat de signal est 1 l'entre E 0.0. Le rsultat de l'extraction de racine carre de MD0 est rang dans le double mot de mmento MD10. Si MD0 est infrieur 0, si l'entre ou le rsultat n'est pas un nombre rel ou si l'tat de signal de l'entre E 0.0 est gal 0, la sortie A 4.0 est mise 0.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

8-9

Oprations arithmtiques sur nombres rels

8.4.3

EXP : Valeur exponentielle d'un nombre rel

Reprsentation
EXP EN OUT IN ENO

Paramtre
EN IN OUT ENO

Type de donnes
BOOL REAL REAL BOOL

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

Description
Entre de validation Valeur exponentielle du nombre rel Sortie de validation

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

Description
L'opration Valeur exponentielle d'un nombre rel calcule la valeur exponentielle de base e (= 2,71828...) d'un nombre rel. Si l'entre ou le rsultat n'est pas un nombre rel, les bits de dbordement et de dbordement mmoris (DEB et DM) sont mis 1 et la sortie ENO est mise 0.

Mot d'tat
RB
Ecriture X

BI1
X

BI0
X

DEB
X

DM
X

OU
0

ETAT
X

RLG
X

/PI
1

Exemple
EXP
E 0.0 MD0 EN OUT IN ENO MD10 A 4.0

La bote EXP est active si l'tat de signal est 1 l'entre E 0.0. Le rsultat du calcul de la valeur exponentielle de MD0 est rang dans le double mot de mmento MD10. Si l'entre ou le rsultat n'est pas un nombre rel ou si l'tat de signal de l'entre E 0.0 est gal 0, la sortie A 4.0 est mise 0.

8-10

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations arithmtiques sur nombres rels

8.4.4

LN : Logarithme naturel d'un nombre rel

Reprsentation
LN EN OUT IN ENO

Paramtre
EN IN OUT ENO

Type de donnes
BOOL REAL REAL BOOL

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

Description
Entre de validation Logarithme naturel du nombre rel Sortie de validation

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

Description
L'opration Logarithme naturel d'un nombre rel calcule le logarithme naturel d'un nombre rel. Si l'entre ou le rsultat n'est pas un nombre rel, les bits de dbordement et de dbordement mmoris (DEB et DM) sont mis 1 et la sortie ENO est mise 0.

Mot d'tat
RB
Ecriture X

BI1
X

BI0
X

DEB
X

DM
X

OU
0

ETAT
X

RLG
X

/PI
1

Exemple
LN
E 0.0 MD0 EN OUT IN ENO MD10 A 4.0

La bote LN est active si l'tat de signal est 1 l'entre E 0.0. Le rsultat du calcul du logarithme naturel de MD0 est rang dans le double mot de mmento MD10. Si MD0 est infrieur 0, si l'entre ou le rsultat n'est pas un nombre rel ou si l'tat de signal de l'entre E 0.0 est gal 0, la sortie A 4.0 est mise 0.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

8-11

Oprations arithmtiques sur nombres rels

8.4.5

Fonctions trigonomtriques d'angles sous forme de nombres rels

Description
Les oprations suivantes vous permettent d'effectuer des fonctions trigonomtriques d'angles reprsents sous forme de nombres virgule flottante IEEE de 32 bits :
Opration
SIN ASIN

Signification
Sinus d'un nombre rel d'un angle exprim en radians Arc sinus d'un nombre rel. Le rsultat de l'opration est un angle exprim en radians. La valeur de cet angle est comprise dans la plage suivante : -p / 2 <= arc sinus <= + p / 2, avec p = 3.14... Cosinus d'un nombre rel d'un angle exprim en radians Arc cosinus d'un nombre rel. Le rsultat de l'opration est un angle exprim en radians. La valeur de cet angle est comprise dans la plage suivante : 0 <= arc cosinus <= + p, avec p = 3.14... Tangente d'un nombre rel d'un angle exprim en radians Arc tangente d'un nombre rel. Le rsultat de l'opration est un angle exprim en radians. La valeur de cet angle est comprise dans la plage suivante : -p / 2 <= arc tangente <= + p / 2, avec p = 3.14...

COS ACOS

TAN ATAN

Mot d'tat
RB
Ecriture x

BI1
x

BI0
x

DEB
x

DM
x

OU
0

ETAT
x

RLG
x

/PI
1

Exemple
SIN
E 0.0 MD0 EN OUT IN ENO MD10 A 4.0

La bote SIN est active si l'tat de signal est 1 l'entre E 0.0. Le rsultat du calcul du sinus de MD0 est rang dans le double mot de mmento MD10. Si l'entre ou le rsultat n'est pas un nombre rel ou si l'tat de signal de l'entre E 0.0 est gal 0, la sortie A 4.0 est mise 0.

8-12

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations arithmtiques sur nombres rels

Reprsentation
SIN EN OUT IN ENO

Paramtre
EN IN OUT ENO

Type de donnes
BOOL REAL REAL BOOL

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

Description
Entre de validation Nombre rel Sinus du nombre rel Sortie de validation

Reprsentation
ASIN EN OUT IN ENO

Paramtre
EN IN OUT ENO

Type de donnes
BOOL REAL REAL BOOL

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

Description
Entre de validation Nombre rel Arc sinus du nombre rel Sortie de validation

Reprsentation
COS EN OUT IN ENO

Paramtre
EN IN OUT ENO

Type de donnes
BOOL REAL REAL BOOL

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

Description
Entre de validation Nombre rel Cosinus du nombre rel Sortie de validation

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

8-13

Oprations arithmtiques sur nombres rels

Reprsentation
ACOS EN OUT IN ENO

Paramtre
EN IN OUT ENO

Type de donnes
BOOL REAL REAL BOOL

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

Description
Entre de validation Nombre rel Arc cosinus du nombre rel Sortie de validation

Reprsentation
TAN EN OUT IN ENO

Paramtre
EN IN OUT ENO

Type de donnes
BOOL REAL REAL BOOL

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

Description
Entre de validation Nombre rel Tangente du nombre rel Sortie de validation

Reprsentation
ATAN EN OUT IN ENO

Paramtre
EN IN OUT ENO

Type de donnes
BOOL REAL REAL BOOL

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

Description
Entre de validation Nombre rel Arc tangente du nombre rel Sortie de validation

8-14

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de transfert

9.1

MOVE : Affecter valeur

Reprsentation
MOVE
EN IN OUT ENO

Paramtre
EN IN

Type de donnes
BOOL Tous types de donnes simples de 8, 16 ou 32 bits Tous types de donnes lmentaires de 8, 16 ou 32 bits BOOL

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

Description
Entre de validation

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

OUT

E, A, M, D, L

Adresse de destination

ENO

E, A, M, D, L

Sortie de validation

Description
L'opration Affecter valeur permet d'initialiser des variables avec des valeurs prcises. La valeur indique l'entre IN est copie dans l'oprande prcis dans la sortie OUT. L'tat de signal de ENO est identique celui de EN. La bote MOVE permet de copier tous les types de donnes lmentaires de 8, 16 ou 32 bits. Pour copier des types de donnes utilisateur tels que des tableaux ou des structures, vous devez faire appel la fonction systme SFC20 "BLKMOV". Le relais de masquage MCR influence l'opration Affecter valeur.

Mot d'tat
RB
Ecriture 1

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
1

RLG
1

/PI
1

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

9-1

Oprations de transfert

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

Exemple : 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
MOVE
E 0.0 MW10 EN IN OUT ENO DBW12 A 4.0 =

L'opration est excute si l'tat de signal est 1 l'entre E 0.0. Le contenu de MW10 est copi dans le mot de donnes 12 du bloc de donnes en cours. A 4.0 est mis 1 si l'opration est excute.

9-2

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

10

Oprations de gestion d'excution de programme

10.1

Vue d'ensemble des oprations de gestion dexcution de programme

Description
Vous disposez des oprations de gestion dexcution de programme suivantes :

CALL : Appeler FC/SFC sans paramtre CALL_FB : Appeler FB CALL_FC : Appeler FC CALL_SFB : Appeler SFB CALL_SFC : Appeler SFC Appeler multi-instances Appeler un bloc dans une bibliothque Fonctions du relais de masquage Remarques importantes sur l'utilisation de la fonctionnalit MCR MCR< : Relais de masquage en fonction MCR> : Relais de masquage hors fonction MCRA : Activer relais de masquage MCRD : Dsactiver relais de masquage RET : Retour

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

10-1

Oprations de gestion d'excution de programme

10.2

CALL : Appeler FC/SFC sans paramtre

Reprsentation
<FC/SFC numro>
CALL

Paramtre
Numro

Type de donnes
BLOCK_FC

Zone de mmoire
-

Description
Numro de la FC ou de la SFC (par exemple, FC10 ou SFC59). Les SFC disponibles dpendent de votre CPU. Un appel conditionnel avec un paramtre de type de donnes BLOCK_FC comme oprande n'est possible que dans un FB et pas dans une FC.

Description
L'opration Appeler FC/SFC sans paramtre permet d'appeler une fonction (FC) ou une fonction systme (SFC) qui n'a pas de paramtre. L'appel est inconditionnel ou conditionnel selon la combinaison prcdente (voir exemple). Dans la section d'instructions d'une fonction (FC), vous ne pouvez pas indiquer de paramtre de type de donnes BLOCK_FC comme oprande lors d'un appel conditionnel. En revanche, vous pouvez spcifier un paramtre de type BLOCK_FC comme oprande dans un bloc fonctionnel (FB). Un appel conditionnel n'est excut que si le rsultat logique est 1. Si un appel conditionnel n'est pas excut, le RLG est gal 0 aprs l'opration d'appel. Si l'opration a lieu, elle fonctionne comme suit :

Elle sauvegarde l'adresse de retour au bloc appelant. Elle sauvegarde les deux registres de bloc de donnes (bloc de donnes et bloc de donnes d'instance). 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 zone de donnes locales en cours pour la fonction ou la fonction systme appele.
Ensuite, le programme poursuit le traitement dans le bloc appel.

Mot d'tat
RB
Conditionnel Inconditionnel Ecriture Ecriture -

BI1
-

BI0
-

DEB
-

DM
0 0

OU
0 0

ETAT
1 1

RLG
1 -

/PI
0 0

10-2

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de gestion d'excution de programme

Exemple
DB 10 OPN MCRA FC 10 CALL A 4.0 E 0.0 = MCRD FC 11 E 0.1 CALL

Si l'appel inconditionnel de la FC10 est excut, l'opration CALL fonctionne comme suit :

Elle sauvegarde l'adresse de retour au FB en cours. Elle sauvegarde les slecteurs pour le DB10 et pour le bloc de donnes d'instance du FB. Elle empile le bit MA, mis 1 par l'opration MCRA, dans la pile des blocs et remet ce bit 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 du FB utilisateur redeviennent les DB en cours, quels qu'aient t les DB utiliss par la FC10. Au retour de la FC10, l'tat de signal en E 0.0 est affect 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, il fonctionne comme l'appel de la FC10.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

10-3

Oprations de gestion d'excution de programme

10.3

CALL_FB : Appeler FB

Reprsentation
<DB no.> FB no. 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 no. DB no.

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
L'opration Appeler FB (CALL_FB) permet d'appeler un bloc fonctionnel (FB). L'appel n'est excut que si EN = 1. Si l'opration a lieu, elle fonctionne comme suit :

Elle sauvegarde l'adresse de retour au bloc appelant. Elle sauvegarde les deux registres de bloc de donnes (bloc de donnes et bloc de donnes d'instance). 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 appel.

Mot d'tat
RB
Conditionnel Inconditionnel Ecriture Ecriture X -

BI1
-

BI0
-

DEB
-

DM
0 0

OU
0 0

ETAT
X X

RLG
X X

/PI
X X

10-4

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de gestion d'excution de programme

Exemple
Rseau 1
DB 10 OPN

Rseau 2
MCRA

Rseau 3
DB 11 FB11
EN ENO

A 4.0

Rseau 4
DB 10 OPN

Les rseaux CONT reprsents 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 d'instance 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. Il faut donc nouveau ouvrir le DB requis.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

10-5

Oprations de gestion d'excution de programme

10.4

CALL_FC : Appeler FC

Reprsentation
FC no.
EN ENO

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

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
L'opration Appeler FC (CALL_FC) permet d'appeler une fonction (FC). L'appel n'est excut que si EN = 1. 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 zone de donnes locales en cours pour la fonction appele.
Ensuite, le programme poursuit le traitement dans le bloc 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]. Lorsque vous appelez une fonction (FC) et que la table de dclaration des variables du bloc appel comporte des dclarations du type IN, OUT et IN_OUT, ces variables s'affichent sous forme de liste de paramtres formels dans le programme du bloc appelant. Lors de l'appel des FC, vous devez imprativement affecter des paramtres effectifs aux paramtres formels l'endroit de l'appel. D'ventuelles valeurs initiales dans la dclaration de la FC sont insignifiantes.

Mot d'tat
RB
Conditionnel Inconditionnel Ecriture Ecriture X -

BI1
-

BI0
-

DEB
-

DM
0 0

OU
0 0

ETAT
X X

RLG
X X

/PI
X X

10-6

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de gestion d'excution de programme

Exemple
Rseau 1
DB 10 OPN

Rseau 2
MCRA

Rseau 3
FC 10
EN ENO

FC 11
EN ENO

A 4.0 =

Les rseaux CONT reprsents 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'opration sauvegarde l'adresse de retour au FB en cours et les slecteurs pour le DB10 et pour le bloc de donnes d'instance du FB. Elle empile le bit MA, mis 1 par l'opration MCRA, dans la pile des blocs et remet ce bit 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. Il faut sauvegarder l'tat du RLG dans le bit RB l'aide de 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 dans le FB appelant selon 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 LOG pour SIMATIC S7-300/400 A5E00706956-01

10-7

Oprations de gestion d'excution de programme

10.5

CALL_SFB : Appeler SFB

Reprsentation
<DB no.> SFB no.
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 no. DB no.

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/DB. La plage dpend de la CPU.

Description de l'opration
L'opration Appeler SFB (CALL_SFB) permet d'appeler un bloc fonctionnel systme (SFB). L'appel n'est excut que si EN = 1. Si l'opration a lieu, elle fonctionne comme suit :

Elle sauvegarde l'adresse de retour au bloc appelant. Elle sauvegarde les deux registres de bloc de donnes (bloc de donnes et bloc de donnes d'instance). 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
Conditionnel Inconditionnel Ecriture Ecriture X -

BI1
-

BI0
-

DEB
-

DM
0 0

OU
0 0

ETAT
X X

RLG
X X

/PI
X X

10-8

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de gestion d'excution de programme

Exemple
Rseau 1
DB 10 OPN

Rseau 2
MCRA

Rseau 3
DB 8 SFB 8 EN . . . . . . .

. . . ENO

A 4.0

Rseau 4
DB 10 OPN

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

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

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

10-9

Oprations de gestion d'excution de programme

10.6

CALL_SFC : Appeler SFC

Reprsentation
SFC no. EN ENO

La reprsentation dpend de la fonction systme ( savoir si des paramtres sont prsents et combien). L'entre EN, la sortie ENO et le nom ou le numro de la SFC doivent tre prsents.
Paramtre EN ENO SFC no. 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
L'opration Appeler SFC (CALL_SFC) permet d'appeler une fonction systme (SFC). L'appel n'est excut que si EN = 1. 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 le bloc appel. ENO est 1 si la fonction a t appele (EN est 1) et si aucune erreur n'est apparue.

Mot d'tat
RB Conditionnel Inconditionnel Ecriture Ecriture X BI1 BI0 DEB DM 0 0 OU 0 0 ETAT X X RLG X X /PI X X

10-10

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de gestion d'excution de programme

Exemple
Rseau 1
DB 10 OPN

Rseau 2
MCRA

Rseau 3
SFC 20
EN DBDW12 SCRBLK RET_VAL DSTBLK MW10 MOTOR.SPEED A 4.0 ENO

Les rseaux CONT reprsents 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 LOG pour SIMATIC S7-300/400 A5E00706956-01

10-11

Oprations de gestion d'excution de programme

10.7

Appeler multi-instances

Reprsentation
#Variablenname
EN IN IN/OUT OUT ENO

Paramtre EN ENO # nom-variable

Type de donnes BOOL BOOL FB/SFB

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

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

Description
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 dpend de l'existence de paramtres et de leur nombre. L'entre EN, la sortie ENO et le nom de la 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 LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de gestion d'excution de programme

10.9

Fonctions du relais de masquage


Remarques importantes sur l'utilisation de la fonctionnalit MCR

Dfinition du relais de masquage


Le relais de masquage MCR (en anglais Master Control Relay, voir aussi la rubrique MCR< / MCR> : Relais de masquage en fonction/hors fonction) sert l'activation et la dsactivation du trajet du courant. Un trajet de courant dsactiv correspond une squence d'oprations qui crit une valeur nulle au lieu de la valeur calcule ou une squence d'oprations qui laisse la valeur en mmoire inchange. Les oprations dclenches par l'une des oprations numres dpendent du relais de masquage. Les oprations Affectation et Connecteur inscrivent la valeur 0 en mmoire si le MCR est gal 0. Les oprations Mettre 1 et Mettre 0 ne modifient pas la valeur existante. Oprations influences par les zones MCR :

# = S R SR RS

Connecteur Affectation Mettre 1 Mettre 0 Bascule mise 1, mise 0 Bascule mise 0, mise 1

MOVE Affecter valeur

Oprations dpendant du MCR et leurs ractions l'tat de signal du MCR


Etat de signal Affectation, du MCR Connecteur 0 (HORS FONCTION) Ecrit 0. Imite un relais passant l'tat de repos en cas de perte de tension. Excution normale. Mettre 1, Mettre 0 N'crit rien. Imite un relais restant l'tat en vigueur en cas de perte de tension. Excution normale. Affecter valeur Ecrit 0. Imite un composant produisant une valeur de 0 en cas de perte de tension. Excution normale.

1 (EN FONCTION)

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

10-13

Oprations de gestion d'excution de programme

10.10

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 relais de masquage en fonction et relais de masquage hors fonction ! Le MCR se trouve prcisment hors fonction lorsque le RLG tait gal 0 avant une instruction relais de masquage en fonction.

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


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

Accs des paramtres formels



Accs des composants de paramtres FC complexes de type STRUCT, UDT, ARRAY, STRING Accs des composants de paramtres FB complexes de type STRUCT, UDT, ARRAY, STRING de la zone IN_OUT dans un bloc admettant les multi-instances (bloc de version 2). Accs aux paramtres d'un FB admettant les multi-instances (bloc de version 2) lorsque leur adresse est suprieure 8180.0. L'accs un paramtre de type BLOCK_DB dans un FB admettant les multi-instances (bloc 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 :

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.

10-14

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de gestion d'excution de programme

10.11

MCR< / MCR> : Relais de masquage en fonction/hors fonction


Remarques importantes sur l'utilisation de la fonctionnalit MCR

Reprsentation
MCR<

Relais de masquage en fonction


L'opration Relais de masquage en fonction (MCR<) empile le rsultat logique RLG dans la pile MCR et ouvre une zone MCR. Les oprations prsentes la rubrique Fonctions du relais de masquage sont influences l'intrieur de cette zone par le RLG qui est sauvegard dans la pile MCR l'ouverture de la zone MCR. La pile MCR, qui fonctionne selon le principe "dernier entr, premier sorti", peut contenir jusqu' huit entres. Si elle est pleine, l'opration Relais de masquage en fonction provoque une erreur de pile MCR (MCRF).

Reprsentation
MCR>

Relais de masquage hors fonction


L'opration Relais de masquage hors fonction (MCR>) ferme la zone MCR ouverte en dernier, en effaant de la pile MCR l'entre RLG qui y avait t empile par l'opration Relais de masquage en fonction. L'entre libre l'autre extrmit de la pile MCR, qui fonctionne selon le principe "dernier entr, premier sorti", est mise 1. Si la pile est dj vide, l'opration Relais de masquage hors fonction provoque une erreur de pile MCR (MCRF).

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

10-15

Oprations de gestion d'excution de programme

Pile MCR
Le relais de masquage est command par une pile MCR de 1 bit de large et pouvant contenir jusqu' huit entres. Le relais de masquage est activ aussi longtemps que les huit entres de la pile sont gales 1. L'opration MCR< copie le rsultat logique dans la pile MCR. L'opration MCR> extrait la dernire entre de la pile et met l'adresse de pile libre 1. En cas d'erreur - lorsque plus de huit oprations MCR> se suivent ou si vous tentez d'excuter l'opration MCR> alors que la pile MCR est vide, par exemple -, le programme affiche un message d'erreur MCRF. La surveillance de la pile MCR suit le pointeur de pile (MSP : 0 = vide, 1 = une entre, 2 = deux entres, ..., 8 = huit entres).

RLG

Bit dcal

MSP

RLG RLG RLG

1 2 3 4 5 6 7 8

Bit 1 dcal MA MCRA 1 0 MCRD

MSP = Pointeur de pile MCR MA = Bit de commande pour la dpendance par rapport au MCR

Vous ne devez jamais utiliser l'opration MCR< sans l'opration MCR> dans votre programme. L'opration MCR< reprend l'tat de signal du RLG pour le copier dans le bit MCR. L'opration MCR> met le bit MCR 1 inconditionnellement. Pour cette raison, toute autre opration programme entre les oprations MCRA et MCRD fonctionne indpendamment du bit MCR.

Imbrication des oprations MCR< et MCR>


Vous pouvez imbriquer les oprations MCR< et MCR> en tenant compte de la profondeur d'imbrication maximale gale 8. En d'autres termes, vous pouvez crire jusqu' huit oprations MCR< conscutives avant d'insrer une opration MCR>. Vous devez crire le mme nombre d'oprations MCR< et MCR> dans votre programme. Si les oprations MCR< sont imbriques, le programme gnre le bit MCR du niveau d'imbrication infrieur. Ensuite, l'opration MCR< combine le RLG en cours au bit MCR en cours selon la table de vrit ET. Lorsqu'une opration MCR> met fin un niveau d'imbrication, elle extrait le bit MCR du niveau suprieur.

10-16

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de gestion d'excution de programme

Mot d'tat
RB Ecriture BI1 BI0 DEB DM OU 0 ETAT 1 RLG /PI 0

Exemple
MCRA E 0.0 E 0.1 MCR< MCR< A 4.0 E 0.3

S
MCR> A 4.1

E 0.4

=
MCR> MCRD

Lorsque l'opration MCRA active la fonction MCR, vous pouvez crer jusqu' huit zones MCR imbriques. Dans notre exemple, il y en a deux. La premire opration MCR> va de pair avec la seconde opration MCR<. Toutes les oprations entre le deuxime jeu MCR (MCR<MCR>) appartiennent la seconde zone MCR. Les oprations sont excutes comme suit :

Si E 0.0 = 1, l'tat de signal de E 0.4 est affect la sortie A 4.1. Si E 0.0 = 0, la sortie A 4.1 est mise 0 quel que soit l'tat de signal l'entre E 0.4. La sortie A 4.0 reste inchange quel que soit l'tat de signal l'entre E 0.3. Si E 0.0 et E 0.1 = 1, la sortie A 4.0 est mise 1 si l'tat de signal est 1 l'entre E 0.3 et l'tat de signal de E 0.4 est affect A 4.1. Si E 0.1 = 0, la sortie A 4.0 reste inchange quel que soit l'tat de signal aux entres E 0.3 et E 0.0.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

10-17

Oprations de gestion d'excution de programme

10.12

MCRA / MCRD : Activer/dsactiver relais de masquage


Remarques importantes sur l'utilisation de la fonctionnalit MCR

Reprsentation
MCRA

Activer relais de masquage


L'opration Activer relais de masquage active la relation de dpendance entre le relais de masquage (MCR, Master Control Relay) et les commandes suivantes. Vous pouvez, aprs cette commande, faire appel aux oprations Relais de masquage en fonction et Relais de masquage hors fonction pour programmer des zones MCR (voir la rubrique MCR< / MCR> : Relais de masquage en fonction/hors fonction). Lorsque votre programme active une zone MCR, toutes les actions MCR dpendent du contenu de la pile MCR.

Reprsentation
MCRD

Dsactiver relais de masquage


L'opration Dsactiver relais de masquage dsactive la relation de dpendance entre le relais de masquage et les commandes suivantes. Aprs cette opration, vous ne pouvez plus programmer de zones MCR. Lorsque votre programme dsactive une zone MCR, le courant circule toujours dans le relais de masquage, indpendamment des entres figurant dans la pile MCR. La pile MCR et le bit MA qui commande la relation de dpendance se rfrent un niveau de squence prcis ; vous devez donc les sauvegarder et les restaurer chaque changement de niveau. Au dbut de chaque niveau de squence, les bits 1 8 de saisie MCR sont initialiss 1, le pointeur de pile MCR et le bit MA sont initialiss 0. La pile MCR est transmise de bloc en bloc. Le bit MA est sauvegard chaque appel de bloc et mis 0. Il est restaur la fin du bloc. Le relais de masquage peut tre ralis de faon optimiser les temps d'excution ncessaires aux CPU gnratrices de code. L'optimisation s'explique par le fait que la dpendance par rapport au relais de masquage n'est pas transmise au bloc, mais qu'elle doit tre active explicitement par une opration MCRA. Une CPU gnratrice de code reconnat l'opration MCRA et gnre le code supplmentaire ncessaire l'valuation de la pile MCR jusqu' ce qu'elle reconnaisse une opration MCRD ou la fin du bloc. Le temps d'excution n'est donc pas allong pour les oprations programmes hors de la zone dlimite par MCRA et MCRD. Vous ne devez jamais utiliser l'opration MCRA sans l'opration MCRD dans votre programme.

10-18

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de gestion d'excution de programme

Activation et dsactivation dune zone MCR


Les oprations programmes entre MCRA et MCRD dpendent de l'tat de signal du bit MCR, contrairement celles programmes en dehors de cette squence. S'il manque une opration MCRD, les oprations programmes entre MCRA et BEA dpendent du bit MCR.

OB1 FBx FCy

MCRA MCRA MCRA

MCRD Call FBx MCRA

Call FCy

MCRD BEA

BEA

Oprations indpendantes du bit MCR Oprations depndantes du bit MCR BEA : BEA est une opration LIST

Mot d'tat
RB Ecriture BI1 BI0 DEB DM OU ETAT RLG /PI -

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

10-19

Oprations de gestion d'excution de programme

Exemple
MCRA

E 0.0

MCR< A 4.0

E 0.3

S
A 4.1

E 0.4

MCR>

MCRD

L'opration MCRA active la fonction MCR jusqu'au prochain MCRD. Les oprations entre MCR< et MCR> sont traites en fonction du bit MA (E 0.0 ici) :

Si l'tat de signal de l'entre E 0.0 est 1 : la sortie A 4.0 est mise 1 si l'tat de signal est 1 l'entre E 0.3 ; la sortie A 4.0 reste inchange si l'tat de signal est 0 l'entre E 0.3 ; l'tat de signal l'entre E 0.4 est affect la sortie A 4.1.

Si l'tat de signal de l'entre E 0.0 est 0 : la sortie A 4.0 reste inchange quel que soit l'tat de signal l'entre E 0.3 ; la sortie A 4.1 est 0 quel que soit l'tat de signal l'entre E 0.4.

Vous devez programmer dans les blocs mmes la relation de dpendance au MCR des fonctions et des blocs fonctionnels. En effet, si vous appelez une fonction ou un bloc fonctionnel partir d'une squence MCRA-MCRD, toutes les instructions l'intrieur de cette squence ne dpendent pas automatiquement du bit MCR. Pour que les instructions contenues dans le bloc appel dpendent du MCR, il faut utiliser l'opration MCRA dans le bloc appel.

10-20

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de gestion d'excution de programme

10.13

RET : Retour

Reprsentation
RET

Description
L'opration Retour permet de quitter des blocs conditionnellement.

Mot d'tat
RB Ecriture * BI1 BI0 DEB DM 0 OU 0 ETAT 1 RLG 1 /PI 0

L'opration 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.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

10-21

Oprations de gestion d'excution de programme

10-22

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

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 l'entre IN vers la gauche ou vers la droite (voir Registres de la CPU). Un dcalage de n bits vers la gauche multiplie le contenu de l'entre IN par 2n ; un dcalage de n bits vers la droite le divise par 2n. Si, par exemple, vous dcalez de 3 bits vers la gauche l'quivalent binaire de la valeur dcimale 3, vous obtenez l'quivalent binaire de la valeur dcimale 24. Si vous dcalez de 2 bits vers la droite l'quivalent binaire de la valeur dcimale 16, vous obtenez l'quivalent binaire de la valeur dcimale 4. Le nombre de bits de dcalage est prcis dans le paramtre d'entre N. Les positions binaires libres par l'opration de dcalage sont soit compltes par des zros, soit par l'tat de signal du bit de signe (0 signifie positif et 1 ngatif). L'tat de signal du bit dcal en dernier est charg dans le bit BI1 du mot d'tat. Les bits BI0 et DEB du mot d'tat sont remis 0. Vous pouvez valuer le bit BI1 l'aide d'oprations de saut. Vous disposez des oprations de dcalage suivantes :

SHR_I : Dcalage vers la droite d'un entier de 16 bits SHR_DI : Dcalage vers la droite d'un entier de 32 bits SHL_W : Dcalage vers la gauche d'un mot SHR_W : Dcalage vers la droite d'un mot SHL_DW : Dcalage vers la gauche d'un double mot SHR_DW : Dcalage vers la droite d'un double mot

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

11-1

Oprations de dcalage et de rotation

11.1.2

SHR_I : Dcalage vers la droite d'un entier de 16 bits

Reprsentation
SHR_I EN IN N OUT ENO

Paramtre EN IN N OUT ENO

Type de donnes BOOL INT WORD INT BOOL

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

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

Description
L'opration Dcalage vers la droite d'un entier de 16 bits 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. Le nombre de bits de dcalage est indiqu dans l'entre N. Si N est suprieur 16, la commande agit comme si N tait gal 16. Les positions binaires libres gauche sont compltes selon l'tat de signal du bit 15 (bit de signe du nombre entier de 16 bits) : par des zros si le nombre est positif et par des uns s'il est ngatif. Le rsultat du dcalage est rang dans la sortie OUT. Lorsque N est diffrent de zro, l'opration met les bits BI0 et DEB du mot d'tat 0. ENO possde 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 LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de dcalage et de rotation

Mot d'tat
RB Ecriture X BI1 X BI0 X DEB X DM OU X ETAT X RLG X /PI 1

Exemple
SHR_I E 0.0 MW0 MW2 EN IN N OUT ENO MW4 A 4.0 S

L'opration est active si l'tat de signal est 1 l'entre E 0.0. Le mot de mmento MW0 est 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.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

11-3

Oprations de dcalage et de rotation

11.1.3

SHR_DI : Dcalage vers la droite d'un entier de 32 bits

Reprsentation
SHR_DI EN IN N OUT ENO

Paramtre EN IN N OUT ENO

Type de donnes BOOL DINT WORD DINT BOOL

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

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

Description
L'opration Dcalage vers la droite d'un entier de 32 bits 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 commande agit comme si N tait gal 32. Les positions binaires libres gauche sont compltes selon l'tat de signal du bit 31 (bit de signe du nombre entier de 32 bits) : par des zros si le nombre est positif et par des uns s'il est ngatif. Le rsultat du dcalage est rang dans la sortie OUT. Lorsque N est diffrent de zro, l'opration met les bits BI0 et DEB du mot d'tat 0. ENO possde le mme tat de signal que EN.

Mot d'tat
RB Ecriture X BI1 X BI0 X DEB X DM OU X ETAT X RLG X /PI 1

Exemple
SHR_DI E 0.0 MD0 MW4 EN IN N OUT ENO MD10 A 4.0 S

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

11-4

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de dcalage et de rotation

11.1.4

SHL_W : Dcalage vers la gauche d'un mot

Reprsentation
SHL_W EN IN N OUT ENO

Paramtre EN IN N OUT ENO

Type de donnes BOOL WORD WORD WORD BOOL

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

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

Description
L'opration Dcalage vers la gauche d'un mot 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. Le nombre de bits de dcalage est indiqu dans l'entre N. Si N est suprieur 16, la commande inscrit 0 dans la sortie OUT et met 0 les bits BI0 et DEB du mot d'tat. Les positions binaires libres droite sont compltes par des zros. Le rsultat du dcalage est rang dans la sortie OUT. Lorsque N est diffrent de zro, l'opration met les bits BI0 et DEB du mot d'tat 0. ENO possde le mme tat de signal que EN.
15... 0 0 0 0 ...8 7... 1 1 1 1 0 1 0 1 6 positions ...0 0 1 0 1

IN N

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.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

11-5

Oprations de dcalage et de rotation

Mot d'tat
RB BI1 BI0 DEB DM OU ETAT RLG /PI

Ecriture

Exemple
SHL_W E 0.0 MW0 MW2 EN IN N OUT ENO MW4 A 4.0 S

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

11-6

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de dcalage et de rotation

11.1.5

SHR_W : Dcalage vers la droite d'un mot

Reprsentation
SHR_W EN IN N OUT ENO

Paramtre

Type de donnes

Zone de mmoire

Description

EN IN N OUT ENO

BOOL WORD WORD WORD BOOL

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

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

Description
L'opration Dcalage vers la droite d'un mot 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. Le nombre de bits de dcalage est indiqu dans l'entre N. Si N est suprieur 16, la commande inscrit 0 dans la sortie OUT et met 0 les bits BI0 et DEB du mot d'tat. Les positions binaires libres gauche sont compltes par des zros. Le rsultat du dcalage est rang dans la sortie OUT. Lorsque N est diffrent de zro, l'opration met toujours les bits BI0 et DEB du mot d'tat 0. ENO possde le mme tat de signal que EN.

Mot d'tat
RB BI1 BI0 DEB DM OU ETAT RLG /PI

Ecriture

Exemple
SHR_W E 0.0 MW0 MW2 EN IN N OUT ENO MW4 A 4.0 S

L'opration est active si l'tat de signal est 1 l'entre E 0.0. Le mot de mmento MW0 est 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.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

11-7

Oprations de dcalage et de rotation

11.1.6

SHL_DW : Dcalage vers la gauche d'un double mot

Reprsentation
SHL_DW EN IN N OUT ENO

Paramtre

Type de donnes

Zone de mmoire

Description

EN IN N OUT ENO

BOOL DWORD WORD DWORD BOOL

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

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

Description
L'opration Dcalage vers la gauche d'un double mot 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 31 de l'entre IN. Le nombre de bits de dcalage est indiqu dans l'entre N. Si N est suprieur 32, la commande inscrit 0 dans la sortie OUT et met 0 les bits BI0 et DEB du mot d'tat. Les positions binaires libres droite sont compltes par des zros. Le rsultat du dcalage est rang dans la sortie OUT. Lorsque N est diffrent de zro, l'opration met les bits BI0 et DEB du mot d'tat 0. ENO possde le mme tat de signal que EN.

Mot d'tat
RB BI1 BI0 DEB DM OU ETAT RLG /PI

Ecriture

Exemple
SHL_DW E 0.0 MD0 MW4 EN IN N OUT ENO MD10 A 4.0 S

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

11-8

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de dcalage et de rotation

11.1.7

SHR_DW : Dcalage vers la droite d'un double mot

Reprsentation
SHR_DW EN IN N OUT ENO

Paramtre

Type de donnes

Zone de mmoire

Description

EN IN N OUT ENO

BOOL DWORD WORD DWORD BOOL

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

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

Description
L'opration Dcalage vers la droite d'un double mot 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 commande inscrit 0 dans la sortie OUT et met 0 les bits BI0 et DEB du mot d'tat. Les positions binaires libres gauche sont compltes par des zros. Le rsultat du dcalage est rang dans la sortie OUT. Lorsque N est diffrent de zro, l'opration met les bits BI0 et DEB du mot d'tat 0. ENO possde 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 BI1 BI0 DEB DM OU ETAT RLG /PI

Ecriture

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

11-9

Oprations de dcalage et de rotation

Exemple
SHR_DW E 0.0 MD0 MW4 EN IN N OUT ENO MD10 A 4.0 S

L'opration est active si l'tat de signal est 1 l'entre E 0.0. Le double mot de mmento MD0 est 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-10

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de dcalage et de rotation

11.2
11.2.1

Oprations de rotation
Vue d'ensemble des oprations de rotation

Description
Les oprations de rotation permettent d'effectuer la rotation bit par bit vers la droite ou vers la gauche du contenu entier de l'entre IN. Les positions binaires libres sont compltes par l'tat de signal des bits qui ont t dcals hors de l'entre IN. Le nombre de bits de rotation est prcis dans le paramtre d'entre N. Selon l'opration choisie, la rotation s'effectue via le bit BI1 du mot d'tat. Le bit BI0 du mot d'tat est remis 0. Vous disposez des oprations de rotation suivantes :

ROL_DW : Rotation vers la gauche d'un double mot ROR_DW : Rotation vers la droite d'un double mot

11.2.2

ROL_DW : Rotation vers la gauche d'un double mot

Reprsentation
ROL_DW EN IN N OUT ENO

Paramtre

Type de donnes

Zone de mmoire

Description

EN IN N OUT ENO

BOOL DWORD WORD DWORD BOOL

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

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

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

11-11

Oprations de dcalage et de rotation

Description
L'opration Rotation vers la gauche d'un double mot 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 effectue une rotation de ((N-1) modulo 32) + 1 positions vers la gauche. Les positions binaires libres droite sont compltes par l'tat de signal des bits ayant effectu la rotation. Le rsultat de la rotation est rang dans la sortie OUT. Lorsque N est diffrent de zro, l'opration met les bits BI0 et DEB du mot d'tat 0. ENO possde le mme tat de signal que EN.
31... ...16 15... ...0 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 BI1 BI0 DEB DM OU ETAT RLG /PI

Ecriture

Exemple
ROL_DW E 0.0 MD0 MW4 EN IN N OUT ENO MD10 A 4.0 S

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

11-12

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de dcalage et de rotation

11.2.3

ROR_DW : Rotation vers la droite d'un double mot

Reprsentation
ROR_DW EN IN N OUT ENO

Paramtre

Type de donnes

Zone de mmoire

Description

EN IN N OUT ENO

BOOL DWORD WORD DWORD BOOL

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

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

Description
L'opration Rotation vers la droite d'un double mot 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 dont la valeur peut tre comprise entre 0 et 31. Si N est suprieur 32, le double mot effectue une rotation de ((N-1) modulo 32) + 1 positions vers la droite. Les positions binaires libres gauche sont compltes par l'tat de signal des bits ayant effectu la rotation. Le rsultat de la rotation est rang dans la sortie OUT. Lorsque N est diffrent de zro, l'opration met les bits BI0 et DEB du mot d'tat 0. ENO possde 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

Mot d'tat
RB BI1 BI0 DEB DM OU ETAT RLG /PI

Ecriture

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

11-13

Oprations de dcalage et de rotation

Exemple
ROR_DW E 0.0 MD0 MW4 EN IN N OUT ENO MD10 A 4.0 S

L'opration est active si l'tat de signal est 1 l'entre E 0.0. Le double mot de mmento MD0 fait l'objet d'une rotation 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-14

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

12
12.1

Oprations sur bits d'tat


Vue d'ensemble des oprations sur bits d'tat

Description
Les oprations sur bits d'tat sont des oprations combinatoires sur bits qui utilisent les bits du mot d'tat. Ces oprations ragissent l'une des conditions suivantes indiques par un ou plusieurs bits du mot d'tat : Le bit de rsultat binaire RB est mis 1 (son tat de signal est gal 1). Le rsultat d'une opration arithmtique est : == 0, <> 0, > 0, < 0, >= 0, <= 0. Le rsultat d'une opration arithmtique est illicite (UO). Un dbordement (OV) s'est produit lors d'une opration arithmtique ou un dbordement mmoris (OS). Dans une opration ET, les oprations sur bits d'tat combinent le rsultat de leur interrogation d'tat de signal au rsultat logique prcdent selon la table de vrit ET ; dans une opration OU, elles le combinent selon la table de vrit OU.

Mot d'tat
Le mot d'tat 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. La figure suivante prsente la structure du mot d'tat.

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 LOG pour SIMATIC S7-300/400 A5E00706956-01

12-1

Oprations sur bits d'tat

12.2

OV : Bit d'anomalie "Dbordement"

Reprsentation
OV

Description
L'opration Bit d'anomalie Dbordement permet de dtecter un dbordement dans une opration arithmtique. Si, aprs une opration arithmtique, le rsultat se situe hors de la plage ngative ou positive autorise, le bit de dbordement (DEB) du mot d'tat est mis 1. L'opration Bit d'anomalie Dbordement interroge l'tat de signal de ce bit, qui est remis 0 par des oprations arithmtiques excutes sans erreur.

Mot d'tat
RB BI1 BI0 DEB DM OU ETAT RLG /PI

Ecriture

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

Rseau 2
E 0.1 E 0.2 E 0.3 & >=1 M 3.3

Rseau 3
OV A 4.0 S

12-2

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations sur bits d'tat

La bote SUB_I est active si l'tat de signal est 1 l'entre E 0.0. Si le rsultat de l'opration arithmtique EW0 - EW2 est hors de la plage autorise pour un nombre entier de 16 bits, le bit DEB du mot d'tat est mis 1. Le rsultat d'une interrogation d'tat de signal pour DEB est gal 1. La sortie A 4.0 est mise 1 si l'interrogation de DEB donne 1 et que le RLG du deuxime rseau soit gal 1 (c'est--dire si le RLG avant la sortie A 4.0 est 1). Si l'tat de signal est 0 l'entre E 0.0 (dsactive), EN et ENO ont tous deux l'tat de signal 0. Si EN est 1 (activ) et que le rsultat de l'opration arithmtique se situe hors de la plage autorise, ENO est mis 0.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

12-3

Oprations sur bits d'tat

12.3

OS : Bit d'anomalie "Dbordement mmoris"

Reprsentation
OS

Description
L'opration Bit d'anomalie Dbordement mmoris permet de dtecter un dbordement mmoris (DM) dans une opration arithmtique. Si, aprs une opration arithmtique, le rsultat se situe hors de la plage ngative ou positive autorise, le bit DM du mot d'tat est mis 1. L'opration Bit d'anomalie Dbordement mmoris interroge l'tat de signal de ce bit. Contrairement ce qui se passe pour le bit DEB (dbordement), le bit DM reste 1 lorsque des oprations arithmtiques sont excutes sans erreur (voir la rubrique Bit d'anomalie "Dbordement" ).

Mot d'tat
RB BI1 BI0 DEB DM OU ETAT RLG /PI

Ecriture

Exemple
Rseau 1
MUL_I
E 0.0 EW0 EW2 EN IN1 IN2 OUT ENO MD8

Rseau 2
ADD_I
E 0.1 EW0 EW2 EN IN1 IN2 OUT ENO MW12

Rseau 3
OS A 4.0 S

12-4

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations sur bits d'tat

La bote MUL_I est active si l'tat de signal est 1 l'entre E 0.0. La bote ADD_I est active si l'tat de signal est 1 l'entre E 0.1. Si le rsultat de l'une de ces oprations arithmtiques est hors de la plage autorise pour un nombre entier de 16 bits, le bit DM du mot d'tat est mis 1. Le rsultat d'une interrogation d'tat de signal pour DM est gal 1 et la sortie A 4.0 est mise 1. Rseau 1 : Si l'tat de signal est 0 l'entre E 0.0 (dsactive), EN et ENO ont tous deux l'tat de signal 0. Si EN est 1 (activ) et que le rsultat de l'opration arithmtique se situe hors de la plage autorise, ENO est mis 0. Rseau 2 : Si l'tat de signal est 0 l'entre E 0.1 (dsactive), EN et ENO ont tous deux l'tat de signal 0. Si EN est 1 (activ) et que le rsultat de l'opration arithmtique se situe hors de la plage autorise, ENO est mis 0.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

12-5

Oprations sur bits d'tat

12.4

UO : Bit d'anomalie "Opration illicite"

Reprsentation
UO

Description
L'opration Bit d'anomalie Opration illicite permet de dterminer si le rsultat d'une opration arithmtique sur nombres rels est ou non illicite, c'est--dire si l'une des valeurs de l'opration arithmtique n'est pas un nombre virgule flottante autoris. Les bits indicateurs BI1 et BI0 du mot d'tat sont valus cet effet. Si le rsultat d'une opration arithmtique est illicite (UO), l'interrogation de l'tat de signal fournit un rsultat gal 1. Si la combinaison dans BI1 et BI0 ne signifie pas illicite, le rsultat de l'interrogation de l'tat de signal est 0.

Mot d'tat
RB BI1 BI0 DEB DM OU ETAT RLG /PI

Ecriture

Exemple
Rseau 1
DIV_R
E 0.0 ED0 ED4 EN IN1 IN2 OUT ENO MD10 A 4.1 S

Rseau 2
UO A 4.0 S

La bote DIV_R est active si l'tat de signal est 1 l'entre E 0.0. Si la valeur de ED0 ou de ED4 n'est pas un nombre virgule flottante correct, l'opration arithmtique est illicite. Si EN est 1 (activ) et qu'une erreur se produise lors de l'excution de la fonction DIV_R, ENO est mis 0. La sortie A 4.0 est mise 1 si l'opration DIV_R est excute mais que l'une des valeurs dans l'opration arithmtique n'est pas un nombre virgule flottante correct. Si l'tat de signal est 0 l'entre E 0.0 (dsactive), EN et ENO ont tous deux l'tat de signal 0.

12-6

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations sur bits d'tat

12.5

BIE : Bit d'anomalie "Registre RB"

Reprsentation
Anglaise Allemande

BR

BIE

Description
L'opration Bit d'anomalie Registre RB permet d'interroger l'tat du bit de rsultat binaire RB du mot d'tat (voir aussi Registres de la CPU).

Mot d'tat
RB BI1 BI0 DEB DM OU ETAT RLG /PI

Ecriture

Exemple
E 0.0 E 0.2 BIE >=1 & A 4.0 S

La sortie A 4.0 est mise 1 si l'tat de signal est 1 l'entre E 0.0 ou 0 l'entre E 0.2 et en plus de ce RLG - si l'tat de signal du bit RB est 1.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

12-7

Oprations sur bits d'tat

12.6

<> 0 : Bits de rsultat

Reprsentation
== 0 <> 0 >0 <0 >= 0 <= 0 L'opration Bit de rsultat pour gal 0 dtermine si le rsultat d'une opration arithmtique est ou non gal 0. L'opration Bit de rsultat pour diffrent de 0 dtermine si le rsultat d'une opration arithmtique est ou non diffrent de 0. L'opration Bit de rsultat pour suprieur 0 dtermine si le rsultat d'une opration arithmtique est ou non suprieur 0. L'opration Bit de rsultat pour infrieur 0 dtermine si le rsultat d'une opration arithmtique est ou non infrieur 0. L'opration Bit de rsultat pour suprieur ou gal 0 dtermine si le rsultat d'une opration arithmtique est ou non suprieur ou gal 0. L'opration Bit de rsultat pour infrieur ou gal 0 dtermine si le rsultat d'une opration arithmtique est ou non infrieur ou gal 0.

Description
Les oprations Bits de rsultat permettent de dterminer la relation par rapport 0 (== 0, <> 0, > 0, < 0, >= 0, <= 0) du rsultat d'une opration arithmtique. Les bits indicateurs BI1 et BI0 du mot d'tat sont valus cet effet. Si la condition de comparaison prcise dans l'oprande est satisfaite, le rsultat de l'interrogation d'tat de signal est 1. Dans une opration ET, le rsultat de l'interrogation est combin au rsultat logique prcdent selon la table de vrit ET ; dans une opration OU, il est combin au rsultat logique prcdent selon la table de vrit OU.

Mot d'tat
RB BI1 BI0 DEB DM OU ETAT RLG /PI

Ecriture

12-8

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations sur bits d'tat

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

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

La bote SUB_I est active si l'tat de signal est 1 l'entre E 0.0. Si la valeur de EW0 est suprieure celle de EW2, le rsultat de l'opration arithmtique EW0 - EW2 est suprieur 0. Si EN est 1 et qu'une erreur se produise lors de l'excution de la fonction SUB_I, ENO est mis 0. 1. La sortie A 4.0 est mise 1 si la fonction s'excute sans erreur et si le rsultat est suprieur 0. Si l'tat de signal est 0 l'entre E 0.0 (dsactive), EN et ENO ont tous deux l'tat de signal 0. 2. La sortie A 4.0 est mise 1 si la fonction s'excute sans erreur et si le rsultat est infrieur ou gal 0. Si l'tat de signal est 0 l'entre E 0.0 (dsactive), EN et ENO ont tous deux l'tat de signal 0.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

12-9

Oprations sur bits d'tat

12-10

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

13

Oprations de temporisation

13.1

Vue d'ensemble des oprations de temporisation

Description
Vous trouverez des informations sur le rglage et la slection de la bonne temporisation sous "Adresse dune temporisation en mmoire et composants dune temporisation" . Vous disposez des oprations de temporisations suivantes :

S_IMPULS : Paramtrer et dmarrer une temporisation sous forme d'impulsion S_VIMP : Paramtrer et dmarrer une temporisation sous forme d'impulsion prolonge S_EVERZ : Paramtrer et dmarrer une temporisation sous forme de retard la monte S_SEVERZ : Paramtrer et dmarrer une temporisation sous forme de retard la monte mmoris S_AVERZ : Paramtrer et dmarrer une temporisation sous forme de retard la retombe SI : Temporisation sous forme d'impulsion SV : Temporisation sous forme d'impulsion prolonge SE : Temporisation sous forme de retard la monte SS : Temporisation sous forme de retard la monte mmoris SA : Temporisation sous forme de retard la retombe

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

13-1

Oprations de temporisation

13.2

Adresse d'une temporisation en mmoire et composants d'une temporisation

Zone de mmoire
Les temporisations disposent d'une zone de mmoire rserve dans votre CPU, avec un mot de 16 bits pour chaque oprande de temporisation. La programmation en LOG permet d'utiliser jusqu' 256 temporisations. Le nombre de mots de temporisations disponibles dans votre CPU est mentionn dans les caractristiques techniques de cette dernire. Les fonctions suivantes accdent la zone de mmoire des temporisations :

oprations de temporisation, mise jour des mots de temporisation via un gnrateur d'impulsions. Cette fonction dcrmente, l'tat de fonctionnement "Marche" (RUN) de la CPU, une valeur donne d'une unit dans un intervalle dfini par la base de temps, et ce jusqu' ce que la valeur de temps gale zro.

Valeur de temps
La valeur de temps se trouve, en code binaire, dans les bits 0 9 du mot de temporisation ; elle indique un nombre d'units. L'actualisation de la temporisation dcrmente la valeur de temps d'une unit dans un intervalle dfini par la base de temps, et ce jusqu' ce que la valeur de temps gale zro. Vous pouvez charger une valeur de temps prdfinie en utilisant lun des deux formats suivants :

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

13-2

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de temporisation

Base de temps
Les bits 12 et 13 du mot de temporisation contiennent la base de temps en code binaire. La base de temps dtermine quel intervalle la valeur de temps sera dcrmente. La base de temps minimale est gale 10 ms ; la base de temps maximale 10 s.
Base de temps Code binaire de la base de temps

10 ms 100 ms 1s 10 s

00 01 10 11

Comme les valeurs de temps sont mmorises dans un seul intervalle de temps, celles qui ne sont pas un multiple exact de cet intervalle sont tronques. Les valeurs dont la rsolution est trop grande pour la plage considre sont arrondies de faon obtenir la plage voulue, mais pas avec la rsolution souhaite. Le tableau suivant prsente les rsolutions possibles avec les plages correspondantes.
Rsolution Plage

0,01 seconde 0,1 seconde 1 seconde 10 secondes

10MS 9S_990MS 100MS 1M_39S_900MS 1S 16M_39S 10S 2HR_46M_30S

Configuration des bits dans la cellule de temporisation


Lorsqu'une 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 d'une 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 avec 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.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

13-3

Oprations de temporisation

Lecture de la valeur et de la base de temps


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

Choix de la temporisation correcte


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

E 0.0

A 4.0 S_IMPULS t

A 4.0 S_VIMP t

A 4.0 S_EVERZ t

A 4.0 S_SEVERZ t

A 4.0 S_AVERZ t

13-4

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de temporisation

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.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

13-5

Oprations de temporisation

13.3

S_IMPULS : Paramtrer et dmarrer une temporisation sous forme d'impulsion

Reprsentation
Anglaise T no. S_PULSE S TV R BI BCD Q Allemande T-Nr. S_IMPULS S TW R DUAL DEZ Q

Paramtre Anglaise T no.

Paramtre Allemande T Nr.

Type de donnes TIMER

Zone de mmoire T

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

S TV R BI BCD Q

S TW R DUAL DEZ Q

BOOL S5TIME BOOL WORD WORD BOOL

E, A, M, D, L, Entre de dmarrage T, Z E, A, M, D, L ou constante Valeur de temps prdfinie (plage : 0 9999)

E, A, M, D, L, Entre de remise zro T, Z E, A, M, D, L E, A, M, D, L E, A, M, D, L Valeur de temps restante (format binaire) Valeur de temps restante (format DCB) Etat de la temporisation

Description
L'opration Paramtrer et dmarrer une temporisation sous forme d'impulsion dmarre la temporisation prcise en cas de front montant (c'estdire lorsque l'tat de signal passe de 0 1) 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 pendant le temps programm, tant que l'tat de signal l'entre S est gal 1. Pendant que la temporisation s'excute, l'interrogation 1 de l'tat de signal la sortie Q donne 1 comme rsultat. 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'interrogation 1 de l'tat de signal la sortie Q donne 0 comme rsultat. En cas de passage de 0 1 l'entre de remise zro R pendant que la temporisation s'coule, cette dernire est remise zro. Cette transition remet aussi la valeur de temps et la base de temps zro. 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. Voir aussi Adresse d'une temporisation en mmoire et composants d'une temporisation.

13-6

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

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
T5 S_IMPULS E 0.0 S5T#2s E 0.1 S TW R DUAL DEZ Q 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). Elle s'coule avec la valeur indique, gale deux secondes (2s), 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'coule, cette dernire est remise zro. L'tat de signal la sortie A 4.0 est 1 tant que la temporisation s'coule.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

13-7

Oprations de temporisation

13.4

S_VIMP : Paramtrer et dmarrer une temporisation sous forme d'impulsion prolonge

Reprsentation

Anglaise T no. S_PEXT S TV R BI BCD Q

Allemande T-Nr. S_VIMP S TW R DUAL DEZ Q

Paramtre Anglaise T no.

Paramtre Allemande T Nr.

Type de donnes TIMER

Zone de mmoire T

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

S TV R BI BCD Q

S TW R DUAL DEZ Q

BOOL S5TIME BOOL WORD WORD BOOL

E, A, M, D, L, Entre de dmarrage T, Z E, A, M, D, L ou constante Valeur de temps prdfinie (plage : 0 9999)

E, A, M, D, L, Entre de remise zro T, Z E, A, M, D, L E, A, M, D, L E, A, M, D, L Valeur de temps restante (format binaire) Valeur de temps restante (format DCB) Etat de la temporisation

Description
L'opration Paramtrer et dmarrer une temporisation sous forme d'impulsion prolonge dmarre la temporisation prcise en cas de front montant (c'estdire lorsque l'tat de signal passe de 0 1) 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'coule, l'interrogation 1 de l'tat de signal la sortie Q donne 1 comme rsultat. La temporisation est redmarre avec la valeur de temps indique 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'coule, cette dernire est remise zro. Cette transition remet aussi la valeur de temps et la base de temps 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. Voir aussi Adresse d'une temporisation en mmoire et composants d'une temporisation.
Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

13-8

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
T5 S_VIMP E 0.0 S5T#2s E 0.1 S TW R DUAL DEZ Q 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 (2s) 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 expiration de ces deux secondes, la temporisation est redmarre. Si l'tat de signal en E 0.1 passe de 0 1 alors que la temporisation s'coule, cette dernire est remise zro. L'tat de signal la sortie A 4.0 est 1 tant que la temporisation s'excute.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

13-9

Oprations de temporisation

13.5

S_EVERZ : Paramtrer et dmarrer une temporisation sous forme de retard la monte

Reprsentation
Anglaise T no. S_ODT S TV R BI BCD Q Allemande T-Nr. S_EVERZ S TW R DUAL DEZ Q

Paramtre Anglaise T no.

Paramtre Allemande T Nr.

Type de donnes TIMER

Zone de mmoire T

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

S TV R BI BCD Q

S TW R DUAL DEZ Q

BOOL S5TIME BOOL WORD WORD BOOL

E, A, M, D, L, Entre de dmarrage T, Z E, A, M, D, L ou constante Valeur de temps prdfinie (plage : 0 9999)

E, A, M, D, L, Entre de remise zro T, Z E, A, M, D, L E, A, M, D, L E, A, M, D, L Valeur de temps restante (format binaire) Valeur de temps restante (format DCB) Etat de la temporisation

Description
L'opration Paramtrer et dmarrer une temporisation sous forme de retard la monte dmarre la temporisation prcise en cas de front montant (c'estdire lorsque l'tat de signal passe de 0 1) 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'interrogation 1 de l'tat de signal la sortie Q donne 1 comme rsultat lorsque le temps a expir, que l'tat de signal l'entre S est toujours 1 et que l'tat de signal l'entre R est toujours 0. 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'interrogation 1 de l'tat de signal donne toujours 0 comme rsultat. En cas de passage de 0 1 l'entre de remise zro (R) pendant que la temporisation s'coule, cette dernire est remise zro. Cette transition remet aussi la valeur de temps et la base de temps zro. La temporisation est galement remise zro si l'tat de signal gale 1 l'entre R alors que 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. Voir aussi Adresse d'une temporisation en mmoire et composants d'une temporisation.

13-10

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

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
T5 S_EVERZ E 0.0 S5T#2s E 0.1 S TW R DUAL DEZ Q 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). Si, l'expiration du temps de deux secondes (2s) indiqu, l'tat de signal la sortie E 0.0 est 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 s'arrte et A 4.0 est 0. Si l'tat de signal en E 0.0 passe de 0 1 alors que la temporisation s'excute, cette dernire est redmarre.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

13-11

Oprations de temporisation

13.6

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

Reprsentation
Anglaise T no. S_ODTS S TV R BI BCD Q Allemande T-Nr. S_SEVERZ S TW R DUAL DEZ Q

Paramtre Anglaise T no.

Paramtre Allemande T Nr.

Type de donnes TIMER

Zone de mmoire T

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

S TV R BI BCD Q

S TW R DUAL DEZ Q

BOOL S5TIME BOOL WORD WORD BOOL

E, A, M, D, L, Entre de dmarrage T, Z E, A, M, D, L ou constante Valeur de temps prdfinie (plage : 0 9999)

E, A, M, D, L, Entre de remise zro T, Z E, A, M, D, L E, A, M, D, L E, A, M, D, L Valeur de temps restante (format binaire) Valeur de temps restante (format DCB) Etat de la temporisation

Description
L'opration Paramtrer et dmarrer une temporisation sous forme de retard la monte mmoris dmarre la temporisation prcise en cas de front montant (c'estdire lorsque l'tat de signal passe de 0 1) 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'interrogation 1 de l'tat de signal la sortie Q donne 1 comme rsultat lorsque le temps a expir, quel que soit l'tat de signal l'entre S, et lorsque l'entre de remise zro (R) reste 0. Si l'tat de signal l'entre S passe de 0 1 pendant 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. La valeur de temps en cours peut tre lue en format binaire la sortie DUAL et en format dcimal cod binaire la sortie BCD. Voir aussi Adresse d'une temporisation en mmoire et composants d'une temporisation.

13-12

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

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
T5 S_SEVERZ E 0.0 S5T#2s E 0.1 S TW R DUAL DEZ Q 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). Elle continue s'couler mme si l'tat de signal en E 0.0 passe de 1 0. Si l'tat de signal l'entre E 0.0 passe de 0 1 avant expiration de la valeur indique, la temporisation est redmarre. Si l'tat de signal en E 0.1 passe de 0 1 alors que la temporisation s'coule, cette dernire est remise zro. L'tat de signal la sortie A 4.0 est 1 si le temps a expir et que E 0.1 reste 0.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

13-13

Oprations de temporisation

13.7

S_AVERZ : Paramtrer et dmarrer une temporisation sous forme de retard la retombe

Reprsentation
Anglaise T no. S_OFFDT S TV R BI BCD Q Allemande T-Nr. S_AVERZ S TW R DUAL DEZ Q

Paramtre Anglaise T no.

Paramtre Allemande T Nr.

Type de donnes TIMER

Zone de mmoire T

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

S TV R BI BCD Q

S TW R DUAL DEZ Q

BOOL S5TIME BOOL WORD WORD BOOL

E, A, M, D, L, Entre de dmarrage T, Z E, A, M, D, L ou constante Valeur de temps prdfinie (plage : 0 9999)

E, A, M, D, L, Entre de remise zro T, Z E, A, M, D, L E, A, M, D, L E, A, M, D, L Valeur de temps restante (format binaire) Valeur de temps restante (format DCB) Etat de la temporisation

Description
L'opration Paramtrer et dmarrer une temporisation sous forme de retard la retombe dmarre la temporisation prcise en cas de front descendant (c'est--dire lorsque l'tat de signal passe de 1 0) l'entre de dmarrage S. Un changement d'tat de signal est toujours ncessaire pour activer une temporisation. L'interrogation 1 de l'tat de signal la sortie Q donne 1 comme rsultat lorsque l'tat de signal l'entre S est 1 ou lorsque la temporisation s'coule. 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. Voir aussi Adresse d'une temporisation en mmoire et composants d'une temporisation.

13-14

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

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
T5 S_AVERZ E 0.0 S5T#2s E 0.1 S TW R DUAL DEZ Q A 4.0 =

La temporisation T5 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'coule. Si l'tat de signal en E 0.1 passe de 0 1 alors que la temporisation s'excute, cette dernire est remise zro.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

13-15

Oprations de temporisation

13.8

SI : Temporisation sous forme d'impulsion

Reprsentation
Anglaise <oprande> SP <valeur de temps> TV <valeur de temps> TW Allemande <oprande> SI

Paramtre Anglaise Numro de la temporisation TV

Paramtre Allemande Numro de la temporisation TW

Type de donnes TIMER S5TIME

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

Description L'oprande indique le numro de la temporisation dmarrer. Valeur de temps (format S5TIME)

Description
L'opration Temporisation sous forme d'impulsion dmarre la temporisation indique avec une valeur de temps donne si le RLG prsente un front montant (c'estdire si le RLG passe de 0 1). La temporisation s'coule tant que le RLG est positif. L'interrogation 1 de l'tat du signal fournit un rsultat gal 1 tant que la temporisation s'coule. Si le RLG passe de 1 0 avant que le temps indiqu n'ait expir, la temporisation s'arrte. Dans ce cas, l'interrogation 1 de l'tat de signal fournit un rsultat gal 0. Vous ne pouvez placer la bote Temporisation sous forme d'impulsion qu' l'extrmit droite de la squence combinatoire. Il est toutefois possible d'en utiliser plusieurs. Voir aussi Adresse d'une temporisation en mmoire et composants d'une temporisation.

Mot d'tat
RB Ecriture BI1 BI0 DEB DM OU 0 ETAT RLG /PI 0

13-16

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de temporisation

Exemple
Rseau 1
T5 E 0.0 S5T#2s TW SI

Rseau 2
A 4.0 =

T5

Si l'tat de signal en E 0.0 passe de 0 1 (front montant du RLG), la temporisation T5 est dmarre. La temporisation s'coule 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.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

13-17

Oprations de temporisation

13.9

SV : Temporisation sous forme d'impulsion prolonge

Reprsentation
Anglaise <oprande> SE <valeur de temps> TV <valeur de temps> Allemande <oprande> SV TW

Paramtre Anglaise Numro de la temporisation TV

Paramtre Allemande Numro de la temporisation TW

Type de donnes TIMER S5TIME

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

Description L'oprande indique le numro de la temporisation dmarrer. Valeur de temps (format S5TIME)

Description
L'opration Temporisation sous forme d'impulsion prolonge dmarre la temporisation indique avec une valeur de temps donne si le RLG prsente un front montant (c'est dire si le RLG passe de 0 1). La temporisation continue s'couler mme si le RLG passe 0 avant que le temps prcis n'ait expir. L'interrogation 1 de l'tat du signal fournit un rsultat gal 1 tant que la temporisation s'coule. La temporisation est redmarre (redclenche) avec le temps indiqu si le RLG repasse de 0 1 alors que la temporisation s'coule encore. Vous ne pouvez placer la bote Temporisation sous forme d'impulsion prolonge qu' l'extrmit droite de la squence combinatoire. Il est toutefois possible d'en utiliser plusieurs. Voir aussi Adresse d'une temporisation en mmoire et composants d'une temporisation.

Mot d'tat
RB Ecriture BI1 BI0 DEB DM OU 0 ETAT RLG /PI 0

13-18

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de temporisation

Exemple
Rseau 1
T5 E 0.0 S5T#2s SV TW

Rseau 2
A 4.0 =

T5

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'couler mme en prsence d'un front descendant du RLG. Si l'tat de signal en E 0.0 repasse 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.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

13-19

Oprations de temporisation

13.10

SE : Temporisation sous forme de retard la monte

Reprsentation
Anglaise <oprande> SD <valeur de temps> TV <valeur de temps> Allemande <oprande> SE TW

Paramtre Anglaise Numro de la temporisation TV

Paramtre Allemande Numro de la temporisation TW

Type de donnes TIMER S5TIME

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

Description L'oprande indique le numro de la temporisation dmarrer. Valeur de temps (format S5TIME)

Description
L'opration Temporisation sous forme de retard la monte dmarre la temporisation indique si le RLG prsente un front montant (c'estdire si le RLG passe de 0 1). L'interrogation 1 de l'tat du signal fournit un rsultat gal 1 lorsque le temps indiqu s'est coul sans erreur et que le RLG est toujours gal 1. Si le RLG passe de 1 0 alors que la temporisation s'coule, la temporisation est arrte. Dans ce cas, l'interrogation 1 de l'tat de signal fournit toujours un rsultat gal 0. Vous ne pouvez placer la bote Temporisation sous forme de retard la monte qu' l'extrmit droite de la squence combinatoire. Il est toutefois possible d'en utiliser plusieurs. Voir aussi Adresse d'une temporisation en mmoire et composants d'une temporisation.

Mot d'tat
RB Ecriture BI1 BI0 DEB DM OU 0 ETAT RLG /PI 0

13-20

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de temporisation

Exemple
Rseau 1
T5 E 0.0 S5T#2s SE TW

Rseau 2
A 4.0 =

T5

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 mise 1. Si l'tat de signal en E 0.0 passe de 1 0, la temporisation est arrte.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

13-21

Oprations de temporisation

13.11

SS : Temporisation sous forme de retard la monte mmoris

Reprsentation
Anglaise <oprande> SS <valeur de temps> TV <valeur de temps> Allemande <oprande> SS TW

Paramtre Anglaise Numro de la temporisation TV

Paramtre Allemande Numro de la temporisation TW

Type de donnes TIMER S5TIME

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

Description L'oprande indique le numro de la temporisation dmarrer. Valeur de temps (format S5TIME)

Description
L'opration Temporisation sous forme de retard la monte mmoris dmarre la temporisation indique si le RLG prsente un front montant (c'estdire si le RLG passe de 0 1). La temporisation continue s'couler mme si le RLG passe 0 avant que le temps n'ait expir. L'interrogation 1 de l'tat du signal fournit un rsultat gal 1 lorsque le temps indiqu a expir, quel que soit le RLG. Si le RLG passe de 0 1 alors que la temporisation s'excute, la temporisation est redmarre (redclenche) avec le temps indiqu. Vous ne pouvez placer la bote Temporisation sous forme de retard la monte mmoris qu' l'extrmit droite de la squence combinatoire. Il est toutefois possible d'en utiliser plusieurs. Voir aussi Adresse d'une temporisation en mmoire et composants d'une temporisation.

Mot d'tat
RB Ecriture BI1 BI0 DEB DM OU 0 ETAT RLG /PI 0

13-22

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de temporisation

Exemple
Rseau 1
T5 E 0.0 S5T#2s SS TW

Rseau 2
A 4.0 =

T5

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'couler mme si l'tat de signal passe de 1 0 l'entre E 0.0. 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.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

13-23

Oprations de temporisation

13.12

SA : Temporisation sous forme de retard la retombe

Reprsentation
Anglaise <oprande> SF <valeur de temps> TV <valeur de temps> Allemande <oprande> SA TW

Paramtre Anglaise Numro de la temporisation TV

Paramtre Allemande Numro de la temporisation TW

Type de donnes TIMER S5TIME

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

Description L'oprande indique le numro de la temporisation dmarrer. Valeur de temps (format S5TIME)

Description
L'opration Temporisation sous forme de retard la retombe dmarre la temporisation indique si le RLG prsente un front descendant (c'estdire si le RLG passe de 1 0). L'interrogation 1 de l'tat du signal fournit un rsultat gal 1 lorsque le RLG est gal 1 ou que la temporisation s'coule. La temporisation est mise 0 lorsque le RLG passe de 0 1 alors que la temporisation s'excute. La temporisation n'est redmarre que lorsque le RLG repasse de 1 0. Vous ne pouvez placer la bote Temporisation sous forme de retard la retombe qu' l'extrmit droite de la squence combinatoire. Il est toutefois possible d'en utiliser plusieurs. Voir aussi Adresse d'une temporisation en mmoire et composants d'une temporisation.

Mot d'tat
RB Ecriture BI1 BI0 DEB DM OU 0 ETAT RLG /PI 0

13-24

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations de temporisation

Exemple
Rseau 1
T5 E 0.0 S5T#2s SA TW

Rseau 2
A 4.0 =

T5

Si l'tat de signal en E 0.0 passe de 1 0, la temporisation T5 est dmarre. Si l'tat de signal en E 0.0 passe de 0 1, la temporisation T5 est mise 0. L'tat de signal de la sortie A 4.0 est 1 lorsque l'tat de signal est 1 l'entre E 0.0 ou que la temporisation s'excute.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

13-25

Oprations de temporisation

13-26

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

14

Oprations combinatoires sur mots

14.1

Vue d'ensemble des oprations combinatoires sur mots

Description
Les oprations combinatoires sur mots combinent deux mots (16 bits) ou deux doubles mots (32 bits) indiqus dans les entres IN1 et IN2, selon les combinaisons boolennes. Ces oprations sont actives si l'tat de signal est 1 l'entre de validation EN. Les 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. Si le rsultat la sortie OUT est diffrent de 0, le bit BI1 du mot d'tat est mis 1. Si le rsultat la sortie OUT gale 0, le bit BI1 du mot d'tat est mis 0. Vous disposez des oprations combinatoires sur mots suivantes :

WAND_W : ET mot WOR_W : OU mot WXOR_W : OU exclusif mot WAND_DW : ET double mot WOR_DW : OU double mot WXOR_DW : OU exclusif double mot

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

14-1

Oprations combinatoires sur mots

14.2

WAND_W : ET mot

Reprsentation
WAND_W EN IN1 IN2 OUT ENO

Paramtre EN IN1 IN2 OUT ENO

Type de donnes BOOL WORD WORD WORD BOOL

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

Description Entre de validation Premire valeur de la combinaison Seconde valeur de la combinaison Rsultat de la combinaison Sortie de validation

Description
L'opration ET mot est active si l'tat de signal est 1 l'entre de validation EN. Cette opration 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
WAND_W E 0.0 MW0 2#0000000000001111 EN IN1 IN2 OUT ENO MW2 A 4.0

L'opration est active si l'tat de signal est 1 l'entre E 0.0. Seuls les bits 0 3 sont significatifs ; les autres bits de MW0 sont masqus : IN1 IN2 OUT = = = 0101010101010101 0000000000001111 0000000000000101

La sortie A 4.0 est mise 1 si la combinaison est excute.

14-2

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations combinatoires sur mots

14.3

WOR_W : OU mot

Reprsentation
WOR_W EN IN1 IN2 OUT ENO

Paramtre EN IN1 IN2 OUT ENO

Type de donnes BOOL WORD WORD WORD BOOL

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

Description Entre de validation Premire valeur de la combinaison Seconde valeur de la combinaison Rsultat de la combinaison Sortie de validation

Description
Lopration OU mot est active si ltat de signal est 1 lentre de validation EN. Cette opration 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. Ltat 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
WOR_W E 0.0 MW0 2#0000000000001111 EN IN1 IN2 OUT ENO MW2 A 4.0

L'opration est active si l'tat de signal est 1 l'entre E 0.0. Les bits dans MW0 et ceux dans la constante sont combins selon OU. Les bits 0 3 sont mis 1 ; les autres bits de MW0 restent inchangs dans MW2. IN1 IN2 OUT = = = 0101010101010101 0000000000001111 0101010101011111

La sortie A 4.0 est mise 1 si la combinaison est excute.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

14-3

Oprations combinatoires sur mots

14.4

WXOR_W : OU exclusif mot

Reprsentation
WXOR_W EN IN1 IN2 OUT ENO

Paramtre EN IN1 IN2 OUT ENO

Type de donnes BOOL WORD WORD WORD BOOL

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

Description Entre de validation Premire valeur de la combinaison Seconde valeur de la combinaison Rsultat de la combinaison Sortie de validation

Description
Lopration OU exclusif mot est active si ltat de signal est 1 lentre de va-lidation EN. Cette opration 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. Ltat 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
WXOR_W E 0.0 MW0 2#0000000000001111 EN IN1 IN2 OUT ENO MW2 A 4.0

L'opration est active si l'tat de signal est 1 l'entre E 0.0. IN1 IN2 OUT = = = 0101010101010101 0000000000001111 0101010101011010

La sortie A 4.0 est mise 1 si la combinaison est excute.

14-4

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Oprations combinatoires sur mots

14.5

WAND_DW : ET double mot

Reprsentation
WAND_DW EN IN1 IN2 OUT ENO

Paramtre EN IN1 IN2 OUT ENO

Type de donnes BOOL DWORD DWORD DWORD BOOL

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

Description Entre de validation Premire valeur de la combinaison Seconde valeur de la combinaison Rsultat de la combinaison Sortie de validation

Description
Lopration ET double mot est active si ltat de signal est 1 lentre de validation EN. Cette opration 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. Ltat 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
WAND_DW E 0.0 MD0 DW#16#FFF EN IN1 IN2 OUT ENO MD4 A 4.0

L'opration est active si l'tat de signal est 1 l'entre E 0.0. Seuls les bits 0 11 sont significatifs ; les autres bits de MD0 sont masqus : IN1 IN2 OUT = = = 01010101010101010101010101010101 00000000000000000000111111111111 00000000000000000000010101010101

La sortie A 4.0 est mise 1 si la combinaison est excute.


Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

14-5

Oprations combinatoires sur mots

14.6

WOR_DW : OU double mot

Reprsentation
WOR_DW EN IN1 IN2 OUT ENO

Paramtre EN IN1 IN2 OUT ENO

Type de donnes BOOL DWORD DWORD DWORD BOOL

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

Description Entre de validation Premire valeur de la combinaison Seconde valeur de la combinaison Rsultat de la combinaison Sortie de validation

Description
Lopration OU double mot est active si ltat de signal est 1 lentre de validation EN. Cette opration 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. Ltat 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
WOR_DW E 0.0 MD0 DW#16#FFF EN IN1 IN2 OUT ENO MD4 A 4.0

L'opration est active si l'tat de signal est 1 l'entre E 0.0. Les bits dans MW0 et ceux dans la constante sont combins selon OU. Les bits 0 11 sont mis 1 ; les autres bits de MW0 restent inchangs dans MW2. IN1 IN2 OUT = = = 0101010101010101 0101010101010101 0000000000000000 0000111111111111 0101010101010101 0101111111111111

La sortie A 4.0 est mise 1 si la combinaison est excute.


Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

14-6

Oprations combinatoires sur mots

14.7

WXOR_DW : OU exclusif double mot

Reprsentation
WXOR_DW EN IN1 IN2 OUT ENO

Paramtre EN IN1 IN2 OUT ENO

Type de donnes BOOL DWORD DWORD DWORD BOOL

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

Description Entre de validation Premire valeur de la combinaison Seconde valeur de la combinaison Rsultat de la combinaison Sortie de validation

Description
Lopration OU exclusif double mot est active si ltat de signal est 1 lentre de validation EN. Cette opration 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. Ltat 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
WXOR_DW E 0.0 MD0 DW#16#FFF EN IN1 IN2 OUT ENO MD4 A 4.0

L'opration est active si l'tat de signal est 1 l'entre E 0.0. IN1 IN2 OUT = = = 0101010101010101 0101010101010101 0000000000000000 0000111111111111 0101010101010101 0101101010101010

La sortie A 4.0 est mise 1 si la combinaison est excute.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

14-7

Oprations combinatoires sur mots

14-8

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Prsentation de toutes les oprations LOG

A.1

Oprations LOG classes d'aprs les abrviations allemandes (SIMATIC)


Abrviations allemandes & >=1 = # ---| ---o| ==0 >0 >=0 <0 <=0 <>0 ABS ACOS ADD_DI ADD_I ADD_R ASIN ATAN BCD_DI BCD_I BIE CALL CALL_FB CALL_FC Abrviations Catalogue anglaises des lments du programme & >=1 = # ---| ---o| ==0 >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 Combinaison sur bits Combinaison sur bits 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 Description

Porte ET Porte OU Affectation Connecteur Insrer entre binaire Inverser entre binaire Bits de rsultat Bits de rsultat Bits de rsultat Bits de rsultat Bits de rsultat Bits de rsultat Valeur absolue d'un nombre rel Fonctions trigonomtriques d'angles sous forme de nombres rels Additionner entier de 32 bits Additionner entier de 16 bits Additionner nombres rels Fonctions trigonomtriques d'angles sous forme de nombres rels Fonctions trigonomtriques d'angles sous forme de nombres rels 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 CALL_FB : Appeler FB Appeler FC (CALL_FC)

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

A-1

Prsentation de toutes les oprations LOG

Abrviations allemandes CALL_SFB CALL_SFC 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 MOD_DI MOVE MUL_DI

Abrviations Catalogue anglaises des lments du programme CALL_SFB CALL_SFC 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 MOD_DI MOVE MUL_DI Gestion d'excution de programmes Gestion d'excution de programmes Conversion Comparaison Comparaison Comparaison Fonction sur nombres virgule flottante Conversion Conversion Fonction sur nombres entiers Fonction sur nombres entiers Fonction sur nombres virgule flottante Fonction sur nombres virgule flottante Conversion Conversion Conversion Conversion 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

Description

Appeler SFB (CALL_SFB) Appeler SFC (CALL_SFC) Convertir nombre rel en entier suprieur le plus proche Comparer entiers de 32 bits Comparer entiers de 16 bits Comparer nombres rels Fonctions trigonomtriques d'angles sous forme de nombres rels Convertir entier de 32 bits en nombre DCB Convertir entier de 32 bits en nombre rel Diviser entiers de 32 bits Diviser entiers de 16 bits Diviser nombres rels Valeur exponentielle d'un nombre rel Convertir nombre 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 Saut inconditionnel Saut si 1 (conditionnel) Saut si 0 (conditionnel) Repre de saut Logarithme naturel d'un nombre rel Dsactiver relais de masquage Activer relais de masquage Relais de masquage en fonction Relais de masquage en fonction Reste de division (32 bits) Affecter valeur Multiplier entiers de 32 bits

A-2

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Prsentation de toutes les oprations LOG

Abrviations allemandes MUL_I MUL_R N NEG NEG_DI NEG_I NEG_R OPN OS OV P POS R RET ROL_DW ROUND ROR_DW RS S SA SAVE S_AVERZ SE S_EVERZ SHL_DW SHL_W SHR_DI SHR_DW SHR_I SHR_W SI S_IMPULS SIN SQR SQRT SR

Abrviations Catalogue anglaises des lments du programme MUL_I MUL_R N NEG NEG_DI NEG_I NEG_R OPN OS OV P POS R RET ROL_DW ROUND ROR_DW RS S SF SAVE S_OFFDT SD S_ODT SHL_DW SHL_W SHR_DI SHR_DW SHR_I SHR_W SP S_PULSE SIN SQR SQRT SR Fonction sur nombres entiers Fonction sur nombres virgule flottante Combinaison sur bits Combinaison sur bits Conversion Conversion Conversion 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 Conversion Dcalage/rotation 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

Description

Multiplier entiers de 16 bits Multiplier nombres rels Dtecter front descendant Dtecter front montant Complment deux d'entier de 32 bits Complment deux d'entier de 16 bits Inverser le signe d'un nombre rel 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 d'un double mot Arrondir entier de 32 bits Rotation vers la droite d'un double mot Bascule mise 0, mise 1 Mettre 1 Paramtrer et dmarrer une temporisation sous forme de retard la retombe Sauvegarder RLG dans RB Paramtrer et dmarrer une temporisation sous forme de retard la retombe Paramtrer et dmarrer une temporisation sous forme de retard la monte Paramtrer et dmarrer une 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 Temporisation sous forme d'impulsion Paramtrer et dmarrer une temporisation sous forme d'impulsion Fonctions trigonomtriques d'angles sous forme de nombres rels Carr d'un nombre rel Racine carre d'un nombre rel Bascule mise 1, mise 0

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

A-3

Prsentation de toutes les oprations LOG

Abrviations allemandes SS S_SEVERZ SUB_DI SUB_I SUB_R SV S_VIMP SZ TAN TRUNC UO WAND_DW WAND_W WOR_DW WOR_W WXOR_DW WXOR_W XOR ZAEHLER ZR Z_RUECK ZV Z_VORW

Abrviations Catalogue anglaises des lments du programme SS S_ODTS SUB_DI SUB_I SUB_R SE S_PEXT SC TAN TRUNC UO WAND_DW WAND_W WOR_DW WOR_W WXOR_DW WXOR_W XOR S_CUD CD S_CD CU S_CU Temporisations Temporisations Fonction sur nombres entiers Fonction sur nombres entiers Fonction sur nombres virgule flottante Temporisations Temporisations Compteurs Fonction sur nombres virgule flottante Conversion Bits d'tat

Description

Temporisation sous forme de retard la monte mmoris Paramtrer et dmarrer une temporisation sous forme de retard la monte mmoris Soustraire entiers de 32 bits Soustraire entiers de 16 bits Soustraire nombres rels Temporisation sous forme d'impulsion prolonge Paramtrer et dmarrer une temporisation sous forme d'impulsion prolonge Initialiser compteur Fonctions trigonomtriques d'angles sous forme de nombres rels Tronquer la partie entire (32 bits) Bit d'anomalie "Opration illicite"

Combinaison sur mots ET double mot Combinaison sur mots ET mot Combinaison sur mots OU double mot Combinaison sur mots OU mot Combinaison sur mots OU exclusif double mot Combinaison sur mots OU exclusif mot Combinaison sur bits Compteurs Compteurs Compteurs Compteurs Compteurs Combinaison OU exclusif Paramtrage et compteur incrmental/dcrmental Dcrmenter Paramtrage et compteur dcrmental Incrmenter Paramtrage et compteur incrmental

A-4

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Prsentation de toutes les oprations LOG

A.2

Oprations LOG classes d'aprs les abrviations anglaises (internationales)


Abrviations allemandes & >=1 = # ---| ---o| ==0 >0 >=0 <0 <=0 <>0 ABS Abrviations Catalogue anglaises des lments du programme & >=1 = # ---| ---o| ==0 >0 >=0 <0 <=0 <>0 ABS Combinaison sur bits Combinaison sur bits 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 Description

Porte ET Porte OU Affectation Connecteur Insrer entre binaire Inverser entre binaire Bits de rsultat Bits de rsultat Bits de rsultat Bits de rsultat Bits de rsultat Bits de rsultat Valeur absolue d'un nombre rel

ACOS

ACOS

Fonctions trigonomtriques d'angles sous forme de nombres rels Additionner entier de 32 bits Additionner entier de 16 bits Additionner nombres rels

ADD_DI ADD_I ADD_R

ADD_DI ADD_I ADD_R

ASIN

ASIN

Fonctions trigonomtriques d'angles sous forme de nombres rels Fonctions trigonomtriques d'angles sous forme de nombres rels 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

ATAN

ATAN

BCD_DI BCD_I BR CALL

BCD_DI BCD_I BIE CALL

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

A-5

Prsentation de toutes les oprations LOG

Abrviations allemandes CALL_FB

Abrviations Catalogue anglaises des lments du programme CALL_FB 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 Fonction sur nombres entiers Fonction sur nombres entiers Fonction sur nombres virgule flottante Fonction sur nombres virgule flottante Conversion Conversion Conversion Conversion Conversion Sauts Sauts Sauts Sauts Fonction sur nombres virgule flottante

Description

CALL_FB : Appeler FB

CALL_FC

CALL_FC

Appeler FC (CALL_FC)

CALL_SFB

CALL_SFB

Appeler SFB (CALL_SFB)

CALL_SFC

CALL_SFC

Appeler SFC (CALL_SFC)

CD CEIL CMP >=D CMP >=I CMP >=R COS

ZR CEIL CMP >=D CMP >=I CMP >=R COS

Dcrmenter Convertir nombre rel en entier suprieur le plus proche Comparer entiers de 32 bits Comparer entiers de 16 bits Comparer nombres rels Fonctions trigonomtriques d'angles sous forme de nombres rels Incrmenter Convertir entier de 32 bits en nombre DCB Convertir entier de 32 bits en nombre rel Diviser entiers de 32 bits Diviser entiers de 16 bits Diviser nombres rels

CU DI_BCD DI_R DIV_DI DIV_I DIV_R

ZV DI_BCD DI_R DIV_DI DIV_I DIV_R

EXP

EXP

Valeur exponentielle d'un nombre rel

FLOOR I_BCD I_DI INV_I INV_DI JMP JMP JMPN LABEL LN

FLOOR I_BCD I_DI INV_I INV_DI JMP JMP JMPN LABEL LN

Convertir nombre 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 Saut inconditionnel Saut si 1 (conditionnel) Saut si 0 (conditionnel) Repre de saut Logarithme naturel d'un nombre rel

A-6

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Prsentation de toutes les oprations LOG

Abrviations allemandes MCR>

Abrviations Catalogue anglaises des lments du programme MCR> 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 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 Conversion Dcalage/rotation Combinaison sur bits Combinaison sur bits Combinaison sur bits

Description

Dsactiver relais de masquage

MCR<

MCR<

Activer relais de masquage

MCRA

MCRA

Relais de masquage en fonction

MCRD

MCRD

Relais de masquage en fonction

MOD_DI MOVE MUL_DI MUL_I MUL_R

MOD_DI MOVE MUL_DI MUL_I MUL_R

Reste de division (32 bits) Affecter valeur Multiplier entiers de 32 bits Multiplier entiers de 16 bits Multiplier nombres rels

N NEG NEG_DI NEG_I NEG_R OPN OS OV P POS R RET

N NEG NEG_DI NEG_I NEG_R OPN OS OV P POS R RET

Dtecter front descendant Dtecter front montant Complment deux d'entier de 32 bits Complment deux d'entier de 16 bits Inverser le signe d'un nombre rel Ouvrir bloc de donnes Bit d'anomalie "Dbordement mmoris" Bit d'anomalie "Dbordement Dtecter front montant Dtecter front montant de signal Mettre 0 Retour

ROL_DW ROUND ROR_DW RS S SAVE

ROL_DW ROUND ROR_DW RS S SAVE

Rotation vers la gauche d'un double mot Arrondir entier de 32 bits Rotation vers la droite d'un double mot Bascule mise 0, mise 1 Mettre 1 Sauvegarder RLG dans RB

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

A-7

Prsentation de toutes les oprations LOG

Abrviations allemandes SC S_CD S_CU S_CUD SD SE SF SHL_DW SHL_W SHR_DI SHR_DW SHR_I SHR_W SIN

Abrviations Catalogue anglaises des lments du programme SZ Z_RUECK Z_VORW ZAEHLER SE SV SA SHL_DW SHL_W SHR_DI SHR_DW SHR_I SHR_W SIN 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 Temporisations Fonction sur nombres entiers Fonction sur nombres entiers Fonction sur nombres virgule flottante

Description

Initialiser compteur Paramtrage et compteur dcrmental Paramtrage et compteur incrmental Paramtrage et compteur incrmental/dcrmental Paramtrer et dmarrer une temporisation sous forme de retard la monte Temporisation sous forme d'impulsion prolonge Paramtrer et dmarrer une 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 Fonctions trigonomtriques d'angles sous forme de nombres rels Paramtrer et dmarrer une temporisation sous forme de retard la monte Paramtrer et dmarrer une temporisation sous forme de retard la monte mmoris Paramtrer et dmarrer une temporisation sous forme de retard la retombe Temporisation sous forme d'impulsion Paramtrer et dmarrer une temporisation sous forme d'impulsion prolonge Paramtrer et dmarrer une temporisation sous forme d'impulsion Carr d'un nombre rel

S_ODT S_ODTS S_OFFDT SP S_PEXT S_PULSE SQR

S_EVERZ S_SEVERZ S_AVERZ SI S_VIMP S_IMPULS SQR

SQRT

SQRT

Racine carre d'un nombre rel

SR SS SUB_DI SUB_I SUB_R

SR SS SUB_DI SUB_I SUB_R

Bascule mise 1, mise 0 Temporisation sous forme de retard la monte mmoris Soustraire entiers de 32 bits Soustraire entiers de 16 bits Soustraire nombres rels

A-8

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Prsentation de toutes les oprations LOG

Abrviations allemandes TAN

Abrviations Catalogue anglaises des lments du programme TAN Fonction sur nombres virgule flottante Conversion Bits d'tat Combinaison sur mots Combinaison sur mots Combinaison sur mots Combinaison sur mots Combinaison sur mots Combinaison sur mots Combinaison sur bits

Description

Fonctions trigonomtriques d'angles sous forme de nombres rels Tronquer la partie entire (32 bits) Bit d'anomalie "Opration illicite" ET double mot ET mot OU double mot OU mot OU exclusif double mot OU exclusif mot Combinaison OU exclusif

TRUNC UO WAND_DW WAND_W WOR_DW WOR_W WXOR_DW WXOR_W XOR

TRUNC UO WAND_DW WAND_W WOR_DW WOR_W WXOR_DW WXOR_W XOR

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

A-9

Prsentation de toutes les oprations LOG

A-10

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Exemples de programmation

B.1

Vue d'ensemble des exemples de programmation

Applications pratiques
Chacune des oprations LOG 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 : 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 & >=1 = 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'excution 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 Porte ET Porte OU Affectation Saut si 0 Retour Affecter valeur Temporisation sous forme dimpulsion prolonge

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

B-1

Exemples de programmation

B.2

Exemples : Oprations combinatoires sur bits

Exemple 1 : Commande dun tapis roulant


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

Capteur S5

MOTEUR_MAR

S1 S2

O Marche O Arrt

S3 S4

O Marche O Arrt

Programmation absolue et symbolique


Vous pouvez crire le programme de commande du tapis roulant en reprsentant les diverses composants du systme convoyeur laide d'adresses absolues ou laide de mnmoniques. Vous mettez les mnmoniques choisis dans la table des mnmoniques en relation avec les adresses absolues (voir laide en ligne de STEP 7).
Composant du systme Bouton-poussoir Marche Bouton-poussoir Arrt Bouton-poussoir Marche Bouton-poussoir Arrt Capteur Moteur Adresse absolue E 1.1 E 1.2 E 1.3 E 1.4 E 1.5 A 4.0 Mnmonique S1 S2 S3 S4 S5 Table de mnmoniques E 1.1 E 1.2 E 1.3 E 1.4 E 1.5 S1 S2 S3 S4 S5 MOTEUR_MAR

MOTEUR_MAR A 4.0

B-2

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Exemples de programmation

Logigramme pour commander un tapis roulant


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

A 4.0 S

Rseau 2 : Appuyer sur lun des deux boutons Arrt ou ouvrir le contact ouverture la fin du tapis arrte le moteur.
E 1.2 E 1.4 E 1.5 >=1 A 4.0 R

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

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

B-3

Exemples de programmation

Programmation absolue et symbolique


Vous pouvez crire le programme de commande du tapis roulant en reprsentant les diverses composants du systme convoyeur laide d'adresses absolues ou laide de mnmoniques. Vous mettez les mnmoniques choisis dans la table des mnmoniques en relation avec les adresses absolues (voir laide en ligne de STEP 7).
Composant du systme
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
E 1.1 E 0.0 A 4.0 A 4.1 M 0.0 M 0.1

Mnmonique
BPE1 BPE2 DROITE GAUCHE MP1 MP2

Table de mnmoniques
E 0.0 E 0.1 A 4.0 A 4.1 BPE 1 BPE 2 DROITE GAUCHE

M 0.0 MP1 M 0.1 MP2

Logigramme 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.
M 0.0 E 0.0 P E 0.1 & 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.
M 0.1 E 0.1 P E 0.0 & 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.
&

E 0.0 E 0.1

A 4.0 R A 4.1 R

B-4

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Exemples de programmation

B.3

Exemple : Oprations de temporisation

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

Logigramme 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.
T1 M0.2 & T SV

S5T#250MS

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


M0.2 T1 & =

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


M001 M0.2 & JMP

Rseau 4 : Le mot de mmento MW100 est incrment de 1 chaque fois que la temporisation sest coule.
ADD_I ??.? MW100 1 EN IN1 IN2 OUT ENO MW100

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

B-5

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 OUT IN ENO

??.? MW100

AW12

Linterrogation de ltat de signal


Linterrogation du signal de temporisation T1 entrane le rsultat logique suivant pour le paramtre d'entre invers de la porte ET (M0.2) dans l'exemple de priode d'horloge :

1 0 250 ms

La temporisation est redmarre une fois le temps coul. De ce fait, linterrogation de ltat de signal 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.

B-6

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Exemples de programmation

Obtenir une frquence prcise


Vous pouvez obtenir les frquences suivantes avec les bits de loctet de mmento MB101 et MB100 :
Bits de MB101/ MB100
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

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

0 0
1 1

0 0
1 1

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

B-7

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

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Exemples de programmation

B.4

Exemple : Oprations de comptage et de comparaison

Espace de stockage avec compteur et comparateur


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

Tableau d'affichage

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 LOG pour SIMATIC S7-300/400 A5E00706956-01

B-9

Exemples de programmation

Logigramme pour activer les lampes de signalisation sur un tableau daffichage


Rseau 1 : En prsence dun front montant lentre ZV, la valeur du compteur Z1 est augmente de 1 ; en prsence dun front descendant lentre ZR, elle est diminue de 1. En prsence dun front montant lentre S, la valeur du compteur est mise la valeur de ZW. En prsence dun front montant lentre R, la valeur du compteur est remise zro. La valeur actuelle du compteur Z1 est mmorise dans le mot de mmento MW200. La lampe de signalisation A 12.1 indique : Espace de stockage non vide.
Z1 ZAEHLER E12.0 E12.1 E12.2 C#10 E12.3 ZV ZR S ZW R DUAL DEZ Q MW210 MW200 A12.1 =

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


A12.0 A 12.1 & =

Rseau 3 : Si la valeur 50 est infrieure ou gale la valeur du compteur (cest--dire que la valeur de comptage est suprieure ou gale 50), la lampe de signalisation Espace de stockage plein 50 % sallume.
CMP <= I 50 MW200 IN1 IN2 A15.2 =

Rseau 4 : Si la valeur du compteur est suprieure ou gale 90, la lampe de signalisation Espace de stockage plein 90 % sallume.
CMP >= I MW200 90 IN1 IN2 A15.3 =

B-10

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Exemples de programmation

Rseau 5 : Si la valeur du compteur est suprieure ou gale 100, la lampe de signalisation Espace de stockage plein sallume. Utilisez la sortie A 4.4 pour bloquer le tapis roulant 1.
CMP >= I MW200 100 IN1 IN2 A15.4 =

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

B-11

Exemples de programmation

B.5

Exemple : Oprations arithmtiques sur nombres entiers

Calcul dune quation


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

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

??.? EW0 DBW3

ADD_I EN IN1 IN2 OUT ENO MW100 15 MW100 MUL_I EN IN1 IN2 OUT ENO MW102 MW0 MW102 DIV_I EN IN1 IN2 OUT ENO MW4

B-12

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Exemples de programmation

B.6

Exemple : Oprations combinatoires sur mots

Chauffage dun Four


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

Molettes de rglage des chiffres DCB

Four

4 Chaleur A 4.0 7.... XXXX ...0 0001 7... 1001

4 ...0 0001 Bits EW0 Octets

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

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

B-13

Exemples de programmation

Logigramme pourle chauffage d'un four


Rseau 1 : Si la temporisation sexcute, dclencher le chauffage.
A 4.0 T1 & =

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 ??.? EW0 W#16#FFF EN IN1 IN2 OUT ENO MW1 W#16#2000 MW1 WOR_W EN IN1 IN2 OUT ENO 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.
T1 E 0.7 & MW2 T SV

B-14

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Pour travailler en LOG

C.1

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

ENO = EN AND NOT (erreur de la reprsentation)


En cas d'absence d'erreur (erreur de la reprsentation = 0), on a ENO = EN. Le mcanisme EN/ENO s'utilise pour : les oprations arithmtiques, les oprations de transfert et de conversion, les oprations de dcalage et de rotation, les appels de blocs. Ce mcanisme ne s'utilise pas pour : les comparaisons, les compteurs, les temporisations. Pour les instructions effectives de la reprsentation, des instructions LIST supplmentaires sont gnres pour le mcanisme EN/ENO selon la prsence de combinaisons prcdentes ou suivantes. Les quatre cas possibles sont illustrs par un exemple d'addition. Addition avec combinaison de EN et avec combinaison de ENO Addition avec combinaison de EN et sans combinaison de ENO Addition sans combinaison de EN et avec combinaison de ENO Addition sans combinaison de EN et sans combinaison de ENO

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

C-1

Pour travailler en LOG

Remarques pour la cration de vos propres blocs


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

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

C-2

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Pour travailler en LOG

C.1.1

Addition avec combinaison EN et avec combinaison ENO


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

1 2 3 4 5 6 7 8 9 10 11

0.0

// Combinaison EN // Dcaler le RLG dans le RB et sauter si RLG == 0 // Paramtres de la reprsentation // Paramtres de la reprsentation // Addition effective

SPBNB _001 L L +I T UN SAVE CLR _001: U = RB A 4.0 out OV in1 in2

// Paramtres de la reprsentation // Dtection d'erreur // Enregistrer l'erreur dans le RB // Premire interrogation // Dcaler le RB dans le RLG

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

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

C-3

Pour travailler en LOG

C.1.2

Addition avec combinaison EN et sans combinaison ENO


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

1 2 3 4 5 6 7

0.0

// Combinaison EN // Dcaler le RLG dans le RB et sauter si RLG == 0 // Paramtres de la reprsentation // Paramtres de la reprsentation // Addition effective

SPBNB _001 L L +I T _001: out NOP 0 in1 in2

// Paramtres de la reprsentation

Aprs la ligne 1, le RLG contient le rsultat de la combinaison prcdente. L'instruction SPBNB copie le RLG dans le RB et met le bit de premire interrogation 1. Si le RLG est gal 0, le programme saute la ligne 7, l'addition n'est pas ralise, le RLG et le RB valent 0. Si le RLG est gal 1, le programme ne saute pas plus loin, ce qui signifie que l'addition est effectue. L'ventuelle apparition d'une erreur lors de l'addition n'est pas dtecte. Le RLG et le RB valent 1.

C-4

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Pour travailler en LOG

C.1.3

Addition sans combinaison EN et avec combinaison ENO


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

1 2 3 4 5 6 7 8 9

L L +I T UN SAVE CLR U =

in1 in2

// Paramtres de la reprsentation // Paramtres de la reprsentation // Addition effective

out OV

// Paramtres de la reprsentation // Dtection d'erreur // Enregistrer l'erreur dans le RB // Premire interrogation

RB A

// Dcaler le RB dans le RLG 4.0

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

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

C-5

Pour travailler en LOG

C.1.4

Addition sans combinaison EN et sans combinaison ENO


Si l'addition ne comporte ni combianison EN, ni combinaison ENO, les instructions LIST suivantes sont inities :

1 2 3 4 5

L L +I T NOP 0

in1 in2

// Paramtres de la reprsentation // Paramtres de la reprsentation // Addition effective

out

// Paramtres de la reprsentation

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

C-6

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Pour travailler en LOG

C.2

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

Nota Si des mmentos, entres, sorties, priphries d'entre ou de sortie sont utiliss en tant qu'oprandes effectifs dans une fonction, ils sont traits de manire diffrente que les autres oprandes. Leur actualisation n'est effectue au moyen de la pile L, mais de manire directe. Exception : Si le paramtre formel correspondant est un paramtre d'entre de type de donnes BOOL, l'actualisation des paramtres effectifs est effectue via la pile L.

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

Si possible, initialisez tous les paramtres OUTPUT. Evitez l'utilisation d'instructions de mise 1 et de remise 0, car elles dpendent du RLG. Lorsque le RLG prend la valeur 0, c'est la valeur alatoire qui est conserve ! Lorsque vous effectuez un saut au sein du bloc, faites attention de ne pas sauter une ligne dans laquelle sont dcrits des paramtres OUTPUT. Tenez galement compte de BEB et de l'effet des instructions MCR.

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

C-7

Pour travailler en LOG

C-8

Langage LOG pour SIMATIC S7-300/400 A5E00706956-01

Index
#
# .......................................................... 1-10 Appeler FB ............................................ 10-4 Appeler FC............................................ 10-6 Appeler FC/SFC sans paramtre ......... 10-2 Appeler multi-instances ...................... 10-12 Appeler SFB.......................................... 10-8 Appeler SFC ....................................... 10-10 Appeler un bloc dans une bibliothque .............................. 10-12 Applications pratiques............ B-1, B-2, B-5, ......................................... B-9, B-12, B-13 Arrondir entier de 32 bits ................... 3-13 ASIN...................................................... 8-12 ATAN .................................................... 8-12

&
& ............................................................ 1-3

<
<=0........................................................ 12-8 <>0........................................................ 12-8 <0.......................................................... 12-8

=
= ............................................................ 1-9 ==0........................................................ 12-8

B
Bascule mise 0 - mise 1.................. 1-14 Bascule mise 1 - mise 0.................. 1-15 BCD_DI................................................... 3-4 BCD_I ..................................................... 3-2 BIE ........................................................ 12-7 Bit d'anomalie "Dbordement mmoris" ......................................... 12-4 Bit d'anomalie "Dbordement" .............. 12-2 Bit d'anomalie "Opration illicite" .......... 12-6 Bit d'anomalie "Registre RB" ................ 12-7 Bits de rsultat ...................................... 12-8 BR ......................................................... 12-7

>
>=0........................................................ 12-8 >=1.......................................................... 1-2 >0.......................................................... 12-8

A
Abrviations allemandes (SIMATIC) ...... A-1 Abrviations anglaises (internationales). A-5 ABS......................................................... 8-7 ACOS.................................................... 8-12 Activer/dsactiver relais de masquage .................................. 10-18 ADD_DI................................................... 7-7 ADD_I ..................................................... 7-3 ADD_R :.................................................. 8-3 Addition avec combinaison EN et avec combinaison ENO ...............................C-3 Addition avec combinaison EN et sans combinaison ENO ...............................C-4 Addition sans combinaison EN et avec combinaison ENO ...............................C-5 Addition sans combinaison EN et sans combinaison ENO ...............................C-6 Additionner entiers de 16 bits ................. 7-3 Additionner entiers de 32 bits ................. 7-7 Additionner nombres rels...................... 8-3 Adresse d'une temporisation en mmoire et composants d'une temporisation .................................... 13-2 Affectation............................................... 1-9 Affecter valeur ........................................ 9-1
Langage LOG pour SIMATIC S7-300/400 A5E00706056-01

C
CALL ..................................................... 10-3 CALL_FB .............................................. 10-4 CALL_FC .............................................. 10-6 CALL_SFB ............................................ 10-8 CALL_SFC.......................................... 10-10 Carr d'un nombre rel ........................... 8-8 CD ......................................................... 4-11 CEIL : .................................................... 3-15 CMP<=D ................................................. 2-3 CMP<=I................................................... 2-2 CMP<=R ................................................. 2-4 CMP<>D ................................................. 2-3 CMP<>I................................................... 2-2 CMP<>R ................................................. 2-4 CMP<D ................................................... 2-3 CMP<I ..................................................... 2-2 CMP<R ................................................... 2-4 CMP==D ................................................. 2-3 CMP==I................................................... 2-2 CMP==R ................................................. 2-4 CMP>=D ................................................. 2-3

Index-1

Index

CMP>=I................................................... 2-2 CMP>=R ................................................. 2-4 CMP>D ................................................... 2-3 CMP>I..................................................... 2-2 CMP>R ................................................... 2-4 Combinaison OU exclusif ....................... 1-6 Combinaisons ET avant OU et OU avant ET ................................... 1-4 Comparer entiers de 16 bits ................... 2-2 Comparer entiers de 32 bits ................... 2-3 Comparer nombres rels........................ 2-4 Complment 1 d'entier de 16 bits........ 3-8 Complment 1 d'entier de 32 bits........ 3-9 Complment 2 d'entier de 16 bits...... 3-10 Complment 2 d'entier de 32 bits...... 3-11 Connecteur ........................................... 1-10 Convertir entier de 16 bits en entier de 32 bits ............................................ 3-5 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 nombre rel.................................... 3-7 Convertir nombre DCB en entier de 16 bits ............................................ 3-2 Convertir nombre DCB en entier de 32 bits ............................................ 3-4 Convertir nombre rel en entier infrieur le plus proche ........... 3-16 Convertir nombre rel en entier suprieur le plus proche ......... 3-15 COS ...................................................... 8-12 CU......................................................... 4-10

Diviser nombres rels ............................. 8-6

E
ET double mot....................................... 14-5 ET mot .................................................. 14-2 Evaluation des bits du mot d'tat pour les oprations sur nombres entiers ..... 7-2 Evaluation des bits du mot d'tat pour les oprations sur nombres rels ........ 8-2 Exemple Oprations arithmtiques sur nombres entiers.......................B-12 Oprations combinatoires sur bits.......B-2 Oprations combinatoires sur mots ..B-13 Oprations de comptage et de comparaison ...........................B-9 Exemples de programmation..................B-1 EXP : ..................................................... 8-10

F
FLOOR :................................................ 3-16 Fonctions du relais de masquage....... 10-13 Fonctions trigonomtriques d'angles sous forme de nombres rels............ 8-12

I
--I ............................................................. 1-7 I_BCD ..................................................... 3-3 I_DI ......................................................... 3-5 Incrmenter........................................... 4-10 Initialiser compteur.................................. 4-9 Insrer entre binaire.............................. 1-7 INV_DI .................................................... 3-9 INV_I ....................................................... 3-8 Inverser le signe d'un nombre rel ....... 3-12 Inverser l'entre binaire .......................... 1-8

D
Dcalage vers la droite d'un double mot................................. 11-9 Dcalage vers la droite d'un entier de 16 bits .......................................... 11-2 Dcalage vers la droite d'un entier de 32 bits .......................................... 11-4 Dcalage vers la droite d'un mot .......... 11-7 Dcalage vers la gauche d'un double mot................................. 11-8 Dcalage vers la gauche d'un mot ....... 11-5 Dcrmenter ......................................... 4-11 Dtecter front descendant .................... 1-16 Dtecter front descendant de signal..... 1-19 Dtecter front montant.......................... 1-17 Dtecter front montant de signal .......... 1-20 DI_BCD................................................... 3-6 DI_R........................................................ 3-7 DIV_DI .................................................. 7-10 DIV_I....................................................... 7-6 DIV_R ..................................................... 8-6 Diviser entiers de 16 bits ........................ 7-6 Diviser entiers de 32 bits ...................... 7-10

J
JMP..................................................6-2, 6-3 JMPN ...................................................... 6-4

L
LABEL..................................................... 6-5 LN.......................................................... 8-11 Logarithme naturel d'un nombre rel.... 8-11

M
MCR< / MCR> .................................... 10-15 MCRA / MCRD.................................... 10-18 Mcanisme EN/ENO.......................C-1, C-2 Mettre 0.............................................. 1-12 Mettre 1.............................................. 1-13 MOD_DI : .............................................. 7-11 MOVE ..................................................... 9-1

Index-2

Langage LOG pour SIMATIC S7-300/400 A5E00706056-01

Index

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 nombres rels ......................... 8-5

Paramtrer et dmarrer une temporisation sous forme d'impulsion prolonge .......................................... 13-8 Porte ET.................................................. 1-3 Porte OU ................................................. 1-2 POS ...................................................... 1-20

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

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

O
-oI............................................................ 1-8 Opration de conversion ........................ 3-1 Oprations arithmtiques sur nombres flottantes.............................................. 8-1 Oprations combinatoires sur bits.......... 1-1 Oprations de comparaison ................... 2-1 Oprations de comptage ........................ 4-1 Oprations de gestion dexcution de programme................................... 10-1 Oprations de nombre entiers ................ 7-1 Oprations de temporisation ................ 13-1 Oprations LOG classes d'aprs les abrviations allemandes................ A-1 Oprations LOG classes d'aprs les abrviations anglaises................... A-5 OPN ........................................................ 5-1 OS......................................................... 12-4 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

S
S ........................................................... 1-13 S_AVERZ............................................ 13-14 S_CD ...................................................... 4-7 S_CU ...................................................... 4-5 S_CUD.................................................... 4-3 S_EVERZ............................................ 13-10 S_IMPULS ............................................ 13-6 S_ODT ................................................ 13-10 S_ODTS.............................................. 13-12 S_OFFDT............................................ 13-14 S_PEXT ................................................ 13-8 S_PULSE.............................................. 13-6 S_SEVERZ ......................................... 13-12 S_VIMP................................................. 13-8 SA ....................................................... 13-24 Saut inconditionnel.................................. 6-2 Saut si 0 (conditionnel) ........................... 6-4 Saut si 1 (conditionnel) ........................... 6-3 Sauvegarder RLG dans RB .................. 1-18 SAVE .................................................... 1-18 SC ........................................................... 4-9 SD ....................................................... 13-20 SE ............................................13-18, 13-20 SF........................................................ 13-24 SHL_DW ............................................... 11-8 SHL_W.................................................. 11-5 SHR_DI................................................. 11-4

P
P .......................................................... 1-17 Paramtrage et compteur dcrmental.. 4-7 Paramtrage et compteur incrmental ... 4-5 Paramtrage et compteur incrmental/dcrmental..................... 4-3 Paramtrer et dmarrer une temporisation sous forme de retard la monte ..................................... 13-10 Paramtrer et dmarrer une temporisation sous forme de retard la monte mmoris .................... 13-12 Paramtrer et dmarrer une temporisation sous forme de retard la retombe .................................. 13-14 Paramtrer et dmarrer une temporisation sous forme d'impulsion ........................................ 13-6
Langage LOG pour SIMATIC S7-300/400 A5E00706056-01

Index-3

Index

SHR_DW .............................................. 11-9 SHR_I ................................................... 11-2 SHR_W................................................. 11-7 SI ............................................. 13-16, 13-17 SIN........................................................ 8-12 Soustraire entiers de 16 bits................... 7-4 Soustraire entiers de 32 bits................... 7-8 Soustraire nombres rels ....................... 8-4 SP ....................................................... 13-16 SQR ........................................................ 8-8 SQRT...................................................... 8-9 SR......................................................... 1-15 SS : ..................................................... 13-22 SUB_DI................................................... 7-8 SUB_I ..................................................... 7-4 SUB_R.................................................... 8-4 SV ....................................................... 13-18 SZ ........................................................... 4-9

U
UO......................................................... 12-6

V
Valeur absolue d'un nombre rel............ 8-7 Valeur exponentielle d'un nombre rel . 8-10 Vue d'ensemble ........ 1-1, 2-1, 3-1, 4-1, 7-1, ...................................8-1, 10-1, 13-1, B-1 Vue d'ensemble des oprations combinatoires sur mots ..................... 14-1 Vue d'ensemble des oprations de dcalage....................................... 11-1 Vue d'ensemble des oprations de rotation ....................................... 11-11 Vue d'ensemble des oprations de saut................................................. 6-1

T
TAN....................................................... 8-12 Temporisation sous forme de retard la monte ..................................... 13-20 Temporisation sous forme de retard la monte mmoris .................... 13-22 Temporisation sous forme de retard la retombe .................................. 13-24 Temporisation sous forme d'impulsion ...................................... 13-16 Temporisation sous forme d'impulsion prolonge ..................... 13-18 Transmission de paramtres ..................C-7 Tronquer la partie entire (32 bits) .... 3-14 TRUNC ................................................. 3-14

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

X
XOR ........................................................ 1-6

Z
Z_RUECK ............................................... 4-7 Z_VORW................................................. 4-5 ZAEHLER ............................................... 4-3 ZR ......................................................... 4-11 ZV.......................................................... 4-10

Index-4

Langage LOG pour SIMATIC S7-300/400 A5E00706056-01