Vous êtes sur la page 1sur 250

Manuel de Rfrence

PL7 Micro/Junior/Pro Description du logiciel PL7


07/2008 fre

35015366.01

www.schneider-electric.com

Structure de la documentation

Structure de la documentation
Prsentation Ce manuel se compose de trois tomes:

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

35015366.01 07/2008

Structure de la documentation

35015366.01 07/2008

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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prsentation des logiciels PL7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prsentation des langages PL7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Structure logicielle PL7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Modules fonctionnels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 16 17 21 23 25 26 27 29 31 34 37 40 42 45 46 48 51 54 55 57 59 60 62 64
5

Chapitre 2

Description des objets langages PL7 . . . . . . . . . . . . . . . . . . . . 25


Prsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dfinition des principaux objets boolen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dfinition des principaux objets mots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adressage des objets bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Adressage des objets de modules dentres/sorties du TSX 37. . . . . . . . . . . . . Adressage des objets de modules dentres/sorties en rack . . . . . . . . . . . . . . . Adressage des objets langage de modules dports sur bus FIPIO . . . . . . . . . Adressage des objets langage lis au bus AS-i . . . . . . . . . . . . . . . . . . . . . . . . . Adressage des objets mots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rgle de recouvrements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objets de bloc fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objets PL7 de type tableau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objets indexs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objets Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Symbolisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objets prsymboliss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Chapitre 3

Mmoire utilisateur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Prsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Structure mmoire des automates Micro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Structure mmoire des automates Premium. . . . . . . . . . . . . . . . . . . . . . . . . . . . Description de la mmoire bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

35015366.01 07/2008

Description de la mmoire mots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Caractristiques de la mmoire des automates TSX 37 . . . . . . . . . . . . . . . . . . . 68 Caractristiques de la mmoire des automates TSX/PCX 57 10/15/20/25/26/28 70 Caractristiques de la mmoire des automates TSX/PCX 57 30/35/36 . . . . . . . 73 Caractristiques de la mmoire des automates TSX 57 453/4823 . . . . . . . . . . . 75

Chapitre 4

Modes de marche. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Prsentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Traitement sur coupure et reprise secteur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Traitement sur reprise chaud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Gestion du dmarrage froid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

Chapitre 5
5.1

Structure logicielle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Prsentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Description des tches. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Prsentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Prsentation de la tche matre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Description des sections et des sous-programmes . . . . . . . . . . . . . . . . . . . . . . . 90 Prsentation de la tche rapide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Prsentation des traitements vnementiels . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Structure monotche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Prsentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Structure logicielle monotche. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 Excution cyclique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 Excution priodique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 Contrle du temps de cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Structure multitche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Prsentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Structure logicielle multitche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 Squencement des tches dans une structure multitche . . . . . . . . . . . . . . . . 108 Affectation des voies dentres/sorties aux tches matre et rapide . . . . . . . . . 110 Echanges d'entres/sorties dans les traitements vnementiels . . . . . . . . . . . 112 Modules fonctionnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Structuration en modules fonctionnels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

5.2

5.3

5.4

Partie II Description des langages PL7 . . . . . . . . . . . . . . . . . . . . 117


Prsentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

Chapitre 6

Langage contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119


Prsentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 Prsentation gnrale du langage contacts . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Structure dun rseau de contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 Etiquette dun rseau de contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Commentaire dun rseau de contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Elments graphiques du langage contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Rgles de programmation dun rseau de contacts . . . . . . . . . . . . . . . . . . . . . 127

35015366.01 07/2008

Rgle de programmation des blocs fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 Rgles de programmation des blocs opration. . . . . . . . . . . . . . . . . . . . . . . . . 129 Excution dun rseau de contacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

Chapitre 7

Langage liste dinstructions . . . . . . . . . . . . . . . . . . . . . . . . . . 133


Prsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prsentation gnrale du langage liste dinstructions . . . . . . . . . . . . . . . . . . . . Structure dun programme liste dinstructions . . . . . . . . . . . . . . . . . . . . . . . . . . Etiquette dune phrase en langage liste dinstructions . . . . . . . . . . . . . . . . . . . Commentaire dune phrase en langage liste dinstructions. . . . . . . . . . . . . . . . Prsentation des instructions en langage liste dinstructions . . . . . . . . . . . . . . Rgle dutilisation des parenthses en langage liste dinstructions . . . . . . . . . Description des instructions MPS, MRD et MPP. . . . . . . . . . . . . . . . . . . . . . . . Principes de programmation des blocs fonction prdfinis . . . . . . . . . . . . . . . . Rgles dexcution dun programme liste dinstructions . . . . . . . . . . . . . . . . . . 133 134 135 136 137 138 142 145 147 149 151 152 153 154 155 156 157 159 162 163 165 167 168 169 170 171 175 176 176 177 178 180 182 184 184 185 186
7

Chapitre 8

Langage litteral structur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151


Prsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prsentation du langage littral structur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Structure dun programme en langage littral structur . . . . . . . . . . . . . . . . . . Etiquette dune phrase en langage littral structur . . . . . . . . . . . . . . . . . . . . . Commentaire dune phrase en langage littral structur. . . . . . . . . . . . . . . . . . Instructions sur objets bits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions arithmtiques et logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions sur tableaux et chane de caractres. . . . . . . . . . . . . . . . . . . . . . . Instructions de conversions numriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Instructions sur programme et instructions spcifiques . . . . . . . . . . . . . . . . . . Structure de contrle conditionnelle IF...THEN . . . . . . . . . . . . . . . . . . . . . . . . . Structure de contrle conditionnelle WHILE...END_WHILE . . . . . . . . . . . . . . . Structure de contrle conditionnelle REPEAT...END_REPEAT . . . . . . . . . . . . Structure de contrle conditionnelle FOR...END_FOR . . . . . . . . . . . . . . . . . . . Instruction de sortie de boucle EXIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rgles dexcution dun programme littral structur . . . . . . . . . . . . . . . . . . . .

Chapitre 9
9.1

Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Prsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prsentation gnrale du Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prsentation du Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Description des symboles graphiques du Grafcet. . . . . . . . . . . . . . . . . . . . . . . Description des objets spcifiques au Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . Possibilits du Grafcet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rgle de construction du Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Prsentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reprsentation du Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation des divergences et convergences OU . . . . . . . . . . . . . . . . . . . . . . .

9.2

35015366.01 07/2008

9.3

9.4

9.5

Utilisation des divergences et convergences ET . . . . . . . . . . . . . . . . . . . . . . . . 187 Utilisation des renvois . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188 Utilisation des liaisons orientes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 Commentaire Grafcet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 Programmation des actions et des conditions . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Prsentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Programmation des actions associes aux tapes . . . . . . . . . . . . . . . . . . . . . . 194 Programmation des actions lactivation ou la dsactivation. . . . . . . . . . . . . 196 Programmation des actions continues. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Programmation des rceptivits associes aux transitions . . . . . . . . . . . . . . . . 199 Programmation des rceptivits en langage contacts . . . . . . . . . . . . . . . . . . 201 Programmation des rceptivits en langage liste dinstructions . . . . . . . . . . . . 202 Programmation des rceptivits en langage littral structur . . . . . . . . . . . . . . 203 Macro-tapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Prsentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 Prsentation des macro-tapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205 Constitution dune macro-tape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 Caractristiques des macro-tapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 Section Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Prsentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Structure dune section Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 Description du traitement prliminaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211 Prpositionnement du Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212 Initialisation du Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 Remise zro du Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 Figeage du Grafcet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Remise zro des macro-tapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 Fonctionnement du traitement squentiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 Description du traitement postrieur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

Chapitre 10

Blocs fonction DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223


Prsentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223 Prsentation des blocs fonction DFB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Comment mettre en oeuvre un bloc fonction DFB. . . . . . . . . . . . . . . . . . . . . . . 226 Definition des objets des blocs fonction type DFB. . . . . . . . . . . . . . . . . . . . . . . 228 Dfinition des paramtres DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 Dfinition des variables DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 Rgle de codage des Types DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 Cration des instances de DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 Rgle dutilisation des DFB dans un programme. . . . . . . . . . . . . . . . . . . . . . . . 237 Utilisation dun DFB dans un programme en langage contacts . . . . . . . . . . . 239 Utilisation dun DFB dans un programme en langage liste dinstructions ou littral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241 Excution dune instance DFB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242 Exemple de programmation de bloc fonction DFB . . . . . . . . . . . . . . . . . . . . . . 243

35015366.01 07/2008

Index

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247

35015366.01 07/2008

10

35015366.01 07/2008

A propos de ce manuel

Prsentation
Objectif du document Champ d'application Avertissements lis au(x) produit(s) Commentaires utilisateur Envoyez vos commentaires l'adresse e-mail techpub@schneider-electric.com Ce manuel dcrit les langages de programmation des automates Micro, Premium et Atrium. La mise jour de cette publication prend en compte les fonctionnalits de PL7 V4.5. Elle permet nammoins de mettre en oeuvre les versions antrieures de PL7.

35015366.01 07/2008

11

A propos de ce manuel

12

35015366.01 07/2008

Description du logiciel PL7

I
Prsentation
Objet de cet intercalaire Contenu de cette partie Cet intercalaire presente le logiciel PL7. Il dcrit les notions lmentaires de base ncessaires la programmation des automates Micro et Premium. Cette partie contient les chapitres suivants :
Chapitre 1 2 3 4 5 Titre du chapitre Prsentation du logiciel PL7 Description des objets langages PL7 Mmoire utilisateur Modes de marche Structure logicielle Page 15 25 59 77 87

35015366.01 07/2008

13

Description du logiciel PL7

14

35015366.01 07/2008

Prsentation du logiciel PL7

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

Ce chapitre contient les sujets suivants:


Sujet Prsentation des logiciels PL7 Prsentation des langages PL7 Structure logicielle PL7 Modules fonctionnels Page 16 17 21 23

35015366.01 07/2008

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:

PL7 Micro PL7 Junior PL7 Pro

Logiciels PL7

Le tableau suivant montre les diffrences entre les 3 types de logiciels.


Services Programmation/Mise au point/ Exploitation Blocs fonction utilisateur Ecrans dexploitation Cration Utilisation Cration Utilisation Modules fonctionnels Bloc fonction DFB de diagnostic PL7 Micro M PL7 Junior M/P/A P/A M/P/A PL7 Pro M/P/A P/A P/A M/P/A M/P/A P/A P/A

Lgende: A = automates Atrium M = automates Micro P = automates Premium - = non disponible Conventions dcriture Dans la suite du document:

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

16

35015366.01 07/2008

Prsentation du logiciel PL7

Prsentation des langages PL7


Gnralits Le logiciel PL7 propose 4 langages de programmation:

langage contacts liste d'instructions littral structur Grafcet

Le tableau suivant donne lutilisation possible des langages en fonction des types dautomates.
Langage Langage contacts Liste d'instructions Littral structur Grafcet Automates Micro X X X X (except les macro-tapes) Automates Premium X X X 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:

des blocs fonction pr-dfinis (Temporisations, Compteurs,...), des fonctions mtiers (analogique, communication, comptage...), 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) ).

35015366.01 07/2008

17

Prsentation du logiciel PL7

Langage contacts

Le langage contacts (LD) est un langage graphique. Il permet la transcription de 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 %L100 %I1.0 (* Attente de schage*) %M12 %I1.7 %Q2.5

%TM4.Q %M17 %I1.10 %Q2.3 %M27 %TM0 IN TM Q MODE TON TB: 1 mn TMP: 9999 MODIF: Y %M25 %MW0.X OPERATE %MW15:=%MW18+500

%M2

%I1.4

SR2 C

F2

F3

P F4

N F5

X F6 F7 F8 F9 F10 F11

S F12

R S.F1

S.F2

OPER S.F3

COHP H S.F4

COHP V S.F5

S.F6

FB S.F7

F (...) S.F8

18

35015366.01 07/2008

Prsentation du logiciel PL7

Langage liste dinstructions

Le langage liste d'instructions (IL) est un langage "machine" boolen qui permet l'criture de traitements logiques et numriques. Exemple de programme en langage liste dinstructions
IL : MAST - SR1 ! %L0 : LD ANDN OR ( AND ) AND ST LD ANDN ANDN IN LD AND AND [ %MW15 := LD AND SR2 %I1.0 %M12 %TM4.Q %M17 %I1.7 %Q2.5 %I1.10 %Q2.3 %M27 %TM0 %TM0.Q %M25 %MW0:X5 %MW18+500] %I1.2 %I1.4

! %L5 :

! %L10:

Langage littral structur

Le langage littral structur (ST) est un langage de type "informatique" permettant 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;

35015366.01 07/2008

19

Prsentation du logiciel PL7

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 1 2 3 10 11 13

12

14

4 5

6 7

15

F2

F3

F4

F5

F6

F7

F8

F9

F10

F11

F12

20

35015366.01 07/2008

Prsentation du logiciel PL7

Structure logicielle PL7


Gnralits Le logiciel PL7 propose deux types de structure:

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

35015366.01 07/2008

21

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 Section en langage contacts Tche rapide FAST Section en littral Section en langage contacts traitements vnementiels

Sas (LD)

Alarm_sas (ST)

EVT0

Four_1 Sas (LD) CHART Sas (LD) Section en Grafcet

Surv_Sec (LD)

Alarm_Four (ST) Section en littral

Sas (LD)

Section en langage contacts Section en littral

Sous-programmes

SR0

Nettoyage (ST)

Sous-programmes

SR0

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.

22

35015366.01 07/2008

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 fonctionnelle La vue fonctionnelle en modules permet davoir une dcoupe par fonctions 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 MACHINE_DOSAGE Configuration Programme Tche Mast Tche Fast Evnements Types DFB Variables Tables danimation Dossier Ecrans dexploitation

Vue Fonctionnelle MACHINE_DOSAGE Md_march Programme Table danimation Procd Programme Table danimation Remplir Programme Table danimation Doser Programme Table danimation Mixer Programme Table danimation Vider Programme Table danimation

35015366.01 07/2008

23

Prsentation du logiciel PL7

Services associs la vue fonctionnelle

Les services dexploitation sont disponibles dans lune ou lautre vue. En particulier, par une seule commande, il est possible de forcer lexcution ou non dun module fonctionnel. Dans ce cas, toutes les sections rattaches au module fonctionnel sont automatiquement forces.

Export/import de modules fonctionnels

Vous pouvez exporter tout ou partie de la structure arborescente en modules fonctionnels. Dans ce cas, lensemble des sections de programme des diffrents niveaux de modules est export.

24

35015366.01 07/2008

Description des objets langages PL7

Prsentation
Objet de ce chapitre Contenu de ce chapitre Ce chapitre dcrit tous les objets des langages PL7. Ces objets sont utiliss en tant quoprandes dans les instructions. Ce chapitre contient les sujets suivants :
Sujet Dfinition des principaux objets boolen Dfinition des principaux objets mots Adressage des objets bits Adressage des objets de modules dentres/sorties du TSX 37 Adressage des objets de modules dentres/sorties en rack Adressage des objets langage de modules dports sur bus FIPIO Adressage des objets langage lis au bus AS-i Adressage des objets mots Rgle de recouvrements Objets de bloc fonction Objets PL7 de type tableau Objets indexs Objets Grafcet Symbolisation Objets prsymboliss Page 26 27 29 31 34 37 40 42 45 46 48 51 54 55 57

35015366.01 07/2008

25

Objets langages PL7

Dfinition des principaux objets boolen


Description
Bits Valeurs immdiates

Le tableau suivant dcrit les principaux objets boolens.


Description 0 ou 1 (False ou True) Exemples 0 Accs en criture _ Non Oui

Entres/sorties Ces bits sont les "images logiques" des tats lectriques des entres/ %I23.5 sorties. %Q51.2 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 Systme Blocs fonction Les bits internes permettent de mmoriser des tats intermdiaires durant lexcution du programme. Les bits systme %S0 %S127 surveillent le bon fonctionnement de lautomate ainsi que le droulement du programme application. Les bits de blocs fonction correspondent aux sorties des blocs fonction standard ou instance de DFB. Ces sorties peuvent tre soit cbles directement, soit exploites en tant qu'objet. Le logiciel PL7 donne la possibilit d'extraire l'un des 16 bits d'un objet mot. %M200 %S10 %TM8.Q

Oui Selon i Non

Extraits de mots Etapes et macro-tapes Grafcet

%MW10:X5

Selon type de mots Oui Oui

Les bits dtat permettent de connatre ltat dune tape, dune macro- %X21 tape ou encore dune tape de macro-tape. %X5.9

26

35015366.01 07/2008

Objets langages PL7

Dfinition des principaux objets mots


Description
Mots Valeurs immdiates Entres/ sorties

Le tableau suivant dcrit les principaux objets mots.


