Vous êtes sur la page 1sur 4

1/4 BTS CIRA Automatismes Programmation des API Siemens S7 300 Document de cours

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 PS CPU SM SM SM SM
Adresses 0.0
3.7
4.0
7.7
8.0
11.7
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 :
d'une lettre indiquant la nature de la variable :
I pour une entre
Q pour une sortie
d'un chiffre, appel adresse d'octet, qui indique
l'emplacement du module (de 0 31),
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.
Adresse 0.0

Adresse 0.7
Adresse 1.0

Adresse 1.7
2/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
BOOL 1 bit bit 0 ou 1
BYTE 8 bits Octet, utilis pour les caractres ASCII et les entiers non signs
0 255
WORD 16 bits Nombre entier non sign cod sur 16 bits (mot) 0 65 535
INT 16 bits Nombre entier sign cod sur 16 bits (mot) - 32 768 + 32 767
DWORD 32 bits Nombre entier non sign cod sur 32 bits (double mot) 0 (2
32
1)
DINT 32 bits Nombre entier sign cod sur 32 bits (double mot) - 2
31
(2
31
1)
REAL 32 bits Nombre rel, cod en nombre virgule flottante - 10
38
+ 10
38


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'
III. Adressages directs des zones de mmoire de la CPU:

La mmoire du S7 300 est organise partir doctets. Exemples ci contre
dadressages de bits et de mots dans la mmoire interne:
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: I 1 . 3
I: identificateur de zone (MIE), adresse d'octet: octet 1 (2
me
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.
MB 1 (octet de poids fort) MB 2 (octet de poids faible) mot
MW1 M1.7 M1.6 M1.5 M1.4 M1.3 M1.2 M1.1 M1.0 M2.7 M2.6 M2.5 M2.4 M2.3 M2.2 M2.1 M2.0
MB0
MB1
MB2
MB3
MB4
M0.7
MW2
M0.0
M4.1
3/4 BTS CIRA Automatismes Programmation des API Siemens S7 300 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 M B 10 M B 11 M B 12 M B 13

IV. 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:
- oprations combinatoires sur bits: blocs NOT complment bit bit dun octet ou mot.
blocs AND ou OR ET ou OU bit bit dun octet ou mot.
- 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 numriques.
- oprations de transfert (MOVE). - oprations logiques.
- oprations de dcalage et de rotation.
- oprations de conversion. Blocs BCD_I convertir DCB en entier.
4/4 BTS CIRA Automatismes Programmation des API Siemens S7 300 Document de cours
VII. Traitement cyclique du programme:


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.

Bloc de mise en route (OB100)
Traitement unique, par exemple la mise sous tension.
Lancement du temps de
surveillance de cycle.
Lecture de l'tat des signaux sur les modules et mmorisation
des donnes dans la mmoire image du processus (MIE)


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.
C
y
c
l
e

d
e

l
a

C
P
U

Module
d'entre
Module de
sortie
Bloc OB 1