Vous êtes sur la page 1sur 228

Manuel de Rfrence

PL7 Micro/Junior/Pro

Description du logiciel PL7


fre Mars 2005
35009568_00
2
Structure de la documentation

Structure de la documentation

Prsentation Ce manuel se compose de trois tomes:


l Tome 1: Description du logiciel PL7
l Gnralits
l Langage contacts
l Langage liste dinstructions
l Langage littral structur
l Langage Grafcet
l Blocs fonction DFB
l Modules Fonctionnels
l Tome 2: Description dtaille des instructions et des fonctions
l Instructions de base
l Instructions avances
l Objets bits et mots systme
l Tome 3: Annexes
l Diffrences entre PL7-2/3 et PL7-Micro/Junior
l Aide-mmoire
l Liste des mots rservs
l Conformit au standard CEI 1131-3
l Serveur OLE Automation
l Performances

3
Structure de la documentation

4
Table des matires

A propos de ce manuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Partie I Description du logiciel PL7 . . . . . . . . . . . . . . . . . . . . . . . 13


Prsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

Chapitre 1 Prsentation du logiciel PL7 . . . . . . . . . . . . . . . . . . . . . . . . . . . 15


Prsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Prsentation des logiciels PL7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Prsentation des langages PL7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Structure logicielle PL7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Modules fonctionnels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Chapitre 2 Description des objets langages PL7 . . . . . . . . . . . . . . . . . . . . 25


Prsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Dfinition des principaux objets boolen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Dfinition des principaux objets mots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Adressage des objets bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Adressage des objets de modules dentres/sorties du TSX 37. . . . . . . . . . . . . 31
Adressage des objets de modules dentres/sorties en rack . . . . . . . . . . . . . . . 34
Adressage des objets langage de modules dports sur bus FIPIO . . . . . . . . . 36
Adressage des objets langage lis au bus AS-i . . . . . . . . . . . . . . . . . . . . . . . . . 39
Adressage des objets mots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Rgle de recouvrements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Objets de bloc fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Objets PL7 de type tableau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Objets indexs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Objets Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Symbolisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Objets prsymboliss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Chapitre 3 Mmoire utilisateur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55


Prsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Structure mmoire des automates Micro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Structure mmoire des automates Premium. . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Description de la mmoire bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5
Description de la mmoire mots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Caractristiques de la mmoire des automates TSX 37 . . . . . . . . . . . . . . . . . . . 62
Caractristiques de la mmoire des automates TSX/PCX 57 10/15/20/25/26/28 64
Caractristiques de la mmoire des automates TSX/PCX 57 30/35/36 . . . . . . . 66
Caractristiques de la mmoire des automates TSX 57 453/4823 . . . . . . . . . . . 68

Chapitre 4 Modes de marche. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71


Prsentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Traitement sur coupure et reprise secteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Traitement sur reprise chaud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Gestion du dmarrage froid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

Chapitre 5 Structure logicielle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79


Prsentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.1 Description des tches. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Prsentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Prsentation de la tche matre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Description des sections et des sous-programmes . . . . . . . . . . . . . . . . . . . . . . . 82
Prsentation de la tche rapide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Prsentation des traitements vnementiels . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.2 Structure monotche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Prsentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Structure logicielle monotche. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Excution cyclique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Excution priodique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Contrle du temps de cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
5.3 Structure multitche. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Prsentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Structure logicielle multitche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Squencement des tches dans une structure multitche . . . . . . . . . . . . . . . . . 99
Affectation des voies dentres/sorties aux tches matre et rapide . . . . . . . . . 100
Echanges d'entres/sorties dans les traitements vnementiels . . . . . . . . . . . 101
5.4 Modules fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Structuration en modules fonctionnels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

Partie II Description des langages PL7 . . . . . . . . . . . . . . . . . . . . 105


Prsentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

Chapitre 6 Langage contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107


Prsentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Prsentation gnrale du langage contacts . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Structure dun rseau de contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Etiquette dun rseau de contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Commentaire dun rseau de contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Elments graphiques du langage contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Rgles de programmation dun rseau de contacts . . . . . . . . . . . . . . . . . . . . . 115

6
Rgle de programmation des blocs fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Rgles de programmation des blocs opration. . . . . . . . . . . . . . . . . . . . . . . . . 117
Excution dun rseau de contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

Chapitre 7 Langage liste dinstructions . . . . . . . . . . . . . . . . . . . . . . . . . . 121


Prsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Prsentation gnrale du langage liste dinstructions . . . . . . . . . . . . . . . . . . . . 122
Structure dun programme liste dinstructions . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Etiquette dune phrase en langage liste dinstructions . . . . . . . . . . . . . . . . . . . 124
Commentaire dune phrase en langage liste dinstructions. . . . . . . . . . . . . . . . 125
Prsentation des instructions en langage liste dinstructions . . . . . . . . . . . . . . 126
Rgle dutilisation des parenthses en langage liste dinstructions . . . . . . . . . 129
Description des instructions MPS, MRD et MPP. . . . . . . . . . . . . . . . . . . . . . . . 131
Principes de programmation des blocs fonction prdfinis . . . . . . . . . . . . . . . . 133
Rgles dexcution dun programme liste dinstructions . . . . . . . . . . . . . . . . . . 135

Chapitre 8 Langage litteral structur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137


Prsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Prsentation du langage littral structur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Structure dun programme en langage littral structur . . . . . . . . . . . . . . . . . . 139
Etiquette dune phrase en langage littral structur . . . . . . . . . . . . . . . . . . . . . 140
Commentaire dune phrase en langage littral structur. . . . . . . . . . . . . . . . . . 141
Instructions sur objets bits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Instructions arithmtiques et logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Instructions sur tableaux et chane de caractres. . . . . . . . . . . . . . . . . . . . . . . 145
Instructions de conversions numriques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Instructions sur programme et instructions spcifiques . . . . . . . . . . . . . . . . . . 149
Structure de contrle conditionnelle IF...THEN . . . . . . . . . . . . . . . . . . . . . . . . . 151
Structure de contrle conditionnelle WHILE...END_WHILE . . . . . . . . . . . . . . . 153
Structure de contrle conditionnelle REPEAT...END_REPEAT . . . . . . . . . . . . 154
Structure de contrle conditionnelle FOR...END_FOR . . . . . . . . . . . . . . . . . . . 155
Instruction de sortie de boucle EXIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Rgles dexcution dun programme littral structur . . . . . . . . . . . . . . . . . . . . 157

Chapitre 9 Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161


Prsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
9.1 Prsentation gnrale du Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Prsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Prsentation du Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Description des symboles graphiques du Grafcet. . . . . . . . . . . . . . . . . . . . . . . 164
Description des objets spcifiques au Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . 166
Possibilits du Grafcet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
9.2 Rgle de construction du Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Prsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Reprsentation du Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Utilisation des divergences et convergences OU . . . . . . . . . . . . . . . . . . . . . . . 171

7
Utilisation des divergences et convergences ET . . . . . . . . . . . . . . . . . . . . . . . . 172
Utilisation des renvois . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Utilisation des liaisons orientes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Commentaire Grafcet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
9.3 Programmation des actions et des conditions . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Prsentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
Programmation des actions associes aux tapes . . . . . . . . . . . . . . . . . . . . . . 179
Programmation des actions lactivation ou la dsactivation. . . . . . . . . . . . . 181
Programmation des actions continues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Programmation des rceptivits associes aux transitions . . . . . . . . . . . . . . . . 183
Programmation des rceptivits en langage contacts . . . . . . . . . . . . . . . . . . 184
Programmation des rceptivits en langage liste dinstructions . . . . . . . . . . . . 185
Programmation des rceptivits en langage littral structur . . . . . . . . . . . . . . 186
9.4 Macro-tapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Prsentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Prsentation des macro-tapes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Constitution dune macro-tape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Caractristiques des macro-tapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
9.5 Section Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Prsentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Structure dune section Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Description du traitement prliminaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Prpositionnement du Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Initialisation du Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Remise zro du Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Figeage du Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Remise zro des macro-tapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
Fonctionnement du traitement squentiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
Description du traitement postrieur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

Chapitre 10 Blocs fonction DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205


Prsentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Prsentation des blocs fonction DFB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
Comment mettre en oeuvre un bloc fonction DFB. . . . . . . . . . . . . . . . . . . . . . . 207
Definition des objets des blocs fonction type DFB. . . . . . . . . . . . . . . . . . . . . . . 209
Dfinition des paramtres DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
Dfinition des variables DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Rgle de codage des Types DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Cration des instances de DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Rgle dutilisation des DFB dans un programme. . . . . . . . . . . . . . . . . . . . . . . . 217
Utilisation dun DFB dans un programme en langage contacts . . . . . . . . . . . 218
Utilisation dun DFB dans un programme en langage liste dinstructions ou littral
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
Excution dune instance DFB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
Exemple de programmation de bloc fonction DFB . . . . . . . . . . . . . . . . . . . . . . 221

8
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225

9
10
A propos de ce manuel

Prsentation

Objectif du Ce manuel dcrit les langages de programmation des automates Micro, Premium et
document Atrium.

Champ La mise jour de cette publication prend en compte les fonctionnalits de PL7 V4.5.
dapplication Elle permet nammoins de mettre en oeuvre les versions antrieures de PL7.

Commentaires Envoyez vos commentaires l'adresse e-mail techpub@schneider-electric.com


utilisateur

11
A propos de ce manuel

12
Description du logiciel PL7

I
Prsentation

Objet de cet Cet intercalaire presente le logiciel PL7. Il dcrit les notions lmentaires de base
intercalaire ncessaires la programmation des automates Micro et Premium.

Contenu de cette Cette partie contient les chapitres suivants :


partie
Chapitre Titre du chapitre Page
1 Prsentation du logiciel PL7 15
2 Description des objets langages PL7 25
3 Mmoire utilisateur 55
4 Modes de marche 71
5 Structure logicielle 79

13
Description du logiciel PL7

14
Prsentation du logiciel PL7

1
Prsentation

Objet de ce Ce chapitre prsente les principales caractristiques du logiciel PL7.


chapitre

Contenu de ce Ce chapitre contient les sujets suivants :


chapitre
Sujet Page
Prsentation des logiciels PL7 16
Prsentation des langages PL7 17
Structure logicielle PL7 20
Modules fonctionnels 22

15
Prsentation du logiciel PL7

Prsentation des logiciels PL7

Gnralits La conception et la mise en oeuvre des applications pour automates Micro et


Premium se ralisent laide des logiciels PL7.

Il est propos 3 types de logiciels PL7:


l PL7 Micro,
l PL7 Junior,
l PL7 Pro.

Logiciels PL7 Le tableau suivant montre les diffrences entre les 3 types de logiciels.
Services PL7 Micro PL7 Junior PL7 Pro
Programmation/Mise au point/ M M/P/A M/P/A
Exploitation
Blocs fonction Cration - - P/A
utilisateur Utilisation - P/A P/A
Ecrans dexploitation Cration - - M/P/A
Utilisation - M/P/A M/P/A
Modules fonctionnels - - P/A
Bloc fonction DFB de diagnostic - - P/A

Lgende :
A = automates Atrium
M = automates Micro
P = automates Premium
- = non disponible

Conventions Dans la suite du document :


dcriture l la notation PL7 ou logiciel PL7 est utilise pour dsigner indiffremment les 3
types de logiciels PL7 Micro, PL7 Junior et PL7 Pro,
l la notation Premium est utilise pour dsigner indiffremment les processeurs
TSX 57, PMX 57, et PCX 57.

16
Prsentation du logiciel PL7

Prsentation des langages PL7

Gnralits Le logiciel PL7 propose 4 langages de programmation :


l langage contacts
l liste d'instructions
l littral structur
l Grafcet
Le tableau suivant donne lutilisation possible des langages en fonction des types
dautomates.
Langage Automates Micro Automates Premium
Langage contacts X X
Liste d'instructions X X
Littral structur X X
Grafcet X (except les macro-tapes) X

Lgende :
X = disponible
- = non disponible

Ces langages peuvent tre mixs au sein dune mme application. Une section de
programme peut tre crite en langage contacts, une autre en littral ...

Ces langages mettent en oeuvre :


l des blocs fonction pr-dfinis (Temporisations, Compteurs,...),
l des fonctions mtiers (analogique, communication, comptage...),
l des fonctions spcifiques (gestion du temps, chane de caractres...).

Les objets du langage sont symbolisables l'aide de l'diteur de variables ou en


ligne dans les diteurs de programme.

Le logiciel PL7 est conforme la norme IEC 1131-3 (voir (Voir Manuel de rfrence,
Tomes 2 et 3) ).

17
Prsentation du logiciel PL7

Langage Le langage contacts (LD) est un langage graphique. Il permet la transcription de


contacts schmas relais, il est adapt au traitement combinatoire.

Il offre les symboles graphiques de base : contacts, bobines, blocs.


L'criture de calculs numriques est possible l'intrieur de blocs oprations.
Exemple de rseau de contacts
LD : MAST - CHART
(* Attente de schage*)
%L100
%I1.0 %M12 %I1.7 %Q2.5

%TM4.Q %M17

%I1.10 %Q2.3 %M27 %TM0 %M25 %MW0.X OPERATE


%MW15:=%MW18+500
IN TM Q
MODE TON
TB: 1 mn
TMP: 9999
MODIF: Y
%M2 %I1.4 SR2
C

P N S R OPER COHP COHP F (...)


X H V FB
F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 S.F1 S.F2 S.F3 S.F4 S.F5 S.F6 S.F7 S.F8

Langage liste Le langage liste d'instructions (IL) est un langage "machine" boolen qui permet
dinstructions l'criture de traitements logiques et numriques.

Exemple de programme en langage liste dinstructions


IL : MAST - SR1
! %L0 :
LD %I1.0
ANDN %M12
OR ( %TM4.Q
AND %M17
)
AND %I1.7
ST %Q2.5
! %L5 :
LD %I1.10
ANDN %Q2.3
ANDN %M27
IN %TM0
LD %TM0.Q
AND %M25
AND %MW0:X5
[ %MW15 := %MW18+500]
! %L10:
LD %I1.2
AND %I1.4
SR2

18
Prsentation du logiciel PL7

Langage littral Le langage littral structur (ST) est un langage de type "informatique" permettant
structur l'criture structure de traitements logiques et numriques.

Exemple de programme en langage littral structur


ST : MAST - SR10
! ( * Recherche du premier lment non nul dans un tableau de 32 mots
Dtermination de sa valeur (%MW10 ) , de son rang (%MW11)
Cette recherche seffectue si %M0 est 1
%M1est mis 1 si un lment non nul existe, sinon il est mis 0 * )

IF %M0 THEN
FOR %MW 99 := 0 TO 31 DO
IF %MW100 [%MW99]< > 0 THEN
%MW 10 : =%MW100 [%MW99];
%MW 11 : =%MW 99;
%M1 : = TRUE;
EXIT; ( *Sortie de la boucle FOR*)
ELSE
%M1 : = FALSE;
END_IF;
END_FOR;
ELSE
%M1 : = FALSE;
END_ IF;

Langage Grafcet Le langage Grafcet permet de reprsenter graphiquement et de faon structure le


fonctionnement d'un automatisme squentiel.

Exemple de programme en langage Grafcet.


GRAFCET : MAST - CHART

0 10

11 13
1 3

2 14
12

4 6
15

5 7

F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12

19
Prsentation du logiciel PL7

Structure logicielle PL7

Gnralits Le logiciel PL7 propose deux types de structure :


l Monotche : cest la structure simplifie propose par dfaut, o une seule tche
matre compose dun programme, constitu de plusieurs sections et de sous-
programmes, est excute.
l Multitche : cette structure, mieux adapte pour des applications temps rel
perfomantes, se compose dune tche matre, dune tche rapide et de
traitements vnementiels prioritaires.

20
Prsentation du logiciel PL7

Principe Les tches matre et rapide d'un programme PL7 se composent de plusieurs parties
appeles sections et de sous-programmes.

Chacune de ces sections peut tre programme dans le langage appropri au


traitement raliser.

Lillustration suivante montre un exemple de dcoupage dun programme PL7.


Tche matre MAST Tche rapide FAST traitements
vnementiels
Section en Section
Sas (LD) langage Alarm_sas (ST) en littral EVT0
contacts
Section en
Four_1 Surv_Sec (LD) langage
contacts
Sas (LD)
Section en
CHART Grafcet Alarm_Four (ST) Section en
littral
Sas (LD)

Section en
Sas (LD) langage
Sous-pro- SR0
contacts
grammes
Section en
Nettoyage (ST)
littral

Sous-pro- SR0
grammes

Ce dcoupage en sections permet de crer un programme structur et de gnrer


ou incorporer aisment des modules de programme.

Les sous-programmes peuvent tre appels depuis n'importe quelle section de la


tche laquelle ils appartiennent ou depuis d'autres sous-programmes de la mme
tche.

21
Prsentation du logiciel PL7

Modules fonctionnels

Gnralits Le logiciel PL7 Pro permet de structurer une application pour automate Premium en
modules fonctionnels.

Un module fonctionnel est un regroupement d'lments de programme destins


raliser une fonction dautomatisme.

Indpendamment de la structure multitches des automates, vous pouvez dfinir


une structure arborescente multiniveaux de lapplication dautomatisme.

A chaque niveau, vous pouvez rattacher des sections de programme crites en


langage contacts, littral, liste dinstructions ou Grafcet, ainsi que des tables
danimation et des crans dexploitation.

Vue La vue fonctionnelle en modules permet davoir une dcoupe par fonctions
fonctionnelle cohrentes vis--vis du procd commander.

La vue structurelle donne une vue de lordre dexcution des sections de


programme par lautomate.

Lillustration suivante montre les 2 vues possibles dune application.


Navigateur Application

Vue Structurelle Vue Fonctionnelle


MACHINE_DOSAGE MACHINE_DOSAGE
Configuration Md_march
Programme Programme
Tche Mast Table danimation
Tche Fast Procd
Evnements Programme
Types DFB Table danimation
Variables Remplir
Tables danimation Programme
Dossier Table danimation
Ecrans dexploitation Doser
Programme
Table danimation
Mixer
Programme
Table danimation
Vider
Programme
Table danimation

22
Prsentation du logiciel PL7

Services Les services dexploitation sont disponibles dans lune ou lautre vue. En particulier,
associs la vue par une seule commande, il est possible de forcer lexcution ou non dun module
fonctionnelle fonctionnel.

Dans ce cas, toutes les sections rattaches au module fonctionnel sont automati-
quement forces.

Export/import de Vous pouvez exporter tout ou partie de la structure arborescente en modules


modules fonctionnels.
fonctionnels Dans ce cas, lensemble des sections de programme des diffrents niveaux de
modules est export.

23
Prsentation du logiciel PL7

24
Description des objets langages
PL7
2
Prsentation

Objet de ce Ce chapitre dcrit tous les objets des langages PL7. Ces objets sont utiliss en tant
chapitre quoprandes dans les instructions.

Contenu de ce Ce chapitre contient les sujets suivants :


chapitre
Sujet Page
Dfinition des principaux objets boolen 26
Dfinition des principaux objets mots 27
Adressage des objets bits 29
Adressage des objets de modules dentres/sorties du TSX 37 31
Adressage des objets de modules dentres/sorties en rack 34
Adressage des objets langage de modules dports sur bus FIPIO 36
Adressage des objets langage lis au bus AS-i 39
Adressage des objets mots 41
Rgle de recouvrements 43
Objets de bloc fonction 44
Objets PL7 de type tableau 46
Objets indexs 48
Objets Grafcet 51
Symbolisation 52
Objets prsymboliss 54

25
Objets langages PL7

Dfinition des principaux objets boolen

Description Le tableau suivant dcrit les principaux objets boolens.


Bits Description Exemples Accs en
criture
Valeurs 0 ou 1 (False ou True) 0 _
immdiates
Entres/sorties Ces bits sont les "images logiques" des tats lectriques des %I23.5 Non
entres/sorties. %Q51.2 Oui
Ils sont rangs dans la mmoire de donnes et sont mis jour
chaque scrutation de la tche dans laquelle ils sont configurs.

Note : Les bits dentres/sorties non utiliss ne peuvent pas tre


employs comme bits internes.
Internes Les bits internes permettent de mmoriser des tats intermdiaires %M200 Oui
durant lexcution du programme.
Systme Les bits systme %S0 %S127 surveillent le bon fonctionnement de %S10 Selon i
lautomate ainsi que le droulement du programme application.
Blocs fonction Les bits de blocs fonction correspondent aux sorties des blocs %TM8.Q Non
fonction standard ou instance de DFB.
Ces sorties peuvent tre soit cbles directement, soit exploites en
tant qu'objet.
Extraits de Le logiciel PL7 donne la possibilit d'extraire l'un des 16 bits d'un %MW10:X5 Selon type
mots objet mot. de mots
Etapes et Les bits dtat permettent de connatre ltat dune tape, dune %X21 Oui
macro-tapes macro-tape ou encore dune tape de macro-tape. %X5.9 Oui
Grafcet

26
Objets langages PL7

Dfinition des principaux objets mots

Description Le tableau suivant dcrit les principaux objets mots.


Mots Description Exemples Accs en
criture
Valeurs Ce sont des valeurs algbriques de format homogne avec celui des mots 2542 _
immdiates simple et double longueur (16 ou 32 bits), qui permettent d'affecter des
valeurs ces mots.
Entres/ Ce sont les "images logiques" des valeurs lectriques des entres/sorties %IW23.5 non
sorties (exemple : entres/sorties analogiques). %QW51.1 oui
Ils sont rangs dans la mmoire de donnes et sont mis jour chaque
scrutation de la tche dans laquelle ils sont configurs.
Internes Ils sont destins stocker des valeurs en cours du programme. Ils sont %MW10 oui
rangs lintrieur de lespace Donnes dans une mme zone mmoire. %MD45 oui
Constants Ils mmorisent les constantes ou les messages alphanumriques. Leur %KW30 oui
contenu ne peut tre crit ou modifi que par le terminal. (uniquement
Ils sont stocks au mme endroit que le programme , Ils peuvent donc par terminal)
avoir comme support de la mmoire FLASH EPROM.
Systme Ces mots assurent plusieurs fonctions : %SW5 selon i
l certains renseignent sur ltat du systme (temps de fonctionnement
systme et application, ...).
l dautres permettent dagir sur lapplication (modes de marche, ...).
Blocs Ces mots correspondent aux paramtres ou valeurs courantes des blocs %TM2.P oui
fonction fonction standard ou instance de DFB.
Communs Ils sont destins tre changs automatiquement sur toutes les stations %NW2.3 oui
connectes au rseau de communication.
Grafcet Les mots Grafcet permettent de connatre les temps dactivit des %X5.T oui
tapes.

27
Objets langages PL7

Format des Les valeurs des mots peuvent tre codes dans les formats suivants :
valeurs
Type Taille Exemple de valeur Borne infrieure Borne suprieure
Entier base 10 Simple longueur 1506 -32768 +32767
Double longueur 578963 -2 147 483 648 2 147 483 647
Entier base 2 Simple longueur 2#1000111011111011011 2#10...0 2#01...1
Double longueur 2#10001110111110110111111 2#10...0 2#01...1
111011111011111
Entier base 16 Simple longueur 16#AB20 16#0000 16#FFFF
Double longueur 16#5AC10 16#000000000 16#FFFFFFFF
Flottant -1.32E12 -3.402824E+38 (1) -1.175494E-38 (1)
1.175494E-38 (1) 3.402824E+38 (1)
Lgende
(1) bornes exclues

28
Objets langages PL7

Adressage des objets bits

Prsentation Ladressage des bits internes, systme et tapes suit les rgles suivantes :
% M, S ou X i

Symbole Type dobjet Numro

Syntaxe Le tableau ci-dessous dcrit les diffrents lments constituant ladressage.


Famille Elment Valeurs Description
Symbole % - -
Type dobjet M - Bits internes destins mmoriser les tats intermdiaires en
cours du programme. Ils sont rangs lintrieur de lespace
donnes dans une mme zone mmoire.
S - Bits systme (Voir Manuel de rfrence, Tome 2), ces bits
assurent plusieurs fonctions :
l certains renseignent sur ltat du systme par lecture des bits
%Si (dbordement du chien de garde, ...).
l dautres permettent dagir sur lapplication (initialisation Grafcet,
...).
X - Bits dtape, les bits tapes (Voir Objets Grafcet, p. 51) donnent
ltat dactivit des tapes.
Numro i - La valeur maximum du numro dpend du nombre dobjets
configur.

Exemples :
l %M25 = bit interne numro 25
l %S20 = bit systme numro 20
l %X6 = bit tape numro 6

29
Objets langages PL7

Bits extrait de Le logiciel PL7 permet dextraire lun des 16 bits des mots simple longueur. Le
mots repre du mot est alors complt par le rang du bit extrait suivant la syntaxe ci-
aprs:
MOT :X j

Adresse du mot Position j= 0 15 rang


du bit dans le mot.
Exemples :
l %MW10:X4 = bit numro 4 du mot interne %MW10
l %QW5.1:X10 = bit numro 10 du mot de sortie %QW5.1

Note : L'extraction de bits de mots peut aussi s'effectuer sur mots indexs.

30
Objets langages PL7

Adressage des objets de modules dentres/sorties du TSX 37

Prsentation Ladressage des principaux objets bit et mot de modules dentres/sorties est de
type gographique. Cest dire quil dpend :
l du numro (adresse) du rack,
l de la position physique du module dans le bac,
l du numro de la voie du module.

Illustration Ladressage est dfini de la manire suivante :


% I,Q,M,K X, W, D, F X i r
Symbole Type dobjet Format Position N voie Rang

31
Objets langages PL7

Syntaxe Le tableau ci-dessous dcrit les diffrents lments constituant ladressage.


Famille Elment Valeurs Description
Symbole % - -
Type dobjet I - Image de lentre physique du module,
Q - Image de la sortie physique du module,
Ces informations sont changes de manire implicite chaque cycle de
la tche laquelle elles sont attaches.
M - Variable interne
Ces informations de lecture ou dcriture sont changes la demande
de lapplication.
K - Constante interne
Ces informations de configuration sont disponibles en lecture seulement.
Format (taille) X - Boolen
Pour les objets de type boolen, le X peut tre omis.
W 16 bits Simple longueur.
D 32 bits Double longueur.
F 32 bits Flottant. Le format flottant utilis est celui de la norme IEEE Std 754-1985
(quivalent IEC 559).
Position module x 08 TSX 37-10
0 10 TSX 37-21/22
Note : un module au format standard (occupant 2 positions) est adress
comme 2 modules au 1/2 format superposs, (voir les explications ci-
aprs).
N voie i 0 31 ou Numro de voie du module.
MOD MOD : voie rserve la gestion du module et des paramtres communs
toutes les voies.
Rang r 0 127 ou Position du bit dans le mot.
ERR ERR : indique un dfaut module ou voie.

Exemples Le tableau ci-dessous prsente quelques exemples dadressage dobjets.


Objet Description
%I1.5 Voie dentre numro 5 du module dentres/sorties situ la position 1.
%MW2.0.3 Mot dtat de rang 3 de la voie 0 du module dentres/sorties situ la position 2.
%I5.MOD.ERR Information de dfaut du module dentres/sorties situ la position 5.

32
Objets langages PL7

Cas des modules Ils sont adresss comme 2 modules au 1/2 format superposs.
au format
standard Par exemple, un module de 64 E/S occupant les positions 5 et 6, est vu comme 2
modules 1/2 format :
l un 1/2 module de 32 entres situ la position 5,
l un 1/2 module de 32 entres situ la position 6,
Le tableau ci-aprs dcrit le codage Position/Numro de voie en fonction du module.
Module 1/2 format Format standard
4S 8E 12E 28E/S 32E 32S 64E/S
Numro de voie 03 07 0 11 0 15 (E) 0 15 (E) 0 15 (S) 0 31 (E)
0 11 (S) 0 15 (E) 0 15 (S) 0 31 (S)
Adressage : x.0 x.0 x.0 x.0 x.0 x.0 x.0
Position/Numro de
voie x.3 x.7 x.11 x.15 x.15 x.15 x.31
(x=position) (x+1).0 (x+1).0 (x+1).0 (x+1).0

(x+1).11 (x+1).15 (x+1).15 (x+1).31

Exemples Le tableau ci-dessous prsente deux exemples dadressage dobjets dun module
standard 28E/S occupant les positions 3 et 4.
Objet Description
%I3.6 Voie dentre numro 6 du module.
%Q4.2 Voie de sortie numro 2 du module

33
Objets langages PL7

Adressage des objets de modules dentres/sorties en rack

Prsentation Ladressage des principaux objets bit et mot de modules dentres/sorties est de
type gographique. Cest dire quil dpend :
l du numro (adresse) du rack,
l de la position physique du module dans le rack,
l du numro de la voie du module.

Illustration Ladressage est dfini de la manire suivante :


% I, Q, M, K X, W, D, F X Y i r
Symbole Type dobjet Format Rack Position N voie Rang

Syntaxe Le tableau ci-dessous dcrit les diffrents lments constituant ladressage.


Famille Elment Valeurs Description
Symbole % - -
Type dobjet I - Image de lentre physique du module,
Q - Image de la sortie physique du module,
Ces informations sont changes de manire automatique chaque
cycle de la tche laquelle elles sont attaches.
M - Variable interne
Ces informations de lecture ou dcriture sont changes la demande
de lapplication.
K - Constante interne
Ces informations de configuration sont disponibles en lecture seulement.
Format (taille) X - Boolen
Pour les objets de type boolen, cet lment peut tre omis.
W 16 bits Simple longueur.
D 32 bits Double longueur.
F 32 bits Flottant. Le format flottant utilis est celui de la norme IEEE Std 754-1985
(quivalent IEC 559).
Adresse rack x 0 ou 1 TSX 5710/102/103/153, PMX 57102, PCX 571012).
07 Autres processeurs.
Position module y 00 14 Numro de position dans le rack.
(1) Lorsque le numro de rack (x) est diffrent de 0, la position (y) est code
sur 2 digits : 00 14 ; par contre si le numro de rack (x) = 0, on limine
les zros non significatifs (limination par la gauche) de "y" ("x" n'apparat
pas et "y" est sur 1 digit pour les valeurs infrieures 9).
(1) : le nombre demplacements maximum ncessite lutilisation de 2 racks la mme adresse.