Description Ce sont des valeurs algbriques de format homogne avec celui des mots simple et double longueur (16 ou 32 bits), qui permettent d'affecter des valeurs ces mots. Ce sont les "images logiques" des valeurs lectriques des entres/sorties (exemple : entres/sorties analogiques). Ils sont rangs dans la mmoire de donnes et sont mis jour chaque scrutation de la tche dans laquelle ils sont configurs. Ils sont destins stocker des valeurs en cours du programme. Ils sont rangs lintrieur de lespace Donnes dans une mme zone mmoire. Exemples 2542 Accs en criture _

%IW23.5 %QW51.1

non oui

Internes Constants

%MW10 %MD45

oui oui oui (uniqueme nt par terminal) selon i

Ils mmorisent les constantes ou les messages alphanumriques. Leur %KW30 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. Ces mots assurent plusieurs fonctions : certains renseignent sur ltat du systme (temps de fonctionnement systme et application, ...). dautres permettent dagir sur lapplication (modes de marche, ...). Ces mots correspondent aux paramtres ou valeurs courantes des blocs fonction standard ou instance de DFB. Ils sont destins tre changs automatiquement sur toutes les stations connectes au rseau de communication. %SW5

Systme

Blocs fonction Communs Grafcet

%TM2.P %NW2.3

oui oui oui

Les mots Grafcet permettent de connatre les temps dactivit des tapes. %X5.T

35015366.01 07/2008

27

Objets langages PL7

Format des valeurs


Type Entier base 10 Taille

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

Simple longueur Double longueur

Entier base 2

Simple longueur Double longueur

Entier base 16

Simple longueur Double longueur

Flottant Lgende (1) bornes exclues

28

35015366.01 07/2008

Objets langages PL7

Adressage des objets bits


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

Syntaxe
Famille Symbole Type dobjet

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


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

X Numro i

Exemples :

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

35015366.01 07/2008

29

Objets langages PL7

Bits extrait de mots

Le logiciel PL7 permet d'extraire l'un des 16 bits des mots simple longueur. Le repre du mot est alors complt par le rang du bit extrait suivant la syntaxe ciaprs:
MOT :X j Position j= 0 15 rang du bit dans le mot.

Adresse du mot

Exemples :

%MW10:X4 = bit numro 4 du mot interne %MW10 %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

35015366.01 07/2008

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 :

du numro (adresse) du rack, de la position physique du module dans le bac, du numro de la voie du module.

Illustration

Ladressage est dfini de la manire suivante :


% I,Q,M,K X, W, D, F
Format

X
Position

i
N voie

r
Rang

Symbole Type dobjet

35015366.01 07/2008

31

Objets langages PL7

Syntaxe
Famille Symbole Type dobjet

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


Elment % I Q Valeurs Description Image de lentre physique du module, Image de la sortie physique du module, Ces informations sont changes de manire implicite chaque cycle de la tche laquelle elles sont attaches. Variable interne Ces informations de lecture ou dcriture sont changes la demande de lapplication. Constante interne Ces informations de configuration sont disponibles en lecture seulement. Boolen Pour les objets de type boolen, le X peut tre omis. Simple longueur. Double longueur. Flottant. Le format flottant utilis est celui de la norme IEEE Std 754-1985 (quivalent IEC 559). TSX 37-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 ciaprs).

K Format (taille) X W D F Position module x

16 bits 32 bits 32 bits 08 0 10

N voie

0 31 ou Numro de voie du module. MOD MOD : voie rserve la gestion du module et des paramtres communs toutes les voies. 0 127 ou ERR Position du bit dans le mot. ERR : indique un dfaut module ou voie.

Rang

Exemples
Objet %I1.5 %MW2.0.3 %I5.MOD.ERR

Le tableau ci-dessous prsente quelques exemples dadressage dobjets.


Description Voie dentre numro 5 du module dentres/sorties situ la position 1. Mot dtat de rang 3 de la voie 0 du module dentres/sorties situ la position 2. Information de dfaut du module dentres/sorties situ la position 5.

32

35015366.01 07/2008

Objets langages PL7

Cas des modules au format standard

Ils sont adresss comme 2 modules au 1/2 format superposs. Par exemple, un module de 64 E/S occupant les positions 5 et 6, est vu comme 2 modules 1/2 format :

un 1/2 module de 32 entres situ la position 5, 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 4S Numro de voie 03 8E 07 12E 0 11 Format standard 28E/S 0 15 (E) 0 11 (S) Adressage : Position/Numro de voie (x=position) x.0 x.3 x.0 x.7 x.0 x.11 x.0 x.15 (x+1).0 (x+1).11 32E 0 15 (E) 0 15 (E) x.0 x.15 (x+1).0 (x+1).15 32S 0 15 (S) 0 15 (S) x.0 x.15 (x+1).0 (x+1).15 64E/S 0 31 (E) 0 31 (S) x.0 x.31 (x+1).0 (x+1).31

Exemples
Objet %I3.6 %Q4.2

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

35015366.01 07/2008

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 :

du numro (adresse) du rack, de la position physique du module dans le rack, du numro de la voie du module.

Illustration

Ladressage est dfini de la manire suivante :


% I, Q, M, K X, W, D, F
Format

X
Rack

Y
Position

i
N voie

r
Rang

Symbole Type dobjet

34

35015366.01 07/2008

Objets langages PL7

Syntaxe
Famille Symbole Type dobjet

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


Elment % I Q Valeurs Description Image de lentre physique du module, Image de la sortie physique du module, Ces informations sont changes de manire automatique chaque cycle de la tche laquelle elles sont attaches. Variable interne Ces informations de lecture ou dcriture sont changes la demande de lapplication. Constante interne Ces informations de configuration sont disponibles en lecture seulement. Boolen Pour les objets de type boolen, cet lment peut tre omis. Simple longueur. Double longueur. Flottant. Le format flottant utilis est celui de la norme IEEE Std 754-1985 (quivalent IEC 559). TSX 5710/102/103/153, PMX 57102, PCX 571012). Autres processeurs. Numro de position dans le rack. 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). MOD : voie rserve la gestion du module et des paramtres communs toutes les voies. Position du bit dans le mot. ERR : indique un dfaut module ou voie.

K Format (taille) X W D F Adresse rack Position module x y

16 bits 32 bits 32 bits 0 ou 1 07 00 14 (1)

N voie Rang

i r

0 127 ou MOD 0 127 ou ERR

(1) : le nombre demplacements maximum ncessite lutilisation de 2 racks la mme adresse.

35015366.01 07/2008

35

Objets langages PL7

Exemples
Objet %MW2.0.3

Le tableau ci-dessous prsente quelques exemples dadressage dobjets.


Description Mot dtat de rang 3 de la voie 0 du module dentres TOR situ la position 2 du rack 0. Mot dtat de rang 3 de la voie 0 du module de sorties TOR situ la position 3 du rack 1. Information de dfaut du module dentres analogiques situ la position 2 du rack 1. Information de dfaut de la voie 3 du module de sorties analogiques situ la position 4 du rack 2. 1 0 Illustration

%MW103.0.3

%I102.MOD.ERR

P S Y 2 6 0 0

0 T S X 5 7 2 0 3

2 D S Y 0 8 R 5

o o p s

C o m

o o

%I204.3.ERR

0 P S Y 2 6 0 0

2 A E Y 8 0 0

3 D S Y 0 8 R 5

0 P S Y 2 6 0 0

4 A S Y 8 0 0

36

35015366.01 07/2008

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 :

du point de connexion, du type de module (base ou extension), 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
N voie

r
Rang

Symbole Type dobjet Format

Nde Adresse module module/voie et point de connexion

35015366.01 07/2008

37

Objets langages PL7

Syntaxe
Famille Symbole Type dobjet

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


Elment % I Q Valeurs Signification Image de lentre physique du module, Image de la sortie physique du module, Ces informations sont changes de manire automatique chaque cycle de la tche laquelle elles sont attaches. Variable interne Ces informations de lecture ou dcriture sont changes la demande de lapplication. Constante interne Ces informations de configuration sont disponibles en lecture seulement. Boolen Pour les objets de type boolen, le X peut tre omis. Simple longueur. Double longueur. Flottant. Le format flottant utilis est celui de la norme IEEE Std 754-1985 (quivalent IEC 559). Numro de position du processeur dans le rack. Numro de voie de la liaison FIPIO intgre dans le processeur. Numro de point de connexion. 0 : module de base, 1 : module dextension.

K Format (taille) X W D F Adresse module/ voie et point de connexion Position module N voie Rang p 2 c m i r

16 bits 32 bits 32 bits 0 ou 1 1 127 0 ou 1 0 127 ou MOD 0 255 ou ERR

MOD : voie rserve la gestion du module et des paramtres communs toutes les voies. ERR : indique un dfaut module ou voie.

38

35015366.01 07/2008

Objets langages PL7

Exemples

Le tableau ci-dessous prsente quelques exemples dadressage dobjets.


Objet %MW\0.2.1\0.5.2 %I\0.2.1\0.7 %Q\0.2.1\1.2 Signification 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. Bit image de lentre 7 du module de base dentres dportes situ au point de connexion 1 du bus FIPIO. 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.
Gestionnaire Fipio TSX 57253

TBX LEP 030

0 TBX DES 1622

1 TBX DSS 1622

170 FNT 110 01

0 170 AAI 030 00

TSX FPP 010

0 T CCX 17 20 F

35015366.01 07/2008

39

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 :

du numro (adresse) du rack o est positionn le coupleur, de la position physique du coupleur dans le rack, du numro (adresse) de lquipement esclave sur le bus AS-i.

Illustration

Ladressage est dfini de la manire suivante : % I ou Q \ xy.0


Rack/module/voie du TSX SAY 100

n
N esclave

i
Rang du bit

Symbole Type dobjet

Syntaxe
Famille Symbole Type dobjet

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


Elment % I Q Valeurs Description Image de lentre physique du module, Image de la sortie physique du module, Ces informations sont changes de manire automatique chaque cycle de la tche laquelle elles sont attaches. TSX 5710/102/103/153, PMX 57102, PCX 571012). Autres processeurs. Numro de position dans le rack. 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). Le coupleur TSX SAY 100 ne possde quune seule voie. Adresse physique de lesclave. Position du bit image de lentre ou de la sortie.

Adresse rack Position module

x y

0 ou 1 07 00 14 (1)

N voie N de lesclave Rang

0 n i

0 31 03

(1) : Le nombre demplacements maximum ncessite lutilisation dun rack dextension.

40

35015366.01 07/2008

Objets langages PL7

Exemple

Le tableau ci-dessous prsente quelques exemples dadressage dobjets.


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

P S Y 2 6 0 0

T S X 5 7 1 0 3

C o m m

o o

S A Y 1 0 0

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

35015366.01 07/2008

41

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. Ladressage des mots internes, constants et systme suit les rgles suivantes :
% Symbole M, K ou S Type dobjet B, W, D ou F Format i Numro

Illustration

Syntaxe
Famille Symbole Type dobjet

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


Elment % M Valeurs Description Mots internes destins stocker des valeurs en cours du programme. Ils sont rangs lintrieur de lespace donns dans une mme zone mmoire. 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. Mots systme (Voir Manuel de rfrence, Tome 2), ces mots assurent plusieurs fonctions : certains renseignent sur ltat du systme par lecture des mots %SWi (temps de fonctionnement systme et application, ...). dautres permettent dagir sur lapplication (modes de marche, ...).

42

35015366.01 07/2008

Objets langages PL7

Famille Format

Elment B W

Valeurs 8 bits 16 bits

Description Octet, ce format est exclusivement utilis pour les oprations sur chane de caractres. 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 0 1 1 1 11 10 9 8 0 1 1 1 7 6 5 4 0 0 1 1 3 2 1 0 0 1 0 0 Poids faible

Poids fort 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 0 1 0 0 1 1 1 1 11 10 9 8 0 0 1 1 1 1 1 0 7 6 5 4 0 0 1 1 0 1 0 1 3 2 1 0 0 1 0 0 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 :

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

35015366.01 07/2008

43

Objets langages PL7

Adressage des mots sur rseau

L'adressage des mots sur rseau est dcrit dans le manuel Mtier communication. 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

44

35015366.01 07/2008

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 :

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), le mot simple longueur %MWi et les octets %MBj et %MBj+1 (avec j=2 x i), le flottant %MFk et les mots simple longueur %MWk et %MWk+1.

Illustration

Cette illustration montre le recouvrement des mots internes.


%MW0 %MD0 %MW1 %MD1 %MD2 %MD3 %MWi %MWi+1 %MW2 %MW3 %MB5 %MB7 %MB4 %MB6 %MB3 %MB2 %MB1 %MB0

%MDi

%MWk %MFk %MWk+1

Exemples

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

35015366.01 07/2008

45

Objets langages PL7

Objets de bloc fonction


Gnralits Les blocs fonction mettent en oeuvre des objets bits et des mots spcifiques accessibles par programme. Lillustration suivante prsente un bloc fonction compteur/dcompteur.
%Ci R S CU CD %C.P:9999 D MODIF:Y F E

Exemple de bloc fonction

Bloc compteur/dcompteur

Objets bits

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

Objets mots

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

46

35015366.01 07/2008

Objets langages PL7

Liste des objets de blocs fonction accessibles par programme


Blocs fonctions Temporisateur

Le tableau suivant dcrit lensemble des objets de blocs fonction.

Symbole %TMi

Nb Maxi Nb Maxi Type Micro Premium dobjets 64 255 (128 par dfaut) 255 (64 par dfaut) Mot

Description Valeur courante Valeur de prslection

Adresse %TMi.V %TMi.P %TMi.Q %Ci.V %Ci.P %Ci.E

Accs criture non oui non non oui non non non non oui non oui oui non non oui non non non non oui non non

Bit Mot

Sortie temporisateur Valeur courante Valeur de prslection

Compteur/ Dcompteur

%Ci

32

Bit

Sortie dbordement (vide)

Sortie prslection atteinte %Ci.D Sortie dbordement (plein) %Ci.F Monostable %MNi 8 255 (32 par dfaut) 255 (4 par dfaut) Mot Valeur courante Valeur de prslection Bit Mot Sortie dbordement (vide) Accs au registre Sortie du registre Bit Sortie registre plein Sortie registre vide Programmateur cyclique %DRi 8 255 (8 par dfaut) Mot Numro de pas en cours Etats du pas j Temps dactivit du pas Bit Temporisateur srie 7 %Ti 64 255 (0 par dfaut) Mot %MNi.V %MNi.P %MNi.R %Ri.I %Ri.O %Ri.F %Ri.E %DRi.S %DRi.Wj %DRi.V

Registre mot

%Ri

Dernier pas dfini en cours %DRi.F Valeur courante Valeur de prslection %Ti.V %Ti.P %Ti.R %Ti.D

Bit

Sortie en cours Sortie temporisateur coul

Note : Le nombre total de temporisateurs %TMi + %Ti est limit 64 pour un Micro,et 255 pour un Premium.

35015366.01 07/2008

47

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 %M10:6 %M11

%M10:6
%M12 %M13 %M14 %M15

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

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

48

35015366.01 07/2008

Objets langages PL7

Tableaux de mots

Les tableaux de mots sont des suites de mots adjacents de mme type et de longueur dfinie : L. Exemple de tableaux mots : %KW10:5
%KW10 16 bits

%KW14

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

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

35015366.01 07/2008

49

Objets langages PL7

Chanes de caractres

Les chanes de caractres sont des suites d'octets adjacents de mme type et de 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 Mots internes Mots constants Adresse %MBi:L %KBi:L Exemple %MB10:8 %KB20:6 Accs en criture Oui Oui

Note : Lindice i doit tre pair.

50

35015366.01 07/2008

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 index En adressage index, ladresse directe de lobjet est complte dun 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 un mot interne %MWi un mot constant %KWi une valeur immdiate Automates Premium/ Atrium X X X Automates Micro 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.

35015366.01 07/2008

51

Objets langages PL7

Description des objets indexables

Le tableau suivant dfinit les objets qui peuvent tre indexs.


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

Note : Les valeurs maximum des index dpendent des types dobjets indexs. Pour les bits dentres/sorties TOR : 0<i+index<m (m tant le nombre maximum dentres/sorties du module) . 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 mots doubles

Ladresse relle = adresse directe du double mot index + 2 fois le contenu du mot index. Exemple : %MD6[%MW100] Si %MW100=10, le mot adress sera 6 + 2 x 10 -->%MD26.

52

35015366.01 07/2008

Objets langages PL7

Dbordement dindex

Il y a dbordement dindex ds que ladresse dun objet index dpasse les limites de la zone incluant ce mme type dobjet, cest--dire quand :

adresse objet + contenu de lindex infrieur la valeur zro, 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
mise 1 par le systme sur dbordement

Remis ltat 0
mise 0 par lutilisateur, aprs

dindex

modification de lindex

35015366.01 07/2008

53

Objets langages PL7

