Vous êtes sur la page 1sur 112

SIMATIC

Mise en route STEP 7


Getting Started

A la dcouverte de STEP 7

SIMATIC Manager

Programmation symbolique

Cration dun programme


dans lOB1

Cration dun programme


avec FB et DB

Configuration des units


centrales

Chargement et test du
programme

Programmation dune
fonction (FC)

Programmation dun bloc de


donnes global

Programmation dun bloc


multiinstance

10

Configuration de la
priphrie dcentralise

11

Annexe A

Ce manuel est livr avec la documentation rfrence :


6ES7810-4CA10-8CW0

05/2010
A5E02904801-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 dun triangle de danger, signifie que la non-application des mesures de scurit appropries peut
entraner des blessures lgres.
PRUDENCE
non accompagn dun 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
Lappareil/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

A5E02904801-01
02/2010

Copyright Siemens AG 2010.


Sous rserve de modifications techniques

Bienvenue dans STEP 7...


... le logiciel SIMATIC de base pour la conception de programmes pour systmes
dautomatisation SIMATIC S7-300/400 dans les langages de programmation CONT, LOG ou
LIST.

Quelques informations sur ce Getting Started


Vous apprenez dans ce livre les principes de SIMATIC STEP 7. Nous vous montrons laide
dexercices pratiques les botes de dialogue et les techniques de programmation centrales. Ce
manuel a t conu de sorte que vous pouvez le prendre en cours et le commencer pour ainsi
dire chaque chapitre.
Vous trouvez dans chaque sous-chapitre une partie explicative repre par une bande grise et
une partie programmation repre en vert. La squence de programmation commence toujours
par une flche dans la marge verte gauche et peut se poursuivre sur plusieurs pages avant de
se terminer par un point suivi dun complment dinformation.
Une exprience de Windows (maniement de la souris, technique multifentres ou utilisation de
menus droulants etc.) et des connaissances dans le domaine de lautomatisation sont utiles.
Vous avez la possibilit dapprofondir les connaissances acquises dans ce Getting Started au
cours de stages de formation STEP 7, dans lesquels vous apprenez concevoir et laborer
une solution dautomatisation dans toutes ses phases.

Environnement requis pour travailler avec Getting Started


Pour raliser les exercices pratiques sur STEP 7 prsents dans ce Getting Started vous avez
besoin

dune console de programmation Siemens ou dun PC,

du logiciel de base STEP 7 et de la "License Key" correspondante et

dun systme dautomatisation SIMATIC S7-300 ou S7-400


(pour le chapitre 7 "Charger et tester le programme")

Autre documentation de STEP 7

STEP 7 Connaissances fondamentales

STEP 7 Manuels de rfrence

Aprs linstallation de STEP 7, vous trouvez les manuels lectroniques dans le menu de dmarrage sous SIMATIC > Documentation. Vous avez galement la possibilit de les commander
dans nimporte quelle filiale Siemens. Toutes les informations contenues dans les manuels de
STEP 7 peuvent galement tre appeles dans laide en ligne.
Nous vous souhaitons un parcours agrable avec Getting Started !
Votre SIEMENS AG

Getting Started STEP 7


A5E02904801-01

Avant-propos

Getting Started STEP 7


4

A5E02904801-01

Sommaire
1

A la dcouverte de STEP 7

1.1

Quapprendrez-vous dans ce manuel ?

1.2

Interaction du logiciel et du matriel

1.3

STEP 7 : Mode demploi

10

1.4

Installation de STEP 7

11

SIMATIC Manager

2.1

Lancer SIMATIC Manager et crer un projet

13

2.2

Structure du projet dans SIMATIC Manager


et appel de laide de STEP 7

16

Dans les chapitres 3 5, vous


crez un programme simple.

Programmation symbolique

3.1

Adresse absolue

19

3.2

Programmation symbolique

20

Cration dun programme dans lOB1

4.1

Ouvrir lditeur de programme dans la vue CONT, LIST ou LOG et l'ouvrir dans 23
l'OB1

4.2

Programmation de lOB1 en CONT

26

4.3

Programmation de lOB1 en LIST

30

4.4

Programmation de lOB1 en LOG

33

Cration dun programme avec FB et DB

5.1

Crer et ouvrir un bloc fonctionnel

37

5.2

Programmation du bloc FB1 en CONT

39

5.3

Programmation du bloc FB1 en LIST

43

5.4

Programmation du bloc FB1 en LOG

46

5.5

Gnrer les blocs de donnes dinstance et modifier les valeurs effectives

50

5.6

Programmation d'un appel de bloc en CONT

52

5.7

Programmation d'un appel de bloc en LIST

55

5.8

Programmation d'un appel de bloc en LOG

57

Getting Started STEP 7


A5E02904801-01

Sommaire

Dans les chapitres 6 et 7, vous


configurez le matriel et testez
votre programme.

Configuration des units centrales

6.1

Configuration matrielle

Chargement et test du programme

7.1

Etablir la liaison en ligne

63

7.2

Chargement du programme dans le systme cible

65

7.3

Tester le programme avec la fonction de visualisation

68

7.4

Tester le programme avec la table des variables

70

7.5

Evaluer la mmoire tampon de diagnostic

74

61

Dans les chapitres 8 11, vous


largissez vos connaissances en
apprenant dautres fonctions.

Programmation dune fonction (FC)

8.1

Crer et ouvrir une fonction

77

8.2

Programmer la fonction

79

8.3

Appel de la fonction dans lOB1

82

Programmation dun bloc de donnes global

9.1

Crer et ouvrir un bloc de donnes global

10

Programmation dun bloc multiinstance

10.1

Crer et ouvrir un bloc fonctionnel

89

10.2

Programmer le bloc FB10

91

10.3

Gnrer un DB10 et modifier la valeur effective

95

10.4

Appel du FB10 dans lOB1

97

11

Configuration de la priphrie dcentralise

11.1

Installer et configurer la priphrie dcentralise avec PROFIBUS-DP

85

101

Annexe A
Vue densemble des exemples de projet relatifs au manuel Getting Started

109

Index

111

Getting Started STEP 7


6

A5E02904801-01

A la dcouverte de STEP 7

1.1

Quapprendrez-vous dans ce manuel ?


Nous voulons vous montrer laide dexercices pratiques comme il est simple de programmer
en CONT, LOG et LIST avec STEP 7.
Vous apprendrez utiliser les diffrentes applications de STEP 7 au cours des onze leons
suivantes.

Cration dun programme laide de fonctions binaires


Dans les chapitres 2 7, vous crez un programme laide de fonctions binaires permettant
ladressage des entres et sorties de votre CPU si vous en avez une.
Les programmes-exemples de "Getting Started" utilisent pour lessentiel trois fonctions binaires de
base.
La fonction binaire que vous aurez en premier programmer est la fonction ET. Cette dernire
peut tre reprsente par un circuit lectrique deux commutateurs.
Commutat. 1

Commut. 2

La seconde fonction binaire que nous serons amen programmer est la fonction OU. On peut
galement la reprsenter par un circuit lectrique.
Commut. 3

Commut. 4

Lactionnement du
commutateur 3 ou 4 fait
sallumer la lampe.

Getting Started STEP 7


Fehler! Unbekannter Name fr Dokument-Eigenschaft.

A la dcouverte de STEP 7

La troisime fonction qui nous occupera est la bascule (fonction SR). Celle-ci ragit dans un circuit
lectrique certains tats de tension et a pour fonction de les transmettre dautres lments du
circuit.

Bascule

Commut. S

R
Commut. R

Lactionnement du commutateur S fait


sallumer la lampe qui reste allume
jusqu laction du commutateur R.

Getting Started STEP 7


8

Fehler! Unbekannter Name fr Dokument-Eigenschaft.

A la dcouverte de STEP 7

1.2

Interaction du logiciel et du matriel


Vous crez laide du logiciel STEP 7 votre programme S7 dans un projet. Lautomate S7 est
constitu dun module dalimentation, dune CPU et de modules dentres ou de sorties
(modules dE/S).
Lautomate programmable (AP) contrle et commande laide du programme S7 votre
machine. Ladressage des modules dE/S se fait par lintermdiaire des adresses du programme
S7.

Cble PG

Console de
programmation
Transfert du programme cr

Logiciel STEP 7

Machine
devant tre
commande

CPU

Module dalimentation

Module de sorties

Module dentres

Getting Started STEP 7


Fehler! Unbekannter Name fr Dokument-Eigenschaft.

A la dcouverte de STEP 7

1.3

STEP 7 : Mode demploi


Avant de crer votre projet, sachez que diffrentes approches sont possibles. En effet, vous
tes libre dans STEP 7 de procder dans lordre qui vous convient.
Conception dune solution dautomatisation

Cration dun projet (Chapitre 2)


Alternative 1

Alternative 2

Configuration matrielle
(Chapitre 6)

Cration du programme
(Chapitres 3 5)

Cration du programme
(Chapitres 3 5)

Configuration matrielle
(Chapitre 6)

Transfert et test du programme dans la CPU


(Chapitre 7)

Si votre programme contient beaucoup dentres et de sorties, nous vous recommandons de commencer
par configurer le matriel, lapplication de configuration matrielle de STEP 7 prsentant lavantage que
les adresses y sont slectionnes pour vous.
Si vous choisissez la seconde alternative, il vous faudra rechercher vous-mme les adresses en fonction
des constituants choisis. Vous ne pourrez alors pas bnficier de la fonction dadressage automatique de
STEP 7.
La configuration matrielle vous permet non seulement de slectionner les adresses, mais galement de
modifier les paramtres et les proprits des modules. Pour la mise en uvre de plusieurs CPU, il faut par
exemple modifier les adresses MPI des CPU.

Comme nous navons pas besoin de beaucoup dentres


et de sorties dans ce "Getting Started", sautons la
configuration matrielle et passons directement la
programmation.

Getting Started STEP 7


10

Fehler! Unbekannter Name fr Dokument-Eigenschaft.

A la dcouverte de STEP 7

1.4

Installation de STEP 7
Que vous vouliez commencer par la programmation ou par la configuration matrielle, vous devez tout
dabord installer STEP 7, moins que vous nutilisiez une PG SIMATIC sur laquelle STEP 7 est dj
install.
Pour installer le logiciel STEP 7 sur
une PG/PC sans logiciel prinstall,
tenez compte de lenvironnement
logiciel et matriel requis. Vous
trouvez ceux-ci dcrits dans le fichier
Lisezmoi qui se trouve sur le
CD-ROM de STEP 7 sous
<Lecteur>:\STEP 7\Disk1

Si vous devez dabord installer


STEP7, insrez le CD-ROM de
STEP 7 dans le lecteur. Le
programme dinstallation est
automatiquement lanc. Suivez les
instructions affiches par celui-ci.
Si le lancement automatique du
programme choue, vous pouvez
lancer ce dernier partir du CD-ROM
sous :
<Lecteur>:\STEP 7\Disk1\setup.exe.

Aprs linstallation et le redmarrage


de lordinateur, licne du "SIMATIC
Manager" saffiche sur votre bureau.

En double-cliquant linstallation une fois acheve sur licne "SIMATIC Manager", vous lancez
automatiquement lassistant de STEP 7.
Vous trouverez de plus amples informations sur
linstallation du logiciel dans le fichier Lisezmoi.wri qui
figure sur le CD de STEP 7 sous
<Lecteur>:\STEP 7\Disk1\Lisezmoi.wri

Getting Started STEP 7


Fehler! Unbekannter Name fr Dokument-Eigenschaft.

11

A la dcouverte de STEP 7

Getting Started STEP 7


12

Fehler! Unbekannter Name fr Dokument-Eigenschaft.

SIMATIC Manager

2.1

Lancer SIMATIC Manager et crer un projet


Le lancement de STEP 7 fait souvrir le gestionnaire de projets SIMATIC Manager. Lassistant
de STEP 7 est par dfaut toujours activ. Celui-ci a pour but de vous assister dans la cration
de votre projet STEP 7. La structure du projet sert ordonner les donnes et programmes crs
au cours du projet.
Les donnes sont archives dans le projet sous la forme dobjets en une
structure hirarchique.

La station SIMATIC et la CPU renferment les donnes de configuration et


de paramtrage du matriel.

Le programme S7 contient tous les


blocs des divers programmes qui
serviront commander la machine.

Double-cliquez sur licne SIMATIC Manager sur le


bureau Windows. Choisissez la commande de menu
Fichier > Assistant "Nouveau projet", si lassistant
ne dmarre pas automatiquement.
Avec Aperu, vous pouvez afficher ou masquer la
structure du projet cr.
Avec Suivant, vous passez la feuille suivante de
lassistant.

Getting Started STEP 7


A5E02904801-01

13

SIMATIC Manager

Slectionnez pour lexemple de projet de notre


Getting Started la CPU 314. Cet exemple a t
conu de telle sorte que vous pouvez slectionner la
CPU qui vous a t livre.
Ladresse MPI est rgle par dfaut sur 2.
Confirmez vos slections et passez au prochain dialogue avec Suivant.

Chaque CPU a des caractristiques,


comme la capacit de mmoire ou
les plages doprandes qui lui sont
propres. Cest pourquoi vous devez
toujours slectionner une CPU avant
de programmer.
Ladresse MPI (Multi Point Interface)
est requise pour la communication
entre la CPU et la PG ou le PC.

Slectionnez le bloc dorganisation OB1 (sil nest


dj slectionn).
Choisissez votre langage de programmation : CONT,
LOG ou LIST.
Confirmez vos slections avec Suivant.

LOB1 se trouve la tte de la


hirarchie du programme. Tous les
autres blocs du programme lui sont
subordonns.
Vous pouvez changer de langage de
programmation tout moment
ultrieur.

Getting Started STEP 7


14

A5E02904801-01

SIMATIC Manager

Slectionnez en double-cliquant dans la zone de


texte Nom du projet le nom propos et entrez la
place de celui-ci Getting Started.
Si vous cliquez sur Crer, votre nouveau projet sera
cr selon la structure que vous pouvez voir avec
Aperu.

Aprs lexcution de la commande Crer, SIMATIC Manager souvre avec la fentre du projet "Getting
Started" nouvellement cr. La signification et la manipulation des fichiers et dossiers crs sera explique
dans les pages suivantes.
Lassistant de STEP 7 est activ par dfaut chaque nouveau lancement du programme. Si vous voulez
le dsactiver, vous pouvez le faire dans le premier dialogue de lassistant. Sachez toutefois quil vous faudra crer manuellement chaque dossier du projet que vous crerez sans lassistant.

Pour plus dinformations, rfrez-vous la rubrique


d'aide "Cration et dition de projets" via la
commande de menu ? > Rubriques daide.

Getting Started STEP 7


A5E02904801-01

15

SIMATIC Manager

2.2

Structure du projet dans SIMATIC Manager et appel de laide de


STEP 7
Ds que lAssistant est referm, SIMATIC Manager apparat de nouveau avec la fentre du
projet Getting Started qui vient dtre cr ouverte. Cest partir de cette fentre que vous
allez appeler toutes les fonctions et les autres fentres de STEP 7.
Ouvir, organiser et imprimer les
projets

Editer les blocs et insrer les lments


de programme

Choisir la reprsentation et la
disposition des fentres, choisir la
langue et slectionner diverses
options pour les donnes du processus

