Vous êtes sur la page 1sur 7

Atelier C TIA Portal

CTIA04 : Programmation des automates S7-300


Oprations numriques

CTIA04

Page 1

1. Les types de donnes sous S7 300


Il existe plusieurs types de donnes utilises pour la programmation des automates Siemens.

1.1 Les entiers INT (entiers signs sur 16 bits)


Un nombre entier est un nombre sans chiffres aprs la virgule. Ces nombres sont cods sous 16 bits.

Dans STEP 7, les constantes de type INT sont entres au format dcimal avec signe et sans indication
explicite du format. Lentre dentiers constants sous forme binaire ou hexadcimale est possible,
bien quinapproprie.

1.2 Les doubles entiers DINT (entiers signs sur 32 bits)

CTIA04

Page 2

Dans STEP 7, les constantes de type de donnes DINT sont entres au format dcimal avec signe et
indication de format L#, o L signifie long . Si des valeurs dfinies sont infrieures -32768 ou
suprieures 32767, lindication de format L# est ajoute automatiquement. Elle doit en revanche
tre entre par lutilisateur pour des nombre ngatifs suprieurs -32768 (par exemple L#-1). Cela
est indispensable lorsque la valeur est utilise comme entier double dans une opration
mathmatique, sinon le traitement seffectuerait avec une valeur errone (valeur + signe).

1.3 Les rels REAL (nombre virgule flottante sur 32 bits)


Les types de donnes INT et DINT sutilisent pour enregistrer des valeurs signes. Ces valeurs ne
permettent donc deffectuer que des oprations dont le rsultat est aussi un nombre entier.
Cependant, lorsque les valeurs traites sont des grandeurs analogiques de type courant, tension ou
temprature, lutilisation de nombre au format REAL est indispensable.

Les nombres virgule flottante sutilisent notamment pour le traitement des valeurs analogiques.
Leur principal avantage rside dans le fait quils admettent une multitude d'oprations, parmi
lesquelles des oprations standard comme +, -, *, / mais aussi des oprations comme sin, cos, exp,
ln,...

CTIA04

Page 3

2. Byte, Word, Double Word


Il est important de bien savoir comment fonctionnent les bit, byte, mot et double mot.
Byte il se compose de 8 bits. Dans lexemple ci-dessous, le BYTE MB 40 se compose des bits de
M40.0 M 40.7.
MB40

M40.7

M40.0

7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0

Word = mot il se compose 16 bits. Dans lexemple ci-dessous, le MOT MW 40 se compose de 2


BYTES : MB 40 et MB 41. Cest le bit 7 du BYTE MB 40 qui est le plus significatif.
MW40
MB40

MB41

7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2

1 0

Double Word = double mot il se compose de 32 bits. Dans lexemple ci-dessous, le DOUBLE MOT
MD 40 se compose de 4 BYTES : MB 40 MB 43.
MD40

MB40

MB41

MB42

MB43

7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0

Dans lexemple ci-dessous, les mmentos 40.0, 40.1 et 40.2 sont ltat 1 et on peut voir le
contenu du Byte MB40 , du Mot MW40 et du Double Mot MW40 .

CTIA04

Page 4

Ce tableau est le mme que le prcdent mais avec un format daffichage dcimal.

Il faut faire trs attention lorsque lon utilise les MB, MW et MD ne pas avoir de conflit. En effet,
si par exemple vous utilisez une donne de type real dans MD40, vous ne pouvez plus utiliser les
MB 40, 41, 42 et 43 ni MW41,
Le programme ne dtectera aucune erreur de compilation mais vos donnes seront crases et le
programme ne fonctionnera pas.

3. Fonction de conversion
L'instruction Convert lit le contenu du paramtre IN et le convertit conformment aux types de
donnes choisis dans l'instruction. La valeur convertie est fournie la sortie OUT.
Toutes les conversions ne sont pas permises. On peut choisir le format de conversion laide du
menu droulant qui est disponible en IN et en OUT dans linstruction.

Dans lexemple ci-dessous, la valeur de lentre analogique IW800, qui est de type INT est convertie
en une valeur de type DINT. Ce double entier pourra par la suite tre converti en une variable de
type REAL afin de pouvoir effectuer des oprations mathmatiques de type DIV .

CTIA04

Page 5

4. Les comparaisons
Il existe 6 fonctions de comparaisons possibles : gal, diffrent, suprieur ou gal, infrieur ou gal,
suprieur, infrieur.
Oprande 1

Oprande 2

Les instructions de comparaison ncessitent 2 oprandes. Le format des oprandes peut tre vari :
INT, DINT, REAL, BYTE, WORD, DWORD, TIME,.
Dans lexemple ci-dessus, le voyant Q1 sallume lorsque la Valeur courante compteur (oprande
1) est gale la valeur Consigne pices mtalliques (oprande 2) contenue dans un le bloc de
donne Consignes de production .

5. Les fonctions mathmatiques


Il existe un grand nombre de fonctions mathmatiques utilisable dans STEP7. Citons par exemple les
additions, soustractions, multiplication, divisions mais aussi les racines carres, les fonctions
trigonomtriques,
Lorsque lon utilise ces fonctions, il faut faire attention bien respecter le format des donnes.
Lopration ralise est une multiplication
(MUL) entre des nombres entiers (INT). On
choisit le format de lopration grce un
menu droulant.

Dans lexemple ci-dessus, on effectue une multiplication de nombres entiers (INT). On ne peut donc
pas utiliser comme type de donne un mot double (ici %MD20). Le type de donne doit tre un Mot
(par exemple %MW24).

CTIA04

Page 6

6. Fonctions de transfert : MOVE


L'instruction Move , permet de transfrer le contenu de l'oprande l'entre IN dans l'oprande
la sortie OUT1. Le transfert s'effectue toujours dans le sens croissant des adresses.
Dans lexemple ci-dessous, on transfert le contenue de %ID280 qui provient dune priphrie
(module As-i par exemple) dans ID72.

Lorsque le type de donnes l'entre IN a une longueur de bits suprieure celle du type de
donnes la sortie OUT1, les bits de poids fort de la valeur source se perdent. Quand le type de
donnes l'entre IN a une longueur de bits infrieure celle du type de donnes la sortie OUT1,
les bits de poids fort de la valeur cible sont remplis de zros.

7. Exercice
Lexercice qui va suivre sera ralis laide du logiciel CIROS Mechatronics Module de projet Ligne
de convoyage 4 .

Ralisation dun compteur par addition. Lorsquune pice est prsente lentre du convoyeur et
que lon appuie sur le bouton Start, elle est achemine vers la sortie. Les pices mtalliques sont
comptes (comptage par addition). Lorsque 3 pices mtalliques ont t dtectes, le voyant Q1
sallume. Si le nombre de pices mtalliques dpasse 3, le voyant Q2 sallume.
La remise zro du compteur se fait laide du bouton Reset.

CTIA04

Page 7