Objets Grafcet
Objets bits Le tableau suivant rcapitule tous les objets bits Gracet disponibles et dcrit leur rle.
Type %Xi %XMj %Xj.i %Xj.IN %Xj.OUT Description tat de l'tape i du graphe principal (Chart). tat de la macro-tape j du Grafcet. tat de l'tape i de la macro-tape j du Grafcet. tat de ltape d'entre de la macro-tape. 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 %Xi.Ti %Xj.i.T %Xj.IN.T %Xj.OUT.T %Xj.OUT Description temps d'activit de l'tape i du Gracet. temps d'activit de l'tape i de la macro-tape j du Gracet. 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. temps d'activit de ltape d'entre de la macro-tape. 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.

54

35015366.01 07/2008

Objets langages PL7

Symbolisation
Rle Les symboles permettent dadresser les objets langage PL 7, par des noms ou mnmoniques personnaliss. 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 utilisables Le tableau suivant fournit les caractres utilisables dans le cration des symboles.
Type alphabtiques majuscules alphabtiques minuscules numriques le caractre "_" Description "A Z" et lettres suivantes "DYp" "a z", et lettres accentues : yp chiffres de 0 9 (ils ne peuvent pas tre placs en dbut de symbole). il ne peut tre plac ni en dbut de symbole, ni en fin de symbole.

Syntaxe

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 symboles Les symboles sont dfinis et associs aux objets langages par l'diteur de variables, 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.

35015366.01 07/2008

55

Objets langages PL7

Objets symbolisables

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

si le mot %MW0 a pour symbole "Temprature", le tableau de mots %MW0:12 est symbolis par Temprature:12, 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 :

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, 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 uniquement symboliques

Les paramtres de blocs fonction DFB sont accessibles uniquement sous forme de symboles. Ces objets sont dfinis par la syntaxe suivante : Nom_DFB.Nom_paramtre Les lments ont la signification et les caractristiques suivantes.
Elment Nb de caractres maximum 32 8 Description

Nom_DFB Nom_paramtre

nom donn au bloc fonction DFB utilis. nom donn au paramtre de sorties ou la variable publique.

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

56

35015366.01 07/2008

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 caractres maximum 12 Description

Prfixe_utilisateur

symbole gnrique donn la voie par l'utilisateur partie du symbole correspondant l'objet bit ou mot de la voie donne par le systme

Suffixe_constructeur 20

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 %CH3.0 %ID3.0 %ID3.0.4 %I3.0 %I3.0.1 Type CH DWORD Compt_pieces_cur_meas DWORD Compt_pieces_capt EBOOL EBOOL Compt_pieces_enab_activ Compt_pieces_pres_done Mesure courante du compteur Valeur capture du compteur Validation active Prslection effectue Symbole Commentaire

35015366.01 07/2008

57

Objets langages PL7

58

35015366.01 07/2008

Mmoire utilisateur

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

Ce chapitre contient les sujets suivants :


Sujet Structure mmoire des automates Micro Structure mmoire des automates Premium Description de la mmoire bits Description de la mmoire mots Caractristiques de la mmoire des automates TSX 37 Caractristiques de la mmoire des automates TSX/PCX 57 10/15/20/25/26/ 28 Caractristiques de la mmoire des automates TSX/PCX 57 30/35/36 Caractristiques de la mmoire des automates TSX 57 453/4823 Page 60 62 64 66 68 70 73 75

35015366.01 07/2008

59

Mmoire utilisateur

Structure mmoire des automates Micro


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

mmoire bits mmoire mots

Mmoire bits

La mmoire bit est situe dans la mmoire RAM intgre au module processeur. Elle contient limage des 1280 objets bits. La mmoire mots (16 bits) supporte :

Rle de la mmoire mots

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

Structure sans carte mmoire dextension

Les donnes, programme et constantes sont supports par la mmoire RAM interne au module processeur. Le schma suivant dcrit la structure mmoire.
RAM interne Donnes Programme Constantes Flash EPROM interne Sauvegarde programme et constantes Sauvegarde %MW

La mmoire Flash EPROM intgre au module processeur peut tre utilise pour la sauvegarde :

du programme application (9 ou 15 Kmots en fonction du processeur), de 1000 mots internes %MWi.

60

35015366.01 07/2008

Mmoire utilisateur

Structure avec carte mmoire dextension

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

Donnes

Programme

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 mmoire Les mmoires RAM peuvent tre secourues par pile Cadmium-nickel:

supporte par le module processeur pour la mmoire bit et RAM interne, 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.

35015366.01 07/2008

61

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 mmoire mots La mmoire mots (16 bits) supporte :

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

Structure sans carte mmoire dextension

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

Structure avec carte mmoire dextension

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

Carte mmoire RAM ou Flash EPROM externe

Programme Constantes

62

35015366.01 07/2008

Mmoire utilisateur

Sauvegarde de la mmoire

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

35015366.01 07/2008

63

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 :

les bits dentres/sorties, 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 1 2 Description Le transfert de limage de ltat courant dans ltat antrieur. 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 :


ltat de forage F est mis ltat 1 ltat courant C est mis ltat : 1 si le forage 1 est demand 0 si le forage 0 est demand le forage soit supprim et le bit concern mis jour, le forage inverse soit demand, seul ltat courant est modifi.

Ces tats nvoluent plus jusqu ce que :


64

35015366.01 07/2008

Mmoire utilisateur

Conseils dutilisation des fronts montants ou descendants

Les instructions contacts front montant ou descendant ne fonctionnent correctement que si vous suivez les rgles ci-aprs:

dans tous les cas, traiter pour un mme objet : bit dentre : le contact de front dans la tche o le module dentre est chang, bit de sortie ou interne : traiter sa lecture et son criture lintrieur dune mme tche. 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. 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). ne pas tester le front d'entres/sorties utilises dans une tche vnementielle, dans une tche matre ou rapide 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

35015366.01 07/2008

65

Mmoire utilisateur

Description de la mmoire mots


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

Donnes, Programme, 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 Donnes application

La mmoire Donnes comprend les diffrentes zones suivantes :


Type de mots Systme Blocs fonction Description Nombre fixe 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 Taille dfinie par le nombre dclar en configuration. Correspond aux mots associs chaque module. Leur nombre dpend des modules configurs. 4 mots communs par station automate (disponibles uniquement si module de communication prsent et configur en change de mots communs).

Internes Entres/sorties Communs rseau

Mmoire Programme application

Cette zone comprend le code programme excutable, les informations graphiques (rseaux de contacts) et les commentaires programme. 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.

66

35015366.01 07/2008

Mmoire utilisateur

Mmoire constante application

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

35015366.01 07/2008

67

Mmoire utilisateur

Caractristiques de la mmoire des automates TSX 37


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

Taille de la mmoire mots

Le tableau suivant dcrit la rpartition mmoire des objets mots


Processeur TSX Cartouche RAM interne Donnes (%MWi) 3705/08 9 Kmots 0,5 Kmots(1) 3710 3721 32 Kmots 64 Kmots 84 Kmots 128 Kmots 148 Kmots 17,5 Kmots

14 Kmots 20 Kmots 52 Kmots

0,5 Kmots 0,5 17,5 Kmots 17,5 (1) Kmots (1) Kmots

Programme 100% boolen Langage LD Langage IL Langage ST 1,6 Ki 2 Ki 1,3 Ki 3,8 Ki 4,9 Ki 3,3 Ki 6,6 Ki 8,4 Ki 5,6 Ki 13,7 Ki 17,5 Ki 11,7 Ki 28,5 Ki 36,3 Ki 24,2 Ki 58,2 Ki 74,2 Ki 49,5 Ki

Programme 90% boolen Langage LD Langage IL Langage ST 1,1 Ki 1,4 Ki 1,1 Ki 3,1 Ki 3,8 Ki 2,9 Ki 5,4 Ki 6,6 Ki 5,1 Ki 11,8 Ki 14,3 Ki 11,1 Ki 24,7 Ki 30,0 Ki 23,3 Ki 50,1 Ki 61 Ki 47,3 Ki

Programme 65% boolen Langage LD Langage IL Langage ST Constantes (1) Lgende 0,9 Ki 1,0 Ki 1,0 Ki 128 mots 2,2 Ki 2,5 Ki 2,5 Ki 128 mots 4,0 Ki 4,6 Ki 4,6 Ki 128 mots 9,1 Ki 10,3 Ki 10,3 Ki 256 mots 18,9 Ki 21,3 Ki 21,3 Ki 512 mots 38,4 Ki 43,4 Ki 43,4 Ki 512 mots

68

35015366.01 07/2008

Mmoire utilisateur

Processeur TSX (1) Ki

3705/08

3710

3721

Taille par dfaut, peut tre tendue au dtriment de la taille programme application. Kinstructions (1024 instructions)

Le tableau suivant dcrit la rpartition mmoire des objets mots


Processeur TSX Cartouche RAM interne Donnes (%MWi) 37 22 20 Kmots 0,5 Kmots (1) 32 Kmots 52 Kmots 17,5 Kmots 64 Kmots 84 Kmots 17,5 Kmots 128 Kmots 148 Kmots 17,5 Kmots

Programme 100% boolen Langage LD Langage IL Langage ST 6,3 Ki 8,1 Ki 5,4 Ki 13,6 Ki 17,3 Ki 11,5 Ki 28,4 Ki 36,1 Ki 24,1 Ki 57,6 Ki 73,5 Ki 49 Ki

Programme 90% boolen Langage LD Langage IL Langage ST 5,2 Ki 6,3 Ki 4,9 Ki 11,6 Ki 14,2 Ki 11,0 Ki 24,5 Ki 29,8 Ki 23,2 Ki 50 Ki 60,8 Ki 47,2Ki

Programme 65% boolen Langage LD Langage IL Langage ST Constantes (1) Lgende (1) Ki Taille par dfaut, peut tre tendue au dtriment de la taille programme application. Kinstructions (1024 instructions) 3,9 Ki 4,4 Ki 4,4 Ki 128 mots 8,9 Ki 10,1 Ki 10,1 Ki 256 mots 18,8 Ki 21,2 Ki 21,2 Ki 512 mots 38,4 Ki 43,4 Ki 43,4 Ki 512 mots

Note : La commande AP/Bilan mmoire du logiciel PL7 permet de connaitre la rpartition mmoire de l'application dans la mmoire automate.

35015366.01 07/2008

69

Mmoire utilisateur

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


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

70

35015366.01 07/2008

Mmoire utilisateur

Taille de la mmoire mots

Le tableau suivant dcrit la rpartition mmoire des objets mots des automates TSX 57 1, TSX 57 2, TSX 57 223 et PCX 57 203.
TSXPCX 57 203/ 2623 TSX- 57 253/ 2823 TSX-PCX 57 203/ TSX 57 253/2623/ 2823 32K TSX-PCX 57 203/ TSX 57 253/2623/ 2823 64K 48K/64K 30,5K TSX-PCX 57 203/ TSX 57 253/2623/ 2823 128K 48K/64K 30,5K TSX-PCX 57 203/ TSX 57 253/2623/ 2823 256K 48K/64K 30,5K

Processeur TSX 57-103 - TSX 57 153

Cartouche

32K 32K

64K 32K 26 K

RAM interne 32K Donnes (%MWi)

48K/64K 48K/64K 48K/64K 1K (1) 1K (1) 30,5K

0,5 K (1) 26 K

Programme 100% boolen Langage LD 8,8 Ki 12,3 Ki 26,9 Ki 15,6 Ki 34,3 Ki 10,5 Ki 22,9 Ki 15,5 Ki 19,7 Ki 13,1 Ki 22,8 Ki 29,1 Ki 19,4 Ki 12,3 Ki 15,6 Ki 10,4 Ki 26,6 Ki 33,9 Ki 22,6 Ki 56,5 Ki 71,6 Ki 47,8 Ki 115,3 Ki 147,1 Ki 98,0 Ki

Langage IL 11,2 Ki Langage ST 7,6 Ki

Programme 90% boolen Langage LD 5,2 Ki 8,6 Ki 21,4 Ki 11,0 Ki 13,1 Ki 10,5 Ki 17,4 Ki 20,7 Ki 16,6 Ki 8,6 Ki 10,3 Ki 8,3 Ki 21,1 Ki 25,2 Ki 20,2 Ki 46,9 Ki 56,0 Ki 44,9 Ki 98,4 Ki 117,4 Ki 94,2 Ki

Langage IL 6,2 Ki Langage ST 5,0 Ki

10,3 Ki 25,6 Ki 8,3Ki 20,5 Ki

Programme 65% boolen Langage LD 3,6 Ki 6,7 Ki 6,8 Ki 7,9 Ki 256 mots 16,7 Ki 17,0 Ki 19,7 Ki 512 mots 8,1 Ki 8,3 Ki 9,6 Ki 256 mots 13,1 Ki 13,4 Ki 15,5 Ki 256 mots 6,6 Ki 6,8 Ki 7,8 Ki 256 mots 16,4 Ki 16,8 Ki 19,4 Ki 512 mots 36,6 Ki 37,5 Ki 43,3 Ki 512 mots 77,0 Ki 78,8 Ki 91,1 Ki 1024 mots

Langage IL 3,7 Ki Langage ST Constantes (1) Lgende (1) Ki K 4,2 Ki 128 mots

Taille par dfaut, peut tre tendue au dtriment de la taille programme application. Kinstructions Kmots

35015366.01 07/2008

71

Mmoire utilisateur

Note : 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). la commande AP/Bilan mmoire du logiciel PL7 permet de connaitre la rpartition mmoire de l'application dans la mmoire automate.

72

35015366.01 07/2008

Mmoire utilisateur

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


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

35015366.01 07/2008

73

Mmoire utilisateur

Taille de la mmoire mots


Processeur

Le tableau suivant dcrit la rpartition mmoire des objets mots des automates TSX 57 33, TSX 57 3623 et PCX 57 353.
TSX 57 303/3623 64K/80K 1K (1) TSX/ PCX57 353 64K/80K 1K (1) TSX 57 303/ 3623 / TSX/ PCX57 353 32K 80K/96K 30,5K TSX 57 303/ TSX 57 303/ TSX 57 303/ TSX 57 303/ 3623 / TSX/ 3623 / TSX/ 3623 / TSX/ 3623 / TSX/ PCX57 353 PCX57 353 PCX57 353 PCX57 353 64K 80K/96K 30,5K 128K 80K/96K 30,5K 256K 80K/96K 30,5K 384K 80K/96K 30,5K

Cartouche RAM interne Donnes (%MWi)

Programme 100% boolen Langage LD Langage IL Langage ST 28,8 Ki 36,7 Ki 24,5 Ki 30,1 Ki 38,4 Ki 25,6 Ki 12,3 Ki 15,6 Ki 10,4 Ki 26,6 Ki 33,9 Ki 22,6 Ki 56,2 Ki 71,6 Ki 47,8 Ki 115,3 Ki 147,1 Ki 98,0 Ki 150,5 Ki 150,5 Ki 148,3 Ki

Programme 90% boolen Langage LD Langage IL Langage ST 22,6 Ki 27,1 Ki 21,7 Ki 23,8 Ki 28,4 Ki 22,7 Ki 8,6 Ki 10,3 Ki 8,3 Ki 21,1 Ki 25,2 Ki 20,2 Ki 46,9 Ki 56,0 Ki 44,9 Ki 98,4 Ki 117,5 Ki 94,2 Ki 149,9 Ki 157,6 Ki 142,9 Ki

Programme 65% boolen Langage LD Langage IL Langage ST Constantes (1) Lgende (1) Ki K Taille par dfaut, peut tre tendue au dtriment de la taille programme application. Kinstructions Kmots 17,4 Ki 17,8 Ki 20,5 Ki 256 K 18,2 Ki 18,6 Ki 21,5 Ki 256 K 6,6 Ki 6,8 Ki 7,8 Ki 256 K 16,4 Ki 16,8 Ki 19,4 Ki 1024 K 36,6 Ki 37,5 Ki 43,3 Ki 1024 K 77,0 Ki 78,8 Ki 91,1 Ki 1024 K 117,4 Ki 120,1 Ki 138,8 Ki 1024 K

Note : 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). la commande AP/Bilan mmoire du logiciel PL7 permet de connaitre la rpartition mmoire de l'application dans la mmoire automate.

74

35015366.01 07/2008

Mmoire utilisateur

Caractristiques de la mmoire des automates TSX 57 453/4823


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

35015366.01 07/2008

75

Mmoire utilisateur

Taille de la mmoire mots


Processeur Cartouche RAM interne Donnes (%MWi)

Le tableau suivant dcrit la rpartition mmoire des objets mots des automates TSX 57 453/4823.
TSX 57 453/4823 96K 1K (1) 32K 176K 30,5K 64K 176K 30,5K 128K 176K 30,5K 256K 176K 30,5K 384K (2) 176K 30,5K 512K (2) 176K 30,5K 2*480K (2) 176K 30,5K

Programme 100% boolen Langage LD Langage IL Langage ST 37,5 Ki 47,8 Ki 31,9 Ki 12,3 Ki 15,6 Ki 10,4 Ki 26,6 Ki 33,9 Ki 22,6 Ki 56,2 Ki 71,6 Ki 47,8 Ki 115,3 Ki 147,1 Ki 98,0 Ki 150,5Ki 150,5 Ki 148,3 Ki 150,5 Ki 150,5 Ki 150,7 Ki 150,5 Ki 150,5 Ki 150,7 Ki