Charger le programme et
surveiller le matriel
Appeler lAide de STEP 7

Le contenu de la fentre de gauche


affiche la structure du projet.

Le contenu de la fentre de droite


affiche les objets et les dossiers du
dossier slectionn gauche.

Getting Started STEP 7


16

A5E02904801-01

SIMATIC Manager

Appeler lAide de STEP 7

F1

Alternative 1 :
Slectionnez une commande de menu quelconque et
appuyez sur la touche de fonction F1. Une aide
contextuelle saffiche alors sur la commande en
question.
Alternative 2 :
Cliquez dans la barre des menus sur ? et slectionnez-y la commande Rubriques daide. Ceci ouvre le
menu de lAide de STEP 7.
Dans la partie gauche de la fentre est affich le
sommaire avec toutes les rubriques traites, dans la
partie droite la rubrique slectionne.
Naviguez dans le sommaire jusqu la rubrique dsire en ouvrant ventuellement par un clic sur le signe
+ les livres pour afficher les rubriques quil contient.
Quand vous slectionnez une rubrique, son contenu
saffiche aussitt dans la partie droite de la fentre
Avec Index et Rechercher, vous pouvez entrer vos
critres de recherche afin de cibler la recherche.

Alternative 3 :
Cliquez dans laide de STEP 7 sur licne "Page
daccueil".
Un portail dinformation saffiche. Il offre un accs
rapide aux thmes centraux de laide en ligne comme
par exemple :

Mise en route rapide de STEP 7

Configuration et programmation

Test et dbogage

SIMATIC sur Internet

Alternative 4 :
Cliquez sur le curseur daide. Le prochain clic sur un
objet quelconque affiche laide pour cet objet.

Getting Started STEP 7


A5E02904801-01

17

SIMATIC Manager

Naviguer dans la structure du projet


La structure du projet nouvellement cr saffiche
avec la station S7 et la CPU slectionnes.
Cliquez sur le signe + ou pour ouvrir ou fermer les
diffrents dossiers.
Vous appelez les autres fonctions en cliquant sur les
icnes apparaissant dans la partie droite de la fentre.

Cliquez sur le dossier Programme S7 (1). Il contient


son tour dautres constituants du programme.
Via Mnmoniques vous ouvrez la table des mnmoniques dcrite au chapitre 3 dans laquelle vous donnez aux adresses des noms symboliques.
Le dossier Sources sert archiver vos programmes
source. Ces derniers ne sont pas traits dans ce
Getting Started.
Si vous cliquez sur le dossier Blocs, vous voyez
lunique bloc cr jusquici lOB1. Il contiendra tous
les autres blocs qui viendront aprs lui.
Via les blocs vous parvenez la programmation en
CONT, LOG et LIST dcrite aux chapitres 4 et 5.

Cliquez sur le dossier Station SIMATIC 300. Il


contient toutes les donnes du projet servant au matriel.
Via Matriel vous spcifiez les paramtres de votre
systme dautomatisation comme dcrit au chapitre 6.

Les logiciels optionnels servant lextension de votre tche dautomatisation tels PLC-SIM (programme de
simulation du matriel) ou S7-GRAPH (langage graphique de programmation) sont intgrs STEP 7. Vous pouvez alors ouvrir leurs objets, par exemple un bloc fonctionnel
S7-GRAPH depuis SIMATIC Manager.
Pour plus dinformations, voir les rubriques daide Elaboration
du concept dautomatisation et Principes de conception de la
structure du programme".
Pour plus dinformations sur les logiciels optionnels, voir le
catalogue SIMATIC Constituants pour lintgration totale de
systmes automatiss ST 70.

Getting Started STEP 7


18

A5E02904801-01

Programmation symbolique

3.1

Adresse absolue
Chaque entre et chaque sortie possde par dfaut une adresse absolue dtermine par la
configuration matrielle. Celle-ci est indique de manire directe, cest--dire absolue.
Ladresse absolue peut tre remplace par des noms symboliques pouvant tre librement choisis.

BATF

DC 5V

FRCE

RUN

STOP

Module
dentres TOR
Octet 0
Bits 0 7
SF

DC 24V

RUN P
RUN

ON
OFF

STOP
M RES

L+
N

L+
M
L+
M

Module
dentresTOR
Octet 1
Bits 0 7
M

L+
M

Adresse absolue :

Entre

Octet 1

Module de
sorties TOR
Octet 4
Bits 0 7
Module de
sorties TOR
Octet 5
Bits 0 7

1.5

Bit 5

Nutilisez la programmation absolue que si le nombre


d'entres et de sorties de votre programme est limit.

Getting Started STEP 7


A5E02904801-01

19

Programmation symbolique

3.2

Programmation symbolique
Vous affectez dans la table des mnmoniques un nom symbolique toutes les adresses absolues que vous voulez appeler dans le programme ainsi que le type de donnes, par exemple
pour lentre E0.1 le mnmonique Commutateur 1. Ces noms valent pour toutes les sections du
programme. Cest pourquoi on les appelle des variables globales.
La programmation symbolique permet dallger lcriture de votre programme qui y gagne en
clart.

Travailler avec lditeur de mnmoniques


Pour ouvrir celui-ci, naviguez dans la fentre
de projet "Getting Started" jusquau Programme S7 (1) et double-cliquez sur Mnmoniques.
La table des mnmoniques ne contient pour
linstant que le bloc dorganisation dfini par
dfaut, lOB1.

Cliquez sur Cycle Execution et crivez la


place de celui-ci "Programme principal".
Entrez dans la ligne 2 "Feu vert" et "A 4.0".
Le type de donnes sinscrit automatiquement dans la colonne du type.
Cliquez dans la ligne 1 ou 2 sur la colonne du
commentaire pour entrer ventuellement un
commentaire de mnmonique. L'action de la
touche Entre clt la ligne ou
lenregistrement et insre une nouvelle ligne
de mnmonique.
Entrez dans la ligne 3 "Feu rouge" et "A 4.1"
et confirmez la saisie avec Entre.

Affectez de la mme manire un nom symbolique


toutes les entres et sorties du programme.

Getting Started STEP 7


20

A5E02904801-01

Programmation symbolique

Enregistrez vos entres ou vos modifications


de la table des mnmoniques et fermez la
fentre.
Comme le projet "Getting Started" contient beaucoup de noms, vous pouvez copier la table des
mnmoniques dans votre projet comme dcrit au chapitre ci-aprs.

Vous voyez ci-contre la table


des mnmoniques de
lexemple de programme S7
"Getting Started" pour LIST.
De manire gnrale, une
table des mnmoniques est
gnre pour chaque programme S7, et quel que soit
le langage de programmation
choisi.
Tous les caractres pouvant
tre imprims (lettres accentues, espaces etc.) sont
autoriss dans la table des
mnmoniques.

Le type de donnes inscrit automatiquement dans la table des mnmoniques indique la CPU le type de
signal quelle a traiter. STEP 7 utilise entre autres les types de donnes suivants :
BOOL
BYTE
WORD
DWORD
CHAR
INT
DINT
REAL
S5TIME
TIME
DATE
TIME_OF_DAY

Les donnes ayant ce type autorisent les oprations sur bits de 1 bit (type BOOL) 32
bits (DWORD).

Les donnes ayant ce type occupent exactement un caractre du jeu de caractres


ASCII.
Ces types de donnes servent au traitement de valeurs numriques (par exemple au
calcul dexpressions arithmtiques).
Formats de temps existants dans STEP 7 pour indiquer une date ou entrer une valeur
de temps.

Pour plus dinformations, rfrez-vous aux rubriques


"Programmation de blocs" et "Dfinir les mnmoniques" via la commande de menu ? > Rubriques
daide.

Getting Started STEP 7


A5E02904801-01

21

Programmation symbolique

Getting Started STEP 7


22

A5E02904801-01

Cration dun programme dans lOB1

4.1

Ouvrir l'diteur de programme dans la vue CONT, LIST ou LOG et


ouvrir lOB1
Choisissez votre langage de programmation : CONT, LIST ou LOG
Pour crer vos programmes S7, vous disposez dans STEP 7 de trois langages de programmation
CONT, LIST ou LOG. Dans la pratique et pour ce chapitre, vous devez vous dcider pour lun de
ces langages.
CONT (Schma CONTacts)
Pour lhabitu des schmas lectriques.

LIST (LISTe dinstructions)


Pour linformaticien.

LOG (LOGigramme)
Pour le spcialiste des circuits ou le programmeur prfrant les oprations logiques.

Le bloc OB1 souvre dans la vue du langage choisi lors de sa cration avec
lassistant au projet. Vous pouvez toutefois modifier le langage par dfaut
tout moment ultrieur.

Getting Started STEP 7


A5E02904801-01

23

Cration dun programme dans lOB1

Copier la table des mnmoniques et ouvrir lOB1


Sil nest pas encore ouvert, ouvrez votre projet "Getting
Started". Cliquez pour cela dans la barre doutils sur le
bouton Ouvrir, slectionnez dans la liste propose le
projet cr "Getting Started" et confirmez avec OK.
Slectionnez dans longlet "Projets-exemples" en outre
lun des projets suivants en fonction du langage de programmation choisi :

ZFr01_05_STEP7_KOP_1-9 ou

ZFr01_01_STEP7_AWL_1-9 ou

ZFr01_03_STEP7_FUP_1-9.
Vous pouvez voir ci-contre ces trois exemples de projet
reprsents.
Naviguez dans ZFr01_XXX jusqu lobjet Mnmoniques et copiez celui-ci par glisser-lcher dans le dossier Programme S7 de la fentre de votre projet "Getting Started".
Fermez ensuite la fentre du projet
ZFr01_XXX.
Glisser-lcher signifie slectionner un objet en
cliquant dessus avec la souris et le dplacer en
maintenant le bouton de la souris appuy. Le
relchement du bouton de la souris permet
dinsrer lobjet lendroit dsir.

Double-cliquez dans le projet "Getting Started" sur


lOB1. Lditeur de programme CONT/LIST/LOG
souvre.

LOB1 de STEP 7 est excut de manire cyclique par la CPU. La CPU lit pour cela le programme ligne
par ligne et en excute les commandes. Lorsque la CPU est revenue la premire ligne du programme,
elle a effectu un cycle. Le temps quelle a mis pour le faire est appel le temps de cycle.
Pour poursuivre la programmation, reportez-vous si vous avez choisi le langage CONT au paragraphe 4.2,
le langage LIST au paragraphe 4.3 et le langage LOG au paragraphe 4.4.
Pour plus dinformations, rfrez-vous aux rubriques
"Programmation de blocs" et "Cration de blocs et
de bibliothques" via la commande de menu ? >
Rubriques daide.

Getting Started STEP 7


24

A5E02904801-01

Cration dun programme dans lOB1

Lditeur de programme CONT/LIST/LOG


Cest dans lditeur de programme CONT/LIST/LOG que vous programmez les blocs. Vous
voyez reprsente ici titre dexemple la vue CONT.

Insrer un nouveau
rseau
Principaux lments de programme
CONT et LOG
Afficher, masquer les lments de programme et la structure du programme
(la fentre peut tre pingle nimporte
o dans la fentre de programme)
Modifier la vue du
langage de
programmation

Elments de
programme
(ici CONT) et
structure
d'appels

La vue densemble des variables ou la


vue de dtail contient les paramtres et
les variables locales du bloc.

Titre et zone de commentaire


du bloc ou du rseau

Ligne de saisie du programme (encore appele


Rseau ou Branche de courant).

Description succincte de llment de programme slectionn

Les diffrents onglets de la fentre "Dtails" permettent laffichage de messages


derreur et dinformations sur les oprandes, sur ldition des mnmoniques, le
forage des variables, la comparaison de
blocs et ldition de dfinitions derreur
pour le diagnostic de processus.

Getting Started STEP 7


A5E02904801-01

25

Cration dun programme dans lOB1

4.2

Programmation de lOB1 en CONT


Vous apprenez dans les pages suivantes programmer un circuit srie, un circuit parallle et une
bascule Mise 1 /Remise 0 en langage de programmation CONT (Schma CONTacts).

Programmation dun circuit srie en CONT


Si vous ne lavez pas encore fait, slectionnez via le
menu Affichage le langage de programmation CONT.

Cliquez dans la zone Titre de lOB1 et entrez comme


titre pour celui-ci "Excution cyclique".
Slectionnez la position voulue de la branche de courant pour y insrer le premier lment.
Cliquez dans la barre doutils sur le bouton reprsent
ici et insrez un contact fermeture.
Insrez de la mme manire un second contact fermeture.
Insrez une bobine lextrmit droite de la branche de
courant.
Pour achever notre circuit srie, il manque encore les
adresses des contacts et de la bobine.
Vrifiez si vous avez activ la reprsentation symbolique.

Getting Started STEP 7


26

A5E02904801-01

Cration dun programme dans lOB1

Cliquez sur ??.? et entrez le nom symbolique "Commutateur 1" (entre guillemets !). Vous pouvez galement
choisir le nom dans la liste droulante affiche.
Confirmez avec la touche Entre.
Introduisez pour le second contact fermeture le nom
symbolique "Commutateur 2".
Entrez pour la bobine le nom "Feu vert".
Votre circuit srie est maintenant programm.
Enregistrez le bloc lorsque le programme ne signale
plus aucune erreur.

Les mnmoniques sont affichs en rouge sils ne sont pas contenus dans la table des
mnmoniques ou sil y a une erreur syntaxique dans le programme.

Getting Started STEP 7


A5E02904801-01

27

Cration dun programme dans lOB1

Programmation dun circuit parallle en CONT


Slectionnez le Rseau 1.

Insrez un nouveau rseau.


Slectionnez nouveau la branche de courant.
Insrez un contact fermeture et une bobine.
Slectionnez la branche verticale du rseau.
Insrez une branche parallle.
Insrez dans la branche parallle un second contact
fermeture.
Fermez la branche en cliquant le cas chant sur
lextrmit de la flche).
Il ne reste plus qu complter les adresses.
Procdez pour cela comme pour le circuit srie.
Entrez pour le contact du haut "Commutateur 3", pour le
contact du bas "Commutateur 4" et pour la bobine "Feu
rouge".
Enregistrez le bloc.

Getting Started STEP 7


28

A5E02904801-01

Cration dun programme dans lOB1

Programmation dune bascule en CONT


Slectionnez le rseau 2, et insrez un troisime
rseau.
Slectionnez ensuite la branche de courant.
Naviguez dans le catalogue des lments de programme jusqu lentre Oprations sur bits et slectionnez-y la bascule SR.
Double-cliquez sur celleci pour linsrer.
Insrez un contact fermeture avant les entres S et R.

Entrez pour la bascule SR les noms symboliques suivants :


"Automatique Marche" pour le premier contact, "Manuel Marche" pour le second contact et entrez comme
titre de bascule "Mode automatique".
Enregistrez le bloc et fermez lditeur de programme.

Si vous voulez voir la diffrence entre ladressage absolu et ladressage symbolique, dsactivez laffichage
symbolique en choisissant dans le menu Affichage la commande Afficher avec > mnmoniques.

Exemple d'adressage symbolique


en CONT

Exemple d'adressage absolu en


CONT

Si les mnmoniques apparaissent coups, vous pouvez agrandir la largeur du champ de loprande avec la
commande de menu Outils > Paramtres > CONT/LOG > Largeur du champ doprande de lditeur de
programme CONT/LIST/LOG.
Celui-ci peut tre largi une largeur de 10 26 caractres.