34
Objets langages PL7

Famille Elment Valeurs Description


N voie i 0 127 MOD : voie rserve la gestion du module et des paramtres communs
ou MOD toutes les voies.
Rang r 0 127 Position du bit dans le mot.
ou ERR ERR : indique un dfaut module ou voie.
(1) : le nombre demplacements maximum ncessite lutilisation de 2 racks la mme adresse.

Exemples Le tableau ci-dessous prsente quelques exemples dadressage dobjets.


Objet Description Illustration
%MW2.0.3 Mot dtat de rang 3 de la voie 0 du
module dentres TOR situ la position
2 du rack 0. 0 L
2 3 4
P T o D
%MW103.0.3 Mot dtat de rang 3 de la voie 0 du S S o S
Y X p Y
module de sorties TOR situ la position 0 s
2 5 o 0
3 du rack 1. 6 7 o 8
0 2 C R
%I102.MOD.ERR Information de dfaut du module 0 0 o 5
3 m
dentres analogiques situ la position 2
du rack 1.
%I204.3.ERR Information de dfaut de la voie 3 du
0 1 2 3 4
module de sorties analogiques situ la
P D
position 4 du rack 2. S A S
Y E Y
1 Y
2 0
6 8 8
0 0 R
0 0 5

0 1 2 3 4
P A
S S
Y Y
2 2
6 8
0 0
0 0

35
Objets langages PL7

Adressage des objets langage de modules dports sur bus FIPIO

Prsentation Ladressage des principaux objets bit et mot des modules dports sur bus FIPIO
est de type gographique. Cest dire quil dpend :
l du point de connexion,
l du type de module (base ou extension),
l du numro de la voie.

Illustration Ladressage est dfini de la manire suivante :


% I, Q, M, K X, W, D, F \ p.2.c \ m i r
Symbole Type dobjet Format Adresse Nde N voie Rang
module/voie et module
point de connexion

36
Objets langages PL7

Syntaxe Le tableau ci-dessous dcrit les diffrents lments constituant ladressage.


Famille Elment Valeurs Signification
Symbole % - -
Type dobjet I - Image de lentre physique du module,
Q - Image de la sortie physique du module,
Ces informations sont changes de manire automatique chaque cycle
de la tche laquelle elles sont attaches.
M - Variable interne
Ces informations de lecture ou dcriture sont changes la demande de
lapplication.
K - Constante interne
Ces informations de configuration sont disponibles en lecture seulement.
Format (taille) X - Boolen
Pour les objets de type boolen, le X peut tre omis.
W 16 bits Simple longueur.
D 32 bits Double longueur.
F 32 bits Flottant. Le format flottant utilis est celui de la norme IEEE Std 754-1985
(quivalent IEC 559).
Adresse module/ p 0 ou 1 Numro de position du processeur dans le rack.
voie et point de 2 - Numro de voie de la liaison FIPIO intgre dans le processeur.
connexion
c 1 127 Numro de point de connexion.
Position module m 0 ou 1 0 : module de base, 1 : module dextension.
N voie i 0 127 MOD : voie rserve la gestion du module et des paramtres communs
ou MOD toutes les voies.
Rang r 0 255 ERR : indique un dfaut module ou voie.
ou ERR

37
Objets langages PL7

Exemples Le tableau ci-dessous prsente quelques exemples dadressage dobjets.


Objet Signification
%MW\0.2.1\0.5.2 Mot dtat de rang 2 du bit image de lentre 5 du module de base
dentres dportes situ au point de connexion 1 du bus FIPIO.
%I\0.2.1\0.7 Bit image de lentre 7 du module de base dentres dportes situ
au point de connexion 1 du bus FIPIO.
%Q\0.2.1\1.2 Bit image de la sortie 2 du module dextension de sorties dportes
situ au point de connexion 1 du bus FIPIO.
%I\0.2.2\0.MOD.ERR Information de dfaut du module Momentum situ au point de
connexion 2 du bus FIPIO.
%Q\1.2.3\0.0.ERR Information de dfaut de la voie 0 du module CCX17 situ au point
de connexion 3 du bus FIPIO.

0 Gestionnaire Fipio TSX 57253

1 TBX LEP 030 0 TBX DES 1622 1 TBX DSS 1622

2 170 FNT 110 01 0 170 AAI 030 00

3 TSX FPP 010 0 T CCX 17 20 F

38
Objets langages PL7

Adressage des objets langage lis au bus AS-i

Prsentation Ladressage des principaux objets bit et mot associs au bus AS-i est de type
gographique. Cest dire quil dpend :
l du numro (adresse) du rack o est positionn le coupleur,
l de la position physique du coupleur dans le rack,
l du numro (adresse) de lquipement esclave sur le bus AS-i.

Illustration Ladressage est dfini de la manire suivante :


% I ou Q \ xy.0 \ n i
Symbole Type dobjet Rack/module/voie du N esclave Rang du
TSX SAY 100 bit

Syntaxe Le tableau ci-dessous dcrit les diffrents lments constituant ladressage.


Famille Elment Valeurs Description
Symbole % - -
Type dobjet I - Image de lentre physique du module,
Q - Image de la sortie physique du module,
Ces informations sont changes de manire automatique chaque
cycle de la tche laquelle elles sont attaches.
Adresse rack x 0 ou 1 TSX 5710/102/103/153, PMX 57102, PCX 571012).
07 Autres processeurs.
Position module y 00 14 Numro de position dans le rack.
(1) Lorsque le numro de rack (x) est diffrent de 0, la position (y) est code
sur 2 digits : 00 14 ; par contre si le numro de rack (x) = 0, on limine
les zros non significatifs (limination par la gauche) de "y" ("x"
n'apparat pas et "y" est sur 1 digit pour les valeurs infrieures 9).
N voie 0 - Le coupleur TSX SAY 100 ne possde quune seule voie.
N de lesclave n 0 31 Adresse physique de lesclave.
Rang i 03 Position du bit image de lentre ou de la sortie.
(1) : Le nombre demplacements maximum ncessite lutilisation dun rack dextension.

39
Objets langages PL7

Exemple Le tableau ci-dessous prsente quelques exemples dadressage dobjets.


Objet Description
%I3.0\2.1 Entre 1 de lesclave 2, le module TSX SAY 100 tant positionn
lemplacement 3 du rack 0.
%Q3.0\4.3 Sortie 3 de lesclave 4, le module TSX SAY 100 tant positionn
lemplacement 3 du rack 0.

0 1 2 3 4
P T S
S S A
Y X Y
0
2 5 o 1
6 7 o 0
0 1 C 0
0 0 o
3 m
m

0
1
2 P ABE-8R44SB11
3
4 P XVA-S102

40
Objets langages PL7

Adressage des objets mots

Prsentation Ladressage des mots (hors mots de modules dentres/sorties, et blocs fonction)
suivent une mme syntaxe dcrite ci-aprs.

Illustration Ladressage des mots internes, constants et systme suit les rgles suivantes :

% M, K ou S B, W, D ou F i

Symbole Type dobjet Format Numro

Syntaxe Le tableau ci-dessous dcrit les diffrents lments constituant ladressage.


Famille Elment Valeurs Description
Symbole % - -
Type dobjet M - Mots internes destins stocker des valeurs en cours du
programme. Ils sont rangs lintrieur de lespace donns dans
une mme zone mmoire.
K - Mots constants mmorisent des valeurs constantes ou des
messages alphanumriques. Leur contenu ne peut tre crit ou
modifi que par le terminal. Ils sont stocks au mme endroit que
le programme, Ils peuvent donc avoir comme support de la
mmoire FLASH EPROM.
S - Mots systme (Voir Manuel de rfrence, Tome 2), ces mots
assurent plusieurs fonctions :
l certains renseignent sur ltat du systme par lecture des mots
%SWi (temps de fonctionnement systme et application, ...).
l dautres permettent dagir sur lapplication (modes de marche,
...).
Format B 8 bits Octet, ce format est exclusivement utilis pour les oprations sur
chane de caractres.
W 16 bits Simple longueur : ces mots de 16 bits peuvent contenir une valeur
algbrique comprise entre -32 768 et 32 767,

Rang du bit
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 1 1 1 0 1 1 1 0 0 1 1 0 1 0 0

Poids fort Poids faible

41
Objets langages PL7

Famille Elment Valeurs Description


Format D 32 bits Double longueur : ces mots de 32 bits peuvent contenir une valeur
algbrique comprise entre -2 147 483 648 et 2 147 483 647. Ces
mots simplantent en mmoire sur deux mots simple longueur
conscutifs.

Poids faible

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 1 1 1 0 1 1 1 0 0 1 1 0 1 0 0

0 0 1 1 0 1 1 0 0 1 0 1 0 0 1 0

Poids fort

F 32 bits Flottant: le format flottant utilis est celui de la norme IEEE Std
754-1985 (quivalent IEC 559). La longueur des mots est de 32
bits, ce qui correspond des nombres flottants simple prcision.

Exemples de valeurs flottantes :


1285.28
12.8528E2
Numro i - La valeur maximum du numro dpend du nombre dobjets
configur.

Exemples :
l %MW15 = mot interne simple longueur numro 15
l %MF20 = mot interne flottant numro 20
l %KD26 = double mot constant numro 26
l %SW30 = mot systme numro 30

Adressage des L'adressage des mots sur rseau est dcrit dans le manuel Mtier communication.
mots sur rseau
D'autre part les rseaux utilisent des objets spcifiques : les mots communs .Ce
sont des objets mots simple longueur (16 bits) communs toutes les stations
connectes au rseau de communication.

Adressage : %NW{i.j}k

avec : i = 0 127 numro de rseau, j = 0 31 numro de station et k= 0 3 numro


de mot

42
Objets langages PL7

Rgle de recouvrements

Principes Les octets, mots simples, double longueur et flottant sont rangs lintrieur de
lespace donn dans une mme zone mmoire.

Ainsi, il y a recouvrement entre :


l le mot double longueur %MDi et les mots simple longueur %MWi et %MWi+1 (le
mot %MWi renfermant les poids faibles et le mot %MWi+1 les poids forts du mot
%MDi),
l le mot simple longueur %MWi et les octets %MBj et %MBj+1 (avec j=2 x i),
l le flottant %MFk et les mots simple longueur %MWk et %MWk+1.

Illustration Cette illustration montre le recouvrement des mots internes.

%MW0 %MB1 %MB0


%MD0
%MW1 %MB3 %MB2
%MD1
%MW2 %MB5 %MB4
%MD2
%MW3 %MB7 %MB6
%MD3

%MWi
%MDi
%MWi+1

%MWk
%MFk
%MWk+1

Exemples l %MD0 correspond %MW0 et %MW1 (voir illustration ci-dessus).


l %MW3 correspond %MB7 et %MB6 (voir illustration ci-dessus).
l %KD543 correspond %KW543 et %KW544.
l %MF10 correspond %MW10 et %MW11.

43
Objets langages PL7

Objets de bloc fonction

Gnralits Les blocs fonction mettent en oeuvre des objets bits et des mots spcifiques
accessibles par programme.

Exemple de bloc Lillustration suivante prsente un bloc fonction compteur/dcompteur.


fonction %Ci

R E
S %C.P:9999
D
CU
MODIF:Y
CD F

Bloc compteur/dcompteur

Objets bits Ils correspondent aux sorties des blocs. Ces bits sont accessibles par les
instructions boolennes de test.

Objets mots Ils correspondent :


l aux paramtres de configuration du bloc, ces paramtres peuvent tre
accessibles ( ex : paramtre de prslection) ou pas (ex: base de temps) par
programme,
l aux valeurs courantes (ex : %Ci.V valeur de comptage en cours).

44
Objets langages PL7

Liste des objets Le tableau suivant dcrit lensemble des objets de blocs fonction.
de blocs fonction
accessibles par
programme
Blocs Symbole Nb Maxi Nb Maxi Type Description Adresse Accs
fonctions Micro Premium dobjets criture
Temporisateur %TMi 64 255 Mot Valeur courante %TMi.V non
(128 par Valeur de prslection %TMi.P oui
dfaut)
Bit Sortie temporisateur %TMi.Q non
Compteur/ %Ci 32 255 Mot Valeur courante %Ci.V non
Dcompteur (64 par Valeur de prslection %Ci.P oui
dfaut)
Bit Sortie dbordement (vide) %Ci.E non
Sortie prslection atteinte %Ci.D non
Sortie dbordement (plein) %Ci.F non
Monostable %MNi 8 255 Mot Valeur courante %MNi.V non
(32 par Valeur de prslection %MNi.P oui
dfaut)
Bit Sortie dbordement (vide) %MNi.R non

Registre mot %Ri 4 255 Mot Accs au registre %Ri.I oui


(4 par Sortie du registre %Ri.O oui
dfaut)
Bit Sortie registre plein %Ri.F non
Sortie registre vide %Ri.E non
Programmateur %DRi 8 255 Mot Numro de pas en cours %DRi.S oui
cyclique (8 par Etats du pas j %DRi.Wj non
dfaut)
Temps dactivit du pas %DRi.V non
Bit Dernier pas dfini en cours %DRi.F non
Temporisateur %Ti 64 255 Mot Valeur courante %Ti.V non
srie 7 (0 par Valeur de prslection %Ti.P oui
dfaut)
Bit Sortie en cours %Ti.R non
Sortie temporisateur %Ti.D non
coul

Note : le nombre total de temporisateurs %TMi + %Ti est limit 64 pour un


Micro,et 255 pour un Premium.

45
Objets langages PL7

Objets PL7 de type tableau

Tableaux de bits Les tableaux de bits sont des suites d'objets bits adjacents de mme type et de
longueur dfinie : L.

Exemple de tableaux de bits : %M10:6

%M10 %M11 %M12 %M13 %M14 %M15


%M10:6

Ce tableau dfinit les objets bits qui peuvent tre mis sous forme de tableau de bits.
Type Adresse Exemple Accs en criture
Bits dentres TOR %Ix.i:L %I25.1:8 Non
Bits de sorties TOR %Qx.i:L %Q34.0:16 Oui
Bits internes %Mi:L %M50:20 Oui
Bits Grafcet %Xi:L, %Xj.i:L %X50:30 Non

Note : Les longueurs maximum des tableaux dpendent des types dobjet
l Pour les bits dentres/sorties TOR : la taille maximum dpend de la
modularit (nombre dentres/sorties du module).
l Pour les bits internes ou Grafcet : la taille maximum dpend de la taille dfinie
en configuration.

Tableaux de Les tableaux de mots sont des suites de mots adjacents de mme type et de
mots longueur dfinie : L.

Exemple de tableaux mots : %KW10:5


%KW10 16 bits

%KW14

46
Objets langages PL7

Ce tableau dfinit les objets mots qui peuvent tre mis sous forme de tableau de
mots.
Type Format Adresse Exemple Accs en
criture
Mots internes Simple longueur %MWi:L %MW50:20 Oui
Double longueur %MDi:L %MD30:10 Oui
Flottant %MFi:L %MF100:20 Oui
Mots constants Simple longueur %KWi:L %KW50:20 Non
Double longueur %KDi:L %KD30:10 Non
Flottant %KFi:L %KF100:20 Non
Mots Grafcet Mots Grafcet %Xi.T:L, %Xj.i.T:L %X12.T:8 Non
Mots systme Mots systme %SWi:L %SW50:4 Oui

Note : Les longueurs maximum des tableaux dpendent des types dobjet.
l Pour les mots internes, constantes ou Grafcet : la taille maximum dpend de
la taille dfinie en configuration.
l Pour les mots systme : seul les mots %SW50 53 peuvent tre adresss
sous forme de tableau.

Chanes de Les chanes de caractres sont des suites d'octets adjacents de mme type et de
caractres longueur dfinie : L.

Exemple de chane de caractres : %MB10:5


%MB10 8 bits

%MB14

Ce tableau dfinit les objets qui peuvent tre mis sous forme de chane de
caractres.
Type Adresse Exemple Accs en criture
Mots internes %MBi:L %MB10:8 Oui
Mots constants %KBi:L %KB20:6 Oui

Note : lindice i doit tre pair.

47
Objets langages PL7

Objets indexs

Adressage direct Ladressage des objets est dit direct, quand ladresse de ces objets est fixe et dfinie
lcriture du programme.

Exemple : %MW26 (mot interne d'adresse 26)

Adressage En adressage index, ladresse directe de lobjet est complte dun index :
index ladresse de lobjet est ajout le contenu de lindex.

Le tableau suivant prsente le type dindex qui peut tre utilis en fonction du type
dautomate :
Type dindex Automates Premium/ Automates Micro
Atrium
un mot interne %MWi X X
un mot constant %KWi X -
une valeur immdiate X -

Lgende
X : utilisable
- : non utilisable

Le nombre de "mots index" nest pas limit.

Ce type dadressage permet de parcourir successivement une suite dobjets de


mme nature (mots internes, mots constants...), : ladresse de lobjet est ajoute
le contenu de lindex.

Exemple :
MW108[%MW2] : mot dadresse directe 108 + contenu du mot %MW2.
Si le mot %MW2 a pour contenu la valeur 12, crire %MW108[%MW2] quivaut
donc crire %MW120.

48
Objets langages PL7

Description des Le tableau suivant dfinit les objets qui peuvent tre indexs.
objets
Type Format Adresse Exemple Accs en
indexables
criture
Bit d'entres Boolen %Ixy.i[index] %I21.3[%MW5] Non
Bit de sortie Boolen %Qxy.i[index] %Q32.4[%MW5] Oui
Bit interne Boolen %Mi[index] %M10[%MW5] Oui
Bit Grafcet Boolen %Xi[index] %X20[%MW5] Non
%Xj.i[index] %X2.3[%MW5] Non
Mots internes Simple longueur %MWi[index] %MW30[%MW5] Oui
Double longueur %MDi[index] %MD15[%MW5] Oui
Flottant %MFi[index] %MF15[%MW5] Oui
Mots constant Simple longueur %KWi[index] %KW50[%MW5] Non
Double longueur %KDi[index] %KD50[%MW5] Non
Flottant %KFi[index] %KF50[%MW5] Non
Mots Grafcet Simple longueur %Xi .T[index] %X20 .T[%MW5] Non
%Xj.i .T[index] %X2.3 .T[%MW5] Non
Tableau de mots %MWi[index]:L %MW50[%MW5]:10 Oui
%MDi[index]:L %MD40[%MW5]:10 Oui
%KWi[index]:L %KW70[%MW5]:20 Non
%KDi[index]:L %KD80[%MW5]:10 Non

Note : Les valeurs maximum des index dpendent des types dobjets indexs.
l Pour les bits dentres/sorties TOR : 0<i+index<m (m tant le nombre
maximum dentres/sorties du module) .
l Pour tous les autres objets (excepts objet double longueur ou flottant) :
0<i+index<Nmax , Nmax = taille maximum dpend de la taille dfinie en
configuration.
Pour les mots double longueur ou flottant : 0<i+index<Nmax-1.

Indexation des Ladresse relle = adresse directe du double mot index + 2 fois le contenu du mot
mots doubles index.

Exemple : %MD6[%MW100]
Si %MW100=10, le mot adress sera 6 + 2 x 10 -->%MD26.

49
Objets langages PL7

Dbordement Il y a dbordement dindex ds que ladresse dun objet index dpasse les limites
dindex de la zone incluant ce mme type dobjet, cest--dire quand :
l adresse objet + contenu de lindex infrieur la valeur zro,
l adresse objet + contenu de lindex suprieur la limite maximum configure

En cas de dbordement dindex, le systme provoque la mise ltat 1 du bit


systme %S20 et l'affectation de l'objet s'effectue avec une valeur d'index gale 0.

Le tableau suivant donne les conditions de mise 1 et 0 du bit systme %S20.


Mis ltat 1 Remis ltat 0
l mise 1 par le systme sur dbordement l mise 0 par lutilisateur, aprs
dindex modification de lindex

50
Objets langages PL7

Objets Grafcet

Objets bits Le tableau suivant rcapitule tous les objets bits Gracet disponibles et dcrit leur
rle.
Type Description
%Xi tat de l'tape i du graphe principal (Chart).
%XMj tat de la macro-tape j du Grafcet.
%Xj.i tat de l'tape i de la macro-tape j du Grafcet.
%Xj.IN tat de ltape d'entre de la macro-tape.
%Xj.OUT tat de l'tape de sortie de la macro-tape.

Ces bits sont 1 lorsque l'tape ou la macro-tape est active, 0 lorsqu'elle est
inactive.

Objets mots Le tableau suivant rcapitule tous les objets mots Gracet disponibles et dcrit leur
rle.
Type Description
%Xi.Ti temps d'activit de l'tape i du Gracet.
%Xj.i.T temps d'activit de l'tape i de la macro-tape j du Gracet.
%Xj.IN.T temps d'activit de l'tape i de la macro-tape j qui lui permettent de connatre
l'tat de l'tape i de la macro-tape j du Grafcet.
%Xj.OUT.T temps d'activit de ltape d'entre de la macro-tape.
%Xj.OUT temps d'activit de l'tape de sortie de la macro-tape.

Ces mots incrments toutes les 100 ms et prennent une valeur entre 0 et 9999.

51
Objets langages PL7

Symbolisation

Rle Les symboles permettent dadresser les objets langage PL 7, par des noms ou
mnmoniques personnaliss.

Syntaxe Un symbole est une chane de 32 caractres alphanumriques maximum, dont le


premier caractre est alphabtique.

Un symbole commence par une lettre majuscule, les autres tant en minuscule (par
exemple : Bruleur_1).

A la saisie le symbole peut tre crit en majuscules ou en minuscules (par exemple:


BRULEUR_1), le logiciel met automatiquement le symbole dans sa forme correcte.

Caractres Le tableau suivant fournit les caractres utilisables dans le cration des symboles.
utilisables
Type Description
alphabtiques "A Z" et lettres suivantes
majuscules "DYp"
alphabtiques "a z", et lettres accentues : yp
minuscules
numriques chiffres de 0 9 (ils ne peuvent pas tre placs en dbut de symbole).
le caractre "_" il ne peut tre plac ni en dbut de symbole, ni en fin de symbole.

Un certain nombre de mots sont rservs par le langage et ne sont pas utilisables
comme symboles, voir (Voir Manuel de rfrence, Tome 3).

Edition des Les symboles sont dfinis et associs aux objets langages par l'diteur de variables,
symboles un commentaire de 508 caractres peut tre associ chaque symbole.

Les symboles et leurs commentaires sont sauvegards sur le disque du terminal et


non dans l'automate.

52
Objets langages PL7

Objets Tous les objets PL7 sont symbolisables excepts les objets structurs de types
symbolisables tableaux et objets indexs, mais si l'objet de base ou l'index est symbolis, le
symbole est utilis dans l'objet structur.

Exemples :
l si le mot %MW0 a pour symbole "Temprature", le tableau de mots %MW0:12
est symbolis par Temprature:12,
l le mot %MW10 a pour symbole Four_1, le mot index %MW0[%MW10] est
symbolis par Temprature[Four_1].

Les objets bits extraits de mots, bits ou mots de blocs fonction sont symbolisables
mais s'ils ne sont pas symboliss, ils peuvent hriter du symbole de l'objet de base .

Exemples :
l si le mot %MW0 a pour symbole Etat_pompe et si le bit extrait de mot
%MW0:X1 n'est pas symbolis, il hrite du symbole du mot, %MW0:X1 a pour
symbole : Etat_pompe:X1,
l si le bloc fonction %TM0 a pour symbole Tempo_four1 et si la sortie %TM0.D
n'est pas symbolise, elle hrite du symbole du bloc, %TM0.D a pour symbole:
Tempo_four.D.

Objets Les paramtres de blocs fonction DFB sont accessibles uniquement sous forme de
uniquement symboles. Ces objets sont dfinis par la syntaxe suivante :
symboliques
Nom_DFB.Nom_paramtre

Les lments ont la signification et les caractristiques suivantes.


Elment Nb de Description
caractres
maximum
Nom_DFB 32 nom donn au bloc fonction DFB utilis.
Nom_paramtre 8 nom donn au paramtre de sorties ou la
variable publique.

Exemple : Controle.Ecart pour la sortie Ecart de linstance DFB nomme


Controle.

53
Objets langages PL7

Objets prsymboliss

Rle Certains modules mtier (exemple : comptage, commande daxes, ...) permettent
une symbolisation automatique des objets qui leur sont associs.

Si vous donnez le symbole gnrique de la voie %CHxy.i du module, tous les


symboles des objets associs cette voie peuvent tre alors sur demande gnrs
automatiquement.

Syntaxe Ces objets sont symboliss avec la syntaxe suivante:

Prfixe_utilisateur_Suffixe_constructeur

Les lments ont la signification et les caractristiques suivantes :


Elment Nb de Description
caractres
maximum
Prfixe_utilisateur 12 symbole gnrique donn la voie par
l'utilisateur
Suffixe_constructeur 20 partie du symbole correspondant l'objet bit ou
mot de la voie donne par le systme

Note : En plus du symbole, un commentaire constructeur est gnr


automatiquement, ce commentaire rappelle succinctement le rle de l'objet.

Exemple Cet exemple traite le cas dun module de comptage situ dans lemplacement 3 du
bac automate.

Si le symbole gnrique (prfixe-utilisateur) donn la voie 0 est Compt_pieces,


les symboles suivants sont gnrs automatiquement.
Repre Type Symbole Commentaire
%CH3.0 CH
%ID3.0 DWORD Compt_pieces_cur_meas Mesure courante du compteur
%ID3.0.4 DWORD Compt_pieces_capt Valeur capture du compteur
%I3.0 EBOOL Compt_pieces_enab_activ Validation active
%I3.0.1 EBOOL Compt_pieces_pres_done Prslection effectue

54
Mmoire utilisateur

3
Prsentation

Objet de ce Ce chapitre dcrit la structure mmoire des automates Micro et Premium.


chapitre

Contenu de ce Ce chapitre contient les sujets suivants :


chapitre
Sujet Page
Structure mmoire des automates Micro 56
Structure mmoire des automates Premium 58
Description de la mmoire bits 59
Description de la mmoire mots 61
Caractristiques de la mmoire des automates TSX 37 62
Caractristiques de la mmoire des automates 64
TSX/PCX 57 10/15/20/25/26/28
Caractristiques de la mmoire des automates TSX/PCX 57 30/35/36 66
Caractristiques de la mmoire des automates TSX 57 453/4823 68

55
Mmoire utilisateur

Structure mmoire des automates Micro

Gnralits Lespace mmoire des automates Micro accessible lutilisateur est dcoup en
deux ensembles distincts :
l mmoire bits
l mmoire mots

Mmoire bits La mmoire bit est situe dans la mmoire RAM intgre au module processeur.
Elle contient limage des 1280 objets bits.

Rle de la La mmoire mots (16 bits) supporte :


mmoire mots l les donnes : donnes dynamiques de l'application et donnes systme,
l le programme : descripteurs et code excutable des tches,
l les constantes : mots constants, valeurs initiales et configuration des entres/
sorties.

Structure sans Les donnes, programme et constantes sont supports par la mmoire RAM interne
carte mmoire au module processeur.
dextension Le schma suivant dcrit la structure mmoire.
RAM Donnes
interne
Programme

Constantes

Flash Sauvegarde
EPROM programme et
interne constantes

Sauvegarde
%MW

La mmoire Flash EPROM intgre au module processeur peut tre utilise pour
la sauvegarde :
l du programme application (9 ou 15 Kmots en fonction du processeur),
l de 1000 mots internes %MWi.

56
Mmoire utilisateur

Structure avec Les donnes sont supportes par la mmoire RAM interne au module processeur.
carte mmoire Les programme et constantes sont supports par la carte mmoire dextension.
dextension
Le schma suivant dcrit la structure mmoire.
RAM Flash Zone
interne Donnes EPROM inutilisable
interne
Sauvegarde
%MW

Carte mmoire
RAM ou Flash Programme
EPROM externe

Constantes

Une mmoire de 10/16 Kmots Flash EPROM (suivant le processeur) intgre au


module processeur peut tre utilise pour la sauvegarde de 1000 mots internes
%MWi.

Sauvegarde de la Les mmoires RAM peuvent tre secourues par pile Cadmium-nickel:
mmoire l supporte par le module processeur pour la mmoire bit et RAM interne,
l insre dans carte pour la carte mmoire RAM.

La recopie de lapplication dans la mmoire FLASH EPROM interne ncessite que


lautomate ne possde pas de carte PCMCIA et que la taille de lapplication soit
infrieure ou gale 9/15 Kmots (suivant le processeur).

Le transfert d'application depuis la mmoire FLASH EPROM interne vers la


mmoire RAM s'effectue automatiquement lorsqu'il y a perte de l'application en
RAM (dfaut de sauvegarde ou absence de batterie).
Un transfert manuel peut galement tre demand, au travers d'un terminal de
programmation.

57
Mmoire utilisateur

Structure mmoire des automates Premium

Gnralits L'espace mmoire des automates Premium ne comporte qu'un seul ensemble.
La mmoire bits est intgre la mmoire mots (dans la zone des donnes), elle
est limite 4096 bits.

Rle de la La mmoire mots (16 bits) supporte :


mmoire mots l les donnes : donnes dynamiques de l'application et donnes systme (le
systme rserve une zone mmoire RAM de 5 Kmots minimum)
l le programme : descripteurs et code excutable des tches,
l les constantes : mots constants, valeurs initiales et configuration des entres/
sorties.

Structure sans Les programmes, donnes et constantes sont supports par la mmoire RAM
carte mmoire interne au module processeur.
dextension Le schma suivant dcrit la structure mmoire.
RAM Donnes
interne
Programme

Constantes

Structure avec Les donnes sont supportes par la mmoire RAM interne au module processeur.
carte mmoire Les programmes et constantes sont supports par la carte mmoire dextension.
dextension Le schma suivant dcrit la structure mmoire.
RAM
interne Donnes

Carte m-
moire Programme
RAM ou
Flash Constantes
EPROM
externe

Sauvegarde de la La mmoire bit et RAM interne est secourue par la pile Cadmium-nickel supporte
mmoire par le module processeur.
La carte mmoire RAM interne est secourue par pile Cadmium-nickel.

58
Mmoire utilisateur

Description de la mmoire bits

Gnralits Pour les automates Micro : cette mmoire contient 1280 objets bits quel que soit
le type d' automate.

Pour les automates Premium : cette mmoire bits n'existe pas et son contenu se
trouve dans la mmoire mots dans la zone des donnes de l'application.

Le codage des objets bits PL7 permet le test de front montant ou descendant sur :
l les bits dentres/sorties,
l les bits internes.

Fonctionnement Chaque objet bit contenu dans la mmoire bits est mmoris laide de 3 bits
affects de la faon suivante :

F A C
Etat courant (seul bit accessible
par le programme application)

Etat antrieur

Etat de forage

Lors de la mise jour de la mmoire bits, le systme assure :


Phase Description
1 Le transfert de limage de ltat courant dans ltat antrieur.
2 La r-actualisation de ltat courant par le programme, le systme ou le
terminal (cas du forage dun bit).

Etat de forage Sur une demande de forage par le terminal :


l ltat de forage F est mis ltat 1
l ltat courant C est mis ltat :
l 1 si le forage 1 est demand
l 0 si le forage 0 est demand

Ces tats nvoluent plus jusqu ce que :


l le forage soit supprim et le bit concern mis jour,
l le forage inverse soit demand, seul ltat courant est modifi.

59
Mmoire utilisateur

Conseils Les instructions contacts front montant ou descendant ne fonctionnent correctement


dutilisation des que si vous suivez les rgles ci-aprs:
fronts montants l dans tous les cas, traiter pour un mme objet :
ou descendants l bit dentre : le contact de front dans la tche o le module dentre est
chang,
l bit de sortie ou interne : traiter sa lecture et son criture lintrieur dune
mme tche.
l Tout objet bit test sur front doit tre crit une fois et une seule en utilisant les
bobines normale -( )- ou inverse -(/)- (et/ou quivalent en langage liste
d'instructions). Ne pas utiliser les bobines -(S)- ou -(R)-. Quand une sortie est
dclare dans une liste d'change d'un traitement vnementiel, elle provoque
l'change du groupe de voies qui lui est associ, ce qui perturbe la gestion des
fronts dans la tche qui gre normalement ce groupe de voies.
l ne pas effectuer de SET ou de RESET d'un objet dont on teste le front car mme
si le rsultat de l'quation conditionnant le SET/RESET vaut 0, l'action SET/
RESET n'est pas effectue mais l'historique de l'objet est mis jour (perte du
front).
l ne pas tester le front d'entres/sorties utilises dans une tche vnementielle,
dans une tche matre ou rapide
l pour les bits internes : la dtection d'un front est indpendante du cycle de la
tche, un front sur bit interne %Mi est dtect lorsque son tat a chang entre 2
lectures.
Ce front reste dtect tant que ce bit interne n'est pas scrut en zone
action.

Exemple : Ainsi dans l'exemple ci-aprs, si vous forcez 1 le bit %M0 dans une
table d'animation, le front reste permanent.
%M0
P INC %M0

Pour que le front ne soit dtect qu'une seule fois, il faut utiliser un bit interne
intermdiaire. Dans ce cas l'historique de %M1 est mis jour, donc le front n'est
prsent qu'une seule fois.
%M0 %M1

%M1
P INC %M0

60
Mmoire utilisateur

Description de la mmoire mots

Gnralits Cette mmoire mots de 16 bits est structure en 3 espaces logiques :


l Donnes,
l Programme,
l Constantes.
dont la taille est dfinie par configuration.

Note : Les symboles et les commentaires associs aux objets ne sont pas
enregistrs en mmoire automate mais stocks dans l'application locale (disque
dur du terminal).