Programme 90% boolen Langage LD Langage IL Langage ST 30,2 Ki 36,0 Ki 28,9 Ki 8,6 Ki 10,3 Ki 8,3 Ki 21,1 Ki 25,2 Ki 20,2 Ki 46,9 Ki 56,0 Ki 44,9 Ki 98,4 Ki 117,5 Ki 94,2 Ki 149,9 Ki 157,6 Ki 142,9 Ki 157,6 Ki 157,6 Ki 157,8 Ki 157,6 Ki 157,6 Ki 157,8 Ki

Programme 65% boolen Langage LD Langage IL Langage ST Constantes (1) Lgende (1) (2) Ki K Taille par dfaut, peut tre tendue au dtriment de la taille programme application. Le nombre d'elements de programmation est atteint Kinstructions Kmots 23,2 Ki 23,7 Ki 27,4 Ki 256 mots 6,6 Ki 6,8 Ki 7,8 Ki 256 mots 16,4 Ki 16,8 Ki 19,4 Ki 1024 mots 36,6 Ki 37,5 Ki 43,3 Ki 77,0 Ki 78,8 Ki 91,1 Ki 117,4 Ki 120,1 Ki 138,8 Ki 1024 mots 157,8 Ki 161,3 Ki 171,3 Ki 157,8 Ki 161,3 Ki 171,3 Ki

1024 mots 1024 mots

1024 mots 1024 mots

Note : 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). La commande AP/Bilan mmoire du logiciel PL7 permet de connaitre la rpartition mmoire de l'application dans la mmoire automate.

76

35015366.01 07/2008

Modes de marche

4
Prsentation
Objet de ce chapitre Contenu de ce chapitre Ce chapitre traite du comportement du programme utilisateur sur Reprise chaud et dmarrage froid. Ce chapitre contient les sujets suivants :
Sujet Traitement sur coupure et reprise secteur Traitement sur reprise chaud Gestion du dmarrage froid Page 78 80 82

35015366.01 07/2008

77

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 Coupure dtecte

Sauvegarde Contexte OK

Non

Non

Oui

Carte mmoire identique Oui Excution normale du programme Reprise chaud

Non

Dmarrage froid

78

35015366.01 07/2008

Modes de marche

Fonctionnement

Le tableau ci-aprs dcrit les phases du traitement des coupures secteur.


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

Coupure de lalimentation sur un rack, autre que le rack 0

Toutes les voies de ce rack sont vues en erreur par le processeur mais les autres racks ne sont pas perturbs, les valeurs des entres en erreur ne sont plus rafrachies dans la mmoire application et sont mises 0 dans le cas d'un module 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.

35015366.01 07/2008

79

Modes de marche

Traitement sur reprise chaud


Cause dune reprise chaud Une reprise chaud peut tre provoque :

par une reprise secteur sans perte du contexte, par mise 1 par programme du bit systme %S1, depuis PL7 par terminal, 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 contexte application

Excution du programme TOP

Si %S1=1, traitement ventuel de la reprise chaud

Retour secteur

Auto-test de la configuration

Coupure dtecte

Mise 1 du bit %S1

Mise 0 du bit %S1

Mise jour des sorties

80

35015366.01 07/2008

Modes de marche

Fonctionnement

Le tableau ci-aprs dcrit les phases de rprise de lexcution du programme sur reprise chaud.
Phase 1 2 Description Lexcution du programme reprend partir de llment o a eu lieu la coupure secteur, sans mise jour des sorties. A la fin du cycle de reprise, le systme effectue :
linitialisation des files de messages et dvnements, lenvoi des paramtres de configuration tous les modules dentres/sorties

TOR et mtiers,
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 :
reprend en compte l'ensemble des modules d'entres, relance la tche matre avec le bit %S1 (reprise chaud) positionn 1, remet ltat 0 le bit %S1 la fin de ce premier cycle de la tche matre, ractive la tche rapide et les traitements vnementiels la fin de ce

premier cycle de la tche matre.

Note gnrale sur la reprise chaud

Note : Lorsquune reprise chaud est provoque soit par la mise 1 du bit systme %S1 soit par le bouton reprise chaud de lcran de mise au point de lautomate, le bit systme %S1 reste 1 pendant 2 cycles automate.

Traitement par programme de la reprise chaud Evolution des sorties

En cas de reprise chaud, si vous dsirez un traitement particulier vis--vis de l'application, vous devez crire le programme correspondant sur test de %S1 1 en dbut de programme de la tche matre. Ds la dtection de la coupure secteur, les sorties sont mises en position de repli :

soit elles prennent la valeur de repli, 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.

35015366.01 07/2008

81

Modes de marche

Gestion du dmarrage froid


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

Redmarrage aprs une coupure lectrique avec perte de contexte

82

35015366.01 07/2008

Modes de marche

Illustration

Le dessin ci-aprs dcrit un redmarrage froid.


Acquisition des entres Arrt de l'application de sauvegarde du contexte du processeur Restauration de l'alimentation lectrique

Excution du programme TOP

Si %S0=1, traitement ventuel du dmarrage froid

Auto-test de la configuration Faible puissance lectrique>coupure Non Oui Initialisation de lapplication

BOT

Mise 1 du bit %S0

Mise 0 du bit %S0

Mise jour des sorties

35015366.01 07/2008

83

Modes de marche

Opration

Le tableau ci-aprs dcrit les phases de redmarrage pour excuter un programme aprs redmarrage froid.
Phase 1 Description 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. Le systme effectue :
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 ; linitialisation des bits et des mots systme ; linitialisation des blocs fonction partir des donnes de configuration ; la dsactivation des tches, autres que la tche matre, jusqu' la fin du premier cycle de la tche matre ; le rglage de Grafcet sur les tapes initiales ; lannulation des forages ; 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 ; linitialisation des fichiers de messages et dvnements ; lenvoi des paramtres de configuration tous les modules dentres/sorties TOR et mtier.

Pour ce premier cycle de redmarrage, le systme effectue :


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 ; 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 ; active la tche rapide et les traitements vnementiels la fin de ce premier cycle de la tche matre.

Gestion du dmarrage froid pour chaque programme

Pour effectuer un traitement applicatif aprs un dmarrage froid de l'automate PL7, il est possible de tester par programme le bit %SW10:X0 (si %SW10:X0=0, il s'agit d'un redmarrage froid) .

84

35015366.01 07/2008

Modes de marche

Remarque sur le Dmarrage Froid

Lorsquun dmarrage froid est ffectu, soit par %S0 mis 1, soit par le bouton de dmarrage froid dans lcran de lautomate, le bit systme %S13 ne peut pas tre pass 1 et lautomate reste en marche. Leffet principal est linitialisation des variables de lapplication. Ds la dtection de la coupure lectrique, les sorties sont mises en position de repli :

Evolution des sorties

soit elles prennent la valeur de repli, 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.

35015366.01 07/2008

85

Modes de marche

86

35015366.01 07/2008

Structure logicielle

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

Ce chapitre contient les sous-chapitres suivants :


Souschapitre 5.1 5.2 5.3 5.4 Sujet Description des tches Structure monotche Structure multitche Modules fonctionnels Page 88 97 105 115

35015366.01 07/2008

87

Structure logicielle

5.1
Prsentation
Objet de ce souschapitre Contenu de ce sous-chapitre

Description des tches

Ce sous-chapitre dcrit la rle et le contenu de chacune des tches pouvant constitues un programme PL7. Ce sous-chapitre contient les sujets suivants :
Sujet Prsentation de la tche matre Description des sections et des sous-programmes Prsentation de la tche rapide Prsentation des traitements vnementiels Page 89 90 94 95

88

35015366.01 07/2008

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 sousprogrammes, p. 90), et de sous-programmes. L'excution de la tche matre peut tre choisie (en configuration) cyclique (voir Excution cyclique, p. 99) ou priodique (voir Excution priodique, p. 101). 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 POST (IL) Sous-programmes

Schage (LD) Nettoyage (ST)

SR0

35015366.01 07/2008

89

Structure logicielle

Description des sections et des sous-programmes


Prsentation des sections Les sections sont des entits autonomes de programmation. Les tiquettes de 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 :

langage contacts, liste dinstructions, littral structur, 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 sousprogrammes Les modules sous-programmes se programment aussi comme des entits spares soit en :

langage contacts, liste dinstructions, littral structur,

Les appels aux sous-programmes seffectuent dans les sections ou depuis un autresous-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.

90

35015366.01 07/2008

Structure logicielle

Exemple

Le dessin suivant donne lexemple de structure dune tche en sections et sousprogrammes. Mast + Sections Sas + Four_1 Prl Chart Post Schage Nettoyage +

SR SR0 SR1 SR2

35015366.01 07/2008

91

Structure logicielle

Caractristiques dune section

Le tableau suivant dcrit les caractristiques dune section.


Caractristique Nom Langage Tche Condition (optionnel) Description 24 caractres maximum Langage contacts, Liste dinstructions, Littral structur ou Grafcet Matre ou rapide Objets autoriss comme condition :
%M,%S,%X bit index,bits extrait de mots %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 Protection 250 caractres maximum. 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 Prliminaire Dsignation Caractristiques PRL Programm en Langage contacts LD, Liste dinstructions IL ou Littral structur ST. Il est excut avant le Grafcet. Dans les pages Grafcet, sont programmes des rceptivits associes aux transitions et des actions associes aux tapes ou aux tapes de macro-tapes. Programm en Langage contacts LD, Liste dinstructions IL ou Littral structur ST. Il est excut aprs le Grafcet.

Grafcet

CHART

Postrieur

POST

92

35015366.01 07/2008

Structure logicielle

Caractristiques dun sousprogramme

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


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

35015366.01 07/2008

93

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 tche rapide La priode de la tche rapide FAST est fixe en configuration, de 1 255 ms. Celleci 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 tche rapide Le mot systme %SW1 contient la valeur de la priode, il est initialis sur reprise 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 :

%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. %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 temps d'excution de la tche rapide

Les mots systme suivants permettent d'avoir des informations sur le temps de cycle :

%SW33 contient le temps d'excution du dernier cycle, %SW34 contient le temps d'excution du cycle le plus long, %SW35 contient le temps d'excution du cycle le plus court.

94

35015366.01 07/2008

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 Micro TSX 37-05/08/10 Micro TSX 37-21/22 Premium TSX/PCX 57-1 Premium TSX/PCX 57-2/3/4 Nombre de traitements 8 16 32 64 Dsignation EVT1 EVT8 EVT0 EVT15 EVT0 EVT31 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.

35015366.01 07/2008

95

Structure logicielle

Evnements de commande

Ce sont des vnements externes lis aux fonctions mtiers. Sur automates MIcro, les traitements vnementiels peuvent tre dclenchs par :

les entres 0 3 du module de position 1, sur front montant ou descendant, la ou les voies de comptage des modules de comptage, les voies de comptage du module 1 (si celui-ci est configur en compteur), la rception de tlgrammes dans un TSX 37-21/22 quip d'un module TSX FPP20.

Sur automates Premium , les traitements vnementiels peuvent tre dclenchs par:

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

Gestion des traitements vnementiels

Les traitements vnementiels peuvent tre globalement valids ou inhibs par le programme application, au travers du bit systme %S38. 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 traitements

Automates Micro TSX 37-05/08/10 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.

96

35015366.01 07/2008

Structure logicielle

5.2
Prsentation
Objet de ce souschapitre Contenu de ce sous-chapitre

Structure monotche

Ce sous-chapitre dcrit comment sexcute une application monotche.

Ce sous-chapitre contient les sujets suivants :


Sujet Structure logicielle monotche Excution cyclique Excution priodique Contrle du temps de cycle Page 98 99 101 104

35015366.01 07/2008

97

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. 89). 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) :

cyclique (voir Excution cyclique, p. 99) ou priodique (voir Excution priodique, p. 101)

98

35015366.01 07/2008

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 programme T.I. %I %Q T.I. %I

Traitement du programme %Q

Cycle n

Cycle n+1

Description des diffrentes phases

Le tableau ci-aprs dcrit les phases de fonctionnement.


Repre T.I Phase Traitement interne Description Le systme ralise implicitement la surveillance de l'automate (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 %Q

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 programme Excution du programme application, crit par l'utilisateur,

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.

35015366.01 07/2008

99

Structure logicielle

Mode de fonctionnement

Automate en RUN, le processeur effectue dans l'ordre le traitement interne, l'acquisition des entres, le traitement du programme application et la mise jour des sorties. Automate en STOP, le processeur effectue :

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

Illustration

Lillustration suivante montre les cycles de fonctionnement.

Traitement interne

Acquisition des entres RUN Traitement du programme STOP

Mise jour des sorties

Contrle du cycle

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

100

35015366.01 07/2008

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 programme T.I. %I Cycle n %Q T.I. T.I. %I

Traitement du programme %Q T.I.

Cycle n+1

Description des diffrentes phases

Le tableau ci-aprs dcrit les phases de fonctionnement.


Repre T.I Phase Traitement interne Description Le systme ralise implicitement la surveillance de l'automate (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 %Q

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 programme Excution du programme application, crit par l'utilisateur,

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.

35015366.01 07/2008

101

Structure logicielle

Mode de fonctionnement

Automate en RUN, le processeur effectue dans l'ordre le traitement interne, l'acquisition des entres, le traitement du programme application et la mise jour des sorties.

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. 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. le traitement interne, l'acquisition des entres, et suivant la configuration choisie : mode repli : les sorties sont mis en position de "repli" , mode maintien : les sorties sont maintenues leur dernire valeur.

Automate en STOP, le processeur effectue :


102

35015366.01 07/2008

Structure logicielle

Illustration

Lillustration suivante montre les cycles de fonctionnement.

Lancement de la priode

Traitement interne

Acquisition des entres RUN Traitement du programme STOP

Mise jour des sorties

Traitement interne

Fin de priode

Contrle du cycle

Deux contrles sont effectus :


dbordement de priode (voir Contrle du temps de cycle, p. 104), par chien de garde (voir Contrle du temps de cycle, p. 104),

35015366.01 07/2008

103

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). Dans le cas de dbordement, l'application est dclare en dfaut, ce qui provoque l'arrt immdiat de l'automate.

Chien de garde logiciel (fonctionnement priodique ou cyclique)

sur le Micro, la mise 0 de la sortie alarme %Q2.0 si elle a t configure, sur le Premium, la mise 0 du relais alarme sur l'alimentation

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 fonctionnement priodique

En fonctionnement priodique, un contrle supplmentaire permet de dtecter un dpassement de priode :


%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. %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 temps d'excution de la tche matre

Les mots systme suivants permettent d'avoir des informations sur le temps de cycle :

%SW30 contient le temps d'excution du dernier cycle. %SW31 contient le temps d'excution du cycle le plus long, %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.

104

35015366.01 07/2008

Structure logicielle

5.3
Prsentation
Objet de ce souschapitre Contenu de ce sous-chapitre

Structure multitche

Ce sous-chapitre dcrit comment sexcute une application mutlitche.

Ce sous-chapitre contient les sujets suivants :


Sujet Structure logicielle multitche Squencement des tches dans une structure multitche Affectation des voies dentres/sorties aux tches matre et rapide Echanges d'entres/sorties dans les traitements vnementiels Page 106 108 110 112

35015366.01 07/2008

105

Structure logicielle

Structure logicielle multitche


Description La structure en tches d'une telle application est la suivante :
Tche Matre Rapide Evnementielle Dsignation MAST FAST EVTi Description Toujours prsente qui peut tre cyclique ou priodique. Optionnelle qui est toujours priodique. 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

106

35015366.01 07/2008

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 Sas (LD) Four_1 (Grafcet) FAST Alarm_Sas (LD) Surv_Sec (LD) Alarm_Four (ST) PRL (LD) CHART POST (IL) SR0 Schage (LD) Nettoyage (ST) SR0 Alarm_Nettoyage (ST) EVT0

35015366.01 07/2008

107

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

Description du squencement des tches

Le dessin suivant illustre le squencement des tches dun traitement multitche comportant une tche matre cyclique, une tche rapide de priode 20ms et un traitement vnementiel.
E v ne me nts Rapid e Ma t re Sy s t m e ET ETS ETS ETS E E TS ETS

TS 20 ms

ET 2 0 ms

TS 2 0 ms

T 20 ms

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

108

35015366.01 07/2008

Structure logicielle

Contrle des tches

L'excution des tches rapide et vnementielles peut tre contrle par programme travers l'utilisation des bits systme :

%S30 permet d'activer ou pas la tche matre MAST. %S31 permet d'activer ou pas la tche rapide FAST. %S38 permet d'activer ou pas les traitements vnementiels EVTi.

35015366.01 07/2008

109

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 :

entres 0 7 affectes la tche MAST, entres 8 15 affectes la tche FAST, sorties 0 7 affectes la tche MAST, sorties 8 15 affectes la tche FAST.