Pour plus dinformations, rfrez-vous aux rubriques


"Programmation de blocs", "Cration de blocs de code"
et "Edition dinstructions CONT" via la commande de
menu ? > Rubriques daide.

Getting Started STEP 7


A5E02904801-01

29

Cration dun programme dans lOB1

4.3

Programmation de lOB1 en LIST


Vous apprenez dans les pages qui suivent programmer une instruction ET, une instruction OU et
des instructions de mise 1 et de mise 0 en LIST (LISTe dinstructions).

Programmation dune instruction ET en LIST


Si vous ne lavez pas encore fait, slectionnez dans le
menu Affichage le langage de programmation LIST.

Vrifiez que la reprsentation symbolique est active.

Cliquez dans la zone de Titre de lOB1 et entrez par


exemple pour titre "Excution cyclique".
Slectionnez la zone de la premire instruction.

Inscrivez dans la premire ligne du programme un U


(UND) pour ET suivi dun espace et du mnmonique
"Commutateur 1" (entre guillemets).
Cliquez la fin de la ligne sur la touche Entre. Le curseur saute la ligne suivante.

Getting Started STEP 7


30

A5E02904801-01

Cration dun programme dans lOB1

Compltez de la mme manire linstruction UND (ET).

Votre fonction ET est maintenant programme. Enregistrez le bloc lorsque le programme ne signale plus aucune erreur.
Les mnmoniques sont affichs en rouge sils ne sont pas contenus dans la table
des mnmoniques ou sil y a une erreur syntaxique dans le programme.

Programmation dune instruction OU en LIST


Slectionnez le Rseau 1.

Insrez un nouveau rseau et slectionnez nouveau


la zone de saisie.
Entrez un O (ODER) pour OU suivi du mnmonique
"Commutateur 3" (comme nous lavons fait pour ET).
Compltez linstruction ODER (OU) et enregistrez-la.

Getting Started STEP 7


A5E02904801-01

31

Cration dun programme dans lOB1

Programmation dune bascule en LIST


Slectionnez le rseau 2 et insrez un troisime rseau.
Inscrivez linstruction U dans la premire ligne avec
pour mnmonique "Automatique Marche".
Compltez linstruction de bascule en vous orientant au
modle ci-contre et enregistrez-la. Fermez le bloc.

Si vous voulez voir la diffrence entre ladressage absolu et ladressage symbolique, dsactivez laffichage symbolique
en choisissant dans le menu Affichage la commande Afficher avec > mnmoniques.
Exemple dadressage symbolique
en LIST

Exemple dadressage absolu en


LIST

Pour plus dinformations, rfrez-vous aux rubriques


"Programmation de blocs", "Cration de blocs de code" et "Edition dinstructions LIST" via la commande
de menu ? > Rubriques daide.

Getting Started STEP 7


32

A5E02904801-01

Cration dun programme dans lOB1

4.4

Programmation de lOB1 en LOG


Vous apprenez dans les pages qui suivent programmer une fonction ET, une fonction OU et une
bascule en langage de programmation LOG (LOGigramme).

Programmation dune fonction ET en LOG


Si cela nest dj fait, slectionnez le langage de programmation LOG dans le menu Affichage.

Cliquez dans la zone de titre de lOB1 et entrez comme


titre "Excution cyclique".
Slectionnez la zone de saisie pour y entrer la fonction
ET (sous la zone du commentaire).

Insrez une bote ET (&) et une affectation (=).


Il ne reste plus qu complter les adresses des diffrents lments de la fonction ET.

Vrifiez que la reprsentation symbolique est active.

Getting Started STEP 7


A5E02904801-01

33

Cration dun programme dans lOB1

Cliquez sur ??.? et entrez le nom symbolique "Commutateur 1" (entre guillemets !). Vous pouvez galement
slectionner le nom dans la liste droulante affiche.
Confirmez avec la touche Entre.
Inscrivez pour la seconde entre le mnmonique
"Commutateur 2".

Entrez comme nom daffectation "Feu rouge".

Votre fonction ET est maintenant programme.

Lorsquaucun oprande nest plus affich en rouge,


vous pouvez enregistrer.

Les mnmoniques sont affichs en rouge sils ne sont pas contenus dans la table des
mnmoniques ou sil y a une erreur syntaxique dans le programme.

Getting Started STEP 7


34

A5E02904801-01

Cration dun programme dans lOB1

Programmation dune fonction OU en LOG


Insrez un nouveau rseau.
Slectionnez nouveau la zone de saisie pour y entrer
la fonction OU.

Insrez une bote OU (1) et une affectation (=).


Il ne reste plus qu complter les adresses. Procdez
comme pour la fonction ET.

Entrez pour la premire entre partant du haut le mnmonique "Commutateur 3",


pour la seconde entre le mnmonique "Commutateur
4" et pour laffectation le mnmonique "Feu rouge".
Enregistrez le bloc.

Getting Started STEP 7


A5E02904801-01

35

Cration dun programme dans lOB1

Programmation dune bascule en LOG


Slectionnez le rseau 2 et insrez un troisime
rseau. Slectionnez de nouveau la zone de saisie
(sous la zone du commentaire).
Naviguez dans le catalogue des lments de programme jusqu lentre Oprations sur bits et slectionnez-y une bascule SR. Un double clic sur celle-ci
insre une bascule dans le rseau.
Introduisez aux entres et sorties de la bascule les
noms symboliques suivants :
S "Automatique Marche, R "Manuel Marche,
Mmento "Mode automatique.
Enregistrez le bloc et fermez lditeur de programme.

Si vous voulez voir la diffrence entre ladressage absolu et ladressage symbolique, dsactivez laffichage
symbolique en choisissant dans le menu Affichage la commande Afficher avec > mnmoniques.

Exemple dadressage symbolique en


LOG

Exemple dadressage absolu en


LOG

Si les mnmoniques apparaissent coups, vous pouvez agrandir la largeur du champ de loprande avec la
commande de menu Outils > Paramtres > CONT/LOG > Largeur du champ doprande de lditeur de
programme CONT/LIST/LOG.
Celui-ci peut tre largi une largeur de 10 26 caractres.

Pour plus dinformations, rfrez-vous aux rubriques


"Programmation de blocs", "Cration de blocs de code" et "Edition dinstructions LOG" via la commande
de menu ? > Rubriques daide.

Getting Started STEP 7


36

A5E02904801-01

Cration dun programme avec FB et DB

5.1

Crer et ouvrir un bloc fonctionnel


Le bloc fonctionnel (FB) est subordonn au bloc dorganisation. Il renferme une partie du programme qui peut tre appele autant de fois quon le veut dans lOB1. Tous les paramtres formels et toutes les donnes statiques du bloc fonctionnel sont stockes dans un bloc de donnes
DB spar qui est associ au bloc fonctionnel.
Vous programmez le bloc fonctionnel (FB1 au nom symbolique "Moteur",
voir la table des mnmoniques, page 21) dans lditeur de programme CONT/LIST/LOG dj
connu. Vous devez utiliser pour cela le mme langage de programmation que celui que vous avez
utilis au chapitre 4 (Programmation de lOB1).
La table des mnmoniques doit pour cela avoir t copie dans le projet "Getting Started". Si ce nest pas le
cas, rfrez-vous la page 24, copiez la table des
mnmoniques et revenez cette page.
Ouvez si le projet nest pas encore ouvert la fentre du
projet "Getting Started".

Naviguez jusquau dossier Blocs et ouvrez-le.


Cliquez avec le bouton droit de la souris dans la partie
droite de la fentre.

Le menu contextuel du bouton droit de la souris offre


nouveau les principales commandes de menu de la
barre doutils. Insrez comme nouvel objet un bloc fonctionnel.

Getting Started STEP 7


A5E02904801-01

37

Cration dun programme avec FB et DB

Choisissez dans la bote de dialogue des proprits du


bloc fonctionnel, le langage de cration, activez la case
doption Multiinstance et validez toutes les autres options avec OK.

Le bloc fonctionnel FB1 a t insr dans le dossier


Blocs.
Un double clic sur le bloc FB1 ouvre lditeur de programme CONT/LIST/LOG.

Si vous avez choisi le langage de programmation CONT, poursuivez au chapitre 5.2, si vous avez choisi le
langage LIST au chapitre 5.3 et si vous avez choisi le langage LOG au chapitre 5.4.
Pour plus dinformations, rfrez-vous aux rubriques
"Programmation de blocs" et "Cration de blocs et
de bibliothques" via la commande de menu ? >
Rubriques daide.

Getting Started STEP 7


38

A5E02904801-01

Cration dun programme avec FB et DB

5.2

Programmation du bloc FB1 en CONT


Nous vous montrons comment programmer un bloc fonctionnel pouvant par exemple commander
et surveiller un moteur essence et un moteur Diesel grce ses deux blocs de donnes.
Tous les signaux spcifiques un type de moteur sont transmis sous la forme de paramtres par
le bloc dorganisation au bloc fonctionnel et doivent donc au pralable tre dclars comme paramtres dentre et de sortie ( "in" et "out") dans la table de dclaration des variables.
Vous devez dj connatre la programmation dun circuit srie, dun circuit parallle et dune bascule avec STEP 7.

Dclarer ou dfinir en premier les variables