Mmoire La mmoire Donnes comprend les diffrentes zones suivantes :


Donnes
Type de mots Description
application
Systme Nombre fixe
Blocs fonction Correspond aux mots et entres/sorties de ces blocs (valeurs
courantes, de rglage...).
Le nombre de chaque type de bloc fonction est fix en configuration
Internes Taille dfinie par le nombre dclar en configuration.
Entres/sorties Correspond aux mots associs chaque module. Leur nombre
dpend des modules configurs.
Communs rseau 4 mots communs par station automate (disponibles uniquement si
module de communication prsent et configur en change de mots
communs).

Mmoire Cette zone comprend le code programme excutable, les informations graphiques
Programme (rseaux de contacts) et les commentaires programme.
application
Note : Quelque soit le type de langage utilis ou la taille de la zone programme, le
nombre d'elements de programmation (reseaux de contact, phrases litterales...)
est limit. Avant d'atteindre la limite, PL7 vous prviendra travers une fentre
d'avertissement.

Mmoire Cette zone comprend les paramtres des blocs fonction et des modules d'entres/
constante sorties dfinis en configuration et les mots constants %KW.
application

61
Mmoire utilisateur

Caractristiques de la mmoire des automates TSX 37

Taille de la Le tableau suivant dcrit la rpartition mmoire des objets bits.


mmoire bits
Processeur TSX 37 05/08/10 37 21/22
Taille disponible sur processeur 1280 1280
Type bits systme %Si 128 128
dobjets bits entres/sorties %I/Qx.i (1) (1)
bits internes %Mi 256 256
bits d'tapes %Xi 96 128
Lgende
(1) dpend de la configuration matrielle dclare (modules d'entres/sorties,
quipements sur bus AS-i)

Taille de la Le tableau suivant dcrit la rpartition mmoire des objets mots


mmoire mots
Processeur 3705/08 3710 3721
TSX
Cartouche - - - 32 Kmots 64 Kmots 128 Kmots
RAM interne 9 Kmots 14 Kmots 20 52 Kmots 84 Kmots 148
Kmots Kmots
Donnes 0,5 0,5 Kmots 0,5 17,5 17,5 17,5
(%MWi) Kmots(1) (1) Kmots Kmots Kmots Kmots
(1)
Programme 100% boolen
Langage LD 1,6 Ki 3,8 Ki 6,6 Ki 13,7 Ki 28,5 Ki 58,2 Ki
Langage IL 2 Ki 4,9 Ki 8,4 Ki 17,5 Ki 36,3 Ki 74,2 Ki
Langage ST 1,3 Ki 3,3 Ki 5,6 Ki 11,7 Ki 24,2 Ki 49,5 Ki
Programme 90% boolen
Langage LD 1,1 Ki 3,1 Ki 5,4 Ki 11,8 Ki 24,7 Ki 50,1 Ki
Langage IL 1,4 Ki 3,8 Ki 6,6 Ki 14,3 Ki 30,0 Ki 61 Ki
Langage ST 1,1 Ki 2,9 Ki 5,1 Ki 11,1 Ki 23,3 Ki 47,3 Ki
Programme 65% boolen
Langage LD 0,9 Ki 2,2 Ki 4,0 Ki 9,1 Ki 18,9 Ki 38,4 Ki
Langage IL 1,0 Ki 2,5 Ki 4,6 Ki 10,3 Ki 21,3 Ki 43,4 Ki
Langage ST 1,0 Ki 2,5 Ki 4,6 Ki 10,3 Ki 21,3 Ki 43,4 Ki

62
Mmoire utilisateur

Processeur 3705/08 3710 3721


TSX
Constantes (1) 128 mots 128 mots 128 256 mots 512 mots 512 mots
mots
Lgende
(1) Taille par dfaut, peut tre tendue au dtriment de la taille programme
application.
Ki Kinstructions (1024 instructions)

Le tableau suivant dcrit la rpartition mmoire des objets mots


Processeur TSX 37 22
Cartouche - 32 Kmots 64 Kmots 128 Kmots
RAM interne 20 Kmots 52 Kmots 84 Kmots 148 Kmots
Donnes (%MWi) 0,5 Kmots (1) 17,5 Kmots 17,5 Kmots 17,5 Kmots
Programme 100% boolen
Langage LD 6,3 Ki 13,6 Ki 28,4 Ki 57,6 Ki
Langage IL 8,1 Ki 17,3 Ki 36,1 Ki 73,5 Ki
Langage ST 5,4 Ki 11,5 Ki 24,1 Ki 49 Ki
Programme 90% boolen
Langage LD 5,2 Ki 11,6 Ki 24,5 Ki 50 Ki
Langage IL 6,3 Ki 14,2 Ki 29,8 Ki 60,8 Ki
Langage ST 4,9 Ki 11,0 Ki 23,2 Ki 47,2Ki
Programme 65% boolen
Langage LD 3,9 Ki 8,9 Ki 18,8 Ki 38,4 Ki
Langage IL 4,4 Ki 10,1 Ki 21,2 Ki 43,4 Ki
Langage ST 4,4 Ki 10,1 Ki 21,2 Ki 43,4 Ki
Constantes (1) 128 mots 256 mots 512 mots 512 mots
Lgende
(1) Taille par dfaut, peut tre tendue au dtriment de la taille programme
application.
Ki Kinstructions (1024 instructions)

Note : la commande AP/Bilan mmoire du logiciel PL7 permet de connaitre la


rpartition mmoire de l'application dans la mmoire automate.

63
Mmoire utilisateur

Caractristiques de la mmoire des automates TSX/PCX 57 10/15/20/25/26/28

Taille de la Ce tableau dcrit la rpartition mmoire des objets mots des automates TSX 57 1,
mmoire bits TSX 57 2, TSX 57 223 et PCX 57 203.
Processeur TSX 57 103/153 TSX57 203/
et PCX 57 203 253/2623/2823
Type bits systme %Si 128 128
dobjets bits entres/sorties %I/Qx.i (1) (1)
bits internes %Mi (nb maxi) 3962 8056
bits d'tapes %Xi (nb maxi) 1024 1024
Lgende
(1) dpend de la configuration matrielle dclare (modules d'entres/sorties,
quipements sur bus AS-i)

64
Mmoire utilisateur

Taille de la Le tableau suivant dcrit la rpartition mmoire des objets mots des automates
mmoire mots TSX 57 1, TSX 57 2, TSX 57 223 et PCX 57 203.
Processeur TSX 57-103 - TSX 57 153 TSX-PCX TSX- 57 TSX-PCX TSX-PCX TSX-PCX
57 203/ 253/2823 57 203/ 57 203/ 57 203/
2623 TSX 57 TSX 57 TSX 57
253/2623/ 253/2623/ 253/2623/
2823 2823 2823
Cartouche - 32K 64K - - 32K 64K 128K
RAM interne 32K 32K 32K 48K/64K 48K/64K 48K/64K 48K/64K 48K/64K
Donnes 0,5 K (1) 26 K 26 K 1K (1) 1K (1) 30,5K 30,5K 30,5K
(%MWi)
Programme 100% boolen
Langage LD 8,8 Ki 12,3 Ki 26,9 Ki 15,5 Ki 22,8 Ki 12,3 Ki 26,6 Ki 56,5 Ki
Langage IL 11,2 Ki 15,6 Ki 34,3 Ki 19,7 Ki 29,1 Ki 15,6 Ki 33,9 Ki 71,6 Ki
Langage ST 7,6 Ki 10,5 Ki 22,9 Ki 13,1 Ki 19,4 Ki 10,4 Ki 22,6 Ki 47,8 Ki
Programme 90% boolen
Langage LD 5,2 Ki 8,6 Ki 21,4 Ki 11,0 Ki 17,4 Ki 8,6 Ki 21,1 Ki 46,9 Ki
Langage IL 6,2 Ki 10,3 Ki 25,6 Ki 13,1 Ki 20,7 Ki 10,3 Ki 25,2 Ki 56,0 Ki
Langage ST 5,0 Ki 8,3Ki 20,5 Ki 10,5 Ki 16,6 Ki 8,3 Ki 20,2 Ki 44,9 Ki
Programme 65% boolen
Langage LD 3,6 Ki 6,7 Ki 16,7 Ki 8,1 Ki 13,1 Ki 6,6 Ki 16,4 Ki 36,6 Ki
Langage IL 3,7 Ki 6,8 Ki 17,0 Ki 8,3 Ki 13,4 Ki 6,8 Ki 16,8 Ki 37,5 Ki
Langage ST 4,2 Ki 7,9 Ki 19,7 Ki 9,6 Ki 15,5 Ki 7,8 Ki 19,4 Ki 43,3 Ki
Constantes (1) 128 mots 256 512 256 mots 256 mots 256 mots 512 mots 512 mots
mots mots
Lgende
(1) Taille par dfaut, peut tre tendue au dtriment de la taille programme application.
Ki Kinstructions
K Kmots

