Vous êtes sur la page 1sur 230

Oprations combinatoires sur bits Oprations de comparaison Oprations de conversion Oprations de comptage

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

SIMATIC Langage CONT pour SIMATIC S7-300/400


Manuel de rfrence

Oprations sur blocs de donnes Oprations de saut Fonctions sur nombres entiers Fonctions sur nombres virgule flottante Oprations de transfert Oprations de gestion d'excution de programme Oprations de dcalage et de rotation Oprations sur bits d'tat Oprations de temporisation Oprations combinatoires sur mots Prsentation de toutes les oprations CONT Exemples de programmation Pour travailler en CONT

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

05/2010

A5E02790081-01

Mentions lgales Signaltique d'avertissement


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 accompagn d un triangle de danger, signifie que la non-application des mesures de scurit appropries peut entraner des blessures lgres. PRUDENCE non accompagn d un triangle de danger, 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.

Personnes qualifies
L appareil/le systme dcrit dans cette documentation ne doit tre manipul que par du personnel qualifi pour chaque tche spcifique. La documentation relative cette tche doit tre observe, en particulier les consignes de scurit et avertissements. Les personnes qualifies sont, en raison de leur formation et de leur exprience, en mesure de reconnatre les risques lis au maniement de ce produit / systme et de les viter.

Utilisation des produits Siemens conforme leur destination


Tenez compte des points suivants: ATTENTION Les produits Siemens ne doivent tre utiliss que pour les cas d'application prvus dans le catalogue et dans la documentation technique correspondante. S'ils sont utiliss en liaison avec des produits et composants d'autres marques, ceux-ci doivent tre recommands ou agrs par Siemens. Le fonctionnement correct et sr des produits suppose un transport, un entreposage, une mise en place, un montage, une mise en service, une utilisation et une maintenance dans les rgles de l'art. Il faut respecter les conditions d'environnement admissibles ainsi que les indications dans les documentations affrentes.

Marques 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 Industry Sector Postfach 48 48 90026 NRNBERG ALLEMAGNE

A5E02790081-01 02/2010

Copyright Siemens AG 2010. Sous rserve de modifications techniques

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

Connaissances fondamentales requises


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

Domaine de validit du manuel


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

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Avant-propos

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

STEP 7 Manuels de rfrence sur les

Aides en ligne Aide de STEP 7

Objet

Numro de rfrence

Connaissances fondamentales pour Fait partie du logiciel la programmation ainsi que pour la STEP 7 configuration du matriel avec STEP 7, sous forme daide en ligne. Aides en ligne contextuelles 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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Avant-propos

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

Assistance supplmentaire
Si des questions sont restes sans rponse dans ce manuel, veuillez vous adresser votre interlocuteur Siemens dans la filiale ou l'agence de votre rgion. Vous trouvez votre interloculeur sous : http://www.siemens.com/automation/partner 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 90026 Nuremberg. http://www.sitrain.com Internet:

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Avant-propos

Technical Support
Vous pouvez joindre le support technique pour tous les produits dIndustry Automation. Via le formulaire Web de demande dassistance (Support Request) http://www.siemens.com/automation/support-request

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 Support produit, le forum o utilisateurs et spcialistes peuvent changer des informations, votre interlocuteur Industry Automation sur site, des informations sur les rparations, pices de rechange et la consultation.

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Sommaire
1 Oprations combinatoires sur bits 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 2 2.1 2.2 2.3 2.4 3 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 11 Vue d'ensemble des oprations combinatoires sur bits ..............................................................11 ---| |--- Contact fermeture ......................................................................................................12 ---| / |--- Contact ouverture ......................................................................................................13 XOR Combinaison OU exclusif..................................................................................................14 ---|NOT|--- Inverser RLG ............................................................................................................15 ---( ) Bobine de sortie ...............................................................................................................16 ---( # )--- Connecteur..................................................................................................................18 ---( R ) Mettre 0 .......................................................................................................................20 ---( S ) Mettre 1 .......................................................................................................................22 RS Bascule mise 0, mise 1 ...............................................................................................24 SR Bascule mise 1, mise 0 ...............................................................................................26 ---( N )--- Dtecter front descendant ..........................................................................................28 ---( P )--- Dtecter front montant ................................................................................................29 ---(SAVE) Sauvegarder RLG dans RB ......................................................................................30 NEG Dtecter front descendant de signal .................................................................................31 POS Dtecter front montant de signal .......................................................................................32 Lecture directe en priphrie .......................................................................................................33 Ecriture directe en priphrie.......................................................................................................34 37 Vue d'ensemble des oprations de comparaison........................................................................37 CMP ? I Comparer entiers de 16 bits .....................................................................................38 CMP ? D Comparer entiers de 32 bits......................................................................................40 CMP ? R Comparer rels.........................................................................................................42 45 Vue d'ensemble des oprations de conversion ...........................................................................45 BCD_I Convertir nombre DCB en entier de 16 bits ..................................................................46 I_BCD Convertir entier de 16 bits en nombre DCB ..................................................................47 I_DI Convertir entier de 16 bits en entier de 32 bits .................................................................48 BCD_DI Convertir nombre DCB en entier de 32 bits................................................................49 DI_BCD Convertir entier de 32 bits en nombre DCB................................................................50 DI_R Convertir entier de 32 bits en rel ...................................................................................51 INV_I Complment 1 d'entier de 16 bits ................................................................................52 INV_DI Complment 1 dentier de 32 bits .............................................................................53 NEG_I Complment 2 dentier de 16 bits ..............................................................................54 NEG_DI Complment 2 dentier de 32 bits............................................................................55 NEG_R Inverser le signe d'un nombre rel ..............................................................................56 ROUND Arrondir .......................................................................................................................57 TRUNC Tronquer la partie entire.........................................................................................58 CEIL Convertir rel en entier suprieur le plus proche.............................................................59 FLOOR Convertir rel en entier infrieur le plus proche ..........................................................60

Oprations de comparaison

Oprations de conversion

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Sommaire

Oprations de comptage 4.1 4.2 4.3 4.4 4.5 4.6 4.7

61

Vue d'ensemble des oprations de comptage.............................................................................61 ZAEHLER Paramtrage et compteur d'incrmentation/dcrmentation ................................63 Z_VORW Paramtrage et compteur d'incrmentation .........................................................65 Z_RUECK Paramtrage et compteur de dcrmentation ...................................................67 ---( SZ ) Initialiser compteur .........................................................................................................69 ---( ZV ) Incrmenter ................................................................................................................70 ---( ZR ) Dcrmenter...................................................................................................................72 75 77 ---(OPN) Ouvrir bloc de donnes ..............................................................................................75

5 6

Oprations sur blocs de donnes 5.1 6.1 6.2 6.3 6.4 6.5 Oprations de saut

Vue d'ensemble des oprations de saut......................................................................................77 ---(JMP)--- Saut inconditionnel..................................................................................................78 ---(JMP)--- Saut l'intrieur d'un bloc si 1 (conditionnel)..........................................................79 ---( JMPN ) Saut l'intrieur d'un bloc si 0 (conditionnel).........................................................80 LABEL Repre de saut .............................................................................................................81 83 Vue d'ensemble des oprations arithmtiques sur nombre entiers.............................................83 Evaluation des bits du mot d'tat dans les oprations sur nombres entiers................................84 ADD_I Additionner entiers de 16 bits........................................................................................85 SUB_I Soustraire entiers de 16 bits.......................................................................................86 MUL_I Multiplier entiers de 16 bits........................................................................................87 DIV_I Diviser entiers de 16 bits............................................................................................88 ADD_DI Additionner entiers de 32 bits ....................................................................................89 SUB_DI Soustraire entiers de 32 bits ......................................................................................90 MUL_DI Multiplier entiers de 32 bits .......................................................................................91 DIV_DI Diviser entiers de 32 bits ...........................................................................................92 MOD_DI Reste de division (32 bits).........................................................................................93 95 Vue d'ensemble des oprations arithmtiques sur nombres virgule flottante ..........................95 Evaluation des bits du mot d'tat dans les oprations sur nombres virgule flottante ...............96 Oprations de base......................................................................................................................97 ADD_R Additionner rels ..........................................................................................................97 SUB_R Soustraire rels ............................................................................................................99 MUL_R Multiplier rels............................................................................................................100 DIV_R Diviser rels.................................................................................................................101 ABS Valeur absolue d'un nombre rel ....................................................................................102 Oprations tendues..................................................................................................................103 SQR Carr ..............................................................................................................................103 SQRT Racine carre...............................................................................................................104 EXP Valeur exponentielle .......................................................................................................105 LN Logarithme naturel.............................................................................................................106 SIN Sinus ................................................................................................................................107 COS Cosinus ..........................................................................................................................108 TAN Tangente.........................................................................................................................109 ASIN Arc sinus ........................................................................................................................110 ACOS Arc cosinus ..................................................................................................................111 ATAN Arc tangente .................................................................................................................112

Fonctions sur nombres entiers 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 7.11

Fonctions sur nombres virgule flottante 8.1 8.2 8.3 8.3.1 8.3.2 8.3.3 8.3.4 8.3.5 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.4.6 8.4.7 8.4.8 8.4.9 8.4.10

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Sommaire

9 10

Oprations de transfert 9.1 10.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 10.10 10.11 10.12 10.13 10.14 MOVE Oprations de gestion d'excution de programme

113 115

Affecter valeur ...........................................................................................................113

Vue d'ensemble des oprations de gestion dexcution de programme...................................115 ---(Call) Appeler FC/SFC sans paramtre ..............................................................................116 CALL_FB Appeler FB (bote) ...............................................................................................118 CALL_FC Appeler FC (bote)..................................................................................................120 CALL_SFB Appeler SFB (bote) .............................................................................................122 CALL_SFC Appeler SFC (bote).............................................................................................124 Appeler multi-instance ...............................................................................................................126 Appeler un bloc dans une bibliothque......................................................................................126 Remarques importantes sur l'utilisation de la fonctionnalit MCR.............................................127 ---(MCR<) Relais de masquage en fonction ...........................................................................128 ---(MCR>) Relais de masquage hors fonction ........................................................................130 ---(MCRA) Activer relais de masquage...................................................................................132 ---(MCRD) Dsactiver relais de masquage.............................................................................133 ---(RET) Retour ..................................................................................................................134 135 Oprations de dcalage.............................................................................................................135 Vue d'ensemble des oprations de dcalage ............................................................................135 SHR_I Dcalage vers la droite d'un entier de 16 bits ..........................................................136 SHR_DI Dcalage vers la droite d'un entier de 32 bits .........................................................138 SHL_W Dcalage vers la gauche d'un mot ..........................................................................140 SHR_W Dcalage vers la droite d'un mot .............................................................................142 SHL_DW Dcalage vers la gauche d'un double mot............................................................144 SHR_DW Dcalage vers la droite d'un double mot.................................................................145 Oprations de rotation ...............................................................................................................147 Vue d'ensemble des oprations de rotation...............................................................................147 ROL_DW Rotation vers la gauche d'un double mot ................................................................147 ROR_DW Rotation vers la droite d'un double mot ...............................................................149 151 Vue d'ensemble des oprations sur bits dtat..........................................................................151 OV ---| |--- Bit d'anomalie "dbordement" ..............................................................................152 OS ---| |--- Bit d'anomalie "dbordement mmoris" .............................................................153 UO ---| |--- Bit d'anomalie "illicite"...........................................................................................155 BIE ---| |--- Bit d'anomalie "registre RB" .................................................................................156 ==0 ---| |--- Bit de rsultat pour gal 0.................................................................................157 <>0 ---| |--- Bit de rsultat pour diffrent de 0 ........................................................................158 >=0 ---| |--- Bit de rsultat pour suprieur ou gal 0 ...........................................................159 <=0 ---| |--- Bit de rsultat pour infrieur ou gal 0 .............................................................160 >0 ---| |--- Bit de rsultat pour suprieur 0 ..........................................................................161 <0 ---| |--- Bit de rsultat pour infrieur 0 ............................................................................162

11

Oprations de dcalage et de rotation 11.1 11.1.1 11.1.2 11.1.3 11.1.4 11.1.5 11.1.6 11.1.7 11.2 11.2.1 11.2.2 11.2.3

12

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Sommaire

13

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

163

Vue d'ensemble des oprations de temporisation .....................................................................163 Adresse dune temporisation en mmoire et composants dune temporisation .......................164 S_IMPULS Paramtrer et dmarrer temporisation sous forme d'impulsion..........................168 S_VIMP Paramtrer et dmarrer temporisation sous forme d'impulsion prolonge ..............170 S_EVERZ Paramtrer et dmarrer temporisation sous forme de retard la monte...........172 S_SEVERZ Paramtrer et dmarrer temporisation sous forme de retard la monte mmoris................................................................................................................174 S_AVERZ Paramtrer et dmarrer temporisation sous forme de retard la retombe.......176 ---( SI ) Dmarrer temporisation sous forme d'impulsion ...........................................................178 ---( SV ) Dmarrer temporisation sous forme d'impulsion prolonge ........................................180 ---( SE ) Dmarrer temporisation sous forme de retard la monte .........................................182 ---( SS ) Dmarrer temporisation sous forme de retard la monte mmoris ........................184 ---( SA ) Dmarrer temporisation sous forme de retard la retombe......................................186 189 Vue d'ensemble des oprations combinatoire sur mots ............................................................189 WAND_W ET mot ..................................................................................................................190 WOR_W OU mot..................................................................................................................191 WXOR_W OU exclusif mot ...................................................................................................192 WAND_DW ET double mot.....................................................................................................193 WOR_DW OU double mot .....................................................................................................194 WXOR_DW OU exclusif double mot......................................................................................195 197 Oprations CONT classes daprs les abrviations allemandes (SIMATIC)...........................197 Oprations CONT classes daprs les abrviations anglaises (International).........................201 205 Vue d'ensemble des exemples de programmation....................................................................205 Exemples : Oprations combinatoires sur bits...........................................................................206 Exemple : Oprations de temporisation.....................................................................................210 Exemple : Oprations de comptage et de comparaison............................................................214 Exemple : Oprations arithmtiques sur nombres entiers.........................................................217 Exemple : Oprations combinatoires sur mots ..........................................................................218 221 Mcanisme EN/ENO ..................................................................................................................221 Addition avec combinaison EN et avec combinaison ENO .......................................................222 Addition avec combinaison EN et sans combinaison ENO .......................................................223 Addition sans combinaison EN et avec combinaison ENO .......................................................223 Addition sans combinaison EN et sans combinaison ENO .......................................................224 Transmission de paramtres .....................................................................................................225 227

14

Oprations combinatoires sur mots 14.1 14.2 14.3 14.4 14.5 14.6 14.7

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

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

Pour travailler en CONT C.1 C.1.1 C.1.2 C.1.3 C.1.4 C.2

Index

10

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

1
1.1

Oprations combinatoires sur bits


Vue d'ensemble des oprations combinatoires sur bits

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