La fentre de lditeur de programme CONT/LIST/LOG
est ouverte et la vue CONT est active (commande
Affichage > CONT.
Vous voyez maintenant en titre de la fentre FB1 car
vous avez ouvert lditeur de programme en doublecliquant sur ce bloc.

La section de dclaration des variables est constitue dune vue densemble des variables (volet
gauche de la fentre) et de la vue de dtail des variables (volet droit de la fentre).
Slectionnez successivement dans la vue densemble les types de dclaration "IN", "OUT" et
"STAT" et entrez dans la vue de dtails des variables les dclarations suivantes.
Cliquez dans les champs correspondants de la vue dtaille des variables et reprenez les donnes affiches dans les figures suivantes. Slectionnez le type de donnes dans la liste droulante affiche.

Getting Started STEP 7


A5E02904801-01

39

Cration dun programme avec FB et DB

Pour afficher les colonnes invisibles, cliquez sur le bouton droit de la souris et choisissez les colonnes voulues
dans le menu contextuel.
Seules les lettres, les chiffres et le caractre de
soulignement sont autoriss pour lintroduction de noms
dans la table de dclaration des variables.

Programmer la mise en marche et la mise larrt du moteur


Insrez dans le rseau 1 un contact fermeture, un
contact ouverture et une bascule SR en srie en cliquant sur les icnes correspondantes ou en les slectionnant dans le catalogue des lments de programme.
Slectionnez ensuite la branche de courant suivant
immdiatement lentre R.

Insrez un autre contact fermeture. Slectionnez la


branche de courant suivant immdiatement le contact
fermeture.

Insrez paralllement au contact fermeture un contact


ouverture.

Getting Started STEP 7


40

A5E02904801-01

Cration dun programme avec FB et DB

Vrifiez que la reprsentation symbolique est active.

Slectionnez les points dinterrogation et entrez les noms symboliques de la table de dclaration
des variables (# est automatiquement attribu).
Entrez pour le contact ouverture du circuit srie le mnmonique "Mode automatique".
Enregistrez ensuite votre programme.

Les variables locales sont caractrises par un symbole # et ne


sont valables qu lintrieur du bloc.
Les variables globales figurent entre des guillemets. Elles sont
dfinies dans la table des mnmoniques et sont valables dans tout
le programme.
Ltat de signal Mode automatique est dfini dans lOB1 (rseau
3, voir pages 29) par une autre bascule SR et interrog prsent
dans le bloc FB1.

Getting Started STEP 7


A5E02904801-01

41

Cration dun programme avec FB et DB

Programmer une surveillance de vitesse


Insrez un nouveau rseau et slectionnez la branche
de courant.
Naviguez ensuite dans le catalogue des lments de
programme jusquau dossier Comparaison et insrez
le comparateur CMP>=I.
Insrez galement une bobine la fin de la branche de
courant.
Slectionnez de nouveau les points dinterrogation et intitulez la bobine et le comparateur en vous
servant des noms correspondants dans la table de dclaration des variables.
Enregistrez en dernier lieu votre programme.

Quand le moteur se met-il en marche ou larrt ?


Le moteur est activ si la variable #Mise en marche a pour tat de signal "1" et si la variable "Mode automatique" a pour tat de signal "0". Nous ralisons cette fonctionnalit en niant la variable "Mode automatique"
(contact ouverture).
Si la variable #Mise larrt a pour tat de signal "1" ou si la variable #Defaillance a pour tat de signal "0",
le moteur se met larrt. Nous ralisons cette fonction nouveau en niant la variable #Defaillance (#Defaillance est donc un signal entrant en action quand sa valeur est nulle. Dans le cas normal, il aura la valeur
1, dans le cas d'une dfaillance, il aura la valeur 0.).
Comment le comparateur surveille-t-il la vitesse du moteur ?
Le comparateur compare les variables #Actual_Speed et #Preset_Speed et inscrit ce rsultat dans la variable #Preset_Speed_Reached (tat de signal 1).
Pour plus dinformations, rfrez-vous aux rubriques "Programmation de blocs", "Cration de blocs
de code" et "Editer la table de dclaration des
variables" ou "Editer les instructions CONT" via la
commande de menu ? > Rubriques daide.

Getting Started STEP 7


42

A5E02904801-01

Cration dun programme avec FB et DB

5.3

Programmation du bloc FB1 en LIST


Nous vous montrons comment programmer un bloc fonctionnel pouvant par exemple commander
et surveiller un moteur essence et un moteur Diesel grce ses deux blocs de donnes.
Tous les signaux spcifiques un type de moteur sont transmis sous la forme de paramtres par
le bloc dorganisation au bloc fonctionnel et doivent donc au pralable tre dclars comme paramtres dentre et de sortie ( "in" et "out") dans la table de dclaration des variables.
Vous devez dj connatre la programmation dune instruction ET, d'une instruction OU et dune
bascule en LIST.

Dclarer ou dfinir en premier les variables


La fentre de lditeur de programme CONT/LIST/LOG
est ouverte et la vue CONT est active (commande
Affichage > LIST.
Vous voyez maintenant en titre de la fentre FB1 car
vous avez ouvert lditeur de programme en doublecliquant sur ce bloc.

La section de dclaration des variables est constitue dune vue densemble des variables (volet
gauche de la fentre) et de la vue de dtail des variables (volet droit de la fentre).
Slectionnez successivement dans la vue densemble les types de dclaration "IN", "OUT" et
"STAT" et entrez dans la vue de dtails des variables les dclarations suivantes.
Cliquez dans les champs correspondants de la vue dtaille des variables et reprenez les donnes affiches dans les figures suivantes. Slectionnez le type de donnes dans la liste droulante affiche.

Getting Started STEP 7


A5E02904801-01

43

Cration dun programme avec FB et DB

Seules les lettres, les chiffres et le caractre de


soulignement sont autoriss pour lintroduction de noms
dans la table de dclaration des variables.

Programmer la mise en marche et la mise larrt du moteur


Vrifiez que la reprsentation symbolique est active.

Entrez dans le rseau 1 les instructions requises.

Les variables locales sont caractrises par un


symbole # et ne sont valables qu lintrieur du
bloc.
Les variables globales figurent entre des guillemets.
Elles sont dfinies dans la table des mnmoniques
et sont valables dans tout le programme.
Ltat de signal "Mode automatique" est dfini dans
lOB1 (rseau 3, voir pages 29) par une autre
bascule SR et interrog prsent dans le bloc FB1.

Getting Started STEP 7


44

A5E02904801-01

Cration dun programme avec FB et DB

Programmer une surveillance de vitesse


Insrez un nouveau rseau et entrez les instructions
voulues. Enregistrez ensuite votre programme.

Quand le moteur se met-il en marche ou larrt ?


Le moteur est activ si la variable #Mise en marche a pour tat de signal "1" et si la variable "Mode automatique" a pour tat de signal "0". Nous ralisons cette fonctionnalit en niant la variable "Mode automatique" (contact ouverture).
Si la variable #Mise larrt a pour tat de signal "1" ou si la variable #Defaillance a pour tat de signal "0",
le moteur se met larrt. Nous ralisons cette fonctionnalit galement en niant la variable #Defaillance
(#Defaillance est un signal qui entre en action quand sa valeur est nulle. Il a dans le cas normal la valeur 1,
et en cas de dfaillance la valeur 0.).
Comment le comparateur surveille-t-il la vitesse du moteur ?
Le comparateur compare les variables #Actual_Speed et #Preset_Speed et inscrit ce rsultat dans la variable #Preset_Speed_Reached (tat de signal 1).
Pour plus dinformations, rfrez-vous aux rubriques
"Programmation de blocs", "Cration de blocs de
code" et "Editer la table de dclaration des variables" ou "Editer les instructions LIST" via la commande de menu ? > Rubriques daide.

Getting Started STEP 7


A5E02904801-01

45

Cration dun programme avec FB et DB

5.4

Programmation du bloc FB1 en LOG


Nous vous montrons comment programmer un bloc fonctionnel pouvant par exemple commander
et surveiller un moteur essence et un moteur Diesel grce ses deux blocs de donnes.
Tous les signaux spcifiques un type de moteur sont transmis sous la forme de paramtres par
le bloc dorganisation au bloc fonctionnel et doivent donc au pralable tre dclars comme paramtres dentre et de sortie ( "in" et "out") dans la table de dclaration des variables.
Vous devez pour cela dj savoir programmer une fonction ET, une fonction OU et une bascule en
LOG.

Dclarer ou dfinir en premier les variables


La fentre de lditeur de programme CONT/LIST/LOG
est ouverte et la vue LOG est active (commande
Affichage > LOG.
Vous voyez maintenant en titre de la fentre FB1 car
vous avez ouvert lditeur de programme en doublecliquant sur ce bloc.

La section de dclaration des variables est constitue dune vue densemble des variables (volet
gauche de la fentre) et de la vue de dtail des variables (volet droit de la fentre).
Slectionnez successivement dans la vue densemble les types de dclaration "IN", "OUT" et
"STAT" et entrez dans la vue de dtails des variables les dclarations suivantes.
Cliquez dans les champs correspondants de la vue dtaille des variables et reprenez les donnes affiches dans les figures suivantes. Slectionnez le type de donnes dans la liste droulante affiche.

Getting Started STEP 7


46

A5E02904801-01

Cration dun programme avec FB et DB

Seules les lettres, les chiffres et le caractre de


soulignement sont autoriss pour lintroduction
de noms dans la table de dclaration des variables.

Programmer la mise en marche et la mise larrt dun moteur


Insrez dans le rseau 1 une fonction SR (dossier Oprations sur bits) que vous slectionnez dans le catalogue des lments de programme.
Reliez lentre S (mise 1) une bote ET et lentre R
(remise 0) une bote OU.

Vrifiez que la reprsentation symbolique est active.

Getting Started STEP 7


A5E02904801-01

47

Cration dun programme avec FB et DB

Cliquez sur les points dinterrogation ??.? et entrez leur place les noms appropris de la table de
dclaration des variables (# est automatiquement entr par le programme).
Veillez ce quune entre de la fonction ET ait pour adresse le nom symbolique "Mode automatique".
Il ne vous reste plus qu nier les entres "Mode automatique" et #Defaillance en cliquant dans la
barre doutils sur le bouton servant la ngation.
Enregistrez ensuite votre programme.

Les variables locales sont caractrises par un symbole # et


ne sont valables qu lintrieur du bloc.
Les variables globales figurent entre des guillemets. Elles
sont dfinies dans la table des mnmoniques et sont valables
dans tout le programme.
Ltat de signal "Mode automatique" est dfini dans lOB1
(rseau 3, voir pages 29) par une autre bascule SR et interrog prsent dans le bloc FB1.

Getting Started STEP 7


48

A5E02904801-01

Cration dun programme avec FB et DB

Programmer une surveillance de vitesse


Insrez un nouveau rseau et slectionnez la zone de
saisie.
Naviguez ensuite dans le catalogue des lments de
programme jusquau dossier Comparaison et slectionnez un comparateur CMP>=I.
Insrez aprs le comparateur une affectation de sortie et entrez aux adresses les mnmoniques
de la table de dclaration des variables.
Enregistrez ensuite votre programme.

Quand le moteur se met-il en marche ou larrt ?


Le moteur est activ si la variable #Mise en marche a pour tat de signal "1" et si la variable "Mode automatique" a pour tat de signal "0". Nous ralisons cette fonctionnalit en niant (contact ouverture) la variable "Mode automatique".
Si la variable #Mise larrt a pour tat de signal "1" ou si la variable #Defaillance a pour tat de signal "0",
le moteur se met larrt. Nous ralisons cette fonctionnalit galement en niant la variable #Defaillance
(#Defaillance est un signal entrant en action quand sa valeur est nulle. Il a dans le cas normal la valeur 1,
et en cas de dfaillance la valeur 0).
Comment le comparateur surveille-t-il la vitesse du moteur ?
Le comparateur compare les variables #Actual_Speed et #Preset_Speed et inscrit ce rsultat dans la variable #Preset_Speed_Reached (tat de signal 1).

Pour plus dinformations, rfrez-vous aux rubriques


"Programmation de blocs", "Cration de blocs de
code" et "Editer la table de dclaration des variables" ou "Editer les instructions LOG" via la commande de menu ? > Rubriques daide.

Getting Started STEP 7


A5E02904801-01

49

Cration dun programme avec FB et DB

5.5

Gnrer les blocs de donnes dinstance et modifier les valeurs effectives


Vous avez programm le bloc fonctionnel FB1 ("Moteur") et dfini les paramtres spcifiques
chaque moteur dans la table de dclaration des variables.
Pour pouvoir programmer lappel (CALL) du FB dans lOB1, vous devez gnrer son bloc de donnes (DB). Un FB est toujours affect un DB dinstance.
Le FB doit commander et surveiller un moteur essence ou un moteur Diesel. Les vitesses prescrites des moteurs sont stockes dans deux DB distincts dans lesquels seule la valeur effective
(#Vitesse_ prescrite) change.
En ne programmant le bloc fonctionnel quune seule fois, vous rduisez le temps de programmation.
Le projet "Getting Started" est ouvert dans SIMATIC
Manager.
Naviguez jusquau dossier Blocs et cliquez avec le
bouton droit de la souris dans la partie droite de la fentre.
Insrez avec le menu contextuel du bouton droit de la
souris un Bloc de donnes.

Reprenez dans la bote de dialogue "Proprits Bloc


de donnes" le nom DB1, choisissez dans la liste droulante le type "DB dinstance" et reprenez le nom du
bloc fonctionnel "FB1". Confirmez vos entres avec OK.
Le bloc de donnes DB1 est insr dans le projet "Getting Started".

Getting Started STEP 7


50

A5E02904801-01

Cration dun programme avec FB et DB

Ouvrez le bloc DB1 par un double clic.


Confirmez dans le dialogue suivant par OUI pour paramtrer le bloc de donnes dinstance.

Entrez prsent pour le moteur essence la valeur


1500 dans la colonne de la valeur effective (dans la
ligne Vitesse_Prescrite). Vous venez ainsi de dfinir la
vitesse maximale du moteur.
Enregistrez le DB1 et fermez lditeur de programme.
Gnrez de la mme manire un second DB pour le
FB1 que vous appelerez DB2.
Entrez cette fois pour la valeur effective du moteur
Diesel 1200.
Enregistrez le DB 2 et fermez la fentre de programme.

Avec la modification des valeurs effectives, nous en avons termin avec les prparatifs de notre bloc fonctionnel destin commander deux moteurs. Pour commander dautres moteurs, il nous suffirait de gnrer
dautres blocs de donnes.
Pour programmer maintenant lappel du FB dans lOB1, reportez-vous si votre langage de programmation
est CONT au paragraphe 5.6, si votre langage de programmation est LIST au paragraphe 5.7 et si vous
avez comme langage de programmation LOG au paragraphe 5.8.
Pour plus dinformations, rfrez-vous aux rubriques
"Programmation de blocs" et "Cration de blocs de
donnes" via la commande de menu ? > Rubriques
daide.

Getting Started STEP 7


A5E02904801-01

51

Cration dun programme avec FB et DB

5.6

Programmation d'un appel de bloc en CONT


Toute la programmation du FB resterait sans effet si son appel ntait pas programm dans lOB1.
Un bloc de donnes est utilis pour chaque appel du FB et servira commander un moteur diffrent.

OB1
Appel

FB1
"Moteur"

DB1
Donnes du moteur essence

DB2
Donnes du moteur
Diesel

SIMATIC Manager est ouvert avec le projet "Getting


Started".
Naviguez jusquau dossier Blocs et ouvrez lOB1.

Slectionnez dans la fentre de programme


CONT/LIST/LOG le rseau 3 et insrez le rseau 4.
Naviguez ensuite dans longlet "Elments de programme" jusquau FB1 et insrez-le dans votre programme par double clic.
Insrez un contact fermeture avant les paramtres
Mise en marche, Mise larrt et Dfaillance.
Cliquez sur les points dinterrrogation ??? au-dessus de
"Moteur", puis aussitt dans le cadre de saisie avec le
bouton droit de la souris.
Cliquez dans le menu contextuel du bouton droit de la
souris sur Insrer mnmonique. Ceci fait souvrir une
liste droulante.

Getting Started STEP 7


52

A5E02904801-01

Cration dun programme avec FB et DB

Double-cliquez sur le bloc de donnes Essence. Il


saffiche automatiquement entre guillemets dans le
cadre de saisie.
Cliquez sur les points dinterrogation et entrez une adresse qui doit figurer entre guillemets. Entrez
pour les autres paramtres du bloc fonctionnel les mnmoniques appropris que vous slectionnez dans la liste droulante.

Les variables dentre et de


sortie (dclaration "in" et "out")
spcifiques au moteur sont
affiches dans le FB "Moteur".
Ces variables reoivent chacune
un signal "MotEss_xxx" signalant
leur appartenance au DB Moteur
essence.

Getting Started STEP 7


A5E02904801-01

53

Cration dun programme avec FB et DB

Programmez dans un nouveau rseau lappel du bloc fonctionnel "Moteur" (FB1) avec le bloc de
donnes "Diesel" (DB2) en slectionnant pour chaque paramtre loprande dans la liste droulante.

Un signal
"MotDies_xxx" pour le
DB moteur Diesel est
affect chaque
variable.

Enregistrez votre programme et fermez le bloc.

Si vous crez des structures de programme avec des OB, des FB et des DB, vous devez programmer
lappel dun bloc subordonn (par exemple un FB1) dans le bloc hirarchique suprieur (par lexemple
lOB1). La procdure reste la mme.
Vous pouvez donner des noms symboliques aux diffrents blocs dans la table des mnmoniques (FB1 a
par exemple pour nom "Moteur" et le DB1 le nom "Essence").
Les blocs programms peuvent tre tout moment archivs ou imprims. Vous trouvez les fonctions correspondantes dans SIMATIC Manager sous les commandes de menu
Fichier > Archiver ou Fichier > Imprimer.

Pour plus dinformations, rfrez-vous aux rubriques


"Appel des aides de rfrence", "Description du langage
CONT" et "Gestion du programme" via la commande de
menu ? > Rubriques daide.

Getting Started STEP 7


54

A5E02904801-01

Cration dun programme avec FB et DB

5.7

Programmation dun appel de bloc en LIST


Lentire programmation du bloc fonctionnel resterait sans effet si son appel ntait pas programm
dans lOB1. Un bloc de donnes diffrent est utilis chaque appel du bloc fonctionnel commandant chaque fois un moteur diffrent.

OB1
Appel

FB1
"Moteur"

DB1
Donnes
Moteur essence

DB2
Donnes
Moteur Diesel

SIMATIC Manager est ouvert avec le projet "Getting


Started".
Naviguez jusquau dossier Blocs, et ouvrez lOB1.

Slectionnez dans la fentre de programme


CONT/LIST/LOG le rseau 3 et insrez le rseau 4.
Entrez dans la section des instructions
CALL "Moteur", "Essence" et appuyez sur la touche
Entre.
Tous les paramtres du bloc fonctionnel "Essence" sont
affichs.
Positionnez le curseur aprs le signe dgalit suivant
Mise en marche et cliquez avec le bouton droit de la
souris.
Slectionnez dans le menu contextuel qui souvre alors
la commande Insrer mnmonique. Ceci fait safficher
une liste droulante.

Getting Started STEP 7


A5E02904801-01

55

Cration dun programme avec FB et DB

Cliquez sur le mnmonique MotEss_marche. Celui-ci


vient sinsrer automatiquement avec les guillemets
dans votre programme.

Affectez toutes les variables du bloc fonctionnel


loprande appropri que vous slectionnez dans la
liste droulante.
Chaque variable se voit affecter le signal "MotEss_xxx "
signalant son appartenance
au DB Moteur essence.

Programmez dans un nouveau rseau lappel du bloc


fonctionnel "Moteur" (FB1) avec le bloc de donnes
"Diesel" (DB2). Procdez comme pour lappel prcdent.
Enregistrez votre programme et fermez le bloc.

Si vous crez des structures de programme avec des OB, des FB et des DB, vous devez programmer
lappel dun bloc subordonn (par exemple un FB1) dans le bloc suprieur (par lexemple lOB1). La procdure reste la mme.
Vous pouvez donner des noms symboliques aux diffrents blocs dans la table des mnmoniques (FB1 a
par exemple pour nom "Moteur" et le DB1 le nom "Essence").
Les blocs programms peuvent tre tout moment archivs ou imprims. Vous trouvez les fonctions correspondantes dans SIMATIC Manager sous les commandes de menu
Fichier > Archiver ou Fichier > Imprimer.
Pour plus dinformations, rfrez-vous aux rubriques "Appel
des aides de rfrence", "Description du langage LIST" et
"Gestion du programme" via la commande de menu ? >
Rubriques daide.

Getting Started STEP 7


56

A5E02904801-01

Cration dun programme avec FB et DB

5.8

Programmation dun appel de bloc en LOG


Lentire programmation du bloc fonctionnel resterait sans effet si son appel ntait pas programm dans lOB1. Un bloc de donnes diffrent est utilis chaque appel du bloc fonctionnel commandant chaque fois un moteur diffrent.

OB1
Appel

FB1
"Moteur"

DB1
Donnes
Moteur essence

DB2
Donnes
Moteur Diesel

SIMATIC Manager est ouvert avec le projet "Getting


Started".
Naviguez jusquau dossier Blocs, et ouvrez lOB1.

Slectionnez dans la fentre de programme


CONT/LIST/LOG le rseau 3 et insrez le rseau 4.
Naviguez ensuite dans longlet "Elments de programme" jusquau FB1 et insrez-le dans votre programme par double clic.
Toutes les variables dentre et de sortie spcifiques au
moteur sont affiches.
Cliquez sur les points dinterrogation ??? au-dessus de
"Moteur" et cliquez aussitt avec le bouton droit de la
souris dans le cadre de saisie.

Slectionnez dans le menu contextuel qui souvre alors


la commande Insrer mnmonique. Ceci fait safficher
une liste droulante.

Getting Started STEP 7


A5E02904801-01

57

Cration dun programme avec FB et DB

Double-cliquez dans la liste droulante sur le bloc de


donnes Essence. Il est automatiquement repris avec
les guillemets dans le cadre de saisie.

Affectez de la mme manire chaque paramtre du bloc fonctionnel loprande symbolique appropri en le slectionnant dans la liste droulante.

Chaque variable se voit


affecter un signal
"MotEss_xxx" signifiant son
appartenance au DB Moteur
essence.

Getting Started STEP 7


58

A5E02904801-01

Cration dun programme avec FB et DB

Programmez dans un nouveau rseau lappel du bloc fonctionnel "Moteur" (FB1) avec le bloc de
donnes "Diesel" (DB2) en slectionnant chaque fois loprande appropri dans la liste droulante.
Chaque variable se voit affecter un signal "MotDies_xxx"
signifiant qu'elle appartient au
DB Moteur Diesel.

Enregistrez votre programme et fermez le bloc.

Si vous crez des structures de programme avec des OB, des FB et des DB, vous devez programmer
lappel dun bloc subordonn (par exemple un FB1) dans le bloc hirarchique suprieur (par lexemple
lOB1). La procdure reste la mme.
Vous pouvez donner des noms symboliques aux diffrents blocs dans la table des mnmoniques (FB1 a
par exemple pour nom "Moteur" et le DB1 le nom "Essence").
Les blocs programms peuvent tre tout moment archivs ou imprims. Vous trouvez les fonctions correspondantes dans SIMATIC Manager sous les commandes de menu
Fichier > Archiver ou Fichier > Imprimer.
Pour plus dinformations, rfrez-vous aux rubriques "Appel
des aides de rfrence", "Description du langage LOG" et
"Gestion du programme" via la commande de menu
? > Rubriques daide.

Getting Started STEP 7


A5E02904801-01

59

Cration dun programme avec FB et DB

Getting Started STEP 7


60

A5E02904801-01

Configuration des units centrales

6.1

Configuration matrielle
Pour pouvoir configurer le matriel, vous devez avoir au pralable cr un projet avec une station
SIMATIC. La structure du projet cre laide de lAssistant de STEP 7 au chapitre 2.1 remplit
toutes ces conditions.
Vous configurez le matriel avec STEP 7. Ces donnes de configuration sont ensuite charges
(voir le chapitre 7 "Chargement") dans le systme dautomatisation.
Le point de dpart de la configuration est toujours
SIMATIC Manager avec le projet "Getting Started"
ouvert.
Ouvrez le dossier Station SIMATIC 300, et doublecliquez sur licne Matriel.
La fentre "HW Config" souvre. La CPU qui a t slectionne la cration du projet est affiche.
Il sagit pour notre "Getting Started" de la CPU314.

Chssis avec les


diffrents emplacements
denfichage
Catalogue
du matriel

Table de configuration
avec les adresses MPI et
les adresse dE/S

Information succincte sur


llment slectionn

Getting Started STEP 7


A5E02904801-01

61

Configuration des units centrales

Vous avez tout dabord besoin dun module


dalimentation. Naviguez dans le catalogue jusquau
module dalimentation PS307 2A et enfichez ce dernier
par glisser-lcher sur lemplacement 1.

Slectionnez ensuite un module dentres TOR (DI,


Digital Input) SM321 DI32xDC24V et enfichez-le sur
lemplacement 4. Lemplacement 3 reste libre.

Enfichez de la mme manire sur lemplacement 5 le


module de sorties SM322 DO32xDC24V/0.5A.

Pour modifier les paramtres (par exemple ladresse) dun module lintrieur dun projet, il vous
suffit douvrir celui-ci par double-clic. Mais ne modifiez les paramtres que lorsque vous
connaissez les rpercussions que celles-ci peuvent avoir sur votre automate.
Aucune modification de paramtres nest requise pour lexemple de projet Getting Started.

Les donnes sont aussitt prpares pour le transfert


dans la CPU avec la commande Enregistrer et
compiler.
Aprs avoir ferm HW Config, vous pouvez voir une
nouvelle icne dans le dossier Blocs. Il sagit des
Donnes systme.

Vous pouvez en outre vrifier la configuration en choisissant la commande de menu Station > Vrifier la
cohrence qui permet de rechercher les erreurs formelles dans le programme. STEP 7 vous offre diverses
solutions si des erreurs sont trouves.
Pour plus dinformations, rfrez-vous aux rubriques
"Configuration du matriel" et "Configuration des units
centrales" via la commande de menu ? > Rubriques
daide.

Getting Started STEP 7


62

A5E02904801-01

Chargement et test du programme

7.1

Etablir la liaison en ligne


Nous allons vous montrer laide du projet-exemple livr "zFr01_06_STEP7_CONT_1_10" ou
du projet dj cr "Getting Started" et un montage de test simple comment charger votre
programme dans le systme dautomatisation (AP) pour ensuite le tester.
Vous devez avoir :

configur le matriel du projet "Getting Started" (voir le chapitre 6)

mont le matriel conformment au manuel

Exemple de circuit srie (fonction ET) :


La diode la sortie A 4.0 du module de sorties TOR ne doit sallumer que si les deux
commutateurs E 0.1 et E 0.2 sont appuys. Effectuez le montage de test en vous aidant de
cbles et de la CPU.

Alimentation
Marche/Arrt

Commutateur de
mode de
fonctionnement

Chssis

Octet 0

PG avec
logiciel
STEP 7

Octet 4

A 4.0
E 0.1
E 0.2

Octet 1

Octet 5

24 volts

Pont de connexion

Cble PG

Getting Started STEP 7


A5E02904801-01

63

Chargement et test du programme

Monter le matriel
Pour monter un module sur le profil support, procdez comme suit :

Enfichez le module sur le connecteur du bus

Accrochez le module et faites-le pivoter vers le bas

Vissez fond le module

Montez les modules restants

Aprs avoir mont tous les modules, enfichez la cl dans la CPU.

Le test peut tre effectu avec un matriel diffrent de celui dcrit ci-dessus. Seul ladressage des entres
et sorties doit tre conserv.
STEP 7 offre diffrentes possibilits de test telles que la visualisation du programme ou la table des
variables.
Pour plus dinformations sur le montage des units
centrales, rfrez-vous aux manuels "S7-300
Installation et configuration ; Caractristiques de la CPU"
ou "S7-400/M7-400 Installation et configuration"

Getting Started STEP 7


64

A5E02904801-01

Chargement et test du programme

7.2

Chargement du programme dans le systme cible


Le chargement du programme nest possible que si une liaison en ligne la CPU a t tablie.

Appliquer la tension
Appliquez la tension en activant le commutateur
ON/OFF. La diode "DC 5V" sallume sur la CPU.

Mettez le commutateur de mode de fonctionnement sur


STOP (sil ne sy trouve pas dj). La LED "STOP"
sallume en rouge.

Effacement gnral de la CPU et passage RUN


Mettez le commutateur de mode sur MRES et
maintenez-le en cette position durant au moins 3
secondes jusqu ce que la LED "STOP" clignote en
rouge.

Leffacement gnral
efface toutes les
donnes sur la CPU. La
CPU se trouve
maintenant dans son
tat initial.

Relchez le commutateur de mode et remettez-le aprs


3 secondes maximum en position MRES. Quand la
LED "STOP" clignote rapidement, la CPU a t remise
zro.
Si ce nest pas le cas, recommencez la procdure.

Charger le programme dans la CPU


Pour charger le programme, le commutateur de mode
doit nouveau se trouver sur STOP.

Getting Started STEP 7


A5E02904801-01

65

Chargement et test du programme

Dmarrez SIMATIC Manager et ouvrez le projet


"Getting Started sil nest dj ouvert via la bote de
dialogue "Ouvrir".
Appelez la vue en ligne du projet en plus de la vue hors
ligne dj ouverte. Vous pouvez les distinguer leur
barre de titre de couleur diffrente.

Naviguez dans les deux fentres jusquau dossier


Blocs.
La fentre "Hors ligne" montre ce qui se passe sur la
PG, la fentre "En ligne" montre ce qui se passe dans
la CPU.
Des fonctions systme (SFC) se
trouvent encore sur la CPU mme
aprs leffacement gnral de celleci. Ces fonctions sont mises
disposition par le systme
dexploitation de la CPU. Elles nont
pas besoin dtre charges, mais

Slectionnez le dossier Blocs dans la fentre "Hors


ligne" et chargez ensuite le programme dans la CPU via
la commande Systme cible > Charger.
Rpondez la demande de confirmation par OK.

Aprs le chargement, les blocs du programme


saffichent dans la fentre "En ligne".
Vous pouvez encore appeler la
commande Systme cible >
Charger via le bouton correspondant
de la barre doutils ou via le menu
contextuel en cliquant avec le bouton
droit de la souris.

Getting Started STEP 7


66

A5E02904801-01

Chargement et test du programme

Mettre en marche la CPU et vrifier le mode de fonctionnement de celle-ci


Mettez le commutateur de mode sur RUN-P. La LED
verte de "RUN" sallume et la LED rouge de "STOP"
steint. La CPU est prte fonctionner.
Lorsque la LED verte est allume, vous pouvez
commencer tester votre programme.
Si la LED rouge ne steint pas, cest quil y a une
erreur. Evaluez alors la mmoire tampon de diagnostic
pour en rechercher la cause.

Chargement de blocs isols


Pour ragir rapidement dans la pratique aux erreurs, vous avez la possibilit de transfrer par glisser-lcher
des blocs un par un dans la CPU.
Le commutateur de mode doit se trouver pour le chargement soit sur "RUN-P", soit sur "STOP". En mode
"RUN" les blocs chargs sont aussitt activs. Tenez compte ce faisant des points suivants :
Lcrasement de blocs exempts derreur par des blocs dfectueux peut entraner un mauvais
fonctionnement de votre installation. Pour viter ceci, testez vos blocs avant de les charger dans la CPU.

Si lordre de chargement des blocs na pas t respect dabord les blocs de niveaux infrieurs,
ensuite les blocs de niveaux suprieurs la CPU passe en STOP. Pour viter ceci, chargez le
programme entier dans la CPU.

Programmer en ligne
Il peut savrer dans la pratique ncessaire de modifier les blocs dj chargs dans la CPU. Cliquez pour
cela sur le bloc voulu dans la fentre "En ligne" pour ouvrir lditeur de programme CONT/LIST/LOG.
Programmez ensuite le bloc comme vous tes habitu la faire. Notez que le bloc programm est
immdiatement activ dans la CPU.
Pour plus dinformations, rfrez-vous aux
rubriques "Chargement" et " Etablissement de
liaisons en ligne et choix de la CPU" via la
commande de menu ? > Rubriques daide.

Getting Started STEP 7


A5E02904801-01

67

Chargement et test du programme

7.3

Tester le programme avec la fonction de visualisation


La fonction de visualisation permet de tester le bloc dun programme. Une liaison en ligne doit
avoir t tablie la CPU, la CPU doit tre en mode RUN ou RUN-P et le programme doit avoir
t charg dans la CPU.
Ouvrez lOB1 dans la fentre en ligne du projet.
Lditeur de programme CONT/LIST/LOG souvre.

Activer la fonction Test > Visualiser.

Tester avec CONT


Le circuit srie du rseau 1 est affich dans la vue
CONT. Le trajet du courant est reprsent par un trait
continu, indiquant le passage de la tension.

Tester avec LIST


Dans LIST, les
rsultat logique (RLG),
bit dtat (ETA) et
tat standard (STANDARD)
sont reprsents sous la forme dune table.

Tester avec LOG


Ltat de signal est reprsent dans LOG par un "0" ou
un "1". Une ligne en pointills signifie quil ny a pas de
rsultat logique.
Vous pouvez modifier laffichage
du langage de programmation
durant le test avec la commande
Outils > Paramtres.

Getting Started STEP 7


68

A5E02904801-01

Chargement et test du programme

Fermez maintenant les deux commutateurs de votre


circuit de test.

E 0.1
E 0.2

Les diodes aux entres E 0.1 et E 0.2. du module


dentres sallument.
La diode de la sortie A 4.0 du module de sorties
sallume aussi.

Dans les langages de programmation graphiques


CONT et LOG, vous pouvez suivre le trajet du courant
lcran et voir les valeurs du rseau programm
changer durant le test. Le changement de couleur
indique que le rsultat logique est rempli jusquici.

Dans le langage de programmation LIST, vous voyez


les valeurs changer dans les colonnes ETA et RLG
lorsque le rsultat logique est satisfait.
Dsactivez la fonction Test > Visualiser et fermez la
fentre.
Aprs quoi, vous pouvez refermer la fentre "En ligne"
dans le SIMATIC Manager.

Nous vous recommandons de ne jamais charger, ni dexcuter de programmes volumineux dans la CPU, la
dtection des erreurs tant rendue difficile par les multiples sources derreur. Il est recommand pour un test
plus rapide et efficace de charger et de tester les blocs un par un.
Pour plus dinformations, rfrez-vous aux rubriques
"Test" et "Test avec la fonction de visualisation" via la
commande de menu ? > Rubriques daide

Getting Started STEP 7


A5E02904801-01

69

Chargement et test du programme

7.4

Tester le programme avec la table des variables


Vous testez des variables isoles du programme en les visualisant et en les forant. Il faut pour
cela quune liaison en ligne la CPU existe, que la CPU se trouve en mode RUN-P et que le
programme soit charg.
Comme dans la visualisation du programme, vous pouvez visualiser ltat des entres et sorties
du rseau 1 (circuit srie ou fonction ET) dans la table des variables. Vous pouvez en outre tester
le comparateur de vitesse de moteur du FB1 en entrant une vitesse relle.

Crer la table des variables


Vous devez pour cela vous trouver nouveau dans la
fentre du projet "Getting Started" ouverte hors ligne.
Naviguez jusquau dossier Blocs, et cliquez avec le
bouton droit de la souris dans la partie droite de la
fentre.
Slectionnez dans le menu contextuel du bouton droit
de la souris lobjet Table des variables.

Validez les options par dfaut de la bote de dialogue


des proprits avec OK.
Une autre mthode consiste entrer un nom de
mnmonique et lui attribuer un commentaire.

Une table de variables (par dfaut VAT1) est insre


dans le dossier Blocs.
Ouvrez VAT1 par double clic. La fentre "Visualisation
et forage des variables" souvre.

Getting Started STEP 7


70

A5E02904801-01

Chargement et test du programme

La table des variables est dabord vide. Entrez les oprandes et les mnmoniques pour lexemple
"Getting Started" comme reprsent ci-dessous. Le programme complte les autres colonnes une
fois que vous avez confirm la saisie avec la touche Entre.
Changez le format de la valeur dtat en format dcimal pour toutes les valeurs de vitesse. Cliquez
pour cela sur la cellule voulue et choisissez dans le menu contextuel (clic sur le bouton droit de la
souris) le format DECIMAL.

Enregistrez votre table des variables.

Commuter la table des variables en ligne


Etablissez la liaison en ligne la CPU configure. Le
mode de la CPU saffiche dans la barre dtat.
Mettez le conmmutateur de mode de la CPU sur RUN-P
(si vous ne lavez pas encore fait).

Getting Started STEP 7


A5E02904801-01

71

Chargement et test du programme

Visualiser les variables


Cliquez sur licne Visualiser la variable.
Fermez les commutateurs 1 et 2 de votre circuit de test
et observez le rsultat dans la table des variables.
Les valeurs dtat passent de false true dans la table
des variables.

Forcer des variables


Entrez la valeur "1500" pour loprande MW2 et "1300" pour loprande MW4 dans la colonne
Valeur de forage de la table des variables.

Transfrez les valeurs de forage dans votre CPU.

Getting Started STEP 7


72

A5E02904801-01

Chargement et test du programme

Aprs leur transfert, ces valeurs sont traites par la CPU. Vous pouvez alors observer le rsultat
de la comparaison.
Fermez la fentre Visualisation et forage des variables. Rpondez une demande de
confirmation ventuelle par Oui ou par OK.

Il arrive frquemment quune table des variables de taille importante ne puisse pas tre affiche dans sa
totalit lcran en raison des dimensions limites de ce dernier.
Si vous avez de grandes tables de variables, vous vous recommandons den crer plusieurs avec STEP 7
pour un mme programme S7. Vous pouvez ainsi crer vos tables de variables en fonction de vos besoins
de test.
Vous pouvez leur donner comme aux blocs un nom individuel (par exemple le nom OB1_Rseau1 au lieu
de VAT1). Vous pouvez renommer vos tables VAT dans la table des mnmoniques.

Pour plus dinformations, rfrez-vous aux rubriques


"Test" et "Tester avec la table des variables" via la
commande de menu ? > Rubriques daide.

Getting Started STEP 7


A5E02904801-01

73

Chargement et test du programme

7.5

Evaluer la mmoire tampon de diagnostic


Pour le cas o la CPU passerait en STOP durant le traitement dun programme S7 ou que la CPU
ne se laisse plus commuter sur RUN aprs le chargement du programme, vous pouvez lire les
messages du tampon de diagnostic pour rechercher la cause de lerreur.
Il faut pour cela quune liaison en ligne la CPU existe et que la CPU se trouve ltat de
fonctionnement "STOP".
Commutez dabord la CPU sur "STOP" avec le
commutateur de mode.

Le point de dpart est de nouveau le projet "Getting


Started" ouvert hors ligne dans SIMATIC Manager.
Slectionnez le dossier Blocs.

Sil y a plusieurs CPU dans votre projet, vrifiez dabord


quelle est la CPU larrt.

Toutes les CPU adressables sont affiches dans la


bote de dialogue "Diagnostic du matriel". La CPU qui
se trouve en STOP y est slectionne.
Le projet "Getting Started" na quune CPU. Vous ne
voyez donc quune CPU affiche.
Cliquez sur le bouton Etat du module pour lire la
mmoire tampon de diagnostic de la CPU.

Sil ny a quune CPU de connecte,


vous pouvez lire directement ltat du
module via la commande de menu
Systme cible > Diagnostic/Rglage >
Etat du module.

Getting Started STEP 7


74

A5E02904801-01

Chargement et test du programme

La fentre "Etat du module" vous renseigne sur les proprits et les paramtres de votre CPU.
Cliquez prsent sur longlet Mmoire tampon de diagnostic pour rechercher la cause du
passage STOP de la CPU.

Le bouton "Ouvrir le bloc" nest


pas activ, car le bloc contenu
dans le projet "Getting Started"
est exempt derreur.

Lvnement le plus rcent (No 1) est toujours affich dans la premire ligne. La cause du
passage STOP est affiche. Fermez toutes les fentres, sauf celle de SIMATIC Manager.

Si une erreur de programmation est lorigine du passage STOP de la CPU, slectionnez lvnement et
cliquez sur le bouton Ouvrir le bloc.
Le bloc est alors ouvert dans lditeur CONT/LIST/LOG connu et le rseau dans lequel se trouve lerreur est
affich.
Vous avez dans ce chapitre achev de crer et de tester le projet-exemple "Getting Started". Dans les
chapitres suivants, vous pourrez approfondir votre savoir par des exercices choisis.

Pour plus dinformations, rfrez-vous aux rubriques


"Diagnostic" et "Fonctions de renseignements sur ltat
du module" via la commande de menu ? > Rubriques
daide.

Getting Started STEP 7


A5E02904801-01

75

Chargement et test du programme

Getting Started STEP 7


76

A5E02904801-01

Programmation dune fonction (FC)

8.1

Crer et ouvrir une fonction


La fonction est comme le bloc fonctionnel subordonne au bloc dorganisation. Afin quelle puisse
tre traite par la CPU, il faut galement lappeler dans le bloc suprieur. A loppos du bloc fonctionnel, elle na pas besoin de bloc de donnes.
Les paramtres de la fonction sont aussi dclars dans la table de dclaration des variables, mais
les donnes locales statiques ne sont pas autorises.
Vous programmez la fonction comme le bloc fonctionnel dans lditeur de programme
CONT/LIST/LOG.
Vous devez dj tre familiaris avec la programmation en CONT, LIST ou LOG (voir les chapitres
4 et 5) et la programmation symbolique (voir le chapitre 3).
Si vous avez excut le projet -exemple "Getting Started" (chapitres 1 7), ouvrez-le prsent.
Crez sinon un nouveau projet dans SIMATIC Manager
avec Fichier > Assistant "Nouveau projet". Procdez
comme dcrit dans la paragraphe 2.1 et nommez le
projet
"Fonction Getting Started".
Nous parlerons dans la suite de ce chapitre du projet
"Getting Started". Mais vous pouvez excuter chacune
des tapes dcrites avec nimporte quel nouveau projet.
Naviguez jusquau dossier Blocs et ouvrez-le.
Cliquez avec le bouton droit de la souris dans la partie
droite de la fentre.

Getting Started STEP 7


A5E02904801-01

77

Programmation dune fonction (FC)

Insrez avec le menu contextuel du bouton droit de la


souris une Fonction (FC).

Validez le nom FC1 dans la bote des proprits de la


fonction et slectionnez votre langage de cration.
Confirmez les options restantes avec OK.

La fonction FC1 a t insre dans le dossier Blocs.


Ouvrez la fonction FC1 par un double clic.

A loppos du bloc fonctionnel, il nest pas possible de dfinir de donnes statiques dans la table de dclaration des variables dune fonction.
Les donnes statiques dfinies dans un bloc fonctionnel sont conserves aprs le
traitement du bloc. Il peut sagir par exemple des mmentos utiliss pour les valeurs limites de "Vitesse"
(voir chapitre 5).
Vous pouvez, comme vous en avez lhabitude, avoir recours aux mnmoniques de la table des mnmoniques pour programmer la fonction.
Pour plus dinformations, rfrez-vous aux rubriques "Elaboration
du concept dautomatisation", "Conception dune structure du
programme" et "Blocs dans le programme utilisateur" via la
commande de menu ? > Rubriques daide.

Getting Started STEP 7


78

A5E02904801-01

Programmation dune fonction (FC)

8.2

Programmer la fonction
Nous allons programmer dans notre exemple une fonction de temporisation.
Celle-ci aura pour fonction dactiver paralllement la mise en marche du moteur un ventilateur
qui continuera fonctionner (retard la retombe) durant quatre secondes aprs larrt du moteur.
Il nous faut pralablement dclarer les paramtres dentre et sortie (dclaration "in" et "out") de la
fonction dans la vue de dtail des variables.
Vous avez ouvert pour cela la fentre de lditeur de programme CONT/LIST/LOG. Vous remplissez cette vue de dtail des variables comme vous lavez fait pour le bloc fonctionnel
(voir chapitre 5).
Entrez les dclarations suivantes.

Programmer une fonction de temporisation en CONT


Slectionnez la branche de courant afin dy insrer le
nouvel lment CONT.
Naviguez dans le catalogue des lments de programme jusqu llment S_AVERZ (temporisation
sous forme de retard la retombe) et insrez-le dans
le rseau.
Insrez un contact fermeture avant lentre S et ajoutez une bobine aprs la sortie Q.

Getting Started STEP 7


A5E02904801-01

79

Programmation dune fonction (FC)

Slectionnez les points dinterrogation, entrez un caractre "#" et choisissez le nom voulu.
Entrez le temps de retard de la temporisation lentre TW de S_AVERZ. Une constante au type
de donnes S5Time# (S5T#) dune dure de 4 secondes (4s) sera par exemple dfinie comme
suit : S5T#4s.
Enregistrez ensuite la fonction et fermez lditeur.

Le paramtre dentre "#Moteur_Marche" permet de


lancer la "#Fonction de temporisation". Celle-ci recevra
son appel dans lOB1 dabord les paramtres du
moteur essence, puis les paramtres du moteur
Diesel (par exemple T1 pour "Retard _MotEss").
Les mnmoniques de ces paramtres devront encore
tre entrs dans la table des mnmoniques.

Programmer une fonction de temporisation en LIST


Si vous programmez en LIST, slectionnez la zone de
saisie du rseau et entrez linstruction ci-contre.
Enregistrez ensuite la fonction et fermez lditeur.

Getting Started STEP 7


80

A5E02904801-01

Programmation dune fonction (FC)

Programmer une fonction de temporisation en LOG


Si vous programmez en LOG, slectionnez la zone de saisie du rseau et entrez le programme
LOG ci-dessous pour la fonction de temporisation.
Enregsitrez ensuite la fonction et fermez lditeur.

Il faut encore programmer lappel de la fonction dans le bloc suprieur (dans notre exemple lOB1) si lon
veut que la temporisation soit excute dans le programme.
Pour plus dinformations, rfrez-vous aux rubriques
"Appel des aides de rfrence", "Description du
langage CONT/LOG/LIST" et "Temporisations" via la
commande de menu ? > Rubriques daide.

Getting Started STEP 7


A5E02904801-01

81

Programmation dune fonction (FC)

8.3

Appel de la fonction dans lOB1


Lappel de la fonction FC1 dans lOB1 est similaire celui du bloc fonctionnel. Les paramtres de
la fonction reoivent dans lOB1 les oprandes correspondants du moteur essence ou Diesel.
Comme nous navons pas encore dfini ces oprandes dans la table des mnmoniques, nous
allons le faire maintenant.
Dans une instruction STEP 7, loprande est llment
sur lequel lopration du processeur doit porter.
Ladressage doprandes peut tre absolu ou symbolique.

SIMATIC Manager est ouvert avec le projet "Getting


Started" ou le projet nouvellement cr.
Naviguez jusquau dossier Blocs et ouvrez lOB1.
La fentre de lditeur de programme CONT/LIST/LOG
souvre.

Programmer lappel de la fonction dans LOG


Vous vous trouvez dans la vue CONT. Slectionnez le
rseau 5 et insrez un nouveau rseau (No 6).
Naviguez ensuite dans le catalogue des lments de
programme jusqu la fonction FC1, et insrez la fonction dans votre rseau.
Insrez avant "Moteur_Marche" un contact fermeture.

Vous pouvez passer de laffichage


absolu laffichage symbolique avec la
commande de menu Affichage >
Afficher avec > mnmoniques.

Cliquez sur les points dinterrogation de lappel FC1 et entrez les mnmoniques suivants.

Getting Started STEP 7


82

A5E02904801-01

Programmation dune fonction (FC)

Programmez un appel de fonction FC1 dans le rseau 7 avec les oprandes du moteur Diesel.
Procdez ce faisant comme pour le rseau prcdant (les oprandes du moteur Diesel doivent
dj avoir t entrs dans la table des mnmoniques).

Enregistrez le bloc et fermez lditeur.


Affichez les informations mnmonique avec la commande de menu
Affichage > Afficher avec > informations mnmonique.
Pour voir plusieurs rseaux en mme temps sur lcran, masquez les
commentaires avec la commande Affichage > Afficher avec >
commentaires et les informations mnmonique avec la commande
Affichage > Afficher avec > Informations mnmonique.
Vous pouvez changer lchelle de reprsentation des rseaux avec
la commande de menu Affichage > Facteur dagrandissement.

Getting Started STEP 7


A5E02904801-01

83

Programmation dune fonction (FC)

Programmer un appel de fonction en LIST


Si vous programmez en LIST, slectionnez la zone de
saisie dun nouveau rseau et entrez les instructions
LIST suivantes.
Enregistrez ensuite lappel de fonction et fermez
lditeur.

Programmer un appel de fonction en LOG


Si vous programmez en LOG, slectionnez la zone de saisie dun nouveau rseau et entrez les
instructions LOG suivantes.
Enregistrez ensuite lappel de fonction et fermez lditeur.

Lappel des fonctions a t programm dans notre exemple comme un appel inconditionnel, cela signifie
que la fonction sera toujours excute.
Vous pouvez si vous en avez besoin dans votre tche dautomatisation programmer les appels de FC et FB
en les faisant dpendre de conditions : en les reliant par exemple une entre ou un autre circuit en
amont. Vous programmez les conditions lentre EN ou la sortie ENO de la bote de la fonction.

Pour plus dinformations, rfrez-vous aux rubriques


"Appel des aides de rfrence", "Description du langage
CONT/LOG/LIST" via la commande de menu ? > Rubriques daide.

Getting Started STEP 7


84

A5E02904801-01

Programmation dun bloc de donnes global

9.1

Crer et ouvrir un bloc de donnes global


Si le nombre des mmentos internes (cellules de mmoire) dune CPU ne suffit plus intgrer le
stock de donnes, vous avez la possibilit darchiver des donnes slectionnes dans un bloc de
donnes global.
Les donnes du bloc de donns global sont mises disposition de tous les autres blocs. Un bloc
de donnes dinstance en revanche est affect un bloc fonctionnel prcis, ses donnes ne sont
disponibles que dans ce bloc fonctionnel (voir le paragraphe 5.5), cest--dire quelles sont locales.
Vous devez dj tre familiaris avec la programmation en CONT, LIST ou LOG (voir les chapitres
4 et 5) et avec la programmation symbolique (voir le chapitre 3).
Si vous avez excut le projet-exemple "Getting Started" (chapitres 1-7), ouvrez-le prsent.
Crez sinon un nouveau projet dans SIMATIC Manager
avec Fichier > Assistant "Nouveau projet". Procdez
comme dcrit dans le paragraphe 2.1 et nommez le
projet ainsi cr "DB global Getting Started".
Nous parlerons dans la suite de ce chapitre du projet
"Getting Started". Mais vous pouvez excuter chaque
tape avec nimporte quel nouveau projet.

Naviguez jusquau dossier Blocs et ouvrez-le.


Cliquez avec le bouton droit de la souris dans la partie
droite de la fentre.

Getting Started STEP 7


Fehler! Unbekannter Name fr Dokument-Eigenschaft.

85

Programmation dun bloc de donnes global

Insrez partir du menu contextuel un bloc de donnes.

Validez les options par dfaut dans la bote de dialogue


des proprits du bloc avec OK.
Appelez laide sur cette bote de dialogue pour plus
dinformations.
Le bloc de donnes DB3 a t insr dans le dossier
Blocs.
Ouvrez le DB3 avec un double clic.
Dans la bote de dialogue "Nouveau bloc de donnes"
qui souvre alors, activez loption Bloc de donnes.
Fermez la bote de dialogue par OK.

Rappel :
Dans le paragraphe 5.5 vous avez cr un bloc de
donnes dinstance en slectionnant loption "Bloc
de donnes associ un bloc fonctionnel". Avec
loption "Bloc de donnes", vous crez un bloc de
donnes global.

Programmer des variables dans le bloc de donnes

Entrez dans la colonne du nom "MotEss_Vitesse_courante".


Faites drouler le menu contextuel Type de donnes >
simple > INT.
A titre dexemple, trois donnes globales ont t dfinies dans le DB3. Dclarez ces donnes dans
la table de dclaration des variables comme dans le tableau
ci-dessous.

Les variables des vitesses courantes du bloc de donnes


"Vitesse_courante_MotEss" et "Vitesse_courante_ MotDies" sont traites de la mme manire que les mots de
mmento MW2 (Vitesse_courante_MotEss) et MW4
(Vitesse_courante_ MotDies). Ceci sera montr au
chapitre suivant.

Enregistrez le bloc de donnes global.

Getting Started STEP 7


86

Fehler! Unbekannter Name fr Dokument-Eigenschaft.

Programmation dun bloc de donnes global

Affectation de mnmoniques
Il est galement possible de donner un nom symbolique
aux blocs de donnes.
Ouvrez la Table de mnmoniques et entrez pour le
bloc de donnes DB3 le mnmonique "Donnes_G".

Si vous avez copi au chapitre 4 la table des


mnmoniques dun projet-exemple
(Exemple_CONT, exemple_LIST ou
Exemple_LOG) dans votre projet
"Getting Started", vous navez pas besoin de
dfinir de mnmoniques.

Enregistrez la table des mnmoniques et fermez l'diteur de mnmoniques.


Fermez galement le bloc de donnes global.

DB global dans la table de dclaration des variables :


Avec Affichage > Vue des donnes vous pouvez voir les valeurs courantes de type INT changer dans la
table du bloc de donnes global (se rfrer au chapitre 5.5).
DB global dans la table des mnmoniques :
A l'oppos du DB d'instance, le type de donnes du DB global est toujours l'adresse absolue, dans notre
exemple le type de donnes DB3. Le type de donnes du bloc de donnes d'instance est en revanche le
bloc FB associ.
Pour plus d'informations, rfrez-vous aux rubriques
"Programmation de blocs" et "Cration de blocs de donnes" via
la commande de menu ? > Rubriques d'aide.

Getting Started STEP 7


Fehler! Unbekannter Name fr Dokument-Eigenschaft.

87

Programmation dun bloc de donnes global

Getting Started STEP 7


88

Fehler! Unbekannter Name fr Dokument-Eigenschaft.

10 Programmation dun bloc multiinstance


10.1 Crer et ouvrir un bloc fonctionnel
Vous avez programm dans le chapitre 5 une commande de moteur laide du bloc fonctionnel
"Moteur" (FB1). Les blocs de donnes "Essence" (DB1) et "Diesel" (DB2) taient utiliss lors de
lappel du bloc fonctionnel FB1 dans le bloc dorganisation OB1.
Chaque bloc de donnes contenait les donnes spcifiques chaque moteur (par exemple
#Vitesse_Prescrite).
Imaginons-nous maintenant que notre tche dautomatisation ait commander dautres moteurs,
par exemple un moteur lhuile de colza ou un moteur hydrogne etc.
En appliquant la mthode pratique jusquici, vous affecteriez pour chaque nouveau moteur un
nouveau DB avec les donnes de ce moteur au FB utilis jusquici. Un DB3 pour commander le
moteur huile de colza et un DB4 pour commander le moteur hydrogne etc. Le nombre de
blocs augmenterait alors avec chaque nouvelle commande de moteur.
Vous pouvez rduire le nombre de blocs en utilisant un bloc multiinstance. Crez pour cela un
nouveau bloc FB (dans notre exemple le bloc FB10) et appelez dans celui-ci le bloc FB1 tel quil
est comme "instance locale". Le bloc FB1 transfre chaque appel ses donnes dans le bloc de
donnes DB10 du bloc suprieur FB10. Ainsi, il ny a plus besoin daffecter diffrents DB au bloc
fonctionnel.Tous les FB, sil y en a plusieurs, utilisent un seul bloc de donnes (ici le DB10).
Les blocs de donnes DB1 et DB2 sont intgrs
au bloc DB10.
Il faut pour cela dclarer le FB1 dans les donnes
statiques du bloc FB10.

OB1
CALL FB10, DB10

FB10
CALL FB1 (pour moteur essence)
CALL FB1 (pour moteur Diesel)
...

FB1
Moteur

DB10
Donnes Moteur essence
Donnes Moteur Diesel

FB1
Moteur

Getting Started STEP 7


A5E02904801-01

89

Programmation dun bloc multiinstance

Vous devez dj tre familiaris avec la programmation en CONT, LIST ou LOG (voir les chapitres
4 et 5) et avec la programmation symbolique (chapitre 3).
Si vous avez excut lexemple "Getting Started" (chapitres 17), ouvrez le projet "Getting Started".
Si ce nest pas le cas, ouvrez dans SIMATIC Manager
le projet
ZFr01_05_STEP7_CONT,
ZFr01_01_STEP7_LIST_1-9 ou
ZFr01_03_STEP7_LOG_1-9.

Naviguez ensuite jusquau dossier Blocs et ouvrez-le.


Cliquez avec le bouton droit de la souris dans la partie
droite de la fentre et slectionnez un bloc fonctionnel
dans le menu contextuel.

Nommez ce bloc "FB10" et choisissez votre langage de


cration.
Activez si elle ne lest dj la case doption Multiinstance, et confirmez le reste des options avec OK.
Le bloc FB10 a t insr dans le dossier Blocs. Double-cliquez sur celui-ci pour louvrir.

Vous pouvez crer des multiinstances pour tous les types de blocs fonctionnels, mme pour les commandes de valves par exemple. Sachez si vous utilisez ce genre de bloc, que non seulement les blocs fonctionnels appels mais galement les blocs appelants peuvent avoir des multiinstances.

Pour plus dinformations, rfrez-vous aux rubriques "Programmation


de blocs" et "Cration de blocs et de bibliothques" via la commande
de menu ? > Rubriques daide.

Getting Started STEP 7


90

A5E02904801-01

Programmation dun bloc multiinstance

10.2 Programmer le bloc FB10


Une variable statique laquelle on donnera chaque fois un nom diffrent est dclare dans la
table de dclaration des variables pour chaque appel prvu du bloc FB1 que lon veut appeler
comme instance locale dans le bloc FB10. On inscrira dans la colonne du type de donnes FB1
("Moteur").

Dclarer ou dfinir les variables


Le FB 10 est ouvert dans la fentre de programme CONT/LIST/LOG. Reportez les dclarations de
la figure suivante dans la vue de dtail des variables. Choisissez pour cela successivement dans
la vue densemble des variables les types de dclaration "OUT", "STAT" et "TEMP" et faites vos
entres dans la vue de dtail. Choisissez pour le type de dclaration "STAT" le type de donnes
"<No> FB" dans la liste droulante et remplacez la suite de caractres "<No>" par le chiffre "1".

Les instances locales dclares apparaissent ensuite dans le catalogue des lments
de programme sous la rubrique "Multiinstances".

Getting Started STEP 7


A5E02904801-01

91

Programmation dun bloc multiinstance

Programmer le FB10 en CONT


Insrez lappel du bloc "MotEss" comme bloc multiinstance dans le rseau 1.

Insrez ensuite le contact fermeture qui manque encore et remplacez les points dinterrogation
par les mnmoniques.

La "vitesse courante" des moteurs nest


pas fournie ici par un mmento (voir paragraphe 5.6 et suivants), mais par un bloc
de donnes global (voir paragraphe 9.1).
Les rgles dadressage sont les suivantes :
"NomDBglobal".Oprande, par ex.
"Donnes_G".MotEss_Vitesse_courante

Insrez un nouveau rseau et programmez lappel du moteur Diesel. Procdez pour cela comme
pour le rseau 1.

Getting Started STEP 7


92

A5E02904801-01

Programmation dun bloc multiinstance

Insrez un nouveau rseau et programmez un circuit srie, puis compltez ses adresses. Enregistrez ensuite votre programme et fermez le bloc.
Utilisez chaque fois les variables temporaires. Vous
reconnaissez celles-ci au symbole ci-contre.
Enregistrez votre programme et fermez le bloc.

Les variables temporaires ("MotEss_Vitesse_atteinte" et "MotDies_Vitesse_atteinte") sont


transfres au paramtre de
sortie "Vitesse_atteinte" qui est
ensuite trait dans lOB1.

Programmer le FB10 avec LIST

Si vous programmez en LIST, slectionnez la zone de


saisie du nouveau rseau et entrez les instructions LIST
ci-contre.
Enregistrez votre programme et fermez le bloc.

Getting Started STEP 7


A5E02904801-01

93

Programmation dun bloc multiinstance

Programmer le FB10 en LOG


Si vous programmez en LOG, slectionnez la zone de saisie dun nouveau rseau et entrez les
instructions LOG suivantes.
Enregistrez ensuite votre programme et fermez le bloc.

Pour que les deux appels du FB1 dans le FB10 soient traits, il faut galement appeler ce dernier.
Vous ne pouvez programmer de multiinstances que pour les blocs fonctionnels. La cration de multiinstances nest pas possible pour les fonctions (FC).

Pour plus dinformations, rfrez-vous aux rubriques


"Programmation de blocs", "Cration de blocs de code" et
"Multiinstances dans la dclaration des variables" via la
commande de menu ? > Rubriques daide.

Getting Started STEP 7


94

A5E02904801-01

Programmation dun bloc multiinstance

10.3 Gnrer un DB10 et modifier la valeur effective


Le bloc de donnes DB10 remplacera les blocs de donnes DB1 et DB2. Le DB10 renferme les
donnes du moteur essence et Diesel requises plus tard lors de lappel du FB10 dans lOB1 (voir
lappel du FB1 dans lOB1 dans le paragraphe 5.6 et les suivants).
Gnrez un bloc de donnes DB dans le dossier Blocs
du projet "Getting Started" avec le menu contextuel du
bouton droit de la souris DB10.

Modifiez pour cela dans la bote de dialogue "Proprits


Bloc de donnes" le nom du bloc de donnes DB10,
slectionnez dans la liste droulante correspondante le
type "DB dinstance". Choisissez dans la liste droulante de droite le bloc fonctionnel "FB10" auquel il doit
tre affect et confirmez vos entres avec OK.
Le bloc de donnes DB10 est maintenant insr dans le
projet "Getting Started".

Ouvrez le DB10 par double clic.


Confirmez la bote de dialogue suivante avec OUI pour
paramtrer le bloc de donnes dinstance.
Activez la vue des donnes.

La vue des donnes affiche toutes les variables


du DB10, y compris les variables "internes" des
deux appels du FB1 ("instances locales").
La vue de dclaration montre les variables
telles que vous les avez dclares dans le
FB10.

Getting Started STEP 7


A5E02904801-01

95

Programmation dun bloc multiinstance

Entrez "1300" la place de la valeur effective du moteur Diesel. Enregistrez le bloc de donnes et
fermez-le.

La table de dclaration des variables du DB10 contient prsent toutes les variables. Dans la partie suprieure de la table, vous voyez les variables de lappel du bloc fonctionnel "Moteur essence" et dans la partie
infrieure de la table lappel du bloc fonctionnel "Moteur Diesel" (voir paragraphe 5.5).
Les variables internes du FB1 conservent leurs noms symboliques, par exemple "Marche". Il est seulement
prcd du nom de linstance locale, par exemple "MotEss.Marche".

Pour plus dinformations, rfrez-vous aux rubriques


"Programmation de blocs", "Cration de blocs de donnes" via
la commande de menu ? > Rubriques daide.

Getting Started STEP 7


96

A5E02904801-01

Programmation dun bloc multiinstance

10.4 Appel du FB10 dans lOB1


Dans notre exemple, le FB10 est appel dans lOB1. Il sagit de la mme fonctionnalit que celle
nous avons dj vue lorsque nous avons programm et appel le bloc FB1 dans lOB1 (paragraphes 5.6 et suivants). Lutilisation dun bloc fonctionnel multiinstance permet de remplacer les rseaux 4 et 5 programms au chapitre 5.
Ouvrez lOB1 dans lequel vous venez de programmer
le bloc FB10.

Dfinir les mnmoniques


La fentre de lditeur de programme CONT/LIST/LOG est ouverte. uvrez la table des mnmoniques avec Outils > Table des mnmoniques et entrez les noms symboliques du bloc fonctionnel
FB10 et du bloc de donnes DB10 dans la table.
Enregistrez la table des mnmoniques et fermez la fentre.

Programmer lappel dans CONT


Insrez la fin de lOB1 un nouveau rseau et programmez lappel du FB10 ("Moteurs").

Getting Started STEP 7


A5E02904801-01

97

Programmation dun bloc multiinstance

Compltez lappel en inscrivant les mnmoniques voulus comme dans la figure ci-dessous.
Effacez lappel du FB1 dans lOB1 (rseaux 4 et 5 des paragraphes 5.6 et suivants), car le bloc
FB1 ne devra plus tre appel que centralement par lintermdiaire du bloc FB10.
Enregistrez ensuite votre programme et fermez le bloc.

Le signal de sortie "Vitesse_atteinte" du


FB10 ("Moteurs") est transmis la variable
du bloc de donnes.

Programmer lappel dans LIST


Si vous programmez en LIST, cliquez dans la zone de saisie du nouveau rseau et entrez les
instructions LIST suivantes. Slectionnez pour cela le FB10 "Moteurs" dans les blocs FB du
catalogue des lments de programme.
Effacez lappel du FB1 dans lOB1 (rseaux 4 et 5 des paragraphes 5.6 et suivants), car le bloc
FB1 ne devra plus tre appel que centralement par lntermdiaire du FB10.
Enregistrez ensuite votre programme et fermez le bloc.

Getting Started STEP 7


98

A5E02904801-01

Programmation dun bloc multiinstance

Programmer lappel dans LOG


Si vous programmez en LOG, cliquez dans la zone de saisie du nouveau rseau et entrez les
instructions LOG comme dans la figure ci-dessous. Slectionnez pour cela dans le catalogue
des lments du programme le FB10 "Moteurs" parmi les blocs FB.
Effacez lappel du bloc FB1 dans lOB1 (rseaux 4 et 5 des paragraphes 5.6 et suivantes), car le
bloc ne devra plus tre appel que centralement par lintermdiaire du bloc FB10.
Enregistrez ensuite votre programme et fermez le bloc.

Si vous avez besoin dans votre solution dautomatisation dautres commandes de moteurs, par exemple
pour des moteurs gaz naturel ou gaz biologique, vous pouvez les programmer comme multiinstance et les
appeler dans le FB10.
Vous dclarez pour cela les nouveaux moteurs dans la table de dclaration des variables du FB10 ("Moteurs") et programmez lappel du FB1 (multiinstance dans le catalogue des lments de programme) dans
le bloc FB10. Si vous voulez utiliser ladressage symbolique, vous devez dfinir les nouveaux mnmoniques, par exemple pour la mise en marche et la mise larrt des moteurs, dans la table des mnmoniques.
Pour plus dinformations, rfrez-vous aux rubriques "Appel des
aides de rfrence", "Description du langage CONT/LOG/LIST"
via la commande de menu ? > Rubriques daide.

Getting Started STEP 7


A5E02904801-01

99

Programmation dun bloc multiinstance

Getting Started STEP 7


100

A5E02904801-01

11 Configuration de la priphrie dcentralise


11.1 Installer et configurer la priphrie dcentralise avec PROFIBUS-DP
Dans la configuration traditionnelle dune installation dautomatisation, les cbles de liaison des
capteurs et des actionneurs sont enfichs directement dans les modules dentres/sorties de
lappareil de base, entranant des cots et un temps de cblage importants.
En configuration dcentralise, les cots de cblage peuvent tre considrablement rduits en
plaant les modules dentres/sorties proximit des capteurs et actionneurs. Le bus de terrain
PROFIBUS-DP fait la liaison entre le systme dautomatisation, les modules de priphrie et les
appareils de terrain.
Vous avez pu apprendre la programmation utilise pour la configuration conventionnelle au
chapitre 6. La configuration dcentralise ne requiert pas de programmation particulire. Vous
choisissez vos modules dans le catalogue du matriel, les disposez sur un chssis et adaptez
leurs proprits en fonction de vos besoins.
Vous devez savoir comment crer un projet et configurer une installation centralise
(voir chapitre 6 et paragraphe 2.1).

Esclaves compacts :
par ex. modules dE/S
ET 200B-16DI / -16DO

Esclaves modulaires :
par ex. ET 200 M-IM153

Rseau PROFIBUS-DP
entre le matre et les
esclaves

Liaison directe entre la CPU


et la PG/lePC via MPI

Appareil matre :
par exemple la
CPU 315-2DP

Getting Started STEP 7


A5E02904801-01

101

Configuration de la priphrie dcentralise

Crer un nouveau projet


Vous pouvez nouveau partir du SIMATIC Manager.
Fermez ventuellement les projets encore ouverts pour
plus de clart.

Crez un nouveau projet.

Slectionnez lorsque lAssistant vous le demande la


CPU 315-2DP (CPU avec rseau PROFIBUS-D).
Procdez autrement comme au paragraphe 2.1 et entrez comme nom de projet "GS-DP" (Getting Started
Priphrie dcentralise).
Si vous dsirez tout de suite crer votre propre configuration, indiquez cet endroit votre CPU. Attention ! Elle
doit prendre DP en charge.

Insrer un rseau PROFIBUS


Slectionnez le dossier GS-DP.

Insrez un rseau PROFIBUS via le menu contextuel


du bouton droit de la souris.

Getting Started STEP 7


102

A5E02904801-01

Configuration de la priphrie dcentralise

Configurer la station
Slectionnez le dossier Station SIMATIC 300 et double-cliquez sur Matriel. Ceci ouvre la fentre
"HW Config" (voir le paragraphe 6.1).

La CPU 315-2DP est dj enfiche sur le chssis. Sil


nest pas visible, slectionnez la commande de menu
Affichage > Catalogue du matriel pour faire apparatre le catalogue ou cliquez sur le bouton correspondant.

Slectionnez et faites glisser un module dalimentation


PS307 2A lemplacement 1.

Enfichez de la mme manire sur les emplacements 4


et 5 les modules dentres/sorties DI32xDC24V et
DO32xDC24V/0.5A.

Il est possible de placer aussi des


units centrales sur le mme rack en
plus de la CPU-DP (ceci ne sera pas
expliqu ici).

Getting Started STEP 7


A5E02904801-01

103

Configuration de la priphrie dcentralise

Configurer le rseau matre DP


Slectionnez le matre DP lemplacement 2.1 et insrez un rseau matre DP.

Acceptez ladresse propose dans la bote de dialogue


qui saffiche. Slectionnez dans le champ "Sousrseau" lentre "PROFIBUS(1)" et confirmez vos entres avec OK.

Vous pouvez dplacer tous les objets qui se


trouvent sur le rseau matre DP en les
slectionnant et en les faisant glisser tout en
maintenant le bouton de la souris enfonc.

Naviguez dans le catalogue du matriel jusquau module B-16DI et insrez-le par glisser-lcher dans le
rseau matre (attendez que le curseur change daspect
et relchez-le).
Ladresse rseau du module insr peut tre alors modifie dans la page donglet Paramtres de ses proprits.
Confirmez ladresse propose avec OK.

Getting Started STEP 7


104

A5E02904801-01

Configuration de la priphrie dcentralise

Amenez de la mme manire le module B-16DO sur le


rseau matre DP.
Son adresse de rseau sera automatiquement modifie
dans les proprits. Confirmez celle-ci par OK.

Faites glisser le coupleur IM 153 sur le rseau matre


DP et validez ladresse rseau propose avec OK.

Nous conservons dans notre exemple les


adresses par dfaut. Celles-ci peuvent
toutefois tre modifies pour les besoins de
linstallation.

Slectionnez le module ET 200M dans le rseau.


Vous pouvez voir dans la table de configuration les
emplacements vides de lET 200M.

Slectionnez lemplacement 4.

Le module ET 200M peut recevoir son tour dautres


modules dentres/sorties. Choisissez par exemple le
module DI32xDC24V pour lemplacement 4 et insrez
le module par double clic.

Vrifiez avant de slectionner des modules


dans le catalogue du matriel que vous tes
dans le bon dossier, par exemple dans le
dossier ET 200M si vous voulez slectionner
des modules ET 200M.

Getting Started STEP 7


A5E02904801-01

105

Configuration de la priphrie dcentralise

Modifier ladresse rseau


Dans notre exemple, nous navons pas eu modifier
ladresse rseau. Dans la pratique, vous aurez souvent
le faire.
Slectionnez lun aprs lautre les autres partenaires de
rseau et vrifiez leurs adresses dentre et de sortie.
Les adresses ont t modifies dans la configuration
matrielle, il ny a pas dadresses attribues en double.

Admettons que vous vouliez modifier ladresse du


ET 200M :
Slectionnez le ET 200M et double-cliquez sur le module DI32xDC24V (emplacement 4).

Modifiez prsent dans la page donglet Adresses des


proprits les adresses dentre de 6 12.
Fermez la bote de dialogue avec OK.

Getting Started STEP 7


106

A5E02904801-01

Configuration de la priphrie dcentralise

Enregistrez finalement votre configuration de priphrie


dcentralise avec la commande :
Enregistrer et compiler.
Fermez la fentre.

Avec la commande Enregistrer et compiler, une vrification


de la cohrence de votre configuration a automatiquement
lieu. Lorsque cette vrification na dtect aucune erreur,
les donnes systme sont gnres et charges dans le
systme cible.
Avec la commande Enregistrer, vous pouvez enregistrer
une configuration inacheve ou comportant encore des
erreurs. Il nest pas possible de charger les donnes dans
le systme cible.

Alternative : configuration du rseau


La configuration de priphrie dcentralise peut galement tre effectue dans la configuration des rseaux.
Double-cliquez dans SIMATIC
Manager sur le rseau PROFIBUS (1).
La fentre "NetPro" souvre.
Vous pouvez ajouter par glisser-lcher dautres esclaves DP que vous slectionnez dans le catalogue des
objets de rseau au bus PROFIBUS-DP.
Double-cliquez sur un lment quelconque pour le
configurer. La fentre "Configuration matrielle" souvre.

Avec Station > Vrifier la cohrence (fentre de la configuration matrielle) et Rseau > Vrifier la cohrence (fentre de la configuration de rseau), vous pouvez lancer une vrification formelle du programme
avant quil soit enregistr. Les erreurs trouves par STEP 7 sont affiches et des solutions vous sont proposes.
Pour plus dinformations, rfrez-vous aux rubriques "Configuration du
matriel" et "Configuration de la priphrie dcentralise" via la
commande de menu ? > Rubriques daide.

Getting Started STEP 7


A5E02904801-01

107

Configuration de la priphrie dcentralise

Flicitations ! Vous tes arriv en fin de parcours de ce "Getting Started" et avez abord les thmes centraux,
appris les techniques de programmation et fait un tour dhorizon des fonctions principales de STEP 7. Vous
pouvez prsent vous lancer dans votre premier projet.
Pour le cas o vous auriez besoin daide dans la recherche de fonctions prcises ou auriez oubli des manipulations, noubliez pas de recourir laide tendue de STEP 7.
Pour vous permettre dapprofondir vos connaissances sur STEP 7, nous vous proposons des stages de formation. Votre partenaire Siemens dans nos filiales se tient votre disposition pour toute question.
Nous vous souhaitons beaucoup de succs pour la conception de vos projets !
Votre Siemens AG

Getting Started STEP 7


108

A5E02904801-01

A. Annexe A
A.1 Vue densemble des exemples de projet relatifs au manuel
Getting Started

ZFr01_02_STEP7__LIST_1-10 :
Les chapitres programms de 1 10 y compris la table des variables du langage de
programmation LIST.

ZFr01_01_STEP7__LIST_1-9 :
Les chapitres programms de 1 9 y compris la table des variables du langage de
programmation LIST.

ZFr01_06_STEP7__CONT_1-10 :
Les chapitres programms de 1 10 y compris la table des variables du langage de
programmation CONT.

ZFr01_05_STEP7__CONT_1-9 :
Les chapitres programms de 1 9 y compris la table des variables du langage de
programmation CONT.

ZFr01_04_STEP7__LOG_1-10 :
Les chapitres programms de 1 10 y compris la table des variables du langage de
programmation LOG.

ZFr01_03_STEP7__LOG_1-9 :
Les chapitres programms de 1 9 y compris la table des variables du langage de
programmation LOG.

ZFr01_07_STEP7__DezP_11 :
Le chapitre programm 11 et la priphrie dcentralise.

Getting Started STEP 7


A5E02904801-01

109

Annexe A

Getting Started STEP 7


110

A5E02904801-01

Index
Crer un bloc fonctionnel 37

A
Adresse absolue 19
Adresse rseau
modifier 106
Appel de bloc dans CONT 52
Appel de la fonction 82
Appel de l'Aide de STEP 7 17
Appliquer la tension 65

B
Beispielprojekte 109
Bloc de donnes
programmer 85
Bloc de donnes global
crer 85
ouvrir 85
Bloc de donnes global dans la table des variables 87
Bloc fonctionnel
crer 37
ouvrir 37
Blocs de donnes
gnrer les blocs de donnes dinstance 50

C
Chargement de blocs isols 67
Chargement du programme dans le systme cible 65
Choix du langage de programmation 23
Commutation de la table des variables en ligne 71
Configuration de la priphrie dcentralise 101
Configuration des units centrales 61
Configuration du rseau 107
Configuration du rseau matre DP 104
Configuration matrielle 61, 63
Configuration PROFIBUS-DP 101
CONT
appel de bloc 52
programmation du FB1 39
programmer un circuit 28
programmer un circuit srie 26
programmer une bascule 29
programmer une fonction de temporisation 79
tester 68
Copier la table des mnmoniques 24
Cration dun programme avec FB et DB 37
Cration dun programme dans lOB1 23
Cration de la table des variables 70
Cration d'un bloc de donnes global 85
Cration d'un projet 13
Cration d'une fonction 77

E
diteur de mnmoniques 20
diteur de programme CONT/LIST/LOG 25
Effacement gnral de la CPU et passage RUN 65
Etablissement de la liaison en ligne 63
Evaluer la mmoire tampon de diagnostic 74

F
Fonction
appeler 82
crer 77
ouvrir 77
Forage des variables 72

G
Gnrer les blocs de donnes dinstance 50

I
Insrer > Mnmonique 31, 34
Insertion > Mnmonique 27
Interroger ltat du module 74

L
Lancement de SIMATIC Manager 13
Liaison en ligne
tablir 63
LIST
Appel de bloc 55
programmation du bloc FB1 43
programmer une bascule 32
programmer une fonction de temporisation 80
programmer une instruction ET 30
programmer une instruction OU 31
tester 68
LIST
insrer un mnmonique 31
LIST
reprsentation symbolique 32
LOG
appel de bloc 57
Programmation du bloc FB1 46
programmer une bascule 36
programmer une fonction de temporisation 81
programmer une fonction OU 35
tester 68

Getting Started STEP 7


A5E02904801-01

111

Index

LOG
insrer un mnmonique 34
programmer une fonction ET 33
LOG
reprsentation symbolique 36
Logiciels optionnels SIMATIC 18

M
Matrielle configuration 61
Mmoire tampon de diagnostic
valuer 74
Mise en marche de la CPU 67
Modification de ladresse rseau 106
Modifier les valeurs effectives 50
Multiinstance
programmer 89

N
Navigation dans la structure du projet 18

O
OB1
ouvrir 24
Ouvrir l'OB1 24
Ouvrir un bloc de donnes global 85
Ouvrir un bloc fonctionnel 37
Ouvrir une fonction 77

P
Priphrie dcentralise
configurer 101
Programmation dun appel de bloc en LIST 55
Programmation dun appel de bloc en LOG 57
Programmation dun bloc de donnes global 85
Programmation dun circuit srie en CONT 26
Programmation dune bascule en LIST 32
Programmation dune fonction (FC) 77
Programmation dune fonction ET en LOG 33
Programmation dune instruction ET en LIST 30
Programmation dune instruction OU en LIST 31
Programmation dune multiinstance 89
Programmation du bloc FB1 en LIST 43
Programmation du bloc FB1 en LOG 46
Programmation du FB1 en CONT 39
Programmation d'un circuit parallle en CONT 28
Programmation d'une bascule en CONT 29
Programmation d'une bascule en LOG 36
Programmation d'une fonction de temporisation en CONT
79

Programmation d'une fonction de temporisation en LIST


80
Programmation d'une fonction de temporisation en LOG
81
Programmation d'une fonction OU en LOG 35
Programmation en ligne 67
Programmation symbolique 20

R
Remplir la table de dclaration des variables
CONT 39
LIST 43
LOG 46
Reprsentation symbolique
CONT 29
Rseau > Vrifier la cohrence 107
Rseau matre DP
configurer 104

S
Station > Vrifier la cohrence 107
STEP 7
installer 11
STEP 7
mode d'emploi 10
STEP7
Assistent
nouveau projet 13
Structure du projet dans SIMATIC Manager 16

T
Table des mnmoniques 20
Table des mnmoniques
copier 24
Table des variables
commuter en ligne 71
crer 70
Test avec CONT 68
Test avec LIST 68
Test avec LOG 68
Type de donns 21

V
Variables
forcer 72
visualiser 72
Vrification du mode de fonctionnement 67
Visualisation des variables 72
Vue de dclaration 95
Vue des donnes 95

Getting Started STEP 7


112

A5E02904801-01