Modules de comptage

Chaque voie d'un module de comptage peut tre affecte indiffremment la tche MAST ou FAST. Exemple : pour un module de comptage 2 voies, il est possible d'affecter :

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

110

35015366.01 07/2008

Structure logicielle

Modules analogiques

Les voies des modules d'entres analogiques du Micro sont obligatoirement 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 :

les voies 0 et 1 la tche MAST et, 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.

35015366.01 07/2008

111

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 1 2 3 4 5 Description 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 Toutes les entres associes la voie qui a provoqu l'vnement sont acquises automatiquement. Toutes les entres utilises par l'utilisateur dans le traitement EVTi sont acquises. Le traitement vnementiel est excut. Il doit tre le plus court possible. 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.

112

35015366.01 07/2008

Structure logicielle

Rgle de programmation

Rgle gnrale : 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 DEY16FK, TSX DMY28FK ou TSX DMY28RFK: 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:

%IWxy.i:X0 = 1 --> front montant, %IWxy.i:X1 = 1 --> front descendant. les modules d'entres analogiques qui ne peuvent tre utiliss que dans la tche MAST, ne doivent pas tre changs dans un traitement vnementiel. 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).

Sur les automates Micro :


Performances

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

32 changes 8 changes 4 changes

128 changes 16 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).

35015366.01 07/2008

113

Structure logicielle

Note : 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. 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 nombre d'vnements traits

Le mot systme %SW48 donne le nombre d'vnements traits. Ce mot est initialis 0 sur dmarrage froid puis incrment par le systme lors du lancement d'un vnement. Ce mot est modifiable par l'utilisateur. Le bit systme %S39 signale la perte d'vnement.

114

35015366.01 07/2008

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. Un module fonctionnel est dfini par les attributs suivants :

Structure

nom court : 8 caractres (exemple : TR371) nom long : 16 caractres (exemple : Avance/Recule pour BT371) 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

35015366.01 07/2008

115

Structure logicielle

Description des lments dun module fonctionnel

Le tableau dcrit le rle de chacun des lments :


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

Tables danimation Mdm1

Limites dutilisation

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

116

35015366.01 07/2008

Description des langages PL7

II
Prsentation
Objet de cet intercalaire Contenu de cette partie Cet intercalaire dcrit les langages de programmation des automates Micro et Premium. Cette partie contient les chapitres suivants :
Chapitre 6 7 8 9 10 Titre du chapitre Langage contacts Langage liste dinstructions Langage litteral structur Grafcet Blocs fonction DFB Page 119 133 151 175 223

35015366.01 07/2008

117

Langages PL7

118

35015366.01 07/2008

Langage contacts

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

Ce chapitre contient les sujets suivants :


Sujet Prsentation gnrale du langage contacts Structure dun rseau de contacts Etiquette dun rseau de contacts Commentaire dun rseau de contacts Elments graphiques du langage contacts Rgles de programmation dun rseau de contacts Rgle de programmation des blocs fonction Rgles de programmation des blocs opration Excution dun rseau de contacts Page 120 121 122 123 124 127 128 129 130

35015366.01 07/2008

119

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 rseau de contacts Lcran suivant prsente un rseau de contacts PL7.
1 2
LD : MAST - CHART %L100 %I1.0 (* Attente de schage*) %M12 %I1.7 %Q2.5

%TM4.Q %M17 %I1.10 %Q2.3 %M27 %TM0 IN TM Q MODE TON TB: 1 mn TMP: 9999 MODIF: Y %M25 %MW0.X OPERATE %MW15:=%MW18+500

%M2

%I1.4

SR2 C

F2

F3

P F4

N F5

X F6 F7 F8 F9 F10 F11

S F12

R S.F1

S.F2

OPER S.F3

COHP H S.F4

COHP V S.F5

S.F6

FB S.F7

F (...) S.F8

Composition dun rseau de contacts

Ce tableau dcrit les constituants dun rseau de contacts.


Repre 1 2 3 Elment Etiquette Commentaire Elments graphiques Fonction Repre un rseau de contacts (optionnel). Renseigne un rseau de contacts (optionnel). Ils reprsentent :
les entres/sorties de lautomate (boutons-poussoirs,

dtecteurs, relais, voyants...)


les fonctions dautomatismes (temporisateurs,

compteurs...,),
les oprations arithmtiques, logiques et spcifiques, les variables internes de lautomate.

120

35015366.01 07/2008

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. Le dessin ci-aprs dcrit la structure dun rseau de contacts.
1 1 2 3 4 5 6 7 8 9 10 11 . Zone action Zone test Barre de potentiel 2 3 4 5 6 7 8 9 10 11

Illustration

Description dun rseau de contacts

Un rseau de contacts est compos dun ensemble dlments graphiques disposs sur une grille de :

16 lignes maximum et 11 colonnes (pour automates Premium), 7 lignes maximum et 11 colonnes (pour automates Micro). la zone test, dans laquelle figurent les conditions ncessaires une action la zone action, qui applique le rsultat conscutif un enchanement de test.

Il est rparti en deux zones :


35015366.01 07/2008

121

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. 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.

Syntaxe

%M20

%L245

Etiquette

%L245 %Q2.3 %M155

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).

122

35015366.01 07/2008

Langage contacts

Commentaire dun rseau de contacts


Gnralits Le commentaire facilite linterprtation du rseau auquel il est affect, mais nest pas obligatoire. Le commentaire est intgr au rseau et comprend 222 caractres alphanumriques au maximum, encadrs de part et d'autre par les caractres (* et *). Le dessin ci-dessous repre la position du commentaire.
Zone commentaire

Syntaxe

Illustration

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

35015366.01 07/2008

123

Langage contacts

Elments graphiques du langage contacts


Gnralits Contacts Les lments graphiques sont les instructions du langage 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 Contact fermeture Contact ouverture Contact dtection de front montant Contact dtection de front descendant Graphisme Fonctions Contact passant quand lobjet bit qui le pilote est ltat 1. Contact passant quand lobjet bit qui le pilote est ltat 0. Front montant : dtection du passage de 0 1 de lobjet bit qui le pilote. Front descendant : dtection du passage de 1 0 de lobjet bit qui le pilote.

Elments de liaison

Les lments graphiques de liaison permettent de relier les lments graphiques de test et daction.
Dsignation Connexion horizontale Connexion verticale de potentiel Drivation courtcircuit Graphisme Fonctions Permet de relier en srie les lments graphiques de test et daction entre les deux barres de potentiel. Permet de relier en parallle les lments graphiques de test et daction. Permet de relier 2 objets au travers de plusieurs connexions.

124

35015366.01 07/2008

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 Bobine directe Graphisme Fonctions Lobjet bit associ prend la valeur du rsultat de la zone test. Lobjet bit associ prend la valeur inverse du rsultat de la zone test. Lobjet bit associ est mis 1 lorsque le rsultat de la zone test est 1. Lobjet bit associ est mis 0 lorsque le rsultat de la zone test est 1. Permet un branchement un rseau tiquet, amont ou aval. Les sauts ne sont effectifs quau sein d'une mme entit de programmation (programme principal, sousprogramme,...). Lexcution dun saut provoque : larrt de la scrutation du rseau en cours, lexcution du rseau tiquet demand, la non scrutation de la partie du programme situe entre laction de saut et le rseau dsign. Propose en langage Grafcet, utilise lors de dise la programmation des rceptivits associes aux transistions provoque le passage l'tape suivante. Permet un branchement en dbut de sousprogramme lorsque le rsultat de la zone de test sousprogramme est 1. L'excution d'un appel un sous-programme provoque : larrt de la scrutation du rseau en cours, lexcution du sous-programme, la reprise de la scrutation du rseau interrompu. Rserve au sous-programme SR, permet le retour au module appelant lorsque le rsultat de la zone de test est 1. Provoque l'arrt de l'excution du programme lorsque le rsultat de la zone de test est 1.

Bobine inverse

Bobine denclenchement Bobine de dclenchement Saut conditionnel un autre rseau (JUMP)

S R

->>%Li

Bobine dise

#
Bobine appel un sous-programme (CALL)

Retour de sousprogramme

<RETURN>

Arrt programme

<HALT>

35015366.01 07/2008

125

Langage contacts

Blocs fonction standard

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

Blocs fonction DFB

Les lments graphiques des blocs fonction DFB se programment en zone test et occupent une dimension d'une hauteur de 16 lignes maximum et une largeur 3 colonnes.
Dsignation Blocs programmables Graphisme Fonctions Chacun des blocs fonctions DFB utilise des 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 Bloc comparaison vertical Graphisme Fonctions Permet la comparaison de 2 oprandes, suivant le rsultat, la sortie correspondante passe 1. Dimension : 2 colonnes/4 lignes Permet la comparaison de 2 oprandes, la sortie passe 1 lorsque le rsultat est vrifi (un bloc peut contenir jusqu' 4096 caractres). Dimension : 2 colonnes/1 ligne Ralise les oprations arithmtiques, logiquesfait appel la syntaxe du langage littral structur. (Un bloc peut contenir jusqu' 4096 caractres). Dimension : 4 colonnes/1 ligne

Bloc comparaison horizontal

Bloc Opration

126

35015366.01 07/2008

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. Les lments graphiques simples de test et daction occupent chacun une cellule au 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 :

Rgles de programmation

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

Exemple de rseau de contacts

Lcran suivant prsente un exemple de rseau de contacts.

35015366.01 07/2008

127

Langage contacts

Rgle de programmation des blocs fonction


Gnralits Les blocs fonction standard se positionnent dans la zone test des rseaux de contacts. Quel que soit le type de bloc fonction utilis, il doit obligatoirement tre reli en entre la barre de potentiel gauche, en direct ou travers dautres lments graphiques.

Rgles de programmation des blocs fonction

sorties "en lair" : il nest pas ncessaire de relier dautres lments graphiques les sorties des blocs fonction, 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 rseau de contacts Lillustration suivante prsente un exemple dun rseau de contacts contenant 2 blocs fonction.

128

35015366.01 07/2008

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. Quel que soit le type de bloc opration utilis, il doit obligatoirement tre reli en entre la barre de potentiel gauche, en direct ou travers dautres lments graphiques. Comme pour les lments graphiques du type contacts, il est possible de raliser des combinaisons de blocs fonction et opration. Lillustration suivante prsente un exemple dun rseau de contacts contenant 2 blocs de comparaison et un bloc opration.
%TM10 %MW1>100 %I1.2 %MW2>500 IN Q TYP:TP TB:100ms TM.P:200 MODIF:Y

Rgles de programmation des blocs opration

Exemple de blocs opration

%I3.6

%Q6.3

%TM2.P:=3450

35015366.01 07/2008

129

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). Le rseau de contacts suivant est compos de 3 rseaux connexes.
Rseau connexe 2 Rseau connexe 1

Illustration de rseaux connexes

Rseau connexe 3

Rgle dexcution de rseaux connexes

Le premier rseau connexe valu est celui dont le coin gauche est situ le plus en haut gauche. 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.

130

35015366.01 07/2008

Langage contacts

Excution des lments dans un rseau connexe

Le tableau suivant dcrit lordre dexcution des lments dans un rseau connexe..
Phase 1 Description Le systme value l'tat logique de chaque contact, en fonction de : la valeur courante des objets internes de l'application, l'tat des entres des modules d'entres/sorties acquis en dbut de cycle Le systme excute les traitements associs aux fonctions, aux blocs fonctions, et aux sous-programmes, 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), 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>,

2 3 4

Exemple 1 : illustration

Le dessin suivant visualise lordre dexcution des lments graphiques.

Exemple 1 : fonctionnement

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

35015366.01 07/2008

131

Langage contacts

Exemple 2 : illustration

Le dessin suivant visualise lordre dexcution des lments graphiques.

Exemple 2 : fonctionnement

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

132

35015366.01 07/2008

Langage liste dinstructions

7
Prsentation
Gnralits Contenu de ce chapitre Ce chapitre dcrit les rgles de programmation en langage liste dinstructions. Ce chapitre contient les sujets suivants :
Sujet Prsentation gnrale du langage liste dinstructions Structure dun programme liste dinstructions Etiquette dune phrase en langage liste dinstructions Commentaire dune phrase en langage liste dinstructions Prsentation des instructions en langage liste dinstructions Rgle dutilisation des parenthses en langage liste dinstructions Description des instructions MPS, MRD et MPP Principes de programmation des blocs fonction prdfinis Rgles dexcution dun programme liste dinstructions Page 134 135 136 137 138 142 145 147 149

35015366.01 07/2008

133

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. Lillustration suivant prsente un programme liste dinstructions PL7 et le dtail dune instruction.. !%L0: LD ANDN OR( AND ) AND ST !%L2: LD %I3.5 %I1.0 %M12 %TM4.Q %M17 %I3.7 %Q2.5

Illustration dun programme

LD

%I1.0

Code instruction

Oprande

Composition dune instruction

Ce tableau dcrit les constituants dune instruction.


Elment Code instruction Fonction Le code instruction dtermine lopration excuter. Il existe 2 types de codes instructions : test, dans laquelle figurent les conditions ncessaires une action (ex : LD, AND, OR...), action, qui sanctionne le rsultat conscutif un enchanement de test. (ex : ST, STN, R, ...). Une instruction agit sur un oprande. Cet oprande peut tre :
une entre/sortie de lautomate (boutons-poussoirs, dtecteurs,

Oprande

relais, voyants...),
une fonctions dautomatisme (temporisateurs, compteurs...), une opration arithmtique et logique ou une opration de transfert, une variable interne de lautomate.

134

35015366.01 07/2008

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. Lillustration suivante prsente une phrase liste dinstructions PL7. !(*Attente de schage*) %L2 : LD %I1.0 AND %M10 ST %Q2.5
1 2 3

Exemple de phrase

Description dune phrase

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

35015366.01 07/2008

135

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. Cette tiquette a la syntaxe suivante : %Li avec i compris entre 0 et 999. Elle se positionne en dbut dune phrase. Le programme suivant illustre lutilisation dune tiquette. %L0 : LD JMPC %M40 %L10

Syntaxe

Illustration

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

Etiquette

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.

136

35015366.01 07/2008

Langage liste dinstructions

Commentaire dune phrase en langage liste dinstructions


Gnralits Le commentaire facilite linterprtation dune phrase auquel il est affect. Il est optionnel. 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 *). Lillustration ci-aprs repre la position du commentaire dans une phrase. !(*Attente de schage*) %L2 : LD %I1.0 AND %M10 ST %Q2.5 Commentaire

Syntaxe

Illustration

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.

35015366.01 07/2008

137

Langage liste dinstructions

Prsentation des instructions en langage liste dinstructions


Gnralits Le langage liste dinstructions comporte des instructions :

de test daction sur bloc fonction numriques

Instructions de test

Le tableau suivant dcrit les instructions de test du langage liste dinstructions..


Dsignation LD LDN LDR
P

Graphisme quivalent

Fonctions Le rsultat boolen est gal ltat de loprande. Le rsultat boolen est gal ltat inverse de loprande. Le rsultat boolen passe 1 la dtection du passage de 0 1 de loprande (front montant). Le rsultat boolen passe 1 la dtection du passage de 1 0 de loprande (front descendant). Le rsultat boolen est gal au Et logique entre le rsultat boolen de linstruction prcdente et ltat de loprande. Le rsultat boolen est gal au Et logique entre le rsultat boolen de linstruction prcdente et ltat inverse de loprande.

LDF
N

AND

ANDN

ANDR
P

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

ANDF
N

OR

ORN

Le rsultat boolen est gal au Ou logique entre le rsultat boolen de linstruction prcdente et ltat inverse de loprande.

138

35015366.01 07/2008

Langage liste dinstructions

Dsignation ORR

Graphisme quivalent

Fonctions Le rsultat boolen est gal au Ou logique entre le rsultat boolen de linstruction prcdente, et la dtection dun front montant de loprande (1=front montant). Le rsultat boolen est gal au Et logique entre le rsultat boolen de linstruction prcdente et ltat de loprande., et la dtection dun front descendant de loprande (1=front descendant). Et logique (8 niveaux de parenthses)

ORF
N