---(SAVE) Sauvegarder RLG dans RB XOR ---( ) ---( # )--Combinaison OU exclusif Bobine de sortie Connecteur

---|NOT|--- Inverser RLG

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

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

Lecture directe en priphrie Ecriture directe en priphrie

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

11

Oprations combinatoires sur bits 1.2 ---| |--- Contact fermeture

1.2

---| |--- Contact fermeture

Reprsentation
<oprande> ---| |--Paramtre <oprande> Type de donnes BOOL Zone de mmoire E, A, M, L, D, T, Z Description Bit interrog

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

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

Exemple
E 0.0 E 0.2 E 0.1

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

12

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations combinatoires sur bits 1.3 ---| / |--- Contact ouverture

1.3

---| / |--- Contact ouverture

Reprsentation
<oprande> ---| / |--Paramtre <oprande> Type de donnes BOOL Zone de mmoire E, A, M, L, D, T, Z Description Bit interrog

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

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

Exemple
E 0.0 E 0.2 E 0.1

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

13

Oprations combinatoires sur bits 1.4 XOR Combinaison OU exclusif

1.4

XOR Combinaison OU exclusif

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

<oprande1> <oprande12> <oprande11> <oprande12>

Paramtre <oprande1> <oprande2

Type de donnes BOOL BOOL

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

Description Bit interrog Bit interrog

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

Exemple
E 0.0 E 0.0 E 0.1 E 0.1 A 4.0

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

14

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations combinatoires sur bits 1.5 ---|NOT|--- Inverser RLG

1.5

---|NOT|--- Inverser RLG

Reprsentation
---|NOT|---

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

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

Exemple
E 0.0
NOT

A 4.0

E 0.1

E 0.2

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

15

Oprations combinatoires sur bits 1.6 ---( ) Bobine de sortie

1.6

---( ) Bobine de sortie

Reprsentation
<oprande> ---( )
Type de donnes BOOL Zone de mmoire Description E, A, M, L, D Bit affect

Paramtre <oprande>

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

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


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

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

16

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations combinatoires sur bits 1.6 ---( ) Bobine de sortie

Exemple
E 0.0 E 0.2 E 0.1 A 4.0 E 0.3 A 4.1

La sortie A 4.0 est 1 si : (l'tat de signal est 1 aux entres E 0.0 ET E 0.1) OU l'tat de signal est 0 l'entre E 0.2. La sortie A 4.1 est 1 si : (l'tat de signal est 1 aux entres E 0.0 ET E 0.1 OU l'tat de signal est 0 l'entre E 0.2) ET l'tat de signal est 1 l'entre E 0.3. Si le trajet de courant de l'exemple est dans une zone MCR active : Si le relais MCR est en fonction, l'tat de signal des sorties A 4.0 et A 4.1 est fonction de l'tat de signal du flux d'nergie comme dcrit ci-dessus. Si le relais MCR est hors fonction, les sorties A 4.0 et A 4.1 sont mises 0, quel que soit l'tat de signal du flux d'nergie.

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

17

Oprations combinatoires sur bits 1.7 ---( # )--- Connecteur

1.7

---( # )--- Connecteur

Reprsentation
<oprande> ---( # )--Paramtre <oprande> Type de donnes BOOL Zone de mmoire Description E, A, M, *L, D Bit affect

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

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

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


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

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

18

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations combinatoires sur bits 1.7 ---( # )--- Connecteur

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

(#)

(#)

(#)

( )

E 1.0 E 1.1

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

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

19

Oprations combinatoires sur bits 1.8 ---( R ) Mettre 0

1.8

---( R ) Mettre 0

Reprsentation
<oprande> ---( R )
Paramtre <oprande> Type de donnes BOOL Zone de mmoire E, A, M, L, D, T, Z Description Bit mis 0

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

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


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

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

20

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations combinatoires sur bits 1.8 ---( R ) Mettre 0

Exemple
Rseau 1 E 0.0 E 0.2 E 0.1 A 4.0 R

Rseau 2 E 0.3 T1 R

Rseau 3 E 0.4 Z1 R

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

21

Oprations combinatoires sur bits 1.9 ---( S ) Mettre 1

1.9

---( S ) Mettre 1

Reprsentation
<oprande> ---( S )
Paramtre <oprande> Type de donnes BOOL Zone de mmoire Description E, A, M, L, D Bit mis 1

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

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


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

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

22

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations combinatoires sur bits 1.9 ---( S ) Mettre 1

Exemple
E 0.0 E 0.1 A 4.0 S E 0.2

La sortie A 4.0 est mise 1 si : (l'tat de signal est 1 aux entres E 0.0 ET E 0.1) OU l'tat de signal est 0 l'entre E 0.2. Si le RLG est 0, l'tat de signal de la sortie A 4.0 reste inchang. Si le trajet de courant de l'exemple est dans une zone MCR : Si le relais MCR est en fonction, la sortie A 4.0 est mise 1 comme dcrit ci-dessus. Si le relais MCR est hors fonction, l'tat de signal de la sortie A 4.0 reste inchang, quel que soit l'tat de signal du RLG (du flux d'nergie).

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

23

Oprations combinatoires sur bits 1.10 RS Bascule mise 0, mise 1

1.10

RS

Bascule mise 0, mise 1

Reprsentation
<oprande>
RS S R Q

Paramtre <oprande> S R Q

Type de donnes BOOL BOOL BOOL BOOL

Zone de mmoire Description E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Bit mis 1 ou 0 Valider mise 1 Valider mise 0 Etat de signal de <oprande>

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

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


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

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

24

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations combinatoires sur bits 1.10 RS Bascule mise 0, mise 1

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

Si l'tat de signal est 1 l'entre E 0.0 et 0 l'entre E 0.1, le bit de mmento M 0.0 est mis 0 et la sortie A 4.0 est 0. Si l'tat de signal est 0 l'entre E 0.0 et 1 l'entre E 0.1, le bit de mmento M 0.0 est mis 1 et la sortie A 4.0 est 1. Si les deux tats de signal ont la valeur 0, rien ne se passe. En revanche, s'ils ont tous les deux la valeur 1, la mise 1, excute en dernier, l'emporte : M 0.0 est mis 1 et la sortie A 4.0 est 1. Si l'exemple ci-dessus est dans une zone MCR active : Si le relais MCR est en fonction, la sortie A 4.0 est mise 1 ou 0 comme dcrit ci-dessus. Si le relais MCR est hors fonction, la sortie A 4.0 reste inchange, quel que soit l'tat de signal des entres.

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

25

Oprations combinatoires sur bits 1.11 SR Bascule mise 1, mise 0

1.11

SR

Bascule mise 1, mise 0

Reprsentation
<oprande>
SR S R Q

Paramtre <oprande> S R Q

Type de donnes BOOL BOOL BOOL BOOL

Zone de mmoire Description E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Bit mis 1 ou 0 Valider mise 1 Valider mise 0 Etat de signal de <oprande>

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

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


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

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

26

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations combinatoires sur bits 1.11 SR Bascule mise 1, mise 0

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

Si l'tat de signal est 1 l'entre E 0.0 et 0 l'entre E 0.1, le bit de mmento M 0.0 est mis 1 et la sortie A 4.0 est 1. Si l'tat de signal est 0 l'entre E 0.0 et 1 l'entre E 0.1, le bit de mmento M 0.0 est mis 0 et la sortie A 4.0 est 0. Si les deux tats de signal ont la valeur 0, rien ne se passe. En revanche, s'ils ont tous les deux la valeur 1, la mise zro, excute en dernier, l'emporte : M 0.0 est mis 0 et la sortie A 4.0 est 0. Si l'exemple ci-dessus est dans une zone MCR active : Si le relais MCR est en fonction, la sortie A 4.0 est mise 1 ou 0 comme dcrit ci-dessus. Si le relais MCR est hors fonction, la sortie A 4.0 reste inchange, quel que soit l'tat de signal des entres.

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

27

Oprations combinatoires sur bits 1.12 ---( N )--- Dtecter front descendant

1.12

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

Reprsentation
<oprande> ---( N )--Paramtre <oprande> Type de donnes BOOL Zone de mmoire Description E, A, M, L, D Le mmento de front mmorise l'ancien tat de signal du RLG.

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

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

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

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

28

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations combinatoires sur bits 1.13 ---( P )--- Dtecter front montant

1.13

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

Reprsentation
<oprande> ---( P )--Paramtre <oprande> Type de donnes BOOL Zone de mmoire Description E, A, M, L, D Le mmento de front mmorise l'ancien tat de signal du RLG.

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

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

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

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

29

Oprations combinatoires sur bits 1.14 ---(SAVE) Sauvegarder RLG dans RB

1.14

---(SAVE) Sauvegarder RLG dans RB

Reprsentation
---( SAVE )

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

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

Exemple
E 0.0 E 0.2 E 0.1 SAVE

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

30

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations combinatoires sur bits 1.15 NEG Dtecter front descendant de signal

1.15

NEG Dtecter front descendant de signal

Reprsentation
<oprande1> NEG <oprande2> M_BIT Q

Paramtre <oprande1> <oprande2> Q

Type de donnes BOOL BOOL BOOL

Zone de mmoire Description E, A, M, L, D E, A, M, L, D E, A, M, L, D Signal interrog Le mmento de front M_BIT mmorise l'tat de signal prcdent de <oprande1>. Dtection de changement d'tat de signal

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

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

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

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

31

Oprations combinatoires sur bits 1.16 POS Dtecter front montant de signal

1.16

POS Dtecter front montant de signal

Reprsentation
<oprande1> POS <oprande2> M_BIT Q

Paramtre <oprande1> <oprande2> Q

Type de donnes BOOL BOOL BOOL

Zone de mmoire Description E, A, M, L, D E, A, M, L, D E, A, M, L, D Signal interrog Le mmento de front M_BIT mmorise l'tat de signal prcdent de <oprande1>. Dtection de changement d'tat de signal

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

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

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

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

32

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations combinatoires sur bits 1.17 Lecture directe en priphrie

1.17

Lecture directe en priphrie

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

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

MWx *

* Il faut indiquer MWx pour pouvoir sauvegarder le rseau. x correspond un numro autoris quelconque. Description de l'opration WAND_W (ET mot) : PEW1 W#16#0002 Rsultat 0000000000101010 0000000000000010 0000000000000010

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

33

Oprations combinatoires sur bits 1.18 Ecriture directe en priphrie

1.18

Ecriture directe en priphrie

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

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

34

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations combinatoires sur bits 1.18 Ecriture directe en priphrie

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

Rseau 2 MOVE ENO EN AB5 IN OUT PAB5

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

35

Oprations combinatoires sur bits 1.18 Ecriture directe en priphrie

36

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

2
2.1

Oprations de comparaison
Vue d'ensemble des oprations de comparaison

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

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

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

37

Oprations de comparaison 2.2 CMP ? I Comparer entiers de 16 bits

2.2

CMP ? I

Comparer entiers de 16 bits

Reprsentation
CMP == I
IN1 IN2

CMP >I
IN1 IN2

CMP >= I
IN1 IN2

CMP <> I
IN1 IN2

CMP <I
IN1 IN2

CMP <= I
IN1 IN2

Paramtre

Type de donnes

Zone de mmoire Description

Entre de la bote Sortie de la bote IN1 IN2

BOOL BOOL INT INT

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

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

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

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

Ecriture

38

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

2.2 CMP ? I

Oprations de comparaison Comparer entiers de 16 bits

Exemple
E 0.0 E 0.1 MW0 MW2 IN1 IN2

CMP >= I

A 4.0

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

39

Oprations de comparaison 2.3 CMP ? D Comparer entiers de 32 bits

2.3

CMP ? D

Comparer entiers de 32 bits

Reprsentation
CMP == D
IN1 IN2

CMP >D
IN1 IN2

CMP >= D
IN1 IN2

CMP <> D
IN1 IN2

CMP <D
IN1 IN2

CMP <= D
IN1 IN2

Paramtre

Type de donnes

Zone de mmoire Description

Entre de la bote Sortie de la bote IN1 IN2

BOOL BOOL DINT DINT

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

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

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

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

Ecriture

40

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

2.3 CMP ? D

Oprations de comparaison Comparer entiers de 32 bits

Exemple
E 0.0 E 0.1 MD0 MD4 IN1 IN2

CMP >= D

E 0.2 A 4.0

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

41

Oprations de comparaison 2.4 CMP ? R Comparer rels

2.4

CMP ? R

Comparer rels

Reprsentation
CMP == R
IN1 IN2

CMP >R
IN1 IN2

CMP >= R
IN1 IN2

CMP <> R
IN1 IN2

CMP <R
IN1 IN2

CMP <= R
IN1 IN2

Paramtre

Type de donnes

Zone de mmoire Description

Entre de la bote Sortie de la bote IN1 IN2

BOOL BOOL REAL REAL

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

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

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

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

Ecriture

42

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations de comparaison 2.4 CMP ? R Comparer rels

Exemple
E 0.0 E 0.1 MD0 MD4 IN1 IN2

CMP >= R

E 0.2 A 4.0

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

43

Oprations de comparaison 2.4 CMP ? R Comparer rels

44

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

3
3.1

Oprations de conversion
Vue d'ensemble des oprations de conversion

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

45

Oprations de conversion 3.2 BCD_I Convertir nombre DCB en entier de 16 bits

3.2

BCD_I

Convertir nombre DCB en entier de 16 bits

Reprsentation
BCD_I EN IN ENO OUT

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN OUT

BOOL BOOL WORD INT

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

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

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

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

Ecriture

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

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

46

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

3.3 I_BCD

Oprations de conversion Convertir entier de 16 bits en nombre DCB

3.3

I_BCD

Convertir entier de 16 bits en nombre DCB

Reprsentation
I_BCD EN IN ENO OUT

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN OUT

BOOL BOOL INT WORD

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

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

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

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

Ecriture

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

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

47

Oprations de conversion 3.4 I_DI Convertir entier de 16 bits en entier de 32 bits

3.4

I_DI

Convertir entier de 16 bits en entier de 32 bits

Reprsentation
I_DI EN IN ENO OUT

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN OUT

BOOL BOOL INT DINT

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

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

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

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

Ecriture

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

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

48

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

3.5 BCD_DI

Oprations de conversion Convertir nombre DCB en entier de 32 bits

3.5

BCD_DI

Convertir nombre DCB en entier de 32 bits

Reprsentation
BCD_DI EN IN ENO OUT

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN OUT

BOOL BOOL DWORD DINT

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

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

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

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

Ecriture

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

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

49

Oprations de conversion 3.6 DI_BCD Convertir entier de 32 bits en nombre DCB

3.6

DI_BCD

Convertir entier de 32 bits en nombre DCB

Reprsentation
DI_BCD EN IN ENO OUT

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN OUT

BOOL BOOL DINT DWORD

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

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

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

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

Ecriture

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

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

50

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

3.7 DI_R

Oprations de conversion Convertir entier de 32 bits en rel

3.7

DI_R

Convertir entier de 32 bits en rel

Reprsentation
DI_R EN IN ENO OUT

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN OUT

BOOL BOOL DINT REAL

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

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

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

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

Ecriture

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

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

51

Oprations de conversion 3.8 INV_I Complment 1 d'entier de 16 bits

3.8

INV_I

Complment 1 d'entier de 16 bits

Reprsentation
INV_I EN IN ENO OUT

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN OUT

BOOL BOOL INT INT

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

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

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

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

Ecriture

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

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

52

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

3.9 INV_DI

Oprations de conversion Complment 1 d entier de 32 bits

3.9

INV_DI

Complment 1 dentier de 32 bits

Reprsentation
INV_DI EN IN ENO OUT

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN OUT

BOOL BOOL DINT DINT

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

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

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

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

Ecriture

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

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

53

Oprations de conversion 3.10 NEG_I Complment 2 d entier de 16 bits

3.10

NEG_I

Complment 2 dentier de 16 bits

Reprsentation
NEG_I EN IN
Paramtre

ENO OUT
Type de donnes Zone de mmoire Description

EN ENO IN OUT

BOOL BOOL INT INT

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

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

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

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

Ecriture

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

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

54

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

3.11 NEG_DI

Oprations de conversion Complment 2 d entier de 32 bits

3.11

NEG_DI

Complment 2 dentier de 32 bits

Reprsentation
NEG_DI EN IN ENO OUT
Type de donnes Zone de mmoire Description

Paramtre

EN ENO IN OUT

BOOL BOOL DINT DINT

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

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

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

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

Ecriture

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

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

55

Oprations de conversion 3.12 NEG_R Inverser le signe d'un nombre rel

3.12

NEG_R

Inverser le signe d'un nombre rel

Reprsentation
NEG_R EN IN ENO OUT

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN OUT

BOOL BOOL REAL REAL

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

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

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

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

Ecriture

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

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

56

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations de conversion 3.13 ROUND Arrondir

3.13

ROUND

Arrondir

Reprsentation
ROUND EN IN ENO OUT

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN OUT

BOOL BOOL REAL DINT

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

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

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

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

Ecriture

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

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

57

Oprations de conversion 3.14 TRUNC Tronquer la partie entire

3.14

TRUNC

Tronquer la partie entire

Reprsentation
TRUNC EN IN ENO OUT

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN OUT

BOOL BOOL REAL DINT

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

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

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

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

Ecriture

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

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

58

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

3.15 CEIL

Oprations de conversion Convertir rel en entier suprieur le plus proche

3.15

CEIL

Convertir rel en entier suprieur le plus proche

Reprsentation
CEIL EN IN ENO OUT

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN OUT

BOOL BOOL REAL DINT

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

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

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

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

Ecriture* Ecriture**

x 0

x -

x -

0 0

x 0

x 0

1 1

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

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

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

59

Oprations de conversion 3.16 FLOOR Convertir rel en entier infrieur le plus proche

3.16

FLOOR

Convertir rel en entier infrieur le plus proche

Reprsentation
FLOOR EN IN ENO OUT

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN OUT

BOOL BOOL REAL DINT

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

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

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

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

Ecriture

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

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

60

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

4
4.1

Oprations de comptage
Vue d'ensemble des oprations de comptage

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

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

61

Oprations de comptage 4.1 Vue d'ensemble des oprations de comptage

Configuration des bits dans le compteur


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

15 14 13 12 11 10 0 non significatifs 0 1

9 0

8 1

7 0

6 0 2

5 1

4 0

3 0

2 1 7

1 1

0 1

Valeur de comptage en format DCB (0 999)

15 14 13 12 11 10

9 0

8 0

7 0

6 1

5 1

4 1

3 1

2 1

1 1

0 1

non significatifs

Valeur de comptage binaire

62

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

4.2 ZAEHLER

Oprations de comptage Paramtrage et compteur d'incrmentation/dcrmentation

4.2

ZAEHLER Paramtrage et compteur d'incrmentation/dcrmentation

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

Allemande
Z n ZAEHLER Q

CD
S PV R

Paramtre Anglaise

Paramtre Allemande

Type de donnes

Zone de mmoire

Description

C n CU CD S PV

Z no ZV ZR S ZW

COUNTER BOOL BOOL BOOL WORD

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

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

PV R CV CV_BCD Q

ZW R DUAL DEZ Q

WORD BOOL WORD WORD BOOL

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

63

Oprations de comptage 4.2 ZAEHLER Paramtrage et compteur d'incrmentation/dcrmentation

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

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

Ecriture

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

Exemple
Z10 ZAEHLER

E 0.0 E 0.1 E 0.2 E 0.3 MW10


ZV ZR S ZW R DUAL DEZ Q

A 4.0

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

64

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

4.3 Z_VORW

Oprations de comptage Paramtrage et compteur d'incrmentation

4.3

Z_VORW

Paramtrage et compteur d'incrmentation

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

Allemande
Z n Z_VORW Q

S
PV

Paramtre Anglaise

Paramtre Allemande

Type de donnes

Zone de mmoire

Description

C n CU S PV

Z no ZV S ZW

COUNTER BOOL BOOL WORD

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

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

PV R CV CV_BCD Q

ZW R DUAL DEZ Q

WORD BOOL WORD WORD BOOL

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

65

Oprations de comptage 4.3 Z_VORW Paramtrage et compteur d'incrmentation

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

Ecriture

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

Exemple
Z10 Z_VORW

E 0.0
ZV Q

A 4.0

E 0.2
S

E 0.3

MW10

ZW R

DUAL DEZ

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

66

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

4.4 Z_RUECK

Oprations de comptage Paramtrage et compteur de dcrmentation

4.4

Z_RUECK

Paramtrage et compteur de dcrmentation

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

Allemande
Z n Z_RUECK Q

S
PV

Paramtre Anglaise

Paramtre Allemande

Type de donnes

Zone de mmoire

Description

C n CD S PV

Z no ZR S ZW

COUNTER BOOL BOOL WORD

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

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

PV R CV CV_BCD Q

ZW R DUAL DEZ Q

WORD BOOL WORD WORD BOOL

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

67

Oprations de comptage 4.4 Z_RUECK Paramtrage et compteur de dcrmentation

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

Ecriture

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

Exemple
Z10 Z_RUECK

E 0.0
ZR Q

A 4.0

E 0.2
S

E 0.3

MW10

ZW R

DUAL DEZ

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

68

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations de comptage 4.5 ---( SZ ) Initialiser compteur

4.5

---( SZ ) Initialiser compteur

Reprsentation
Anglaise Allemande

<C n >
---( SC )

<Z n >
---( SZ )

<valeur initiale>

<valeur initiale>

Paramtre Anglaise

Paramtre Allemande

Type de donnes

Zone de mmoire

Description

<C n > <valeur initiale>

<Z n > <valeur initiale>

COUNTER WORD

Z E, A, M, L, D

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

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

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

Ecriture

Exemple
E 0.0 Z5 SZ C#100

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

69

Oprations de comptage 4.6 ---( ZV ) Incrmenter

4.6

---( ZV )

Incrmenter

Reprsentation
Anglaise Allemande

<C n >
---( CU )

<Z n >
---( ZV )

<valeur initiale>

<valeur initiale>

Paramtre Anglaise

Paramtre Allemande

Type de donnes

Zone de mmoire

Description

<C n >

<Z n >

COUNTER

Numro du compteur. La plage dpend de la CPU.

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

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

Ecriture

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

E 0.2

70

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations de comptage 4.6 ---( ZV ) Incrmenter


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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

71

Oprations de comptage 4.7 ---( ZR ) Dcrmenter

4.7

---( ZR ) Dcrmenter

Reprsentation
Anglaise Allemande

<C n >
---( CD )

<Z n >
---( ZR )

<valeur initiale>

<valeur initiale>

Paramtre Anglaise

Paramtre Allemande

Type de donnes

Zone de mmoire

Description

<C n >

<Z n >

COUNTER

Numro du compteur. La plage dpend de la CPU.

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

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

Ecriture

72

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations de comptage 4.7 ---( ZR ) Dcrmenter

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

Rseau 2

Rseau 3 Z10 A 4.0 Dtection de valeur 0

Rseau 4

E 0.2

Z10 R

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

73

Oprations de comptage 4.7 ---( ZR ) Dcrmenter

74

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

5
5.1

Oprations sur blocs de donnes


---(OPN) Ouvrir bloc de donnes

Reprsentation
<DB n> ou <DI n> ---(OPN)
Paramtre Type de donnes Zone de mmoire Description

<DB n> <DI n>

BLOCK_DB

DB, DI

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

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

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

Ecriture

Exemple
Rseau 1 DB10 OPN DBX0.0 A 4.0

Rseau 2

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

75

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

76

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

6
6.1

Oprations de saut
Vue d'ensemble des oprations de saut

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

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

Repre de saut comme oprande


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

Repre de saut comme destination


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

Rseau 2
A 4.0 E 0.1

. .
Rseau X
SEG3 A 4.1 E 0.4 R

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

77

Oprations de saut 6.2 ---(JMP)--- Saut inconditionnel

6.2

---(JMP)---

Saut inconditionnel

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

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

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

Ecriture

Exemple
Rseau 1 CAS1 JMP

: :
Rseau X CAS1 E 0.4 A 4.1 R

: :

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

78

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

6.3 ---(JMP)---

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

6.3

---(JMP)---

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

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

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

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

Ecriture

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

Rseau 2 Rseau 3 CAS1

E 0.4

A 4.1 R

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

79

Oprations de saut 6.4 ---( JMPN ) Saut l'intrieur d'un bloc si 0 (conditionnel)

6.4

---( JMPN )

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

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

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

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

Ecriture

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

Rseau 2 Rseau 3 CAS1

E 0.4

A 4.1 R

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

80

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations de saut 6.5 LABEL Repre de saut

6.5

LABEL

Repre de saut

Reprsentation
LABEL

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

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

Rseau 2 Rseau 3

CAS1 E 0.4 A 4.1 R

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

81

Oprations de saut 6.5 LABEL Repre de saut

82

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

7
7.1

Fonctions sur nombres entiers


Vue d'ensemble des oprations arithmtiques sur nombre entiers

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

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

83

Fonctions sur nombres entiers 7.2 Evaluation des bits du mot d'tat dans les oprations sur nombres entiers

7.2

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

Description
Les oprations arithmtiques sur nombres entiers affectent les bits suivants du mot d'tat : BI1 et BI0, DEB, DM.

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

0 (zro) 16 bits : 32 768 <= rsultat < 0 (nombre ngatif) 32 bits : 2 147 483 648 <= rsultat < 0 (nombre ngatif) 16 bits : 32 767 > =rsultat > 0 (nombre positif) 32 bits : 2 147 483 647 > = rsultat > 0 (nombre positif)

0 0 1

0 1 0

0 0 0

* * *

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


Plage non autorise BI1 BI0 DEB DM

Dpassement ngatif de la plage pour une addition 16 bits : rsultat = 65536 32 bits : rsultat = 4 294 967 296 Dpassement ngatif de la plage pour une multiplication 16 bits : rsultat < 32 768 (nombre ngatif) 32 bits : rsultat < 2 147 483 648 (nombre ngatif) Dpassement positif de la plage pour addition, soustraction 16 bits : rsultat > 32 767 (nombre positif) 32 bits : rsultat > 2 147 483 647 (nombre positif) Dpassement positif de la plage pour multiplication, division 16 bits : rsultat > 32 767 (nombre positif) 32 bits : rsultat > 2 147 483 647 (nombre positif) Dpassement ngatif de la plage pour addition, soustraction 16 bits : rsultat < 32 768 (nombre ngatif) 32 bits : rsultat < 2 147 483 648 (nombre ngatif) Division par zro

Opration

BI1

BI0

DEB

DM

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

0 1

0 1

1 1

1 1

84

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

7.3 ADD_I

Fonctions sur nombres entiers Additionner entiers de 16 bits

7.3

ADD_I

Additionner entiers de 16 bits

Reprsentation
ADD_I EN ENO IN1 IN2 OUT
Paramtre Type de donnes Zone de mmoire Description

EN ENO IN1 IN2 OUT

BOOL BOOL INT INT INT

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

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

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

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

Ecriture

Exemple
E 0.0 MW0 MW2
ADD_I

EN IN1 IN2

ENO OUT

NOT MW10

A 4.0 S

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

85

Fonctions sur nombres entiers 7.4 SUB_I Soustraire entiers de 16 bits

7.4

SUB_I

Soustraire entiers de 16 bits

Reprsentation
SUB_I EN ENO IN1 IN2 OUT
Paramtre Type de donnes Zone de mmoire Description

EN ENO IN1 IN2 OUT

BOOL BOOL INT INT INT

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

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

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

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

Ecriture

Exemple
E 0.0 MW0 MW2
SUB_I

EN IN1 IN2

ENO OUT

NOT MW10

A 4.0 S

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

86

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

7.5 MUL_I

Fonctions sur nombres entiers Multiplier entiers de 16 bits

7.5

MUL_I

Multiplier entiers de 16 bits

Reprsentation
MUL_I EN ENO IN1 IN2 OUT
Paramtre Type de donnes Zone de mmoire Description

EN ENO IN1 IN2 OUT

BOOL BOOL INT INT DINT

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

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

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

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

Ecriture

Exemple
E 0.0 MW0 MW2
MUL_I

EN IN1 IN2

ENO OUT

NOT MW10

A 4.0 S

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

87

Fonctions sur nombres entiers 7.6 DIV_I Diviser entiers de 16 bits

7.6

DIV_I

Diviser entiers de 16 bits

Reprsentation
DIV_I EN ENO IN1 IN2 OUT
Paramtre Type de donnes Zone de mmoire Description

EN ENO IN1 IN2 OUT

BOOL BOOL INT INT INT

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

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

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

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

Ecriture

Exemple
E 0.0 MW0 MW2
DIV_I

EN IN1 IN2

ENO OUT

NOT MW10

A 4.0 S

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

88

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

7.7 ADD_DI

Fonctions sur nombres entiers Additionner entiers de 32 bits

7.7

ADD_DI

Additionner entiers de 32 bits

Reprsentation
ADD_DI EN ENO IN1 IN2 OUT
Paramtre Type de donnes Zone de mmoire Description

EN ENO IN1 IN2 OUT

BOOL BOOL DINT DINT DINT

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

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

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

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

Ecriture

Exemple
E 0.0 MD0 MD4
ADD_DI

EN IN1 IN2

ENO OUT

NOT MD10

A 4.0 S

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

89

Fonctions sur nombres entiers 7.8 SUB_DI Soustraire entiers de 32 bits

7.8

SUB_DI

Soustraire entiers de 32 bits

Reprsentation
SUB_DI EN ENO IN1 IN2 OUT
Paramtre Type de donnes Zone de mmoire Description

EN ENO IN1 IN2 OUT

BOOL BOOL DINT DINT DINT

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

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

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

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

Ecriture

Exemple
E 0.0 MD0 MD4
SUB_DI

EN IN1 IN2

ENO OUT

NOT MD10

A 4.0 S

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

90

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

7.9 MUL_DI

Fonctions sur nombres entiers Multiplier entiers de 32 bits

7.9

MUL_DI

Multiplier entiers de 32 bits

Reprsentation
MUL_DI EN ENO IN1 IN2 OUT
Paramtre Type de donnes Zone de mmoire Description

EN ENO IN1 IN2 OUT

BOOL BOOL DINT DINT DINT

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

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

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

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

Ecriture

Exemple
E 0.0 MD0 MD4
MUL_DI

EN IN1 IN2

ENO OUT

NOT MD10

A 4.0 S

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

91

Fonctions sur nombres entiers 7.10 DIV_DI Diviser entiers de 32 bits

7.10

DIV_DI

Diviser entiers de 32 bits

Reprsentation
DIV_DI EN ENO IN1 IN2 OUT
Paramtre Type de donnes Zone de mmoire Description

EN ENO IN1 IN2 OUT

BOOL BOOL DINT DINT DINT

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

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

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

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

Ecriture

Exemple
E 0.0 MD0 MD4
DIV_DI

EN IN1 IN2

ENO OUT

NOT MD10

A 4.0 S

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

92

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Fonctions sur nombres entiers 7.11 MOD_DI Reste de division (32 bits)

7.11

MOD_DI

Reste de division (32 bits)

Reprsentation
MOD_DI EN ENO IN1 IN2 OUT
Paramtre Type de donnes Zone de mmoire Description

EN ENO IN1 IN2 OUT

BOOL BOOL DINT DINT DINT

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

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

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

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

Ecriture

Exemple
E 0.0 MD0 MD4
MOD_DI

EN IN1 IN2

ENO OUT

NOT MD10

A 4.0 S

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

93

Fonctions sur nombres entiers 7.11 MOD_DI Reste de division (32 bits)

94

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

8
8.1

Fonctions sur nombres virgule flottante


Vue d'ensemble des oprations arithmtiques sur nombres virgule flottante

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

Les oprations arithmtiques sur nombres virgule flottante permettent dexcuter les fonctions arithmtiques suivantes sur un nombre rels IEEE de 32 bits : Valeur absolue (ABS) dun nombre rel Carr (SQR) ou Racine carre (SQRT) dun nombre rel Logarithme naturel (LN) dun nombre rel Valeur exponentielle (EXP) sur la base e (= 2,71828) dun nombre rel Fonctions trigonomtriques dangles reprsents sous forme de nombres rels IEEE de 32 bits : Sinus (SIN) et Arc sinus (ASIN) Cosinus (COS) et Arc cosinus (ACOS) Tangente (TAN) et Arc tangente (ATAN)

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

95

Fonctions sur nombres virgule flottante 8.2 Evaluation des bits du mot d'tat dans les oprations sur nombres virgule flottante

8.2

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

Description
Les oprations arithmtiques sur nombres virgule flottante affectent les bits suivants du mot d'tat : BI1 et BI0, DEB, DM.

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

+0, -0 (zro) -3.402823E+38 < rsultat < -1.175494E-38 (nombre ngatif) +1.175494E-38 < rsultat < 3.402824E+38 (nombre positif)

0 0 1

0 1 0

0 0 0

* * *

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


Plage incorrecte BI1 BI0 DEB DM

Dpassement bas -1.175494E-38 < rsultat < - 1.401298E-45 (nombre ngatif) Dpassement bas +1.401298E-45 < rsultat < +1.175494E-38 (nombre positif) Dbordement rsultat < -3.402823E+38 (nombre ngatif) Dbordement rsultat > 3.402823E+38 (nombre positif)

0 0 0 1

0 0 1 0 1

1 1 1 1 1

1 1 1 1 1

Pas un nombre rel correct ou opration illicite (valeur d'entre hors 1 de la plage de valeurs autorise)

96

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Fonctions sur nombres virgule flottante 8.3 Oprations de base

8.3
8.3.1

Oprations de base
ADD_R Additionner rels

Reprsentation
ADD_R EN ENO IN1 IN2 OUT
Paramtre Type de donnes Zone de mmoire Description

EN ENO IN1 IN2 OUT

BOOL BOOL REAL REAL REAL

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

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

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

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

Ecriture

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

97

Fonctions sur nombres virgule flottante 8.3 Oprations de base

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

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

98

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Fonctions sur nombres virgule flottante 8.3 Oprations de base

8.3.2

SUB_R

Soustraire rels

Reprsentation
SUB_R EN ENO IN1 IN2 OUT
Paramtre Type de donnes Zone de mmoire Description

EN ENO IN1 IN2 OUT

BOOL BOOL REAL REAL REAL

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

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

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

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

Ecriture

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

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

99

Fonctions sur nombres virgule flottante 8.3 Oprations de base

8.3.3

MUL_R

Multiplier rels

Reprsentation
MUL_R EN ENO IN1 IN2 OUT
Paramtre Type de donnes Zone de mmoire Description

EN ENO IN1 IN2 OUT

BOOL BOOL REAL REAL REAL

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

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

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

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

Ecriture

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

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

100

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Fonctions sur nombres virgule flottante 8.3 Oprations de base

8.3.4

DIV_R

Diviser rels

Reprsentation
DIV_R EN ENO IN1 IN2 OUT
Paramtre Type de donnes Zone de mmoire Description

EN ENO IN1 IN2 OUT

BOOL BOOL REAL REAL REAL

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

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

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

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

Ecriture

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

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

101

Fonctions sur nombres virgule flottante 8.3 Oprations de base

8.3.5

ABS

Valeur absolue d'un nombre rel

Reprsentation
ABS EN ENO IN OUT

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN OUT

BOOL BOOL REAL REAL

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

Entre de validation Sortie de validation Valeur d'entre : nombre rel Valeur de sortie : valeur absolue du nombre rel

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

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

Ecriture

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

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

102

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Fonctions sur nombres virgule flottante 8.4 Oprations tendues

8.4
8.4.1

Oprations tendues
SQR Carr

Reprsentation
SQR EN ENO IN OUT

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN OUT

BOOL BOOL REAL REAL

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

Entre de validation Sortie de validation Valeur d'entre : nombre rel Valeur de sortie : carr du nombre rel

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

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

Ecriture

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

103

Fonctions sur nombres virgule flottante 8.4 Oprations tendues

8.4.2

SQRT

Racine carre

Reprsentation
SQRT EN ENO IN OUT

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN OUT

BOOL BOOL REAL REAL

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

Entre de validation Sortie de validation Valeur d'entre : nombre rel Valeur de sortie : racine carre du nombre rel

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

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

Ecriture

104

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Fonctions sur nombres virgule flottante 8.4 Oprations tendues

8.4.3

EXP

Valeur exponentielle

Reprsentation
EXP EN ENO IN OUT

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN OUT

BOOL BOOL REAL REAL

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

Entre de validation Sortie de validation Valeur d'entre : nombre rel Valeur de sortie : valeur exponentielle du nombre rel

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

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

Ecriture

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

105

Fonctions sur nombres virgule flottante 8.4 Oprations tendues

8.4.4

LN

Logarithme naturel

Reprsentation
LN EN ENO IN OUT

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN OUT

BOOL BOOL REAL REAL

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

Entre de validation Sortie de validation Valeur d'entre : nombre rel Valeur de sortie : logarithme naturel du nombre rel

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

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

Ecriture

106

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Fonctions sur nombres virgule flottante 8.4 Oprations tendues

8.4.5

SIN

Sinus

Reprsentation
SIN EN ENO IN OUT

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN OUT

BOOL BOOL REAL REAL

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

Entre de validation Sortie de validation Valeur d'entre : nombre rel Valeur de sortie : sinus du nombre rel

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

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

Ecriture

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

107

Fonctions sur nombres virgule flottante 8.4 Oprations tendues

8.4.6

COS

Cosinus

Reprsentation
COS EN ENO IN OUT

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN OUT

BOOL BOOL REAL REAL

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

Entre de validation Sortie de validation Valeur d'entre : nombre rel Valeur de sortie : cosinus du nombre rel

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

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

Ecriture

108

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Fonctions sur nombres virgule flottante 8.4 Oprations tendues

8.4.7

TAN

Tangente

Reprsentation
TAN EN ENO IN OUT

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN OUT

BOOL BOOL REAL REAL

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

Entre de validation Sortie de validation Valeur d'entre : nombre rel Valeur de sortie : tangente du nombre rel

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

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

Ecriture

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

109

Fonctions sur nombres virgule flottante 8.4 Oprations tendues

8.4.8

ASIN

Arc sinus

Reprsentation
ASIN EN ENO IN OUT

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN OUT

BOOL BOOL REAL REAL

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

Entre de validation Sortie de validation Valeur d'entre : nombre rel Valeur de sortie : arc sinus d'un nombre rel

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

-/2 valeur de sortie +/2 avec = 3,1415.... Voir aussi Evaluation des bits du mot d'tat dans les oprations sur nombres virgule flottante.

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

Ecriture

110

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Fonctions sur nombres virgule flottante 8.4 Oprations tendues

8.4.9

ACOS

Arc cosinus

Reprsentation
ACOS EN ENO IN OUT

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN OUT

BOOL BOOL REAL REAL

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

Entre de validation Sortie de validation Valeur d'entre : nombre rel Valeur de sortie : arc cosinus du nombre rel

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

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


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

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

Ecriture

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

111

Fonctions sur nombres virgule flottante 8.4 Oprations tendues

8.4.10

ATAN

Arc tangente

Reprsentation
ATAN EN ENO IN OUT

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN OUT

BOOL BOOL REAL REAL

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

Entre de validation Sortie de validation Valeur d'entre : nombre rel Valeur de sortie : arc tangente du nombre rel

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

-/2 valeur de sortie +/2 avec = 3,1415....


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

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

Ecriture

112

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

9
9.1

Oprations de transfert
MOVE Affecter valeur

Reprsentation
MOVE
EN IN ENO OUT

Paramtre

Type de donnes

Zone de mmoire

Description

EN ENO IN

BOOL BOOL

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

Entre de validation Sortie de validation

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

OUT

Description de l'opration
MOVE (Affecter valeur)

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

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

Ecriture

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

113

Oprations de transfert 9.1 MOVE Affecter valeur

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


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

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

un double mot : un octet : un mot :


Octet Affectation

1111 1111

0000 1111

1111 0000 1111 0000

0101 0101 0101 0101 0101 0101


1111 0000

Rsultat

un octet : un mot : un double mot : 0000 0000 0000 0000 0000 0000 0000 0000

1111 0000 1111 0000 1111 0000

Exemple
E 0.0

MOVE
EN ENO OUT IN

A 4.0

MW10

DBW12

L'opration est excute si E 0.0 est 1. Le contenu de MW10 est alors copi dans le mot de donnes 12 du bloc de donnes en cours. La sortie A 4.0 est mise 1 si l'opration est excute.
Si le trajet de courant de l'exemple est l'intrieur d'une zone MCR active :

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

114

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

10
10.1

Oprations de gestion d'excution de programme


Vue d'ensemble des oprations de gestion dexcution de programme

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

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

Voir aussi Remarques importantes sur l'utilisation de la fonctionnalit MCR

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

115

Oprations de gestion d'excution de programme 10.2 ---(Call) Appeler FC/SFC sans paramtre

10.2

---(Call)

Appeler FC/SFC sans paramtre

Reprsentation
<FC/SFC n>
---( CALL )
Paramtre Type de donnes Zone de mmoire Description

<FC/SFC n>

BLOCK_FC

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

Description de l'opration
---(Call) (Appeler FC/SFC sans paramtre)

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

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

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

Appel conditionnel : Appel inconditionnel :

Ecriture Ecriture

0 0

0 0

1 1

1 -

0 0

116

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations de gestion d'excution de programme 10.2 ---(Call) Appeler FC/SFC sans paramtre

Exemple
. . . . . . . . .

DB10 OPN

MCRA FC10 CALL E 0.0 A 4.0

. . . . . . E 0.1

MCRD FC11 CALL

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

117

Oprations de gestion d'excution de programme 10.3 CALL_FB Appeler FB (bote)

10.3

CALL_FB

Appeler FB (bote)

Reprsentation
<DB n> FB n EN ENO

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

EN ENO FB n DB n

BOOL BOOL BLOCK_FB BLOCK_DB

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

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

Description de l'opration
CALL_FB (Appeler FB)

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

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

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

Appel conditionnel : Appel inconditionnel :

Ecriture Ecriture

x -

0 0

0 0

x x

x x

x x

118

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations de gestion d'excution de programme 10.3 CALL_FB Appeler FB (bote)

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

DB10 OPN

MCRA A 4.0

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

119

Oprations de gestion d'excution de programme 10.4 CALL_FC Appeler FC (bote)

10.4

CALL_FC

Appeler FC (bote)

Reprsentation
FC n
EN ENO

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

EN ENO FC n

BOOL BOOL BLOCK_FC

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

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

Description de l'opration
CALL_FC (Appeler FC)

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

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

120

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations de gestion d'excution de programme 10.4 CALL_FC Appeler FC (bote)

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

Appel conditionnel : Appel inconditionnel :

Ecriture Ecriture

x -

0 0

0 0

x x

x x

x x

Exemple
. . . . . . . . . . . .

DB10 OPN

MCRA FC10 FC11 A 4.0

EN ENO EN ENO

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

Si la FC11 est galement excute sans erreur, ENO et donc A 4.0 sont 1.
Nota Aprs retour au bloc appelant, il n'est pas toujours certain que le DB ouvert prcdemment soit de nouveau ouvert. Veuillez observer les informations dans le fichier LISEZMOI.

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

121

Oprations de gestion d'excution de programme 10.5 CALL_SFB Appeler SFB (bote)

10.5

CALL_SFB

Appeler SFB (bote)

Reprsentation
<DB n> SFB n
EN ENO

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

EN ENO SFB n DB n

BOOL BOOL BLOCK_SFB BLOCK_DB

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

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

Description de l'opration
CALL_SFB (Appeler SFB)

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

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

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

Appel conditionnel :

Ecriture

x -

0 0

0 0

x x

x x

x x

Appel inconditionnel : Ecriture

122

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations de gestion d'excution de programme 10.5 CALL_SFB Appeler SFB (bote)

Exemple
. . . . . . . . .

DB10 OPN

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

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

123

Oprations de gestion d'excution de programme 10.6 CALL_SFC Appeler SFC (bote)

10.6

CALL_SFC

Appeler SFC (bote)

Reprsentation
SFC n
EN ENO

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

EN ENO SFC n

BOOL BOOL BLOCK_SFC

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

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

Description de l'opration
CALL_SFC (Appeler SFC)

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

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

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

Appel conditionnel : Appel inconditionnel :

Ecriture Ecriture

x -

0 0

0 0

x x

x x

x x

124

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations de gestion d'excution de programme 10.6 CALL_SFC Appeler SFC (bote)

Exemple
. . . . . . . . .
EN

DB10 OPN

MCRA SFC20
ENO

A 4.0 MW10 MOTOR.SPEED

DBDW12 . . .

SRCBLK RET_VAL DSTBLK

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

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

125

Oprations de gestion d'excution de programme 10.7 Appeler multi-instance

10.7

Appeler multi-instance

Reprsentation
#Nomvariable

EN

ENO

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO #Nom-variable

BOOL BOOL FB, SFB

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

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

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

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

Ecriture

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.

126

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations de gestion d'excution de programme 10.9 Remarques importantes sur l'utilisation de la fonctionnalit MCR

10.9

Remarques importantes sur l'utilisation de la fonctionnalit MCR


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

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

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


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

Accs des paramtres formels


Accs des composants de paramtres FC complexes de type STRUCT, UDT, ARRAY, STRING Accs des composants de paramtres FB complexes de type STRUCT, UDT, ARRAY, STRING de la zone IN_OUT dans un bloc 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. Appels pour lesquels des paramtres sont transmis. Dans CONT ou LOG, les branches T et les connecteurs dbutent par RLG = 0.

Transmission des paramtres


CONT/LOG Remde

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


1er Dsactivez le relais de masquage en utilisant l'instruction MCRD avant l'instruction ou le rseau concerns. 2e Activez le relais de masquage en utilisant l'instruction MCRA aprs l'instruction ou le rseau concerns.

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

127

Oprations de gestion d'excution de programme 10.10 ---(MCR<) Relais de masquage en fonction

10.10

---(MCR<)

Relais de masquage en fonction

Remarques importantes sur l'utilisation de la fonctionnalit MCR

Reprsentation
---(MCR<)

Description de l'opration
---(MCR<) (Relais de masquage en fonction)

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

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

Ecriture

128

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations de gestion d'excution de programme 10.10 ---(MCR<) Relais de masquage en fonction

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

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

129

Oprations de gestion d'excution de programme 10.11 ---(MCR>) Relais de masquage hors fonction

10.11

---(MCR>)

Relais de masquage hors fonction

Remarques importantes sur l'utilisation de la fonctionnalit MCR

Reprsentation
---(MCR>)

Description de l'opration
---(MCR>) (Relais de masquage hors fonction)

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

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

Ecriture

130

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations de gestion d'excution de programme 10.11 ---(MCR>) Relais de masquage hors fonction

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

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

131

Oprations de gestion d'excution de programme 10.12 ---(MCRA) Activer relais de masquage

10.12

---(MCRA)

Activer relais de masquage

Remarques importantes sur l'utilisation de la fonctionnalit MCR

Reprsentation
---(MCRA)

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

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

Ecriture

Exemple
Rseau 1 MCRA Rseau 2 Rseau 3 . . . Rseau n MCR> Rseau n + 1 MCRD E 0.0 E 0.3 MCR< A 4.0 S

E 0.4

A 4.1

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

132

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations de gestion d'excution de programme 10.13 ---(MCRD) Dsactiver relais de masquage

10.13

---(MCRD)

Dsactiver relais de masquage

Remarques importantes sur l'utilisation de la fonctionnalit MCR

Reprsentation
---( MCRD )

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

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

Ecriture

Exemple
Rseau 1 MCRA Rseau 2 Rseau 3 . . . Rseau n MCR> Rseau n + 1 MCRD E 0.0 E 0.3 MCR< A 4.0 S

E 0.4

A 4.1

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

133

Oprations de gestion d'excution de programme 10.14 ---(RET) Retour

10.14

---(RET)

Retour

Reprsentation
---( RET )

Description de l'opration
RET (Retour)

Cette opration permet de quitter des blocs conditionnellement. Une combinaison amont est ncessaire pour cette sortie.

Mot d'tat
Retour conditionnel (si RLG gale 1)
RB BI1 BI0 DEB DM OU ETAT RLG /PI

Ecriture

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

Exemple
. . . E 0.0 . . .

RET

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

134

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

11
11.1
11.1.1

Oprations de dcalage et de rotation


Oprations de dcalage
Vue d'ensemble des oprations de dcalage

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

135

Oprations de dcalage et de rotation 11.1 Oprations de dcalage

11.1.2

SHR_I

Dcalage vers la droite d'un entier de 16 bits

Reprsentation
SHR_I EN ENO IN OUT N

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN N OUT

BOOL BOOL INT WORD INT

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

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

Description de l'opration
SHR_I (Dcalage vers la droite d'un entier de 16 bits)

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

IN N

OUT

1 0 1 0

1 0 0 0 0

1 0 1 0 Ces 4 bits sont perdus.

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

136

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations de dcalage et de rotation 11.1 Oprations de dcalage

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

criture

Exemple
E 0.0 MW0 MW2
SHR_I

EN IN N

ENO OUT

A 4.0 S MW4

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

137

Oprations de dcalage et de rotation 11.1 Oprations de dcalage

11.1.3

SHR_DI

Dcalage vers la droite d'un entier de 32 bits

Reprsentation
SHR_DI EN ENO IN OUT N

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN N OUT

BOOL BOOL DINT WORD DINT

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

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

Description de l'opration
SHR_DI (Dcalage vers la droite d'un entier de 32 bits)

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

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

criture

138

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations de dcalage et de rotation 11.1 Oprations de dcalage

Exemple
E 0.0 MD0 MW4
SHR_DI

EN IN N

ENO OUT

A 4.0 S MD10

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

139

Oprations de dcalage et de rotation 11.1 Oprations de dcalage

11.1.4

SHL_W

Dcalage vers la gauche d'un mot

Reprsentation
SHL_W EN ENO IN OUT N

Format
Paramtre Type de donnes Zone de mmoire Description

EN ENO IN N OUT

BOOL BOOL WORD WORD WORD

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

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

Description de l'opration
SHL_W (Dcalage vers la gauche d'un mot)

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

140

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations de dcalage et de rotation 11.1 Oprations de dcalage

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

criture

Exemple
E 0.0 MW0 MW2
SHL_W

EN IN N

ENO OUT

A 4.0 S MW4

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

141

Oprations de dcalage et de rotation 11.1 Oprations de dcalage

11.1.5

SHR_W

Dcalage vers la droite d'un mot

Reprsentation
SHR_W EN ENO IN OUT N

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN N OUT

BOOL BOOL WORD WORD WORD

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

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

Description de l'opration
SHR_W (Dcalage vers la droite d'un mot)

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

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

criture

142

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations de dcalage et de rotation 11.1 Oprations de dcalage

Exemple
E 0.0 MW0 MW2
SHR_W

EN IN N

ENO OUT

A 4.0 S MW4

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

143

Oprations de dcalage et de rotation 11.1 Oprations de dcalage

11.1.6

SHL_DW

Dcalage vers la gauche d'un double mot

Reprsentation
SHL_DW EN ENO IN OUT N

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN N OUT

BOOL BOOL DWORD WORD DWORD

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

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

Description de l'opration
SHL_DW (Dcalage vers la gauche d'un double mot)

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

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

criture

Exemple
E 0.0 MD0 MW4
SHL_DW

EN IN N

ENO OUT

A 4.0 S MD10

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

144

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations de dcalage et de rotation 11.1 Oprations de dcalage

11.1.7

SHR_DW Dcalage vers la droite d'un double mot

Reprsentation
SHR_DW EN ENO IN OUT N

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN N OUT

BOOL BOOL DWORD WORD DWORD

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

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

Description de l'opration
SHR_DW (Dcalage vers la droite d'un double mot)

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

145

Oprations de dcalage et de rotation 11.1 Oprations de dcalage

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

criture

Exemple
E 0.0 MD0 MW4
SHR_DW

EN IN N

ENO OUT

A 4.0 S MD10

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

146

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations de dcalage et de rotation 11.2 Oprations de rotation

11.2
11.2.1

Oprations de rotation
Vue d'ensemble des oprations de rotation

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

11.2.2

ROL_DW Rotation vers la gauche d'un double mot

Reprsentation
ROL_DW EN ENO IN OUT N

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN N OUT

BOOL BOOL DWORD WORD DWORD

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

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

147

Oprations de dcalage et de rotation 11.2 Oprations de rotation

Description de l'opration
ROL_DW (Rotation vers la gauche d'un double mot)

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

criture

Exemple
E 0.0 MD0 MW4
ROL_DW

EN IN N

ENO OUT

A 4.0 S MD10

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

148

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations de dcalage et de rotation 11.2 Oprations de rotation

11.2.3

ROR_DW

Rotation vers la droite d'un double mot

Reprsentation
ROR_DW EN ENO IN OUT N

Paramtre

Type de donnes

Zone de mmoire Description

EN ENO IN N OUT

BOOL BOOL DWORD WORD DWORD

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

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

Description de l'opration
ROR_DW (Rotation vers la droite d'un double mot)

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

IN N

OUT

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

101

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

149

Oprations de dcalage et de rotation 11.2 Oprations de rotation

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

criture

Exemple
E 0.0 MD0 MW4
ROR_DW

EN IN N

ENO OUT

A 4.0 S MD10

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

150

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

12
12.1

Oprations sur bits d'tat


Vue d'ensemble des oprations sur bits dtat

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

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

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

2 ...

15

...2

RB

BI1

BI0

DEB

DM

OU

ETAT RLG

/PI

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

151

Oprations sur bits d'tat 12.2 OV ---| |--- Bit d'anomalie "dbordement"

12.2

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

Reprsentation
OV
ou forme inverse

OV

Description de l'opration
OV ---| |--- (Bit d'anomalie "dbordement") et OV ---| / |--- (Bit d'anomalie "dbordement", forme inverse)

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

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

Ecriture

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

MW10 A 4.0 S

L'tat de signal 1 en E 0.0 active l'opration SUB_I. Si le rsultat de l'opration arithmtique EW0 - EW2 est hors de la plage autorise pour un nombre entier, le bit DEB est mis 1. Le rsultat d'une interrogation d'tat de signal en OV (DEB) gale 1.
Nota L'interrogation de DEB n'est ncessaire qu'en raison de la prsence de deux rseaux spars. Sinon, si le rsultat est hors de la plage autorise, il suffit de considrer la sortie de validation ENO de l'opration arithmtique qui est 0.

152

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations sur bits d'tat 12.3 OS ---| |--- Bit d'anomalie "dbordement mmoris"

12.3

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

Reprsentation
OS
ou forme inverse

OS

Description de l'opration
OS ---| |--- (Bit d'anomalie "dbordement mmoris") et OS ---| / |--- (Bit d'anomalie "dbordement mmoris", forme inverse)

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

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

Ecriture

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

153

Oprations sur bits d'tat 12.3 OS ---| |--- Bit d'anomalie "dbordement mmoris"

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

MW12 A 4.0 S

L'opration MUL_I est active par l'tat de signal 1 en E 0.0 et l'opration ADD_I par l'tat de signal 1 en E 0.1. Si le rsultat de l'une des oprations arithmtiques est hors de la plage autorise pour un nombre entier, le bit DM du mot d'tat est mis 1. La sortie A 4.0 est mise 1 si l'interrogation de dbordement mmoris gale 1.
Nota L'interrogation de DM n'est ncessaire qu'en raison de la prsence de rseaux spars. Sinon, il est possible de connecter la sortie ENO de la premire opration arithmtique l'entre EN de la deuxime opration arithmtique (cascade).

154

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations sur bits d'tat 12.4 UO ---| |--- Bit d'anomalie "illicite"

12.4

UO ---| |--- Bit d'anomalie "illicite"

Reprsentation
UO
ou forme inverse

UO

Description de l'opration
UO ---| |--- (Bit d'anomalie "illicite") et UO ---| / |--- (Bit d'anomalie "illicite", forme inverse)

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

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

Ecriture

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

UO

A 4.1 S

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

155

Oprations sur bits d'tat 12.5 BIE ---| |--- Bit d'anomalie "registre RB"

12.5

BIE ---| |--- Bit d'anomalie "registre RB"

Reprsentation
BIE
ou forme inverse

BIE

Description de l'opration
BIE ---| |--- (Bit d'anomalie registre RB) et BIE ---| / |--- (Bit d'anomalie registre RB, forme inverse)

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

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

Ecriture

Exemple
E 0.0 E 0.2 BIE A 4.0 S

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

156

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations sur bits d'tat 12.6 ==0 ---| |--- Bit de rsultat pour gal 0

12.6

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

Reprsentation
==0
ou forme inverse

==0

Description de l'opration
==0 ---| |--- (Bit de rsultat pour gal 0) et ==0 ---| / |--- (Bit de rsultat pour gal 0, forme inverse)

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

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

Ecriture

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

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

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

157

Oprations sur bits d'tat 12.7 <>0 ---| |--- Bit de rsultat pour diffrent de 0

12.7

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

Reprsentation
<>0
ou forme inverse

<>0

Description de l'opration
<>0 ---| |--- (Bit de rsultat pour diffrent de 0) et <>0 ---| / |--- (Bit de rsultat pour diffrent de 0, forme inverse)

Ces oprations permettent de dtecter si le rsultat dune opration arithmtique est diffrent de 0. Elles interrogent les bits indicateurs BI1 et BI0 afin de dterminer cette relation par rapport 0. En cas de connexions en srie, le rsultat de l'interrogation est combin au RLG par ET ; en cas de connexions en parallle, il est combin au RLG par OU.

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

Ecriture

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

L'tat de signal 1 en E 0.0 active cette opration. Si la valeur de EW0 est diffrente de la valeur de EW2, le rsultat de l'opration arithmtique EW0 - EW2 est diffrent de 0. La sortie A 4.0 est mise 1 si l'opration s'excute sans erreur et si le rsultat est diffrent de 0.
E 0.0 EW0 EW2 SUB_I ENO EN IN1 OUT IN2 <>0 A 4.0 S MW10

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

158

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations sur bits d'tat 12.8 >=0 ---| |--- Bit de rsultat pour suprieur ou gal 0

12.8

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

Reprsentation
>=0
ou forme inverse

>=0

Description de l'opration
>=0 ---| |--- (Bit de rsultat pour suprieur ou gal 0) et >=0 ---| / |--- (Bit de rsultat pour suprieur ou gal 0, forme inverse)

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

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

Ecriture

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

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

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

159

Oprations sur bits d'tat 12.9 <=0 ---| |--- Bit de rsultat pour infrieur ou gal 0

12.9

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

Reprsentation
<=0
ou forme inverse

<=0

Description de l'opration
<=0 ---| |--- (Bit de rsultat pour infrieur ou gal 0) et <=0 ---| / |--- (Bit de rsultat pour infrieur ou gal 0, forme inverse)

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

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

Ecriture

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

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

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

160

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations sur bits d'tat 12.10 >0 ---| |--- Bit de rsultat pour suprieur 0

12.10

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

Reprsentation
>0
ou forme inverse

>0

Description de l'opration
>0 ---| |--- (Bit de rsultat pour suprieur 0) et >0 ---| / |--- (Bit de rsultat pour suprieur 0, forme inverse)

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

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

Ecriture

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

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

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

161

Oprations sur bits d'tat 12.11 <0 ---| |--- Bit de rsultat pour infrieur 0

12.11

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

Reprsentation
<0
ou forme inverse

<0

Description de l'opration
<0 ---| |--- (Bit de rsultat pour infrieur 0) et <0 ---| / |--- (Bit de rsultat pour infrieur 0, forme inverse)

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

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

Ecriture

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

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

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

162

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

13
13.1

Oprations de temporisation
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 temporisation sous forme d'impulsion S_VIMP S_EVERZ S_AVERZ ---( SI ) ---( SV ) ---( SE ) ---( SS ) ---( SA ) Paramtrer et dmarrer temporisation sous forme d'impulsion prolonge Paramtrer et dmarrer temporisation sous forme de retard la monte Paramtrer et dmarrer temporisation sous forme de retard la retombe Dmarrer temporisation sous forme d'impulsion Dmarrer temporisation sous forme d'impulsion prolonge Dmarrer temporisation sous forme de retard la monte Dmarrer temporisation sous forme de retard la monte mmoris Dmarrer temporisation sous forme de retard la retombe

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

163

Oprations de temporisation 13.2 Adresse dune temporisation en mmoire et composants dune temporisation

13.2

Adresse dune temporisation en mmoire et composants dune temporisation

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

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

w = base de temps (cest--dire lintervalle de temps ou la rsolution) xyz = valeur de temps en format dcimal cod binaire (DCB) 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.

S5T#aH_bM_cS_dMS
-

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

164

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations de temporisation 13.2 Adresse dune temporisation en mmoire et composants dune temporisation

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

10 ms 100 ms 1s 10 s

00 01 10 11

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

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

10MS 1S 10S

9S_990MS 16M_39S 2H_46M_30S

100MS 1M_39S_900MS

Configuration des bits dans la cellule de temporisation


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

15... x x

0 0

0 1

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

0 0

1 7

...0 1

Base de temps 1 seconde

Valeur de temps en format DBC (0 999)

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

165

Oprations de temporisation 13.2 Adresse dune temporisation en mmoire et composants dune temporisation

Lecture de la valeur et de la base de temps


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

Choix de la temporisation correcte


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

E 0.0

A 4.0 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

166

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations de temporisation 13.2 Adresse dune temporisation en mmoire et composants dune temporisation

Temporisations S_IMPULS temporisation sous forme dimpulsion S_VIMP temporisation sous forme dimpulsion prolonge

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.

S_EVERZ Le signal de sortie est gal 1 uniquement lorsque le temps programm sest temporisation sous forme de coul et que le signal dentre est toujours 1. retard la monte S_SEVERZ Le signal de sortie passe de 0 1 uniquement lorsque le temps programm sest temporisation sous forme de coul, quelle que soit la dure pendant laquelle le signal dentre reste 1. retard la monte mmoris S_AVERZ Le signal de sortie est gal 1 lorsque le signal dentre est gal 1 ou lorsque la temporisation sous forme de temporisation sexcute. La temporisation est dmarre lorsque le signal dentre passe de 1 0. retard la retombe

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

167

Oprations de temporisation 13.3 S_IMPULS Paramtrer et dmarrer temporisation sous forme d'impulsion

13.3

S_IMPULS Paramtrer et dmarrer temporisation sous forme d'impulsion

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

Allemande
T n S_IMPULS Q DUAL DEZ

Paramtre Anglaise

Paramtre Allemande

Type de donnes

Zone de mmoire

Description

T n S TV R BI BCD Q

T no S TW R DUAL DEZ Q

TIMER BOOL S5TIME BOOL WORD WORD BOOL

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

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

Description de l'opration
S_IMPULS (Paramtrer et dmarrer temporisation sous forme d'impulsion)

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

168

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

13.3 S_IMPULS

Oprations de temporisation Paramtrer et dmarrer temporisation sous forme d'impulsion

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 BI1 BI0 DEB DM OU ETAT RLG /PI

Ecriture

Exemple
T5 S_IMPULS Q S S5TIME#2S TW R DUAL DEZ

E 0.0 E 0.1

A 4.0

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

169

Oprations de temporisation 13.4 S_VIMP Paramtrer et dmarrer temporisation sous forme d'impulsion prolonge

13.4

S_VIMP Paramtrer et dmarrer temporisation sous forme d'impulsion prolonge

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

Allemande
T n S_VIMP Q DUAL DEZ

Paramtre Anglaise

Paramtre Allemande

Type de donnes

Zone de mmoire

Description

T n S TV R BI BCD Q

T no S TW R DUAL DEZ Q

TIMER BOOL S5TIME BOOL WORD WORD BOOL

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

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

Description de l'opration
S_VIMP (Paramtrer et dmarrer temporisation sous forme d'impulsion prolonge)

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

170

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

13.4 S_VIMP

Oprations de temporisation Paramtrer et dmarrer temporisation sous forme d'impulsion prolonge

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 BI1 BI0 DEB DM OU ETAT RLG /PI

Ecriture

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

E 0.0

A 4.0

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

171

Oprations de temporisation 13.5 S_EVERZ Paramtrer et dmarrer temporisation sous forme de retard la monte

13.5

S_EVERZ Paramtrer et dmarrer temporisation sous forme de retard la monte

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

Allemande
T n S_EVERZ Q DUAL DEZ

Paramtre Anglaise

Paramtre Allemande

Type de donnes

Zone de mmoire

Description

T n S TV R BI BCD Q

T no S TW R DUAL DEZ Q

TIMER BOOL S5TIME BOOL WORD WORD BOOL

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

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

Description de l'opration
S_EVERZ (Paramtrer et dmarrer temporisation sous forme de retard la monte)

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

172

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

13.5 S_EVERZ

Oprations de temporisation Paramtrer et dmarrer temporisation sous forme de retard la monte

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 Q S S5TIME#2S TW R DUAL DEZ

E 0.0 E 0.1

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

173

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

13.6

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

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

Allemande
T n S_SEVERZ Q DUAL DEZ

Paramtre Anglaise
T n S TV R BI BCD Q

Paramtre Allemande
T no S TW R DUAL DEZ Q

Type de donnes
TIMER BOOL S5TIME BOOL WORD WORD BOOL

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

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

Description de l'opration
S_SEVERZ (Paramtrer et dmarrer temporisation sous forme de retard la monte mmoris)

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

174

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

13.6 S_SEVERZ

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

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 Q S S5TIME#2S TV R DUAL DEZ

E 0.0 E 0.1

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

175

Oprations de temporisation 13.7 S_AVERZ Paramtrer et dmarrer temporisation sous forme de retard la retombe

13.7

S_AVERZ Paramtrer et dmarrer temporisation sous forme de retard la retombe

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

Allemande
T n S_AVERZ Q DUAL DEZ

Paramtre Anglaise
T n S TV R BI BCD Q

Paramtre Allemande
T no S TW R DUAL DEZ Q

Type de donnes
TIMER BOOL S5TIME BOOL WORD WORD BOOL

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

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

Description de l'opration
S_AVERZ (Paramtrer et dmarrer temporisation sous forme de retard la retombe)

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

176

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

13.7 S_AVERZ

Oprations de temporisation Paramtrer et dmarrer temporisation sous forme de retard la retombe

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 Q S S5TIME#2S TV R DUAL DEZ

E 0.0 E 0.1

A 4.0

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

177

Oprations de temporisation 13.8 ---( SI ) Dmarrer temporisation sous forme d'impulsion

13.8

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

Reprsentation
Anglaise
<T n >

Allemande
<T n >

---( SP )
<valeur de temps>

---( SI )
<valeur de temps>

Paramtre
<T n >

Type de donnes
TIMER

Zone de mmoire Description


T E, A, M, L, D Numro de la temporisation. La plage dpend de la CPU. Valeur de temps prdfinie

<valeur de temps> S5TIME

Description de l'opration
---( SI ) (Dmarrer temporisation sous forme d'impulsion)

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
-

RLG
-

/PI
0

178

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations de temporisation 13.8 ---( SI ) Dmarrer temporisation sous forme d'impulsion

Exemple
Rseau 1 E 0.0 T5 SI S5T#2S T5

Rseau 2

A 4.0

Rseau 3 E 0.1 T5 R

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

179

Oprations de temporisation 13.9 ---( SV ) Dmarrer temporisation sous forme d'impulsion prolonge

13.9

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

Reprsentation
Anglaise
<T n >

Allemande
<T n >

---( SE )
<valeur de temps>

---( SV )
<valeur de temps>

Paramtre
<T n >

Type de donnes
TIMER

Zone de mmoire Description


T E, A, M, L, D Numro de la temporisation. La plage dpend de la CPU. Valeur de temps prdfinie

<valeur de temps> S5TIME

Description de l'opration
---( SV ) (Dmarrer temporisation sous forme d'impulsion prolonge)

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
-

RLG
-

/PI
0

180

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations de temporisation 13.9 ---( SV ) Dmarrer temporisation sous forme d'impulsion prolonge

Exemple
Rseau 1 E 0.0 T5 SV S5T#2S T5

Rseau 2

A 4.0

Rseau 3 E 0.1 T5 R

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

181

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

13.10

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

Reprsentation
Anglaise
<T n >

Allemande
<T n >

---( SD )
<valeur de temps>

---( SE )
<valeur de temps>

Paramtre
<T n >

Type de donnes
TIMER

Zone de mmoire Description


T E, A, M, L, D Numro de la temporisation. La plage dpend de la CPU. Valeur de temps prddinie

<valeur de temps> S5TIME

Description de l'opration
---( SE ) (Dmarrer temporisation sous forme de retard la monte)

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
-

RLG
-

/PI
0

182

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

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

Exemple
Rseau 1 E 0.0 T5 SE S5T#2S T5

Rseau 2

A 4.0

Rseau 3 E 0.1 T5 R

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

183

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

13.11

---( SS ) Dmarrer temporisation sous forme de retard la monte mmoris

Reprsentation
Anglaise
<T n >

Allemande
<T n >

---( SS )
<valeur de temps>

---( SS )
<valeur de temps>

Paramtre
<T n >

Type de donnes
TIMER

Zone de mmoire Description


T E, A, M, L, D Numro de la temporisation. La plage dpend de la CPU. Valeur de temps prdfinie

<valeur de temps> S5TIME

Description de l'opration
---( SS ) (Dmarrer temporisation sous forme de retard la monte mmoris)

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
-

RLG
-

/PI
0

184

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

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

Exemple
Rseau 1 E 0.0 T5 SS S5T#2S T5

Rseau 2

A 4.0

Rseau 3 E 0.1 T5 R

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

185

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

13.12

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

Reprsentation
Anglaise
<T n >

Allemande
<T n >

---( SF )
<valeur de temps>

---( SA )
<valeur de temps>

Paramtre
<T n >

Type de donnes
TIMER

Zone de mmoire Description


T E, A, M, L, D Numro de la temporisation. La plage dpend de la CPU. Valeur de temps prdfinie

<valeur de temps> S5TIME

Description de l'opration
---( SA ) (Dmarrer temporisation sous forme de retard la retombe)

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

Mot d'tat
RB
Ecriture -

BI1
-

BI0
-

DEB
-

DM
-

OU
0

ETAT
-

RLG
-

/PI
0

186

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

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

Exemple
Rseau 1 E 0.0 T5 SA S5T#2S T5

Rseau 2

A 4.0

Rseau 3 E 0.1 T5 R

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

187

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

188

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

14
14.1

Oprations combinatoires sur mots


Vue d'ensemble des oprations combinatoire sur mots

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

WAND_DW ET double mot WXOR_DW OU exclusif double mot

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

189

Oprations combinatoires sur mots 14.2 WAND_W ET mot

14.2

WAND_W

ET mot

Reprsentation
WAND_W EN IN1 IN2 ENO OUT

Paramtre
EN ENO IN1 IN2 OUT

Type de donnes
BOOL BOOL WORD WORD WORD

Zone de mmoire Description


E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Entre de validation Sortie de validation Premire valeur pour la combinaison Seconde valeur pour la combinaison Rsultat de la combinaison (mot)

Description de l'opration
WAND_W (ET mot)

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

Mot d'tat
RB
Ecriture 1

BI1
x

BI0
0

DEB
0

DM
-

OU
x

ETAT
1

RLG
1

/PI
1

Exemple
E 0.0 MW0 2#0000000000001111
WAND_W

A 4.0 MW2

EN IN1 IN2

ENO OUT

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

MW0 ET IN2 = MW2 =

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

190

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations combinatoires sur mots 14.3 WOR_W OU mot

14.3

WOR_W

OU mot

Reprsentation
WOR_W EN IN1 IN2 ENO OUT

Paramtre
EN ENO IN1 IN2 OUT

Type de donnes
BOOL BOOL WORD WORD WORD

Zone de mmoire Description


E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Entre de validation Sortie de validation Premire valeur pour la combinaison Seconde valeur pour la combinaison Rsultat de la combinaison (mot)

Description de l'opration
WOR_W (OU mot)

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

Mot d'tat
RB
Ecriture 1

BI1
x

BI0
0

DEB
0

DM
-

OU
x

ETAT
1

RLG
1

/PI
1

Exemple
E 0.0 MW0 2#0000000000001111
WOR_W

A 4.0 MW2

EN IN1 IN2

ENO OUT

Cette opration est excute si l'tat de signal est 1 l'entre E 0.0. Les bits 0 3 sont mis 1, tous les autres bits de MW0 restent inchangs. MW0 IN2 MW0 OU IN2=MW2 = = = 01010101 01010101 00000000 00001111 01010101 01011111

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

191

Oprations combinatoires sur mots 14.4 WXOR_W OU exclusif mot

14.4

WXOR_W

OU exclusif mot

Reprsentation
WXOR_W EN IN1 IN2 ENO OUT

Paramtre
EN ENO IN1 IN2 OUT

Type de donnes
BOOL BOOL WORD WORD WORD

Zone de mmoire Description


E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Entre de validation Sortie de validation Premire valeur pour la combinaison Seconde valeur pour la combinaison Rsultat de la combinaison (mot)

Description de l'opration
WXOR_W (OU exclusif mot)

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

Mot d'tat
RB
Ecriture 1

BI1
x

BI0
0

DEB
0

DM
-

OU
x

ETAT
1

RLG
1

/PI
1

Exemple
E 0.0 MW0 2#0000000000001111
WXOR_W

A 4.0 MW2

EN IN1 IN2

ENO OUT

Cette opration est excute si l'tat de signal est 1 l'entre E 0.0 : MW0 IN2 MW0 OU exclusif IN2 = = = MW2 = 01010101 01010101 00000000 00001111 01010101 01011010

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

192

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations combinatoires sur mots 14.5 WAND_DW ET double mot

14.5

WAND_DW

ET double mot

Reprsentation
WAND_DW EN IN1 IN2 ENO OUT

Paramtre
EN ENO IN1 IN2 OUT

Type de donnes
BOOL BOOL DWORD DWORD DWORD

Zone de mmoire Description


E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Entre de validation Sortie de validation Premire valeur pour la combinaison Seconde valeur pour la combinaison Rsultat de la combinaison (double mot)

Description de l'opration
WAND_DW (ET double mot)

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

Mot d'tat
RB
Ecriture 1

BI1
x

BI0
0

DEB
0

DM
-

OU
x

ETAT
1

RLG
1

/PI
1

Exemple
E 0.0 MD0 DW#16#FFF
WAND_DW

A 4.0 MD4

EN IN1 IN2

ENO OUT

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

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

193

Oprations combinatoires sur mots 14.6 WOR_DW OU double mot

14.6

WOR_DW

OU double mot

Reprsentation
WOR_DW EN IN1 IN2 ENO OUT

Paramtre
EN ENO IN1 IN2 OUT

Type de donnes
BOOL BOOL DWORD DWORD DWORD

Zone de mmoire Description


E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Entre de validation Sortie de validation Premire valeur pour la combinaison Seconde valeur pour la combinaison Rsultat de la combinaison (double mot)

Description de l'opration
WOR_DW (OU double mot)

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

Mot d'tat
RB
Ecriture 1

BI1
x

BI0
0

DEB
0

DM
-

OU
x

ETAT
1

RLG
1

/PI
1

Exemple
E 0.0 MD0 DW#16#FFF
WOR_DW

A 4.0 MD4

EN IN1 IN2

ENO OUT

Cette opration est excute si l'tat de signal est 1 l'entre E 0.0. Les bits 0 11 sont mis 1. Les bits restants de MD0 restent inchangs. MD0 IN2 MD0 OU IN2 = MD4 = = = 01010101 01010101 01010101 01010101 00000000 00000000 00001111 11111111 01010101 01010101 01011111 11111111

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

194

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Oprations combinatoires sur mots 14.7 WXOR_DW OU exclusif double mot

14.7

WXOR_DW

OU exclusif double mot

Reprsentation
WXOR_DW EN IN1 IN2 ENO OUT

Paramtre
EN ENO IN1 IN2 OUT

Type de donnes
BOOL BOOL DWORD DWORD DWORD

Zone de mmoire Description


E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D E, A, M, L, D Entre de validation Sortie de validation Premire valeur pour la combinaison Seconde valeur pour la combinaison Rsultat de la combinaison (double mot)

Description de l'opration
WXOR_DW (OU exclusif double mot)

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

Mot d'tat
RB
Ecriture 1

BI1
x

BI0
0

DEB
0

DM
-

OU
x

ETAT
1

RLG
1

/PI
1

Exemple
E 0.0 MD0 DW#16#FFF
WXOR_DW

A 4.0 MD4

EN IN1 IN2

ENO OUT

Cette opration est excute si l'tat de signal est 1 l'entre E 0.0 : MD0 IN2 = = 01010101 01010101 01010101 01010101 00000000 00000000 00001111 11111111 01010101 01010101 01011010 10101010

MD0 OU exclusif IN2 = MD4 =

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

195

Oprations combinatoires sur mots 14.7 WXOR_DW OU exclusif double mot

196

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

A
A.1

Prsentation de toutes les oprations CONT


Oprations CONT classes daprs les abrviations allemandes (SIMATIC)
Abrviations allemandes
---| |-----|/|-----( ) ---(#)--==0 ---| |-->0 ---| |-->=0 ---| |--<=0 ---| |--<0 ---| |--<>0 ---| |--ABS ACOS ADD_DI ADD_I ADD_R ASIN ATAN ---( OPN ) BCD_DI BCD_I BIE ---| |------(CALL) CALL_FB CALL_FC CALL_SFB

Abrviations anglaises
---| |-----|/|-----( ) ---(#)--==0 ---| |-->0 ---| |-->=0 ---| |--<=0 ---| |--<0 ---| |--<>0 ---| |--ABS ACOS ADD_DI ADD_I ADD_R ASIN ATAN ---( OPN ) BCD_DI BCD_I BR ---| |------(CALL) CALL_FB CALL_FC CALL_SFB

Catalogue des lments de programme


Combinaison sur bits Combinaison sur bits Combinaison sur bits Combinaison sur bits Bits d'tat Bits d'tat Bits d'tat Bits d'tat Bits d'tat Bits d'tat Fonction sur nombres virgule flottante Fonction sur nombres virgule flottante Fonction sur nombres entiers Fonction sur nombres entiers Fonction sur nombres virgule flottante Fonction sur nombres virgule flottante Fonction sur nombres virgule flottante Appel de DB Conversion Conversion Bits d'tat Gestion d'excution de programmes Gestion d'excution de programmes Gestion d'excution de programmes Gestion d'excution de programmes

Description

Contact fermeture Contact ouverture Bobine de sortie Connecteur Bit de rsultat pour gal 0 Bit de rsultat pour suprieur 0 Bit de rsultat pour suprieur ou gal 0 Bit de rsultat pour infrieur ou gal 0 Bit de rsultat pour infrieur 0 Bit de rsultat pour diffrent de 0 Valeur absolue dun nombre rel Arc cosinus Additionner entiers de 32 bits Additionner entiers de 16 bits Additionner rels Arc sinus Arc tangente Ouvrir bloc de donnes Convertir nombre DCB en entier de 32 bits Convertir nombre DCB en entier de 16 bits Bit d'anomalie "registre RB" Appeler FC/SFC sans paramtre Appeler FB (bote) Appeler FC (bote) Appeler SFB (bote)

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

197

Prsentation de toutes les oprations CONT A.1 Oprations CONT classes d aprs les abrviations allemandes (SIMATIC)

Abrviations allemandes
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 MUL_I MUL_R

Abrviations anglaises
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 MUL_I MUL_R

Catalogue des lments de programme


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 entiers 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 Fonction sur nombres entiers Fonction sur nombres virgule flottante

Description

Appeler SFC (bote) Convertir rel en entier suprieur le plus proche Comparer entiers de 32 bits Comparer entiers de 16 bits Comparer rels Cosinus Convertir entier de 32 bits en nombre DCB Convertir entier de 32 bits en rel Diviser entiers de 32 bits Diviser entiers de 16 bits Diviser rels Valeur exponentielle Convertir rel en entier infrieur le plus proche Convertir entier de 16 bits en nombre DCB Convertir entier de 16 bits en entier de 32 bits Complment 1 d'entier de 16 bits Complment 1 d'entier de 32 bits Saut inconditionnel Saut l'intrieur d'un bloc si 1 (conditionnel) Saut l'intrieur d'un bloc si 0 (conditionnel) Repre de saut Logarithme naturel Relais de masquage hors fonction Relais de masquage en fonction Activer relais de masquage Dsactiver relais de masquage Reste de division (32 bits) Affecter valeur Multiplier entiers de 32 bits Multiplier entiers de 16 bits Multiplier rels

198

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Prsentation de toutes les oprations CONT A.1 Oprations CONT classes d aprs les abrviations allemandes (SIMATIC)

Abrviations allemandes
---( N )--NEG NEG_DI NEG_I NEG_R ---| NOT |--OS ---| |--OV ---| |-----( P )--POS ---( R ) ---(RET) ROL_DW ROR_DW ROUND 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 ---( SS )

Abrviations anglaises
---( N )--NEG NEG_DI NEG_I NEG_R ---| NOT |--OS ---| |--OV ---| |-----( P )--POS ---( R ) ---(RET) ROL_DW ROR_DW ROUND 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 ---( SS )

Catalogue des lments de programme


Combinaison sur bits Combinaison sur bits Conversion Conversion Conversion Combinaison sur bits Bits d'tat Bits d'tat Combinaison sur bits Combinaison sur bits Combinaison sur bits Gestion d'excution de programmes Dcalage/rotation Dcalage/rotation Conversion Combinaison sur bits Combinaison sur bits Temporisations Combinaison sur bits Temporisations Temporisations Temporisations Dcalage/rotation Dcalage/rotation Dcalage/rotation Dcalage/rotation Dcalage/rotation Dcalage/rotation Temporisations Temporisations Fonction sur nombres virgule flottante Fonction sur nombres virgule flottante Fonction sur nombres virgule flottante Combinaison sur bits Temporisations

Description

Dtecter front descendant Dtecter front descendant de signal Complment 2 d'entier de 32 bits Complment 2 d'entier de 16 bits Inverser le signe d'un nombre rel Inverser RLG Bit d'anomalie "dbordement mmoris" Bit d'anomalie "dbordement" Dtecter front montant Dtecter front montant de signal Mettre 0 Retour Rotation vers la gauche d'un double mot Rotation vers la droite d'un double mot Arrondir Bascule mise 0, mise 1 Mettre 1 Dmarrer temporisation sous forme de retard la retombe Sauvegarder RLG dans RB Paramtrer et dmarrer temporisation sous forme de retard la retombe Dmarrer temporisation sous forme de retard la monte Paramtrer et dmarrer temporisation sous forme de retard la monte Dcalage vers la gauche d'un double mot Dcalage vers la gauche d'un mot Dcalage vers la droite d'un entier de 32 bits Dcalage vers la droite d'un double mot Dcalage vers la droite d'un entier de 16 bits Dcalage vers la droite d'un mot Dmarrer temporisation sous forme d'impulsion Paramtrer et dmarrer temporisation sous forme d'impulsion Sinus Carr Racine carre Bascule mise 1, mise 0 Dmarrer temporisation sous forme de retard la monte mmoris

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

199

Prsentation de toutes les oprations CONT A.1 Oprations CONT classes d aprs les abrviations allemandes (SIMATIC)

Abrviations allemandes
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 ZAEHLER ----(ZR) Z_RUECK ---( ZV ) Z_VORW

Abrviations anglaises
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 S_CUD ----(CD) ----(S_CD) ----(CU) S_CU

Catalogue des lments de programme


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 Combinaison sur mots Combinaison sur mots Combinaison sur mots Combinaison sur mots Combinaison sur mots Combinaison sur mots Compteurs Compteurs Compteurs Compteurs Compteurs

Description

Paramtrer et dmarrer temporisation sous forme de retard la monte mmoris (SS) Soustraire entiers de 32 bits Soustraire entiers de 16 bits Soustraire rels Dmarrer temporisation sous forme d'impulsion prolonge Paramtrer et dmarrer temporisation sous forme d'impulsion prolonge Initialiser compteur Tangente Tronquer la partie entire Bit d'anomalie "illicite" ET double mot ET mot OU double mot OU mot OU exclusif double mot OU exclusif mot Paramtrage et compteur d'incrmentation/dcrmentation Dcrmenter Paramtrage et compteur de dcrmentation Incrmenter Paramtrage et compteur d'incrmentation

200

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Prsentation de toutes les oprations CONT A.2 Oprations CONT classes d aprs les abrviations anglaises (International)

A.2

Oprations CONT classes daprs les abrviations anglaises (International)


Abrviations Abrviations Catalogue anglaises allemandes des lments de programme
---|/|-----| |-----( ) ---(#)--==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 CALL_SFB CALL_SFC ----(CD) CEIL CMP ? D CMP ? I ---|/|-----| |-----( ) ---(#)--==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 CALL_SFB CALL_SFC ----(ZR) CEIL CMP ? D CMP ? I Combinaison sur bits Combinaison sur bits Combinaison sur bits Combinaison sur bits Bits d'tat Bits d'tat Bits d'tat Bits d'tat Bits d'tat Bits d'tat Fonction sur nombres virgule flottante Fonction sur nombres virgule flottante Fonction sur nombres entiers Fonction sur nombres entiers Fonction sur nombres virgule flottante Fonction sur nombres virgule flottante Fonction sur nombres virgule flottante Conversion Conversion Bits d'tat Gestion d'excution de programmes Gestion d'excution de programmes Gestion d'excution de programmes Gestion d'excution de programmes Gestion d'excution de programmes Compteurs Conversion Comparaison Comparaison

Description

Contact ouverture Contact fermeture Bobine de sortie Connecteur Bit de rsultat pour gal 0 Bit de rsultat pour suprieur 0 Bit de rsultat pour suprieur ou gal 0 Bit de rsultat pour infrieur ou gal 0 Bit de rsultat pour infrieur 0 Bit de rsultat pour diffrent de 0 Valeur absolue dun nombre rel Arc cosinus Additionner entiers de 32 bits Additionner entiers de 16 bits Additionner rels Arc sinus Arc tangente Convertir nombre DCB en entier de 32 bits Convertir nombre DCB en entier de 16 bits Bit d'anomalie "registre RB" Appeler FC/SFC sans paramtre Appeler FB (bote) Appeler FC (bote) Appeler SFB (bote) Appeler SFC (bote) Dcrmenter Convertir rel en entier suprieur le plus proche Comparer entiers de 32 bits Comparer entiers de 16 bits

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

201

Prsentation de toutes les oprations CONT A.2 Oprations CONT classes d aprs les abrviations anglaises (International)

Abrviations Abrviations Catalogue anglaises allemandes des lments de programme


CMP ? R COS ----(CU) 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 MUL_I MUL_R ---( N )--NEG NEG_DI NEG_I CMP ? R COS ---( ZV ) 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 MUL_I MUL_R ---( N )--NEG NEG_DI NEG_I 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 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

Description

Comparer rels Cosinus Incrmenter Convertir entier de 32 bits en nombre DCB Convertir entier de 32 bits en rel Diviser entiers de 32 bits Diviser entiers de 16 bits Diviser rels Valeur exponentielle Convertir rel en entier infrieur le plus proche Convertir entier de 16 bits en nombre DCB Convertir entier de 16 bits en entier de 32 bits Complment 1 d'entier de 16 bits Complment 1 d'entier de 32 bits Saut inconditionnel Saut l'intrieur d'un bloc si 1 (conditionnel) Saut l'intrieur d'un bloc si 0 (conditionnel) Repre de saut Logarithme naturel Relais de masquage hors fonction Relais de masquage en fonction Activer relais de masquage Dsactiver relais de masquage Reste de division (32 bits) Affecter valeur Multiplier entiers de 32 bits Multiplier entiers de 16 bits Multiplier rels Dtecter front descendant Dtecter front descendant de signal Complment 2 d'entier de 32 bits Complment 2 d'entier de 16 bits

202

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Prsentation de toutes les oprations CONT A.2 Oprations CONT classes d aprs les abrviations anglaises (International)

Abrviations Abrviations Catalogue anglaises allemandes des lments de programme


NEG_R ---| NOT |-----( OPN ) OS ---| |--OV ---| |-----( P )--POS ---( R ) ---(RET) ROL_DW ROR_DW ROUND RS ---( S ) ---( SAVE ) ---( SC ) ----(S_CD) S_CU S_CUD ---( SD ) ---( SE ) ---( SF ) SHL_DW SHL_W SHR_DI SHR_DW SHR_I SHR_W SIN S_ODT S_ODTS S_OFFDT ---( SP ) S_PEXT NEG_R ---| NOT |-----( OPN ) OS ---| |--OV ---| |-----( P )--POS ---( R ) ---(RET) ROL_DW ROR_DW ROUND RS ---( S ) ---( SAVE ) ---( SZ ) Z_RUECK Z_VORW ZAEHLER ---( SE ) ---( SV ) ---( SA ) SHL_DW SHL_W SHR_DI SHR_DW SHR_I SHR_W SIN S_EVERZ S_SEVERZ S_AVERZ ---( SI ) S_VIMP Conversion Combinaison sur bits Appel de DB Bits d'tat Bits d'tat Combinaison sur bits Combinaison sur bits Combinaison sur bits Gestion d'excution de programmes Dcalage/rotation Dcalage/rotation Conversion Combinaison sur bits Combinaison sur bits Combinaison sur bits Compteurs Compteurs Compteurs Compteurs Temporisations Temporisations Temporisations Dcalage/rotation Dcalage/rotation Dcalage/rotation Dcalage/rotation Dcalage/rotation Dcalage/rotation Fonction sur nombres virgule flottante Temporisations Temporisations Temporisations Temporisations Temporisations

Description

Inverser le signe d'un nombre rel Inverser RLG Ouvrir bloc de donnes Bit d'anomalie "dbordement mmoris" Bit d'anomalie "dbordement" Dtecter front montant Dtecter front montant de signal Mettre 0 Retour Rotation vers la gauche d'un double mot Rotation vers la droite d'un double mot Arrondir Bascule mise 0, mise 1 Mettre 1 Sauvegarder RLG dans RB Initialiser compteur Paramtrage et compteur de dcrmentation Paramtrage et compteur d'incrmentation Paramtrage et compteur d'incrmentation/dcrmentation Dmarrer temporisation sous forme de retard la monte Dmarrer temporisation sous forme d'impulsion prolonge Dmarrer temporisation sous forme de retard la retombe Dcalage vers la gauche d'un double mot Dcalage vers la gauche d'un mot Dcalage vers la droite d'un entier de 32 bits Dcalage vers la droite d'un double mot Dcalage vers la droite d'un entier de 16 bits Dcalage vers la droite d'un mot Sinus Paramtrer et dmarrer temporisation sous forme de retard la monte Paramtrer et dmarrer temporisation sous forme de retard la monte mmoris (SS) Paramtrer et dmarrer temporisation sous forme de retard la retombe Dmarrer temporisation sous forme d'impulsion Paramtrer et dmarrer temporisation sous forme d'impulsion prolonge

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

203

Prsentation de toutes les oprations CONT A.2 Oprations CONT classes d aprs les abrviations anglaises (International)

Abrviations Abrviations Catalogue anglaises allemandes des lments de programme


S_PULSE SQR SQRT SR ---( SS ) SUB_DI SUB_I SUB_R TAN TRUNC UO ---| |--WAND_DW WAND_W WOR_DW WOR_W WXOR_DW WXOR_W S_IMPULS SQR SQRT SR ---( SS ) SUB_DI SUB_I SUB_R TAN TRUNC UO ---| |--WAND_DW WAND_W WOR_DW WOR_W WXOR_DW WXOR_W Temporisations Fonction sur nombres virgule flottante Fonction sur nombres virgule flottante Combinaison sur bits Temporisation Fonction sur nombres entiers Fonction sur nombres entiers Fonction sur nombres virgule flottante Fonction sur nombres virgule flottante Conversion Bits d'tat Combinaison sur mots Combinaison sur mots Combinaison sur mots Combinaison sur mots Combinaison sur mots Combinaison sur mots

Description

Paramtrer et dmarrer temporisation sous forme d'impulsion Carr Racine carre Bascule mise 1, mise 0 Dmarrer temporisation sous forme de retard la monte mmoris Soustraire entiers de 32 bits Soustraire entiers de 16 bits Soustraire rels Tangente Tronquer la partie entire Bit d'anomalie "illicite" ET double mot ET mot OU double mot OU mot OU exclusif double mot OU exclusif mot

204

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

B
B.1

Exemples de programmation
Vue d'ensemble des exemples de programmation

Applications pratiques
Chacune des oprations CONT dclenche une fonction prcise. En combinant ces oprations dans un programme, vous pouvez excuter une grande varit de tches dautomatisation. Vous trouvez dans la suite quelques exemples dapplications pratiques des oprations CONT : Commande d'un tapis roulant l'aide d'oprations de combinaison sur bits Dtection du sens de dplacement d'un tapis roulant l'aide d'oprations de combinaison sur bits Gnration d'une priode d'horloge l'aide d'oprations de temporisation Surveillance de l'espace de stockage l'aide l'aide d'oprations de comptage et de comparaison Calculs l'aide d'oprations arithmtiques sur nombres entiers Rglage de la dure de chauffage d'un four

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

Catalogue des lments de programme


Combinaison sur mots Combinaison sur mots Compteurs Compteurs Combinaison sur bits Combinaison sur bits Combinaison sur bits Fonction sur nombres entiers Fonction sur nombres entiers Fonction sur nombres entiers Comparaison Comparaison Combinaison sur bits Combinaison sur bits Combinaison sur bits Sauts Gestion d'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 Contact fermeture Contact ouverture Sortie Saut l'intrieur d'un bloc si 0 Retour Affecter valeur Temporisation sous forme dimpulsion prolonge

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

205

Exemples de programmation B.2 Exemples : Oprations combinatoires sur bits

B.2

Exemples : Oprations combinatoires sur bits

Exemple 1 : Commande dun tapis roulant


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

Capteur S5

MOTEUR_MAR

S1 S2

O Marche O Arrt

S3 S4

O Marche O Arrt

Programmation absolue et symbolique


Vous pouvez crire le programme de commande du tapis roulant en reprsentant les divers composants du systme convoyeur laide 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 MOTEUR_MAR

Table de mnmoniques
E 1.1 E 1.2 E 1.3 E 1.4 E 1.5 A 4.0 S1 S2 S3 S4 S5 MOTEUR_MAR

206

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Exemples de programmation B.2 Exemples : Oprations combinatoires sur bits

Schma contacts pour commander un tapis roulant


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

A 4.0 S

S3 E 1.3

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

A 4.0 R

S4 E 1.4

S5 E 1.5

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 CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

207

Exemples de programmation B.2 Exemples : Oprations combinatoires sur bits

Programmation absolue et symbolique


Vous pouvez crire le programme de commande du tapis roulant en reprsentant les divers 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

Schma contacts pour dtecter le sens de dplacement dun tapis roulant


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

M 0.0 P

A 4.1 S

Rseau 2 : Si ltat de signal lentre E 0.1 passe de 0 1 (front montant) et si ltat de signal lentre E 0.0 est simultanment 0, le paquet sur le tapis se dplace vers la droite. Si lune des barrires photolectriques est interrompue, cela signifie quun paquet se trouve entre les deux barrires.
BPE2 E 0.1 MP2 BPE1 E 0.0 DROITE

M 0.1 P

A 4.0 S

208

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Exemples de programmation B.2 Exemples : Oprations combinatoires sur bits

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

GAUCHE A 4.1 R

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

209

Exemples de programmation B.3 Exemple : Oprations de temporisation

B.3

Exemple : Oprations de temporisation

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

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

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


T1 M0.2

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


M0.2 M001 JMP

Rseau 4 : Le mot de mmento MW100 est incrment de 1 chaque fois que la temporisation sest coule.
ADD_I EN MW100 1 IN1 IN2 ENO OUT MW100

210

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Exemples de programmation B.3 Exemple : Oprations de temporisation

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

M001 MOVE EN MW100 IN ENO OUT AW12

Linterrogation de ltat de signal


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

1 0 250 ms

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

1 0 250 ms

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

211

Exemples de programmation B.3 Exemple : Oprations de temporisation

Obtenir une frquence prcise


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

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

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

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 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 0 0 Bit 0 Valeur de temps (ms)

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

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

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

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

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

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

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

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

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

1 1
0 0

1 1
0 0

1 1
0

212

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Exemples de programmation B.3 Exemple : Oprations de temporisation

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


Frquence = 1/T = 1/1 s = 1 Hz

T M 101.1 1 0 Temps 0 250 ms 0.5 s 0.75 s 1 s 1.25 s 1.5 s

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

213

Exemples de programmation B.4 Exemple : Oprations de comptage et de comparaison

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

214

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Exemples de programmation B.4 Exemple : Oprations de comptage et de comparaison

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

E 12.0

A 12.1

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

A 12.1

A 12.0

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 MW210 IN1 IN2

A 15.2

Rseau 4 : Si la valeur du compteur est suprieure ou gale 90, la lampe de signalisation Espace de stockage plein 90 % sallume.

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

215

Exemples de programmation B.4 Exemple : Oprations de comptage et de comparaison


A 15.3

CMP >= I MW210 90 IN1 IN2

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 MW210 100 IN1 IN2

A 15.4

216

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Exemples de programmation B.5 Exemple : Oprations arithmtiques sur nombres entiers

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

Schma contacts
Rseau 1 : Ouvrir bloc de donnes DB1.
DB1 OPN

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

ADD_I

DIV_I

EN EW0 DBW3 IN1 IN2

ENO MW100 OUT MW100 15

EN IN1 IN2

ENO MW102 OUT MW102 MW0

EN IN1 IN2

ENO

OUT

MW4

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

217

Exemples de programmation B.6 Exemple : Oprations combinatoires sur mots

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

Chaleur A 4.0

7....

...0

7...

Bits EW0 Octets

XXXX

0001

1001

0001 EB1

EB0

Bouton-poussoir Marche E 0.7

Composants du systme

Adresse absolue

Bouton-poussoir Marche Molette de rglage des units Molette de rglage des dizaines Molette de rglage des centaines Dclenchement du chauffage

E 0.7 E 1.0 E 1.3 E 1.4 E 1.7 E 0.0 E 0.3 A 4.0

218

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Exemples de programmation B.6 Exemple : Oprations combinatoires sur mots

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

T1

A 4.0

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

T1
RET

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

WAND_W

WOR_W

EN EW0 W#16#FFF IN1 IN2

ENO OUT MW1 MW1 W#16#2000

EN IN1 IN2

ENO OUT MW2

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

219

Exemples de programmation B.6 Exemple : Oprations combinatoires sur mots

E 0.7

T1
SV MW2

220

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

C
C.1

Pour travailler en CONT


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

ENO = EN AND NOT (erreur de la reprsentation)


En cas d'absence d'erreur (erreur de la reprsentation = 0), on a ENO = EN. Le mcanisme EN/ENO s'utilise pour : les oprations arithmtiques, les oprations de transfert et de conversion, les oprations de dcalage et de rotation, les appels de blocs. les comparaisons, les compteurs, les temporisations.

Ce mcanisme ne s'utilise pas pour :

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 CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

221

Pour travailler en CONT C.1 Mcanisme EN/ENO

Remarques pour la cration de vos propres blocs


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

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

C.1.1

Addition avec combinaison EN et avec combinaison ENO


Si l'addition comporte aussi bien une combinaison EN qu'une combinaison ENO, les instructions LIST suivantes sont inities :
1 2 3 4 5 6 7 8 9 10 11 U E 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 out OV // Paramtres de la reprsentation // Dtection d'erreur // Enregistrer l'erreur dans le RB // Premire interrogation RB A 4.0 // Dcaler le RB dans le RLG

SPBNB _001 L L +I T UN SAVE CLR _001: U = in1 in2

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.

222

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Pour travailler en CONT C.1 Mcanisme EN/ENO

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 U E 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 out 0 // Paramtres de la reprsentation

SPBNB _001 L L +I T _001: NOP in1 in2

Aprs la ligne 1, le RLG contient le rsultat de la combinaison prcdente. L'instruction SPBNB copie le RLG dans le RB et met le bit de premire interrogation 1. Si le RLG est gal 0, le programme saute la ligne 7, l'addition n'est pas ralise, le RLG et le RB valent 0. Si le RLG est gal 1, le programme ne saute pas plus loin, ce qui signifie que l'addition est effectue. L'ventuelle apparition d'une erreur lors de l'addition n'est pas dtecte. Le RLG et le RB valent 1.

C.1.3

Addition sans combinaison EN et avec combinaison ENO


Si l'addition ne comporte pas de combinaison EN mais une combinaison ENO, les instructions LIST suivantes sont inities :
1 2 3 4 5 6 7 8 9 L L +I T UN SAVE CLR U = RB A out OV in1 in2 // Paramtres de la reprsentation // Paramtres de la reprsentation // Addition effective // Paramtres de la reprsentation // Dtection d'erreur // Enregistrer l'erreur dans le RB // Premire interrogation // Dcaler le RB dans le RLG 4.0

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

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

223

Pour travailler en CONT C.1 Mcanisme EN/ENO

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 out in1 in2 // Paramtres de la reprsentation // Paramtres de la reprsentation // Addition effective // Paramtres de la reprsentation

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

224

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Pour travailler en CONT C.2 Transmission de paramtres

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 CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

225

Pour travailler en CONT C.2 Transmission de paramtres

226

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Index
(
---( ) 16 ---( # )--- 18 ---( CD ) 72 ---( CU ) 70 ---( N )--- 28 ---( P )--- 29 ---( R ) 20 ---( S ) 22 ---( SA ) 186 ---( SC ) 69 ---( SD ) 182 ---( SE ) 180, 182 ---( SF ) 186 ---( SI ) 178 ---( SP ) 178 ---( SS ) 184 ---( SV ) 180 ---( SZ ) 69 ---( ZR ) 72 ---( ZV ) 70 ---(Call) 116 ---(JMP)--- 78, 79 ---(JMPN) 80 ---(MCR<) 128 ---(MCR>) 130, 131 ---(MCRA) 132 ---(MCRD) 133 ---(OPN) 75 ---(RET) 134 ---(SAVE) 30

>
>=0 ---| |--- 159 >=0 ---| / |--- 159 >0 ---| |--- 161 >0 ---| / |--- 161

A
Abrviations allemandes (SIMATIC) 197 Abrviations anglaises (internationales) 201 ABS 102 ACOS 111 Activer relais de masquage 132 ADD_DI 89 ADD_I 85 ADD_R 98 Addition avec combinaison EN et avec combinaison ENO 222 Addition avec combinaison EN et sans combinaison ENO 223 Addition sans combinaison EN et avec combinaison ENO 223 Addition sans combinaison EN et sans combinaison ENO 224 Additionner entiers de 16 bits 85 Additionner entiers de 32 bits 89 Additionner rels 97 Adresse dune temporisation en mmoire et composants dune temporisation 164 Affecter valeur 113 Aide en ligne 5 Appeler FB (bote) 118 Appeler FC (bote) 120 Appeler FC/SFC sans paramtre 116 Appeler multi-instance 126 Appeler SFB (bote) 122 Appeler SFC (bote) 124 Appeler un bloc dans une bibliothque 126 Applications pratiques 205, 206, 210, 214, 217, 218 Arc cosinus 111 Arc sinus 110 Arc tangente 112 Arrondir 57 ASIN 110 ATAN 112

|
---| |--- 12 ---| / |--- 13 --|NOT|-- 15

<
<=0 ---| |--- 160 <=0 ---| / |--- 160 <>0 ---| |--- 158 <>0 ---| / |--- 158 <0 ---| |--- 162 <0 ---| / |--- 162

=
==0 ---| |--- 157 ==0 ---| / |--- 157

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

227

Index

B
Bascule mise 0 - mise 1 24 Bascule mise 1 - mise 0 26 BCD_DI 49 BCD_I 46 BIE ---| |--- 156 BIE ---| / |--- 156 Bit d'anomalie 151 Bit d'anomalie "dbordement mmoris" 153 forme inverse 153 Bit d'anomalie "dbordement" 152 forme inverse 152 Bit d'anomalie "illicite" 155 forme inverse 155 Bit d'anomalie "registre RB" 156 forme inverse 156 Bit de rsultat 151 Bit de rsultat pour diffrent de 0 158 forme inverse 158 Bit de rsultat pour gal 0 157 forme inverse 157 Bit de rsultat pour infrieur 0 162 forme inverse 162 Bit de rsultat pour infrieur ou gal 0 160 forme inverse 160 Bit de rsultat pour suprieur 0 161 forme inverse 161 Bit de rsultat pour suprieur ou gal 0 159 forme inverse 159 Bobine de sortie 16

Convertir entier de 32 bits en nombre DCB 50 Convertir entier de 32 bits en rel 51 Convertir nombre DCB en entier de 16 bits 46 Convertir nombre DCB en entier de 32 bits 49 Convertir rel en entier infrieur le plus proche 60 Convertir rel en entier suprieur le plus proche 59 COS 108 Cosinus 108

D
Dcalage vers la droite d'un double mot 145 Dcalage vers la droite d'un entier de 16 bits 136 Dcalage vers la droite d'un entier de 32 bits 138 Dcalage vers la droite d'un mot 142 Dcalage vers la gauche d'un double mot 144 Dcalage vers la gauche d'un mot 140 Dcrmenter 72 Dmarrer temporisation sous forme de retard la monte 172, 182 Dmarrer temporisation sous forme de retard la monte mmoris 174, 184 Dmarrer temporisation sous forme de retard la retombe 176, 186 Dmarrer temporisation sous forme d'impulsion 168, 178 Dmarrer temporisation sous forme d'impulsion prolonge 170, 180 Dsactiver relais de masquage 133 Dtecter front descendant 28 Dtecter front descendant de signal 31 Dtecter front montant 29 Dtecter front montant de signal 32 DI_BCD 50 DI_R 51 DIV_DI 92 DIV_I 88 DIV_R 101 Diviser entiers de 16 bits 88 Diviser entiers de 32 bits 92 Diviser rels 101

C
CALL_FB 118 CALL_FC 120 CALL_SFB 122 CALL_SFC 124 Carr 103 CEIL 59 CMP ? D 40 CMP ? I 38 CMP ? R 42 Combinaison OU exclusif 14 Comparer entiers de 16 bits 38 Comparer entiers de 32 bits 40 Comparer rels 42 Complment 1 d'entier de 16 bits 52 Complment 1 dentier de 32 bits 53 Complment 2 dentier de 16 bits 54 Complment 2 dentier de 32 bits 55 Compteur de dcrmentation 67 Compteur d'incrmentation 65 Compteur d'incrmentation/dcrmentation 63 Connecteur 18 Contact fermeture 12 Contact ouverture 13 Convertir entier de 16 bits en entier de 32 bits 48 Convertir entier de 16 bits en nombre DCB 47

E
Ecriture directe en priphrie 34 ET double mot 193 ET mot 190 Evaluation des bits du mot d'tat (oprations sur nombres virgule flottante) 96 Evaluation des bits du mot d'tat dans les oprations sur nombres entiers 84 Exemple Oprations arithmtiques sur nombres entiers 217 Oprations combinatoires sur mots 218 Oprations de comptage et de comparaison 214 Exemples Oprations combinatoires sur bits 206 Exemples de programmation 205 EXP 105

228

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Index

F
FLOOR 60

I
I_BCD 47 I_DI 48 Incrmenter 70 Initialiser compteur 69 INV_D 53 INV_I 52 Inverser le signe d'un nombre rel 56 Inverser RLG 15

Oprations de saut 77, 81 Oprations de temporisation 163 OS ---| |--- 153 OS ---| / |--- 153 OU double mot 194 OU exclusif double mot 195 OU exclusif mot 192 OU mot 191 Ouvrir bloc de donnes 75 OV ---| |--- 152 OV ---| / |--- 152

P
POS 32

L
LABEL Repre de saut 81 Lecture directe en priphrie 33 LN 106 Logarithme naturel 106

R
Racine carre 104 Relais de masquage en fonction 128 Relais de masquage hors fonction 130 Remarques importantes sur l'utilisation de la fonctionnalit MCR 127 Repre de saut 81 Reste de division (32 bits) 93 Retour 134 ROL_DW 148 ROR_DW 149, 150 Rotation vers la droite d'un double mot 149 Rotation vers la gauche d'un double mot 147 ROUND 57 RS 24

M
Mcanisme EN/ENO 221, 222 Mettre 0 20 Mettre 1 22 MOD_DI 93 MOVE 114 MUL_DI 91 MUL_I 87 MUL_R 100 Multiplier entiers de 16 bits 87 Multiplier entiers de 32 bits 91 Multiplier rels 100

S
S_AVERZ 176 S_CD 67 S_CU 65 S_CUD 63 S_EVERZ 172 S_IMPULS 168 S_ODT 172 S_ODTS 174 S_OFFDT 176 S_PEXT 170 S_PULSE 168 S_SEVERZ 174 S_VIMP 170 Saut l'intrieur d'un bloc si 0 80 Saut l'intrieur d'un bloc si 1 (conditionnel) 79 Saut inconditionnel 78 Sauvegarder RLG dans RB 30 SHL_DW 144 SHL_W 140, 141 SHR_DI 138, 139 SHR_DW 145, 146 SHR_I 136, 137 SHR_W 142, 143 SIN 107 Sinus 107

N
NEG 31 NEG_DI 55 NEG_I 54 NEG_R 56

O
Opration de conversion 45 Opration de rotation 147 Oprations arithmtiques sur nombres flottantes 95 Oprations combinatoire sur mots 189 Oprations combinatoires sur bits 11 Oprations CONT classes daprs les abrviations allemandes (SIMATIC) 197 Oprations CONT classes daprs les abrviations anglaises (internationales) 201 Oprations de comparaison 37 Oprations de comptage 61 Oprations de dcalage 135 Oprations de gestion dexcution de programme 115 Oprations de nombre entiers 83

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

229

Index

Soustraire entiers de 16 bits 86 Soustraire entiers de 32 bits 90 Soustraire rels 99 SQR 103 SQRT 104 SR 26 SUB_DI 90 SUB_I 86 SUB_R 99

V
Valeur absolue d'un nombre virgule flottante 102 Valeur exponentielle 105 Vue d'ensemble 11, 37, 45, 61, 77, 83, 95, 115, 135, 147, 151, 163, 189, 205

W
WAND_DW 193 WAND_W 190 WOR_DW 194 WOR_W 191 WXOR_DW 195 WXOR_W 192

T
TAN 109 Tangente 109 Transmission de paramtres 225 Tronquer la partie entire 58 TRUNC 58

X
XOR 14

U
UO ---| |--- 155 UO ---| / |--- 155

Z
Z_RUECK 67 Z_VORW 65 ZAEHLER 63

230

Langage CONT pour SIMATIC S7-300/400 Manuel de rfrence, 05/2010, A5E02790081-01

Vous aimerez peut-être aussi