Note :
l quand ce tableau mentionne pour une caractristique 2 valeurs spares par
un"/", elles sont associes respectivement chaque type de processeur
(spars par un "/" dans l'entte du tableau).
l la commande AP/Bilan mmoire du logiciel PL7 permet de connaitre la
rpartition mmoire de l'application dans la mmoire automate.

65
Mmoire utilisateur

Caractristiques de la mmoire des automates TSX/PCX 57 30/35/36

Taille de la Ce tableau dcrit la rpartition mmoire des objets mots des automates TSX 57 33,
mmoire bits TSX 57 3623 et PCX 57 353.
Processeur TSX/PCX 57 303/353/3623
Type bits systme %Si 128
dobjets bits entres/sorties %I/Qx.i (1)
bits internes %Mi (Nb maxi) 16250
bits d'tapes %Xi (Nb maxi) 1024
Lgende
(1) dpend de la configuration matrielle dclare (modules d'entres/sorties,
quipements sur bus AS-i)

Taille de la Le tableau suivant dcrit la rpartition mmoire des objets mots des automates
mmoire mots TSX 57 33, TSX 57 3623 et PCX 57 353.
Processeur TSX 57 TSX/ TSX 57 303/ TSX 57 303/ TSX 57 303/ TSX 57 303/ TSX 57 303/
303/3623 PCX57 3623 / TSX/ 3623 / TSX/ 3623 / TSX/ 3623 / TSX/ 3623 / TSX/
353 PCX57 353 PCX57 353 PCX57 353 PCX57 353 PCX57 353
Cartouche - - 32K 64K 128K 256K 384K
RAM interne 64K/80K 64K/80K 80K/96K 80K/96K 80K/96K 80K/96K 80K/96K
Donnes (%MWi) 1K (1) 1K (1) 30,5K 30,5K 30,5K 30,5K 30,5K
Programme 100% boolen
Langage LD 28,8 Ki 30,1 Ki 12,3 Ki 26,6 Ki 56,2 Ki 115,3 Ki 150,5 Ki
Langage IL 36,7 Ki 38,4 Ki 15,6 Ki 33,9 Ki 71,6 Ki 147,1 Ki 150,5 Ki
Langage ST 24,5 Ki 25,6 Ki 10,4 Ki 22,6 Ki 47,8 Ki 98,0 Ki 148,3 Ki
Programme 90% boolen
Langage LD 22,6 Ki 23,8 Ki 8,6 Ki 21,1 Ki 46,9 Ki 98,4 Ki 149,9 Ki
Langage IL 27,1 Ki 28,4 Ki 10,3 Ki 25,2 Ki 56,0 Ki 117,5 Ki 157,6 Ki
Langage ST 21,7 Ki 22,7 Ki 8,3 Ki 20,2 Ki 44,9 Ki 94,2 Ki 142,9 Ki
Programme 65% boolen
Langage LD 17,4 Ki 18,2 Ki 6,6 Ki 16,4 Ki 36,6 Ki 77,0 Ki 117,4 Ki
Langage IL 17,8 Ki 18,6 Ki 6,8 Ki 16,8 Ki 37,5 Ki 78,8 Ki 120,1 Ki
Langage ST 20,5 Ki 21,5 Ki 7,8 Ki 19,4 Ki 43,3 Ki 91,1 Ki 138,8 Ki
Constantes (1) 256 K 256 K 256 K 1024 K 1024 K 1024 K 1024 K
Lgende

66
Mmoire utilisateur

Processeur TSX 57 TSX/ TSX 57 303/ TSX 57 303/ TSX 57 303/ TSX 57 303/ TSX 57 303/
303/3623 PCX57 3623 / TSX/ 3623 / TSX/ 3623 / TSX/ 3623 / TSX/ 3623 / TSX/
353 PCX57 353 PCX57 353 PCX57 353 PCX57 353 PCX57 353
(1) Taille par dfaut, peut tre tendue au dtriment de la taille programme application.
Ki Kinstructions
K Kmots

Note :
l quand ce tableau mentionne pour une caractristique 2 valeurs spares par un
"/", elles sont associes respectivement chaque type de processeur (spars
par un "/" dans l'entte du tableau).
l la commande AP/Bilan mmoire du logiciel PL7 permet de connaitre la
rpartition mmoire de l'application dans la mmoire automate.

67
Mmoire utilisateur

Caractristiques de la mmoire des automates TSX 57 453/4823

Taille de la Ce tableau dcrit la rpartition mmoire des objets mots des automates
mmoire bits TSX 57 453/4823.
Processeur TSX 57 453/4823
Type bits systme %Si 128
dobjets bits entres/sorties %I/Qx.i (1)
bits internes %Mi (Nb maxi) 32634
bits d'tapes %Xi (Nb maxi) 1024
Lgende
(1) dpend de la configuration matrielle dclare (modules d'entres/sorties,
quipements sur bus AS-i)

68
Mmoire utilisateur

Taille de la Le tableau suivant dcrit la rpartition mmoire des objets mots des automates TSX
mmoire mots 57 453/4823.
Processeur TSX 57 453/4823
Cartouche - 32K 64K 128K 256K 384K (2) 512K (2) 2*480K (2)
RAM interne 96K 176K 176K 176K 176K 176K 176K 176K
Donnes (%MWi) 1K (1) 30,5K 30,5K 30,5K 30,5K 30,5K 30,5K 30,5K
Programme 100% boolen
Langage LD 37,5 Ki 12,3 Ki 26,6 Ki 56,2 Ki 115,3 Ki 150,5Ki 150,5 Ki 150,5 Ki
Langage IL 47,8 Ki 15,6 Ki 33,9 Ki 71,6 Ki 147,1 Ki 150,5 Ki 150,5 Ki 150,5 Ki
Langage ST 31,9 Ki 10,4 Ki 22,6 Ki 47,8 Ki 98,0 Ki 148,3 Ki 150,7 Ki 150,7 Ki
Programme 90% boolen
Langage LD 30,2 Ki 8,6 Ki 21,1 Ki 46,9 Ki 98,4 Ki 149,9 Ki 157,6 Ki 157,6 Ki
Langage IL 36,0 Ki 10,3 Ki 25,2 Ki 56,0 Ki 117,5 Ki 157,6 Ki 157,6 Ki 157,6 Ki
Langage ST 28,9 Ki 8,3 Ki 20,2 Ki 44,9 Ki 94,2 Ki 142,9 Ki 157,8 Ki 157,8 Ki
Programme 65% boolen
Langage LD 23,2 Ki 6,6 Ki 16,4 Ki 36,6 Ki 77,0 Ki 117,4 Ki 157,8 Ki 157,8 Ki
Langage IL 23,7 Ki 6,8 Ki 16,8 Ki 37,5 Ki 78,8 Ki 120,1 Ki 161,3 Ki 161,3 Ki
Langage ST 27,4 Ki 7,8 Ki 19,4 Ki 43,3 Ki 91,1 Ki 138,8 Ki 171,3 Ki 171,3 Ki
Constantes (1) 256 mots 256 mots 1024 1024 mots 1024 1024 1024 mots 1024 mots
mots mots mots
Lgende
(1) Taille par dfaut, peut tre tendue au dtriment de la taille programme application.
(2) Le nombre d'elements de programmation est atteint
Ki Kinstructions
K Kmots

Note :
l quand ce tableau mentionne pour une caractristique 2 valeurs spares par
un"/", elles sont associes respectivement chaque type de processeur
(spars par un "/" dans l'entte du tableau).
l la commande AP/Bilan mmoire du logiciel PL7 permet de connaitre la
rpartition mmoire de l'application dans la mmoire automate.

69
Mmoire utilisateur

70
Modes de marche

4
Prsentation

Objet de ce Ce chapitre traite du comportement du programme utilisateur sur Reprise chaud


chapitre et dmarrage froid.

Contenu de ce Ce chapitre contient les sujets suivants :


chapitre
Sujet Page
Traitement sur coupure et reprise secteur 72
Traitement sur reprise chaud 74
Gestion du dmarrage froid 76

71
Modes de marche

Traitement sur coupure et reprise secteur

Illustration Lillustration prsente les diffrentes reprises secteurs dtectes par le systme. Si
la dure de la coupure est infrieure au temps de filtrage de l'alimentation (environ
10 ms pour les alimentations alternatives ou 1 ms pour les alimentations
continues), celle-ci n'est pas vue par le programme qui s'excute normalement.

RUN
Application

Dfaut secteur

Attente secteur

Retour secteur

Oui Non
Sauvegarde
Coupure dtecte
Contexte OK

Non Oui

Non
Carte mmoire
identique

Oui

Excution normale du
Reprise chaud Dmarrage froid
programme

72
Modes de marche

Fonctionnement Le tableau ci-aprs dcrit les phases du traitement des coupures secteur.
Phase Description
1 Lors de la coupure secteur le systme mmorise le contexte application et
l'heure de la coupure.
2 Il positionne toutes les sorties l'tat repli (tat dfini par configuration).
3 A la reprise secteur, le contexte sauvegard est compar celui en cours; ce
qui dfinit le type de dmarrage excuter :
l si le contexte application a chang (perte du contexte systme ou nouvelle
application), l'automate effectue l'initialisation de l'application : dmarrage
froid,
l si le contexte application est identique, l'automate effectue une reprise sans
initialisation des donnes : reprise chaud.

Coupure de Toutes les voies de ce rack sont vues en erreur par le processeur mais les autres
lalimentation racks ne sont pas perturbs, les valeurs des entres en erreur ne sont plus
sur un rack, autre rafrachies dans la mmoire application et sont mises 0 dans le cas d'un module
que le rack 0 d'entre TOR moins quelles aient t forces auquel cas, elles sont maintenues
la valeur de forage.

Si la dure de la coupure est infrieure 10 ms pour les alimentations alternatives


ou 1ms pour les alimentations continues, celle-ci n'est pas vue par le programme
qui s'excute normalement.

73
Modes de marche

Traitement sur reprise chaud

Cause dune Une reprise chaud peut tre provoque :


reprise chaud l par une reprise secteur sans perte du contexte,
l par mise 1 par programme du bit systme %S1,
l depuis PL7 par terminal,
l par action sur bouton RESET du module alimentation du rack 0 (except sur
station quipe dun processeur PCX 57).

Illustration Le dessin ci-aprs dcrit le fonctionnement dune reprise chaud.

Acquisition des entres

Arrt du processeur
Sauvegarde du con-
Excution du programme
texte application
TOP

Si %S1=1, traitement Retour secteur


ventuel de la reprise
chaud

Auto-test de la configu-
ration

Coupure dtecte Mise 1 du bit %S1

Mise 0 du bit %S1

Mise jour des sorties

74
Modes de marche

Fonctionnement Le tableau ci-aprs dcrit les phases de rprise de lexcution du programme sur
reprise chaud.
Phase Description
1 Lexcution du programme reprend partir de llment o a eu lieu la coupure
secteur, sans mise jour des sorties.
2 A la fin du cycle de reprise, le systme effectue :
l linitialisation des files de messages et dvnements,
l lenvoi des paramtres de configuration tous les modules dentres/
sorties TOR et mtiers,
l la dsactivation de la tche rapide et des traitements vnementiels
(jusqu' la fin du premier cycle de la tche matre).
3 Le systme effectue un cycle de reprise dans lequel il :
l reprend en compte l'ensemble des modules d'entres,
l relance la tche matre avec le bit %S1 (reprise chaud) positionn 1,
l remet ltat 0 le bit %S1 la fin de ce premier cycle de la tche matre,
l ractive la tche rapide et les traitements vnementiels la fin de ce
premier cycle de la tche matre.

Traitement par En cas de reprise chaud, si vous dsirez un traitement particulier vis--vis de
programme de la l'application, vous devez crire le programme correspondant sur test de %S1 1 en
reprise chaud dbut de programme de la tche matre.

Evolution des Ds la dtection de la coupure secteur, les sorties sont mises en position de repli :
sorties l soit elles prennent la valeur de repli,
l soit il y a maintien de la valeur en cours,
suivant le choix effectu en configuration.

A la reprise secteur, les sorties sont zro jusqu' ce qu'elles soient remises jour
par la tche.

75
Modes de marche

Gestion du dmarrage froid

Cause dun Le tableau suivant dcrit les diffrentes causes possibles dun dmarrage froid.
dmarrage
Causes Caractristiques du dmarrage
froid
Chargement dune application Dmarrage froid forc STOP
Action sur le bouton RESET du processeur Dmarrage froid forc STOP ou RUN
selon la dfinition de la configuration
Action sur le bouton RESET du processeur Dmarrage froid forc STOP
suite un dfaut bloquant
Manipulation du prhenseur ou insertion/ Dmarrage froid forc STOP ou RUN
extraction dune carte mmoire PCMCIA selon la dfinition de la configuration
Initialisation depuis un PL7 Junior ou Pro Dmarrage froid forc STOP ou RUN
Forage du bit systme %S0 selon la dfinition de la configuration, sans
initialisation des modules dentres/sorties
TOR et mtier
Redmarrage aprs une coupure lectrique Dmarrage froid forc STOP ou RUN
avec perte de contexte selon la dfinition de la configuration

76
Modes de marche

Illustration Le dessin ci-aprs dcrit un redmarrage froid.

Acquisition des entres


Arrt de l'application de
sauvegarde du
Excution du programme contexte du
TOP processeur

Si %S0=1, traitement Restauration de


ventuel du dmarrage l'alimentation lectrique
froid

Auto-test de la
configuration

Oui
Faible puissance
Initialisation de
lectrique>coupure
lapplication

Non
BOT
Mise 1 du bit %S0

Mise 0 du bit %S0

Mise jour des sorties

Opration Le tableau ci-aprs dcrit les phases de redmarrage pour excuter un programme
aprs redmarrage froid.
Phase Description
1 Le dmarrage seffectue en RUN ou en STOP suivant ltat du paramtre
Dmarrage automatique en RUN dfini dans la configuration ou si l'utilisation
dpend de de ltat de lentre RUN/STOP.
Le programme reprend en dbut de cycle.

77
Modes de marche

Phase Description
2 Le systme effectue :
l la rinitialisation des bits, la remise zro de l'affectation des E/S et des mots
internes (si l'option RAZ de %MW sur redmarrage froid est coche dans
l'cran Configuration du processeur) ;
Si la rinitialisation de %MW n'est pas active et si des mots internes %MWi sont
enregistrs dans la mmoire interne Flash EPROM (TSX 37), ceux-ci sont
restaurs lors d'un dmarrage froid ;
l linitialisation des bits et des mots systme ;
l linitialisation des blocs fonction partir des donnes de configuration ;
l la dsactivation des tches, autres que la tche matre, jusqu' la fin du premier
cycle de la tche matre ;
l le rglage de Grafcet sur les tapes initiales ;
l lannulation des forages ;
l linitialisation des donnes dclares dans les DFB : soit 0, soit la valeur
initiale dclare dans le code, c'est--dire avec la valeur enregistre via la
fonction SAVE ;
l linitialisation des fichiers de messages et dvnements ;
l lenvoi des paramtres de configuration tous les modules dentres/sorties TOR
et mtier.
3 Pour ce premier cycle de redmarrage, le systme effectue :
l la relance de la tche matre avec le bit %S0 (redmarrage froid) dfini 1, le
mot %SW10 (dtection dun redmarrage froid lors de la premire rvolution
dune tche) tant rgl 0 ;
l la remise zro du bit %S0 et la remise 1 de chaque bit de mot %SW10 la fin
de ce premier cycle de la tche matre ;
l active la tche rapide et les traitements vnementiels la fin de ce premier cycle
de la tche matre.

Gestion du Pour effectuer un traitement applicatif aprs un dmarrage froid de l'automate


dmarrage PL7, il est possible de tester par programme le bit %SW10:X0 (si %SW10:X0=0, il
froid pour s'agit d'un redmarrage froid) .
chaque
programme

Evolution des Ds la dtection de la coupure lectrique, les sorties sont mises en position de repli :
sorties l soit elles prennent la valeur de repli,
l soit elles conservent la valeur courante,
suivant le choix effectu lors de la configuration.

Lorsque l'alimentation lectrique est de nouveau oprationnelle, les sorties sont


rgles zro jusqu' ce qu'elles soient remises jour par la tche.

78
Structure logicielle

5
Prsentation

Objet de ce Ce chapitre dcrit les tches et leur excution dans lautomate.


chapitre

Contenu de ce Ce chapitre contient les sous-chapitres suivants :


chapitre
Sous- Sujet Page
chapitre
5.1 Description des tches 80
5.2 Structure monotche 88
5.3 Structure multitche 96
5.4 Modules fonctionnels 103

79
Structure logicielle

5.1 Description des tches

Prsentation

Objet de ce sous- Ce sous-chapitre dcrit la rle et le contenu de chacune des tches pouvant
chapitre constitues un programme PL7.

Contenu de ce Ce sous-chapitre contient les sujets suivants :


sous-chapitre
Sujet Page
Prsentation de la tche matre 81
Description des sections et des sous-programmes 82
Prsentation de la tche rapide 85
Prsentation des traitements vnementiels 86

80
Structure logicielle

Prsentation de la tche matre

Gnralits La tche matre reprsente le programme principal, elle est obligatoire quel que soit
la structure adopte monotche ou multitche.

Le programme de la tche matre (MAST) est constitu de plusieurs modules de


programmes appels sections (Voir Description des sections et des sous-
programmes, p. 82), et de sous-programmes.

L'excution de la tche matre peut tre choisie (en configuration) cyclique (Voir
Excution cyclique, p. 90) ou priodique (Voir Excution priodique, p. 92).

Illustration Lillustration suivante montre un exemple de tche matre comportant 4 sections et


3 sous-programmes.

Sections Sas (LD)

Four_1 (Grafcet)

PRL (LD)

CHART Sous-programmes

POST (IL)

Schage (LD)
SR0
Nettoyage (ST)

81
Structure logicielle

Description des sections et des sous-programmes

Prsentation des Les sections sont des entits autonomes de programmation. Les tiquettes de
sections reprage des lignes d'instructions, des rseaux de contacts ... sont propres la
section (pas de saut de programme possible vers une autre section).

Elles se programment soit en :


l langage contacts,
l liste dinstructions,
l littral structur,
l Grafcet.

Les sections sont excutes dans leur ordre de programmation dans la fentre du
navigateur (vue structurelle).

Les sections sont lies une tche, une mme section ne peut pas appartenir
simultanment plusieurs tches.

Prsentation des Les modules sous-programmes se programment aussi comme des entits
sous- spares soit en :
programmes l langage contacts,
l liste dinstructions,
l littral structur,

Les appels aux sous-programmes seffectuent dans les sections ou depuis un autre-
sous-programme (8 niveaux dimbrications maximum).

Les sous-programmes sont aussi lis une tche, un mme sous-programme ne


peut pas tre appel depuis plusieurs tches.

82
Structure logicielle

Exemple Le dessin suivant donne lexemple de structure dune tche en sections et sous-
programmes.
Mast

+
Sections

Sas

+
Four_1

Prl

Chart

Post

Schage

Nettoyage

+
SR

SR0

SR1

SR2

Caractristiques Le tableau suivant dcrit les caractristiques dune section.


dune section
Caractristique Description
Nom 24 caractres maximum
Langage Langage contacts, Liste dinstructions, Littral structur ou Grafcet
Tche Matre ou rapide

83
Structure logicielle

Caractristique Description
Condition Objets autoriss comme condition :
(optionnel) l %M,%S,%X
l bit index,bits extrait de mots
l %I , %Q
Tous ces objets sont forables depuis le terminal except les bits %S, bits indexs ,bits extrait ,
%Ixy.i.ERR,et %I xy.MOD.ERR.

La condition doit tre ltat 1 pour que la section soit excute.


Commentaire 250 caractres maximum.
Protection Protection en criture, protection en lecture/criture. La protection peut tre globale ou partielle.

Note : sur dmarrage froid les conditions d'excution sont 0, toutes les sections
auxquelles sont associes une condition sont inhibes.

Section Grafcet Le tableau suivant dcrit les lments de programme dune section Grafcet.
Traitement Dsignation Caractristiques
Prliminaire PRL Programm en Langage contacts LD, Liste
dinstructions IL ou Littral structur ST. Il est excut
avant le Grafcet.
Grafcet CHART Dans les pages Grafcet, sont programmes des
rceptivits associes aux transitions et des actions
associes aux tapes ou aux tapes de macro-tapes.
Postrieur POST Programm en Langage contacts LD, Liste
dinstructions IL ou Littral structur ST. Il est excut
aprs le Grafcet.

Caractristiques Le tableau suivant dcrit les caractristiques dun sous-programme SRi.


dun sous-
Caractristique Description
programme
Numro 0 253
Langage Langage contacts, Liste dinstructions, Littral structur.
Tche Matre ou rapide
Commentaire 250 caractres maximum.

84
Structure logicielle

Prsentation de la tche rapide

Gnralits Cette tche plus prioritaire que la tche matre MAST est priodique afin de laisser
le temps la tche moins prioritaire de s'excuter.

De plus, les traitements qui lui sont associs doivent donc tre courts pour ne pas
pnaliser la tche matre. Comme pour la tche matre, le programme associ se
compose de sections et de sous-programmes.

Priode de la La priode de la tche rapide FAST est fixe en configuration, de 1 255 ms. Celle-
tche rapide ci peut tre dfinie suprieure celle de la tche matre MAST pour s'adapter des
traitements priodiques lents mais prioritaires.

Le programme excut doit cependant rester court pour viter le dbordement des
tches moins prioritaires.

La tche rapide est contrle par un chien de garde qui permet de dtecter une
dure anormale du programme application. En cas de dbordement, le bit systme
%S11 est positionn 1 et l'application est dclare en dfaut bloquant pour
l'automate.

Contrle de la Le mot systme %SW1 contient la valeur de la priode, il est initialis sur reprise
tche rapide froid par la valeur dfinie en configuration, il peut tre modifi par l'utilisateur par
programme ou terminal.

Des bits et mots systme, permettent de contrler l'excution de cette tche :


l %S19 : signale un dbordement de priode, il est positionn 1 par le systme,
lorsque le temps de cycle devient suprieur la priode de la tche.
l %S31 : permet de valider ou d'inhiber la tche rapide, il est mis 0 par le systme
sur dmarrage froid de l'application, la fin du premier cycle de la tche matre.
Il est mis 1 ou 0 pour valider ou inhiber la tche rapide.

Visualisation des Les mots systme suivants permettent d'avoir des informations sur le temps de
temps cycle :
d'excution de la l %SW33 contient le temps d'excution du dernier cycle,
tche rapide l %SW34 contient le temps d'excution du cycle le plus long,
l %SW35 contient le temps d'excution du cycle le plus court.

85
Structure logicielle

Prsentation des traitements vnementiels

Gnralits Les traitements vnementiels permettent de rduire le temps de raction du


logiciel sur des vnements de commande en provenance de certains modules
mtiers.

Ces traitements sont excuts en priorit sur toutes les autres tches. Elles
conviennent donc aux traitements demandant des dlais de ractions trs courts
par rapport larrive de lvnement.

Le nombre de traitements vnementiels programmables dpend du type de


processeur.
Type dautomate Nombre de Dsignation
traitements
Micro TSX 37-05/08/10 8 EVT1 EVT8
Micro TSX 37-21/22 16 EVT0 EVT15
Premium TSX/PCX 57-1 32 EVT0 EVT31
Premium TSX/PCX 57-2/3/4 64 EVT0 EVT63

Fonctionnement L'apparition d'un vnement droute le programme application vers le traitement qui
est associ la voie d'entres/sorties qui a provoqu l'vnement.

Les entres (%I, %IW, %ID) associes la voie d'E/S qui a dclench l'vnement
sont mises jour par le systme avant l'appel du traitement vnementiel.

L'association entre une voie et un numro d'vnement est ralise dans l'cran de
configuration des voies.

Evnements de Ce sont des vnements externes lis aux fonctions mtiers.


commande
Sur automates MIcro, les traitements vnementiels peuvent tre dclenchs par :
l les entres 0 3 du module de position 1, sur front montant ou descendant,
l la ou les voies de comptage des modules de comptage,
l les voies de comptage du module 1 (si celui-ci est configur en compteur),
l la rception de tlgrammes dans un TSX 37-21/22 quip d'un module TSX
FPP20.

86
Structure logicielle

Sur automates Premium , les traitements vnementiels peuvent tre dclenchs


par:
l les entres des modules DEY 16 FK, DMY 28 FK, DMY 28 RFK
l les voies des modules de comptage,
l les voies des modules de commande d'axe TSX CAY ,
l les voies des modules de commande pas pas TSX CFY ,
l les voies de communication "FPP20",
l ...

Gestion des Les traitements vnementiels peuvent tre globalement valids ou inhibs par le
traitements programme application, au travers du bit systme %S38.
vnementiels Si un ou plusieurs vnements interviennent pendant qu'ils sont inhibs, les
traitements associs sont perdus.

Deux instructions du langage PL7, MASKEVT() et UNMASKEVT(), utilises dans le


programme application, permettent galement de masquer ou dmasquer les
traitements vnementiels.
Si un ou plusieurs vnements interviennent pendant qu'ils sont masqus, ils sont
mmoriss par le systme et les traitements associs ne seront effectus qu'aprs
dmasquage.

Priorit des Automates Micro TSX 37-05/08/10


traitements Les 8 vnements de commande possibles ont tous le mme niveau de priorit; de
ce fait, un traitement vnementiel n'est pas interruptible par un autre.

Automates Micro TSX 37-21/22 ou Premium


Il existe 2 niveaux de priorit pour les vnements de commande : l'vnement 0
(EVT0) est plus prioritaire que les autres vnements.

87
Structure logicielle

5.2 Structure monotche

Prsentation

Objet de ce Ce sous-chapitre dcrit comment sexcute une application monotche.


sous-chapitre

Contenu de ce Ce sous-chapitre contient les sujets suivants :


sous-chapitre
Sujet Page
Structure logicielle monotche 89
Excution cyclique 90
Excution priodique 92
Contrle du temps de cycle 95

88
Structure logicielle

Structure logicielle monotche

Description Le programme dune application monotche est associ une seule tche
utilisateur : la tche matre MAST (voir Prsentation de la tche matre, p. 81).

Le programme associ la tche matre (MAST) est constitu de plusieurs


sections, et de sous-programmes.

L'excution de la tche matre peut tre choisie (en configuration) :


l cyclique (Voir Excution cyclique, p. 90)
l ou priodique (Voir Excution priodique, p. 92)

89
Structure logicielle

Excution cyclique

Description Ce type de fonctionnement correspond l'excution normale du cycle automate


(choix par dfaut).
Il consiste enchaner les uns aprs les autres, les cycles de la tche matre
(MAST).
Aprs avoir effectu la mise jour des sorties, le systme ralise les traitements qui
lui sont propres puis enchane un autre cycle de la tche.

Fonctionnement Le dessin suivant montre les phases dexcution du cycle automate.

Traitement du Traitement du
programme programme

%I %Q T.I. %I %Q
T.I.

Cycle n Cycle n+1

Description des Le tableau ci-aprs dcrit les phases de fonctionnement.


diffrentes
Repre Phase Description
phases
T.I Traitement Le systme ralise implicitement la surveillance de l'automate
interne (gestion des bits et mots systme, mise jour des valeurs
courantes de l'horodateur, mise jour des voyants d'tat,
dtection des passages RUN/STOP, ...) et le traitement des
requtes en provenance du terminal (modifications et
animation).
Dans le cas du Premium, le traitement interne est ralis en
parallle avec les traitements des entres et des sorties.
%I Acquisition des Ecriture en mmoire de l'tat des informations prsentes sur les
entres entres des modules TOR et mtier associes la tche,
- Traitement du Excution du programme application, crit par l'utilisateur,
programme
%Q Mise jour des Ecriture des bits ou des mots de sorties associs aux modules
sorties TOR et mtier associs la tche selon l'tat dfini par le
programme application.

90
Structure logicielle

Mode de Automate en RUN, le processeur effectue dans lordre le traitement interne,


fonctionnement l'acquisition des entres, le traitement du programme application et la mise jour
des sorties.
Automate en STOP, le processeur effectue :
l le traitement interne,
l l'acquisition des entres,
l et suivant la configuration choisie :
l mode repli : les sorties sont mis en position de "repli" ,
l mode maintien : les sorties sont maintenues leur dernire valeur.

Illustration Lillustration suivante montre les cycles de fonctionnement.

Traitement interne

Acquisition des entres

RUN STOP

Traitement du programme

Mise jour des sorties

Contrle du Le contrle du cycle s'effectue par chien de garde (Voir Contrle du temps de cycle,
cycle p. 95).

91
Structure logicielle

Excution priodique

Description Dans ce mode de fonctionnement, l'acquisition des entres, le traitement du


programme application et la mise jour des sorties s'effectuent de faon priodique
selon un temps dfini en configuration (de 1 255 ms).

En dbut de cycle automate, un temporisateur dont la valeur courante est initialise


la priode dfinie en configuration, commence dcompter.
Le cycle automate doit se terminer avant l'expiration de ce temporisateur qui relance
un nouveau cycle.

Fonctionnement Le dessin suivant montre les phases dexcution du cycle automate.

Traitement du Traitement du
programme programme

%I %Q T.I. T.I. %I %Q T.I.


T.I.

Cycle n Cycle n+1

Description des Le tableau ci-aprs dcrit les phases de fonctionnement.


diffrentes
Repre Phase Description
phases
T.I Traitement Le systme ralise implicitement la surveillance de l'automate
interne (gestion des bits et mots systme, mise jour des valeurs
courantes de l'horodateur, mise jour des voyants d'tat,
dtection des passages RUN/STOP, ...) et le traitement des
requtes en provenance du terminal (modifications et animation)
Dans le cas du Premium, le traitement interne est ralis en
parallle avec les traitements des entres et des sorties.
%I Acquisition des Ecriture en mmoire de l'tat des informations prsentes sur les
entres entres des modules TOR et mtier associs la tche,
- Traitement du Excution du programme application, crit par l'utilisateur,
programme
%Q Mise jour des Ecriture des bits ou des mots de sorties associs aux modules
sorties TOR et mtier associs la tche selon l'tat dfini par le
programme application.

92
Structure logicielle

Mode de Automate en RUN, le processeur effectue dans lordre le traitement interne,


fonctionnement l'acquisition des entres, le traitement du programme application et la mise jour
des sorties.
l Si la priode n'est pas encore termine, le processeur complte son cycle de
fonctionnement jusqu' la fin de la priode par du traitement interne.
l Si le temps de fonctionnement devient suprieur celui affect la priode,
l'automate signale un dbordement de priode par la mise l'tat 1 du bit
systme %S19 de la tche, le traitement se poursuit et est excut dans sa
totalit (il ne doit pas dpasser nanmoins le temps limite du chien de garde). Le
cycle suivant est enchan aprs l'criture implicite des sorties du cycle en cours.

Automate en STOP, le processeur effectue :


l le traitement interne,
l l'acquisition des entres,
l et suivant la configuration choisie :
l mode repli : les sorties sont mis en position de "repli" ,
l mode maintien : les sorties sont maintenues leur dernire valeur.

93
Structure logicielle

Illustration Lillustration suivante montre les cycles de fonctionnement.

Lancement
de la priode

Traitement interne

Acquisition des entres

RUN STOP

Traitement du programme

Mise jour des sorties

Traitement interne

Fin de
priode

Contrle du Deux contrles sont effectus :


cycle l dbordement de priode (Voir Contrle du temps de cycle, p. 95),
l par chien de garde (Voir Contrle du temps de cycle, p. 95),

94
Structure logicielle

Contrle du temps de cycle

Gnralits La dure d'excution de la tche matre, en fonctionnement cyclique ou priodique,


est contrle par l'automate (chien de garde) et ne doit pas dpasser la valeur
dfinie en configuration Tmax (250 ms par dfaut, 500 ms maximum).

Chien de garde Dans le cas de dbordement, l'application est dclare en dfaut, ce qui provoque
logiciel l'arrt immdiat de l'automate.
(fonctionnement l sur le Micro, la mise 0 de la sortie alarme %Q2.0 si elle a t configure,
priodique ou l sur le Premium, la mise 0 du relais alarme sur l'alimentation
cyclique)
Le bit %S11 permet de contrler l'excution de cette tche. Il signale un
dbordement du chien de garde, il est positionn 1 par le systme, lorsque le
temps de cycle devient suprieur au chien de garde.

Note : Sur le Premium, la valeur du chien de garde doit tre suprieure la


priode.

Contrle en En fonctionnement priodique, un contrle supplmentaire permet de dtecter un


fonctionnement dpassement de priode :
priodique l %S19 : signale un dbordement de priode, il est positionn 1 par le systme,
lorsque le temps de cycle devient suprieur la priode de la tche.
l %SW0 : ce mot contient la valeur de la priode (en ms), il est initialis sur reprise
froid par la valeur dfinie en configuration, il peut tre modifi par l'utilisateur.

Exploitation des Les mots systme suivants permettent d'avoir des informations sur le temps de
temps cycle :
d'excution de la l %SW30 contient le temps d'excution du dernier cycle.
tche matre l %SW31 contient le temps d'excution du cycle le plus long,
l %SW32 contient le temps d'excution du cycle le plus court.

Note : Ces diffrentes informations sont accessibles aussi depuis l'diteur de


configuration de faon explicite.

95
Structure logicielle

5.3 Structure multitche

Prsentation

Objet de ce Ce sous-chapitre dcrit comment sexcute une application mutlitche.


sous-chapitre

Contenu de ce Ce sous-chapitre contient les sujets suivants :


sous-chapitre
Sujet Page
Structure logicielle multitche 97
Squencement des tches dans une structure multitche 99
Affectation des voies dentres/sorties aux tches matre et rapide 100
Echanges d'entres/sorties dans les traitements vnementiels 101

96
Structure logicielle

Structure logicielle multitche

Description La structure en tches d'une telle application est la suivante :


Tche Dsignation Description
Matre MAST Toujours prsente qui peut tre cyclique ou priodique.
Rapide FAST Optionnelle qui est toujours priodique.
Evnementielle EVTi Appels par le systme lors de l'apparition d'un vnement
sur un coupleur d'entres/sorties.
Ces traitements sont optionnels et servent aux applications
ncessitant des temps de rponse courts pour agir sur les
entres/sorties.

Illustration Le dessin suivant montre les tches dune structure multitche et leur niveau de
priorit.
Tche matre Tche rapide Traitements
vnementiels

- Priorit +

97
Structure logicielle

Exemple Lexemple suivant prsente une structure multitche compose dune tche matre
MAST , dune tche rapide FAST et de 2 traitements vnementiels EVT0 et EVT1.
MAST FAST

Sas (LD) Alarm_Sas (LD)

Surv_Sec (LD) EVT0


Four_1 (Grafcet)

Alarm_Four (ST)
PRL (LD)
Alarm_Nettoyage (ST)
CHART

POST (IL)
SR0
Schage (LD) SR0

Nettoyage (ST)

98
Structure logicielle

Squencement des tches dans une structure multitche

Gnralits La tche matre est par dfaut active.


La tche rapide est par dfaut active si elle est programme.
Le traitement vnementiel est activ lors d'apparition de l'vnement qui lui a t
associ.

Fonctionnement Le tableau suivant dcrit lexcution des tches prioritaires.


Phase Description
1 Arrive d'un vnement ou dbut de cycle de la tche rapide.
2 Arrt de l'excution des tches en cours moins prioritaires,
3 Excution de la tche prioritaire.
4 La tche interrompue reprend la main lorsque les traitements de la tche
prioritaire se termine.

Description du Le dessin suivant illustre le squencement des tches dun traitement multitche
squencement comportant une tche matre cyclique, une tche rapide de priode 20ms et un
des tches traitement vnementiel.

E TS
E v n em e n t s
ETS ETS ETS E TS ETS
Rap i de

M a t re ET TS ET TS E T

S ys t m e
20 ms 20 m s 20 ms 20 ms

Lgende :
E : acquisition des entres
T : traitement du programme
S : mise jour des sorties

Contrle des L'excution des tches rapide et vnementielles peut tre contrle par
tches programme travers l'utilisation des bits systme :
l %S30 permet d'activer ou pas la tche matre MAST.
l %S31 permet d'activer ou pas la tche rapide FAST.
l %S38 permet d'activer ou pas les traitements vnementiels EVTi.

99
Structure logicielle

Affectation des voies dentres/sorties aux tches matre et rapide

Gnralits En plus du programme application, les tches matre MAST et rapide FAST
excutent des fonctions systme lies la gestion des entres/sorties implicites qui
leur sont associes.

L'association d'une voie ou d'un groupe de voies une tche est dfinie dans l'cran de
configuration du coupleur correspondant; la tche associe par dfaut tant la tche MAST.

Modules TOR La modularit des modules TOR tant de 8 voies successives (voies 0 7, voies 8
15, ...), les entres/sorties peuvent tre affectes par groupes de 8 voies,
indiffremment la tche MAST ou FAST.

Exemple : il est possible d'affecter les voies d'un module 28 entres/sorties de la


manire suivante :
l entres 0 7 affectes la tche MAST,
l entres 8 15 affectes la tche FAST,
l sorties 0 7 affectes la tche MAST,
l sorties 8 15 affectes la tche FAST.

Modules de Chaque voie d'un module de comptage peut tre affecte indiffremment la tche
comptage MAST ou FAST.

Exemple : pour un module de comptage 2 voies, il est possible d'affecter :


l la voie 0 la tche MAST,
l la voie 1 la tche FAST.

Modules Les voies des modules d'entres analogiques du Micro sont obligatoirement
analogiques affectes la tche MAST. Par contre, il est possible d'affecter les voies ou groupes
de voies de sorties analogiques indiffremment la tche MAST ou FAST, avec une
modularit de 2 voies.
Exemple : pour un module de 4 sorties analogiques, il est possible d'affecter :
l les voies 0 et 1 la tche MAST et,
l les voies 2 et 3 la tche FAST.

Les voies des modules d'entres et sorties analogiques du Premium peuvent tre
affectes la tche MAST ou FAST. Cette affectation est individuelle pour chacune
des voies des modules d'entres ou de sorties analogiques isoles (4 voies isoles)
et avec une modularit de 4 voies pour les autres modules.

Note : afin dobtenir des performances optimales, il est prfrable de regrouper les
voies dun module dans une mme tche.

100
Structure logicielle

Echanges d'entres/sorties dans les traitements vnementiels

Gnralits Il est possible d'utiliser chaque traitement vnementiel des voies d'entres/
sorties autres que celle relative l'vnement.

Les changes sont alors raliss implicitement par le systme avant (%I) et aprs
(%Q) le traitement applicatif.

Ces changes peuvent tre relatifs une voie (exemple module de comptage) ou
un groupe de voies (module TOR). Dans le second cas, si le traitement modifie par
exemple les sorties 2 et 3 d'un module TOR, c'est l'image des sorties 0 7 qui sera
transfre vers le module.

Fonctionnement Le tableau suivant dcrit les changes et les traitements raliss.


Phase Description
1 L'apparition d'un vnement droute le programme application vers le traitement qui
est associ la voie d'entre/sortie qui a provoqu l'vnement
2 Toutes les entres associes la voie qui a provoqu l'vnement sont acquises
automatiquement.
3 Toutes les entres utilises par l'utilisateur dans le traitement EVTi sont acquises.
4 Le traitement vnementiel est excut. Il doit tre le plus court possible.
5 Toutes les sorties utilises par l'utilisateur dans le traitement EVTi sont mises jour.
Les sorties associes la voie qui a provoqu l'vnement doivent tre galement
utilises, pour tre mise jour.

Rgle de Rgle gnrale :


programmation Les entres changes (et le groupe de voies associes) lors de l'excution du
traitement vnementiel sont remis jour (perte des valeurs historiques, donc des
fronts), il faut donc viter de tester des fronts sur ces entres dans les tches matre
(MAST) ou rapide (FAST).

Dans le cas des modules TOR TSX DEY 16FK, TSX DMY 28FK ou
TSX DMY 28RFK :
L'entre qui a dclench l'vnement ne doit pas tre teste dans le traitement
vnementiel (la valeur n'est pas rafrachie).
Le test du front qui a dclench l'vnement doit tre effectu sur le mot d'tat:
l %IWxy.i:X0 = 1 --> front montant,
l %IWxy.i:X1 = 1 --> front descendant.

101
Structure logicielle

Sur les automates Micro :


l les modules d'entres analogiques qui ne peuvent tre utiliss que dans la tche
MAST, ne doivent pas tre changs dans un traitement vnementiel.
l pour chaque traitement vnementiel, il est possible de dclarer au maximum les
changes pour 2 modules en entre (avant le traitement de l'vnement) et 2
modules en sortie (aprs le traitement de l'vnement).

Performances Sur les automates Premium, suivant le processeur utilis, le nombre d'changes
utiliss est limit:
Nombre d'changes utilisables dans les P57-1 P57-2 /3 /4
traitements vnementiels par
processeur
Entres/sorties TOR 32 changes 128 changes
Entres/sorties analogiques 8 changes 16 changes
Autres mtier 4 changes 16 changes

Pour les entres/sorties TOR, un change concerne un groupe de 8 voies, il est


gnr lors de l'utilisation des entres d'un groupe de 8 voies (autre que le groupe
de voies qui gnre l'vnement) et lors de l'criture des sorties d'un groupe de 8
voies.

Pour les entres/sorties analogiques ou d'un autre mtier, un change est gnr
lors de l'utilisation des entres d'une voie (autre que la voie qui gnre l'vnement
et lors de l'criture des sorties d'une voie).

Note :
l Les changes des entres/sorties de la tche EVTi, tant raliss par voie (pour
certains modules analogiques et mtiers) ou par groupe de voies (pour les
modules TOR et certains modules analogiques), si le traitement modifie par
exemple les sorties 2 et 3 dun module TOR, cest limage (mmoire automate)
des sorties de 0 7 qui sera transfre vers le module.
l Tout change dune entre/sortie dans une tche vnementielle peut provoquer
la perte de linformation de front vis vis des traitement effectus sur cette voie
(ou groupe de voie), dans la tche o elle a t dclare : MAST ou FAST.

Visualisation du Le mot systme %SW48 donne le nombre d'vnements traits.


nombre Ce mot est initialis 0 sur dmarrage froid puis incrment par le systme lors
d'vnements du lancement d'un vnement.
traits Ce mot est modifiable par l'utilisateur.

Le bit systme %S39 signale la perte d'vnement.

102
Structure logicielle

5.4 Modules fonctionnels

Structuration en modules fonctionnels

Gnralits Un module fonctionnel est un regroupement d'lments de programme destins


raliser une fonction dautomatisme.

Structure Un module fonctionnel est dfini par les attributs suivants :


l nom court : 8 caractres (exemple : TR371)
l nom long : 16 caractres (exemple : Avance/Recule pour BT371)
l une fiche descriptive (sans limitation du nombre de caractres) non mmorise
dans lautomate mais mmorise dans le fichier .STX de lapplication.

Illustration Lillustration ci-aprs montre la composition dun module fonctionnel :

- Prod1

+ Programme

+ Tables danimation

+ Ecrans dexploitation

Description des Le tableau dcrit le rle de chacun des lments :


lments dun
Elment Composition
module
fonctionnel Programme Un ou plusieurs modules de code :
l sections
l vnements
l macro-tapes
l tables d'animation
l ...
Tables Une ou plusieurs tables danimations.
danimation
Mdm1 Modules fonctionnels de niveau infrieur, ces modules assumant, par
rapport la fonction principale, une ou plusieurs sous-fonctions
dautomatisme.

103
Structure logicielle

Limites Seul le produit PL7 PRO permet la mise en oeuvre des modules fonctionnels sur
dutilisation les automates Premium.

104
Description des langages PL7

II
Prsentation

Objet de cet Cet intercalaire dcrit les langages de programmation des automates Micro et
intercalaire Premium.

Contenu de cette Cette partie contient les chapitres suivants :


partie
Chapitre Titre du chapitre Page
6 Langage contacts 107
7 Langage liste dinstructions 121
8 Langage litteral structur 137
9 Grafcet 161
10 Blocs fonction DFB 205

105
Langages PL7

106
Langage contacts

6
Prsentation

Contenu de ce Ce chapitre dcrit la programmation en langage contacts.


chapitre

Contenu de ce Ce chapitre contient les sujets suivants :


chapitre
Sujet Page
Prsentation gnrale du langage contacts 108
Structure dun rseau de contacts 109
Etiquette dun rseau de contacts 110
Commentaire dun rseau de contacts 111
Elments graphiques du langage contacts 112
Rgles de programmation dun rseau de contacts 115
Rgle de programmation des blocs fonction 116
Rgles de programmation des blocs opration 117
Excution dun rseau de contacts 118

107
Langage contacts

Prsentation gnrale du langage contacts

Gnralits Une section de programme crite en langage contacts se compose dune suite de
rseaux de contacts excuts squentiellement par lautomate.

La reprsentation d'un rseau de contacts est proche de celle d'un schma


lectrique.

Illustration dun Lcran suivant prsente un rseau de contacts PL7.


rseau de 1 2 3
contacts
LD : MAST - CHART
(* Attente de schage*)
%L100
%I1.0 %M12 %I1.7 %Q2.5

%TM4.Q %M17

%I1.10 %Q2.3 %M27 %TM0 %M25 %MW0.X OPERATE


%MW15:=%MW18+500
IN TM Q
MODE TON
TB: 1 mn
TMP: 9999
MODIF: Y
%M2 %I1.4 SR2
C

P N X S R OPER COHP COHP FB F (...)


H V
F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 S.F1 S.F2 S.F3 S.F4 S.F5 S.F6 S.F7 S.F8

Composition Ce tableau dcrit les constituants dun rseau de contacts.


dun rseau de
Repre Elment Fonction
contacts
1 Etiquette Repre un rseau de contacts (optionnel).
2 Commentaire Renseigne un rseau de contacts (optionnel).
3 Elments Ils reprsentent :
graphiques l les entres/sorties de lautomate (boutons-poussoirs,
dtecteurs, relais, voyants...)
l les fonctions dautomatismes (temporisateurs,
compteurs...,),
l les oprations arithmtiques, logiques et spcifiques,
l les variables internes de lautomate.

108
Langage contacts

Structure dun rseau de contacts

Introduction Un rseau sinscrit entre deux barres de potentiel. Le sens de circulation du courant
s'tablit de la barre de potentiel gauche vers la barre de potentiel droite.

Illustration Le dessin ci-aprs dcrit la structure dun rseau de contacts.


1 2 3 4 5 6 7 8 9 10 11

1
2
3
4
5
6
Barre de potentiel
7
8
9
10
11
.
Zone action

Zone test

Description dun Un rseau de contacts est compos dun ensemble dlments graphiques
rseau de disposs sur une grille de :
contacts l 16 lignes maximum et 11 colonnes (pour automates Premium),
l 7 lignes maximum et 11 colonnes (pour automates Micro).
Il est rparti en deux zones :
l la zone test, dans laquelle figurent les conditions ncessaires une action
l la zone action, qui applique le rsultat conscutif un enchanement de test.

109
Langage contacts

Etiquette dun rseau de contacts

Gnralits Ltiquette permet de reprer un rseau dans une entit de programme (programme
principal, sous-programme, ...). Elle est optionnelle.

Syntaxe Cette tiquette a la syntaxe suivante : %Li avec i compris entre 0 et 999.
Elle se positionne la partie suprieure gauche devant la barre de potentiel.

Illustration Les rseaux de contacts suivant illustrent lutilisation dune tiquette.

%M20 %L245

Etiquette

%L245

%Q2.3 %M155
S

Rgles Un repre dtiquette ne peut tre affect qu un seul rseau au sein dune mme
entit de programme.

Il est ncessaire dtiqueter un rseau afin de permettre un branchement aprs un


saut de programme (voir illustration ci-dessus).

Lordre des repres des tiquettes est quelconque, (cest lordre de saisie des
rseaux qui est pris en compte par le systme lors de la scrutation).

110
Langage contacts

Commentaire dun rseau de contacts

Gnralits Le commentaire facilite linterprtation du rseau auquel il est affect, mais nest pas
obligatoire.

Syntaxe Le commentaire est intgr au rseau et comprend 222 caractres alphanum-


riques au maximum, encadrs de part et d'autre par les caractres (* et *).

Illustration Le dessin ci-dessous repre la position du commentaire.

Zone commentaire

Rgles Les commentaires saffichent dans la zone rserve dans la partie suprieure du
rseau de contacts.

En cas de suppression dun rseau, le commentaire qui lui est associ est
galement supprim.

Les commentaires sont mmoriss dans lautomate et sont accessibles tout


moment par lutilisateur. A ce titre, ils consomment de la mmoire programme

111
Langage contacts

Elments graphiques du langage contacts

Gnralits Les lments graphiques sont les instructions du langage contacts.

Contacts Les lments graphiques des contacts se programment en zone test et occupent
une cellule (1 ligne de hauteur et 1 colonne de largeur).
Dsignation Graphisme Fonctions
Contact Contact passant quand lobjet bit qui le pilote est
fermeture ltat 1.

Contact Contact passant quand lobjet bit qui le pilote est


ouverture ltat 0.

Contact Front montant : dtection du passage de 0 1 de


dtection de front lobjet bit qui le pilote.
P
montant
Contact Front descendant : dtection du passage de 1 0 de
dtection de front N lobjet bit qui le pilote.
descendant

Elments de Les lments graphiques de liaison permettent de relier les lments graphiques de
liaison test et daction.
Dsignation Graphisme Fonctions
Connexion Permet de relier en srie les lments graphiques de
horizontale test et daction entre les deux barres de potentiel.

Connexion Permet de relier en parallle les lments graphiques


verticale de de test et daction.
potentiel
Drivation court- Permet de relier 2 objets au travers de plusieurs
circuit connexions.

112
Langage contacts

Bobines Les lments graphiques des bobines se programment en zone action et occupent
une cellule (1 ligne de hauteur et une colonne de largeur).
Dsignation Graphisme Fonctions
Bobine directe Lobjet bit associ prend la valeur du rsultat de la
zone test.

Bobine inverse Lobjet bit associ prend la valeur inverse du rsultat


de la zone test.

Bobine Lobjet bit associ est mis 1 lorsque le rsultat de la


denclenchement S zone test est 1.

Bobine de Lobjet bit associ est mis 0 lorsque le rsultat de la


dclenchement R zone test est 1.

Saut conditionnel Permet un branchement un rseau tiquet, amont


un autre rseau ou aval.
->>%Li
(JUMP) Les sauts ne sont effectifs quau sein d'une mme
entit de programmation (programme principal, sous-
programme,...). Lexcution dun saut provoque :
l larrt de la scrutation du rseau en cours,
l lexcution du rseau tiquet demand,
l la non scrutation de la partie du programme situe
entre laction de saut et le rseau dsign.
Bobine dise Propose en langage Grafcet, utilise lors de dise la
programmation des rceptivits associes aux
#
transistions provoque le passage l'tape suivante.

Bobine appel un Permet un branchement en dbut de sous-


sous-programme programme lorsque le rsultat de la zone de test sous-
(CALL) C programme est 1.
L'excution d'un appel un sous-programme
provoque :
l larrt de la scrutation du rseau en cours,
l lexcution du sous-programme,
l la reprise de la scrutation du rseau interrompu.
Retour de sous- Rserve au sous-programme SR, permet le retour
programme au module appelant lorsque le rsultat de la zone de
<RETURN> test est 1.

Arrt programme Provoque l'arrt de l'excution du programme lorsque


le rsultat de la zone de test est 1.
<HALT>

113
Langage contacts

Blocs fonction Les lments graphiques des blocs fonction standard se programment en zone test
standard et occupent une dimension d'une hauteur de 16 lignes maximum et une largeur 3
colonnes.
Dsignation Graphisme Fonctions
Blocs Temporisateur, Chacun des blocs fonctions standards utilise des
Compteur, entres, des sorties, des entres/sorties permettant
Monostable, de les relis aux autres lments graphiques.
Registre,
Programmateur
cyclique

Blocs fonction Les lments graphiques des blocs fonction DFB se programment en zone test et
DFB occupent une dimension d'une hauteur de 16 lignes maximum et une largeur 3
colonnes.
Dsignation Graphisme Fonctions
Blocs Chacun des blocs fonctions DFB utilise des
programmables entres, des sorties, des entres/sorties permettant
de les relier aux autres lments graphiques pour
les objets de type bits ou pouvant tre affects
des objets numriques ou tableaux

Blocs opration Les lments graphiques des blocs opration se programment en zone test et
occupent les dimensions mentionnes ci-dessous.
Dsignation Graphisme Fonctions
Bloc comparaison Permet la comparaison de 2 oprandes, suivant le
vertical rsultat, la sortie correspondante passe 1.
Dimension : 2 colonnes/4 lignes

Bloc comparaison Permet la comparaison de 2 oprandes, la sortie


horizontal passe 1 lorsque le rsultat est vrifi (un bloc peut
contenir jusqu' 4096 caractres).
Dimension : 2 colonnes/1 ligne
Bloc Opration Ralise les oprations arithmtiques, logiquesfait
appel la syntaxe du langage littral structur.
(Un bloc peut contenir jusqu' 4096 caractres).
Dimension : 4 colonnes/1 ligne

114
Langage contacts

Rgles de programmation dun rseau de contacts

Gnralits La programmation d'un rseau de contacts s'effectue l'aide des lments


graphiques, en respectant les rgles de programmation ci-aprs.

Rgles de Les lments graphiques simples de test et daction occupent chacun une cellule au
programmation sein dun rseau.

Toute ligne de contacts commence sur la ligne de potentiel gauche et doit se


terminer sur la ligne de potentiel droite.

Les tests sont toujours situs sur les colonnes 1 10.


Les actions sont toujours situes sur la colonne 11.

Le sens de circulation du courant est le suivant :


l pour les liaisons horizontales, de la gauche vers la droite,
l pour les liaisons verticales, dans les deux sens.

Exemple de Lcran suivant prsente un exemple de rseau de contacts.


rseau de
contacts

115
Langage contacts

Rgle de programmation des blocs fonction

Gnralits Les blocs fonction standard se positionnent dans la zone test des rseaux de
contacts.

Rgles de Quel que soit le type de bloc fonction utilis, il doit obligatoirement tre reli en
programmation entre la barre de potentiel gauche, en direct ou travers dautres lments
des blocs graphiques.
fonction l sorties "en lair" : il nest pas ncessaire de relier dautres lments
graphiques les sorties des blocs fonction,
l sorties testables : les sorties des blocs fonction sont accessibles lutilisateur
sous forme dobjet bit.
Les variables internes de blocs et les sorties graphiques sont des objets exploitables
distance depuis une autre partie du programme.

Les entres non cbles des blocs fonction standard sont mises 0.

Comme pour les lments graphiques du type contacts, il est possible de raliser
des combinaisons de blocs fonction.

Exemple dun Lillustration suivante prsente un exemple dun rseau de contacts contenant 2
rseau de blocs fonction.
contacts

116
Langage contacts

Rgles de programmation des blocs opration

Gnralits Les blocs comparaison se positionnent dans la zone test et les blocs opration se
positionnent dans la zone action.

Rgles de Quel que soit le type de bloc opration utilis, il doit obligatoirement tre reli en
programmation entre la barre de potentiel gauche, en direct ou travers dautres lments
des blocs graphiques.
opration
Comme pour les lments graphiques du type contacts, il est possible de raliser
des combinaisons de blocs fonction et opration.

Exemple de Lillustration suivante prsente un exemple dun rseau de contacts contenant 2


blocs opration blocs de comparaison et un bloc opration.

%I3.6 %TM10 %Q6.3


%MW1>100 IN Q
TYP:TP
%I1.2 TB:100ms %TM2.P:=3450
%MW2>500 TM.P:200
MODIF:Y

117
Langage contacts

Excution dun rseau de contacts

Rseau connexe Un rseau connexe contient des lments graphiques tous relis entre eux par des
lments de liaison (hors barre de potentiel), mais indpendants des autres
lments graphiques du rseau (pas de liaisons verticales vers le haut ou vers le
bas en limite de rseau connexe).

Illustration de Le rseau de contacts suivant est compos de 3 rseaux connexes.


rseaux Rseau Rseau
connexes connexe 2 connexe 1

Rseau
connexe 3

Rgle Le premier rseau connexe valu est celui dont le coin gauche est situ le plus en
dexcution de haut gauche.
rseaux
connexes Un rseau connexe est valu dans le sens de l'quation : valuation du rseau de
haut en bas, ligne par ligne, et dans chaque ligne de gauche droite.

Dans le cas o une liaison verticale de convergence est rencontre, le sous rseau
qui lui est associ est valu (selon la mme logique) avant de continuer l'valuation
du rseau qui l'englobe.

118
Langage contacts

Excution des Le tableau suivant dcrit lordre dexcution des lments dans un rseau connexe.
lments dans
Phase Description
un rseau
connexe 1 Le systme value l'tat logique de chaque contact, en fonction de :
l la valeur courante des objets internes de l'application,
l l'tat des entres des modules d'entres/sorties acquis en dbut de cycle
2 Le systme excute les traitements associs aux fonctions, aux blocs
fonctions, et aux sous-programmes,
3 Le systme met jour les objets bits associs aux bobines (la mise jour des
sorties des modules d'entres/sorties s'effectue en fin de cycle),
4 Le systme dbranche vers un autre rseau tiquet du mme module
programme (saut un autre rseau ->>%Li), retour au module appelant
<RETURN>, ou arrt du programme <HALT>,

Exemple 1 : Le dessin suivant visualise lordre dexcution des lments graphiques.


illustration

Exemple 1 : Le tableau suivant dcrit l'excution des lments graphiques dans le rseau illustr
fonctionnement ci-dessus.
Phase Description
1 Evaluation du rseau jusqu' rencontre de la 1re liaison verticale de
convergence : contacts A, B, C.
2 Evaluation du premier sous rseau : contact D,
3 Poursuite de l'valuation du rseau jusqu' la rencontre de la deuxime liaison
verticale de convergence: contact E,
4 Evaluation du 2me sous rseau : contacts F et G,
5 Evaluation de la bobine H.

119
Langage contacts

Exemple 2 : Le dessin suivant visualise lordre dexcution des lments graphiques.


illustration

Exemple 2 : Le tableau suivant dcrit l'excution des lments graphiques dans le rseau illustr
fonctionnement ci-dessus.
Phase Description
1 bobine 1 : INIT, %M5, %M7, %Q2.1,
2 bobine 2 : %M4, %MW2:X1,AUTO, UP_1,
3 Bloc opration.

120
Langage liste dinstructions

7
Prsentation

Gnralits Ce chapitre dcrit les rgles de programmation en langage liste dinstructions.

Contenu de ce Ce chapitre contient les sujets suivants :


chapitre
Sujet Page
Prsentation gnrale du langage liste dinstructions 122
Structure dun programme liste dinstructions 123
Etiquette dune phrase en langage liste dinstructions 124
Commentaire dune phrase en langage liste dinstructions 125
Prsentation des instructions en langage liste dinstructions 126
Rgle dutilisation des parenthses en langage liste dinstructions 129
Description des instructions MPS, MRD et MPP 131
Principes de programmation des blocs fonction prdfinis 133
Rgles dexcution dun programme liste dinstructions 135

121
Langage liste dinstructions

Prsentation gnrale du langage liste dinstructions

Gnralits Une section crite en langage liste dinstructions se compose dune suite
dinstructions excutes squentiellement par lautomate.

Illustration dun Lillustration suivant prsente un programme liste dinstructions PL7 et le dtail
programme dune instruction.
!%L0:
LD %I1.0
ANDN %M12
OR( %TM4.Q
LD %I1.0
AND %M17
)
AND %I3.7
ST %Q2.5 Code Oprande
!%L2: instruction
LD %I3.5

Composition Ce tableau dcrit les constituants dune instruction.


dune instruction
Elment Fonction
Code instruction Le code instruction dtermine lopration excuter. Il existe 2 types de
codes instructions :
l test, dans laquelle figurent les conditions ncessaires une action
(ex : LD, AND, OR...),
l action, qui sanctionne le rsultat conscutif un enchanement de
test. (ex : ST, STN, R, ...).
Oprande Une instruction agit sur un oprande. Cet oprande peut tre :
l une entre/sortie de lautomate (boutons-poussoirs, dtecteurs,
relais, voyants...),
l une fonctions dautomatisme (temporisateurs, compteurs...),
l une opration arithmtique et logique ou une opration de transfert,
l une variable interne de lautomate.

122
Langage liste dinstructions

Structure dun programme liste dinstructions

Gnralits Comme en langage contacts, les instructions sont organises en squence


d'instructions (quivalent un rseau de contacts) appele phrase.

Exemple de Lillustration suivante prsente une phrase liste dinstructions PL7.


phrase
!(*Attente de schage*) 1
%L2 : 2
LD %I1.0
AND %M10 3
ST %Q2.5

Description Chaque phrase commence par un point d'exclamation (gnr automatiquement),


dune phrase elle comporte les lments suivants.
Repre Elment Fonction
1 Commentaire Renseigne une phrase (optionnel).
2 Etiquette Repre une phrase (optionnel).
3 Instructions Une plusieurs instructions de test, le rsultat de ces
instructions tant appliqu une ou plusieurs instructions
d'action.
Une instruction occupe une ligne maximum

123
Langage liste dinstructions

Etiquette dune phrase en langage liste dinstructions

Gnralits Ltiquette permet de reprer une phrase dans une entit de programme
(programme principal, sous-programme, ...). Elle est optionnelle.

Syntaxe Cette tiquette a la syntaxe suivante : %Li avec i compris entre 0 et 999. Elle se
positionne en dbut dune phrase.

Illustration Le programme suivant illustre lutilisation dune tiquette.

%L0 :
LD %M40
JMPC %L10

!(*Attente de schage*)
%L2 :
LD %I1.0
AND %M10
ST %Q2.5
...
%L10 : Etiquette
LD %I3.5
ANDN %Q4.3
OR %M20
ST %Q2.5

Rgles Une mme tiquette ne peut tre affecte qu une seule phrase au sein dune
mme entit de programme.

Il est ncessaire dtiqueter une phrase afin de permettre un branchement aprs un


saut de programme.

Lordre des repres des tiquettes est quelconque, cest lordre de saisie des
phrases qui est prise en compte par le systme lors de la scrutation.

124
Langage liste dinstructions

Commentaire dune phrase en langage liste dinstructions

Gnralits Le commentaire facilite linterprtation dune phrase auquel il est affect. Il est
optionnel.

Syntaxe Le commentaire peut tre intgr au dbut d'une phrase et peut occuper 3 lignes
maximum (soit 222 caractres alphanumriques), encadrs de part et d'autre par
les caractres (* et *).

Illustration Lillustration ci-aprs repre la position du commentaire dans une phrase.


!(*Attente de schage*) Commentaire
%L2 :
LD %I1.0
AND %M10
ST %Q2.5

Rgles Les commentaires saffichent uniquement partir de la premire ligne de la phrase.

En cas de suppression dune phrase, le commentaire qui lui est associ est
galement supprim.

Les commentaires sont mmoriss dans lautomate et sont accessibles tout


moment par lutilisateur. A ce titre, ils consomment de la mmoire programme.

125
Langage liste dinstructions

Prsentation des instructions en langage liste dinstructions

Gnralits Le langage liste dinstructions comporte des instructions :


l de test,
l daction,
l sur bloc fonction,
l numriques.

Instructions de Le tableau suivant dcrit les instructions de test du langage liste dinstructions.
test
Dsignation Graphisme Fonctions
quivalent
LD Le rsultat boolen est gal ltat de loprande.

LDN Le rsultat boolen est gal ltat inverse de loprande.

LDR Le rsultat boolen passe 1 la dtection du passage de


P 0 1 de loprande (front montant).

LDF Le rsultat boolen passe 1 la dtection du passage de


N 1 0 de loprande (front descendant).

AND Le rsultat boolen est gal au Et logique entre le rsultat


boolen de linstruction prcdente et ltat de loprande.

ANDN Le rsultat boolen est gal au Et logique entre le rsultat


boolen de linstruction prcdente et ltat inverse de
loprande.
ANDR Le rsultat boolen est gal au Et logique entre le rsultat
P boolen de linstruction prcdente, et la dtection dun
front montant de loprande (1=front montant).
ANDF Le rsultat boolen est gal au Et logique entre le rsultat
N boolen de linstruction prcdente, et la dtection dun
front descendant de loprande (1=front descendant).
OR Le rsultat boolen est gal au Ou logique entre le rsultat
boolen de linstruction prcdente et ltat de loprande.

ORN Le rsultat boolen est gal au Ou logique entre le rsultat


boolen de linstruction prcdente et ltat inverse de
loprande.

126
Langage liste dinstructions

Dsignation Graphisme Fonctions


quivalent
ORR Le rsultat boolen est gal au Ou logique entre le rsultat
boolen de linstruction prcdente, et la dtection dun
P front montant de loprande (1=front montant).

ORF Le rsultat boolen est gal au Et logique entre le rsultat


boolen de linstruction prcdente et ltat de loprande.,
N et la dtection dun front descendant de loprande
(1=front descendant).
AND( Et logique (8 niveaux de parenthses)

OR( Ou logique (8 niveaux de parenthses)

XOR, XORN, - Ou exclusif


XORR, XORF
MPS Aiguillage vers des bobines.
MRD
MPP

N - Ngation

Instructions Le tableau suivant dcrit les instructions de test du langage liste dinstructions.
daction
Dsignation Graphisme Fonctions
ST Loprande associ prend la valeur du rsultat de la zone
test.

STN Loprande associ prend la valeur inverse du rsultat de


la zone test.

S Loprande associ est mis 1 lorsque le rsultat de la


S zone test est 1.

R Loprande associ est mis 0 lorsque le rsultat de la


R zone test est 1.

JMP - Permet un branchement inconditionnel une phrase


tiquete, amont ou aval.

127
Langage liste dinstructions

Dsignation Graphisme Fonctions


JMPC - Permet un branchement conditionn un rsultat boolen
1 , une phrase tiquete amont ou aval.
JMPCN - Permet un branchement conditionn un rsultat boolen
0 , une phrase tiquete amont ou aval.
SRn - Branchement en dbut de sous-programme.
RET - Retour de sous-programme.
RETC - Retour de sous-programme conditionn un rsultat
boolen 1.
RETCN - Retour de sous-programme conditionn un rsultat
boolen 0.
END - Fin de programme.
ENDC - Fin de programme conditionn un rsultat boolen 1.
ENDCN - Fin de programme conditionn un rsultat boolen 0.

Instruction sur Le tableau suivant dcrit les instructions de test du langage liste dinstructions..
bloc fonction
Dsignation Graphisme Fonctions
Blocs Temporisateur, Pour chacun des blocs fonction standards, il existe
Compteur, des instructions permettant de piloter le bloc.
Monostable, Une forme structure permet de cbler directement
Registre, les entres/sorties des blocs.
Programmateur
cyclique

Instructions Le tableau suivant dcrit les instructions de test du langage liste dinstructions.
numriques
Dsignation Instructions Fonctions
Elment de test LD[.....] Permet la comparaison de 2 oprandes, la sortie
AND[.....] passe 1 lorsque le rsultat est vrifi.
OR[.....] Exemple : LD[%MW10<1000]
Rsultat 1 lorsque %MW10<1000.
Elment daction [.....] Ralisent les oprations arithmtiques, logiques...
Utilisent la syntaxe du langage littral structur.
Exemple : [%MW10:=%MW0+100]
Le rsultat de lopration %MW0+100 est plac
dans le mot interne %MW10.

128
Langage liste dinstructions

Rgle dutilisation des parenthses en langage liste dinstructions

Gnralits Les instructions AND et OR peuvent utiliser des parenthses.


Ces parenthses permettent de raliser des schmas contacts de faon simple.

Principe L'ouverture de parenthses est associe l'instruction AND ou OR.


La fermeture de parenthses est une instruction, elle est obligatoire pour chaque
parenthse ouverte.

Exemple : AND( Les deux programmes suivants illustrent lutilisation de la parenthse.


LD %I1.0
AND %I1.1
OR %I1.2
ST %Q2.0

LD %I1.0
AND( %I1.1
OR %I1.2
)
ST %Q2.0

Exemple : OR( Le programme suivant illustre lutilisation de la parenthse.


LD %I1.0
AND %I1.1
OR(N %I1.2
AND %I1.3
)
ST %Q2.0

129
Langage liste dinstructions

Association des Les "modificateurs" suivants peuvent tre associs aux parenthses.
parenthses
Code Rle Exemple
des
modificateurs N Ngation AND(N
F Front descendant (Falling edge) AND(F
R Front montant (Rising edge) OR(R
[ Comparaison OR([%MW0>100]

Imbrication de Il est possible dimbriquer jusqu 8 niveaux de parenthses.


parenthses Les rgles ci-aprs doivent tre suivies :
l Chaque parenthse ouverte doit tre imprativement referme
l Les tiquettes %Li: ne doivent pas tre places dans des expressions entre
parenthses, ainsi que les instructions de saut JMP et d'appel sous programme
SRi,
l Les instructions d'affectation ST, STN, S et R ne doivent pas tre programmes
entre parenthses.
Exemple :
Les programmes suivants illustrent lutilisation de limbrication des parenthses.
LD %I1.0
AND( %I1.1
OR(N %I1.2
AND %M3
)
)
ST %Q2.0

LD %I1.1
AND( %I1.2
AND %I1.3
OR(N %I1.5
AND %I1.6
)
AND %I1.4
OR(N %I1.7
AND %I1.8
)
)
ST %Q2.0

130
Langage liste dinstructions

Description des instructions MPS, MRD et MPP

Gnralits Les 3 types dinstruction permettent de traiter les aiguillages vers les bobines.

Ces instructions utilisent une mmoire intermdiaire appele pile pouvant stocker
jusqu' 3 informations boolennes.

Note : ces instructions ne peuvent pas tre utilises au sein d'une expression entre
parenthses

Rle Le tableau suivant dcrit le rle de chacune des instructions


Instruction Rle
MPS (Memory PuSh) Cette instruction a pour effet de stocker le rsultat de la
dernire instruction de test au sommet de la pile et de dcaler
les autres valeurs vers le fond de la pile.
MRD (Memory ReaD) Cette instruction lit le sommet de la pile.
MPP (Memory PoP) Cette instruction a pour effet de lire, de dstocker le sommet de
la pile et de dcaler les autres valeurs vers le sommet de la
pile.

Exemple 1 Cet exemple illustre lutilisation des instructions MPS, MRD, et MPP.

LD %I1.0
AND %M0
MPS
AND %I1.1
ST %Q2.0
MRD
AND %I1.2
ST %Q2.1
MRD
AND %I1.3
ST %Q2.2
MPP
AND %I1.4
ST %Q2.3

131
Langage liste dinstructions

Exemple 2 Cet exemple illustre le fonctionnement des instructions MPS, MRD, et MPP.
LD %I1.0
MPS
AND %I1.1
MPS
AND( %I1.3
OR %M0
)
ST %Q2.0
MPP
AND %M1
ST %Q2.1
MRD
AND %I1.4
ST %Q2.2
MPP
AND %M10
ST %Q2.3

132
Langage liste dinstructions

Principes de programmation des blocs fonction prdfinis

Gnralits Les blocs fonctions dautomatisme peuvent tre programms de 2 faons


diffrentes :
l avec instructions spcifiques chaque bloc fonction (ex: CU %Ci), cette faon
est la plus simple et la plus directe,
l avec instructions de structuration de bloc BLK ,OUT_BLK, END_BLK.

Principe de Les instructions pilotent les entres des blocs (ex: CU). Les sorties sont accessibles
programmation sous forme de bit (ex: %C8.D).
directe
Exemple :
Cet exemple illustre la programmation directe dun bloc fonction compteur.
LD %I1.1
R %CS Traitement
LDN %I1.2 des entres
ANDN %M0
CU %CS Traitement
LD %CS.D des sorties

Principe de Ce type de programmation utilise une suite d' instructions encadre par les
programmation instructions :
structurs l BLK indique le dbut du bloc
l OUT_BLK permet de cbler directement les sorties du bloc
l END_BLK indique la fin du bloc

Exemple :
Cet exemple illustre la programmation structure dun bloc fonction compteur.
BLK %C8
LD %I1.1 Traitement
R des entres
LDN %I1.2
ANDN %M0
CU
OUT_BLK
Traitement
LD D des sorties
ST %Q2.0
END_BLK

133
Langage liste dinstructions

Note : ce principe de programmation structur ncessitant les instructions


supplmentaires BLK, OUT_BLK et END_BLK demande des volumes mmoires
suprieurs par rapport la programmation directe. Il est cependant utiliser, si
vous voulez garder une similitude avec des programmes rversibles pour nano-
automates TSX 07.

134
Langage liste dinstructions

Rgles dexcution dun programme liste dinstructions

Principe Lexcution dun programme liste d'instructions s'effectue squentiellement


instruction par instruction.

La premire instruction d'une squence d'instructions doit toujours tre soit une
instruction LD soit une instruction inconditionnelle (ex : JMP).

Chaque instruction (except LD et les instructions inconditionnelles) utilise le


rsultat boolen de l'instruction prcdente.

Exemple 1 Le programme ci-aprs dcrit lexcution complte dune phrase.


LD %I1.1 rsultat = tat du bit %I1.1
AND %M0 rsultat = ET du rsultat boolen prcdent et de l'tat du bit %M0
OR %M10 rsultat = OU du rsultat boolen prcdent et de l'tat du bit %M10
ST %Q2.0 %Q2.0 prend l'tat du rsultat boolen prcdent

Exemple 2 Les parenthses permettent de modifier l'ordre de prise en compte des rsultats
boolens :
LD %I1.1 rsultat = tat du bit %I1.1
AND %M0 rsultat = ET du rsultat boolen prcdent et de l'tat du bit %M0
OR( %M10 rsultat = tat du bit %M10
AND %I1.2 rsultat = ET du rsultat boolen prcdent et de l'tat du bit %M10
)
ST %Q2.0 %Q2.0 prend l'tat du rsultat boolen prcdent

Exemple 3 Le squencement des instructions peut tre modifi par les instructions de saut JMP
dappel sous-programme.
! LD %M0
JMPC %L10
! LD %I1.1
AND %M10 Saut ltiquette %L10 si %M0=1
ST %Q2.0
! %L10:
LD %I1.3
AND %M20
......

135
Langage liste dinstructions

136
Langage litteral structur

8
Prsentation

Objet de ce Ce chapitre dcrit les rgles de programmation en langage littral structur.


chapitre

Contenu de ce Ce chapitre contient les sujets suivants :


chapitre
Sujet Page
Prsentation du langage littral structur 138
Structure dun programme en langage littral structur 139
Etiquette dune phrase en langage littral structur 140
Commentaire dune phrase en langage littral structur 141
Instructions sur objets bits 142
Instructions arithmtiques et logiques 143
Instructions sur tableaux et chane de caractres 145
Instructions de conversions numriques 148
Instructions sur programme et instructions spcifiques 149
Structure de contrle conditionnelle IF...THEN 151
Structure de contrle conditionnelle WHILE...END_WHILE 153
Structure de contrle conditionnelle REPEAT...END_REPEAT 154
Structure de contrle conditionnelle FOR...END_FOR 155
Instruction de sortie de boucle EXIT 156
Rgles dexcution dun programme littral structur 157

137
Langage littral structur

Prsentation du langage littral structur

Gnralits Le langage littral structur est un langage volu de type algorithmique particuli-
rement adapt la programmation de fonctions arithmtiques complexes,
manipulations de tableaux et gestions de messages.

Il permet la ralisation de programmes par criture de lignes de programmation,


constitues de caractres alphanumriques.

Limite Ce langage est utilisable avec les logiciels PL7 Micro, PL7 Junior et PL7 Pro sur les
dutilisation automates Premium et Micro.
Dans la version PL7 Pro, ce langage permet la cration des blocs fonction utilisateur
DFB sur les automates Premium.

Illustration dun Lillustration suivante prsente un programme en langage structur PL7.


programme
! (* Recherche du premier lment non nul dans un
tableau de 32 mots, dtermination de sa valeur
(%MW10), de son rang (%MW11). Cette recherche
seffectue si %M0 est 1, %M1 est mis 1 si
un lment non nul existe, sinon il est mis 0*)

IF %M0 THEN
FOR %MW99:=0 TO 31 DO
IF %MW100[%MW99]<>0 THEN
%MW10:=%MW100[%MW99];
%MW11:=%MW99;
%M1:=TRUE;
EXIT; (*Sortie de la boucle*)
ELSE
%M1:=FALSE;
END_IF;
END_FOR;
ELSE
%M1:=FALSE;
END_IF;

138
Langage littral structur

Structure dun programme en langage littral structur

Gnralits Une section de programme littral est organise en phrases.


Une phrase littrale est lquivalent dun rseau de contacts en langage contacts.

Exemple de Lillustration suivante prsente une phrase en langage structure PL7.


phrase
1 ! %L20: (*Attente de schage*) 2
SET %M0;
%MW4:=%MW2 + %MW9; 3
(*calcul de pression*)
%MF12:=SQRT (%MF14);

Description Chaque phrase commence par un point d'exclamation (gnr automatiquement),


dune phrase elle comporte les lments suivants.
Repre Elment Fonction
1 Etiquette Repre une phrase.
2 Commentaire Renseigne une phrase.
3 Instructions Une plusieurs instructions spares par ";".

Note : Chacun de ces lments est optionnel, c'est--dire quil est possible davoir
une phrase vide, une phrase constitue uniquement de commentaires ou
uniquement d'une tiquette.

139
Langage littral structur

Etiquette dune phrase en langage littral structur

Rle Ltiquette permet de reprer une phrase dans une entit de programme
(programme principal, sous-programme, ...). Elle est optionnelle.

Syntaxe Cette tiquette a la syntaxe suivante : %Li : avec i compris entre 0 et 999. Elle se
positionne en dbut dune phrase.

Illustration Le programme suivant illustre lutilisation dune tiquette.

! %L20 : Etiquette
(*Attente de schage*)
SET %M0;
%MW4:=%MW2 + %MW9;
(*calcul de pression*)
%MF12:=SQRT (%MF14);

Rgles Une mme tiquette ne peut tre affecte qu une seule phrase au sein dune
mme entit de programme.

Il est ncessaire dtiqueter une phrase afin de permettre un branchement aprs un


saut de programme.

Lordre des repres des tiquettes est quelconque, cest lordre de saisie des
phrases qui est prise en compte par le systme lors de la scrutation.

140
Langage littral structur

Commentaire dune phrase en langage littral structur

Rle Le commentaire facilite linterprtation dune phrase laquelle il est affect. Il est
optionnel.

Syntaxe Le commentaire peut tre intgr nimporte o dans la phrase et le nombre de


commentaires par phrase nest pas limit.

Un commentaire est encadr de part et dautre par les caractres (* et *).

Illustration Lillustration ci-aprs repre la position du commentaire dans une phrase.

! %L20 (*Attente de schage*)


SET %M0;
Commentaires
%MW4:=%MW2 + %MW9;
(*calcul de pression*)
%MF12:=SQRT (%MF14);

Rgles l Tous les caractres sont autoriss dans un commentaire.


l Le nombre de caractres est limit 256 par commentaire.
l Les commentaires imbriqus sont interdits.
l Un commentaire peut tenir sur plusieurs lignes.
Les commentaires sont mmoriss dans lautomate et sont accessibles tout
moment par lutilisateur. A ce titre, ils consomment de la mmoire programme.

141
Langage littral structur

Instructions sur objets bits

Instructions sur Les instructions suivantes sappliquent sur des objets bits.
bits
Dsignation Fonction
:= Affectation dun bit
OR OU boolen
AND ET boolen
XOR OU exclusif boolen
NOT Inversion
RE Front montant
FE Front descendant
SET Mise 1
RESET Mise 0

Instructions sur Les instructions suivantes sappliquent sur des objets de type tableau de bits.
tableaux de bits
Dsignation Fonction
Tableau := Tableau Affectation entre deux tableaux
Tableau := Mot Affectation d'un mot un tableau
Mot := Tableau Affectation d'un tableau un mot
Tableau := Double mot Affectation d'un double mot un tableau
Double mot := Tableau Affectation d'un tableau un double mot
COPY_BIT Copie d'un tableau de bits dans un tableau de bits
AND_ARX ET entre deux tableaux
OR_ARX OU entre deux tableaux
XOR_ARX OU exclusif entre deux tableaux
NOT_ARX Ngation sur un tableau
BIT_W Copie d'un tableau de bits dans un tableau de mots
BIT_D Copie d'un tableau de bits dans un tableau de doubles mots
W_BIT Copie d'un tableau de mots dans un tableau de bits
D_BIT Copie d'un tableau de doubles mots dans un tableau de bits
LENGHT_ARX Calcul de la longueur d'un tableau en nombre d'lments

142
Langage littral structur

Instructions arithmtiques et logiques

Arithmtique Les instructions suivantes sappliquent sur des objets mots et doubles mots.
entire sur mots
Dsignation Fonction
et doubles mots
+, -, *, / Addition, Soustraction, Multiplication, Division entire
REM Reste de la division entire
SQRT Racine carre entire
ABS Valeur absolue
INC Incrmentation
DEC Dcrmentation

Arithmtique sur Les instructions suivantes sappliquent sur des objets flottants.
flottants
Dsignation Fonction
+, -, *, / Addition, Soustraction, Multiplication, Division
SQRT Racine carre
ABS Valeur absolue
TRUNC Partie entire
LOG Logarithme base 10
LN Logarithme nprien
EXP Exponentielle naturelle
EXPT Exponentiation d'un rel par un rel
COS Cosinus d'une valeur en radian
SIN Sinus d'une valeur en radian
TAN Tangente d'une valeur en radian
ACOS Arc cosinus (rsultat entre 0 et 2 p)
ASIN Arc sinus (rsultat entre -p/2 et +p/2)
ATAN Arc tangente (rsultat entre -p/2 et +p/2)
DEG_TO_RAD Conversion degrs en radians
RAD_TO_DEG Conversion radians en degrs

143
Langage littral structur

Instructions Les instructions suivantes sappliquent sur des objets mots et doubles mots.
logiques sur
Dsignation Fonction
mots et doubles
mots AND ET logique
OR OU logique
XOR OU logique exclusif
NOT Complment logique
SHL Dcalage logique gauche
SHR Dcalage logique droite
ROL Dcalage logique circulaire gauche
ROR Dcalage logique circulaire droite

Comparaisons Les instructions suivantes sappliquent sur des objets mots, doubles mots et
numriques sur flottants.
mots, doubles
Dsignation Fonction
mots et flottants
< Strictement infrieur
> Strictement suprieur
<= Infrieur ou gal
>= Suprieur ou gal
= Egal
<> Diffrent de

144
Langage littral structur

Instructions sur tableaux et chane de caractres

Instructions sur Les instructions suivantes sappliquent sur des tableaux de mots et doubles mots.
tableaux de mots
Dsignation Fonction
et doubles mots
Tableau := Tableau Affectation entre deux tableaux
Tableau := Mot Initialisation dun tableau
+, -, *, /, REM Oprations arithmtiques entre tableaux
+, -, *, /, REM Oprations arithmtiques entre expressions et tableaux
SUM Sommation des lments d'un tableau
EQUAL Comparaison de deux tableaux
NOT Complment logique d'un tableau
AND, OR, XOR Oprations logiques entre deux tableaux
AND, OR, XOR Oprations logiques entre expressions et tableaux
FIND_EQW, FIND_EQD Recherche du premier lment gal une valeur
FIND_GTW, FIND_GTD Recherche du premier lment suprieur une valeur
FIND_LTW, FIND_LTD Recherche du premier lment infrieur une valeur
MAX_ARW, MAX_ARD Recherche de la valeur maximum dans un tableau
MIN_ARW, MIN_ARD Recherche de la valeur minimum dans un tableau
OCCUR_ARW, OCCUR_ARD Nombre d'occurrences d'une valeur dans un tableau
SORT_ARW, SORT_ARD Tri par ordre croissant ou dcroissant d'un tableau
ROL_ARW, ROL_ARD Dcalage circulaire gauche d'un tableau
ROR_ARW, ROR_ARD Dcalage circulaire droite d'un tableau
FIND_EQWP,FIND_EQDP Recherche du premier lment gal une valeur depuis
un rang
LENGTH_ARW, LENGTH_ARD Calcul de longueur d'un tableau

145
Langage littral structur

Instructions sur Les instructions suivantes sappliquent sur des tableaux de flottants.
tableaux de
Dsignation Fonction
flottants
Tableau := Tableau Affectation entre deux tableaux
Tableau := Flottant Initialisation dun tableau
SUM_ARR Sommation des lments d'un tableau
EQUAL_ARR Comparaison de deux tableaux
FIND_EQR Recherche du premier lment gal une valeur
FIND_GTR Recherche du premier lment suprieur une valeur
FIND_LTR Recherche du premier lment infrieur une valeur
MAX_ARR Recherche de la valeur maximum dans un tableau
MIN_ARR Recherche de la valeur minimum dans un tableau
OCCUR_ARR Nombre d'occurrences d'une valeur dans un tableau
SORT_ARR Tri par ordre croissant ou dcroissant d'un tableau
ROL_ARR Dcalage circulaire gauche d'un tableau
ROR_ARR Dcalage circulaire droite d'un tableau
LENGTH_ARR Calcul de longueur d'un tableau

146
Langage littral structur

Instructions sur Les instructions suivantes sappliquent sur des chanes de caractres.
chanes de
Dsignation Fonction
caractres
STRING_TO_INT Conversion ASCII Binaire (mot simple format)
STRING_TO_DINT Conversion ASCII Binaire (mot double format)
INT_TO_STRING Conversion Binaire (mot simple format) ASCII
DINT_TO_STRING Conversion Binaire (mot double format) ASCII
STRING_TO_REAL Conversion ASCII Flottant
REAL_TO_STRING Conversion Flottant ASCII
<, >, <=, >=, =, <> Comparaison alphanumrique
FIND Position d'une sous-chane
EQUAL_STR Position du premier caractre diffrent
LEN Longueur d'une chane de caractres
MID Extraction d'une sous-chane
INSERT Insertion d'une sous-chane
DELETE Suppression d'une sous-chane
CONCAT Concatnation de deux chanes
REPLACE Remplacement d'une chane
LEFT Dbut de chane
RIGHT Fin de chane

147
Langage littral structur

Instructions de conversions numriques

Instructions de Les instructions ralisent des conversions de bits, mots, double mots et flottants.
conversions
Dsignation Fonction
numriques
BCD_TO_INT Conversion BCD Binaire
INT_TO_BCD Conversion Binaire BCD
GRAY_TO_INT Conversion Gray Binaire
INT_TO_REAL Conversion d'un entier simple format en flottant
DINT_TO_REAL Conversion d'un entier double format en flottant
REAL_TO_INT Conversion d'un flottant en entier simple format
REAL_TO_DINT Conversion d'un flottant en entier double format
DBCD_TO_DINT Conversion d'un nombre BCD 32 bits en entier 32 bits
DINT_TO_DBCD Conversion d'un entier 32 bits en nombre BCD 32 bits
DBCD_TO_INT Conversion d'un nombre BCD 32 bits en entier 16 bits
INT_TO_DBCD Conversion d'un entier 16 bits en nombre BCD 32 bits
LW Extraction du mot de poids faible d'un double mot
HW Extraction du mot de poids fort d'un double mot
CONCATW Concatnation de 2 mots simples

148
Langage littral structur

Instructions sur programme et instructions spcifiques

Instructions sur Les instructions suivantes nagissent pas sur des objets du langage mais sur le
programme droulement du programme.
Dsignation Fonction
HALT Arrt de l'excution du programme
JUMP Saut une tiquette
SRi Appel de sous-programme
RETURN Retour de sous-programme
MASKEVT Masquage des vnements dans l'automate
UNMASKEVT Dmasquage des vnements dans l'automate

Instructions de Les instructions suivantes effectuent des oprations sur les dates, heures et sur les
gestion du temps dures.
Dsignation Fonction
SCHEDULE Fonction hordateur
RRTC Lecture date systme
WRTC Mise jour de la date systme
PTC Lecture date et code arrt
ADD_TOD Ajout d'une dure une heure du jour
ADD_DT Ajout d'une dure une date et heure
DELTA_TOD Mesure d'cart entre heures du jour
DELTA_D Mesure d'cart entre dates (sans heure)
DELTA_DT Mesure d'cart entre dates (avec heure)
SUB_TOD Remonte dans le temps sur heure
SUB_DT Remonte dans le temps sur date et heure
DAY_OF_WEEK Lecture du jour courant de la semaine
TRANS_TIME Conversion dure en date
DATE_TO_STRING Conversion d'une date en chane de caractres
TOD_TO_STRING Conversion d'une heure en chane de caractres
DT_TO_STRING Conversion d'une date complte en chane de caractres
TIME_TO_STRING Conversion d'une dure en chane de caractres

149
Langage littral structur

Instructions Les instructions suivantes sont des instructions spcifiques du langages Orphe.
"Orphe"
Dsignation Fonction
WSHL_RBIT, DSHL_RBIT Dcalage gauche sur mot avec rcupration des bits
dcals
WSHR_RBIT, DSHR_RBIT Dcalage droite sur mot avec extension de signe et
rcupration des bits dcals
WSHRZ_C, DSHRZ_C Dcalage droite sur mot avec remplissage par 0 et
rcupration des bits dcals
SCOUNT Comptage/dcomptage avec signalisation de
dpassement
ROLW,ROLD Dcalage circulaire gauche
RORW,RORD Dcalage circulaire droite

Instructions de Ces instructions sont des fonctions de temporisation destines tre utiliss pour
temporisation la programmation du code des DFB.
Dsignation Fonction
FTON Temporisation l'enclenchement
FTOF Temporisation au dclenchement
FTP Temporisation d'impulsion
FPULSOR Gnrateur de signaux rectangulaires

150
Langage littral structur

Structure de contrle conditionnelle IF...THEN

Rle Cette structure de contrle ralise une ou plusieurs actions si une condition est vrai.
Dans sa forme gnrale les conditions peuvent tre multiples.

Forme simple Dans sa forme simple, la structure de contrle a la syntaxe et le fonctionnement


suivant.
Syntaxe Fonctionnement

Dbut du IF
IF condition THEN
non vrifie
Condition
actions ;
vrifie
END_IF; Action

Fin du IF

Exemple :

! (*Action conditionnelle IF (forme simple)*)


IF %M0 AND %M12 THEN
RESET %M0;
INC %MW4;
%MW10:=%MW8+%MW9;
END_IF;

151
Langage littral structur

Forme gnrale Dans sa forme gnrale, la structure de contrle a la syntaxe et le fonctionnement


suivant.
Syntaxe Fonctionnement

IF condition1 THEN Dbut du IF

actions1; vrifie
Condition 1

ELSEIF condition2 THEN non vrifie


Actions 1
vrifie
actions2; Condition 2
non vrifie
ELSE Actions 2 Actions 3

actions3;
Fin du IF
END_IF;

Exemple :

! (*Action conditionnelle IF (forme simple)*)


IF %M0 AND %M1 THEN
%MW5:=%MW3+%MW4;
SET %M10;
ELSEIF %M0 OR %M1 THEN
%MW5:=%MW3-%MW4;
SET %M11;
ELSE
RESET %M10;
RESET %M11;
END_IF;

Rgle de l Les conditions peuvent tre multiples.


programmation l Chaque action reprsente une liste d'instructions.
l Plusieurs structures de contrle IF peuvent tre imbriques.
l Le nombre de ELSIF est illimit.
l Il y a au maximum une partie ELSE

152
Langage littral structur

Structure de contrle conditionnelle WHILE...END_WHILE

Rle Cette structure de contrle ralise une action rptitive tant quune condition est
vrifie.

Description La structure de contrle a la syntaxe et le fonctionnement suivant.


Syntaxe Fonctionnement
Dbut du WHILE
WHILE condition DO

non vrifie
action ; Condition

END_WHILE; vrifie
Action

Fin du WHILE

Exemple :

! (*Action itrative conditionnelle WHILE*)


WHILE %MW4<12 DO
INC %MW4;
SET %M25[%MW4];
END_WHILE;

Rgle de l La condition peut tre multiple.


programmation l L action reprsente une liste d'instructions.
l Le test sur la condition est effectu avant d'excuter l'action. Si lors de la
premire valuation de la condition, sa valeur est fausse, alors l'action n'est
jamais excute
l Plusieurs structures de contrle WHILE peuvent tre imbriques.

Note : Linstruction EXIT (Voir Rle, p. 156) permet darrter lexcution


de la boucle et de continuer sur linstruction suivant le END_WHILE.

153
Langage littral structur

Structure de contrle conditionnelle REPEAT...END_REPEAT

Rle Cette structure de contrle ralise une action rptitive jusqu ce quune condition
soit vrifie.

Description La structure de contrle a la syntaxe et le fonctionnement suivant :


Syntaxe Fonctionnement
Dbut du REPEAT
REPEAT

action ; Action

UNTIL condition END_REPEAT; Condition


non vrifie
vrifie
Fin du REPEAT

Exemple :

! (*Action itrative conditionnelle REPEAT*)


REPEAT
INC %MW4;
SET %M25[%MW4];
UNTIL %MW4>12 END_REPEAT;

Rgle de l La condition peut tre multiple.


programmation l L action reprsente une liste d'instructions.
l Le test sur la condition est effectu aprs avoir excut l'action. Si lors de la
premire valuation de la condition, sa valeur est fausse, alors l'action est
excute une fois.
l Plusieurs structures de contrle REPEAT peuvent tre imbriques.

Note : Linstruction EXIT (Voir Rle, p. 156) permet darrter lexcution


de la boucle et de continuer sur linstruction suivant le END_REPEAT.

154
Langage littral structur

Structure de contrle conditionnelle FOR...END_FOR

Rle Cette structure de contrle ralise un traitement un certain nombre de fois en


incrmentant de 1 un indice chaque boucle.

Description La structure de contrle a la syntaxe et le fonctionnement suivant.


Syntaxe Fonctionnement
Dbut du FOR
FOR indice:=valeur initiale TO
valeur finale DO Valeur initiale --> Indice

action ;
Indice > vrifie
END_FOR; Valeur finale

non vrifie
Action
Fin du FOR
Indice+1 --> Indice

Exemple :

! (*Action rptitive FOR*)


FOR %MW4=0 TO %MW23+12 DO
SET %M25[%MW4];
END_FOR;

Rgle de l Lorsque l'indice est strictement suprieur la valeur finale, l'excution se


programmation poursuit sur l'instruction suivant le END_FOR.
l L'incrmentation de l'indice est effectue automatiquement et n'est donc pas
votre charge.
l L'action reprsente une liste d'instructions.
l La valeur initiale et la valeur finale sont forcment des expressions numriques
de type mot.
l L'indice est forcment un objet de type mot accessible en criture.
l Plusieurs structures de contrle FOR peuvent tre imbriques.

Note : Linstruction EXIT (Voir Rle, p. 156) permet darrter lexcution


de la boucle et de continuer sur linstruction suivant le END_FOR.

155
Langage littral structur

Instruction de sortie de boucle EXIT

Rle Cette instruction permet darrter lexcution de la boucle et de continuer sur


linstruction suivant linstruction de fin de boucle.

Rgle de l Cette instruction nest utilisable que dans les actions dune des 3 boucles WHILE,
programmation REPEAT ou FOR.
l Cette instruction est rattache la boucle englobante la plus proche, cest--dire
quelle narrte pas lexcution de toutes les boucles qui lenglobent.

Exemple Dans cet exemple, linstruction EXIT permet darrter la boucle REPEAT mais en
aucun cas la boucle WHILE.

! (*Instruction de sortie de boucle EXIT*)


WHILE %MW1<124 DO
%MW2:=0;
%MW3:=%MW100[%MW1];
REPEAT
%MW500[%MW2]:=%MW3+%MW500[%MW2];
IF(%MW500[%MW2]>32700) THEN
EXIT;
END_IF;
INC %MW2;
UNTIL %MW2>25 END_REPEAT;
INC %MW1;
END_WHILE;

156
Langage littral structur

Rgles dexcution dun programme littral structur

Gnralits L'excution d'un programme littral s'effectue squentiellement, instruction par


instruction en respectant les structures de contrle.

Dans le cas d'expressions arithmtiques ou boolennes composes de plusieurs


oprateurs, des rgles de priorit sont dfinies entre les diffrents oprateurs.

Rgle de priorit Le tableau ci-dessous donne la priorit pour l'valuation d'une expression du plus
des oprateurs prioritaire ou moins prioritaire.
Oprateur Symbole Priorit
Parenthses (expression) Plus forte
Complment logique NOT
Inversion NOT
- sur oprande -
+ sur oprande +
Multiplication *
Division /
Modulo REM
Addition +
Soustraction -
Comparaisons <,>,<=,>=
Comparaison galit =
Comparaison ingalit <>
ET logique AND
ET boolen AND
OU exclusif logique XOR
OU exclusif boolen XOR
OU logique OR Moins forte
OU boolen OR

Note : Lorsqu'il y a conflit entre deux oprateurs de mme niveau de priorit, c'est
le premier oprateur qui l'emporte (l'valuation se fait de la gauche vers la droite).

157
Langage littral structur

Exemple 1 Dans lexemple ci-aprs, le NOT est appliqu sur le %MW3 puis le rsultat est
multipli par 25. La somme de %MW10 et %MW12 est ensuite calcule, puis le ET
logique entre le rsultat de la multiplication et de l'addition.
NOT %MW3 * 25 AND %MW10 + %MW12

Exemple 2 Dans cet exemple, la multiplication de %MW34 par 2 est dabord effectue, puis le
rsultat est utilis pour effectuer le modulo.
%MW34 * 2 REM 6

Utilisation des Les parenthses sont utilises pour modifier l'ordre d'valuation des oprateurs,
parenthses pour permettre par exemple de rendre une addition prioritaire sur une multiplication.

Vous pouvez imbriquer les parenthses et le niveau d'imbrication n'est pas limit.

Les parenthses peuvent galement tre utilises afin d'viter toute mauvaise
interprtation du programme.

Exemple 1 Dans cet exemple, l'addition est d'abord effectue puis la multiplication :

(%MW10+%MW11)*%MW12

Exemple 2 Cet exemple montre que les parenthses peuvent tre utilises afin d'viter toute
mauvaise interprtation du programme.

NOT %MW2 <> %MW4 + %MW6

En utilisant les rgles de priorit des oprateurs, l'interprtation est la suivante :

((NOT %MW2) <> (%MW4 + %MW6))

Mais vous pouvez penser que lopration est la suivante :

NOT (%MW2 <> (%MW4 + %MW6))

Les parenthses permettent donc de clarifier le programme.

158
Langage littral structur

Conversions Les conversions implicites concernent les mots et les doubles mots.
implicites Les oprateurs que vous utilisez dans les expressions arithmtiques, dans les
comparaisons et l'oprateur affectation effectuent ces conversions implicites (qui ne
sont donc pas la charge de l'utilisateur).

Pour une instruction de la forme : <oprande 1> <oprateur> <oprande 2>, les cas
possibles de conversions sont :
Oprande 1 Oprande 2 Conversion Conversion Opration
de type de type Oprande 1 Oprande 2 dans le type
Mot Mot Non Non Mot
Mot Double mot Double mot Non Double mot
Double mot Mot Non Double mot Double mot
Double mot Double mot Non Non Double mot

Pour une affectation de la forme <oprande gauche> := <oprande droite>, c'est


l'oprande de gauche qui impose le type attendu pour effectuer l'opration, ce qui
signifie que l'oprande de droite doit tre convertie si ncessaire suivant le tableau :
Type oprande Type oprande Conversion
gauche droite oprande droite
Mot Mot Non
Mot Double mot Mot
Double mot Mot Double mot
Double mot Double mot Non

Note : Toute opration entre deux valeurs immdiates est effectue en double
longueur.

159
Langage littral structur

160
Grafcet

9
Prsentation

Objet de ce Ce chapitre dcrit les rgles de programmation en Grafcet.


chapitre

Contenu de ce Ce chapitre contient les sous-chapitres suivants :


chapitre
Sous- Sujet Page
chapitre
9.1 Prsentation gnrale du Grafcet 162
9.2 Rgle de construction du Grafcet 169
9.3 Programmation des actions et des conditions 178
9.4 Macro-tapes 187
9.5 Section Grafcet 192

161
Grafcet

9.1 Prsentation gnrale du Grafcet

Prsentation

Objet de ce Ce sous-chapitre dcrit les lments de base dun Grafcet.


sous-chapitre

Contenu de ce Ce sous-chapitre contient les sujets suivants :


sous-chapitre
Sujet Page
Prsentation du Grafcet 163
Description des symboles graphiques du Grafcet 164
Description des objets spcifiques au Grafcet 166
Possibilits du Grafcet 168

162
Grafcet

Prsentation du Grafcet

Gnralits Le langage Grafcet est conforme au langage "Diagramme fonctionnel en squence"


(SFC) de la norme IEC 1131-3.

Le Grafcet permet de reprsenter graphiquement et de faon structure le fonction-


nement dun automatisme squentiel.

Prsentation Cette description graphique du comportement squentiel de lautomatisme et des


diffrentes situations qui en dcoulent, seffectue laide de symboles graphiques
simples.

1 Etape initiale

Transition

Divergence en ET

3 Actions 7
Divergence en OU

4 Actions 5 8 Actions

Convergence en OU

6 9
Convergence en ET

10 Actions Etape

163
Grafcet

Description des symboles graphiques du Grafcet

Description Le tableau suivant dcrit les lments graphiques de base du Grafcet.


Dsignation Symbole Fonctions
Etapes initiales Symbolisent les tapes initiales actives en dbut de cycle aprs une
initialisation ou une reprise froid.
i ou i

Etapes simples Symbolisent un tat stable de l'automatisme. Le nombre d'tapes


maximum (y compris les tapes initiales) est configurable de :
i ou i l 1 96 pour un TSX 37-10,
l 1 128 pour un TSX 37-20,
l 1 250 pour un TSX 57.
Le nombre maximum d'tapes actives simultanment est configurable.
Macro-tapes Symbolise une macro-tape : ensemble unique d'tapes et de
transitions.
i Le nombre de macro-tapes maximum est configurable de 0 63 pour
TSX 57 uniquement.
Etape de Macro- Symbolisent les tapes d'une macro-tapes.
tapes Le nombre maximum d'tapes pour chaque macro-tapes est
i ou i configurable de 0 250 pour TSX 57.

Chaque macro-tape comporte une tape IN et OUT.


IN ou OUT

Transitions Permettent le passage d'une tape une autre. Une rceptivit


associe cette transition permet de dfinir les conditions logiques
ncessaires au franchissement de cette transition.
Le nombre de transitions maximum est de 1024, il n'est pas
configurable.
Le nombre maximum de transitions valides simultanment est
configurable.
Divergences en Transition d'une tape vers plusieurs tapes : permet l'activation
ET simultane de 11 tapes au maximum.

Convergences Transition de plusieurs tapes vers une seule : permet la dsactivation


en ET simultane de 11 tapes au maximum.

164
Grafcet

Dsignation Symbole Fonctions


Divergences en Transition d'une tape vers plusieurs tapes : permet de raliser un
OU aiguillage vers 11 tapes au maximum.

Convergences Transition de plusieurs tapes vers une seule : permet de raliser une
en OU fin daiguillage venant de 11 tapes au maximum.

Renvois "n" est le numro de l'tape "d'o l'on vient" (tape d'origine).
dorigine n

Renvoi de "n" est le numro de l'tape "o l'on va" (tape de destination).
destination

Liaisons Ces liaisons permettent de raliser un aiguillage, un saut d'tapes, une


orientes vers : reprise d'tapes (squence).
l le haut
l le bas
l la droite ou la
gauche

Note : le nombre maxi d'tapes (tapes du graphe principal + tapes de macro-


tapes) dans la section Grafcet ne doit pas dpasser 1024 sur TSX 57.

165
Grafcet

Description des objets spcifiques au Grafcet

Gnralits Le Grafcet dispose d'objets bits associs aux tapes, de bits systme spcifiques ,
d'objets mots indiquant le temps d'activit des tapes et de mots systme
spcifiques.

Objets Grafcet Le tableau suivant dcrit lensemble des objets associs au Grafcet.
Dsignation Description
Bits associs %Xi Etat de l'tape i du Grafcet principal
aux tapes (i de 0 n) (n dpend du processeur)
(1=tape active)
%XMj Etat de la macro-tape j (j de 0 63 pour TSX /PMX/PCX
57)
%Xj.i Etat de l'tape i de la macro-tape j
%Xj.IN Etat de l'tape d'entre de la macro-tape j
%Xj.OUT Etat de l'tape de sortie de la macro-tape j
Bits systme %S21 Provoque l'initialisation du Grafcet
associs au %S22 Provoque la remise zro gnrale du Grafcet
Grafcet
%S23 Provoque le figeage du Grafcet
%S24 Provoque la remise 0 de macro-tapes en fonction des
mots systme %SW22 %SW25
%S25 Mis 1 sur :
l dbordement des tables (tapes/transition),
l excution d'un graphe incorrect (renvoi de destination
sur une tape qui n'appartient pas au graphe).
Mots associs %Xi.T Temps d'activit de l'tape i du Grafcet principal
aux tapes %Xj.i.T Temps d'activit de l'tape i de la macro-tape j
%Xj.IN.T Temps d'activit de l'tape d'entre de la macro-tape j
%Xj.OUT.T Temps d'activit de de l'tape de sortie de la macro-tape j
Mots systme %SW20 Mot permettant de connatre pour le cycle courant le
associs au nombre d'tapes actives, activer et dsactiver.
Grafcet %SW21 Mot permettant de connatre pour le cycle courant le
nombre de transitions valides, valider ou invalider.
%SW22 Suite de 4 mots permettant de dsigner les macro- tapes
%SW25 remettre 0 sur mise 1 du bit %S24.

166
Grafcet

Bits associs Les bits associs aux tapes %Xi, aux macro-tapes %XMi, et aux tapes de
aux tapes macro-tapes %Xj.I , %Xj.IN et %Xj.OUT ont les proprits suivantes :
l Ils sont 1 lorsque les tapes sont actives.
l Ils peuvent tre tests dans toutes les tches, mais ne peuvent tre crits que
dans le traitement prliminaire de la tche matre (prpositionnement des
graphes). Ces tests et actions sont programms soit en langage contacts, soit
en langage liste d'instructions, soit en langage littral.
l Ils sont indexables.

Temps dactivit Les mots temps d'activit des tapes %Xi.T et des tapes de macro-tapes %Xj.I ,
%Xj.IN et %Xj.OUT ont les proprits suivantes :
l Ils sont incrments toutes les 100 ms et prennent une valeur de 0 9999.
l Incrmentation du mot : pendant l'activit de l'tape associe.
l A la dsactivation de l'tape, le contenu est fig.
l A l'activation de l'tape, le contenu est remis zro puis incrment.
l Le nombre de mots temps d'activit n'est pas configurable, un mot est rserv
pour chaque tape.
l Ces mots sont indexables.

167
Grafcet

Possibilits du Grafcet

Gnralits Le traitement squentiel est structur en :


l 1 sous ensemble : Graphe principal,
l 64 sous ensembles : Macro-tapes,
Ces sous-ensembles sont eux-mmes diviss en 8 pages.

Illustration Lillustration suivante dcrit la structure gnrale en page du Grafcet.


Macro-tape 63

Graphe principal Macro-tape 0

Page 7 Page 7

Page 1 Page 1
Page 0 Page 0

Caractristiques Elles dpendent du processeur programmer, elles sont rcapitules dans le


tableau ci-dessous.
Nombre TSX 37-10 TSX 37-20 TSX 57
Par dfaut Maxi Par dfaut Maxi Par dfaut Maxi
Etapes du Graphe 96 96 128 128 128 250
principal
Macro-tapes 0 0 0 0 8 64
Etapes de macro- 0 0 0 0 64 250
tapes
Total d'tapes 96 96 128 128 640 1024
Etapes actives 16 96 20 128 40 250
simultanment
Transitions valides 20 192 24 256 48 400
simultanment

Le nombre de transitions synchrones (ou nombre de convergences en ET) ne doit


pas dpasser 64, le nombre total de transitions tant toujours de 1024.

168
Grafcet

9.2 Rgle de construction du Grafcet

Prsentation

Objet de ce Ce sous- chapitre dcrit les rgles de base pour construire les graphes du Grafcet.
sous-chapitre

Contenu de ce Ce sous-chapitre contient les sujets suivants :


sous-chapitre
Sujet Page
Reprsentation du Grafcet 170
Utilisation des divergences et convergences OU 171
Utilisation des divergences et convergences ET 172
Utilisation des renvois 173
Utilisation des liaisons orientes 176
Commentaire Grafcet 177

169
Grafcet

Reprsentation du Grafcet

Gnralits Le graphe principal et chacune des macro-tapes se programment sur 8 pages


(page 0 7).
Une page Grafcet est constitue de 14 lignes et 11 colonnes qui dfinissent 154
cellules.
Dans chaque cellule, il est possible de saisir un lment graphique.

Illustration Le dessins ci-dessous illustre le dcoupage dune page Grafcet.


1 2 3 4 5 6 7 8 9 10 11

1
2 0
3
4 1
5
6 2
7
8 3
9
10
11
12
13
14

Rgles d'criture l La premire ligne permet de saisir des renvois d'origine.


l La dernire ligne permet de saisir des renvois de destination.
l Les lignes paires (de 2 12) sont des lignes d'tapes (pour les tapes renvois de
destination).
l Les lignes impaires (de 3 13) sont des lignes de transitions (pour les transitions
et les renvois d'origine).
l Chaque tape est repre par un numro diffrent (0 127) dans un ordre
quelconque.
l Des graphes diffrents peuvent tre reprsents sur une mme page.

170
Grafcet

Utilisation des divergences et convergences OU

Rle Une divergence OU est un aiguillage dune tape vers plusieurs tapes.

Une convergence OU ralise une fin daiguillage.

Illustration Le dessin ci-dessous prsente une divergence OU de une tape vers 9 tapes et
une convergence OU.

16

17 18 19 20 21 22 23 24 25

26 27 28 29 30 31 32 33 34

35

Rgle l Le nombre de transitions en amont dune fin daiguillage (convergence en OU) ou


dutilisation en aval d'un aiguillage (divergence en OU) ne doit pas dpasser 11.
l Un aiguillage peut se tracer vers la gauche ou vers la droite.
l Un aiguillage doit gnralement se terminer par une fin d'aiguillage.
l Pour viter de franchir simultanment plusieurs transitions, les rceptivits
associes doivent tre exclusives.

171
Grafcet

Utilisation des divergences et convergences ET

Rle Une divergence ET permet lactivation simultane de plusieurs tapes.

Une convergence ET permet la dsactivation simultane de plusieurs tapes.

Illustration Le dessin ci-dessous prsente une divergence et une convergence ET de 6 tapes.

41

42 43 44 45 46 47

48 49 50 51 52 53

54

Rgles l Le nombre d'tapes en aval d'une activation simultane (divergence en ET) ou


dutilisation en amont d'une dsactivation simultane (convergence en ET) ne doit pas
dpasser 11.
l Une activation simultane d'tapes doit gnralement se terminer par une
dsactivation simultane d'tapes.
l L'activation simultane est toujours reprsente de la gauche vers la droite.
l La dsactivation simultane est toujours reprsente de la droite vers la gauche.

172
Grafcet

Utilisation des renvois

Rle Les renvois assurent la continuit d'un Grafcet lorsque le trac direct d'une liaison
oriente ne peut tre fait, soit au sein d'une page, soit entre deux pages
conscutives ou non.

Cette continuit est assure grce un renvoi de destination auquel correspond


systmatiquement un renvoi d'origine.

Exemple Lillustration suivante montre des exemples de renvois.

18 9

10 0 10

1 11
8 1

2 12

3 4 5 6 7 12 14 15 16 17

8 18

9 2 0

10

Le tableau ci-aprs explicite lutilisation des renvois de lexemple.


Utilisation Exemple
Le rebouclage d'un graphe peut s'effectuer Rebouclage de l'tape 18 vers l'tape 0.
l'aide de renvois.
Une reprise de squence peut s'effectuer l'aide Etape 10 vers tape 1 ou tape 8 vers
de renvois. tape 2.
Utilisation des renvois lorsqu'une branche de Etape 9 vers tape 10.
graphe est plus longue que la page.

173
Grafcet

Renvois utiliss Le tableau suivant donne les rgles dutilisation des renvois dans le cas de
dans les divergence ou convergence OU.
divergences et
Rgle Illustration
convergences
OU Pour un aiguillage, les transitions et les renvois
de destination doivent tre saisis dans la
mme page. 10

20 21 Page 1

Pour une fin d'aiguillage, les renvois d'origine


doivent tre saisis dans la mme page que
10
l'tape de destination. Page 2
20 10

21

Pour une fin d'aiguillage suivie d'un renvoi de


destination, il doit y avoir autant de renvois
d'origine qu'il n'y a d'tapes avant la fin 4 5 6
d'aiguillage

Page 1
10

4 5 6 Page 2

10

174
Grafcet

Renvois utiliss Le tableau suivant donne les rgles dutilisation des renvois dans le cas de
dans les divergence ou convergence ET.
divergences et
Rgle Illustration
convergences
ET Pour une activation simultane d'tapes, les
renvois de destination doivent se trouver sur la
mme page que l'tape et la transition de 25
divergence

Page 2
30 35 37

25 25 25
Page 3
30 35 37

Pour une dsactivation simultane, les tapes


et la transition de convergence doivent se
trouver sur la mme page que le renvoi de 43 45 48
destination.

Lorsque plusieurs tapes convergent vers une


seule transition, le renvoi d'origine porte le Page 1
numro de l'tape amont la plus gauche. 50

43 Page 2

50

175
Grafcet

Utilisation des liaisons orientes

Rle Les liaisons orientes relient une tape une transition ou une transition une
tape. Elles peuvent tre verticales ou horizontales.

Illustration Le schma suivant prsente un exemple dutilisation dune liaison oriente.

1 2

3 4

(1) (2)

Rgles Les liaisons orientes peuvent :


l se croiser (1), elles sont alors de natures diffrentes,
l se rencontrer (2), elles sont alors de mme nature.
Le croisement d'une liaison avec une activation ou une dsactivation simultane
d'tapes est impossible.

176
Grafcet

Commentaire Grafcet

Gnralits Les commentaires permettent de donner des informations sur les tapes et
transitions dun Grafcet. Ils sont optionnels.

Syntaxe Le texte du commentaire est encadr par (* gauche et *) droite. Sa taille


maximale est de 64 caractres.

Illustration Lillustration suivante prsente des exemples de commentaires.

1 (*Commentaire*)

2 (*Exemple de commentaire*)

3
(*Commentaire sur
2 lignes*)
4

Rgles l Dans une page Grafcet, il est possible de saisir un commentaire dans nimporte
quelle cellule.
l Un commentaire occupe deux cellules contiges sur deux lignes maximum.
Si la zone d'affichage est trop petite, le commentaire est tronqu l'affichage
mais lors de l'impression de la documentation, le commentaire est prsent dans
son intgralit.
l Le commentaire saisi dans une page Grafcet est stock dans les informations
graphiques embarques dans l'automate. A ce titre, ils consomment de la
mmoire programme.

177
Grafcet

9.3 Programmation des actions et des conditions

Prsentation

Objet de ce Ce sous-chapitre dcrit les rgle de programmation des actions et conditions dun
sous-chapitre Grafcet.

Contenu de ce Ce sous-chapitre contient les sujets suivants :


sous-chapitre
Sujet Page
Programmation des actions associes aux tapes 179
Programmation des actions lactivation ou la dsactivation 181
Programmation des actions continues 182
Programmation des rceptivits associes aux transitions 183
Programmation des rceptivits en langage contacts 184
Programmation des rceptivits en langage liste dinstructions 185
Programmation des rceptivits en langage littral structur 186

178
Grafcet

Programmation des actions associes aux tapes

Gnralits Les actions associes aux tapes dcrivent les ordres transmettre la partie
oprative (processus automatiser) ou dautres systmes automatiss.

Les actions qui peuvent tre programmes soit en langage contacts, soit en
langage liste d'instructions, soit en langage littral structur.
Ces actions ne sont scrutes que si ltape laquelle elles sont associes est
active.

3 types dactions Le logiciel PL7 autorise trois types daction :


l les actions lactivation : actions excutes une fois lorsque ltape laquelle
elles sont associes passe de ltat inactif ltat actif.
l les actions la dsactivation : actions excutes une fois lorsque ltape
laquelle elles sont associes passe de ltat actif ltat inactif.
l les actions continues : ces actions sont excutes tant que ltape laquelle
elles sont associes est active.

Note : Une mme action peut comprendre plusieurs lments de programmation


(phrases ou rseaux de contacts).

Reprage des Ces actions sont repres de la manire suivante :


actions
MAST - <nom section Grafcet> - CHART (ou MACROk)- PAGE n %Xi x
avec
x = P1 pour Activation, x = N1 Continue, x = P0 Dsactivation
n = Numro de la page
i = Numro de l'tape

Exemple : MAST - Peinture - CHART - PAGE 0 %X1 P1 Action l'activation de


l'tape 1 de la page 0 de la section Peinture

179
Grafcet

Rgles l Toutes les actions sont considres comme des actions mmorises, do : une
dutilisation action asservie la dure de ltape Xn doit tre remise zro la dsactivation
de ltape Xn ou lactivation de ltape Xn+1.
Une action effet maintenu sur plusieurs tapes est positionne un
lactivation de ltape Xn et remise zro la dsactivation de ltape Xn+m.
l Toutes les actions peuvent tre asservies des conditions logiques, donc tre
conditionnelles.
l Les actions asservies des scurits indirectes doivent tre programmes dans
le traitement postrieur (Voir Description du traitement postrieur, p. 203)
(traitement excut chaque scrutation )

Ordre Pour lexemple suivant, sur un tour de cycle, lordre dexcution des actions est le
dexcution des suivant. Lorsque ltape 51 est active, les actions sont excutes dans lordre
actions suivant :
1. actions la dsactivation de ltape 50,
2. actions lactivation de ltape 51,
3. actions continues de ltape 51.
Exemple :

50 Activation %X50 Continue %X50 Dsactivation %X50

51 Activation %X51 Continue %X51 Dsactivation %X51

Ds la dsactivation de ltape 51, les actions continues associes ne sont plus


scrutes.

180
Grafcet

Programmation des actions lactivation ou la dsactivation

Rgles Ces actions sont excutes une fois lorsque ltape laquelle elles sont associes
passe de ltat inactif ltat actif.

Ces actions sont impulsionnelles et sont excutes sur un seul tour de scrutation.
Elles permettent l'appel un sous-programme, l'incrmentation d'un compteur, etc.

Exemple 1 Dans cet exemple, cette action fait appel un sous-programme


%L1
%M25 SR4
C

Exemple 2 Dans cet exemple, cette action incrmente le mot %MW10 et remet 0 les mots
%MW0 et %MW25.

%L1 :
INC %MW10;%MW0:=0;%MW25:=0;

181
Grafcet

Programmation des actions continues

Rgles Ces actions sont excutes tant que ltape laquelle elles sont associes est
active. Elles peuvent tre :
l Actions conditionnelles : laction est excute si une condition est remplie,
l Actions temporises : cest un cas particulier, le temps intervenant comme
condition logique. Cet asservissement peut tre ralis simplement en testant le
temps d'activit associ l'tape.

Exemple Dans cet exemple, le bit %M10 est asservi l'entre %I2.5 ou au bit interne %M9
daction et l'entre %I1.2.
conditionnelle Tant que l'tape 2 est active et que ces conditions sont prsentes, %M10 est
positionn 1.
Le dernier tat lu la dsactivation est mmoris puisque les actions associes ne
sont plus scrutes. Il est donc ncessaire de remettre 0 le bit %M10, dans l'action
la dsactivation de l'tape par exemple.
Illustration de lexemple.
%L10

%I2.5 %M10
Action continue

%M9 %I1.2

%L1

%M25 %M10 Action la dsac-


R tivation

Exemple daction Dans cet exemple, le bit %M12 est pilot tant que le temps d'activit de l'tape 3 est
temporise infrieur 10 secondes (base de temps : 100 ms).
%L1

%M25 %M12
%X3.T<100

Ces actions peuvent galement tre inconditionnelles.

182
Grafcet

Programmation des rceptivits associes aux transitions

Gnralits Une rceptivit associe une transition permet de dfinir les conditions logiques
ncessaires au franchissement de cette transition.

Le nombre de transitions maximum est de 1024, il n'est pas configurable.


Le nombre maximum de transitions valides simultanment est configurable.

Rgles l A chaque transition est associe une rceptivit qui peut tre programme soit
en langage contacts, soit en langage liste d'instructions, soit en langage littral.
l Une rceptivit nest scrute que si la transition laquelle elle est associe est
valide.
l Une rceptivit correspond un rseau de contacts ou une liste d'instructions
ou une expression littrale, comprenant une srie de tests sur bits et/ou sur
mot.
l Une rceptivit non programme est une rceptivit toujours fausse.

Reprage de la Les rceptivits sont repres de la manire suivante :


rceptivit
MAST - <nom section Grafcet> - CHART(ou MACROk) - PAGE n %X(i)
--> % X(j) avec :
n = Numro de la page
i = Numro d'tape amont
j = Numro d'tape aval

Exemple : MAST - Peinture - CHART - PAGE 0 %X(0) --> %X(1)


Rceptivit associe la transition entre l'tape 0 et l'tape 1 de la page 0 du graphe
de la section Peinture.

Note : Lors d'une activation simultane ou d'une dsactivation simultane


d'tapes, le repre indiqu est celui de l'tape dans la colonne situe le plus
gauche.

Rceptivit Dans certaines applications, des actions sont pilotes sans contrle d'information
utilisant le temps de retour (fin de course, dtecteur, ...). La dure de l'tape est conditionne par un
d'activit temps, le langage PL7 permet d'utiliser le temps d'activit associ chaque tape.

Exemple : ! X3.T>=150
Cette rceptivit programme en langage littral structur permet de rester dans
l'tape 3 pendant 15 secondes.

183
Grafcet

Programmation des rceptivits en langage contacts

Rgles de La rceptivit associe la transition se programme sous la forme dun rseau de


programmation contacts comprenant une zone test et une zone action.

La structure du rseau de contacts est similaire celle dun rseau programm dans
un module de programme.

Seuls les lments suivants peuvent tre utiliss :


l lments graphiques de test : contacts (%Mi, %I, %Q, %TMi.D ...), blocs
comparaisons,
l lments graphiques daction : bobine "dise" uniquement (les autres bobines
ntant pas significatives dans ce cas).

Exemple Cet exemple illustre la programmation dune rceptivit en langage contacts.

%I2.1
%MW10<20 #

184
Grafcet

Programmation des rceptivits en langage liste dinstructions

Rgles de La rceptivit associe la transition se programme sous la forme d'une liste


programmation d'instructions comportant uniquement des instructions de test.

La liste d'instructions admises pour l'criture d'une rceptivit diffre d'une liste
d'instructions classique par :
l la structure gnrale : pas d'tiquette (%L).
l la liste des instructions :
l pas d'instructions d'actions (objets bits, mots ou blocs fonctions),
l pas de saut, d'appel de sous-programme.

Exemple Cet exemple illustre la programmation dune rceptivit en langage liste


dinstructions.

! LD %I2.1
AND [%MW10<20]

185
Grafcet

Programmation des rceptivits en langage littral structur

Rgles de La rceptivit associe la transition se programme sous la forme dune expression


programmation boolenne ou dune expression arithmtique ou dune association des deux.

Lexpression admise pour lcriture dune rceptivit diffre dune ligne de


programmation en langage littral par :

l la structure gnrale :
l pas dtiquette (%L)
l pas de phrase action, de phrase conditionnelle ou de phrase itrative.
l la liste des instructions :
l pas daction sur objet bit,
l pas de saut, dappel sous-programme,
l pas de transfert, pas dinstruction daction sur blocs.

Exemple Cet exemple illustre la programmation dune rceptivit en langage littral structur.

! %I2.1 AND [%MW10<20]

186
Grafcet

9.4 Macro-tapes

Prsentation

Contenu de ce Ce sous-chapitre dcrit la programmation des macro-tapes.


sous-chapitre

Contenu de ce Ce sous-chapitre contient les sujets suivants :


sous-chapitre
Sujet Page
Prsentation des macro-tapes 188
Constitution dune macro-tape 189
Caractristiques des macro-tapes 190

187
Grafcet

Prsentation des macro-tapes

Gnralits Une macro-tape est une reprsentation condense, unique, dun ensemble
dtapes et de transitions.
Une macro-tape sinsre dans un graphe comme une tape et en respecte les
rgles dvolution.

Macro- Un Grafcet de premier niveau dcrivant l'enchainement des squences permet de


reprsentation mieux expliciter la structuration de la partie commande.
Chaque squence est associe une symbolisation particulire de l' tape : la
macro-tape.
Cette notion de "macro-reprsentation" permet de hirarchiser l'analyse. Chaque
niveau peut tre complt, modifi sans remettre en cause les autres niveaux.
Les macro-tapes sont disponibles pour les automates TSX57.
La figure suivante montre un Grafcet constitu de 3 macro-tapes.

IN
0

M0 1

OUT
M1
IN

0
M2

1 3

OUT

188
Grafcet

Constitution dune macro-tape

Description La symbolisation graphique dune macro-tape se distingue dune tape par deux
traits horizontaux.
Lillustration suivante montre une macro-tape et son expansion.

IN

0
M1

OUT

Lexpansion dune macro-tape est caractrise par deux tapes spcifiques :


l une tape dentre rpondant aux mmes rgles que les autres tapes,
l une tape de sortie ne pouvant avoir dactions associes.

Evolution Lorsque la macro-tape est active, lvolution de la macro-tape respecte les rgles
gnrales dvolution dun Grafcet).

Exemple :

1
IN

0
M1

2 OUT

La macro-tape M1 est active quand ltape IN est active et que sa rceptivit aval
est vraie.
Elle est dsactive quand son tape de sortie est active et que la rceptivit M1>2
est vraie. Ltape 2 est alors active.

189
Grafcet

Caractristiques des macro-tapes

Caractristiques Le langage Grafcet PL7 autorise la programmation de 64 macro-tapes M0 M63.


gnrales
Lexpansion dune macro-tape, constitue d'une ou plusieurs squences, est
programmable au plus sur 8 pages et comprend au maximum 250 tapes plus
ltape IN et ltape OUT.

Une macro-tape peut contenir une ou plusieurs macro-tapes. Cette hirarchie est
possible jusqu concurrence de 64 niveaux.

Illustration Lanalyse dune application peut tre structure de faon fournir une approche
globale puis dtaille des diffrentes oprations raliser.

IN
IN
0
0
0

1 3
M0 1

2
OUT
M1
OUT

M2

Vers une analyse dtaille

190
Grafcet

Etapes initiales Lexpansion dune macro-tape peut contenir une ou plusieurs tapes initiales.
Ces tapes initiales sont actives la mise sous tension ou lors dune initialisation
par programme. La macro-tape est alors visualise ltat actif.

Dans lexemple ci-aprs ltape initiale 1 de lexpension est active lors dune initiali-
sation du programme, la macro-tape est alors ltat actif.

IN
M0

M1
1 3

2
M2

OUT

191
Grafcet

9.5 Section Grafcet

Prsentation

Contenu de ce Ce sous-chapitre prsente la constitution dune section Grafcet. Il dcrit lutilisation


sous-chapitre et les rgles de programmation de chaque traitement.

Contenu de ce Ce sous-chapitre contient les sujets suivants :


sous-chapitre
Sujet Page
Structure dune section Grafcet 193
Description du traitement prliminaire 194
Prpositionnement du Grafcet 195
Initialisation du Grafcet 196
Remise zro du Grafcet 197
Figeage du Grafcet 198
Remise zro des macro-tapes 199
Fonctionnement du traitement squentiel 201
Description du traitement postrieur 203

192
Grafcet

Structure dune section Grafcet

Composition Une section de programme crit en Grafcet comporte trois traitements conscutifs :
dune section l le traitement prliminaire ,
l le traitement squentiel,
l le traitement postrieur.
La section Grafcet se programme dans la tche MAST.

Illustration Le dessin suivant illustre lordre de scrutation des traitements.

Traitement prliminaire

Traitement squentiel

Traitement postrieur

Rle des Le tableau suivant dcrit le rle de chacun des traitements et le langage avec lequel
traitements ils peuvent tre programms.
Traitement Rle Langage
Prliminaire Il permet de traiter : Langage
l les initialisations sur reprise secteur ou dfaillance, contacts, liste
l les initialisations sur reprise secteur ou dfaillance, dinstructions ou
l la logique d'entre. littral
Squentiel Il permet de traiter lossature squentielle de lapplication et donne accs Grafcet
au traitement des rceptivits et des actions directement associes aux
tapes.
Postrieur Il permet de traiter : Langage
l la logique de sortie, contacts, liste
l la surveillance et les scurits indirectes spcifiques aux sorties. dinstructions ou
littral

Note : Les macro-tapes sont excutes dans leur ordre de scrutation dans le
traitement squentiel.

193
Grafcet

Description du traitement prliminaire

Gnralits Saisi en langage contacts, en langage liste d'instructions ou en langage littral, le


traitement prliminaire est scrut dans sa totalit du haut vers le bas.

Excut avant les traitements squentiel et postrieur, il permet de traiter tous les
vnements ayant une influence sur ces derniers :
l gestion des reprises secteur et rinitialisations,
l remise zro ou prpositionnement des graphes.

Cest donc uniquement dans le traitement prliminaire quil faut agir sur les bits
associs aux tapes (mise 0 ou 1 des bits tapes %Xi ou %Xi.j par les
instructions SET et RESET).

Bits systme Les oprations de prpositionnement, inititialisation, figeage... seffectuent laide


des bits systme %S21 %S24.

Les bits systme associs au Grafcet tant classs numriquement par ordre de
priorit (%S21 %S24), lorsque plusieurs dentre eux sont simultanment mis 1
dans le traitement prliminaire, ils sont traits un par un dans un ordre croissant (un
seul est effectif par tour de scrutation).

Ces bits sont effectifs au dbut du traitement squentiel.

Traitement des Sur une nouvelle application, ou sur une perte de contexte systme, le systme
reprises froid effectue un dmarrage froid.

Le bit %S21 est mis 1 par le systme avant l'appel du traitement prliminaire et le
Grafcet est positionn sur les tapes initiales.

Si vous dsirez un traitement particulier vis--vis de l'application en cas de


dmarrage froid, il a la possibilit de tester %S0 qui reste 1 durant le premier
cycle de la tche matre (MAST).

Traitement des Suite une coupure secteur sans changement d'application, le systme effectue
reprises chaud une reprise chaud, il repart dans l'tat qui prcdait la coupure secteur.

Si vous dsirez un traitement particulier vis--vis de l'application en cas de reprise


chaud, vous avez la possibilit de tester %S1 dans le traitement prliminaire, et
dappeler le programme correspondant.

194
Grafcet

Prpositionnement du Grafcet

Rle Le prpositionnement du Grafcet peut tre utilis lors du passage dun fonction-
nement en marche normale en marche spcifique ou lapparition dun incident
(exemple : dfaut provoquant une marche dgrade).

Cette opration intervient sur le droulement normal du cycle de lapplication, elle


doit donc tre effectue avec prcaution.

Prposition- Le positionnement peut porter sur lensemble ou sur une partie du traitement
nement du squentiel :
Grafcet l en utilisant les instructions SET, RESET,
l par remise zro gnrale (%S22) puis, dans le cycle suivant, positionnement
1 des tapes.

Note : Dans le cas de la remise zro d'une tape, les actions la dsactivation
de celle-ci ne sont pas excutes.

Exemple Dans cet exemple la mise 1 du bit %M20 provoque le prpositionnement des
tapes %X12 1, des tapes %X10 et %X11 0.

%M20
%X12
S
%X10
R
%X11
R

195
Grafcet

Initialisation du Grafcet

Rle Linitialisation du Grafcet seffectue par le bit systme %S21.


Normalement ltat 0, la mise ltat 1 de %S21 provoque :
l la dsactivation des tapes actives,
l lactivation des tapes initiales.

Initialisation du Le tableau suivant donne les diffrentes possibilits de mise 1 et 0 du bit


Grafcet systme %S21.
Mis ltat 1 Remis ltat 0
l Par mise ltat 1 de %S0 l Par le systme au dbut du traitement
l Par le programme utilisateur l Par le programme utilisateur
l Par le terminal (en mise au point ou table l Par le terminal (en mise au point ou table
danimation) danimation)

Rgle Lorsquil est gr par le programme utilisateur, %S21 doit tre positionn 0 ou 1
dutilisation dans le traitement prliminaire.

196
Grafcet

Remise zro du Grafcet

Rle La remise 0 du Grafcet seffectue par le bit systme %S22.

Normalement ltat 0, la mise ltat 1 de %S22 provoque la dsactivation des


tapes actives de lensemble du traitement squentiel.

Note : la fonction RESET_XIT permet de rintialiser par programme les temps


dactivation de toutes les tapes du traitement squentiel .

Remise zro du Le tableau suivant donne les diffrentes possibilits de mise 1 et 0 du bit
Grafcet systme %S22.
Mis ltat 1 Remis ltat 0
l Par le programme utilisateur l Par le systme la fin du traitement
l Par le terminal (en mise au point ou table squentiel
danimation)

Rgle l ce bit doit tre crit 1 dans le traitement prliminaire,


dutilisation l la remise 0 de %S22 est gr par le systme ; il est donc inutile de le remettre
0 par programme ou par le terminal.

Pour redmarrer le traitement squentiel dans une situation donne, vous devez
prvoir selon lapplication une procdure dinitialisation ou de prpositionnement du
Grafcet.

197
Grafcet

Figeage du Grafcet

Rle Le figeage du Grafcet seffectue par le bit systme %S23.

Normalement ltat 0, la mise ltat 1 de %S23 provoque le maintien en ltat des


Grafcet. Quelle que soit la valeur des rceptivits aval aux tapes actives, les
Grafcet nvoluent pas. Le gel est maintenu tant que le bit %S23 est 1.

Figeage du Le tableau suivant donne les diffrentes possibilits de mise 1 et 0 du bit


Grafcet systme %S23.
Mis ltat 1 Remis ltat 0
l Par le programme utilisateur, l Par le programme utilisateur,
l Par le terminal (en mise au point ou table l Par le terminal (en mise au point ou table
danimation). danimation).

Rgle l gr par le programme utilisateur, ce bit doit tre positionn 1 ou 0 dans le


dutilisation traitement prliminaire,
l le bit %S23 associ aux bits %S21 et %S22 permet de raliser un figeage du
traitement squentiel ltat initial ou ltat 0. De mme le Grafcet peut tre
prpositionn puis fig par %S23.

198
Grafcet

Remise zro des macro-tapes

Rle La remise zro des macro-tapes seffectue par le bit systme %S24.

Normalement ltat 0, la mise ltat 1 de %S24 provoque la mise zro des


macro-tapes choisies dans une table de 4 mots systme (%SW22 %SW25).

Note : la fonction RESET_XIT permet de rintialiser par programme les temps


dactivation des tapes de macro-tape.

Remise zro Le tableau suivant donne les diffrentes possibilits de mise 1 et 0 du bit
des macro- systme %S24.
tapes
Mis ltat 1 Remis ltat 0
l Par le programme utilisateur l Par le systme au dbut du traitement

Rgles l ce bit doit tre crit 1 uniquement dans le traitement prliminaire,


dutilisation l la mise 0 de %S24 est gre par le systme, il est donc interdit de le remettre
0 par programme ou par le terminal.

199
Grafcet

Table de mots A chaque bit de cette table correspond une macro-tape. Lutilisation en est la
%SW22 %SW25 suivante :
l chargement de la table des mots %SW22 %SW25 (bit mettre 1 lorsque la
macro-tape correspondante ne doit pas tre mise zro),
l validation par %S24.
Lillustration suivante prsente le codage des mots %SW22 %SW25.
F %SW22 0

XM15 XM1 XM0

F %SW23 0

XM31 XM17 XM16

F %SW25 0

XM63 XM49 XM48

Exemple :
! IF %I4.2 AND %T3.D THEN
%SW22:=16#AF8F;
%SW23:=16#F3FF;
%SW24:=16#FFEF;
%SW25:=16#FFFF;
SET %S24
Ces quatre mots sont initialiss 16#FFFF si %S21 = 1.

200
Grafcet

Fonctionnement du traitement squentiel

Gnralits Ce traitement permet la programmation de l'ossature squentielle de l'application.


Le traitement squentiel comprend :
l le graphe principal organis en 8 pages,
l jusqu 64 macro-tapes de 8 pages chacune.
Dans le graphe principal, plusieurs Grafcet non connexes peuvent tre programms
et se drouler simultanment.

L'volution du Grafcet seffectue en 3 grandes phases.

Phase 1 Le tableau suivant dcrit les oprations ralises lors de la premire phase.
Phase Description
1 Evaluation des rceptivits des transitions valides.
2 Demande de dsactivation des tapes amont associes.
3 Demande d'activation des tapes aval concernes

Phase 2 La phase 2 correspond lvolution de la situation du Grafcet en fonction des


transitions franchies :
Phase Description
1 Dsactivation des tapes en amont des transitions franchies.
2 Activation des tapes en aval des transitions franchies.
3 Invalidation des transitions franchies.
4 Validation des transitions en aval des nouvelles tapes actives.

Rsultat : Le systme met jour deux tables ddies respectivement l'activit


des tapes et la validit des transitions :
l la table d'activit des tapes mmorise, pour le cycle courant, les tapes
actives, les tapes activer et les tapes dsactiver,
l la table de validit des transitions mmorise, pour le cycle courant, les
transitions situes en aval des tapes concernes par la table prcdente.

201
Grafcet

Phase3 Les actions associes aux tapes actives sont excutes dans l'ordre suivant :
Phase Description
1 Actions la dsactivation des tapes dsactiver.
2 Actions l'activation des tapes activer.
3 Actions continues des tapes actives.

Dpassement de Le nombre d'lments de la table d'activit des tapes et de la table de validit des
capacits transitions est configurable.
Le dpassement de la capacit de l'une ou l'autre entrane :
l le passage en STOP de l'automate (arrt de l'excution de l'application),
l le passage 1 du bit systme %S26 (dpassement de capacit d'une des deux
tables),
l le clignotement du voyant ERR de l'automate.

Le systme met disposition de l'utilisateur deux mots systme :


l %SW20 : mot permettant de connatre pour le cycle courant, le nombre d'tapes
actives, activer et dsactiver
l %SW21 : mot permettant de connatre pour le cycle courant, le nombre de
transitions valides, valider ou invalider

Diagnostic
En cas de dfaut bloquant, les mots systme %SW125 %SW127 permettent de
dterminer la nature du dfaut.
%SW125 %SW126 %SW127
DEF7 0 =0 Dpassement de la table des tapes (tapes/
transitions)
DEF7 =0 0 Dpassement de la table des transitions
DEFE N tape Nmacro-tape ou Excution de graphe incorrect (problme de
64 pour le graphe transition avec renvoi de destination non
principal rsolu).

202
Grafcet

Description du traitement postrieur

Gnralits Saisi en langage contacts, en langage liste d'instructions ou en langage littral, le


traitement postrieur est scrut de haut en bas.
Ce traitement est le dernier excut avant l'activation des sorties et permet de
programmer la logique de sortie.

Actions Le traitement postrieur permet de complter les consignes mises par le traitement
associes au squentiel en intgrant l'quation d'une sortie les modes de marche et d'arrt et
Grafcet les scurits indirectes spcifiques l'action.
Il permet galement de traiter une sortie active plusieurs fois dans le traitement
squentiel.

D'une manire gnrale, il est recommand de programmer les actions


agissant directement sur le process dans le traitement postrieur.

Exemple :

%I2.4 %X5 %Q4.1

%X8

%X59

%M26 %I1.0

l I2.4 = scurit indirecte spcifique au pilotage de la sortie %Q4.1.


l %M26 = bit interne rsultat de la logique d'entre traitant des modes de marche
et d'arrt.
l %I1.0 = bouton poussoir.
La sortie %Q4.1 est active par les tapes 5, 8 et 59 du traitement squentiel.

Actions Le traitement postrieur permet galement de programmer les sorties


indpendantes indpendantes du traitement squentiel.
du Grafcet

203
Grafcet

Contrle de Il peut savrer ncessaire de contrler le bon droulement du Grafcet en testant le


l'excution du temps dactivit de certaines tapes.Le test de ce temps seffectue par comparaison
Grafcet soit une valeur minimum soit une valeur maximum dtermine par lutilisateur.

Lexploitation du dfaut est laisse au choix de lutilisateur (signalisation, procdure


particulire de fonctionnement, dition de message).

Exemple :
! IF (%X2.T > 100 AND %X2) THEN SET %Q4.0 ;END_IF ;

204
Blocs fonction DFB

10
Prsentation

Objet de ce Ce chapitre dcrit la programmation des blocs fonction utilisateur DFB.


chapitre

Contenu de ce Ce chapitre contient les sujets suivants :


chapitre
Sujet Page
Prsentation des blocs fonction DFB 206
Comment mettre en oeuvre un bloc fonction DFB 207
Definition des objets des blocs fonction type DFB 209
Dfinition des paramtres DFB 211
Dfinition des variables DFB 212
Rgle de codage des Types DFB 214
Cration des instances de DFB 216
Rgle dutilisation des DFB dans un programme 217
Utilisation dun DFB dans un programme en langage contacts 218
Utilisation dun DFB dans un programme en langage liste dinstructions ou 219
littral
Excution dune instance DFB 220
Exemple de programmation de bloc fonction DFB 221

205
Blocs fonction DFB

Prsentation des blocs fonction DFB

Rle Le logiciel PL7-Pro offre lutilisateur la possibilit de crer ses propres blocs
fonction rpondant aux spcificits de ses applications.

Ces blocs fonction utilisateur permettent de structurer une application. Ils seront
utiliss ds quune squence de programme se trouve rpte plusieurs reprises
dans lapplication ou pour figer une programmation standard (exemple : algorithme
de commande dun moteur incluant la prise en compte des scurits locales).

Ils peuvent tre transmis lensemble des programmeurs et tre utiliss dans la
mme application ou dans toutes autres applications (fonction exportation/
importation).

Exemples Lutilisation dun bloc fonction DFB dans une application permet de :
dutilisation l simplifier la conception et la saisie du programme,
l accrotre la lisibilit du programme,
l faciliter sa mise au point (toutes les variables manipules par le bloc fonction
DFB sont identifies sur son interface),
l diminuer le volume de code gnr (le code correspondant au DFB ntant
charg quune fois, quel que soit le nombre dappels au DFB dans le
programme).

Comparaison Par rapport au sous programme, ils permettent :


avec les sous- l de paramtrer plus facilement le traitement,
programmes l dutiliser des variables internes propres au DFB donc indpendantes de
lapplication,
l dtre tests indpendamment de lapplication.
Ils offrent en langage contacts une visualisation graphique du bloc facilitant la
programmation et la mise au point.
De plus les blocs fonction DFB exploitent des donnes rmanentes.

Domaine Le tableau ci-aprs dcrit le domaine dapplication des DFB.


dutilisation
Fonction Domaine
Automates pour lesquels les DFB sont utilisables. Premium
Logiciel de cration des DFB. PL7 Pro
Logiciels avec lesquels les DFB sont utilisables. PL7 Pro ou un PL7 Junior
Langage de programmation pour la cration du code des DFB. langage littral structur et langage contacts
Langage de programmation avec lesquels les DFB sont langage contacts, littral structur et en liste
utilisables. dinstructions

206
Blocs fonction DFB

Comment mettre en oeuvre un bloc fonction DFB

Marche suivre La mise en oeuvre d'un bloc fonction DFB s'effectue en 3 tapes principales :
Etape Action
1 Conception du DFB modle (appel : Type DFB).
2 Cration d'une image de ce bloc appele instance pour chaque utilisation dans
l'application.
3 Utilisation de l'instance dans le programme PL7.

Conception du Consiste dfinir et coder tous les lments composant le DFB modle, laide de
type DFB lditeur de DFB.

Lillustration suivante montre la composition dun DFB modle.


Nom type DFB

Entres Sorties

Entres/
Sorties

Variables publiques
Variables prives
Code

Un bloc fonction Type DFB se compose :


l d'un nom,
l de paramtres :
l entres,
l sorties,
l entres/sorties,
l de variables :
l variables publiques,
l variables prives,
l du code en langage littral structur ou en langage contacts,
l dun commentaire,
l dune fiche descriptive.

Cration d'une Une fois le Type DFB conu, l'utilisateur dfinit une instance du DFB l'aide de
instance DFB l'diteur de variables ou lors de l'appel de la fonction dans l'diteur de programme.

207
Blocs fonction DFB

Utilisation des Cette instance du bloc sutilise ensuite comme un bloc fonction standard en langage
DFB contacts, ou comme une fonction lmentaire en langage littral structur ou liste
d'instructions.

Elle peut se programmer dans les diffrentes tches (except dans les tches
vnementielles) et sections de l'application.

208
Blocs fonction DFB

Definition des objets des blocs fonction type DFB

Caractristiques Ces objets sont des donnes internes au DFB, ils sont purement symboliques (pas
gnrales des d'adressage sous forme de repre).
objets DFB
Les DFB utilisent 2 types dobjet :
l les paramtres
l les variables

Syntaxe Pour chaque paramtre ou variable utilis, le concepteur du bloc fonction Type DFB
dfinit :
l un nom de 8 caractres maximum (sont autoriss les lettres non accentues, les
chiffres,le caractre "_"; le premier caractre doit tre une lettre; les mots clefs et
les symboles sont interdits),
l un type d'objet (voir tableau ci-aprs),
l un commentaire optionnel de 80 caractres maximum,
l une valeur initiale (except pour les paramtres Entres/Sorties).

Type dobjets Le tableau ci-aprs dcrit la liste des diffrents types dobjets possibles lors de la
dclaration des paramtres et des variables du type DFB.
Action Type Nom Exemples
sur...
Bits BOOL Boolen Le type BOOL ne gre pas les fronts. Si la gestion
de front n'est pas utile dans le traitement, il est
prfrable d'utiliser le type BOOL
Exemple d'objet de type BOOL du langage PL7 :
%MWi:Xj qui ne gre pas les fronts mais qui
consomme moins de taille mmoire que le type
EBOOL.
EBOOL Boolen Le type EBOOL gre les fronts, il est donc possible
tendu d'excuter sur ce type de paramtre ou de variable
des instructions sur front de type RE et FE.
si vous souhaitez associer un type EBOOL un
paramtre d'entres/sorties lors de l'utilisation, il
doit tre de type EBOOL dans le DFB.
Exemple d'objet de type EBOOL du langage PL7 :
%Mi,%Ixy.i,%Qxy.i.

209
Blocs fonction DFB

Action Type Nom Exemples


sur...
Mots WORD Entier 16 bits Exemple dobjet de type WORD du langage PL7 :
%MWi, %KWi,
DWORD Entier 32 bits Exemple dobjet de type DWORD du langage PL7
: %MDi, %KDi,
REAL Rel Exemple d'objet de type REAL du langage PL7 :
%MFi, %KFi
Tableaux AR_X Tableau de Exemple d'objet de type AR_X du langage PL7 :
bits %Mi:L, %Ix.i:L
AR_W Tableau Exemple d'objet de type AR_W du langage PL7 :
d'entier 16 %MWi:L, %KWi:L
bits
AR_D Tableau Exemple d'objet de type AR_D du langage PL7 :
d'entier 32 %MDi:L, %KDi:L
bits
AR_R Tableau de Exemple d'objet de type AR_R du langage PL7 :
rels %MFi:L, %KFi:L
STRING Chane de Exemple d'objet de type STRING du langage PL7:
caractres %MBi, %KBi

Note :
l Cas des tableaux : la longueur du tableau doit tre obligatoirement mentionne
pour les paramtres sorties et les variables publiques et prives, par contre il
n'est pas ncessaire de les dfinir pour les paramtres entres et les
paramtres entres/sorties.
l Les valeurs initiales peuvent tre dfinies pour les entres (si elles ne sont pas
de type tableau), pour les sorties et pour les variables publiques et prives.

210
Blocs fonction DFB

Dfinition des paramtres DFB

Illustration Lillustration suivante prsente des exemples de paramtres

Entres Controle Sorties


DWORD WORD
Ecart Accel

WORD BOOL
Vitesse Erreur

BOOL
Enable
WORD Entres/
Actions Sorties

Description des Le tableau ci-aprs dcrit le rle de chaque type de paramtres.


paramtres
Paramtre Nombre Rle
maximum
Entres 15 (1) Ce sont les donnes fournir au DFB par le programme
application. Ces paramtres en lecture seule ne peuvent pas
tre modifis dans le code du DFB.
Sorties 15 (2) Ce sont les donnes labores par le DFB destination du
programme application.
Entres/ 15 Ce sont des paramtres d'entres modifiables dans le code du
Sorties DFB.

Lgende :
(1) Nombre d'entres + Nombre d'entres/sorties infrieur ou gal 15
(2) Nombre de sorties + Nombre d'entres/sorties infrieur ou gal 15

Note :
l Tout bloc DFB doit avoir au moins une entre boolenne.
l La modification de l'interface d'un DFB (variables publiques ou paramtres) est
possible uniquement s'il n 'est pas instanci et utilis dans l'application.

211
Blocs fonction DFB

Dfinition des variables DFB

Description des Le tableau ci-aprs dcrit le rle de chaque type de variables.


variables
Variable Nombre Rle
maximum
Publique 100 Variables internes utilises dans le traitement et accessibles par
lutilisateur en rglage ou par le programme application en dehors
du code DFB (en tant que variable publique dinstance DFB, voir
ci-dessous : Accs aux variables publiques).
Prive 100 Variables internes au code du bloc fonction, ces variables sont
calcules et exploites lintrieur mme du DFB mais nont
aucun lien avec lextrieur du DFB.
Ces variables sont utiles pour la programmation du bloc mais nont
pas dintrt pour lutilisateur du bloc (par exemple : variable
intermdiaire de renvoi dune expression combinatoire lautre,
rsultat dun calcul intermdiaire...).

Note : la modification de linterface dun DFB (variables publiques ou paramtres)


est possible uniquement sil nest pas instanci et utilis dans lapplication.

Accs aux Seuls les paramtres de sorties et les variables publiques sont accessibles en tant
variables quobjets dans le programme application en dehors du corps du bloc fonction.
publiques Leur syntaxe est la suivante :

Nom_DFB.Nom_paramtre

O Nom_DFB est le nom donn linstance du DFB utilis (32 caractres


maximum)

et Nom_paramtre est le nom donn au paramtre de sorties ou la variable


publique (8 caractres maximum).

Exemple : Controle.Ecart pour la sortie Ecart de linstance DFB nomme


Controle.

212
Blocs fonction DFB

Sauvegarde et Les variables publiques, modifies par programme ou par rglage, peuvent tre
restitution des sauvegardes en lieu et place des valeurs dinitialisation (dfinies dans les
variables instances DFB) par mise 1 du bit systme %S94.
publiques Le remplacement na lieu que si lautorisation en a t donne au niveau de chaque
variable du type DFB.

Ces valeurs sauvegardes sont r-appliques par une mise 1 du bit systme
%S95 ou sur une r-initialisation de lautomate.

Linhibition de la fonction "Save/Restore" globale pour tous les blocs fonction DFB
est possible (bote de dialogue Proprits du type DFB).

213
Blocs fonction DFB

Rgle de codage des Types DFB

Gnralits Le code dfinit le traitement que doit effectuer le bloc DFB en fonction des
paramtres dclars.
Le code du bloc fonction DFB se programme en langage litteral ou en langage
contacts.
Dans le cas du langage littral, le DFB est constitu dune seule phrase littrale de
longueur non limite.

Rgles de Toutes les instructions et fonctions avances du langage sont permises excepts :
programmation l lappel aux blocs fonction standards,
l lappel aux autres blocs fonction DFB,
l branchement une tiquette JUMP,
l lappel sous-programme,
l linstruction HALT,
l les instructions utilisant des variables de modules dentres/sorties
(ex : READ_STS, SMOVE...).
Le code exploite les paramtres et les variables du DFB dfinies par lutilisateur.

Le code du bloc fonction DFB ne peut utiliser ni les objets dentres/sorties


(%I,%Q...), ni les objets globaux de lapplication (%MW,%KW...) except les bits et
mots systme %S et %SW.

Note : pas dutilisation possible dtiquette.

Fonctions Le tableau ci-aprs dcrit les fonctions spcifiquement adaptes pour tre utilises
spcifiques dans le code.
Fonctions Rle
FTON, FTOF, FTP, FPULSOR Ces fonctions de temporisation sont destines tre
utilises la place des blocs fonction temporisation
standard.
LW, HW, COCATW Ces instructions permettent de manipuler des mots et de
doubles mots.
LENGTH_ARW, LENGTH_ARD, Ces instructions permettent de calculer les longueurs de
LENGTH_ARR tableau.

214
Blocs fonction DFB

Exemple de code Le programme suivant donne lexemple code en littral.


CHR_200:=CHR_100;
CHR_114:=CHR_104;
CHR_116:=CHR_106;
RESET DEMARRE;
(*On incremente 80 fois CHR_100*)
FOR CHR_102:=1 TO 80 DO
INC CHR_100;
WHILE((CHR_104-CHR_114)<100)DO
IF(CHR_104>400) THEN
EXIT;
END_IF;
INC CHR_104;
REPEAT
IF(CHR_106>300) THEN
EXIT;
END_IF;
INC CHR_106;
UNTIL ((CHR_100-CHR_116)>100)
END_REPEAT;
END_WHILE;
(* On boucle tant que CHR_106)
IF (CHR_106=CHR_116)
THEN EXIT;
ELSE
CHR_114:=CHR_104;
CHR_116:=CHR_106;
END_IF;
INC CHR_200;
END_FOR;

215
Blocs fonction DFB

Cration des instances de DFB

Gnralits Une instance DFB est une copie du Type DFB :


l elle exploite le code du Type DFB, (il ny a pas duplication du code),
l elle cre une zone de donnes spcifique cette instance, qui est la recopie des
paramtres et des variables du Type DFB. Cette zone est situe dans lespace
donne de lapplication.

Chaque instance DFB est repre par un nom de 32 caractres maximum dfini par
lutilisateur.
Les caractres permis sont identiques ceux autoriss pour les symboles, cest
dire sont autoriss :
l les lettres non accentues,
l les chiffres,
l le caractre "_".
Le premier caractre doit tre une lettre; les mots clefs et les symboles sont
interdits.

Rgles Il est possible de crer autant dinstances souhaites partir dun mme type de
DFB. Nanmoins le nombre dinstances de DFB ne doit pas utiliser plus de
32 K mots de la mmoire interne de lautomate.

Les valeurs initiales des variables publiques dfinies pour les blocs fonction
Type DFB peuvent tre modifies pour chaque instance.

216
Blocs fonction DFB

Rgle dutilisation des DFB dans un programme

Gnralits Les instances de DFB sont utilisables dans tous les langages (langages contacts,
littral et liste d'instructions) et dans toutes parties de l'application : sections, sous
programme, module Grafcet, (except dans les tches vnementielles).

Rgles gnrales Les rgles suivantes doivent tre respectes quel que soit le langage utilis :
dutilisation l tous les paramtres d'entres de type tableau ainsi que les paramtres d'entres/
sorties doivent tre renseigns
l les paramtres d'entres non cbls gardent la valeur du prcdent appel ou la
valeur d'initialisation si le bloc n'a jamais t appel avec cette entre renseigne
ou cble.
l tous les objets affects aux paramtres d'entres, de sorties et d'entres/sorties
doivent tre obligatoirement de mme types que ceux dfinis lors de la cration
du Type DFB (par exemple : si le type WORD est dfini pour le paramtre
d'entre "vitesse", il n'est pas autoris d'y affecter des doubles mots %MDi,
%KDi).
Seule exception les types BOOL et EBOOL pour les paramtres d'entres ou de
sorties (pas pour les paramtres entres/sorties) peuvent tre mixs.
Exemple : le paramtre d'entre "Validation" peut tre dfini en tant que BOOL
et peut tre associ un bit interne %Mi qui est de type EBOOL, par contre dans
le code interne du type DFB le paramtre d'entre aura bien la proprit d'un type
BOOL, il ne sait pas grer les fronts.

Affectation des Le tableau suivant rsume les diffrentes possibilits daffectation des paramtres
paramtres dans les diffrents langages de programmation :
Paramtre Type Affectation paramtre Affectation
Entres Boolen Cbl (1) optionnelle (2)
Numrique Objet ou expression optionnelle
Tableau Objet obligatoire
Entres/ Boolen Objet obligatoire
Sorties Numrique Objet obligatoire
Tableau Objet obligatoire
Sorties Boolen Cbl (1) optionnelle
Numrique Objet optionnelle
Tableau Objet optionnelle

(1) cbl en langage contacts, ou objet en langage boolen ou littral


(2) en langage contacts tout bloc DFB doit avoir au moins une entre boolenne
(binaire) cble.

217
Blocs fonction DFB

Utilisation dun DFB dans un programme en langage contacts

Principe Il y a deux possibilits pour appeler un bloc fonction DFB :


l un appel textuel dans un bloc opration, la syntaxe et les contraintes sur les
paramtres sont identiques celles du langage littral.
l un appel graphique, voir exemple ci-aprs.
Les blocs fonctionnels DFB graphiques ont des entres /sorties qui sont affectes
directement par des objets ou des expressions, ces objets ou expressions occupent
une cellule du rseau graphique.

2 blocs fonctionnels DFB connects en srie doivent tre spars dau moins 2
colonnes

Exemple Lillustration suivante prsente un exemple simple de programmation dun DFB.


Control_port_1
Controle
ABS(%MD0) DWORD WORD %MW8
Ecart Accel
%Q2.1
10000 WORD
Vitesse BOOL
%Q2.5 Erreur
BOOL
Enable
WORD
%MW100 %MW100
Actions

Le tableau ci-aprs repre les diffrents lments du DFB.


Repre Rle
1 Nom du DFB
2 Nom du Type DFB
3 Paramtre effectif de la premire entre
4 Paramtres dentres (nom et type)
5 Paramtres de sorties (nom et type)
6 Paramtres dentres/sorties (nom et type)

Note :
l Un bloc fonction DFB doit avoir au moins une entre boolenne cble.
l Les entres, sorties ou entres/sorties numriques du bloc ne sont pas cbles.
A ces broches sont associs des objets mentionns sur la cellule face la
broche.

218
Blocs fonction DFB

Utilisation dun DFB dans un programme en langage liste dinstructions ou


littral

Gnralits L'appel du bloc fonction DFB constitue une action, qui peut tre place dans une
phrase comme pour tout autre action du langage.

Syntaxe gnrale La syntaxe de programmation des DFB est la suivante :

Nom_DFB (E1,...,En,ES1,...,ESn,S1,...,Sn)

Le tableau suivant dcrit le rle des paramtres de linstructions.


Paramtres Rle
E1, ..., En Expressions (except pour les objets de type BOOL/EBOOL), objets ou
valeurs immdiates servant de paramtres effectifs aux paramtres
d'entres.
ES1, ..., ESn Paramtres effectifs correspondant aux entres/sorties; ce sont toujours
des objets langages en lecture/criture.
S1, ..., Sn Paramtres effectifs correspondant aux sorties; ce sont toujours des objets
langages en lecture/criture.

Syntaxe en Linstruction en langage littral a la syntaxe suivante :


littral Nom_DFB (E1,...,En,ES1,...,ESn,S1,...,Sn);

Exemple : Cpt_boulons(%I2.0,%MD10,%I2.1,%Q1.0);

Syntaxe en liste Linstruction en langage liste dinstructions a la syntaxe suivante :


dinstructions [Nom_DFB (E1,...,En,ES1,...,ESn,S1,...,Sn)]

Exemple :
LD TRUE
[Cpt_boulons(%I2.0,%MD10,%I2.1,%Q1.0)]

219
Blocs fonction DFB

Excution dune instance DFB

Fonctionnement L'excution d'une instance DFB s'effectue dans l'ordre suivant :


Etape Action
1 Chargement des paramtres d'entres et d'entres/sorties l'aide des
paramtres effectifs.
Tout entre laisse libre prend l'initialisation ou sur reprise froid la valeur
d'initialisation dfinie dans le type DFB, elle prend ensuite la valeur courante
du paramtre.
2 Passage par valeur des paramtres d'entres (except pour le type tableau).
3 Passage par adresse des paramtres entres/sorties.
4 Excution du code littral.
5 Ecriture des paramtres de sorties.

Outils de mise au Le logiciel PL7 offre plusieurs outils de mise au point du programme PL7 et des
point DFB :
l table d'animation : tous les paramtres et variables publiques sont affichs et
anims en temps rel, il est possible de modifier et forcer les objets dsirs,
l point d'arrt, pas pas et diagnostic programme,
l crans d'exploitation : pour la mise au point unitaire.

220
Blocs fonction DFB

Exemple de programmation de bloc fonction DFB

Gnralits Cet exemple est donn titre didactique, le DFB programmer est un compteur.

Caractristiques Le compteur est ralis partir du Type DFB suivant :


du type DFB
Cpt_pieces

EBOOL BOOL
Raz Done

DWORD
Presel

EBOOL
Count

DWORD
V_cour

Le tableau ci-aprs dcrit les caractristiques du Type DFB programmer.


Caractristiques Valeurs
Nom Cpt_pieces
Entres l Raz : remise zro du compteur
l Presel : valeur de prslection du compteur
l Count : entre comptage
Sorties Done : sortie valeur de prslection atteinte
Variable publique V_cour : Valeur courante incrmente par l'entre Count

Fonctionnement Le tableau suivant dcrit le fonctionnement que doit avoir le compteur.


du compteur
Phase Description
1 Ce bloc compte les fronts montants sur l'entre Count.
2 Le rsultat est plac dans la variable V_cour, cette valeur est remise zro
par un front montant sur l'entre Raz.
3 Le comptage s'effectue jusqu' la valeur de prslection, lorsque cette valeur
est atteinte la sortie Done est mise 1, elle est remise 0 sur front montant
sur l'entre Raz.

221
Blocs fonction DFB

Code du DFB La programmation du code du Type DFB est donne ci-aprs.


!(*Programmation du DFB Cpt_pieces*)
IF RE Raz THEN
V_cour:=0;
END_IF;
IF RE Count THEN
V_cour:=V_cour+1;
END_IF;
IF(V_cour>=Presel) THEN
SET Done;
ELSE
RESET Done;
END_IF;

Exemple Dans cet exemple le Type DFB cr, est utilis 3 fois (3 instances DFB) pour le
dutilisation comptage de 3 types de pices.

Lorsque le nombre de pices programm (dans les mots %MD10, %MD12, et


%MD14) est atteint, la sortie du compteur pilote l'arrt du systme d'approvision-
nement de pices correspondant.

222
Blocs fonction DFB

Le programme suivant utilise les 3 instances du type DFB Cpt_pieces :


Cpt_boulons, Cpt_ecrous et Cpt_vis.
Cpt_boulons

%I1.0 Cpt_pieces %Q2.1


EBOOL BOOL
Raz Done

%MD10 DWORD
%I1.1 Presel

EBOOL
Count

Cpt_ecrous

%I1.2 Cpt_pieces %Q2.2


EBOOL BOOL
Raz Done

%MD12 DWORD
%I1.3 Presel

EBOOL
Count

Cpt_vis

%I1.4 Cpt_pieces %Q2.3


EBOOL BOOL
Raz Done

%MD14 DWORD
%I1.5 Presel

EBOOL
Count

223
Blocs fonction DFB

224
Index
B
AC
A D
Action, 179 Dmarrage froid, 76
Action lactivation, 181 DFB, 206
Action continue, 182 Divergence ET, 172
Activation, 181 Divergence OU, 171
Adressage Divergences en ET, 164, 165
Bus AS-i, 39
Bus FIPIO, 36
E/S Micro, 31 E
Modules en rack, 34 Elments graphiques, 112
Momentum, 36 Etape dentre, 189
TBX, 36 Etape de sortie, 189
Aiguillage, 171 Etiquette
Liste dinstructions, 124
littral, 140
B Rseau de contacts, 110
Bloc fonction DFB, 206 Excution
Cyclique, 90
Priodique, 92
C Rseau de contacts, 118
Commentaire, 177 Excution dun programme littral, 157
Grafcet, 177 EXIT, 156
Liste dinstructions, 125
littral, 141
Rseau de contacts, 111 F
Convergence ET, 172 Figeage du Grafcet, 198
Convergence OU, 171 FOR...END_FOR, 155
Convergences en ET, 164, 165
Coupure secteur, 72
G
Grafcet, 163

225
Index

I O
IF...THEN, 151 Objet
Initialisation du Grafcet, 196 Bit, 29
Instance DFB, 216 Bloc fonction, 44
Instruction Boolen, 26
arithmtique, 143 DFB, 209
chane de caractres, 145 Index, 48
conversion, 148 Mot, 27, 41
Gestion du temps, 149 Objet langage P7, 25
logique, 143 Objets Grafcet, 51, 166
objet bits, 142
programme, 149
tableaux, 145 P
Instructions Page Grafcet, 168, 170
Liste dinstructions, 126 Paramtre
DFB, 211
Phrase
L Liste dinstructions, 123
Langage littrale, 139
Littral structur, 138 PL7, 16
Langage contacts, 108 Prpositionnement du Grafcet, 195
Langages Prsymbolisation, 54
PL7, 17 Programmation
Liaison oriente, 176 Rseau de contacts, 115
Liste dinstructions, 122
Littral structur, 138
Logiciel PL7, 16 R
Rceptivit, 183
Remise zro des macro-tapes, 199
M Remise zro du Grafcet, 197
Macro-tape, 188 Renvoi de dorigine, 173
Mmoire Renvoi de destination, 173
Bits, 59 REPEAT...END_REPEAT, 154
Micro, 62 Reprise chaud, 74
Mots, 61 Reprise secteur, 72
Premium, 58, 64, 66, 68 Rseau de contacts, 109
TSX 37, 56, 62
TSX 57, 64, 66, 68
TSX Micro, 56 S
TSX57, 58 Section, 20, 82
Module fonctionnel, 22, 103 Section Grafcet, 193
Monotche, 89 Sous-programme, 20, 82
Multitche, 20, 97, 99 Symboles Grafcet, 164
Symbolisation, 52

226
Index

T
Tableau, 46
Tche, 20
Matre, 81
Rapide, 85
Traitement
Evnementiel, 86, 101
postrieur, 203
Traitement prliminaire, 194
Traitement squentiel, 201

V
Variable
DFB, 212

W
WHILE...END, 153

227
Index

228

Vous aimerez peut-être aussi