AND(

OR(

Ou logique (8 niveaux de parenthses)

XOR, XORN, XORR, XORF MPS MRD MPP

Ou exclusif Aiguillage vers des bobines.

Ngation

35015366.01 07/2008

139

Langage liste dinstructions

Instructions daction

Le tableau suivant dcrit les instructions de test du langage liste dinstructions.


Dsignation ST Graphisme Fonctions Loprande associ prend la valeur du rsultat de la zone test. Loprande associ prend la valeur inverse du rsultat de la zone test. Loprande associ est mis 1 lorsque le rsultat de la zone test est 1. Loprande associ est mis 0 lorsque le rsultat de la zone test est 1. Permet un branchement inconditionnel une phrase tiquete, amont ou aval. Permet un branchement conditionn un rsultat boolen 1 , une phrase tiquete amont ou aval. Permet un branchement conditionn un rsultat boolen 0 , une phrase tiquete amont ou aval. Branchement en dbut de sous-programme. Retour de sous-programme. Retour de sous-programme conditionn un rsultat boolen 1. Retour de sous-programme conditionn un rsultat boolen 0. Fin de programme. Fin de programme conditionn un rsultat boolen 1. Fin de programme conditionn un rsultat boolen 0.

STN

S
R

R
JMP JMPC JMPCN SRn RET RETC RETCN END ENDC ENDCN -

Instruction sur bloc fonction

Le tableau suivant dcrit les instructions de test du langage liste dinstructions..


Dsignation Blocs Temporisateur, Compteur, Monostable, Registre, Programmateur cyclique Graphisme Fonctions Pour chacun des blocs fonction standards, il existe des instructions permettant de piloter le bloc. Une forme structure permet de cbler directement les entres/sorties des blocs.

140

35015366.01 07/2008

Langage liste dinstructions

Instructions numriques

Le tableau suivant dcrit les instructions de test du langage liste dinstructions.


Dsignation Elment de test Instructions LD[.....] AND[.....] OR[.....] [.....] Fonctions Permet la comparaison de 2 oprandes, la sortie passe 1 lorsque le rsultat est vrifi. Exemple : LD[%MW10<1000] Rsultat 1 lorsque %MW10<1000. 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.

Elment daction

35015366.01 07/2008

141

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 AND OR ST %I1.0 %I1.1 %I1.2 %Q2.0

LD AND( OR ) ST

%I1.0 %I1.1 %I1.2 %Q2.0

Exemple : OR(

Le programme suivant illustre lutilisation de la parenthse. LD AND OR(N AND ) ST %I1.0 %I1.1 %I1.2 %I1.3 %Q2.0

142

35015366.01 07/2008

Langage liste dinstructions

Association des parenthses des modificateurs

Les "modificateurs" suivants peuvent tre associs aux parenthses.


Code N F R [ Rle Ngation Front descendant (Falling edge) Front montant (Rising edge) Comparaison Exemple AND(N AND(F OR(R OR([%MW0>100]

35015366.01 07/2008

143

Langage liste dinstructions

Imbrication de parenthses

Il est possible dimbriquer jusqu 8 niveaux de parenthses. Les rgles ci-aprs doivent tre suivies :

Chaque parenthse ouverte doit tre imprativement referme 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, 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 AND( OR(N AND ) ) ST %I1.0 %I1.1 %I1.2 %M3

%Q2.0

LD AND( AND OR(N AND ) AND OR(N AND ) ) ST

%I1.1 %I1.2 %I1.3 %I1.5 %I1.6 %I1.4 %I1.7 %I1.8

%Q2.0

144

35015366.01 07/2008

Langage liste dinstructions

Description des instructions MPS, MRD et MPP


Gnralits Les 3 types d'instruction 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 MPS (Memory PuSh) Rle 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. Cette instruction lit le sommet de la pile. 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.

MRD (Memory ReaD) MPP (Memory PoP)

Exemple 1

Cet exemple illustre lutilisation des instructions MPS, MRD, et MPP. LD AND MPS AND ST MRD AND ST MRD AND ST MPP AND ST %I1.0 %M0 %I1.1 %Q2.0 %I1.2 %Q2.1 %I1.3 %Q2.2 %I1.4 %Q2.3

35015366.01 07/2008

145

Langage liste dinstructions

Exemple 2

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

146

35015366.01 07/2008

Langage liste dinstructions

Principes de programmation des blocs fonction prdfinis


Gnralits Les blocs fonctions dautomatisme peuvent tre programms de 2 faons diffrentes :

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

Principe de programmation directe

Les instructions pilotent les entres des blocs (ex: CU). Les sorties sont accessibles sous forme de bit (ex: %C8.D). Exemple : Cet exemple illustre la programmation directe dun bloc fonction compteur.
Traitement des entres

Traitement des sorties

35015366.01 07/2008

147

Langage liste dinstructions

Principe de programmation structurs

Ce type de programmation utilise une suite d' instructions encadre par les instructions :

BLK indique le dbut du bloc OUT_BLK permet de cbler directement les sorties du bloc END_BLK indique la fin du bloc

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

Traitement des sorties

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 nanoautomates TSX 07.

148

35015366.01 07/2008

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 AND OR ST %I1.1 %M0 %M10 %Q2.0
rsultat = tat du bit %I1.1 rsultat = ET du rsultat boolen prcdent et de l'tat du bit %M0 rsultat = OU du rsultat boolen prcdent et de l'tat du bit %M10 %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 AND OR( AND ) ST %I1.1 %M0 %M10 %I1.2 %Q2.0
rsultat = tat du bit %I1.1 rsultat = ET du rsultat boolen prcdent et de l'tat du bit %M0 rsultat = tat du bit %M10 rsultat = ET du rsultat boolen prcdent et de l'tat du bit %M10 %Q2.0 prend l'tat du rsultat boolen prcdent

35015366.01 07/2008

149

Langage liste dinstructions

Exemple 3

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

Saut ltiquette %L10 si %M0=1

150

35015366.01 07/2008

Langage litteral structur

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

Ce chapitre contient les sujets suivants :


Sujet Prsentation du langage littral structur Structure dun programme en langage littral structur Etiquette dune phrase en langage littral structur Commentaire dune phrase en langage littral structur Instructions sur objets bits Instructions arithmtiques et logiques Instructions sur tableaux et chane de caractres Instructions de conversions numriques Instructions sur programme et instructions spcifiques Structure de contrle conditionnelle IF...THEN Structure de contrle conditionnelle WHILE...END_WHILE Structure de contrle conditionnelle REPEAT...END_REPEAT Structure de contrle conditionnelle FOR...END_FOR Instruction de sortie de boucle EXIT Rgles dexcution dun programme littral structur Page 152 153 154 155 156 157 159 162 163 165 167 168 169 170 171

35015366.01 07/2008

151

Langage littral structur

Prsentation du langage littral structur


Gnralits Le langage littral structur est un langage volu de type algorithmique particulirement 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 dutilisation Ce langage est utilisable avec les logiciels PL7 Micro, PL7 Junior et PL7 Pro sur les 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 programme Lillustration suivante prsente un programme en langage structur PL7. ! (* 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;

152

35015366.01 07/2008

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 phrase Lillustration suivante prsente une phrase en langage structure PL7.
1

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

2 3

Description dune phrase

Chaque phrase commence par un point d'exclamation (gnr automatiquement), elle comporte les lments suivants.
Repre 1 2 3 Elment Etiquette Commentaire Instructions Fonction Repre une phrase. Renseigne une phrase. 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.

35015366.01 07/2008

153

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. Cette tiquette a la syntaxe suivante : %Li : avec i compris entre 0 et 999. Elle se positionne en dbut dune phrase. Le programme suivant illustre lutilisation dune tiquette. ! %L20 : (*Attente de schage*) SET %M0; %MW4:=%MW2 + %MW9; (*calcul de pression*) %MF12:=SQRT (%MF14); Etiquette

Syntaxe

Illustration

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.

154

35015366.01 07/2008

Langage littral structur

Commentaire dune phrase en langage littral structur


Rle Le commentaire facilite linterprtation dune phrase laquelle il est affect. Il est optionnel. 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; %MW4:=%MW2 + %MW9; (*calcul de pression*) %MF12:=SQRT (%MF14);

Syntaxe

Commentaires

Rgles

Tous les caractres sont autoriss dans un commentaire. Le nombre de caractres est limit 256 par commentaire. Les commentaires imbriqus sont interdits. 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.

35015366.01 07/2008

155

Langage littral structur

Instructions sur objets bits


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

Instructions sur tableaux de bits

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

156

35015366.01 07/2008

Langage littral structur

Instructions arithmtiques et logiques


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

Arithmtique sur flottants

Les instructions suivantes sappliquent sur des objets flottants..


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

35015366.01 07/2008

157

Langage littral structur

Instructions logiques sur mots et doubles mots

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

Comparaisons numriques sur mots, doubles mots et flottants

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

158

35015366.01 07/2008

Langage littral structur

Instructions sur tableaux et chane de caractres


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

LENGTH_ARW, LENGTH_ARD Calcul de longueur d'un tableau

35015366.01 07/2008

159

Langage littral structur

Instructions sur tableaux de flottants

Les instructions suivantes sappliquent sur des tableaux de flottants.


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

160

35015366.01 07/2008

Langage littral structur

Instructions sur chanes de caractres

Les instructions suivantes sappliquent sur des chanes de caractres.


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

35015366.01 07/2008

161

Langage littral structur

Instructions de conversions numriques


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

162

35015366.01 07/2008

Langage littral structur

Instructions sur programme et instructions spcifiques


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

Instructions de gestion du temps

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

35015366.01 07/2008

163

Langage littral structur

Instructions "Orphe"

Les instructions suivantes sont des instructions spcifiques du langages Orphe.


Dsignation WSHL_RBIT, DSHL_RBIT WSHR_RBIT, DSHR_RBIT WSHRZ_C, DSHRZ_C SCOUNT ROLW,ROLD RORW,RORD Fonction Dcalage gauche sur mot avec rcupration des bits dcals Dcalage droite sur mot avec extension de signe et rcupration des bits dcals Dcalage droite sur mot avec remplissage par 0 et rcupration des bits dcals Comptage/dcomptage avec signalisation de dpassement Dcalage circulaire gauche Dcalage circulaire droite

Instructions de temporisation

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

164

35015366.01 07/2008

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. Dans sa forme simple, la structure de contrle a la syntaxe et le fonctionnement suivant.
Syntaxe Fonctionnement Dbut du IF IF condition THEN Condition actions ; END_IF; Action Fin du IF vrifie non vrifie

Forme simple

Exemple :
! (*Action conditionnelle IF (forme simple)*) IF %M0 AND %M12 THEN RESET %M0; INC %MW4; %MW10:=%MW8+%MW9; END_IF;

35015366.01 07/2008

165

Langage littral structur

Forme gnrale

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


Syntaxe IF condition1 THEN actions1; ELSEIF condition2 THEN actions2; ELSE actions3; END_IF; Fin du IF Actions 2 vrifie Actions 1 vrifie Fonctionnement Dbut du IF Condition 1 non vrifie Condition 2 non vrifie Actions 3

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 programmation

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

166

35015366.01 07/2008

Langage littral structur

Structure de contrle conditionnelle WHILE...END_WHILE


Rle Cette structure de contrle ralise une action rptitive tant quune condition est vrifie. La structure de contrle a la syntaxe et le fonctionnement suivant.
Syntaxe WHILE condition DO action ; END_WHILE; Fonctionnement Dbut du WHILE non vrifie Condition vrifie Action Fin du WHILE

Description

Exemple :
! (*Action itrative conditionnelle WHILE*) WHILE %MW4<12 DO INC %MW4; SET %M25[%MW4]; END_WHILE;

Rgle de programmation

La condition peut tre multiple. L action reprsente une liste d'instructions. 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 Plusieurs structures de contrle WHILE peuvent tre imbriques.

Note : Linstruction EXIT (voir Rle, p. 170) permet darrter lexcution de la boucle et de continuer sur linstruction suivant le END_WHILE.

35015366.01 07/2008

167

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. La structure de contrle a la syntaxe et le fonctionnement suivant :
Syntaxe REPEAT action ; UNTIL condition END_REPEAT; non vrifie Fonctionnement Dbut du REPEAT Action Condition vrifie Fin du REPEAT

Description

Exemple :
! (*Action itrative conditionnelle REPEAT*) REPEAT INC %MW4; SET %M25[%MW4]; UNTIL %MW4>12 END_REPEAT;

Rgle de programmation

La condition peut tre multiple. L action reprsente une liste d'instructions. 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. Plusieurs structures de contrle REPEAT peuvent tre imbriques.

Note : Linstruction EXIT (voir Rle, p. 170) permet darrter lexcution de la boucle et de continuer sur linstruction suivant le END_REPEAT.

168

35015366.01 07/2008

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. La structure de contrle a la syntaxe et le fonctionnement suivant.
Syntaxe FOR indice:=valeur valeur finale DO action ; END_FOR; Indice > Valeur finale non vrifie Action Indice+1 --> Indice Fin du FOR initiale TO Fonctionnement Dbut du FOR Valeur initiale --> Indice vrifie

Description

Exemple :
! (*Action rptitive FOR*) FOR %MW4=0 TO %MW23+12 DO SET %M25[%MW4]; END_FOR;

Rgle de programmation

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

Note : Linstruction EXIT (voir Rle, p. 170) permet darrter lexcution de la boucle et de continuer sur linstruction suivant le END_FOR.

35015366.01 07/2008

169

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 programmation

Cette instruction nest utilisable que dans les actions dune des 3 boucles WHILE, REPEAT ou FOR. 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;

170

35015366.01 07/2008

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

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).

35015366.01 07/2008

171

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 parenthses

Les parenthses sont utilises pour modifier l'ordre d'valuation des oprateurs, 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.

172

35015366.01 07/2008

Langage littral structur

Conversions implicites

Les conversions implicites concernent les mots et les doubles mots. 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 de type Mot Mot Double mot Double mot Oprande 2 de type Mot Double mot Mot Double mot Conversion Oprande 1 Non Double mot Non Non Conversion Oprande 2 Non Non Double mot Non Opration dans le type Mot Double mot Double mot 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 gauche Mot Mot Double mot Double mot Type oprande droite Mot Double mot Mot Double mot Conversion oprande droite Non Mot Double mot Non

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

35015366.01 07/2008

173

Langage littral structur

174

35015366.01 07/2008

Grafcet

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

Ce chapitre contient les sous-chapitres suivants :


Souschapitre 9.1 9.2 9.3 9.4 9.5 Sujet Prsentation gnrale du Grafcet Rgle de construction du Grafcet Programmation des actions et des conditions Macro-tapes Section Grafcet Page 176 184 193 204 209

35015366.01 07/2008

175

Grafcet

9.1
Prsentation
Objet de ce souschapitre Contenu de ce sous-chapitre

Prsentation gnrale du Grafcet

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

Ce sous-chapitre contient les sujets suivants :


Sujet Prsentation du Grafcet Description des symboles graphiques du Grafcet Description des objets spcifiques au Grafcet Possibilits du Grafcet Page 177 178 180 182

176

35015366.01 07/2008

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 fonctionnement 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.

Etape initiale Transition

2
Divergence en ET

Actions

7
Divergence en OU

Actions

Actions
Convergence en OU

9
Convergence en ET

10

Actions

Etape

35015366.01 07/2008

177

Grafcet

Description des symboles graphiques du Grafcet


Description
Dsignation Etapes initiales

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


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

i
Etapes simples

ou

ou

Symbolisent un tat stable de l'automatisme. Le nombre d'tapes maximum (y compris les tapes initiales) est configurable de : 1 96 pour un TSX 37-10, 1 128 pour un TSX 37-20, 1 250 pour un TSX 57. Le nombre maximum d'tapes actives simultanment est configurable.

Macro-tapes

i
Etape de Macrotapes

Symbolise une macro-tape : ensemble unique d'tapes et de transitions. Le nombre de macro-tapes maximum est configurable de 0 63 pour TSX 57 uniquement. Symbolisent les tapes d'une macro-tapes. Le nombre maximum d'tapes pour chaque macro-tapes est configurable de 0 250 pour TSX 57. Chaque macro-tape comporte une tape IN et OUT.

ou

IN
Transitions

ou

OUT

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. Transition d'une tape vers plusieurs tapes : permet l'activation simultane de 11 tapes au maximum.

Divergences en ET

Convergences en ET

Transition de plusieurs tapes vers une seule : permet la dsactivation simultane de 11 tapes au maximum.

178

35015366.01 07/2008

Grafcet

Dsignation Divergences en OU

Symbole

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

Convergences en OU

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

Renvois dorigine

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

Renvoi de destination

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

n
Liaisons orientes vers : le haut le bas la droite ou la gauche Ces liaisons permettent de raliser un aiguillage, un saut d'tapes, une reprise d'tapes (squence).

Note : Le nombre maxi d'tapes (tapes du graphe principal + tapes de macrotapes) dans la section Grafcet ne doit pas dpasser 1024 sur TSX 57.

35015366.01 07/2008

179

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. Le tableau suivant dcrit lensemble des objets associs au Grafcet.
Dsignation %Xi Bits associs aux tapes (1=tape active) %XMj %Xj.i %Xj.IN %Xj.OUT Bits systme associs au Grafcet %S21 %S22 %S23 %S24 %S25 Description Etat de l'tape i du Grafcet principal (i de 0 n) (n dpend du processeur) Etat de la macro-tape j (j de 0 63 pour TSX /PMX/PCX 57) Etat de l'tape i de la macro-tape j Etat de l'tape d'entre de la macro-tape j Etat de l'tape de sortie de la macro-tape j Provoque l'initialisation du Grafcet Provoque la remise zro gnrale du Grafcet Provoque le figeage du Grafcet Provoque la remise 0 de macro-tapes en fonction des mots systme %SW22 %SW25 Mis 1 sur :
dbordement des tables (tapes/transition), excution d'un graphe incorrect (renvoi de destination

Objets Grafcet

sur une tape qui n'appartient pas au graphe). Mots associs aux tapes %Xi.T %Xj.i.T %Xj.IN.T %Xj.OUT.T Mots systme associs au Grafcet %SW20 %SW21 %SW22 %SW25 Temps d'activit de l'tape i du Grafcet principal Temps d'activit de l'tape i de la macro-tape j Temps d'activit de l'tape d'entre de la macro-tape j Temps d'activit de de l'tape de sortie de la macro-tape j Mot permettant de connatre pour le cycle courant le nombre d'tapes actives, activer et dsactiver. Mot permettant de connatre pour le cycle courant le nombre de transitions valides, valider ou invalider. Suite de 4 mots permettant de dsigner les macro- tapes remettre 0 sur mise 1 du bit %S24.

180

35015366.01 07/2008

Grafcet

Bits associs aux tapes

Les bits associs aux tapes %Xi, aux macro-tapes %XMi, et aux tapes de macro-tapes %Xj.I , %Xj.IN et %Xj.OUT ont les proprits suivantes :

Ils sont 1 lorsque les tapes sont actives. 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. 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 :

Ils sont incrments toutes les 100 ms et prennent une valeur de 0 9999. Incrmentation du mot : pendant l'activit de l'tape associe. A la dsactivation de l'tape, le contenu est fig. A l'activation de l'tape, le contenu est remis zro puis incrment. Le nombre de mots temps d'activit n'est pas configurable, un mot est rserv pour chaque tape. Ces mots sont indexables.

35015366.01 07/2008

181

Grafcet

Possibilits du Grafcet
Gnralits Le traitement squentiel est structur en :

1 sous ensemble : Graphe principal, 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 Page 7 Macro-tape 0 Page 7

Page 1 Page 0

Page 1 Page 0

182

35015366.01 07/2008

Grafcet

Caractristiques

Elles dpendent du processeur programmer, elles sont rcapitules dans le tableau ci-dessous.
Nombre TSX 37-10 Par dfaut Etapes du Graphe principal Macro-tapes Etapes de macrotapes Total d'tapes Etapes actives simultanment Transitions valides simultanment 96 0 0 96 16 20 Maxi 96 0 0 96 96 192 TSX 37-20 Par dfaut Maxi 128 0 0 128 20 24 128 0 0 128 128 256 TSX 57 Par dfaut Maxi 128 8 64 640 40 48 250 64 250 1024 250 400

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.

35015366.01 07/2008

183

Grafcet

9.2
Prsentation
Objet de ce souschapitre Contenu de ce sous-chapitre

Rgle de construction du Grafcet

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

Ce sous-chapitre contient les sujets suivants :


Sujet Reprsentation du Grafcet Utilisation des divergences et convergences OU Utilisation des divergences et convergences ET Utilisation des renvois Utilisation des liaisons orientes Commentaire Grafcet Page 185 186 187 188 191 192

184

35015366.01 07/2008

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 1 2 3 4 5 6 7 8 9 10 11 12 13 14 3 2 1 0 2 3 4 5 6 7 8 9 10 11

Rgles d'criture

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

35015366.01 07/2008

185

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 dutilisation

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

186

35015366.01 07/2008

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 dutilisation

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

35015366.01 07/2008

187

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 10 0 1 2 9 10 11 12

12

14

15

16

17

8 9

18

10

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


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

188

35015366.01 07/2008

Grafcet

Renvois utiliss dans les divergences et convergences OU

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

10

20
Pour une fin d'aiguillage, les renvois d'origine doivent tre saisis dans la mme page que l'tape de destination.

21

Page 1

10 20 10 Page 2

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 d'aiguillage

10 4 10 5 6

Page 1

Page 2

35015366.01 07/2008

189

Grafcet

Renvois utiliss dans les divergences et convergences ET

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

25

Page 2 30 25 30 35 25 35 37 25 Page 3 37

Pour une dsactivation simultane, les tapes et la transition de convergence doivent se trouver sur la mme page que le renvoi de destination. Lorsque plusieurs tapes convergent vers une seule transition, le renvoi d'origine porte le numro de l'tape amont la plus gauche.

43

45

48

50 43 50

Page 1

Page 2

190

35015366.01 07/2008

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. Le schma suivant prsente un exemple dutilisation dune liaison oriente.

Illustration

(1)

(2)

Rgles

Les liaisons orientes peuvent :


se croiser (1), elles sont alors de natures diffrentes, 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.

35015366.01 07/2008

191

Grafcet

Commentaire Grafcet
Gnralits Les commentaires permettent de donner des informations sur les tapes et transitions dun Grafcet. Ils sont optionnels. Le texte du commentaire est encadr par (* gauche et *) droite. Sa taille maximale est de 64 caractres. Lillustration suivante prsente des exemples de commentaires.

Syntaxe

Illustration

(*Commentaire*)

(*Exemple de com-

3
(*Commentaire sur 2 lignes*)

Rgles

Dans une page Grafcet, il est possible de saisir un commentaire dans n'importe quelle cellule. 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. 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.

192

35015366.01 07/2008

Grafcet

9.3
Prsentation
Objet de ce souschapitre Contenu de ce sous-chapitre

Programmation des actions et des conditions

Ce sous-chapitre dcrit les rgle de programmation des actions et conditions dun Grafcet. Ce sous-chapitre contient les sujets suivants :
Sujet Programmation des actions associes aux tapes Programmation des actions lactivation ou la dsactivation Programmation des actions continues Programmation des rceptivits associes aux transitions Programmation des rceptivits en langage contacts Programmation des rceptivits en langage liste dinstructions Programmation des rceptivits en langage littral structur Page 194 196 197 199 201 202 203

35015366.01 07/2008

193

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 :

les actions lactivation : actions excutes une fois lorsque ltape laquelle elles sont associes passe de ltat inactif ltat actif. les actions la dsactivation : actions excutes une fois lorsque ltape laquelle elles sont associes passe de ltat actif ltat inactif. 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 actions

Ces actions sont repres de la manire suivante : 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

194

35015366.01 07/2008

Grafcet

Rgles dutilisation

Toutes les actions sont considres comme des actions mmorises, do : une 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. Toutes les actions peuvent tre asservies des conditions logiques, donc tre conditionnelles. Les actions asservies des scurits indirectes doivent tre programmes dans le traitement postrieur (voir Description du traitement postrieur, p. 220) (traitement excut chaque scrutation )

Ordre dexcution des actions

Pour lexemple suivant, sur un tour de cycle, lordre dexcution des actions est le suivant. Lorsque ltape 51 est active, les actions sont excutes dans lordre 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.

35015366.01 07/2008

195

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

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;

196

35015366.01 07/2008

Grafcet

Programmation des actions continues


Rgles Ces actions sont excutes tant que ltape laquelle elles sont associes est active. Elles peuvent tre :

Actions conditionnelles : laction est excute si une condition est remplie, Actions temporises : c'est 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 d action conditionnelle

Dans cet exemple, le bit %M10 est asservi l'entre %I2.5 ou au bit interne %M9 et l'entre %I1.2. 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 %M9 %I1.2 %M10 Action continue

%L1 %M25 %M10

Action la dsactivation

35015366.01 07/2008

197

Grafcet

Exemple daction temporise

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

Ces actions peuvent galement tre inconditionnelles.

198

35015366.01 07/2008

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

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. Une rceptivit nest scrute que si la transition laquelle elle est associe est valide. 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. Une rceptivit non programme est une rceptivit toujours fausse.

Reprage de la rceptivit

Les rceptivits sont repres de la manire suivante : 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.

35015366.01 07/2008

199

Grafcet

Rceptivit utilisant le temps d'activit

Dans certaines applications, des actions sont pilotes sans contrle d'information de retour (fin de course, dtecteur, ...). La dure de l'tape est conditionne par un 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.

200

35015366.01 07/2008

Grafcet

Programmation des rceptivits en langage contacts


Rgles de programmation La rceptivit associe la transition se programme sous la forme dun rseau de 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 :

lments graphiques de test : contacts (%Mi, %I, %Q, %TMi.D ...), blocs comparaisons, 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

35015366.01 07/2008

201

Grafcet

Programmation des rceptivits en langage liste dinstructions


Rgles de programmation La rceptivit associe la transition se programme sous la forme d'une liste 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 :

la structure gnrale : pas d'tiquette (%L). la liste des instructions : pas d'instructions d'actions (objets bits, mots ou blocs fonctions), pas de saut, d'appel de sous-programme.

Exemple

Cet exemple illustre la programmation dune rceptivit en langage liste dinstructions.


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

202

35015366.01 07/2008

Grafcet

Programmation des rceptivits en langage littral structur


Rgles de programmation La rceptivit associe la transition se programme sous la forme dune expression 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 :

la structure gnrale : pas dtiquette (%L) pas de phrase action, de phrase conditionnelle ou de phrase itrative. la liste des instructions : pas daction sur objet bit, pas de saut, dappel sous-programme, 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]

35015366.01 07/2008

203

Grafcet

9.4
Prsentation
Contenu de ce sous-chapitre Contenu de ce sous-chapitre

Macro-tapes

Ce sous-chapitre dcrit la programmation des macro-tapes.

Ce sous-chapitre contient les sujets suivants :


Sujet Prsentation des macro-tapes Constitution dune macro-tape Caractristiques des macro-tapes Page 205 206 207

204

35015366.01 07/2008

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. Macroreprsentation Un Grafcet de premier niveau dcrivant l'enchainement des squences permet de 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 0

M0

OUT M1 IN

0 M2 1 3

OUT

35015366.01 07/2008

205

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 1

OUT

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


une tape dentre rpondant aux mmes rgles que les autres tapes, 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 1

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.

206

35015366.01 07/2008

Grafcet

Caractristiques des macro-tapes


Caractristiques gnrales Le langage Grafcet PL7 autorise la programmation de 64 macro-tapes M0 M63. 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 M0 1 2 OUT M1 OUT 3

M2

Vers une analyse dtaille

35015366.01 07/2008

207

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 initialisation du programme, la macro-tape est alors ltat actif.

M0

IN

0 M1

2 M2 OUT

208

35015366.01 07/2008

Grafcet

9.5
Prsentation
Contenu de ce sous-chapitre Contenu de ce sous-chapitre

Section Grafcet

Ce sous-chapitre prsente la constitution dune section Grafcet. Il dcrit lutilisation et les rgles de programmation de chaque traitement. Ce sous-chapitre contient les sujets suivants :
Sujet Structure dune section Grafcet Description du traitement prliminaire Prpositionnement du Grafcet Initialisation du Grafcet Remise zro du Grafcet Figeage du Grafcet Remise zro des macro-tapes Fonctionnement du traitement squentiel Description du traitement postrieur Page 210 211 212 213 214 215 216 218 220

35015366.01 07/2008

209

Grafcet

Structure dune section Grafcet


Composition dune section Une section de programme crit en Grafcet comporte trois traitements conscutifs :

le traitement prliminaire , le traitement squentiel, 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 traitements


Traitement Prliminaire

Le tableau suivant dcrit le rle de chacun des traitements et le langage avec lequel ils peuvent tre programms.
Rle Il permet de traiter :
les initialisations sur reprise secteur ou dfaillance, les initialisations sur reprise secteur ou dfaillance, la logique d'entre.

Langage Langage contacts, liste dinstructions ou littral Grafcet Langage contacts, liste dinstructions ou littral

Squentiel Postrieur

Il permet de traiter lossature squentielle de lapplication et donne accs au traitement des rceptivits et des actions directement associes aux tapes. Il permet de traiter : la logique de sortie, la surveillance et les scurits indirectes spcifiques aux sorties.

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

210

35015366.01 07/2008

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 :

gestion des reprises secteur et rinitialisations, 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 reprises froid Sur une nouvelle application, ou sur une perte de contexte systme, le systme 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 reprises chaud Suite une coupure secteur sans changement d'application, le systme effectue 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.

35015366.01 07/2008

211

Grafcet

Prpositionnement du Grafcet
Rle Le prpositionnement du Grafcet peut tre utilis lors du passage dun fonctionnement 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. Prpositionnement du Grafcet Le positionnement peut porter sur lensemble ou sur une partie du traitement squentiel :

en utilisant les instructions SET, RESET, 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

212

35015366.01 07/2008

Grafcet

Initialisation du Grafcet
Rle Linitialisation du Grafcet seffectue par le bit systme %S21. Normalement ltat 0, la mise ltat 1 de %S21 provoque :

la dsactivation des tapes actives, lactivation des tapes initiales.

Initialisation du Grafcet

Le tableau suivant donne les diffrentes possibilits de mise 1 et 0 du bit systme %S21.
Mis ltat 1
Par mise ltat 1 de %S0 Par le programme utilisateur Par le terminal (en mise au point ou table

Remis ltat 0
Par le systme au dbut du traitement Par le programme utilisateur Par le terminal (en mise au point ou table

danimation)

danimation)

Rgle dutilisation

Lorsquil est gr par le programme utilisateur, %S21 doit tre positionn 0 ou 1 dans le traitement prliminaire.

35015366.01 07/2008

213

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 (Voir Manuel de rfrence, Tome 2).

Remise zro du Grafcet

Le tableau suivant donne les diffrentes possibilits de mise 1 et 0 du bit systme %S22.
Mis ltat 1
Par le programme utilisateur Par le terminal (en mise au point ou table

Remis ltat 0
Par le systme la fin du traitement

squentiel

danimation)

Rgle dutilisation

ce bit doit tre crit 1 dans le traitement prliminaire, 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.

214

35015366.01 07/2008

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 Grafcet Le tableau suivant donne les diffrentes possibilits de mise 1 et 0 du bit systme %S23..
Mis ltat 1
Par le programme utilisateur Par le terminal (en mise au point ou table

Remis ltat 0
Par le programme utilisateur Par le terminal (en mise au point ou table

danimation)

danimation)

Rgle dutilisation

gr par le programme utilisateur, ce bit doit tre positionn 1 ou 0 dans le traitement prliminaire, 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.

35015366.01 07/2008

215

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 (Voir Manuel de rfrence, Tome 2).

Remise zro des macrotapes

Le tableau suivant donne les diffrentes possibilits de mise 1 et 0 du bit systme %S24.
Mis ltat 1
Par le programme utilisateur

Remis ltat 0
Par le systme au dbut du traitement

Rgles dutilisation

ce bit doit tre crit 1 uniquement dans le traitement prliminaire, la mise 0 de %S24 est gre par le systme, il est donc interdit de le remettre 0 par programme ou par le terminal.

216

35015366.01 07/2008

Grafcet

Table de mots %SW22 %SW25

A chaque bit de cette table correspond une macro-tape. Lutilisation en est la suivante :

chargement de la table des mots %SW22 %SW25 (bit mettre 1 lorsque la macro-tape correspondante ne doit pas tre mise zro), validation par %S24.

Lillustration suivante prsente le codage des mots %SW22 %SW25.


F XM15 F XM31 %SW23 %SW22 0 XM1 XM0 0 XM17 XM16

F XM63

%SW25

0 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.

35015366.01 07/2008

217

Grafcet

Fonctionnement du traitement squentiel


Gnralits Ce traitement permet la programmation de l'ossature squentielle de l'application. Le traitement squentiel comprend :

le graphe principal organis en 8 pages, 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 1 2 3 Description Evaluation des rceptivits des transitions valides. Demande de dsactivation des tapes amont associes. 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 1 2 3 4 Description Dsactivation des tapes en amont des transitions franchies. Activation des tapes en aval des transitions franchies. Invalidation des transitions franchies. 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 : la table d'activit des tapes mmorise, pour le cycle courant, les tapes actives, les tapes activer et les tapes dsactiver, la table de validit des transitions mmorise, pour le cycle courant, les transitions situes en aval des tapes concernes par la table prcdente

218

35015366.01 07/2008

Grafcet

Phase3

Les actions associes aux tapes actives sont excutes dans l'ordre suivant :
Phase 1 2 3 Description Actions la dsactivation des tapes dsactiver. Actions l'activation des tapes activer. Actions continues des tapes actives.

Dpassement de capacits

Le nombre d'lments de la table d'activit des tapes et de la table de validit des transitions est configurable. Le dpassement de la capacit de l'une ou l'autre entrane :

le passage en STOP de l'automate (arrt de l'excution de l'application), le passage 1 du bit systme %S26 (dpassement de capacit d'une des deux tables), le clignotement du voyant ERR de l'automate. %SW20 : mot permettant de connatre pour le cycle courant, le nombre d'tapes actives, activer et dsactiver %SW21 : mot permettant de connatre pour le cycle courant, le nombre de transitions valides, valider ou invalider

Le systme met disposition de l'utilisateur deux mots systme :


Diagnostic En cas de dfaut bloquant, les mots systme %SW125 %SW127 permettent de dterminer la nature du dfaut.
%SW125 DEF7 DEF7 DEFE %SW126 0 =0 N tape %SW127 =0 0 Dpassement de la table des tapes (tapes/ transitions) Dpassement de la table des transitions

Nmacro-tape ou Excution de graphe incorrect (problme de 64 pour le graphe transition avec renvoi de destination non principal rsolu).

35015366.01 07/2008

219

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 associes au Grafcet Le traitement postrieur permet de complter les consignes mises par le traitement squentiel en intgrant l'quation d'une sortie les modes de marche et d'arrt et 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

I2.4 = scurit indirecte spcifique au pilotage de la sortie %Q4.1. %M26 = bit interne rsultat de la logique d'entre traitant des modes de marche et d'arrt. %I1.0 = bouton poussoir.

La sortie %Q4.1 est active par les tapes 5, 8 et 59 du traitement squentiel.

220

35015366.01 07/2008

Grafcet

Actions indpendantes du Grafcet Contrle de l'excution du Grafcet

Le traitement postrieur permet galement de programmer les sorties indpendantes du traitement squentiel.

Il peut savrer ncessaire de contrler le bon droulement du Grafcet en testant le temps dactivit de certaines tapes.Le test de ce temps seffectue par comparaison 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 ;

35015366.01 07/2008

221

Grafcet

222

35015366.01 07/2008

Blocs fonction DFB

10
Prsentation
Objet de ce chapitre Contenu de ce chapitre Ce chapitre dcrit la programmation des blocs fonction utilisateur DFB.

Ce chapitre contient les sujets suivants :


Sujet Prsentation des blocs fonction DFB Comment mettre en oeuvre un bloc fonction DFB Definition des objets des blocs fonction type DFB Dfinition des paramtres DFB Dfinition des variables DFB Rgle de codage des Types DFB Cration des instances de DFB Rgle dutilisation des DFB dans un programme Utilisation dun DFB dans un programme en langage contacts Utilisation dun DFB dans un programme en langage liste dinstructions ou littral Excution dune instance DFB Exemple de programmation de bloc fonction DFB Page 224 226 228 231 232 234 236 237 239 241 242 243

35015366.01 07/2008

223

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 dutilisation Lutilisation dun bloc fonction DFB dans une application permet de :

simplifier la conception et la saisie du programme, accrotre la lisibilit du programme, faciliter sa mise au point (toutes les variables manipules par le bloc fonction DFB sont identifies sur son interface), 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 avec les sousprogrammes

Par rapport au sous programme, ils permettent :


de paramtrer plus facilement le traitement, dutiliser des variables internes propres au DFB donc indpendantes de lapplication, 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.

224

35015366.01 07/2008

Blocs fonction DFB

Domaine dutilisation

Le tableau ci-aprs dcrit le domaine dapplication des DFB.


Fonction Domaine

Automates pour lesquels les DFB sont utilisables. Premium Logiciel de cration des DFB. Logiciels avec lesquels les DFB sont utilisables. Langage de programmation pour la cration du code des DFB. Langage de programmation avec lesquels les DFB sont utilisables. PL7 Pro PL7 Pro ou un PL7 Junior langage littral structur et langage contacts langage contacts, littral structur et en liste dinstructions

35015366.01 07/2008

225

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 1 2 3 Action Conception du DFB modle (appel : Type DFB). Cration d'une image de ce bloc appele instance pour chaque utilisation dans l'application. Utilisation de l'instance dans le programme PL7.

Conception du type DFB

Consiste dfinir et coder tous les lments composant le DFB modle, laide de 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 :


d'un nom, de paramtres : entres, sorties, entres/sorties, de variables : variables publiques, variables prives, du code en langage littral structur ou en langage contacts, dun commentaire, dune fiche descriptive.

226

35015366.01 07/2008

Blocs fonction DFB

Cration d'une instance DFB Utilisation des DFB

Une fois le Type DFB conu, l'utilisateur dfinit une instance du DFB l'aide de l'diteur de variables ou lors de l'appel de la fonction dans l'diteur de programme. Cette instance du bloc s'utilise ensuite comme un bloc fonction standard en langage 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.

35015366.01 07/2008

227

Blocs fonction DFB

Definition des objets des blocs fonction type DFB


Caractristiques gnrales des objets DFB Ces objets sont des donnes internes au DFB, ils sont purement symboliques (pas d'adressage sous forme de repre). Les DFB utilisent 2 types dobjet :

les paramtres les variables

Syntaxe

Pour chaque paramtre ou variable utilis, le concepteur du bloc fonction Type DFB dfinit :

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), un type d'objet (voir tableau ci-aprs), un commentaire optionnel de 80 caractres maximum, une valeur initiale (except pour les paramtres Entres/Sorties).

228

35015366.01 07/2008

Blocs fonction DFB

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 sur... Bits Type BOOL Nom Boolen Exemples 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. Le type EBOOL gre les fronts, il est donc possible 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. Exemple d'objet de type WORD du langage PL7 : %MWi, %KWi, Exemple d'objet de type DWORD du langage PL7 : %MDi, %KDi, Exemple d'objet de type REAL du langage PL7 : %MFi, %KFi Exemple d'objet de type AR_X du langage PL7 : %Mi:L, %Ix.i:L Exemple d'objet de type AR_W du langage PL7 : %MWi:L, %KWi:L Exemple d'objet de type AR_D du langage PL7 : %MDi:L, %KDi:L Exemple d'objet de type AR_R du langage PL7 : %MFi:L, %KFi:L Exemple d'objet de type STRING du langage PL7: %MBi, %KBi

EBOOL

Boolen tendu

Mots

WORD DWORD REAL

Entier 16 bits Entier 32 bits Rel Tableau de bits Tableau d'entier 16 bits Tableau d'entier 32 bits Tableau de rels Chane de caractres

Tableaux

AR_X AR_W

AR_D

AR_R STRING

35015366.01 07/2008

229

Blocs fonction DFB

Note : 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. 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.

230

35015366.01 07/2008

Blocs fonction DFB

Dfinition des paramtres DFB


Illustration Lillustration suivante prsente des exemples de paramtres
Entres Controle DWORD Ecart WORD Vitesse BOOL Enable WORD Actions Entres/ Sorties WORD Accel BOOL Erreur Sorties

Description des paramtres

Le tableau ci-aprs dcrit le rle de chaque type de paramtres.


Paramtre Entres Nombre maximum 15 (1) Rle 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. Ce sont les donnes labores par le DFB destination du programme application. Ce sont des paramtres d'entres modifiables dans le code du DFB.

Sorties Entres/ Sorties

15 (2) 15

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 : Tout bloc DFB doit avoir au moins une entre boolenne. 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.

35015366.01 07/2008

231

Blocs fonction DFB

Dfinition des variables DFB


Description des variables Le tableau ci-aprs dcrit le rle de chaque type de variables.
Variable Publique Nombre maximum 100 Rle 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 cidessous : Accs aux variables publiques). 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...).

Prive

100

Note : La modification de linterface dun DFB (variables publiques ou paramtres) est possible uniquement sil nest pas instanci et utilis dans lapplication.

Accs aux variables publiques

Seuls les paramtres de sorties et les variables publiques sont accessibles en tant quobjets dans le programme application en dehors du corps du bloc fonction. 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.

232

35015366.01 07/2008

Blocs fonction DFB

Sauvegarde et restitution des variables publiques

Les variables publiques, modifies par programme ou par rglage, peuvent tre sauvegardes en lieu et place des valeurs dinitialisation (dfinies dans les instances DFB) par mise 1 du bit systme %S94. Le remplacement na lieu que si lautorisation en a t donne au niveau de chaque variable en validant le champ S dans lcran de dfinition des variables publiques du 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).

35015366.01 07/2008

233

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 programmation Toutes les instructions et fonctions avances du langage sont permises excepts :

lappel aux blocs fonction standards, lappel aux autres blocs fonction DFB, branchement une tiquette JUMP, lappel sous-programme, linstruction HALT, 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 spcifiques

Le tableau ci-aprs dcrit les fonctions spcifiquement adaptes pour tre utilises 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 LENGTH_ARW, LENGTH_ARD, LENGTH_ARR Ces instructions permettent de manipuler des mots et de doubles mots. Ces instructions permettent de calculer les longueurs de tableau.

234

35015366.01 07/2008

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;

35015366.01 07/2008

235

Blocs fonction DFB

Cration des instances de DFB


Gnralits Une instance DFB est une copie du Type DFB :

elle exploite le code du Type DFB, (il ny a pas duplication du code), 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 :

les lettres non accentues, les chiffres, 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.

236

35015366.01 07/2008

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). Les rgles suivantes doivent tre respectes quel que soit le langage utilis :

Rgles gnrales dutilisation

tous les paramtres d'entres de type tableau ainsi que les paramtres d'entres/ sorties doivent tre renseigns 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. 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.

35015366.01 07/2008

237

Blocs fonction DFB

Affectation des paramtres

Le tableau suivant rsume les diffrentes possibilits daffectation des paramtres dans les diffrents langages de programmation :
Paramtre Entres Type Boolen Numrique Tableau Entres/ Sorties Boolen Numrique Tableau Sorties Boolen Numrique Tableau Affectation paramtre Cbl (1) Objet ou expression Objet Objet Objet Objet Cbl (1) Objet Objet Affectation optionnelle (2) optionnelle obligatoire obligatoire obligatoire obligatoire optionnelle optionnelle 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.

238

35015366.01 07/2008

Blocs fonction DFB

Utilisation dun DFB dans un programme en langage contacts


Principe Il y a deux possibilits pour appeler un bloc fonction DFB :

un appel textuel dans un bloc opration, la syntaxe et les contraintes sur les paramtres sont identiques celles du langage littral. 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) 10000 %Q2.5 BOOL Enable %MW100 WORD Actions %MW100 DWORD Ecart WORD Vitesse WORD Accel BOOL Erreur %MW8 %Q2.1

35015366.01 07/2008

239

Blocs fonction DFB

Le tableau ci-aprs repre les diffrents lments du DFB.


Repre 1 2 3 4 5 6 Rle Nom du DFB Nom du Type DFB Paramtre effectif de la premire entre Paramtres dentres (nom et type) Paramtres de sorties (nom et type) Paramtres dentres/sorties (nom et type)

Note : Un bloc fonction DFB doit avoir au moins une entre boolenne cble. 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.

240

35015366.01 07/2008

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. 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 E1, ..., En Rle Expressions (except pour les objets de type BOOL/EBOOL), objets ou valeurs immdiates servant de paramtres effectifs aux paramtres d'entres. Paramtres effectifs correspondant aux entres/sorties; ce sont toujours des objets langages en lecture/criture. Paramtres effectifs correspondant aux sorties; ce sont toujours des objets langages en lecture/criture.

Syntaxe gnrale

ES1, ..., ESn S1, ..., Sn

Syntaxe en littral

Linstruction en langage littral a la syntaxe suivante : Nom_DFB (E1,...,En,ES1,...,ESn,S1,...,Sn); Exemple : Cpt_boulons(%I2.0,%MD10,%I2.1,%Q1.0);

Syntaxe en liste dinstructions

Linstruction en langage liste dinstructions a la syntaxe suivante : [Nom_DFB (E1,...,En,ES1,...,ESn,S1,...,Sn)] Exemple : LD TRUE [Cpt_boulons(%I2.0,%MD10,%I2.1,%Q1.0)]

35015366.01 07/2008

241

Blocs fonction DFB

Excution dune instance DFB


Fonctionnement L'excution d'une instance DFB s'effectue dans l'ordre suivant :
Etape 1 Action 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. Passage par valeur des paramtres d'entres (except pour le type tableau). Passage par adresse des paramtres entres/sorties. Excution du code littral. Ecriture des paramtres de sorties.

2 3 4 5

Outils de mise au point

Le logiciel PL7 offre plusieurs outils de mise au point du programme PL7 et des DFB :

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, point d'arrt, pas pas et diagnostic programme, crans d'exploitation : pour la mise au point unitaire.

242

35015366.01 07/2008

Blocs fonction DFB

Exemple de programmation de bloc fonction DFB


Gnralits Caractristiques du type DFB Cet exemple est donn titre didactique, le DFB programmer est un compteur. Le compteur est ralis partir du Type DFB suivant :
Cpt_pieces EBOOL Raz DWORD Presel EBOOL Count DWORD V_cour BOOL Done

Le tableau ci-aprs dcrit les caractristiques du Type DFB programmer.


Caractristiques Nom Entres Valeurs Cpt_pieces
Raz : remise zro du compteur Presel : valeur de prslection du compteur Count : entre comptage

Sorties Variable publique

Done : sortie valeur de prslection atteinte V_cour : Valeur courante incrmente par l'entre Count

Fonctionnement du compteur

Le tableau suivant dcrit le fonctionnement que doit avoir le compteur.


Phase 1 2 3 Description Ce bloc compte les fronts montants sur l'entre Count. Le rsultat est plac dans la variable V_cour, cette valeur est remise zro par un front montant sur l'entre Raz. 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.

35015366.01 07/2008

243

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 dutilisation

Dans cet exemple le Type DFB cr, est utilis 3 fois (3 instances DFB) pour le 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'approvisionnement de pices correspondant.

244

35015366.01 07/2008

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 EBOOL Raz %MD10 %I1.1 DWORD Presel EBOOL Count BOOL Done %Q2.1

Cpt_ecrous %I1.2 Cpt_pieces EBOOL Raz %MD12 %I1.3 DWORD Presel EBOOL Count BOOL Done %Q2.2

Cpt_vis %I1.4 Cpt_pieces EBOOL Raz %MD14 %I1.5 DWORD Presel EBOOL Count BOOL Done %Q2.3

35015366.01 07/2008

245

Blocs fonction DFB

246

35015366.01 07/2008

Index

B C A
D
Dmarrage froid, 82 DFB, 224 Divergence ET, 187 Divergence OU, 186 Divergences en ET, 178, 179

A
Action, 194 Action lactivation, 196 Action continue, 197 Activation, 196 Adressage Bus AS-i, 40 Bus FIPIO, 37 E/S Micro, 31 Modules en rack, 34 Momentum, 37 TBX, 37 Aiguillage, 186

E
Elments graphiques, 124 Etape dentre, 206 Etape de sortie, 206 Etiquette Liste dinstructions, 136 littral, 154 Rseau de contacts, 122 Excution Cyclique, 99 Priodique, 101 Rseau de contacts, 130 Excution dun programme littral, 171 EXIT, 170

B
Bloc fonction DFB, 224

C
Commentaire, 192 Grafcet, 192 Liste dinstructions, 137 littral, 155 Rseau de contacts, 123 Convergence ET, 187 Convergence OU, 186 Convergences en ET, 178, 179 Coupure secteur, 78

F
Figeage du Grafcet, 215 FOR...END_FOR, 169

G
Grafcet, 177
247

35015366.01 07/2008

Index

I
IF...THEN, 165 Initialisation du Grafcet, 213 Instance DFB, 236 Instruction arithmtique, 157 chane de caractres, 159 conversion, 162 Gestion du temps, 163 logique, 157 objet bits, 156 programme, 163 tableaux, 159 Instructions Liste dinstructions, 138

O
Objet Bit, 29 Bloc fonction, 46 Boolen, 26 DFB, 228 Index, 51 Mot, 27, 42 Objet langage P7, 25 Objets Grafcet, 54, 180

P
Page Grafcet, 182, 185 Paramtre DFB, 231 Phrase Liste dinstructions, 135 littrale, 153 PL7, 16 Prpositionnement du Grafcet, 212 Prsymbolisation, 57 Programmation Rseau de contacts, 127

L
Langage Littral structur, 152 Langage contacts, 120 Langages PL7, 17 Liaison oriente, 191 Liste dinstructions, 134 Littral structur, 152 Logiciel PL7, 16

R
Rceptivit, 199 Remise zro des macro-tapes, 216 Remise zro du Grafcet, 214 Renvoi de dorigine, 188 Renvoi de destination, 188 REPEAT...END_REPEAT, 168 Reprise chaud, 80 Reprise secteur, 78 Rseau de contacts, 121

M
Macro-tape, 205 Mmoire Bits, 64 Micro, 68 Mots, 66 Premium, 62, 70, 73, 75 TSX 37, 60, 68 TSX 57, 70, 73, 75 TSX Micro, 60 TSX57, 62 Module fonctionnel, 23, 115 Monotche, 98 Multitche, 21, 106, 108

S
Section, 21, 90 Section Grafcet, 210 Sous-programme, 21, 90 Symboles Grafcet, 178 Symbolisation, 55

248

35015366.01 07/2008

Index

T
Tableau, 48 Tche, 21 Matre, 89 Rapide, 94 Traitement Evnementiel, 95, 112 postrieur, 220 Traitement prliminaire, 211 Traitement squentiel, 218

V
Variable DFB, 232

W
WHILE...END, 167

35015366.01 07/2008

249

Index

250

35015366.01 07/2008

Vous aimerez peut-être aussi