Vous êtes sur la page 1sur 4

BTS CIRA

Programmation des automates Siemens S7 300

Document

L'automate S7 300 est le modle de base de la gamme des API Siemens qui comprend aussi les S7 200
(modle compact) et les S7 400 (modle utilis en rgulation). Il se programme avec le logiciel Step 7
de Siemens.

I.

Structure matrielle du S7 300

Le S7 300 peut comporter des modules PS (alimentation), CPU (unit centrale), SM (module de
signaux d'entres/sorties), modules de fonctions FM pour les fonctions spciales (par ex. : commande de
moteur pas pas), processeurs de communication CP pour les liaisons rseau. Chaque module est repr
par un emplacement.
N d'emplacement
1
2
4
5
6
7

Type de module
Adresses

PS

CPU

SM
0.0
3.7

SM
4.0
7.7

SM
8.0
11.7

SM
12.0
15.7

Une entre ou une sortie est dsigne dans le programme


l'aide d'une adresse qui indique clairement quel est son
emplacement sur l'automate. Cette adresse est compose :
Adresse 0.0
d'une lettre indiquant la nature de la variable :
I pour une entre
Adresse 0.7
Q pour une sortie
d'un chiffre, appel adresse d'octet, qui indique
Adresse 1.0
l'emplacement du module (de 0 31),
Adresse 1.7
d'un point ( . )
d'un chiffre, appel adresse de bit, qui indique
l'emplacement de la variable sur le module (de 0 7).
Nota : _ L'emplacement 3 est rserv au coupleur IM pour une configuration multichssis
_ 4 adresses d'octet sont rservs chaque emplacement. En cas d'utilisation de modules
d'entres/sorties 16 voies , on perd 2 adresses d'octet par emplacement.
Dans la configuration de l'automate, ralise l'aide de l'utilitaire Hardware Config , il faut inclure
les diffrents modules et les paramtrer. Exemples de paramtrages :
_ module entre analogique : il faut dfinir le type de transmetteur, et la plage de variation du signal.
_ module CPU : Il faut dfinir la dure du cycle de surveillance (chien de garde), on peut galement
dfinir le mmento de cadence et les zones de rmanence.
Le mmento de cadence est un octet de mmoire dont chaque bit va changer priodiquement.
Si M100 est choisi comme octet de cadence, alors :
M100.7 va changer de valeur binaire avec une frquence de 0,5 Hz.
M100.6 va changer de valeur binaire avec une frquence de 1 Hz.

Les zones de rmanence sont des zones o les donnes sont inscrites dans des mmoires RAM
non volatiles. Les mmentos, les temporisations et mes compteurs qui sont inscrits dans ces
zones conservent leur valeur lors d'une coupure d'alimentation, mme sans pile de sauvegarde.
1/4 BTS CIRA

Automatismes

Programmation des API Siemens S7 300

Document de cours

II.

Types de donnes utilises:


Les types de donnes simples utilises lors de la programmation sont:

types de
donnes

taille du type
de donnes

Description

Plage

1 bit
bit
BOOL
0 ou 1
Octet, utilis pour les caractres ASCII et les entiers non signs
8 bits
BYTE
0 255
16 bits
Nombre entier non sign cod sur 16 bits (mot)
WORD
0 65 535
16
bits
Nombre
entier
sign
cod
sur
16
bits
(mot)
INT
- 32 768 + 32 767
32 bits
Nombre entier non sign cod sur 32 bits (double mot)
DWORD
0 (232 1)
32 bits
Nombre entier sign cod sur 32 bits (double mot)
DINT
- 231 (231 1)
32 bits
Nombre rel, cod en nombre virgule flottante
REAL
- 1038 + 1038
Pour visualiser les valeurs de taille octet, mot ou double mot, on peut utiliser diffrents formats:
- format dcimal: +20047
- format binaire:
W#2#1010 0101 1010 0101
- format hexadcimal: DW#16#4E4F
- format rel ou virgule flottante: +1.17549E-38
- format ASCII:
'texte entre apostrophes'
M0.0
MB0

III.

Adressages directs des zones de mmoire de la CPU:

M0.7

MB1
MB2

La mmoire du S7 300 est organise partir doctets. Exemples ci contre


MW2
MB3
dadressages de bits et de mots dans la mmoire interne:
M4.1
MB4
L'API S7 300 dispose de diffrentes zones mmoires:
- Mmoire Image des Entres appele MIE ( I): La CPU lit les entres sur les modules au dbut de
chaque cycle et crit ces valeurs dans la mmoire image des entres.
- Mmoire Image des Sorties appele MIS ( Q): La CPU copie dans les sorties des modules
correspondants les valeurs contenues dans la mmoire image des sorties.
- Mmoire des mmentos ou mmoire interne ( M):
Les mmentos internes fournissent de l'espace mmoire pour l'tat intermdiaire d'une opration ou
d'autres informations de commande.
-

Mmoire des temporisations ( T): 2 variables sont associes chaque temporisation:


la valeur en cours: ce nombre contient la dure comptabilise par la temporisation.
le bit de temporisation: ce bit est mis 1 ou 0 selon le rsultat de la comparaison entre la valeur
en cours et la valeur prdfinie.
Mmoire des compteurs ( C):
Les compteurs sont des lments qui comptent chaque front montant des entres de comptage.

Pour accder un bit dans une des zones mmoires, il faut prciser son adresse compose d'un
identificateur de zone de mmoire, de l'adresse d'octet et du rang du bit. Exemple:
I1.3
I: identificateur de zone (MIE), adresse d'octet: octet 1 (2me octet de la MIE), rang du bit sur
loctet: bit 3 de l'octet (de 0 7).
Pour accder un octet (8 bits), un mot (16 bits) ou un double mot (32 bits), les notations sont les
suivantes:
- accs un octet:
M B 100 M: identificateur de zone (mmoire interne), B accs un octet (Byte), 100: adresse
d'octet.
octet M B 100:

M 100.7

M 100.6

M 100.5

M 100.4

M 100.3

M 100.2

M 100.1

M 100.0

- accs un mot:
M W 1 M: identificateur de zone (mmoire interne), W accs un mot (Word), 1: adresse de l'octet
de poids fort du mot.
mot
MW1

MB 1 (octet de poids fort)


M1.7

M1.6

2/4 BTS CIRA

M1.5

M1.4

M1.3

Automatismes

M1.2

MB 2 (octet de poids faible)


M1.1

M1.0

M2.7

M2.6

M2.5

M2.4

Programmation des API Siemens S7 300

M2.3

M2.2

M2.1

M2.0

Document de cours

- accs un double mot:


M D 10 M: identificateur de zone (mmoire variable), D accs un double mot ( Double word), 10:
adresse de l'octet de poids fort du double mot.
M D 10

IV.

M B 10

M B 11

M B 12

M B 13

Organisation du programme:

L'organisation des applications ralises avec Step7 sont conus partir de blocs : On distingue :
les blocs utilisateur ou ce dernier viendra crire son programme (OB, FC, FB)
les blocs systmes qui sont des ressources prdfinies exploitables par l'utilisateur (SFC et SFB).
Les programmes crits dans Step 7 comportent 3 types de blocs fondamentaux :
- le bloc programme principal appel OB1 (Bloc d'Organisation n1). Il est excut de manire
cyclique par la CPU de l'automate. Ce programme ne doit contenir que des oprations permanentes
quelque soit le mode de fonctionnement car lOB1 est toujours scrut. Il doit aussi grer l'appel des
sous programmes.
- les blocs sous programmes (appels FC ou FB). Ils sont excuts uniquement lorsque le
programme principal les appelle (un sous programme peut aussi appeler un autre sous programme).
Ils permettent de structurer l'application: par exemple, chacun d'eux contient la partie du programme
grant un mode de fonctionnement ou une zone dfinie de l'installation.
- les programmes d'interruptions (autres OB que OB1). Ils sont excuts lorsque se produit
l'vnement d'interruption correspondant ce programme. Par exemple :
_OB 100 est un bloc qui est excut lorsque l'automate passe en RUN (dmarrage chaud).
_OB 35 est un bloc qui peut tre excut toutes les 100ms.
_OB 80 est un bloc qui est excut en cas de dbordement du chien de garde.

V.

Langages de programmation:

Le logiciel Step7 permet de programmer l'automate avec un des 3 langages, qui sont trs proches des 3
langages normaliss suivants :
Langage utilisable dans Step 7 :
Langages dfinis par la norme CEI 61131-3
langage contact appel CONT.
langage ladder (LD).
langage logigramme appel LOG.
blocs fonctionnel ou Function Diagram Bloc (FDB)
liste d'instruction appel LIST.
langage littral de bas niveau ou Instruction List (IL)
La plupart des oprations disponibles avec Step 7 sont trs semblables celles proposes par le
logiciel PL7 de Schneider qui respecte aussi cette norme (ex: temporisations, compteurs).

VI.

Jeu d'oprations disponibles:

On peut faire appel certaines oprations dans un programme pour raliser une fonction particulire.
Ces oprations sont classes par famille:
blocs NOT complment bit bit dun octet ou mot.
blocs AND ou OR ET ou OU bit bit dun octet ou mot.

oprations combinatoires sur bits:

oprations de comparaison. Blocs EQ galit entre 2 mots.


Blocs GE supriorit entre 2 mots
Blocs LE infriorit entre 2 mots

oprations de temporisation. ( S_ODT, S_PULSE ).


oprations de comptage.
Blocs S_CU compteur incrmental (+1 chaque front montant).
Blocs S_CUD compteur incrmental (+1) ou dcrmental (-1).

oprations arithmtiques.
oprations de transfert (MOVE).
oprations de dcalage et de rotation.

oprations de conversion.

3/4 BTS CIRA

Automatismes

- oprations numriques.
- oprations logiques.

Blocs BCD_I convertir DCB en entier.


Programmation des API Siemens S7 300

Document de cours

VII. Traitement cyclique du programme:


Bloc de mise en route (OB100)
Traitement unique, par exemple la mise sous tension.

Module
d'entre

Lancement du temps de
surveillance de cycle.

Cycle de la CPU

Lecture de l'tat des signaux sur les modules et mmorisation


des donnes dans la mmoire image du processus (MIE)

Bloc OB 1
Excution du programme dans l'OB1
(traitement cyclique)
Certains vnements
(alarme horaire, alarmes de processus, etc..)
dclenchent d'autres OB.

Ecriture de la mmoire image des sorties (MIS) dans les


modules de sortie.

Module de
sortie

Dmarrage
A la mise sous tension ou la mise en marche (RUN), la CPU procde une initialisation complte
(dmarrage avec l'OB100). Lors du dmarrage, le systme d'exploitation efface les mmentos, les
temporisations et les compteurs non rmanents, les alarmes de processus et de diagnostic mmorises et
il lance le temps de surveillance du cycle.
Cycle de scrutation
Le fonctionnement cyclique de la CPU comprend 3 tapes principales :
La CPU interroge l'tat des signaux des modules d'entres et actualise la mmoire image des
entres MIE.
Elle excute le programme utilisateur avec ses diffrentes oprations.
Elle copie les valeurs de la mmoire image des sorties MIS dans les modules de sortie.

4/4 BTS CIRA

Automatismes

Programmation des API Siemens S7 300

Document de cours

Vous aimerez peut-être aussi