Schneider Electric PL7 Micro/Junior/Pro Annexes Manuel utilisateur

Ajouter à Mes manuels
250 Des pages
Schneider Electric PL7 Micro/Junior/Pro Annexes Manuel utilisateur | Fixfr
Manuel de Référence
PL7 Micro/Junior/Pro
Annexes
35013155.01
07/2008 fre
www.schneider-electric.com
2
Structure de la documentation
Structure de la documentation
Présentation
Ce manuel se compose de trois tomes :
z
z
z
35013155.01 07/2008
Tome 1: Description du logiciel PL7
z Généralités
z Langage à contacts
z Langage liste d’instructions
z Langage littéral structuré
z Langage Grafcet
z Blocs fonction DFB
z Modules Fonctionnels
Tome 2 : Description détaillée des instructions et des fonctions
z Instructions de base
z Instructions avancées
z Objets bits et mots système
Tome 3 : Annexes
z Différences entre PL7-2/3 et PL7-Micro/Junior
z Aide-mémoire
z Liste des mots réservés
z Conformité au standard CEI 1131-3
z Serveur OLE Automation
z Performances
3
Structure de la documentation
4
35013155.01 07/2008
Table des matières
A propos de ce manuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Chapitre 1
Différences entre PL7-2/3 et PL7 Micro/Junior . . . . . . . . . . . . 11
Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Valeurs immédiates et étiquettes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Mots. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Blocs fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tableaux de bits et de mots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Blocs fonctions optionnels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Délimiteurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 2
Aide-mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions booléennes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions ST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Blocs fonctions LD et IL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Blocs fonctions ST. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Structures de contrôle ST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Arithmétique entière (simple et double longueur) . . . . . . . . . . . . . . . . . . . . . . . .
Arithmétique sur flottants. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Conversions numériques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tableaux de bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions sur tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions sur tableaux de flottants. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions "Orphée" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Echanges explicites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions de gestion du temps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions de temporisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions d'archivage de données. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions sur chaînes de caractères . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Multi-tâches et événements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35013155.01 07/2008
11
12
13
15
17
20
22
23
29
31
32
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
5
Chapitre 3
Mots réservés. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Mots réservés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Chapitre 4
Conformité au standard CEI 1131-3 . . . . . . . . . . . . . . . . . . . . . 59
Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Conformité au standard CEI 1131-3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Eléments commun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Eléments de langage IL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Eléments de langage ST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Eléments graphiques communs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Eléments de langage LD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Paramètres dépendant de l’implémentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Situations d’erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Chapitre 5
5.1
5.2
5.3
6
Serveur OLE Automation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Présentation du Serveur OLE Automation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Modes de marche du serveur OLE Automation. . . . . . . . . . . . . . . . . . . . . . . . . . 81
Mise en oeuvre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Installation de OLE Automation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Mécanisme d’accès au serveur PL7 OLE Automation. . . . . . . . . . . . . . . . . . . . . 84
Lancement du serveur en mode local (mode COM) . . . . . . . . . . . . . . . . . . . . . . 85
Lancement du serveur en mode distant (DCOM) . . . . . . . . . . . . . . . . . . . . . . . . 86
Mise en oeuvre du serveur en mode distant . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Modes d'exécution PL7 serveur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Points d’entrée : Fonction OLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Fonctions OLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
OpenStx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
CloseStx. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
OpenStxWithMaj . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
ExportScyFile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
ExportFeFile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
ExportFefFileWithConfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
DisconnectPLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
ConnectPLC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
SaveStx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
DownloadDataToPLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
DownloadToPLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
UploadFromPLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
UploadDataFromPLC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
UploadFromPLCWithSymbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
GetSymbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
35013155.01 07/2008
SetServerIHM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SetDownloadFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GetPL7State . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GetSTXAppIdentity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GetPLCAppIdentity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SendCommandToPLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SetDriverAndAdresse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OpenTool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SetPosPL7Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ShowProgram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CloseProgram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ShowIOModule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CloseIOModule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ShowDFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CloseDFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GetMessageError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GetServerVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ImportScyFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DownloadStationWithSymbol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CompareSymbolPCAndSymbolPLCAppli . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 6
6.1
6.2
6.3
35013155.01 07/2008
113
114
115
116
117
119
120
121
123
124
125
126
127
128
129
130
131
132
133
135
Performances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Informations générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Principes de calcul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Performances des instructions sur automates Micro . . . . . . . . . . . . . . . . . . . .
Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Performances des instructions booléennes . . . . . . . . . . . . . . . . . . . . . . . . . . .
Performances des blocs fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Arithmétique entière et à virgule flottante . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions sur programme et structures de contrôle . . . . . . . . . . . . . . . . . . . .
Conversions numériques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions sur chaîne de bits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instruction sur tableaux de mots, doubles mots et flottants . . . . . . . . . . . . . . .
Instructions de gestion du temps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions sur chaînes de caractères . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonctions métier et fonctions Orphée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions d’entrées/sorties explicite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Performances des instructions sur automates Premium. . . . . . . . . . . . . . . . . .
Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Performances des instructions booléennes . . . . . . . . . . . . . . . . . . . . . . . . . . .
Performances des blocs fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Arithmétique entière et à virgule flottante . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions sur programme et structures de contrôle . . . . . . . . . . . . . . . . . . . .
Conversions numériques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Instructions sur chaîne de bits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
137
138
138
140
140
141
144
147
151
153
154
157
164
166
168
171
172
172
173
178
181
186
188
189
7
6.4
Index
8
Instruction sur tableaux de mots, doubles mots et flottants . . . . . . . . . . . . . . . . 192
Instructions de gestion du temps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Instructions sur chaînes de caractères . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Fonctions métier et fonctions Orphée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Instructions d’entrées/sorties explicite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Bloc fonction DFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Fonctions avancées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
Description des zones mémoire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Taille mémoire des objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
Bilan des consommations mémoire des modules sur Micro . . . . . . . . . . . . . . . 218
Bilan des consommations mémoire des modules sur Premium . . . . . . . . . . . . 221
Taille mémoire des fonctions avancées. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
Méthode de calcul du nombre d’instructions . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
35013155.01 07/2008
A propos de ce manuel
Présentation
Objectif du
document
Ce manuel donne un ensemble d’informations complémentaires à la programmation
des automates Micro, Premium et Atrium.
Champ
d'application
La mise à jour de cette publication prend en compte les fonctionnalités de PL7 V4.5;
Elle permet néammoins de mettre en oeuvre les versions antérieures de PL7.
Commentaires
utilisateur
Envoyez vos commentaires à l'adresse e-mail techpub@schneider-electric.com
35013155.01 07/2008
9
A propos de ce manuel
10
35013155.01 07/2008
Différences entre PL7-2/3 et PL7
Micro/Junior
1
Présentation
Contenu de ce
chapitre
Ce chapitre décrit les différences des objets et instructions entre les logiciels
PL7-2/PL7-3 et PL7 Micro/PL7 Junior
Contenu de ce
chapitre
Ce chapitre contient les sujets suivants :
35013155.01 07/2008
Sujet
Page
Valeurs immédiates et étiquettes
12
Bits
13
Mots
15
Blocs fonction
17
Tableaux de bits et de mots
20
Blocs fonctions optionnels
22
Instructions
23
Délimiteurs
29
11
Différence PL7-2/3 et PL7 Micro/Junior
Valeurs immédiates et étiquettes
Valeurs
immédiates
Tableau des différences entre PL7-2/3 et PL7-Micro/Junior
Objets
PL7-2/3
Entier base 10
1234
1234
Entier base 2
L’10011110’
2#10011110
Entier base 16
H’ABCD’
16#ABCD
Flottant
-1.32e12 (PL7-3)
-1.32e12
Chaîne de caractères
M’aAbBcC’
‘aAbBcC’
Etiquettes
PL7 Micro/Junior
Tableau des différences entre PL7-2/3 et PL7-Micro/Junior
Objets
PL7-2/3
PL7 Micro/Junior
Label
Li i = 0 à 999
%Li
12
i = 0 à 999
35013155.01 07/2008
Différence PL7-2/3 et PL7 Micro/Junior
Bits
Bits d’Entrée en
bac
Tableau des différences entre PL7-2/3 et PL7-Micro/Junior
Objets
PL7-2/3
PL7 Micro/Junior
Bit d'entrée en bac
Ixy,i
%Ixy.i
Bit d'entrée en bac indexé
Ixy,i(Wj) (PL7-3)
%Ixy.i[%MWj]
Bit d'entrée à distance
RIx,y,i (PL7-3)
%I\chemin\mod.voie
Bit d'entrée à distance indexé
RIx,y,i(Wj) (PL7-3)
-
Bits de Sortie en
bac
Tableau des différences entre PL7-2/3 et PL7-Micro/Junior
Objets
PL7-2/3
PL7 Micro/Junior
Bit de sortie en bac
Oxy,i
%Qxy.i
Bit de sortie en bac indexé
Oxy,i(Wj) (PL7-3)
%Qxy.i[%MWj]
Bit de sortie à distance
ROx,y,i (PL7-3)
%Q\chemin\mod.voie
Bit de sortie à distance indexé
ROx,y,i(Wj) (PL7-3)
-
Bits défaut d’E/S
en bac
Tableau des différences entre PL7-2/3 et PL7-Micro/Junior
Objets
PL7-2/3
PL7 Micro/Junior
Bit défaut module
Ixy,S / Oxy,S
%Ixy.MOD.ERR
Bit de voie
-
%Ixy.i.ERR
Bits défaut d’E/S
à distance
Tableau des différences entre PL7-3 et PL7-Micro/Junior
Objets
PL7-3 (uniquement)
PL7 Micro/Junior
Bit défaut module
-
%I\chemin\mod.MOD.ERR
Bit de voie
RDx,y,i/ERRORx,y,i
%I\chemin\mod.voie.ERR
bit disjonction voie de sortie
TRIPx,y,i
-
bit réarmement voie de sortie
RSTx,y,i
-
35013155.01 07/2008
13
Différence PL7-2/3 et PL7 Micro/Junior
Bits internes et
bits système
Tableau des différences entre PL7-2/3 et PL7-Micro/Junior
Objets
PL7-2/3
PL7 Micro/Junior
Bit interne
Bi
%Mi
Bit interne indexé
Bi(Wj) (PL7-3)
%Mi[%MWj]
Bit système
SYi
%Si
Bits d’étapes
Tableau des différences entre PL7-2/3 et PL7-Micro/Junior
Objets
PL7-2/3
PL7 Micro/Junior
Bit d'étape
Xi
%Xi
Bit de macro-étape
XMj (PL7-3)
%XMj
Bit d'étape i de macro-étape j
Xj,i (PL7-3)
%Xj.i
Bit d'étape d'entrée de macro-étape j
Xj,I (PL7-3)
%Xj.IN
Bit d'étape de sortie de macro-étape j
Xj,O (PL7-3)
%Xj.OUT
Bits de mots
Tableau des différences entre PL7-2/3 et PL7-Micro/Junior
Objets
PL7-2/3
Bit j du mot interne i
Wi,j
Bit j du mot interne i indexé
Wi(Wk),j
Bit j du mot constant i
CWi,j
%KWi:Xj
Bit j du mot constant i indexé
CWi(Wk),j (PL7-3)
%KWi[%MWk]:Xj
Bit j du registre i
IW/OWxy,i,j
%IW/%QWxy.i:Xj
Bit k du mot commun j de la station i
COMi,j,k
COMXi,j,k (X = B, C, D)
%NWi.j:Xk
%NXWi.j:Xk
Bit j du mot système i
SWi,j
%SWi:Xj
14
PL7 Micro/Junior
%MWi:Xj
(PL7-3)
%MWi[%MWk]:Xj
35013155.01 07/2008
Différence PL7-2/3 et PL7 Micro/Junior
Mots
Mots internes
Tableau des différences entre PL7-2/3 et PL7-Micro/Junior
Objets
PL7-2/3
PL7 Micro/Junior
Mot interne simple longueur
Wi
%MWi
Mot interne simple longueur indexé
Wi(Wj) (PL7-3)
%MWi[%MWj]
Mot interne double longueur
DWi (PL7-3)
%MDi
Mot interne double longueur indexé
DWi(Wj) (PL7-3)
%MDi[%MWj]
Mot interne réel
-
%MFi
Mot interne réel indexé
-
%MFi[%MWj]
Mots constants
Tableau des différences entre PL7-2/3 et PL7-Micro/Junior
Objets
PL7-2/3
PL7 Micro/Junior
Mot constant simple longueur
CWi
%KWi
Mot constant simple longueur indexé
CWi(Wj)
%KWi[%MWj]
Mot constant double longueur
CDWi (PL7-3)
%KDi
Mot constant double longueur indexé
CDWi(Wj) (PL7-3)
%KDi[%MWj]
Mot constant réel
-
%KFi
Mot constant réel indexé
-
%KFi[%MWj]
Mots registre
Tableau des différences entre PL7-2/3 et PL7-Micro/Junior
Objets
PL7-2/3
PL7 Micro/Junior
Mot registre d'entrée simple longueur
IWxy,i
%IWxy.i
Mot registre d'entrée double longueur
-
%IDxy.i
Mot registre de sortie simple longueur
OWxy,i
%QWxy.i
Mot registre de sortie double longueur
-
%QDxy.i
Mot registre d'une entrée à distance
RIWx,y,i (PL7-3)
%IW\chemin\mod.voie
Mot registre d'une sortie à distance
ROWx,y,i (PL7-3)
%QW\chemin\mod.voie
35013155.01 07/2008
15
Différence PL7-2/3 et PL7 Micro/Junior
Autres mots
Tableau des différences entre PL7-3 et PL7-Micro/Junior
Objets
PL7-3 (uniquement)
PL7 Micro/Junior
Mot système
SWi
%SWi
Mot commun j de la station
COMi,j COMXi,j (avec X=B,C,D) %NW{i}j %NW{[r.]i}j r=num de
réseau
Mot d'état d'un module TOR distant
STATUSAx,y,i (PL7-3)
STATUSBx,y,i (PL7-3)
-
Mot d'état d'une voie de module TOR
distant
STSx,y,i (PL7-3)
%IW\chemin\mod.voie.ERR
16
35013155.01 07/2008
Différence PL7-2/3 et PL7 Micro/Junior
Blocs fonction
Temporisateur
Tableau des différences entre PL7-2/3 et PL7-Micro/Junior
Objets
PL7-2/3
PL7 Micro/Junior
Repère
Ti
%Ti
Valeur de présélection (mot)
TI,P
%Ti.P
Valeur courante (mot)
Ti,V
%Ti.V
Temporisateur en cours (bit)
Ti,R
%Ti.R
Temporisateur écoulé (bit)
Ti,D
%Ti.D
Monostable
Tableau des différences entre PL7-2/3 et PL7-Micro/Junior
Objets
PL7-2/3
PL7 Micro/Junior
Repère
Mi
%MNi
Valeur de présélection (mot)
Mi,P
%MNi.P
Valeur courante (mot)
Mi,V
%MNi.V
Monostable en cours (bit)
Mi,R
%MNi.R
Compteur/
Décompteur
Tableau des différences entre PL7-2/3 et PL7-Micro/Junior
Objets
PL7-2/3
PL7 Micro/Junior
Repère
Ci
%Ci
Valeur de présélection (mot)
Ci,P
%Ci.P
Valeur courante (mot)
Ci,V
%Ci.V
Débordement comptage (bit)
Ci,E
%Ci.E
Présélection atteinte (bit)
Ci,D
%Ci.D
Débordement décomptage (bit)
Ci,F
%Ci.F
35013155.01 07/2008
17
Différence PL7-2/3 et PL7 Micro/Junior
Registre
Tableau des différences entre PL7-2/3 et PL7-Micro/Junior
Objets
PL7-2/3
Repère
Ri
%Ri
Mot d'entrée (mot)
Ri,I
%Ri.I
Mot de sortie (mot)
Ri,O
%Ri.O
Registre plein (bit)
Ri,F
%Ri.F
Registre vide (bit)
Ri,E
%Ri.E
Bloc Texte
PL7 Micro/Junior
Tableau des différences entre PL7-2/3 et PL7-Micro/Junior
Objets
PL7-2/3
PL7 Micro/Junior
Repère
TXTi
Pas de blocs texte
Programmateur
cyclique
Tableau des différences entre PL7-2 et PL7-Micro/Junior
Objets
PL7-2
Repère
Di (PL7-2)
%DRi
Numéro du pas actif (mot)
Di,S
%DRi.S
temps d'activité du pas courant (mot)
Di,V
%DRi.V
16 bits d'ordres (mot)
Di,Wj
%DRi.Wj
Dernier pas en cours (bit)
Di,F
%DRi.F
Compteur/
Temporisateur
rapide
PL7 Micro/Junior
Tableau des différences entre PL7-2 et PL7-Micro/Junior
Objets
PL7-2
PL7 Micro/Junior
Repère
FC (PL7-2)
-
Valeur de présélection (mot)
FC,P
-
Valeur courante (mot)
FC,V
-
Remise à 0 externe (bit)
FC,E
-
Présélection atteinte (bit)
FC,D
-
Comptage en cours (bit)
FC,F
-
18
35013155.01 07/2008
Différence PL7-2/3 et PL7 Micro/Junior
Horodateur
Tableau des différences entre PL7-2 et PL7-Micro/Junior
Objets
PL7-2
Repère
H (PL7-2)
-
Type "WEEK" ou "YEAR" sélection jours LMMJVSD (mot)
VD
-
Consigne de début (mot)
BGN
-
Consigne de fin (mot)
END
-
Valeur courante < consigne (bit)
<
-
Valeur courante = consigne (bit)
=
-
Valeur courante > consigne (bit)
>
-
35013155.01 07/2008
PL7 Micro/Junior
19
Différence PL7-2/3 et PL7 Micro/Junior
Tableaux de bits et de mots
Chaînes de bits
Tableau des différences entre PL7-2/3 et PL7-Micro/Junior
Objets
PL7-2/3
PL7 Micro/Junior
Chaîne de bits internes
Bi[L]
%Mi:L
Chaîne de bits d'entrée
Ixy,i[L] (PL7-3)
%Ixy.i:L
Chaîne de bits de sortie
Oxy.i[L] (PL7-3)
%Qxy.i:L
Chaîne de bits d'étape Grafcet
Xi[L] (PL7-3)
%Xi:L
Chaîne de bits de macro-étape
XMi[L] (PL7-3)
-
Chaînes de
caractères
Tableau des différences entre PL7-2/3 et PL7-Micro/Junior
Objets
PL7-2/3
PL7 Micro/Junior
Chaîne
-
%MBi:L
20
(avec i pair)
35013155.01 07/2008
Différence PL7-2/3 et PL7 Micro/Junior
Tableaux de
mots
Tableau des différences entre PL7-2/3 et PL7-Micro/Junior
Objets
PL7-2/3
PL7 Micro/Junior
Tableau de mots internes
Wi[L]
%MWi:L
Tableau de mots internes indexés
Wi(Wj)[L]
%MWi[%MWj]:L
Tableau de doubles mots internes
DWi[L] (PL7-3)
%MDi:L
Tableau de doubles mots internes indexés
DWi(Wj)[L]
Tableau de mots constants
CWi[L]
(PL7-3)
%KWi:L
Tableau de mots constants indexés
CWi(Wj)[L]
%KWi[%MWj]:L
Tableau de doubles mots constants
CDWi[L] (PL7-3)
%KDi:L
%MDi[%MWj]:L
tableau de doubles mots constants indexés
CDWi(Wj)[L] (PL7-3)
%KDi[%MWj]:L
Tableau de réels
-
%MFi:L
Tableau de réels indexés
-
%MFi[%MWj]:L
Tableau de réels constants
-
%KFi:L
Tableau de réels constants indexés
-
%KFi[%MWj]:L
Tableau d'éléments d'entrée à distance
RIx,y,i[L] (PL7-3)
-
Tableau d'éléments de sortie à distance
ROx,y,i[L] (PL7-3)
-
Tableau d'éléments indexés d'entrée à distance
RIx,y,i(Wj)[L] (PL7-3) -
Tableau d'éléments indexés de sortie à distance
ROx,y,i(Wj)[L] (PL7-3) -
35013155.01 07/2008
21
Différence PL7-2/3 et PL7 Micro/Junior
Blocs fonctions optionnels
OFB
Tableau des différences entre PL7-3 et PL7-Micro/Junior
Objets
PL7-3 (uniquement)
PL7 Micro/Junior
Repère
< OFB >i
-
Elément d'OFB
< OFB >i, <élément>
-
Elément d'OFB indexé
< OFB >i, <élément>(Wj)
-
Tableau d'éléments d'OFB
< OFB >i, <élément>[L]
-
Tableau d'éléments d'OFB indexé
< OFB >i, <élément>(Wj)[L]
-
22
35013155.01 07/2008
Différence PL7-2/3 et PL7 Micro/Junior
Instructions
Instructions sur
bits
Tableau des différences entre PL7-2, PL7-3 et PL7-Micro/Junior
Objets
PL7-2
Inversion logique
-
NOT
NOT
ET
AND
*
AND
OU
OR
+
OR
OU exclusif
XOR
-
XOR
Front montant
-
RE
RE
Front descendant
-
FE
FE
Mise à 1
-
SET
SET
Mise à 0
-
RESET
RESET
35013155.01 07/2008
PL7-3
PL7 Micro/Junior
23
Différence PL7-2/3 et PL7 Micro/Junior
Instructions sur
mots et doubles
mots
Tableau des différences entre PL7-2, PL7-3 et PL7-Micro/Junior
Objets
PL7-2
PL7-3
PL7 Micro/Junior
Addition
+
+
+
Soustraction
-
-
-
Multiplication
*
*
*
Division
/
/
/
Comparaison
>,>=,<,<=,=,<>
>,>=,<,<=,=,<>
>,>=,<,<=,=,<>
Reste d’une division
MOD
REM
REM
Racine carrée
-
SQRT
SQRT
Valeur absolue
-
-
ABS
ET logique
AND
AND
AND
OU logique
OR
OR
OR
OU logique exclusif
XOR
XOR
XOR
Complément logique
CPL
CPL
CPL
Incrémentation
-
INC
INC
Décrémentation
-
DEC
DEC
Décalage logique à gauche
-
SHL
SHL
Décalage logique à droite
-
SHR
SHR
Décalage circulaire à gauche
SLC
SLC
ROL
Décalage circulaire à droite
SRC
SRC
ROR
24
35013155.01 07/2008
Différence PL7-2/3 et PL7 Micro/Junior
Instructions de
type flottant
Instruction sur
chaînes d’octets
35013155.01 07/2008
Tableau des différences entre PL7-3 et PL7-Micro/Junior
Objets
PL7-3
PL7 Micro/Junior
Addition
ADDF
+
Soustraction
SUBF
-
Multiplication
MULF
*
Division
DIVF
/
Racine carrée
SQRTF
SQRT
Valeur absolue
-
ABS
Test d’égalité
EQUF
=
Test de stricte supériorité
SUPF
>
Test de stricte infériorité
INFF
<
Autres tests
-
>=, <=, <>
Tableau des différences entre PL7-3 et PL7-Micro/Junior
Objets
PL7-3
PL7 Micro/Junior
Décalage circulaire
SLCWORD
-
25
Différence PL7-2/3 et PL7 Micro/Junior
Instructions de
conversion
Tableau des différences entre PL7-2, PL7-3 et PL7-Micro/Junior
Objets
PL7-2
PL7-3
PL7 Micro/Junior
Conversion BCD binaire
BCD
DTB
BCD_TO_INT
Conversion binaire BCD
BIN
BTD
INT_TO_BCD
Conversion ASCII binaire
ATB
ATB
STRING_TO_INT ou
STRING_TO_DINT
Conversion binaire ASCII
BTA
BTA
INT_TO_STRING ou
DINT_TO_STRING
Conversion Gray binaire
-
GTB
GRAY_TO_INT
Conversion flottant entier
-
FTB
REAL_TO_INT ou
REAL_TO_DINT
Conversion entier flottant
-
FTF
INT_TO_REAL ou
DINT_TO_REAL
Conversion BCD flottant
-
DTF
BCD_TO_REAL
Conversion flottant BCD
-
FTD
REAL_TO_BCD
Conversion ASCII flottant
-
ATF
STRING_TO_REAL
Conversion flottant ASCII
-
FTA
REAL_TO_STRING
Instructions sur
tableaux
26
Tableau des différences entre PL7-3 et PL7-Micro/Junior
Objets
PL7-3
PL7 Micro/Junior
Opérations arithmétiques
+, -, *, /, REM
+, -, *, /, REM
Opérations logiques
AND, OR, XOR
AND, OR, XOR, NOT
Addition des mots d'un tableau
+
SUM
Recherche du 1er mot différent
EQUAL
EQUAL
Recherche du 1er mot égal
SEARCH
FIND_EQU
35013155.01 07/2008
Différence PL7-2/3 et PL7 Micro/Junior
Instructions sur
programme
Instructions sur
interruptions
Instructions d’E/
S explicites
35013155.01 07/2008
Tableau des différences entre PL7-3 et PL7-Micro/Junior
Objets
PL7-3
PL7 Micro/Junior
Saut
JUMP Li
JUMP %Li
Appel de sous-programme
-
CALL SRi
Retour de sous-programme
RET
RETURN
Arrêt de l'application
HALT
HALT
Phrase conditionnelle
IF/THEN/ELSE
IF/THEN/ELSE/END_IF
Phrase itérative
WHILE/DO
WHILE/DO/END_WHILE
SRi
Tableau des différences entre PL7-3 et PL7-Micro/Junior
Objets
PL7-3
PL7 Micro/Junior
Test
READINT
-
Masquage
MASKINT
MASKEVT
Démasquage
DMASKINT
UNMASKEVT
Acquittement
ACKINT
-
Génération d’une IT vers coupleur
SETIT
-
Tableau des différences entre PL7-3 et PL7-Micro/Junior
Objets
PL7-3
PL7 Micro/Junior
Lecture des entrées TOR
READBIT
-
Ecriture des sorties TOR
WRITEBIT
-
Lecture des registres
READREG
-
Ecriture des registres
WRITEREG
-
Lecture de mots
READEXT
-
Ecriture de mots
WRITEEXT
-
27
Différence PL7-2/3 et PL7 Micro/Junior
Instructions sur
blocs fonction
28
Tableau des différences entre PL7-2, PL7-3 et PL7-Micro/Junior
Objets
PL7-3
PL7 Micro/Junior
Présélection
PRESET Ti / Ci
PRESET %Ti / %Ci
Lancement
START Ti / Mi
START %Ti / %MNi
-
Activation de la tâche
START CTRLi
Remise à zéro
RESET Ci / Ri / TXTi RESET %Ci / %Ri
Désactivation de la tâche
RESET CTRLi
-
Comptage
UP Ci
UP %Ci
Décomptage
DOWN Ci
DOWN %Ci
Stockage dans un registre
PUT Ri
PUT %Ri
Déstockage d'un registre
GET Ri
GET %Ri
Réception d'un message
INPUT TXTi
-
Emission d'un message
OUTPUT TXTi
-
Emission/Réception d'un message
EXCHG TXTi
-
Exécution d'un OFB
EXEC < OFBi >
-
Lecture de télégrammes
READTLG
-
35013155.01 07/2008
Différence PL7-2/3 et PL7 Micro/Junior
Délimiteurs
Différences
35013155.01 07/2008
Tableau des différences entre PL7-2/3 et PL7-Micro/Junior
Objets
PL7-2/3
PL7 Micro/Junior
Affectation
->
:=
Parenthèse gauche pour l'indexation
(
[
Parenthèse droite pour l'indexation
)
]
Longueur de tableau
[longueur]
:longueur
29
Différence PL7-2/3 et PL7 Micro/Junior
30
35013155.01 07/2008
Aide-mémoire
2
Présentation
Contenu de ce
chapitre
Ce chapitre contient un aide-mémoire des instructions du langage PL7
Contenu de ce
chapitre
Ce chapitre contient les sujets suivants :
Sujet
Instructions booléennes
35013155.01 07/2008
Page
32
Instructions ST
35
Blocs fonctions LD et IL
36
Blocs fonctions ST
37
Structures de contrôle ST
38
Arithmétique entière (simple et double longueur)
39
Arithmétique sur flottants
40
Conversions numériques
41
Tableaux de bits
42
Instructions sur tableaux
43
Instructions sur tableaux de flottants
44
Instructions "Orphée"
45
Echanges explicites
46
Instructions de gestion du temps
47
Instructions de temporisation
48
Instructions d'archivage de données
49
Instructions sur chaînes de caractères
50
Multi-tâches et événements
51
Communication
52
31
Aide-mémoire
Instructions booléennes
32
35013155.01 07/2008
Aide-mémoire
Aide-mémoire
Instructions
booléennes
Aide mémoire rapide des instructions booléennes
LD
IL
Initialisation
accumulateur ou
réseau
LD TRUE
Test (lecture) direct,
inverse, front montant,
front descendant
LD, LDN
LDF, LDR
P
N
Et logique
AND
P
N
P
N
AND(
ANDN
AND(N
Inversion
-
N
Ou logique exclusif
(direct, inverse, front
montant, front
descendant)
-
XOR XORN
XORR XORF
Ecriture (directe,
inverse)
Mise à 1
Mise à 0
Bloc opération
(contenu: voir pages
suivantes)
Bloc comparaison
horizontal
(contenu: voir pages
suivantes)
35013155.01 07/2008
ANDR
ANDF
AND(R
AND(F
ST
STN
S
R
OPERATE
S
R
[action]
action
COMPARE
comparaison
LD
AND
AND(
OR
OR(
XOR
[comparaison]
[comparaison]
[comparaison]
[comparaison]
[comparaison]
[comparaison]
33
Aide-mémoire
Instructions
booléennes
Bloc comparaison
verticale
LD
IL
-
COMPARE
EN
>
=
<
<>
MemoryPusH
MemoryReaD
MemoryPOP
34
MPS
MRD
MPP
35013155.01 07/2008
Aide-mémoire
Instructions ST
Aide-mémoire
35013155.01 07/2008
Aide mémoire rapide des instructions ST
Instructions
ST
Affectation
:=
OU booléen
OR
ET booléen
AND
OU exclusif booléen
XOR
Inversion
NOT
Front montant, descendant
RE, FE
Mise à 1, mise à 0
SET, RESET
35
Aide-mémoire
Blocs fonctions LD et IL
Aide-mémoire
Blocs fonctions
Aide mémoire rapide des Blocs fonctions LD et IL
LD
IL
Temporisateurs IEC
IN
structure
%TMi
IN
Temporisateur PL-3
Q
-
%Ti
E
D
C
R
Compteur-décompteur
BLK..END_BLK
%Ci
R
E
S
D
CU
F
R
S
CU
CD
structure
BLK..END_BLK
S
structure
BLK..END_BLK
R
I
O
STN
structure
BLK..END_BLK
R
U
structure
BLK..END_BLK
CD
Monostable
Registre
%MNi
S
R
%Ri
R
F
I
E
O
Drum
%DRi
R
U
36
F
35013155.01 07/2008
Aide-mémoire
Blocs fonctions ST
Aide-mémoire
35013155.01 07/2008
Aide mémoire rapide des iblocs fonctions ST
Blocs fonctions
ST
Temporisateur IEC
START%TMi
DOWN%TMi
Temporisateur PL-3
PRESET%Ti
START%Ti
STOP%Ti
Compteur-décompteur
RESET%Ci
PRESET%Ci
UP%Ci,DOWN%Ci
Monostable
START%MNi
Registre
RESET%Ri
PUT%Ri
GET%Ri
Drum
RESET%DRi
UP%DRi
37
Aide-mémoire
Structures de contrôle ST
Aide-mémoire
38
Aide mémoire rapide des structures de contrôle ST
Structures de contrôle
ST
Action conditionelle
IF...THEN...ELSIF...THEN..ELSE...END_IF;
Action itérative conditionnelle
WHILE...DO...END_WHILE;
Action itérative conditionnelle
REPEAT...UNTIL...END_REPEAT;
Action répétitive
FOR...DO...END_FOR;
Instruction de sortie de boucle
EXIT
35013155.01 07/2008
Aide-mémoire
Arithmétique entière (simple et double longueur)
Aide-mémoire
35013155.01 07/2008
Aide mémoire rapide des instructions arithmétiques entières
Arithmétique entière (simple et double longueur)
LD/IL/ST
Transfert ou initialisation
:=
Comparaisons
= <> <= < > >=
Addition, soustraction, multiplication, division, reste
de la division
+ - * / REM
ET, OU, OU exclusif, complément
AND OR XOR NOT
Valeur absolue, Racine carrée
ABS, SQRT
Incrément
INC
Décrément
DEC
Décalage à gauche
SHL
Décalage à droite
SHR
Décalage circulaire à gauche
ROL
Décalage circulaire à droite
ROR
39
Aide-mémoire
Arithmétique sur flottants
Aide-mémoire
Aide mémoire rapide des instructions arithmétiques sur flottants
Arithmétiques sur flottants
LD/IL/ST
Transfert ou initialisation
:=
Comparaisons
= <> <= < > >=
Addition, soustraction, multiplication, division, partie entière
+ - * / TRUNC
Valeur absolue, racine carrée
ABS, SQRT
Logarithme, exponentielles
LOG, LN, EXPT, EXP
Sinus, cosinus, tangente
SIN, COS, TAN
Arc sinus, arc cosinus, arc tangente
ASIN, ACOS, ATAN
Conversion degré <--> radian
DEG_TO_RAD, RAD_TO_DEG
40
35013155.01 07/2008
Aide-mémoire
Conversions numériques
Aide-mémoire
Aide mémoire rapide des instructions de conversions numériques
Conversions numériques
LD/IL/ST
Conversion BCD en entier simple longueur
Conversion GRAY en entier simple longueur
Conversion entier simple longueur en BCD
Conversion entier simple longueur en flottant
Conversion entier double longueur en flottant
Conversion flottant en entier simple longueur
Conversion flottant en entier double longueur
Conversion BCD 32 bits en entier 32 bits
Conversion entier 32 bits en BCD 32 bits
Conversion BCD 32 bits en entier 16 bits
Conversion entier 16 bits en BCD 32 bits
Extraction d'un mot de poids faible d'un mot double
Extraction d'un mot de poids fort d'un mot double
Concaténation de 2 mots simples
BCD_TO_INT
GRAY_TO_INT
INT_TO_BCD
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
35013155.01 07/2008
41
Aide-mémoire
Tableaux de bits
Aide-mémoire
Aide mémoire rapide des instructions sur tableaux de bits
Tableaux de bits
LD/IL/ST
Transfert ou intialisation
:=
Copie d’un tableau de bits dans un tableau de bits
ET entre deux tableaux
OU entre deux tableaux
OU exclusif entre deux tableaux
Négation 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
COPY_BIT
AND_ARX
OR_ARX
XOR_ARX
NOT_ARX
BIT_W
BIT_D
W_BIT
D_BIT
LENGTH_ARX
42
35013155.01 07/2008
Aide-mémoire
Instructions sur tableaux
Aide-mémoire
Aide mémoire rapide des instructions sur tableaux
Instructions sur tableaux
LD/IL/ST
Transfert ou intialisation
:=
Opérations arithmétiques entre tableaux
+ - * / REM
Opérations logiques entre tableaux
AND OR XOR
Opérations arithmétiques entre un tableau et un entier
+ - * / REM
Opérations logiques entre un tableau et un entier
AND OR XOR
Complément des éléments d’un tableau
NOT
Somme de tous les éléments d’un tableau
SUM
Comparaison de deux tableaux
EQUAL
Recherche du 1er élément d’un tableau égal à une valeur
FIND_EQW, FIND_EQD
Recherche du 1er élément d’un tableau égal à une valeur depuis un rang
FIND_EQWP, FIND_EQDP
Recherche du 1er élément d’un tableau sup.à une valeur
FIND_GTW, FIND_GTD
Recherche du 1er élément d’un tableau inf.à une valeur
FIND_LTW, FIND_LTD
Recherche de la plus grande valeur dans un tableau
MAX_ARW, MAX_ARD
Recherche de la plus petite valeur dans un tableau
MIN_ARW, MIN_ARD
Nombre d’occurences d’une valeur dans un tableau
OCCUR_ARW, OCCUR_ARD
Décalage circulaire à gauche d’un tableau
ROL_ARW, ROL_ARD
Décalage circulaire à droite d’un tableau
ROR_ARW, ROL_ARW
Tri d’un tableau (croissant ou décroissant)
SORT_ARW, SORT_ARD
Calcul de la longueur d'un tableau
LENGTH_ARW, LENGTH_ARD
35013155.01 07/2008
43
Aide-mémoire
Instructions sur tableaux de flottants
Aide-mémoire
Aide mémoire rapide des instructions sur tableaux de flottants
Instructions sur tableaux de flottants
LD/IL/ST
Transfert et initialisation
:=
Somme de tous les éléments d’un tableau
SUM_ARR
Comparaison de deux tableaux
EQUAL_ARR
Recherche du 1er élément d’un tableau égal à une valeur
FIND_EQR
Recherche du 1er élément d’un tableau sup.à une valeur
FIND_GTR
Recherche du 1er élément d’un tableau inf.à une valeur
FIND_LTR
Recherche de la plus grande valeur dans un tableau
MAX_ARR
Recherche de la plus petite valeur dans un tableau
MIN_ARR
Nombre d’occurrences d’une valeur dans un tableau
OCCUR_ARR
Décalage circulaire à gauche d’un tableau
ROL_ARR
Décalage circulaire à droite d’un tableau
ROR_ARR
Tri d’un tableau (croissant ou décroissant)
SORT_ARR
Calcul de la longueur d'un tableau
LENGHT_ARR
44
35013155.01 07/2008
Aide-mémoire
Instructions "Orphée"
Aide-mémoire
Aide mémoire rapide des instructions "Orphée"
Instructions "Orphée"
LD/IL/ST
Décalage à gauche sur mot avec récupération des bits décalés
WSHL_RBIT, DSHL_RBIT
Décalage à droite sur mot avec extension de signe et récupération des bits décalés WSHR_RBIT, DSHR_RBIT
Décalage à droite sur mot avec remplissage par 0 et récupération des bits décalés WSHRZ_C, DSHRZ_C
Comptage/décomptage avec signalisation de dépassement
SCOUNT
Décalage circulaire gauche
ROLW, ROLD
Décalage circulaire droit
RORW, RORD
35013155.01 07/2008
45
Aide-mémoire
Echanges explicites
Aide-mémoire
Aide mémoire rapide des Echanges explicites
Echanges explicites
LD/IL/ST
Lecture des paramètres %M d’une voie logique
READ_PARAM
Lecture des %M de status d’une voie logique
READ_STS
Restitution des paramètres %M d'une voie logique
RESTORE_PARAM
Sauvegarde des paramètres %M d’une voie logique
SAVE_PARAM
Ecriture des %M de commande d’une voie logique
WRITE_CMD
Ecriture des paramètres %M d’une voie logique
WRITE_PARAM
46
35013155.01 07/2008
Aide-mémoire
Instructions de gestion du temps
Aide-mémoire
Aide mémoire rapide des instructions de gestion du temps
Instructions de gestion du temps
LD/IL/ST
Horodateur
SCHEDULE
Comparaisons
= <> <= < > >=
Transfert
:=
Lecture de la date et du code du dernier arrêt de l’automate
PTC
Lecture de la date système
RRTC
Mise à jour de la date système
WRTC
Ajout d’une durée à une date complète
ADD_DT
Ajout d’une durée à une heure du jour
ADD_TOD
Conversion d’une date en chaîne
DATE_TO_STRING
Jour de la semaine
DAY_OF_WEEK
Ecart entre deux dates
DELTA_D
Ecart entre deux dates complètes
DELTA_DT
Ecart entre deux heures du jour
DELTA_TOD
Conversion d’une date complète en chaîne
DT_TO_STRING
Retrait d’une durée à une date complète
SUB_DT
Retrait d’une durée à une heure du jour
SUB_TOD
Conversion d’une durée en chaîne
TIME_TO_STRING
Conversion d’une heure du jour en chaîne
TOD_TO_STRING
Mise sous la forme heures-mn-sec d’une durée
TRANS_TIME
35013155.01 07/2008
47
Aide-mémoire
Instructions de temporisation
Aide-mémoire
Aide mémoire rapide des instructions de temporisation
Instructions de temporisation
LD/IL/ST
Temporisation au déclenchement
FTON
Temporisation au déclenchement
FTOF
Temporisation d'impulsion
FTP
Générateur de signaux rectangulaires
FPULSOR
48
35013155.01 07/2008
Aide-mémoire
Instructions d'archivage de données
Aide-mémoire
Aide mémoire rapide des Instructions d'archivage de données
Instructions d'archivage de données
LD/IL/ST
Initialisation zone d'archivage sur carte PCMCIA
SET_PCMCIA
Ecriture de données sur carte PCMCIA
WRITE_PCMCIA
Lecture de données sur carte PCMCIA
READ_PCMCIA
Initialisation zone d'archivage sur carte DATA Archiving
SET_PCM_EXT
Ecriture de données sur carte DATA Archiving
WRITE_PCM_EXT
Lecture de données sur carte DATA Archiving
READ_PCM_EXT
35013155.01 07/2008
49
Aide-mémoire
Instructions sur chaînes de caractères
Aide-mémoire
Aide mémoire rapide des Instructions sur chaînes de caractères
Instructions sur chaînes de caractères
LD/IL/ST
Comparaisons
= <> <= < > >=
Transfert
:=
Conversion d’un entier double en string
DINT_TO_STRING
Conversion d’un entier simple en string
INT_TO_STRING
Conversion d’une chaîne en entier double
STRING_TO_DINT
Conversion d’une chaîne en entier simple
STRING_TO_INT
Conversion d’une chaîne en flottant
STRING_TO_REAL
Conversion d’un flottant en string
REAL_TO_STRING
Concaténation de deux chaînes
CONCAT
Suppression d’une sous-chaîne
DELETE
Recherche du premier caractère différent
EQUAL_STR
Recherche d’une sous-chaîne
FIND
Insertion d’une sous-chaîne
INSERT
Extraction de la partie gauche d’une chaîne
LEFT
Longueur d’une chaîne
LEN
Extraction d’une sous-chaîne
MID
Replacement d’une sous-chaîne
REPLACE
Extraction de la partie droite d'une chaîne
RIGHT
50
35013155.01 07/2008
Aide-mémoire
Multi-tâches et événements
Aide-mémoire
Aide mémoire rapide des Instructions de Multi-tâches et événements
Multi-tâches et événements
LD/IL/ST
Activation / désactivation d’une tâche
positionnement %Si
Régler le temps de cycle d’une tâche
positionnement %SWi
Masquage global des événements
MASKEVT
Démasquage global des événements
UNMASKEVT
35013155.01 07/2008
51
Aide-mémoire
Communication
Aide-mémoire
Aide mémoire rapide des Instructions de communication
Communication
LD/IL/ST
Demande d’arrêt d’une fonction en cours
CANCEL
Emission de données et/ou réception de données
DATA_EXCH
Demande de lecture d’une chaîne de caractères
INPUT_CHAR
Emission et/ou demande de réception d’une chaîne de caractères
OUT_IN_CHAR
Emission d’une chaîne de caractères
PRINT_CHAR
Réception d’un télégramme
RCV_TLG
Lecture d’objets langage de base
READ_VAR
Emission/réception de requêtes UNI-TE
SEND_REQ
Emission d’un télégramme
SEND_TLG
Ecriture d’objets langage de base
WRITE_VAR
Décalage d'un octet à droite dans un tableau
ROR1_ARB
Permutation des octets dans un tableau de mots
SWAP
Lecture de données communes Modbus+
READ_GDATA
Ecriture de données communes Modbus+
WRITE_GDATA
Gestion de la connexion carte modem
CALL_MODEM
Serveur immédiat
SERVER
Ecriture 1 K messagerie
WRITE_ASYN
Lecture 1 K messagerie
READ_ASYN
52
35013155.01 07/2008
Mots réservés
3
Mots réservés
Liste de mots
réservés
Les mots réservés ci-après ne doivent pas être utilisés en tant que symboles.
Mots de A à C
Liste de mots réservés
A
ABS
ACCEPT
ACOS
ACTION
ACTIVATE_PULSE
ACTIVE_TIME
ADD
ADDRESS
ADD_DT
ADD_TOD
ADR
AND
ANDF
ANDN
ANDR
AND_ARX
ANY
ANY_BIT
ANY_DATE
ANY_INT
35013155.01 07/2008
ANY_REAL
ARRAY
AR_D
AR_DINT
AR_F
AR_INT
AR_R
AR_W
AR_X
ASIN
ASK
ASK_MSG
ASK_VALUE
ASSIGN_KEYS
AT
ATAN
AUX
B
BCD_TO_INT
BIT_D
BIT_W
BLOCK
BODY
BOOL
BOTTOM
BTI
BTR
BY
BYTE
C
CAL
CALC
CALCN
CALL
CALL_COIL
CANCEL
CASE
CD
CHART
CH_M
CLK
CLOSE
COIL
COMMAND
COMMENTS
COMP4
COMPCH
CONCAT
CONCATW
CONF
CONFIGURATION
CONSTANT
CONTROL_LEDS
COPY_BIT
COS
CTD
CTU
CTUD
CU
CLOSED_CONTACT
BLK
ANY_NUM
53
Mots réservés
Mots de D à E
D
DATE
DATE_AND_TIME
DAT_FMT
DAY_OF_WEEK
DA_TYPE
DEACTIVATE_PULSE
DEC
DELETE
DELTA_D
DELTA_DT
DELTA_TOD
DINT
DINT_TO_REAL
DINT_TO_STRING
DISPLAY_ALRM
DISPLAY_GRP
DISPLAY_MSG
DIV
DMOVE
54
Liste de mots réservés
DO
DOWN
DR
DRUM
DS
DSHL_RBIT
DSHRZ_C
DSHR_RBIT
DSORT_ARD
DSORT_ARW
DT
DTS
DWORD
D_BIT
E
EBOOL
ELSE
ELSIF
EMPTY
EMPTY_LINE
END
ENDC
ENDCN
END_ACTION
END_BLK
END_BLOCK
END_CASE
END_COMMENTS
END_CONFIGURATION
END_FOR
END_FUNCTION
END_FUNCTION_BLOCK
END_IF
END_MACRO_STEP
END_PAGE
END_PHRASE
END_PROG
END_PROGRAM
END_REPEAT
END_RESOURCE
END_RUNG
END_STEP
END_STRUCT
END_TRANSITION
END_TYPE
END_VAR
END_WHILE
EQ
EQUAL
EQUAL_ARR
ERR
EVT
EXCHG
EXCH_DATA
EXIT
EXP
EXPT
35013155.01 07/2008
Mots réservés
Mots de F à J
F
FALSE
FAST
FBD
FE
FIFO
FIND
FIND_EQ
FIND_EQD
FIND_EQDP
FIND_EQR
FIND_EQW
FIND_EQWP
FIND_GTD
FIND_GTR
FIND_GTW
FIND_LTD
FIND_LTR
FIND_LTW
Mots de L à M
L
LAD
LANGAGE
LANGUAGE
LD
LDF
LDN
LDR
LE
LEFT
LEN
LENGTH_ARD
LENGTH_ARR
LENGTH_ARW
LENGTH_ARX
35013155.01 07/2008
Liste de mots réservés
FOR
FPULSOR
FROM
FTOF
FTON
FTP
FUNC
FUNCTION
FUNCTION_BLOCK
F_B
F_EDGE
F_TRIG
G
GE
GET
GET_MSG
GET_VALUE
GLOBAL_COMMENT
GR7
GRAY_TO_INT
GT
GTI
H
HALT
HALT_COIL
HASH_COIL
HW
H_COMPARE
H_LINK
I
IF
IL
IN
INC
INCJUMP
INDEX_CH
INFO
INITIAL_STEP
INIT_BUTTONS
INPUT
INPUT_CHAR
INSERT
INT
INTERVAL
INT_TO_BCD
INT_TO_REAL
INT_TO_STRING
ITB
ITS
J
JMP
JMPC
JMPCN
JUMP
JUMP_COIL
MASKEVT
MAST
MAX
MAX_ARD
MAX_ARR
MAX_ARW
MAX_PAGES
MAX_STEP
MCR
MCR_COIL
MCS
MCS_COIL
MID
MIN
MIN_ARD
MIN_ARR
MIN_ARW
MN
MOD
MONO
MOVE
MPP
MPS
MRD
MS
MUL
MUX
M_CH
M_MACRO_STEP
Liste de mots réservés
LIFO
LIMIT
LINT
LIST
LIT
LN
LOCATION
LOG
LREAL
LT
LW
LWORD
M
MACRO_STEP
MAIN
55
Mots réservés
Mots de N à P
Liste de mots réservés
N
N1
NAME
NB_ACTIVE_STEPS
NB_ACTIVE_TIME
NB_BLOCKS
NB_COMMON_WORDS
NB_CONSTANT_WORDS
NB_CPT
NB_DRUM
NB_INTERNAL_BITS
NB_INTERNAL_WORDS
NB_MACRO_STEPS
NB_MONO
NB_PAGES
NB_REG
NB_TIMER
NB_TM
NB_TRANSITIONS
NE
NIL
Mots de Q à R
Q
QUERY
R
R1
RCV_TLG
RE
READ
READ_EVT_UTW
READ_ONLY
READ_PARAM
READ_STS
READ_VAR
READ_WRITE
REAL
REAL_TO_DINT
56
NO
NON_STORED
NOP
NOT
NOT_ARX
NOT_COIL
NOT_READABLE
NO_GR7
NO_PERIOD
N_CONTACT
O
OCCUR
OCCUR_ARD
OCCUR_ARR
OCCUR_ARW
OF
ON
OPEN
OPEN_CONTACT
OPERATE
OR
ORF
ORN
ORR
OR_ARX
OTHERS
OUT
OUTIN_CHAR
OUTPUT
OUT_BLK
P
P0
P1
PAGE
PAGE_COMMENT
PANEL_CMD
PERIOD
PHRASE
PHRASE_COMMENT
PID
PID_MMI
PLC
POST
PRESET
PRINT
PRINT_CHAR
PRIO0
PRIO1
PRIORITY
PRL
PROG
PROGRAM
PROG_LANGAGE
PROG_LANGUAGE
PT
PTC
PUT
PV
PWM
P_CONTACT
RETURN
RET_COIL
RIGHT
ROL
ROLD
ROLW
ROL_ARD
ROL_ARR
ROL_ARW
ROL_DWORD
ROL_WORD
ROR
RORD
RORW
ROR_ARD
ROR_ARR
ROR_ARW
ROR_DWORD
ROR_WORD
RRTC
RS
RTB
RTC
RTS
RUNG
R_EDGE
R_TRIG
Liste de mots réservés
REAL_TO_INT
REAL_TO_STRING
REG
REM
REPEAT
REPLACE
REQ
RESET
RESET_COIL
RESOURCE
RESTORE_PARAM
RET
RETAIN
RETC
RETCN
35013155.01 07/2008
Mots réservés
Mots de S à S
S
S1
SAVE
SAVE_PARAM
SCHEDULE
SD
SEARCH
SECTION
SEL
SEMA
SEND
SENDER
SEND_ALARM
SEND_MBX_ALARM
SEND_MBX_MSG
SEND_MSG
Mots T à W
T
TAN
TASK
TASKS
THEN
TIME
TIMER
TIME_OF_DAY
TM
TMAX
TMOVE
TO
TOD
TOF
TOFF
TON
35013155.01 07/2008
Liste de mots réservés
SEND_REQ
SEND_TLG
SERVO
SET
SET_COIL
SFC
SHIFT
SHL
SHOW_ALARM
SHOW_MSG
SHOW_PAGE
SHR
SHRZ
SIN
SINGLE
SINT
SL
SLCWORD
SMOVE
SOFT_CONFIGURATION
SORT
SORT_ARD
SORT_ARR
SORT_ARW
SQRT
SR
ST
STANDARD
START
STD
STEP
STI
STN
STOP
STR
STRING
STRING_TO_DINT
STRING_TO_INT
STRING_TO_REAL
STRUCT
SUB
SUB_DT
SUB_TOD
SUM
SU_TYPE
SWAP
S_T_AND_LINK
S_T_OR_LINK
UP
USINT
USORT_ARD
USORT_ARW
UTIN_CHAR
V
VAR
VAR_ACCESS
VAR_EXTERNAL
VAR_GLOBAL
VAR_INPUT
VAR_IN_OUT
VAR_OUTPUT
VAR_PUBLIC
VERSION
V_COMPARE
V_LINK
W
WHILE
WITH
WORD
WRITE
WRITE_CMD
WRITE_PARAM
WRITE_VAR
WRTC
WSHL_RBIT
WSHRZ_C
WSHR_RBIT
W_BIT
Liste de mots réservés
TOP
TP
TRANSITION
TRANS_TIME
TRUE
TRUNC
TYPE
TYPES
T_S_AND_LINK
T_S_OR_LINK
U
UDINT
UINT
ULINT
UNMASKEVT
UNTIL
57
Mots réservés
Mots X, Y et
Divers
58
Liste de mots réservés
X
XM
XM_MONO
XM_MULTI
XOR
XORF
XORN
XORR
XOR_ARX
Y
YES
*_TO_* * = Letter
SRi
AUXi
EVTi
XMi
i = entier
35013155.01 07/2008
Conformité au standard
CEI 1131-3
4
Présentation
Contenu de ce
chapitre
Ce chapitre décrit la conformité au standard CEI 1131-3 :
"Automates Programmables"
Contenu de ce
chapitre
Ce chapitre contient les sujets suivants :
Sujet
Conformité au standard CEI 1131-3
35013155.01 07/2008
Page
60
Eléments commun
61
Eléments de langage IL
67
Eléments de langage ST
68
Eléments graphiques communs
70
Eléments de langage LD
71
Paramètres dépendant de l’implémentation
72
Situations d’erreurs
76
59
Conformité à CEI 1131-3
Conformité au standard CEI 1131-3
Présentation du
standard
CEI 1131-3
Le standard CEI 1131-3 «Automates programmables - Partie 3 : Langages de
programmation» spécifie la syntaxe et la sémantique des éléments logiciels mis en
oeuvre pour programmer les automates.
Ce standard comporte la description de 2 langages textuels, IL (Instruction List) et
ST (Structured Text), de 2 langages graphiques, LD (Ladder Diagram) et FBD
(Function Block Diagram) et d’un formalisme graphique, SFC (Sequential Function
Chart), qui permet de structurer l’organisation interne d’une séquence programmée.
Le logiciel PL7 permet de programmer un automate conformément au standard
CEI : PL7 implémente un sous-ensemble des éléments de langages définis dans le
standard et définit des extensions, extensions qui sont autorisées dans le cadre de
ce standard.
Le standard CEI 1131-3 ne définit pas les règles d’interactivité du logiciel fourni par
un constructeur se réclamant conforme au standard, ce qui laisse une grande
souplesse de présentation et de saisie des éléments de programmation pour le
confort de l’utilisateur.
Les éléments du standard implémentés dans PL7, les informations spécifiques
d’implémentation et les cas de détection d’erreurs sont synthétisés dans des tables
de conformité.
60
35013155.01 07/2008
Conformité à CEI 1131-3
Eléments commun
Généralites
35013155.01 07/2008
Description des caractéristiques communes aux langages qui sont conformes à la
CEI 1131-3
Le tableau suivant liste en regard des tableaux de caractéristiques décrites dans le
standard IEC 1131-3, l’implémentation faite dans les langages PL7. Ceci pour les
caractéristiques communes à tous les langages PL7.
61
Conformité à CEI 1131-3
Tableau de
caratéristiques
Caractéristiques communes à tous les langages:
Tableau No
Caractéristique No
Description des caractéristiques
1
1
Jeu de caractères requis (voir paragraphe 2.1.1 de 1131-3)
1
2
Caractères minuscules
1
3a
Signe numéro (#)
1
4a
Signe dollar ($)
1
5a
Barre verticale (|)
1
6a
Délimiteurs d’indices : Crochets gauche et droit "[ ]"
2
1
Majuscules et nombres
2
2
Majuscule et minuscule, nombres, caractères de soulignements intégrés
3
1
Commentaires
4
1
Littéraux entiers (Note 1)
4
2
Littéraux réels (Note 1)
4
3
Littéraux réels avec des exposants
4
4
Littéraux en base 2 (Note 1)
4
6
Littéraux en base 16 (Note 1)
4
7
Booléens Zéro et Un
4
8
Booléens TRUE et FALSE
5
1
Caractéristiques des littéraux chaînes de caractères
6
2
$$ Signe dollar
6
3
$’ Apostrophe
6
4
$L ou $l Changement de ligne
6
5
$N ou $n Nouvelle ligne
6
6
$P ou $p Changement de page
6
7
$R ou $r Retour du curseur
6
8
$T ou $t Tabulation
7
1a
Littéraux de durée avec préfixe court t# (Note 2)
10
1
BOOL -1 bit-
10
10
REAL -32 bits-
10
12
TIME -32 bits- (Note 3)
10
13
DATE -32 bits- (Note 3)
10
14
TIME_OF_DAY -32 bits- (Note 3)
10
15
DATE_AND_TIME -64 bits- (Note 3)
10
16
STRING
62
35013155.01 07/2008
Conformité à CEI 1131-3
Tableau No
Caractéristique No
Description des caractéristiques
10
17
BYTE -8 bits-
10
18
WORD -16 bits-
10
19
DWORD -32 bits-
15
1
Préfixe I pour Input
15
2
Préfixe Q pour Output
15
3
Préfixe M pour Memory
15
4
Préfixe X, taille d’un bit
15
5
Aucun préfixe, taille d’un bit
15
6
Préfixe B, taille d’un octet (8 bits)
15
7
Préfixe W, taille d’un mot (16 bits)
15
8
Préfixe D, taille d’un double mot (32 bits)
16
VAR
VAR_INPUT
VAR_OUTPUT
VAR_IN_OUT
VAR_EXTERNAL
VAR_GLOBAL
CONSTANT
AT
Mots clés (Note 4)
17
2
Déclaration de variables non volatiles directement représentées (repères)
(Note 4)
17
3
Déclaration d'emplacements des variables symboliques (symboles ou
repères) (Note 4)
17
5
Affectation automatique en mémoire de variables symboliques (variables de
blocs fonction) (Note 4)
18
2
Initialisation de variables non volatiles directement représentées (repères)
(Note 4)
18
3
Affectation d'emplacements et de valeurs initiales de variables symboliques
(symboles sur repères) (Note 4)
18
5
Initialisation de variables symboliques (variables de blocs fonction ) (Note 4)
21
1
Les fonctions surchargées de PL7 sont les suivantes:
ABS, EQUAL, ROL, ROR, SHL, SHR, SQRT, SUM
21
2
En général les fonctions de PL7 appartiennent à cette catégorie.
22
3
Fonction de conversion BCD_TO_INT (Note 6)
22
4
Fonction de conversion INT_TO_BCD (Note 6)
23
1
Fonction ABS: valeur absolue
23
2
Fonction SQRT: racine carrée
35013155.01 07/2008
63
Conformité à CEI 1131-3
Tableau No
Caractéristique No
Description des caractéristiques
23
3
Fonction LN: logarithme népérien
23
4
Fonction LOG: logarithme en base 10
23
5
Fonction EXP: exponentielle naturelle
23
6
Fonction SIN: sinus en radian
23
7
Fonction COS: cosinus en radian
23
8
Fonction TAN: tangente en radian
23
9
Fonction ASIN: arc sinus
23
10
Fonction ACOS: arc cosinus
23
11
Fonction ATAN: arc tangente
25
1
Fonction SHL: décalage à gauche
25
2
Fonction SHR: décalage à droite
25
3
Fonction ROR: rotation à droite
25
4
Fonction ROL: rotation à gauche
29
1
Fonction LEN: longueur de chaîne
29
2
Fonction LEFT: n caractères les plus à gauche
29
3
Fonction RIGHT: n caractères les plus à droite
29
4
Fonction MID: n caractères à partir d’une position donnée
29
5
Fonction CONCAT: concaténation de chaînes (Note 7)
29
6
Fonction INSERT: insérer une chaîne dans une autre
29
7
Fonction DELETE: supprimer des caractères
29
8
Fonction REPLACE: remplacer des caractères autre
29
9
Fonction FIND: rechercher une chaîne dans une autre
32
Inputread
Inputwrite
Outputread
Outputwrite
(Note 8)
33
1
Qualificatif RETAIN pour les variables internes des blocs fonction.) (Note 9)
(Note 4)
33
2
Qualificatif RETAIN pour les sorties des blocs fonction (Note 9) (Note 4)
33
4a
Déclaration d'entrées/sorties de blocs fonction (littérale). (Note 4)
37
1
Timer à impulsion: TP (Note 10)
37
2a
Timer à enclenchement: TON (Note 10)
37
3a
Timer à déclenchement: TOF (Note 10)
38
schémas temporels
TP, TON, TOF
39
19
Utilisation de variables directement représentées (repères)
64
35013155.01 07/2008
Conformité à CEI 1131-3
Tableau No
Caractéristique No
Description des caractéristiques
40
1
Etape, forme graphique
Note: Un numéro d’étape remplace un identificateur d’étape
40
2
Etape, forme textuelle utilisée dans la forme source du Grafcet uniquement
41
1
Condition de transition en langage ST
41
2
Condition de transition en langage LD
42
2l
Déclarations des actions en langage LD
43
1
Bloc d'action
2
Blocs d'action concaténés
45
2
Qualificatif d'action N (non mémorisé)
45
11
Qualificatif d'action P1 (Pulse rising edge)
45
12
Qualificatif d'action P0 (Pulse falling edge)
46
1
Simple séquence, alternance d’étape/transition
46
2c
Divergence en «ou»: l’utilisateur s’assure que les conditions des transitions
sont mutuellement exclusives
46
3
Convergence en «ou»
46
4
Divergence en «et», Convergence en «et»
46
5c
Saut de séquence dans une divergence en «ou»
46
6c
Boucle de séquence: retour à une précédente étape
46
7
Flèches directionnelles
Note: Les flèches directionnelles sont montantes et descendantes
48
40
41
42
43
44
45
46
Le langage Grafcet remplit les conditions pour avoir le niveau minimum de
conformité SFC 1131-3
49
3
Construction RESOURCE...ON...END_RESOURCE
49
5a
Construction TASK périodique dans RESOURCE
49
6a
Déclaration PROGRAM avec association PROGRAM-to-TASK
49
7
Déclaration de variables directement représentées dans VAR_GLOBAL
50
5b
Ordonnancement préemptif dans le modèle multi-tâches
35013155.01 07/2008
Représentation graphique
65
Conformité à CEI 1131-3
Note :
z Note 1 : Les caractères de soulignement (_) insérés entre les chiffres d’un
litteral numérique ne sont pas acceptés.
z Note 2 : Ces littéraux ne sont visibles que dans le source application, pour
exprimer les temps des tâches configurées.
z Note 3 : Ces types de données ne sont pas encore implémentés de façon
visible pour l’utilisateur. Ce tableau précise néanmoins l’occupation mémoire de
leur représentation interne.
z Note 4 : Ces mots clés ne sont utilisés que dans les sources générés par PL7
et par l’outil de conversion d’application PL7-2 et PL7-3.
z Note 5 : Effets de conversions aux limites:
DINT_TO_STRING: Si la chaîne accueillant le résultat est inférieure à 13
caractères, il y a troncature et positionnement de %S15.
INT_TO_STRING: Si la chaîne accueillant le résultat est inférieure à 7
caractères, il y a troncature et positionnement de %S15.
STRING_TO_DINT et STRING_TO_INT: Si la chaîne n’est pas convertible en
entier, le résultat est indéterminé et il y a positionnement de %S18.
DATE_TO_STRING: Si la chaîne accueillant le résultat est inférieure à 11
caractères, il y a troncature et positionnement de %S15.
DT_TO_STRING: Si la chaîne accueillant le résultat est inférieure à 20
caractères, il y a troncature et positionnement de %S15.
TIME_TO_STRING: Si la chaîne accueillant le résultat est inférieure à 15
caractères, il y a troncature et positionnement de %S15.
TOD_TO_STRING: Si la chaîne accueillant le résultat est inférieure à 9
caractères, il y a troncature et positionnement de %S15.
REAL_TO_STRING: Si la chaîne accueillant le résultat est inférieure à 15
caractères, il y a troncature et positionnement de %S15.
STRING_TO_REAL: Si la chaîne n’est pas convertible en réel, le résultat
vaut«1.#NAN» (16#FFC0_0000) et il y a positionnement de %S18.
REAL_TO_INT: Si le réel n’est pas convertible dans les limites [-32768,
+32767], le résultat vaut -32768 et il y a positionnement de %S18 et
%SW17:X0.
REAL_TO_DINT: Si le réel n’est pas convertible dans les limites [2147483648,+2147483647], le résultat vaut -2147483648 et il y a
positionnement de %S18 et%SW17:X0.
INT_TO_REAL: La conversion est toujours possible.
DINT_TO_REAL: La conversion est toujours possible.
z Note 6 : Le type INT n’étant pas formellement implémenté - mais tout de même
utilisé -, ces fonctions permettent de changer le format de codage d’un WORD.
z Note 7 : Limitation de la fonction CONCAT à la concaténation de 2 chaînes.
z Note 8 : Ce paragraphe s’applique aux blocs fonctions prédéfinis PL7.
z Note 9 : Le qualificatif RETAIN est implicite.
z Note 10 : Les timers TP, TON, TOF respectent les diagrammes temporels de la
table 38, mais présentent une interface d’E/S différente de la 1131-3.
66
35013155.01 07/2008
Conformité à CEI 1131-3
Eléments de langage IL
Généralites
Description des caractéristiques des éléments de langage IL qui sont conformes à
la CEI 1131-3
Le tableau suivant liste en regard des tableaux de caractéristiques décrites dans le
standard IEC 1131-3, l’implémentation faite dans les langages PL7.
Tableau de
caratéristiques
Caractéristiques des éléments de langage IL:
Tableau No
Caractéristique No
Description des caractéristiques
51
Champs d’instruction
Etiquette, opérateur, opérande, commentaire
52
1
LD
52
2
ST
52
3
S et R
52
4
5
6
AND
OR
XOR
52
18
JMP
52
20
RET
52
21
)
53
3
Utilisation d'opérateurs d'entrée pour le lancement de blocs fonction en
langage IL
54
11
IN (voir Note)
54
12
IN (voir Note)
54
13
IN (voir Note)
Note : L’opérateur PT n’est pas implémenté.
35013155.01 07/2008
67
Conformité à CEI 1131-3
Eléments de langage ST
Généralites
68
Description des caractéristiques des éléments de langage ST qui sont conformes à
la CEI 1131-3
Le tableau suivant liste en regard des tableaux de caractéristiques décrites dans le
standard IEC 1131-3, l’implémentation faite dans les langages PL7.
Ce langage est utilisé à part entière dans les modules ST. Un sous-ensemble ST
est aussi utilisé dans les blocs OPERATION et COMPARAISON des langages IL et
LD.
35013155.01 07/2008
Conformité à CEI 1131-3
Tableau de
caratéristiques
Caractéristiques des éléments de langage ST :
Tableau No
Caractéristique No
Description des caractéristiques
55
1
Mise entre parenthèses
55
2
Evaluation de fonction
55
3
- Négation
55
4
NOT Complément
55
5
JMP
55
6
7
* Multiplication
/ Division
55
9
10
+ Addition
- Soustraction
55
11
<, >, <=, >= Comparaison
55
12
= Egalité
55
13
<> Inégalité
55
15
AND pour le «et» booléen
55
16
XOR pour le «ou exclusif» booléen
55
17
OR pour le «ou» booléen
56
1
:= Affectation
56
3
Structure RETURN
56
4
Structure IF «if... then... elsif... then... else... end_if»
56
6
Structure FOR «for... to... do... end_for» (voir Note)
56
7
Structure WHILE «while... do... end_while»
56
8
Structure REPEAT «repeat ... until... end_repeat»
56
9
Structure EXIT
Note : Implémentation de la boucle FOR avec un pas implicite de 1 (by 1).
35013155.01 07/2008
69
Conformité à CEI 1131-3
Eléments graphiques communs
Généralites
Description des caractéristiques des éléments graphiques communs qui sont
conformes à la CEI 1131-3
Le tableau suivant liste en regard des tableaux de caractéristiques décrites dans le
standard IEC 1131-3, l’implémentation faite dans les langages PL7.
Tableau de
caratéristiques
Caractéristiques des éléments graphiques communs :
Tableau No
Caractéristique No
Description des caractéristiques
57
2
Lignes horizontales graphiques
57
4
Lignes verticales graphiques
57
6
Jonction ligne horizontale / ligne verticale graphique
57
8
Croisement graphique de lignes sans connexionique
57
10
Coins connectés et non connectés graphiques
57
12
Blocs avec lignes connectées graphiques
58
2
Saut inconditionnel en langage LD
58
4
Saut conditionnel en langage LD inconditionnel
58
5
Retour conditionnel en langage LD
58
8
Retour inconditionnel en langage LD
70
35013155.01 07/2008
Conformité à CEI 1131-3
Eléments de langage LD
Généralites
Description des caractéristiques des éléments de langage LD qui sont conformes à
la CEI 1131-3
Le tableau suivant liste en regard des tableaux de caractéristiques décrites dans le
standard IEC 1131-3, l’implémentation faite dans les langages PL7.
Tableau de
caratéristiques
Caractéristiques des éléments de langage LD :
Tableau No
Caractéristique No
Description des caractéristiques
59
1
Barre d’alimentation gauche
59
2
Barre d’alimentation droite
60
1
Liaison horizontale
60
2
Liaison verticale
61
1
Contact ouverte
61
3
Contact fermée
61
5
Contact détecteur de transition positive
61
7
Contact détecteur de transition négative
62
1
Bobine
62
2
Bobine négative
62
3
Bobine SET
62
4
Bobine RESET
35013155.01 07/2008
71
Conformité à CEI 1131-3
Paramètres dépendant de l’implémentation
Généralités
72
Description des paramètres de PL7 qui dépendent de l’implémentation qui en est
faite.
Le tableau suivant liste en regard des tableaux de caractéristiques décrites dans le
standard IEC 1131-3, l’implémentation faite dans les langages PL7.
35013155.01 07/2008
Conformité à CEI 1131-3
Tableau de
caractéristiques
Caractéristiques des éléments de langage IL :
Paramètres
Limitation et comportement de PL7
Procédure de traitement d’erreurs
De nombreuses erreurs sont signalées à l’exécution par
positionnement de bits et mots système
Caractères nationaux utilisés
ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÑÒÓÔ
ÕÖØÙÚÛÜàáâãäåæçèéêëìí îïñòóôõöøùúûüßÿ
#, $, |
Longueur maximale des identificateurs
32
Longueur maximale du commentaires
222
Plage des valeurs de durée
Note 1
Plage des valeurs de type TIME
Note 1
Précision de la représentation des secondes dans les
types TIME_OF_DAY et DATE_AND_TIME
Note 2
Nombre maximal d’indices de tableau
1 (Note 3)
Taille maximale des tableaux
dépendant de la zone indexée (Note 3)
Longueur maximale par défaut des variables STRING
ne s’applique pas
Longueur maximale autorisée pour les variables STRING 255
Nombre maximal de niveaux hiérarchiques
Configuration logique ou physique
3
Configuration logique
Intervalle maximum des valeurs d’indices
dépendant de la zone indexée (Note 3)
Initialisation des entrées du système
Les variables sont initialisées par le système:
z à la valeur initiale spécifiée par l'utilisateur, le cas
échéant
z sinon à zéro
Effets des conversions de types sur la précision
cf table 22, caractéristique 1
Nombre maximum de types et d'instances de blocs
fonction
Pas de nombre maximum (les limites sont liées au
volume de l'application)
Limite de la taille des programmes
Volume maximum de code d'un programme = 64
KOctets
Précision sur le temps écoulé associé à une étape
100ms
Nombre maximum d’étapes par graphe
96 sur automate 3710
128 sur automate 3720
1024 sur automates 57xx V3.0
Nombre maximum de transitions par graphe et par étape) 1024 transitions par graphe
11 transitions par étape1
35013155.01 07/2008
73
Conformité à CEI 1131-3
Paramètres
Limitation et comportement de PL7
Mécanisme de commande des actions
Qualificatifs P0, P1 et N1
Nombre maximum de blocs action par étape
3 actions sont possibles: à l’activation (P1), continue
(N1) et à la désactivation (P0)
Indication graphique de l’état d’une étape
Etape active en inversion vidéo
Temps de franchissement d’une transition (désactivation
des étapes amont et activation des étapes aval)
Le temps de franchissement est variable et toujours non
nul
Profondeur des constructions divergentes et
convergentes
Limite donnée par la grille de saisie
Liste des automates programmables par PL7
TSX MICRO, TSX PREMIUM
Nombre maximal de tâches
1 tâche périodique ou cyclique
1 tâche périodique
8 tâches événementielles pour automates 37 10
16 tâches événementielles pour automates 37 20
32 tâches événementielles pour automates 57 10
64 tâches événementielles pour automates 57 20/30
de 1 ms à 255 ms
Ordonnancement préemptifs
Plages des intervalles des tâches
Ordonnancement préemptif ou non-préemptif
Longueur maximale d’une expression
Evaluation partielle des expressions booléennes
variable
non
Longueur maximum des structures de commandes en ST variable
Valeur de la variable de commande après exécution
complète d’une boucle FOR
La valeur de la variable de commande vaut la valeur
limite + 1 (car le pas est de 1)
Représentation graphique/semi-graphique
Restriction sur la topologie des réseaux
Représentation graphiques
Un réseau LD peut s’étaler sur 16 colonnes et 7 lignes au
maximum
74
35013155.01 07/2008
Conformité à CEI 1131-3
Note :
z Note 1 : Ces types de données ne sont pas encore implémentés de façon
visible pour l’utilisateur. Ce tableau précise néanmoins leurs plages de va-leurs
dans le format IEC 1131-3.
TIME: de T#0 à T#429496729.5s
TIME_OF_DAY: de TOD#0:0:0 à TOD#23:59:59
DATE_AND_TIME: de DT#1990-01-01:0:0:0 à DT#2099-12-31:23:59:59
DATE: de D#1990-01-01 à D#2099-12-31DT#2099-12-3
z Note 2 : Les arrondis sont faits de la façon suivante : de x.0 s à x.4 s, on arrondit
à x s et de x.5 s à x.9 s on arrondit à x+1 s.
z Note 3 : Il est possible d’indexer positivement et négativement tous les types de
variables directement représentées dans la limite de leur nombre maximal
respectif défini en configuration.
35013155.01 07/2008
75
Conformité à CEI 1131-3
Situations d’erreurs
Généralités
Description des paramètres de PL7 qui dépendent de l’implémentation qui en est
faite.
Le tableau suivant liste en regard des tableaux de caractéristiques décrites dans le
standard IEC 1131-3, l’implémentation faite dans les langages PL7.
Tableau de
caractéristiques
Situations d’erreurs:
Situations d’erreurs
Limitation et comportement de PL7
Erreurs de conversion de type
Signalé lors de l’exécution en positionnant un bit
système: cf table Eléments communs: tableau 22,
caractéristique 1
Le résultat numérique dépasse la plage pour le type de
données
Signalé lors de l’exécution en positionnant le bit système
%S18
Position de caractères spécifiée invalide
Signalé lors de l’exécution en positionnant le bit système
%S18
Le résultat dépasse la longueur maximale de la chaîne
Signalé lors de l’exécution en positionnant le bit système
%S15
Effets de bord pendant l’évaluation d’une transition
Détecté lors de la programmation
Délais d’exécution non respectés
Signalé à l’exécution en positionnant le bit système
%S19
Autres conflits d’ordonnancement de tâches
Détecté lors de la configuration
Division par zéro
Détecté lors de la programmation si possible, sinon
signalé
lors de l’exécution en positionnant le bit système %S18
Type de données invalide pour une opération
Echec d’une itération FOR ou WHILE à se terminer
76
L’automate passe en défaut de débordement de chien
de garde et l’unité de programmation concernée est
indiquée
35013155.01 07/2008
Serveur OLE Automation
5
Présentation
Contenu de ce
chapitre
Ce chapitre décrit le fonctionnement du serveur OLE Automation
Contenu de ce
chapitre
Ce chapitre contient les sous-chapitres suivants :
Souschapitre
5.1
35013155.01 07/2008
Sujet
Présentation
Page
78
5.2
Mise en oeuvre
82
5.3
Fonctions OLE
93
77
Serveur OLE Automation
5.1
Présentation
Présentation
Objet de ce souschapitre
Ce sous-chapitre décrit les généralités du serveur OLE Automation
Contenu de ce
sous-chapitre
Ce sous-chapitre contient les sujets suivants :
78
Sujet
Page
Présentation du Serveur OLE Automation
79
Modes de marche du serveur OLE Automation
81
35013155.01 07/2008
Serveur OLE Automation
Présentation du Serveur OLE Automation
Introduction
La fonctionnalité PL7 du Serveur OLE Automation offre la possibilité de "piloter"
l'exécution d'un PL7 de manière programmée, non interactive (sans intervention de
l'opérateur) pour des applications externes à PL7. On utilise la terminologie
d'applications clientes du PL7 serveur OLE Automation.
Automate
Serveur
OLE
Automation
Applicatifs
clients
OLE
Automation
Client
PL7
*.stx
Suivant totalement le standard défini par Microsoft dans son offre OLE pour
répondre à ce besoin PL7 dispose désormais d'un interface standard, public,
répandu, propre et indépendant du langage de programmation de l'application
cliente.
Les principales caractéristiques sont :
z
z
z
z
35013155.01 07/2008
l’automatisation de tâches répétitives
la délégation à PL7 de traitement que lui seul sait exécuter
l’accès à des informations sur les applications contenues dans les fichiers *.stx
plus généralement le développement de fonction de niveau supérieur à PL7, de
type intégrateur, tout en encapsulant les détails d’implémentation spécifiques à
PL7.
79
Serveur OLE Automation
Contexte
d’exécution
La fonctionnalité PL7 serveur OLE Automation est intégrée à PL7 Pro. Elle s'installe
et s'exécute avec les mêmes conditions d'installation et d'exécution que PL7. PL7
serveur OLE Automation s'appuie sur le run-time OLE Automation Microsoft fourni
avec Windows XP Professionnel et Windows VISTA Professionnel Edition 32.
Note : la réalisation d'un applicatif client du serveur OLE nécessite de connaître
l'un des langages suivants pour la programmation OLE Automation :
z Microsoft Visual Basic, version 5.0 ou supérieure,
z Microsoft Visual C++, version 4.2 ou supérieure,
z Microsoft VBA dans Excel, version 5.0 ou supérieure.
80
35013155.01 07/2008
Serveur OLE Automation
Modes de marche du serveur OLE Automation
Généralités
Au mode de marche de PL7 connu jusqu'à présent, que l'on désigne comme
"interactif", où le PL7 réagit uniquement aux entrées de l'opérateur, s'ajoute le mode
de marche serveur OLE automation dans lequel PL7 réagit en plus à des
commandes émises par une application cliente OLE.
Description
Le choix du mode de marche est fonction de la procédure de lancement de PL7 :
z
z
Le mode interactif est initialisé au lancement de PL7 via Windows (menu
Démarrer /Programmes/ Modicon Telemecanique/PL7 Pro.).
Le mode serveur est choisi si on invoque le serveur PL7 OLE Automation dans
la programmation d’une application cliente OLE. Une instance ne peut pas
changer de mode en cours.
A chaque fois qu’une application cliente invoque le PL7 serveur OLE Automation,
une instance spécifique de PL7 est lancée, indépendamment d’autres éventuelles
instances déjà lancées. Un nombre quelconque d’instances de PL7 en mode
serveur ou en mode interactif peuvent cohabiter en exécution sur le même poste. Il
y a parfaite indépendance des instances entre elles qui peuvent chacune s’exécuter
dans leur propre contexte.
Pour toutes ces instances, les mêmes règles d’exclusion d’accès concurrent à une
application STX ou à un automate s’appliquent à savoir : une application STX ou un
automate ne peut être manipulé que par une instance à la fois.
Cette règle a été aménagée pour PL7 serveur OLE Automation qui peut ouvrir une
application STX déjà ouverte mais dont l’enregistrement sera interdit. De même, il
peut effectuer, sur demande explicite, un transfert automate —> PC depuis un
automate réservé par ailleurs.
Une application cliente peut instancier plusieurs "PL7 serveur OLE Automation"
concurrents.
35013155.01 07/2008
81
Serveur OLE Automation
5.2
Mise en oeuvre
Présentation
Objet de ce souschapitre
Ce sous-chapitre décrit la mise en oeuvre du serveur OLE Automation
Contenu de ce
sous-chapitre
Ce sous-chapitre contient les sujets suivants :
Sujet
Installation de OLE Automation
82
Page
83
Mécanisme d’accès au serveur PL7 OLE Automation
84
Lancement du serveur en mode local (mode COM)
85
Lancement du serveur en mode distant (DCOM)
86
Mise en oeuvre du serveur en mode distant
87
Modes d'exécution PL7 serveur
90
Points d’entrée : Fonction OLE
91
35013155.01 07/2008
Serveur OLE Automation
Installation de OLE Automation
Description
L'installation du produit PL7 Serveur OLE Automation est transparente pour
l'utilisateur, elle est assurée implicitement lors de l'installation de PL7.
L'installation comprend :
z
z
z
35013155.01 07/2008
Quatre exemples de client OLE Automation, complets avec leur code source et
un fichier README sont fournis dans le logiciel.
Ces exemples correspondent à :
z un client visual C++ 4.2 "minimal" : le minimum à connaître pour écrire un
client OLE.
z un client visual C++ 4.2 "complet" qui exploite tous les points d’entrée
disponibles.
z un client visual Basic 5.0 qui exploite tous les points d’entrée disponibles.
z un client Excel.
Un fichier *.h qui défini les valeur des codes d'erreur rendus par le serveur.
Un fichier TLB d'interface pour un client Visual C++.
83
Serveur OLE Automation
Mécanisme d’accès au serveur PL7 OLE Automation
Le PL7 serveur OLE Automation permet deux modes d'accès aux services qu'il
fournit.
Accès en local
L’applicatif client et PL7 serveur OLE Automation sont sur le même poste.
Accès en distant
par
l'intermédiaire
de DCOM
L’application client et le serveur PL7 Automation sont sur des postes distincts, reliés
par le réseau TCP/IP :
Poste client
Poste serveur
DCOM
84
35013155.01 07/2008
Serveur OLE Automation
Lancement du serveur en mode local (mode COM)
Introduction
Le mode COM (Component object Model) définit une interface de communication
entre applications. Elle permet d’être indépendante vis à vis des outils de
développement.
Lancement du
serveur en mode
local (mode
COM)
Pour lancer le serveur en mode local, suivre la procédure suivante :
35013155.01 07/2008
1
Déclarer un objet "A" sur l’application cliente pour communiquer avec l’application
serveur.
2
Exécuter la fonction Createdispatch sur l’objet "A" de l’application cliente afin
d’instancier l’application serveur
3
Enregistrer PL7Pro dans la base de registre comme serveur OLE, pour un
fonctionnement correct en mode serveur (le lien entre l’application cliente et
l’application serveur est créé si ce dernier est référencé dans la base de registre).
4
L’application cliente peut maintenant interroger l’application serveur via l’interface
accessible de l’objet "A".
Ex. : OpenStx("C:\appli.stx).
85
Serveur OLE Automation
Lancement du serveur en mode distant (DCOM)
Introduction
Le Pl7 serveur s’exécute en fonction des informations présentes dans la base de
registre. Il peut être localisé sur la machine cliente ou sur une machine distante.
Le mode DCOM est en fait une extension du mode COM (Component Object
Model). Le mode COM permet de dialoguer entre une application cliente et une
application serveur sur une même machine.
Le mode DCOM permet de dialoguer entre deux machines distantes. Il remplace les
protocoles de communication inter-process par les protocoles réseau.
Illustration du fonctionnement de OLE Automation en mode serveur distant :
Choix driver
Choix driver
PL7Serveur
PL7Serveur
Client
Client
PC b
PC c
PC a
Client
COM
run-time
Security
provider
COM
run-time
DCE RPC
Security
provider
Protocol stack
Component
DCE RPC
Protocol stack
DCOM network
protocol
86
35013155.01 07/2008
Serveur OLE Automation
Mise en oeuvre du serveur en mode distant
Introduction
DCOM est une configuration spécifique requise sur un PC client pour supporter
l’accès distant au PC sur lequel le serveur (PL7 Pro Server) est installé. Sur un PC
supportant Windows XP Professionnel ou
Windows VISTA Professionnel Edition 32, DCOM doit être configuré en utilisant
l’outil DCOMCnfg.exe.
Configuration du
Client
La procédure suivante explique comment configurer le DCOM et s’applique aux
systèmes d’exploitation Windows XP Professionnel et
Windows VISTA Professionnel Edition 32 :
Etape
1
Action
z Lancez DCOMCnfg.exe situé dans le répertoire :
C:\Windows\System32
Puis sur l’icône ‘Racine de la console → Service des composants →
Ordinateurs → Poste de travail, affichez les propriétés par un clic droit de
la souris ou,
z Cliquez sur Panneau de configuration → Outils d’administration →
Services de composants.
Dans la fenêtre qui apparaît, cliquez sur Services de composants →
Ordinateurs.
Sur l’icône Poste de travail, affichez les propriétés par un clic droit de la
souris.
2
Dans l'onglet Propriétés par défaut, vérifiez que :
z L'option Activer Distributed COM (DCOM) sur cet ordinateur est
sélectionnée.
z Le champ Niveau d’authentification par défaut est défini sur Connecter.
z Le champ Niveau d’emprunt d’identité par défaut est défini sur Identifier.
3
35013155.01 07/2008
Dans l'onglet Sécurité COM :
Modifiez la liste Autorisations d’accès afin de vous assurer que les utilisateurs
SYSTEM, INTERACTIF, RESEAU et Tout le monde y figurent. Ce dernier
paramètre est uniquement requis pour autoriser le serveur à renvoyer des
notifications au client.
87
Serveur OLE Automation
Configuration du
Serveur
Ces paramètres de configuration doivent être définis en cours de connexion à la
machine lorsque vous disposez d'un compte avec les autorisations nécessaires
d'accès et de démarrage du serveur
Etape Action
1 z Lancez DCOMCnfg.exe situé dans le répertoire :
C:\Windows\System32
Puis sur l’icône ‘Racine de la console → Service des composants → Ordinateurs
→ Poste de travail, affichez les propriétés par un clic droit de la souris ou,
z Cliquez sur Panneau de configuration → Outils d’administration → Services de
composants.
Dans la fenêtre qui apparaît, cliquez sur Services de composants → Ordinateurs.
Sur l’icône Poste de travail, affichez les propriétés par un clic droit de la souris.
2 Dans l'onglet Propriétés par défaut, vérifiez que :
z L'option Activer Distributed COM (DCOM) sur cet ordinateur est sélectionnée.
z Le champ Niveau d’authentification par défaut est défini sur Connecter.
z Le champ Niveau d’emprunt d’identité par défaut est défini sur Identifier.
3 Dans le répertoire Configuration DCOM → OLE Automation affichez les propriétés par
un clic droit de la souris. La boîte de dialogue Propriétés de OLE Automation Server
apparaît.
z Cliquez sur l'onglet Identité. L'option L’utilisateur interactif doit être sélectionnée.
L'option Cet utilisateur avec un mot de passe approprié doit être sélectionnée si aucun
utilisateur ne se connecte au serveur ou si la session est modifiée ou interrompue sans
raison.
z Cliquez sur l'onglet Général, le niveau d'authentification doit être défini sur Par défaut.
z Cliquez sur l'onglet Emplacement, l'option Exécuter l’application sur cet ordinateur
doit être sélectionnée.
z Dans l'onglet Sécurité → Autorisations d’exécution et d’activation, sélectionnez
Personnaliser.
z Cliquez sur Modifier, la boîte de dialogue Autorisation d’exécution apparaît.
z Cliquez sur Ajouter, ajouter des utilisateurs, puis autoriser l'accès (les utilisateurs
SYSTEM, INTERACTIF et RESEAU doivent figurer dans cette liste, d'autres tels
que Tout le monde peuvent être ajoutés),
z Cliquez sur OK pour fermer les boîtes de dialogue.
z Dans l'onglet Sécurité → Autorisations d’accès, sélectionnez Personnaliser.
z Cliquez sur Modifier, la boîte de dialogue Autorisation d’accès apparaît.
z Cliquez sur Ajouter, ajoutez des utilisateurs, puis leur autoriser le lancement du
serveur (les utilisateurs SYSTEM, INTERACTIF et RESEAU doivent figurer dans
cette liste, d'autres tels que Tout le monde peuvent être ajoutés).
z Cliquez sur OK pour fermer les boîtes de dialogue.
88
35013155.01 07/2008
Serveur OLE Automation
Note : si le client et le serveur n'appartiennent pas au même domaine XP ou
VISTA, ou si aucun domaine XP ou VISTA n'existe, ne pas oublier que des
utilisateurs identiques disposant d'un mot de passe identique doivent être créés
sur les deux machines (veiller à bien respecter la casse).
35013155.01 07/2008
89
Serveur OLE Automation
Modes d'exécution PL7 serveur
Introduction
Le PL7 serveur OLE Automation possède deux modes d’exécution que l’on peut
choisir dynamiquement en cours d’exécution (voir SetIHMServer )
Modes
d’exécution
z
z
Mode d’exécution sans IHM. Le PL7 est lancé "en tâche de fond", sans aucun
affichage ni possibilité d’entrée de l’opérateur. C’est le mode typique à utiliser par
exemple pour automatiser les tâches répétitives ou accéder à des informations
sur une application contenue dans un fichier stx.
Mode d’exécution avec IHM. Le PL7 est lancé comme un PL7 "interactif" avec
affichage et possibilité d’entrée de l’opérateur mais il reste réceptif aux
commandes émises par son application cliente. Ce mode a été développé pour
visualiser des éléments de programme ou de configuration d’une application
contenue dans un fichier stx depuis des outils externes comme DIAG Viewer.
Note : les services concernant la visualisation de programmes, d’outils, de
modules ne s’exécutent que dans le mode avec IHM.
Le PL7 serveur OLE Automation dans son mode avec IHM est soumis aux contrôle
droits utilisateur. Il est positionné en profil droit utilisateur "Read Only", qui
correspond à son rôle d’afficheur de code et modules E/S PL7.
Le PL7 serveur OLE Automation en mode sans IHM n’est pas soumis aux contrôle
droits utilisateur mais les services offerts ne permettent pas de modifier
l'application.
90
35013155.01 07/2008
Serveur OLE Automation
Points d’entrée : Fonction OLE
Introduction
Les points d'entrée sont organisés en quatre types :
z
z
z
z
Contexte
d’exécution
Contôle API
35013155.01 07/2008
Contexte d’exécution
Contrôle API
Lecture information
Visualisation d’élément de l’application
Points d’entrée
Nom
Description
OpenStx
Ouverture d’une application
SaveStx
Enregistrement de l’application active
CloseStx
Fermeture de l’application active
Set DriverAndAddress
Modification adresse et driver de l’automate accédé
SetServerIHM
Rend le serveur PL7 OLE Automation interactif ou non
GetPL7IHM
Donne l’état : application ouverte ou fermée, mode local connecté, état API
GetMessageError
Lit le message d’erreur associé au code erreur
Points d’entrée
Nom
Description
ConnectPLC
Entre dans le mode connecté
DisconnectPLC
Sort du mode connecté
SenCommandToPLC
Lance une commande à l’automate (RUN, STOP INIT)
DownloadToPLC
Chargement de l’application active dans un automate
UploadFromPLCM
Recopie d’une application automate dans l’application
active
DownloadStationWithSym
bol
Charge une application et sa base zippée de symboles
dans l'automate
91
Serveur OLE Automation
Lecture
information
Visualisation
d’élément de
l’application
Points d’entrée
Nom
Description
ExportScyFile
Export des symboles dans l’application active sous forme
de fichier scy
ExportFefFile
Export de l’application active sous forme de fichier de type
fef
GetSymbol
Lit le symbole et le commentaire associé à un repère
GetSTXAppIdentity
Lit les informations générales d’une application contenue
dans un fichier STX
GetPLCAppIdentity
Lit les informations générales d’une application contenue
dans un automate
GetServerVersion
Lit la version du serveur
CompareSymbolPCAndSymb
olPLCAppli
Permet de connaître les informations génerales d'une
application contenue dans un automate
Points d’entrée
Nom
Description
SetPosPL7Window
Modifie les caractéristiques d’affichage du PL7 (position et
forme)
ShowProgram
Ouverture d’un éditeur sur un module programme donné
CloseProgram
Fermeture d’un éditeur programme
ShowIOModule
Ouverture d’un éditeur sur un module d’E/S donné
CloseIOModule
Fermeture d’un éditeur de module d’E/S/S donné
ShowDFB
Ouverture d’un éditeur sur le code d’un DFB donné
CloseDFB
Fermeture d’un éditeur sur le code d’un DFB
OpenTool
Ouverture d’un outil MDI quelconque sans contexte
Note : les points d'entrée concernant la visualisation d'élément de l'application ne
fonctionnent pas si le serveur est mode sans IHM.
92
35013155.01 07/2008
Serveur OLE Automation
5.3
Fonctions OLE
Présentation
Objet de ce souschapitre
Ce sous-chapitre décrit les fonctions OLE du serveur OLE Automation
Contenu de ce
sous-chapitre
Ce sous-chapitre contient les sujets suivants :
35013155.01 07/2008
Sujet
Page
OpenStx
95
CloseStx
96
OpenStxWithMaj
97
ExportScyFile
98
ExportFeFile
99
ExportFefFileWithConfiguration
100
DisconnectPLC
101
ConnectPLC
102
SaveStx
103
DownloadDataToPLC
104
DownloadToPLC
106
UploadFromPLC
107
UploadDataFromPLC
108
UploadFromPLCWithSymbol
110
GetSymbol
112
SetServerIHM
113
SetDownloadFunction
114
GetPL7State
115
GetSTXAppIdentity
116
GetPLCAppIdentity
117
SendCommandToPLC
119
SetDriverAndAdresse
120
OpenTool
121
SetPosPL7Windows
123
ShowProgram
124
CloseProgram
125
93
Serveur OLE Automation
Sujet
94
Page
ShowIOModule
126
CloseIOModule
127
ShowDFB
128
CloseDFB
129
GetMessageError
130
GetServerVersion
131
ImportScyFile
132
DownloadStationWithSymbol
133
CompareSymbolPCAndSymbolPLCAppli
135
35013155.01 07/2008
Serveur OLE Automation
OpenStx
Généralités
Cette fonction permet d’ouvrir un fichier de type application stx.
Description
Syntaxe :
integer OpenStx(String lpAppPathName)
z
z
z
z
SRV_ERR_GEN_FILENOTFOUND
Le fichier n’a pas été trouvé
SRV_ERR_OPEN_BADZIP
Problème de décompression fichier
SRV_ERR_OPEN_BADFILE
Problème de lecture du fichier stx
SRV_ERR_OPEN_NOK_COMPATIBLE
Le processeur est imcompatible avec PL7 ouvert
SRV_ERR_OPEN_OPEN
Une application est déjà ouverte
SRV_ERR_GEN_PARAM_EMPTY
Le Path Name est vide
SRV_ERR_GEN_ACTION
Erreur lors de l'ouverture de l'application
SRV_ERR_GEN_DRIVE FULL
Plus de place libre sur le disque pour l'ouverture
de l'application
z
35013155.01 07/2008
Entrée :
Saisir la chaîne de caractères contenant le nom du fichier que l’utilisateur désire
ouvrir.
Fonction appelée :
OpenStation : Fonction de la gestion station (gesta.dll).
Contexte nominal :
Le serveur PL7 est actif.
Cas d’erreur :
Sortie :
Code retour de type short. Soit 0 dans le cas d’une ouverture réussit, soit un
code erreur.
95
Serveur OLE Automation
CloseStx
Généralités
Cette fonction permet de fermer l’application courante
Description
Syntaxe :
integer CloseStx( integer p_bWithoutSave)
z
z
z
z
SRV_ERR_GEN_NOTOPEN
Il n’y a pas d’application ouverte.
SRV_ERR_CLOSE_NOTSAVE
L’application a été modifiée, il faut l’enregistrer afin
de sortir.
z
96
Entrée :
Si l’application a été modifiée, il est possible de la fermer sans avertir l’utilisateur
(p_bWithoutSave a TRUE)
Fonction appelée :
CloseStation : Fonction de la gestion station (gesta.dll).
Contexte nominal :
Le serveur PL7 est actif, une application est ouverte.
Cas d’erreur :
Sortie :
Code retour de type short. Soit 0 dans le cas d’une fermeture réussie, soit un
code erreur.
35013155.01 07/2008
Serveur OLE Automation
OpenStxWithMaj
Généralités
Cette fonction permet d’exporter l’application active avec sa configuration dans un
fichier de type fef.
Description
Syntaxe :
integer OpenStxWithMaj (string NameFile, integer WithNewCat)
z
z
z
z
SRV_ERR_GEN_ACTION
Erreur lors de l’exécution de la fonction.
SRV_ERR_GEN_PARAM_EMPTY
Le nom du fichier dat est incorrect ou vide.
SRV_ERR_GEN_DRIVEFULL
Plus de place libre sur le disque pour
l’ouverture de l’application.
SRV_ERR_OPEN_OPEN
Une application est déjà ouverte.
SRV_ERR_GEN_FILENOTFOUND
Le fichier n’a pas été trouvé.
SRV_ERR_OPEN_BADZIP
Problème d’extraction de fichier zip.
z
z
35013155.01 07/2008
Entrée :
z Saisir 1 chaînes de caractères contenant le nom et le chemin du fichier stx que
l’on veut ouvrir.
z Un entier nous indiquant si nécessaire si il faut mettre à jour les fichiers
catalogue ou non (valeur 0 pour pas de mise à jour ou 1 pour une mise à jour).
Fonction appelée :
OpenStation : Fonction de la gestion station (gesta.dll).
Contexte nominal :
z Le serveur PL7 est actif,
z PL7 est en mode local.
Cas d’erreur :
Sortie :
Code retour de type short. Soit 0 dans le cas d’une ouverture de station réussie,
soit un code d’erreur.
Limitations :
Le serveur de PL7, sans IHM, une fois l’importation réussie, ne peut pas
fonctionner en mode avec IHM sans une sauvegarde préalable de l’application
ouverte.
97
Serveur OLE Automation
ExportScyFile
Généralités
Cette fonction permet d’exporter les symboles contenus dans l’application active
sous forme de fichier de type scy.
Description
Syntaxe :
integer ExportScyFile(String p_psScyFile)
z
z
z
z
SRV_ERR_GEN_ACTION
Erreur lors de la création du fichier sourcesymbole.
SRV_ERR_GEN_NOTOPEN
Il n’y a pas d’application ouverte.
SRV_ERR_GEN_PARAM_EMPTY
p_ psScyFile est vide
SRV_EXPORT_ERRFILE
Erreur d'écritute du fichier source.
z
98
Entrée :
Saisir la chaîne de caractères contenant le nom du fichier scy.
Fonction appelée :
ExportScyFile : Fonction de la gestion station (gesta.dll).
Contexte nominal :
Le serveur PL7 est actif. Une application est ouverte.
Cas d’erreur :
Sortie :
Code retour de type short. Soit 0 dans le cas d’un export réussi, soit un code
erreur.
35013155.01 07/2008
Serveur OLE Automation
ExportFeFile
Généralités
Cette fonction permet d’exporter l’application active sous forme de fichier de type
fef.
Description
Syntaxe :
integer ExportFefFile(String p_psNamefile)
z
z
z
z
SRV_ERR_GEN_ACTION
Erreur lors de la création du fichier source application.
SRV_ERR_GEN_PARAM_EMPTY
Il n’y a pas d’application ouverte.
SRV_ERR_GEN_PARAM_EMPTY
p_ psNamefile est vide.
SRV_EXPORT_ERRFILE
Erreur d'écritute du fichier source.
z
35013155.01 07/2008
Entrée :
Saisir la chaîne de caractères contenant le nom du fichier fef .
Fonction appelée :
ExportFefFile : Fonction de la gestion station (gesta.dll).
Contexte nominal :
Le serveur PL7 est actif. Une application est ouverte.
Cas d’erreur :
Sortie :
Code retour de type short. Soit 0 dans le cas d’un export réussit, soit un code
erreur.
99
Serveur OLE Automation
ExportFefFileWithConfiguration
Généralités
Cette fonction permet d’exporter l’application active avec sa configuration dans un
fichier de type fef.
Description
Syntaxe :
integer ExportFefFileWithConfiguration(string FefFile)
z
z
z
z
SRV_ERR_GEN_ACTION
Erreur lors de l’exécution de la fonction.
SRV_ERR_GEN_PARAM_EMPTY
Le nom du fichier dat est incorrect ou vide.
SRV_ERR_GEN_NOTOPEN
Pas d’application STX ouverte.
SRV_EXPORT_ERRFILE
Impossible de créer le fichier à exporter.
z
100
Entrée :
Saisir 1 chaîne de caractères contenant le nom et le chemin du fichier scy que
l’on va exporter.
Fonction appelée :
ExportFefFileWithConf : Fonction de la gestion station (gesta.dll).
Contexte nominal :
z Le serveur PL7 est actif,
z PL7 est en mode local, station ouverte.
Cas d’erreur :
Sortie :
Code retour de type short. Soit 0 dans le cas d’une exportation réussie, soit un
code d’erreur.
35013155.01 07/2008
Serveur OLE Automation
DisconnectPLC
Généralités
Cette fonction permet de realiser la déconnexion entre l’automate et PL7.
Description
Syntaxe :
integer ExportFefFile(String p_psNamefile)
z
z
z
35013155.01 07/2008
Fonction appelée :
DisconnectStation : Fonction de la gestion station (gesta.dll).
Contexte nominal :
Le serveur PL7 est actif.
Sortie :
Code retour de type short. Soit 0 dans le cas d’une déconnexion réussie, soit un
code erreur (SRV_ERR_GEN_ACTION).
101
Serveur OLE Automation
ConnectPLC
Généralités
Cette fonction permet de se connecter à un automate.
Description
Syntaxe :
integer ConnectPLC(String p_lpDriver, String p_lpAddress)
z
z
z
z
SRV_ERR_GEN_CONNECT
La connexion n’a pas pu s’effectuer.
SRV_ERR_GEN_COMMUNICATION
Problème de communication entre PL7pro et
l’automate
SRV_ERR_GEN_RESERVED
L’automate est réservé il est donc impossible de s’y
connecter.
SRV_ERR_PLC_BLANK
L’automate ne contient pas d’application, il est donc
impossible de se connecter.
SRV_ERR_PC_BLANK
Il n’y a pas d’application ouverte, il est donc
impossible de se connecter.
SRV_ERR_DIFFERENCE_PLC_STX
L’application ouverte et l’applicationcontenue dans
l’automate sont différentes, il est donc impossible
de se connecter.
SRV_ERR_GEN_ADDRESS
Le paramètre adresse est incorrect.
SRV_ERR_GEN_ACTION
Erreur lors de l'exécution de la fonction.
SRV_ERR_GEN_DRIVER
Le paramètre driver est incorrect.
SRV_ERR_GEN_NOTOPEN
Il n'y a pas d’application ouverte.
SRV_ERR_GEN_PROTECTEDAPPLI
Application protégée.
SRV_COMPATIBLE_PLC
Problème de compatibilité avec l'automate.
z
102
Entrée :
Saisir deux chaînes de caractères contenant le driver et l’adresse de l’automate.
Fonction appelée :
ConnectStation : Fonction de la gestion station (gesta.dll).
Contexte nominal :
Le serveur PL7 est actif. Dans le cas où les paramètres sont des chaînes vides,
le serveur exécute la fonction avec le driver et/ou l’adresse courante.
Cas d’erreur :
Sortie :
Code retour de type short. Soit 0 dans le cas d’une connexion réussie, soit un
code erreur.
35013155.01 07/2008
Serveur OLE Automation
SaveStx
Généralités
Cette fonction permet de sauvegarder l’application ouverte.
Description
Syntaxe :
integer SaveStx(String p_lpStxFile)
z
z
z
z
SRV_ERR_SAVEDENIED
Accès au fichier refusé
SRV_ERR_SAVEERRZIP
Erreur lors du compactage de l’application
SRV_ERR_SAVEERRREN
Renommage refusé
SRV_ERR_GEN_NOTOPEN
Il n’y a pas d’application ouverte
SRV_ERR_GEN_PARAM_EMPTY
p_ lpStxFile est vide.
SRV_ERR_GEN_ACTION
Erreur lors de la sauvegarde de l’application.
SRV_ERR_PLC_CONNECT
La sauvegarde ne peut s'effectuer qu'en mode
local.
z
35013155.01 07/2008
Entrée :
Saisir une chaîne de caractères contenant le chemin et le nom du fichier de
sauvegarde.
Fonction appelée :
SaveStx : Fonction de la gestion station (gesta.dll).
Contexte nominal :
Le serveur PL7 est actif. Une application est ouverte, PL7 est en local.
Cas d’erreur :
Sortie :
Code retour de type short. Soit 0 dans le cas d’une sauvegarde réussie, soit un
code erreur.
103
Serveur OLE Automation
DownloadDataToPLC
Généralités
Cette fonction permet de charger un fichier contenant des mots dans l’automate.
Description
Syntaxe :
integer DownLoadDataToPLC (string Driver, string Address, string NameFile)
z
z
z
z
104
Entrée :
Saisir les 3 chaînes de caractères contenant le driver, l’adresse de l’automate et
le nom complet du fichier au format dat.
Fonction appelée :
DownloadData : Fonction de la gestion station (gesta.dll).
Contexte nominal :
z Le serveur PL7 est actif,
z PL7 est en mode local,
z Si les paramètres (driver et adresse) sont des chaînes vides, le serveur
exécute la fonction avec le driveur et/ou l’adresse courante.
Cas d’erreur :
SRV_ERR_DOWNLOAD_CART
Problème de compatibilité de cartouche
entre l’application ouverte et l’automate.
SRV_ERR_COMPATIBLE_PLC
Problème de compatibilité entre l’application
ouverte et l’automate.
SRV_ERR_PC_BLANK
Il n’y a pas d’application ouverte.
SRV_ERR_GEN_ADDRESS
Le paramètre p_IpAddress est incorrect.
SRV_ERR_GEN_DRIVER
Le paramètre p_IpDriver est incorrect.
SRV_ERR_GEN_RESERVED
L’automate est réservé, il est donc
impossible de s’y connecter.
SRV_ERR_GEN_COMMUNICATION
Problème de communication entre PL7pro et
l’automate.
SRV_ERR_PLC_CONNECT
Il faut être en mode local pour pouvoir
effectuer le download.
SRV_ERR_GEN_ACTION
Erreur lors de l’exécution de la fonction.
SRV_ERR_GEN_PARAM_EMPTY
Le nom du fichier dat est incorrect ou vide.
SRV_ERR_GEN_PROTECTEAPPLI
L’application est protégée en lecture, il n’est
pas possible de se connecter à l’automate.
SRV_ERR_TRFDATA_READDS
Erreur de communication.
35013155.01 07/2008
Serveur OLE Automation
SRV_ERR_TRFDATA_NODATA
Variables numériques non configurées ou
incorrectement lues. Le fichier n’est pas
créé.
SRV_ERR_TRFDATA_READWRITE
Problème sur le fichier dat.
SRV_ERR_TRFDATA_INFOFILE
Problème sur le fichier dat.
SRV_ERR_TRFDATA_RUNREFUSED
L’automate a refusé la demande de passage
en RUN (Entrée RUN/STOP positionnée sur
STOP).
SRV_ERR_TRFDATA_READOBJ
Erreur de lecture ou d’écriture des variables
numériques.
SRV_ERR_TRFDATA_WRITEOBJ
Erreur de lecture ou d’écriture des variables
numériques.
SRV_TRFDATA_OVERFLOW
Attention, la plage de valeurs était trop
grande, il y a eu débordement.
SRV_TRFDATA_BORNENOCORRECT
Les valeurs minimum et maximum sont
incorrectes.
z
35013155.01 07/2008
Sortie :
Code retour de type short. Soit 0 dans le cas d’un chargement réussi, soit un
code d’erreur.
105
Serveur OLE Automation
DownloadToPLC
Généralités
Cette fonction permet de télécharger une application en mémoire automate.
Description
Syntaxe :
integer DownloadToPLC(String p_lpDriver, String p_lpAdresse)
z
z
z
z
SRV_ERR_DOWNLOAD_CART
Problème de compatibilité de cartouche
mémoire entre l’application ouverte et l’automate
SRV_ERR_COMPATIBLE_PLC
Problème de compatibilité entre l’application
ouverte et l’automate.
SRV_ERR_GEN_ADDRESS
Le paramètre p_lpAdresse est incorrect.
SRV_ERR_GEN_DRIVER
Le paramètre p_lpDriver est incorrect.
SRV_ERR_GEN_NOTOPEN
Il n’y a pas d’application ouverte.
SRV_ERR_GEN_RESERVED
L'automate est réservé.
SRV_ERR_GEN_COMMUNICATION
Problème de communication.
SRV_ERR_PLC_CONNECT
L'automate est déjà connecté
SRV_ERR_PLC_ACTION
Erreur lors du dowload...
z
106
Entrée :
Saisir deux chaînes de caractères contenant le driver et l’adresse de l’automate.
Fonction appelée :
DownloadStation : Fonction de la gestion station (gesta.dll).
Contexte nominal :
Le serveur PL7 est actif. Une application est ouverte, PL7 est en local. Dans le
cas où les paramètres sont des chaînes vides, le serveur exécute la fonction
avec le driver et/ou l’adresse courante.
Cas d’erreur :
Sortie :
Code retour de type short. Soit 0 dans le cas d’un chargement réussi, soit un
code erreur.
35013155.01 07/2008
Serveur OLE Automation
UploadFromPLC
Généralités
Cette fonction permet de recopier en mémoire une application contenue dans un
automate.
Description
Syntaxe :
integer UploadFromPLC(String p_lpDriver, String p_lpAdresse, integer p_iReservedMode)
z
z
z
z
SRV_ERR_UPLOAD_TRANSFER
Problème lors du transfert de l’application
contenue dans l’automate.
SRV_ERR_UPLOAD_ABORT
Suspension du transfert.
SRV_ERR_UPLOAD_RESERVED
Application reservée.
SRV_ERR_UPLOAD_NOAPPLI
Automate vierge.
SRV_ERR_GEN_ADDRESS
Adresse incorrecte.
SRV_ERR_GEN_ACTION
Erreur d'exécution de la fonction.
SRV_ERR_PLC_CONNECT
Erreur de connexion.
SRV_ERR_GEN_DRIVER
Driver incorrect.
SRV_ERR_GEN_COMMUNICATION
Erreur de communication.
SRV_ERR_PLC_CONNECT
L'automate est en mode connecté.
SRV_OPEN_NOT_COMPATIBLE
Problème de compatibilité.
z
35013155.01 07/2008
Entrée :
Saisir deux chaînes de caractères contenant le driver et l’adresse de l’automate.
Un integer (p_iReservedMode) permettant de faire un Upload sur un automate
réservé.
Fonction appelée :
UploadStation : Fonction de la gestion station (gesta.dll).
Contexte nominal :
Le serveur PL7 est actif. Pas d’application ouverte, et PL7 est en mode local. Si
les paramètres sont des chaînes vides, le serveur exécute la fonction avec le
driver et/ou l’adresse courante.
Cas d’erreur :
Sortie :
Code retour de type short. Soit 0 dans le cas d’un chargement réussi, soit un
code erreur.
107
Serveur OLE Automation
UploadDataFromPLC
Généralités
Cette fonction permet de décharger un fichier contenant des mots contenus dans
l’automate.
Description
Syntaxe :
integer UpLoadDataFromPLC (string Driver, string Address, integer ValMin, integer
ValMax, string NameFile)
z
z
z
z
108
Entrée :
z Saisir les 3 chaînes de caractères contenant le driver, l’adresse de l’automate
et le nom complet du fichier au format dat,
z Saisir les 2 entiers qui sont les valeurs minimum et maximum que l’on désire
récupérer.
Fonction appelée :
UploadData : Fonction de la gestion station (gesta.dll).
Contexte nominal :
z Le serveur PL7 est actif,
z PL7 est en mode local,
z Si les paramètres (driver et adresse) sont des chaînes vides, le serveur
exécute la fonction avec le driveur et/ou l’adresse courante.
Cas d’erreur :
SRV_ERR_COMPATIBLE_PLC
Problème de compatibilité entre l’application
ouverte et l’automate.
SRV_ERR_GEN_ADDRESS
Le paramètre p_IpAddress est incorrect.
SRV_ERR_GEN_DRIVER
Le paramètre p_IpDriver est incorrect.
SRV_ERR_GEN_RESERVED
L’automate est réservé, il est donc
impossible de s’y connecter.
SRV_ERR_GEN_COMMUNICATION
Problème de communication entre PL7pro et
l’automate.
SRV_ERR_PLC_CONNECT
Il faut être en mode local pour pouvoir
effectuer le download.
SRV_ERR_GEN_ACTION
Erreur lors de l’exécution de la fonction.
SRV_ERR_GEN_PARAM_EMPTY
Le nom du fichier dat est incorrect ou vide.
SRV_ERR_GEN_PROTECTEAPPLI
L’application est protégée en lecture, il n’est
pas possible de se connecter à l’automate.
SRV_ERR_TRFDATA_READDS
Erreur de communication.
35013155.01 07/2008
Serveur OLE Automation
SRV_ERR_TRFDATA_NODATA
Variables numériques non configurées ou
incorrectement lues. Le fichier n’est pas
créé.
SRV_ERR_TRFDATA_READWRITE
Problème sur le fichier dat.
SRV_ERR_TRFDATA_INFOFILE
Problème sur le fichier dat.
SRV_ERR_TRFDATA_RUNREFUSED
L’automate a refusé la demande de passage
en RUN (Entrée RUN/STOP positionnée sur
STOP).
SRV_ERR_TRFDATA_READOBJ
Erreur de lecture ou d’écriture des variables
numériques.
SRV_ERR_TRFDATA_WRITEOBJ
Erreur de lecture ou d’écriture des variables
numériques.
SRV_TRFDATA_OVERFLOW
Attention, la plage de valeurs était trop
grande, il y a eu débordement.
SRV_TRFDATA_BORNENOCORRECT
Les valeurs minimum et maximum sont
incorrectes.
z
35013155.01 07/2008
Sortie :
Code retour de type short. Soit 0 dans le cas d’un déchargement réussi, soit un
code d’erreur.
109
Serveur OLE Automation
UploadFromPLCWithSymbol
Généralités
Cette fonction permet de décharger une application avec les symboles associés
contenus dans l’automate.
Description
Syntaxe :
integer UpLoadFromPLCWithSymbol (string Driver, string Address, integer ReserveMode)
z
z
z
z
110
Entrée :
Saisir les 2 chaînes de caractères contenant le driver, l’adresse de l’automate.
Un entier (p_IReserveMode) permettant de faire un transfert PLC vers PC sur
un automate réservé.
Fonction appelée :
UploadStationWithSymbol : Fonction de la gestion station (gesta.dll).
Contexte nominal :
z Le serveur PL7 est actif,
z PL7 est en mode local,
z Si les paramètres (driver et adresse) sont des chaînes vides, le serveur
exécute la fonction avec le driveur et/ou l’adresse courante.
Cas d’erreur :
SRV_ERR_COMPATIBLE_PLC
Problème de compatibilité entre l’application
ouverte et l’automate.
SRV_ERR_GEN_ADDRESS
Le paramètre p_IpAddress est incorrect.
SRV_ERR_GEN_DRIVER
Le paramètre p_IpDriver est incorrect.
SRV_ERR_GEN_RESERVED
L’automate est réservé, il est donc
impossible de s’y connecter.
SRV_ERR_GEN_COMMUNICATION
Problème de communication entre PL7pro et
l’automate.
SRV_ERR_PLC_CONNECT
Il faut être en mode local pour pouvoir
effectuer le download.
SRV_ERR_GEN_ACTION
Erreur lors de l’exécution de la fonction.
SRV_ERR_GEN_PARAM_EMPTY
Le nom du fichier dat est incorrect ou vide.
SRV_ERR_GEN_PROTECTEAPPLI
L’application est protégée en lecture, il n’est
pas possible de se connecter à l’automate.
SRV_OPEN_NOK_COMPATIBLES
Le serveur ne supporte pas le niveau
d’application STX à ouvrir.
SRV_ERR_UPLOAD_NOAPPLI
Une erreur est survenu pendant le transfert
d’application.
35013155.01 07/2008
Serveur OLE Automation
SRV_ERR_UPLOAD_READINFOSYMB
Erreur de communication lors de la lecture
des informations embarqués de la base.
SRV_ERR_UPLOAD_WRITEINFOSYMBOL
Erreur d’écriture. Si le disque de sauvegarde
est saturé sur le fichier dat.
SRV_ERR_UPLOAD_INVALIDSYMB
Base de symboles embarquée dans
l’automate invalide.
SRV_ERR_UPLOAD_INVALIDVERSION
La version de la base des symboles
embarquée n’est pas supportée par cette
version de PL7.
SRV_ERR_UPLOAD_SYMBERR
Erreur interne sur la base des symboles
embarquée.
SRV_ERR_UPLOAD_NBSYMBERR_NOCO Incohérence sur les objets stockés dans la
RRECT
base compressée
SRV_ERR_UPLOAD_SYMBFILE
Problème de lecture de la base contenue
dans l’automate.
SRV_ERR_UPLOAD_READSYMBFILE
Erreur de lecture de la base contenue dans
l’automate.
SRV_ERR_UPLOAD_PBMEM
La mémoire est saturée, l’opération ne peut
pas se dérouler normalement.
SRV_ERR_UPLOAD_ABORTSYMB
Abandon de la lecture du fichier de la base
des symboles embarquée.
SRV_ERR_UPLOAD_CHECKSYMB
Une différence a été détectée entre la
"checksum" embarquée et la "checksum"
recalculée.
SRV_ERR_UPLOAD_DIFFSYMB
Une différence a été détectée entre les
informations transférées et les informations
recalculées.
z
35013155.01 07/2008
Sortie :
Code retour de type short. Soit 0 dans le cas d’un déchargement réussi, soit un
code d’erreur.
111
Serveur OLE Automation
GetSymbol
Généralités
Cette fonction permet de donner le symbole et le commentaire associé à un repère.
Description
Synthèse :
integer GetSymbol(String p_lpRepere, String* p_bsSymbole, String* p_bsComment)
z
z
z
z
SRV_ERR_ADDRESSSYNTAX
la chaîne de caractères passée en paramètre ne
correspond pas à un repère.
SRV_ERR_GEN_NOTOPEN
Il n’y a pas d’application ouverte.
SRV_ERR_GEN_PARAM_EMPTY
p_lpRepere est vide.
SRV_ERR_GEN_ACTION
Erreur lors de l'exécution de la fonction.
SRV_ERR_GEN_ADDRESS
Adresse incorrecte.
SRV_ERR_GEN_ACTION
Erreur d'exécution de la fonction.
z
112
Entrée :
Saisir la chaîne de caractères contenant le repère à modifier ou à renseigner.
Fonction appelée :
GetSymbol: Fonction de la gestion station (gesta.dll).
Contexte nominal :
Le serveur PL7 est actif. Une application est ouverte et en mode local.
Cas d’erreur :
Sortie :
Code retour de type short. Soit 0 dans le cas d’un chargement réussit, soit un
code erreur.
Deux chaînes de caractères :
z Le symbole associé ( p_bsSymbole).
z Le commentaire associé ( p_bsComment).
35013155.01 07/2008
Serveur OLE Automation
SetServerIHM
Généralités
Cette fonction permet de visualiser ou pas le serveur PL7. Elle réalise le passage
d’un mode de fonctionnement à l’autre. C’est à dire d’un PL7Pro serveur sans IHM
à un PL7 Pro serveur avec IHM et vice et versa.
Description
Syntaxe :
integer SetServerIHM (integer p_bIHM)
z
z
z
z
SRV_ERR_GEN_ACTION
Erreur lors de l’exécution de la fonction.
SRV_ERR_GEN_MODIFAPPLI
Application en cours de modification.
z
35013155.01 07/2008
Entrée :
Un booléen (affichage ou non affichage IHM).
Fonction appelée :
SetIHMServer : Fonction de la Windows application (sawinapp.cpp).
Contexte nominal :
Le serveur PL7 est actif.
Cas d’erreur :
Sortie :
Code retour de type short. Soit 0 dans le cas d’un chargement réussi, soit un
code erreur.
113
Serveur OLE Automation
SetDownloadFunction
Généralités
Cette fonction permet d’autoriser ou pas le transfert d’une application via le serveur
dans un automate.
Description
Syntaxe :
boolean SetDownloadFunction (integer Download)
z
z
z
z
114
Entrée :
Saisir 1 entier (valeur 0 ou 1) permettant d’activer ou non le transfert de
l’application dans l’automate,
Contexte nominal :
z Le serveur PL7 est actif,
z PL7 est en mode local.
Sortie :
TRUE.
Limitations :
Cette fonction n’interdit le transfert que pour une utilisation en mode serveur.
35013155.01 07/2008
Serveur OLE Automation
GetPL7State
Généralités
Cette fonction permet de donner l’état du serveur.
Description
Syntaxe :
integer GetPL7State(String* p_lpStation, String * p_lpConnection)
z
z
z
Fonction appelée :
GetEtatPL7 : Fonction de la gestion station (gesta.dll).
Contexte nominal :
Le serveur PL7 est actif.
Cas d’erreur :
SRV_ERR_GEN_ACTION
z
35013155.01 07/2008
Erreur lors de l’exécution de la fonction.
Sortie :
Code retour de type short. Soit 0 dans le cas d’un chargement réussi, soit un
code erreur.
Deux chaînes de caractères informent l'utilisateur sur :
z L’état de la station (ouverte ou fermée).
z L’état du mode (local ou connecté). En mode connecté, l'état de l’automate run
ou stop est indiqué.
115
Serveur OLE Automation
GetSTXAppIdentity
Généralités
Cette fonction permet de connaître les informations générales d’une application.
Description
Syntaxe :
integer GetSTXAppIdentity(String p_lpNameStx, VARIANT FAR* p_pVarInfo)
z
z
z
z
Entrée :
Saisir la chaîne de caractères (p_lpNameStx) contenant le nom de l’application.
Fonction appelée :
FicheIdentAppli : Fonction de la gestion station (gesta.dll).
Contexte nominal :
Le serveur PL7 est actif.
Cas d’erreur :
SRV_ERR_GEN_PARAM_EMPTY
p_lpNameStx est vide.
SRV_ERR_GEN_ACTION
Erreur lors de l'exécution de la fonction.
SRV_ERR_APPLIINFO_NOK
Information incorrecte.
z
Sortie :
Code retour de type short. Soit 0 dans le cas d’un chargement réussi, soit un
code erreur.
Informations visualisées :
116
0
Le nom de la station,
1
Numéro de version de l'application,
2
Date et heure de modification,
3
La signature de la station,
4
La signature concernant la configuration des entrées/sorties locales,
5
La signature concernant la configuration des entrées/sorties deportées,
6
La signature concernant le code PL7,
7
La signature concernant le grafcet,
8
La signature concernant les constantes,
9
La signature concernant les symboles,
10
La signature concernant la réservation,
11
Le commentaire associé à l’application.
35013155.01 07/2008
Serveur OLE Automation
GetPLCAppIdentity
Généralités
Cette fonction permet de connaître les informations générales d’une application
contenue dans un automate.
Description
Syntaxe :
integer GetPLCAppIdentity(String p_lpDriver, String p_lpAdresse, VARIANTFAR*
p_pvInfoAppli)
z
z
z
z
Entrée :
Saisir les deux chaînes de caractères contenant le driver et l’adresse de
l’automate.
Fonction appelée :
FicheIdentAppliOnAutomate : Fonction de la gestion station (gesta.dll).
Contexte nominal :
Le serveur PL7 est actif et il est en mode local.
Cas d’erreur :
SRV_ERR_APPLIINFO_NOK
35013155.01 07/2008
Information incorrecte.
SRV_ERR_GEN_ACTION
Erreur lors de l'exécution de la fonction.
SRV_ERR_GEN_ADDRESS
Adresse incorrecte.
SRV_ERR_COMPATIBLE_PLC
Problème de compatibilité entre API et le logiciel
PL7.
SRV_ERR_PLC_BLANK
L’automate ne contient pas d’application.
SRV_ERR_GEN_ACTION
Problème lors du stockage des informations
application.
SRV_ERR_GEN_DRIVER
Le paramètre p_lpDriver est incorrect.
SRV_ERR_GEN_COMMUNICATION
Erreur de communication.
117
Serveur OLE Automation
z
Sortie :
Code retour de type short. Soit 0 dans le cas d’un chargement réussi, soit un
code erreur.
Informations visualisées :
0
118
Le nom de la station,
1
Numéro de version de l'application,
2
Date et heure de modification,
3
La signature de la station,
4
La signature concernant la configuration des entrées/sorties locales,
5
La signature concernant la configuration des entrées/sorties déportées,
6
La signature concernant le code PL7,
7
La signature concernant le grafcet,
8
La signature concernant les constantes,
9
La signature concernant les symboles,
10
La signature concernant la réservation,
11
Le commentaire associé à l’application.
35013155.01 07/2008
Serveur OLE Automation
SendCommandToPLC
Généralités
Cette fonction permet de lancer une commande dans l’automate.
Description
Syntaxe :
integer SendCommandToPLC(integer p_iCommand))
z
z
z
z
SRV_ERR_GEN_ACTION
Commande incorrecte.
SRV_ERR_GEN_NOTOPEN
Pas d’application ouverte.
SRV_ERR_COMMAND_NOTINLOCAL
Le serveur est en mode local.
SRV_COMMAND_ERRINIT
La fonction INIT est impossible, l'automate
est en RUN.
z
35013155.01 07/2008
Entrée :
Le type de la commande que l’utilisateur veut exécuter.
3 types possibles :
z SRV_COMMAND_INIT : Commande d’initialisation de l’automate
z SRV_COMMAND_STOP : Commande Stop
z SRV_COMMAND_RUN : Commande Run
Fonction appelée :
StationCommand : Fonction de la gestion station (gesta.dll).
Contexte nominal :
Le serveur PL7 est actif. Une application est ouverte, PL7 est en mode connecté,
en STOP.
Cas d’erreur :
Sortie :
Code retour de type short. Soit 0 dans le cas d’un chargement réussi, soit un
code erreur.
119
Serveur OLE Automation
SetDriverAndAdresse
Généralités
Cette fonction permet de changer le driver et l’adresse pour la station courante.
Description
Syntaxe :
integer SetDriverAndAdresse(String p_lpDriver, String p_lpAdresse)
z
z
z
z
SRV_ERR_GEN_ADDRESS
l’adresse passée en paramètre est
incorrecte.
SRV_ERR_GEN_DRIVER
le driver passé en paramètre est incorrect.
SRV_ERR_PLC_CONNECT
Le serveur est en mode connecté.
SRV_ERR_PLC_ACTION
Erreur lors de l'exécution de la fonction.
SRV_ERR_PARAM_EMPTY
Les paramètres sont vides.
z
120
Entrée :
Saisir les deux chaînes de caractères contenant le driver et l’adresse de
l’automate.
Fonction appelée :
DriverAndAdresse : Fonction de la gestion station (gesta.dll).
Contexte nominal :
Le serveur PL7 est actif. Une application est ouverte et en mode local. Si les
paramètres ne sont pas renseignés ou incorrects, les valeurs courantes sont
inchangées.
Cas d’erreur :
Sortie :
Code retour de type short. Soit 0 dans le cas d’un chargement réussi, soit un
code erreur.
35013155.01 07/2008
Serveur OLE Automation
OpenTool
Généralités
Cette fonction permet d’ouvrir les outils présents dans la chaîne de caractères
passée en paramètre.
Description
Syntaxe :
integer OpenTool(String p_lpListTool)
z
z
z
z
35013155.01 07/2008
Entrée :
Chaîne de caractères contenant la liste des outils que le serveur doit ouvrir.
exemple de format : tools1;tools2;tools3
Fonction appelée :
OpenTool : Fonction de la gestion station (gesta.dll).
Contexte nominal :
Le serveur PL7 avec IHM est actif. Une application est ouverte.
Cas d’erreur :
SRV_ERR_GEN_ACTION
Impossible d’ouvrir l’outil.
SRV_ERR_GEN_PARAM_EMPTY
Paramètre vide.
SRV_ERR_GEN_NOTOPEN
Il n'y a pas d'application ouverte.
SRV_ERR_GEN_WITHIHM
Fonction disponible avec le serveur PL7 en
mode IHM.
SRV_ERR_GEN_OPENEDTVDATA
L'outil "Table d'animation" ne peut être ouvert.
121
Serveur OLE Automation
z
Sortie :
Code retour de type short.
Liste des numéros d’outils applicables à PL7
122
Numéro
Désignation
5
Ouvre l’éditeur LD
6
Ouvre l’éditeur Grafcet
7
Ouvre l’éditeur IL
8
Ouvre l’éditeur ST
10
Ouvre l’éditeur de configuration
12
Ouvre l’éditeur de variables
13
Ouvre le navigateur de références croisées
14
Crée une table d’animation
15
Ouvre l’éditeur de documentation
188
Ouvre l’outil d’importation d’application
189
Ouvre l’éditeur de texte
207
Ouvre l’écran d’exploitation
210
Ouvre l’éditeur de type DFB
212
Ouvre le navigateur application
214
Ouvre le navigateur de mise au point Grafcet
215
Ouvre l’éditeur de code DFB en ST
35013155.01 07/2008
Serveur OLE Automation
SetPosPL7Windows
Généralités
Cette fonction permet de dimensionner la fenêtre PL7.
Description
Syntaxe :
integer PosPL7Windows(integer CoordX, integer CoordY, integer CoordCX,integer
CoordCY)
z
z
z
z
Entrée :
Les coordonnées x, y de la fenêtre.
Fonction appelée :
MoveWindow : Fonction mfc.
Contexte nominal :
Le serveur PL7 avec IHM est actif.
Cas d’erreur :
SRV_ERR_GEN_ACTION
Echec de la commande.
SRV_ERR_GEN_PARAM_EMPTY Paramètre vide.
SRV_ERR_GEN_WITHIHM
z
35013155.01 07/2008
Fonction disponible avec le serveur PL7 en mode IHM.
Sortie :
Code retour de type short.
123
Serveur OLE Automation
ShowProgram
Généralités
Cette fonction permet d’ouvrir les programmes présents dans la chaîne de
paramètres passée en paramètre.
Description
Syntaxe :
integer ShowProgram(String p_lpListProgram)
z
z
z
z
SRV_ERR_GEN_ACTION
Echec de la commande.
SRV_ERR_GEN_NOTOPEN
Pas d’application ouverte.
SRV_ERR_GEN_PARAM_EMPTY
Paramètre vide.
SRV_ERR_GEN_WITHIHM
Fonction disponible avec le serveur PL7 en
mode IHM.
SRV_ERR_GEN_SHOWPROGRAM
Impossible d'ouvrir le module.
z
z
124
Entrée :
Saisir les chaînes de caractères contenant la liste des programmes que le
serveur doit ouvrir.
exemple de format : mast\lad1;mast\lit2;evt\evt0;sr1;mast\prl
Fonction appelée :
ShowProgram : Fonction de la gestion station (gesta.dll).
Contexte nominal :
Le serveur PL7 avec IHM est actif.
Une application est ouverte.
Cas d’erreur :
Sortie :
Code retour de type short. Soit 0 dans le cas d’un chargement réussi, soit un
code erreur.
Limitations :
Cette fonction n’est pas capable d’ouvrir un DFB non instancié. Pour visualiser le
code d’un DFB non instancié il faut utiliser la fonction ShowDFB.
35013155.01 07/2008
Serveur OLE Automation
CloseProgram
Généralités
Cette fonction permet de fermer les programmes présents dans la chaîne de
caractères passée en paramètre.
Description
Syntaxe :
integer CloseProgram(String p_lpListProgram)
z
z
z
z
SRV_ERR_GEN_NOTOPEN
Pas d’application ouverte.
SRV_ERR_GEN_ACTION
Echec de fermeture.
SRV_ERR_GEN_PARAM_EMPTY
Paramètre vide.
SRV_ERR_GEN_WITHIHM
Fonction disponible avec le serveur PL7 en
mode IHM.
SRV_ERR_GEN_CLOSEPROGRAMM
Impossible de fermer le module.
z
z
35013155.01 07/2008
Entrée :
Chaîne de caractères contenant la liste des programmes que le serveur doit
fermer.
Exemple de format : mast\lad1;mast\lit2;evt\evt0;sr1;mast\prl.
Fonction appelée :
CloseProgram : Fonction de la gestion station (gesta.dll).
Contexte nominal :
Le serveur PL7 avec IHM est actif.
Une application est ouverte.
Cas d’erreur :
Sortie :
Code retour de type short. Soit 0 dans le cas d’un chargement réussi, soit un
code erreur.
Limitations :
Cette fonction n’est pas capable de fermer un DFB ouvert.
125
Serveur OLE Automation
ShowIOModule
Généralités
Cette fonction permet d’ouvrir les modules d’entrée/sortie presents dans la chaîne
de caractères passée en paramètre.
Description
z
z
z
z
Entrée :
Chaîne de caractères contenant la liste des modules que le serveur doit ouvrir.
Le format de la chaîne de caractères est rack,module; rack,module
Exemple de format : 0,0;0,1;1,2.
Fonction appelée :
ShowIOModule : Fonction de la gestion station (gesta.dll).
Contexte nominal :
Le serveur PL7 avec IHM est actif.
Une application est ouverte.
Cas d’erreur :
SRV_ERR_GEN_NOTOPEN
SRV_ACTION_NOK
Problème d’activation des droits utilisateurs.
SRV_ERR_GEN_PARAM_EMPTY
Paramètre vide.
SRV_ERR_GEN_WITHIHM
Fonction disponible avec le serveur PL7 en
mode IHM.
z
z
126
Pas d’application ouverte.
Sortie :
Code retour de type short. Soit 0 dans le cas d’un chargement réussi, soit un
code erreur.
Limitations :
L’ouverture d’un module IO se fait en mode local, l’écran de configuration du
module est ouvert. Si l’utilisateur passe du mode local en mode connecté, le
serveur ne bascule pas de l’écran configuration à l’écran mise au point.
L’utilisateur peut soit agir directement sur le pl7pro soit faire une fermeture/
ouverture du module à l’aide du client.
35013155.01 07/2008
Serveur OLE Automation
CloseIOModule
Généralités
Cette fonction permet de fermer les modules d’entrée/sortie présents dans la chaîne
de caractères passée en paramètre.
Description
Syntaxe
integer CloseIOModule(String p_lpListIOModule).
z
z
z
z
SRV_ERR_GEN_ACTION
Echec de la commande de fermeture.
SRV_ERR_GEN_PARAM_EMPTY
Paramètre vide.
SRV_ERR_GEN_NOTOPEN
Pas d’application ouverte.
SRV_ERR_GEN_WITHIHM
Fonction disponible avec le serveur PL7 en
mode IHM.
z
z
35013155.01 07/2008
Entrée :
Chaîne de caractères contenant la liste des modules que le serveur doit ouvrir.
Exemple de format : 0,0;0,1;1,2.
Fonction appelée :
CloseIOModule : Fonction de la gestion station (gesta.dll).
Contexte nominal :
Le serveur PL7 avec IHM est actif.
Une application est ouverte.
Cas d’erreur :
Sortie :
Code retour de type short. Soit 0 dans le cas d’un chargement réussi, soit un
code erreur.
Limitations :
Cette fonction ne ferme pas l’éditeur de configuration ouvert à l’aide de la fonction
ShowIOModule.
127
Serveur OLE Automation
ShowDFB
Généralités
Cette fonction permet de visualiser le code d’un ou plusieurs DFB présents dans la
chaîne de caractères passée en paramètre. L’ouverture d’un DFB via cette fonction
ne nécessite pas d’instanciation.
Description
Syntaxe
integer ShowDFB(String p_lpListeDFB)
z
z
z
z
SRV_ERR_GEN_PARAM_EMPTY
Paramètre vide
SRV_ERR_GEN_NOTOPEN
Pas d’application ouverte
SRV_ERR_GEN_ACTION
Problème lors de l’ouverture d’un DFB
SRV_ERR_GEN_WITHIHM
Fonction disponible avec le serveur PL7 en
mode IHM
z
128
Entrée :
Chaîne de caractères contenant la liste des DFB que le serveur doit ouvrir.
Fonction appelée :
ShowDFB : fonction de la gestion station (gesta.dll).
Contexte nominal :
Le serveur PL7 avec IHM est actif.
Une application est ouverte.
Cas d’erreur :
Sortie :
Code retour de type short. Soit 0 dans le cas d’un chargement réussi, soit un
code erreur.
35013155.01 07/2008
Serveur OLE Automation
CloseDFB
Généralités
Cette fonction permet de fermer un ou plusieurs DFB présents dans la chaîne de
caractères passée en paramètre.
Description
Syntaxe
integer CloseDFB(String p_lpListeDFB)
z
z
z
z
Entrée :
Chaîne de caractères contenant la liste des DFB que le serveur doit fermer.
Fonction appelée :
CloseDFB : fonction de la gestion station (gesta.dll).
Contexte nominal :
Le serveur PL7 avec IHM est actif.
Une application est ouverte.
Cas d’erreur :
SRV_ERR_GEN_PARAM_EMPTY
SRV_ERR_GEN_NOTOPEN
Pas d’application ouverte
SRV_ERR_GEN_ACTION
Problème lors de l’ouverture d’un DFB
SRV_ERR_GEN_WITHIHM
Fonction disponible avec le serveur PL7 en
mode IHM
z
35013155.01 07/2008
Paramètre vide
Sortie :
Code retour de type short. Soit 0 dans le cas d’un chargement réussi, soit un
code erreur.
129
Serveur OLE Automation
GetMessageError
Généralités
Cette fonction permet d’associer un message d’erreur en fonction du code d’erreur
passé en paramètre.
Description
Syntaxe
String GetMessageError(integer p_iCodeError)
z
z
z
130
Entrée :
Le code erreur d'un des services à retourner.
Contexte nominal :
Le serveur PL7 avec est actif.
Sortie :
Une chaîne de caractères correspondant au libellé de l’erreur.
35013155.01 07/2008
Serveur OLE Automation
GetServerVersion
Généralités
Cette fonction permet de connaître le numéro de version du serveur PL7pro.
Description
Syntaxe
String GetServerVersion()
35013155.01 07/2008
z
Contexte nominal :
Le serveur PL7 avec est actif.
z
Sortie :
Une chaîne de caractères correspondant au libellé du numéro de version du
serveur PL7pro.
131
Serveur OLE Automation
ImportScyFile
Généralités
Cette fonction permet d’importer à partir d’un fichier scy des symboles dans
l’application active.
Description
Syntaxe :
integer ImportScyFile (string ScyFile)
z
z
z
z
SRV_ERR_GEN_ACTION
Erreur lors de l’exécution de la fonction.
SRV_ERR_GEN_PARAM_EMPTY
Le nom du fichier dat est incorrect ou vide.
SRV_ERR_GEN_NOTOPEN
Pas d’application STX ouverte.
SRV_ERR_SRC_FILE
Problème sur le fichier source.
z
z
132
Entrée :
Saisir 1 chaîne de caractères contenant le nom et le chemin du fichier scy que
l’on va importer.
Fonction appelée :
ImportScyFile : Fonction de la gestion station (gesta.dll).
Contexte nominal :
z Le serveur PL7 est actif,
z PL7 est en mode local, station ouverte.
Cas d’erreur :
Sortie :
Code retour de type short. Soit 0 dans le cas d’une importation réussie.
Limitations :
Le serveur de PL7, sans IHM, une fois l’importation réussie, ne peut pas
fonctionner en mode avec IHM sans une sauvegarde préalable de l’application
ouverte.
35013155.01 07/2008
Serveur OLE Automation
DownloadStationWithSymbol
Généralités
Cette fonction permet de charger une application et sa base zippée de symboles
dans l'automate.
Description
Syntaxe :
integer DownloadStationWithSymbol (String p_IpDriver, String p_IpAdresse)
z
z
z
z
Entrée :
z 2 chaînes de caractères contenant le driver et l'adresse de l'automate.
Fonction appelée :
DownloadStationWithSymbol : Fonction de la gestion station (gesta.dll).
Contexte nominal :
z Le serveur PL7 est actif,
z Une application est ouverte, elle contient des symboles ou/et des dfbs.
L'application est configurée avec une cartouche mémoire supportant la base
symbole, PL7 est en local,
z Si les paramètres sont des chaînes vides, le serveur exécute la fonction avec
le driver et/ou l'adresse courant.
Cas d’erreur :
SRV_ERR_DOWNLOAD_CART
Problème de compatibilité de cartouche entre
l'application ouverte et l'automate.
SRV_ERR_COMPATIBLE_PLC
Problème de compatibilité entre l'application ouverte et
l'automate.
SRV_ERR_PC_BLANK
Il n'y a pas d'application ouverte.
SRV_ERR_GEN_NOTOPEN
Il n'y a pas d'application ouverte.
SRV_ERR_GEN_ADDRESS
Le paramètre p_lpAdresse est incorrect.
SRV_ERR_GEN_DRIVER
Le paramètre p_lpDriver est incorrect.
SRV_ERR_GEN_RESERVED
L'automate est réservé il est donc impossible de s'y
connecter.
SRV_ERR_GEN_COMMUNICATION
Problème de communication entre le PL7pro et
l'automate.
SRV_ERR_PLC_CONNECT
Il faut être en mode local pour pouvoir effectuer le
download.
SRV_ERR_GEN_ACTION
Erreur lors de l'exécution de la fonction.
SRV_ERR_GEN_PROTECTEDAPPLI L'application contenue dans l'automate est protégée.
35013155.01 07/2008
133
Serveur OLE Automation
z
Sortie :
Code retour de type short. Soit 0 dans le cas d'un chargement réussit, soit un
code erreur.
134
35013155.01 07/2008
Serveur OLE Automation
CompareSymbolPCAndSymbolPLCAppli
Généralités
Cette fonction permet de connaître les informations génerales d'une application
contenue dans un automate.
Description
Syntaxe :
integer CompareSymbolPCAndSymbolPLCAppli (VARIANT FAR* p_pVarInfo i)
z
z
z
35013155.01 07/2008
Fonction appelée :
FicheCompareSymbolPCAndSymbolPLCAppli : Fonction de la gestion station
(gesta.dll).
Contexte nominal :
z Le serveur PL7 est actif, de plus il est en mode local. Une application est
ouverte, elle contient des symboles ou/et des dfbs,
z L'application est configurée avec une cartouche mémoire supportant la base
symbole.
Cas d’erreur :
SRV_ERR_GEN_ADDRESS
Adresse incorrecte.
SRV_ERR_COMPATIBLE_PLC
Problème de compatibilité du TSX avec le
logiciel PL7.
SRV_ERR_PLC_BLANK
L'automate ne contient pas d'application.
SRV_ERR_GEN_ACTION
Problème lors du stockage des informations
application.
SRV_ERR_APPLIINFO_NOK
Informations incorrectes.
SRV_ERR_GEN_DRIVER
Le paramètre p_lpDriver est incorrect.
SRV_ERR_GEN_COMMUNICATION
Erreur de communication.
SRV_ERR_GEN_NOTOPEN
Il n'y a pas d'application ouverte.
SRV_ERR_GEN_CONNECT
La connection n'a pas pu s'effectuer.
SRV_ERR_GEN_COMPARESYMB
Une erreur est survenue lors de la
comparaison.
135
Serveur OLE Automation
z
136
Sortie :
Code retour de type short. Soit 0 dans le cas d'un chargement réussit, soit un
code erreur.
z 1 : Nombre total de symboles contenu dans l'application locale,
z 2 : Checksum de la base de symboles contenu dans l'application locale,
z 3 : Taille des symboles contenu dans l'application locale,
z 4 : Taille des symboles de la base zippée contenu dans l'application locale,
z 5 : Date de dernière modification de la base zippée contenu dans l'application
locale,
z 6 : Nombre total de dfbs contenu dans l'application locale,
z 7 : Date de dernière modification des dfbs de la base zippée contenu dans
l'application locale,
z 8 : Nombre total de symboles contenu dans l'application embarquée,
z 9 : Checksum de la base de symboles contenu dans l'application embarquée,
z 10 : Taille des symboles contenu dans l'application embarquée,
z 11 : Taille des symboles de la base zippée contenu dans l'application
embarquée,
z 12 : Date de dernière modification de la base zippée contenu dans l'application
embarquée,
z 13 : Nombre total de dfbs contenu dans l'application embarquée,
z 14 : Date de dernière modification des dfbs de la base zippée contenu dans
l'application embarquée,
z 15 : Résultat de la comparaison.
35013155.01 07/2008
Performances
6
Présentation
Objet de ce
chapitre
Ce chapitre décrit les performances des instructions du langage PL7. Il permet ainsi
de calculer le temps d’exécution d’une application et la taille mémoire occupée.
Contenu de ce
chapitre
Ce chapitre contient les sous-chapitres suivants :
35013155.01 07/2008
Souschapitre
Sujet
Page
6.1
Informations générales
138
6.2
Performances des instructions sur automates Micro
140
6.3
Performances des instructions sur automates Premium
172
6.4
Fonctions avancées
215
137
Performances
6.1
Informations générales
Principes de calcul
Durée
d’exécution du
programme
application
Le calcul du temps d’exécution du programme s’effectue à l’aide des tableaux pages
suivantes, en faisant la somme des temps pour chaque instruction du programme.
Note : le temps obtenu correspond à un temps maximal. En effet un bloc opération,
un sous programme ne seront traités que si la condition d’exécution (équation
logique conditionnant l’exécution du bloc, du sous programme) est vrai, il se peut
donc que le temps effectif soit très inférieur au temps maximal calculé.
Le calcul du temps de cycle complet fait intervenir des paramètres spécifiques à
l’automate (temps d’overhead, durée d’échange d’entrées/sorties...). Pour la
procédure de calcul complète se référer au manuel de mise en oeuvre de l’automate
concerné (chapitre performance).
138
35013155.01 07/2008
Performances
Taille mémoire
application
La taille de l’application est la somme des éléments suivants :
Elément
Méthode de calcul
Programme
Effectuez la somme de chacune des instructions du programme
et multiplier par le coefficient correspondant au langage utilisé
(voir page suivante)
Fonctions avancées
Voir Taille mémoire des fonctions avancées, p. 227
Objets PL7 configurés
Voir Taille mémoire des objets, p. 217
Module d’entrées/sorties
configurés
Voir Bilan des consommations mémoire des modules sur Micro,
p. 218 et Bilan des consommations mémoire des modules sur
Premium, p. 221
Commentaires
Les commentaires programme occupent 1 octet par caractère.
Dans les tableaux des pages suivantes, les informations sur les tailles concernent
le volume de codes instructions.
Pour connaitre la taille totale d’une instruction ou d’un programme, il faut appliquer
un coefficient multiplicateur qui tient compte des informations typiques par langage.
Langage
Taille
Langage à contacts
Volume total = 1,7 x Volume de code
Littéral structuré
Volume total = 1,6 x Volume de code
Liste d’instructions
Pour automate Micro : Volume total = 1,4 x Volume de code
Pour automate Premium : Volume total = 1,6 x Volume de code
Grafcet
Volume Graphe (en mots) = 214 + 17 * nb étapes graphe + 2 * nb total
étapes configurées + 4 * nb actions programmées
Note : Les chiffres indiqués dans les tableaux suivants sont des estimations
moyennes obtenues à partir d’une application type. Il n’est pas possible de fournir
d’informations exactes, car PL7 optimise l’utilisation mémoire, en fonction du
contenu et de la structure de l’application.
Le chapitre Description des zones mémoire, p. 216 rappelle les différentes zones
mémoires occupées par l’application.
35013155.01 07/2008
139
Performances
6.2
Performances des instructions sur automates
Micro
Présentation
Objet de ce sous
chapitre
Ce sous chapitre décrit les performances des instructions exécutées sur automate
Micro.
Contenu de ce
sous-chapitre
Ce sous-chapitre contient les sujets suivants :
140
Sujet
Page
Performances des instructions booléennes
141
Performances des blocs fonction
144
Arithmétique entière et à virgule flottante
147
Instructions sur programme et structures de contrôle
151
Conversions numériques
153
Instructions sur chaîne de bits
154
Instruction sur tableaux de mots, doubles mots et flottants
157
Instructions de gestion du temps
164
Instructions sur chaînes de caractères
166
Fonctions métier et fonctions Orphée
168
Instructions d’entrées/sorties explicite
171
35013155.01 07/2008
Performances
Performances des instructions booléennes
35013155.01 07/2008
141
Performances
Performances
LD
Le tableau ci-après décrit les performances des instructions booléennes.
IL
LD
LDN
P
LDR,
LDF
ST
Objets
Temps d’exécution (μs)
37 05/
08/10
37 20
ram
37 20
cart.
Taille
En
mots
0,25
0,13
0,19
1
%M1 (1)
0,25
0,13
0,19
1
%M1[%MW2]
13,10
12,85
12,85
7
%MW0:X0 (2)
6,06
5,75
5,75
4
%IWi.j:Xk (3)
77,04
69,25
69,25
8
%MW0[%MW8]:X0
16,29
15,55
15,55
8
%KW0[%MW8]:X0
87,27
79,05
79,05
12
%M1
0,50
0,25
0,38
2
%M1[%MW2]
13,01
12,75
12,75
7
5
N
AND,
ANDN , AND (, AND (N , idem OR
idem LD,LDN
ANDR, ANDF, AND (R, AND (F, idem OR
idem LDR,LDF
XOR
XORN
%M1
1,25
0,63
0,94
%M1[%MW2]
26,94
26,08
26,26
13
%MW0:X0
12,86
11,88
12,06
10
%IWi.j:Xk
83,84
75,38
75,56
14
%MW0[%MW8]:X0
33,33
31,48
31,66
14
%KW0[%MW8]:X0
104,31
94,98
95,16
18
%M1
2,25
1,13
1,69
9
%M1[%MW2]
27,28
26,13
26,44
19
P
N
XORR,
XORF
142
35013155.01 07/2008
Performances
LD
IL
S
ST
ST
STN
S
R
R
Objets
Temps d’exécution (μs)
37 05/
08/10
37 20
ram
37 20
cart.
Taille
En
mots
%M1 (1)
0,50
0,25
0,38
2
%M1[%MW2]
13,10
12,85
12,85
7
%MW0:X0
5,88
5,60
5,60
4
%NW{i}.j:Xk (3)
76,86
69,10
69,10
8
%MW0[%MW8]:X0
16,41
15,65
15,65
8
bobines multiples en ladder, «coût» de la 2ème bobine et des suivantes
0,25
0,13
0,19
1
bloc opération
bloc exécuté
0,74
0,75
0,75
1
non exécuté
5,55
5,40
5,40
1
Temps en plus de la
comparaison
0,00
0,00
0,00
0
entre 2 %MWi
12,38
11,85
11,85
4
bloc exécuté
0,25
0,13
0,19
1
1
bloc comparaison
horizontal
[ action]
[ LD
[comparaison]]
bloc
opérationvertical
Convergence
[ )]
[ )]
Divergence non
suivie d’une
convergence
[]
Ladder, 1 divergence
0,25
0,13
0,19
[MPS, MPP,
MRD]
List MPS+MPP
0,75
0,38
0,56
3
List MRD
0,25
0,13
0,19
1
Légende
1. Ceci concerne tous les objets bits forçables : %I, %Q, %X, %M, %S,
2. autres objets de même type : bits de sortie de bloc fonction %TMi.Q ..., bits
extraits de mots système %SWi:Xj
3. autres objets de même type : bits extraits de mots communs %NW{i}j:Xk, bits
extraits de mots d’E/S %IWi.j.Xk, %QWi.j.Xk, bits extraits de %KW, bits de défaut
%Ii.j.ERR.
35013155.01 07/2008
143
Performances
Performances des blocs fonction
Temporisateur
IEC
Le tableau ci-après décrit les performances du bloc fontion temporisateur IEC.
LD
front
montant
sur IN
IL
IN %TM1
(front
montant)
front
IN %TM1
descendant (front
sur IN
descendant)
Temporisateur
PL7-3
ST
Conditions
3705/08/10
Temps d’exécution (μs
3720
Taille
(mots)
3
START
%TM1
lancement
timer
43,39
41,11
DOWN
%TM1
arrêt timer
17,47
17,01
IN =1
IN %TM1
(=1)
timer actif
18,74
17,99
IN =0
IN %TM1
(=0)
timer inactif
17,40
16,67
Le tableau ci-après décrit les performances du bloc fontion temporistaeur PL7-3.
LD
IL
ST
Conditions
Temps d’exécution (μs
3705/08/10
E =0
3720
START
%T1
armer
STOP
%T1
geler
12,63
12,15
RESET reset
%T1
12,94
12,15
17,55
17,00
timer actif
Taille
(mots)
3
timer inactif
144
35013155.01 07/2008
Performances
Compteur/
décompteur
Monostable
Registre
35013155.01 07/2008
Le tableau ci-après décrit les performances du bloc fontion compteur/décompteur.
LD
IL
ST
Conditions Temps d’exécution (μs
3705/08/10
3720
Taille
(mots)
reset, R=1
R %C8 (=1)
RESET
%C8
reset
18,69
17,92
3
preset, S=1 S %C9 (=1)
PRESET
%C9
preset
20,42
19,73
front
montant
sur CU
CU %C8
(front
UP %C8
up
19,92
19,10
front
montant
sur CD
CD %C9
(front
DOWN
%C9
down
19,92
19,10
entrées
inactives
R/S/CU/CD
bit inactif
aucune
action
13,27
12,81
Le tableau ci-après décrit les performances du bloc fonction monostable.
LD
IL
ST
Conditions
Temps d’exécution (μs
3705/08/10
3720
Taille
(mots)
front
montant
sur S
S %MN0,
front
montant
START
%MN0
lancement
35,08
33,16
3
S=1
S %MN0,
S =1/0
monostable
actif
11,64
11,17
Le tableau ci-après décrit les performances du bloc fonction registre.
LD
IL
ST
Conditions
Temps d’exécution
(μs
Taille
(mots)
front sur I
I %R2
(front)
PUT %R2
stockage
21,90
21,27
3
front sur O
O %R2
(front)
GET %R2
déstockage
21,90
21,27
R=1
R %R1
(=1)
RESET
%R2
reset
16,90
16,02
entrées
inactives
I/O/R, bit
inactif
pas d’action
12,61
12,19
145
Performances
Programmateur
cyclique
146
Le tableau ci-après décrit les performances du programmateur cyclique.
LD
IL
ST
front sur U
U %DR0
UP %DR1
R=1
R %DR1
entrées
inactives
R/U, bit
inactif
RESET
%DR2
Conditions
Temps d’exécution
(μs
Taille
(mots)
3
up, fixe
181,37
169,13
par bit d’ordre
19,30
19,30
reset, fixe
174,15
162,03
par bit d’ordre
19,30
19,30
pas d’action,
fixe
175,92
164,00
par bit d’ordre
19,30
19,30
35013155.01 07/2008
Performances
Arithmétique entière et à virgule flottante
Corrections en
fonction du type
d’objets
Les temps et volumes des pages ci-après sont donnés pour des objets de type
%MW0, %MD0 ou %MF0.
Le tableau suivant décrit les corrections à apporter aux valeurs données dans le
tableau de performances des instructions arithmétiques si d’autres types d’objets
sont utlisés.
Type d’objet
Position de l’objet Type de
correction
Temps d’exécution
(μs)
3720
Taille
en
mots
Valeur
immédiate
simple longueur
-
Valeur à enlever 1,20
à celle
mentionnée
pour %MW
1,10
0
Valeur
immédiate
double longueur
-
Valeur à enlever 0,75
à celle
mentionnée
pour %MD ou
%MF
1
0
Mots, doubles
Mots ou flottants
indexés
Après le signe :=
3705/08/10
%KWi,
%KWi[%MWj]
%KDi, %KFi
mots commun,
mots d’entrées/
sorties
35013155.01 07/2008
Valeur à ajouter
10,52
10,05
4
Première opération, Valeur à ajouter
le premier opérande
n’étant pas indéxé,
ou affectation
11,20
10,60
5
Deuxième
opérande si le
premier opérande
est également
indexé
Valeur à ajouter
13,37
12,60
5
-
Valeur à ajouter
70,98
63,50
2
147
Performances
Correction en
fonction du
contexte de
l’opération
148
Le tableau suivant décrit les corrections à apporter aux valeurs données dans le
tableau de de performances des instructions arithmétiques en fonction du contexte
de l’opération.
Contexte de
l’opération
Type d’objet
Type de
correction
Temps d’exécution
(μs)
Taille
3705/08/10
3720
37xx
L’opération est au
minimum en
deuxième position
dans la phrase
Ex : %MW2 dans
:=%MW0*%MW1*%
MW2
%MW
Valeur à ajouter
à celle
mentionnée
pour %MW
0,69
0,55
0
%MD ou %MF
Valeur à ajouter
à celle
mentionnée
pour %MD ou
%MF
0,99
0,75
0
Opération avec
résultat d’une
opération entre
parenthèses ou plus
prioritaire
Ex :
%MW0+%MW2+(...)
%MW
Valeur à ajouter
à celle
mentionnée
pour %MW
2,86
2,55
1
%MD ou %MF
Valeur à ajouter
à celle
mentionnée
pour %MD ou
%MF
3,60
3,15
1
35013155.01 07/2008
Performances
Tableau de
performance des
instructions
Le tableau ci-après décrit les performances des instructions aritmétiques.
ST
Objets
objet après le :=
%MW0
4,81
%MD0,%MF0
6,45
5,70
2
:=
%MW0
4,46
4,30
2
%MD0
et %MF0
5,15
4,85
2
8,94
8,50
4
10,71
10,26
4
=, <>, <=, <, >, >= %MW0
%MD0
Temps d’exécution (μs) Taille
(mots)
3705/08/10 3720
37xx
4,50
2
%MF0
29,06
28,39
4
AND, OR, XOR
%MW0
7,29
6,90
3
%MD0
9,21
8,55
3
+, -
%MW0
7,29
6,90
3
%MD0
9,21
8,55
3
%MF0
62,83
61,20
3
%MW0
9,75
9,10
3
%MD0
39,63
36,50
3
*
/, REM
/
ABS, -objet
%MF0
58,26
56,90
3
%MW0
10,69
10,08
3
%MD0
205,21
201,38
3
%MF0
62,47
60,25
3
%MW0
7,20
6,95
3
%MD0
9,97
9,53
3
%MF0
13,01
12,50
3
NOT
%MW0
6,69
6,45
3
%MD0
7,80
7,40
3
SQRT
%MW0
17,02
16,70
3
%MD0
85,73
85,25
3
%MF0
165,04
158,40
3
%MW0
4,86
4,40
2
%MD0
5,20
4,75
2
INC, DEC
35013155.01 07/2008
Conditions
149
Performances
150
ST
Objets
Conditions
Temps d’exécution (μs) Taille
(mots)
3705/08/10 3720
37xx
SHL, SHR, ROL,
ROR
%MW0
pour 1 bit
17,74
17,05
5
pour 1 bit
20,58
19,15
5
par bit
supplémentaire
0,063
%MD0
LN
%MF0
1371,60
1270,00
3
LOG
%MF0
1458,00
1350,00
3
EXP
%MF0
1155,60
1070,00
3
EXPT
%MF0
2988,00
2490,00
3
TRUNC
%MF0
204,00
170,00
3
COS
%MF0
2829,60
2620,00
3
SIN
%MF0
2840,40
2630,00
3
TAN
%MF0
2937,60
2720,00
3
ACOS
%MF0
4082,40
3780,00
3
ASIN
%MF0
4082,40
3780,00
3
ATAN
%MF0
2786,40
2580,00
3
DEG_TO_RAD
%MF0
852,00
710,00
3
RAD_TO_DEG
%MF0
720,00
600,00
3
35013155.01 07/2008
Performances
Instructions sur programme et structures de contrôle
Performance des
instructions sur
programme
35013155.01 07/2008
Le tableau ci-après décrit les performances des instructions sur programme.
ST
Temps d’exécution (μs)
3705/08/10
3720
Taille (mots)
37xx
Jump %Li
41,93
38,20
3
Maskevt
12,21
10,80
1
Unmaskevt
40,27
37,10
1
SRi
48,68
42,88
3
Return
42,18
38,33
3
151
Performances
Performance des
Structures de
contrôle
Le tableau ci-après décrit les performances des instructions de type structures de
contrôle.
ST
Temps d’exécution (μs)
3705/08/10
<cond>
évaluation de la condition
bit forçable
voir instruction booléenne LD %M1
3720
Taille (mots)
37xx
comparaison
voir comparaisons =,<,> ...
if <cond > then
<action> end_if;
les temps et volumes indiqués ci-dessous sont à ajouter à ceux de l’action
contenue dans la structure
condition vraie
3,60
3,30
condition fausse
(saut)
5,55
5,40
2
If <cond> then <action1> else <action2> end_if;
condition vraie
9,15
8,70
condition fausse
5,55
5,40
passage dans la
boucle avec
rebouclage
9,15
8,70
sortie de la
boucle
5,55
5,40
4
while <cond> do.<action> end_while
2
repeat <action> until <cond> end_repeat
passage dans la
boucle avec
rebouclage
5,55
5,40
dernier passage
3,60
3,30
2
for <mot1:=mot2>to <mot3> do <action> end_for
152
entrée dans le
for, exécuté une
seule fois
8,58
8,25
passage dans la
boucle avec
rebouclage
29,38
27,35
sortie de la
boucle
20,42
19,40
15
35013155.01 07/2008
Performances
Conversions numériques
Performances
35013155.01 07/2008
Le tableau ci-après décrit les performances des instructions de conversions
numériques.
ST
Temps d’exécution (μs)
Volume
(mots)
3705/08/10
3720 ram
3720 cart
37xx
BCD_TO_INT
25,03
24,55
24,55
3
INT_TO_BCD
21,66
21,15
21,15
3
GRAY_TO_INT
36,98
36,55
36,55
3
INT_TO_REAL
40,90
40,75
40,75
3
DINT_TO_REAL
33,32
32,55
32,55
3
REAL_TO_INT
58,75
58,55
58,55
3
REAL_TO_DINT
44,59
44,05
44,05
3
DBCD_TO_DINT
1 324,85
1 065,15
1 134,70
5
DBCD_TO_INT
1 265,54
925,70
986,15
5
DINT_TO_DBCD
1 124,85
825,15
879,10
5
INT_TO_DBCD
564,85
445,15
474,40
5
153
Performances
Instructions sur chaîne de bits
Initialisation d’un
tableau de bits
Copie d’un
tableau de bits
dans un tableau
de bits
154
Le tableau ci-après décrit les performances des instructions d’initialisation d’un
tableau de bits.
ST
Taille (bit)
Temps d’exécution (μs)
3705/08/10
Taille (mots)
3720 ram 3720 cart 37xx
%M30:8 := 0
8
19,38
18,88
18,88
6
%M30:16 := 1
16
20,38
19,88
19,88
6
%M30:24 := 2
24
24,25
23,35
23,35
6
%M30:32 := 2
32
25,25
24,35
24,35
6
Le tableau ci-après décrit les performances des instructions de copie d’un tableau
de bits dans un autre tableau de bits.
ST
Taille (bit)
Temps d’exécution (μs)
3705/08/10
Taille
3720 ram 3720 cart (mots)
37xx
%M30:8 := %M20:8
8
25,54
24,79
24,79
6
%M30:16 := %M20:16
16
26,16
25,41
25,41
6
%M30:24 := %M20:24
24
33,41
32,26
32,26
6
%M30:32 := %M20:32
32
35,91
34,76
34,76
6
%M30:16 :=
COPY_BIT(%M20:16)
16
281,63
230,00
244,95
9
32
440,82
360,00
383,40
9
128
1261,22
1030,00
1096,95
9
35013155.01 07/2008
Performances
Instructions
logiques sur
tableau de bits
Le tableau ci-après décrit les performances des instructions logiques sur tableau de
bits.
ST
Taille
(bits)
Temps d’exécution (μs)
3705/08/10
Taille
3720 ram 3720 cart (mots)
37xx
%M0:16 :=
AND_ARX(%M30:16,%M50:16)
16
397,42
320,00
340,80
12
%M0:32 :=
AND_ARX(%M30:32,%M50:32)
32
620,97
500,00
532,50
12
%M0:128 :=
AND_ARX(%M30:128,%M50:128)
128
1 887,74
1 520,00
1 618,80
12
16
281,63
230,00
244,95
9
32
440,82
360,00
383,40
9
128
1261,22
1030,00
1096,95
9
AND_ARX, OR_ARX, XOR_ARX
NOT_ARX
%M0:16 := NOT_ARX(%M30:16)
Copie d’un
tableau de bits
dans un tableau
de mots
Le tableau ci-après décrit les performances des instructions de copie de tableaux
de bits dans un tableau de mots.
ST
%MW1 := %M30:8
35013155.01 07/2008
Taille
(bits)
Temps d’exécution (μs)
3705/08/10
Taille
3720 ram 3720 cart (mots)
37xx
8
14,84
14,36
14,36
5
%MW1 := %M30:16
16
16,34
15,86
15,86
5
%MD2 := %M30:24
24
14,54
14,23
14,23
5
%MD2 := %M30:32
32
16,04
15,73
15,73
5
%MW1:4 :=
BIT_W(%M40:80,0,17,2)
17
501,43
390,00
415,35
16
%MD1:4 :=
BIT_D(%M30:80,0,33,0)
33
379,53
530,00
564,45
16
155
Performances
Copie d’un
tableau de mots
dans un tableau
de bits
156
Le tableau ci-après décrit les performances des instructions de copie de tableaux
de mots dans un tableau de bits.
ST
Taille
(bits)
Temps d’exécution (μs)
3705/08/10
Taille
3720 ram 3720 cart (mots)
37xx
%M30:8 := %MW1
8
19,28
18,68
18,68
5
%M30:16 := %MW2
16
20,28
19,68
19,68
5
%M30:24 := %MD1
24
21,20
20,37
20,37
5
%M30:32 := %MD3
32
22,20
21,37
21,37
5
%M30:32 :=
W_BIT(%MW200:2,0,2,0)
32
488,68
370,00
394,05
16
%M30:32 := D_BIT(%MD0:1,0,2,0)
32
567,33
460,00
489,90
16
35013155.01 07/2008
Performances
Instruction sur tableaux de mots, doubles mots et flottants
Initialisation d’un
tableau de mots
par un mot
Le tableau ci-après décrit les performances des instructions d’initialisation d’un
tableau de mots par un mot..
ST
Taille (du
tableau de
mot)
Temps d’exécution (μs)
3705/08/10
Taille
3720 ram 3720 cart (mots)
37xx
%MW0:10 := %MW100
10 mots
47,46
42,15
par mot
0,34
0,20
0,20
%MD0:10 := %MD100
10 double mots
81,27
74,45
74,45
7
2,87
2,65
2,65
par double mot
Copie d’un
tableau de mots
dans un tableau
de mots
7
Le tableau ci-après décrit les performances des instructions de copie d’un tableau
de mots dans un autre tableau de mots.
ST
%MW0:10:=%MW20:10;
%MD0:10:=%MD20:10;
35013155.01 07/2008
42,15
Taille (du
tableau de
mot)
Temps d’exécution (μs)
3705/08/10
Taille
3720 ram 3720 cart (mots)
37xx
10 mots
95,80
85,35
85,35
par mot
0,77
0,50
0,50
10 double mots
111,13
97,65
97,65
par double mot
1,54
1,00
1,00
9
9
157
Performances
Instructions
arithmétiques et
logiques entre 2
tableaux de mots
Le tableau ci-après décrit les performances des instructions arithmétiques et
logiques entre 2 tableaux de mots.
ST
Taille (du
tableau de
mot)
Temps d’exécution (μs)
3705/08/10
3720 ram
3720 cart
Taille
(mots)
37xx
%MW0:10 :=
%MW10:10 + %MW20:10;
10 mots
168,04
151,95
151,95
14
par mot
7,13
6,35
6,35
%MD0:10:=
%MD10:10+%MD20:10;
10 double
mots
239,17
214,40
214,40
par double
mot
13,84
12,25
12,25
%MW0:10:=
%MW10:10 * %MW20:10;
10 mots
189,32
175,40
175,40
par mot
9,27
8,70
8,70
%MD0:10:=
%MD10:10 * %MD20:10;
10 double
mots
710,35
603,80
603,80
par double
mot
61,64
51,20
51,20
%MW0:10:=
%MW10:10 / %MW20:10;
10 mots
224,76
181,40
181,40
par mot
13,14
9,30
9,30
%MD0:10:=
%MD10:10 / %MD20:10;
10 double
mots
2 192,38
2 157,35
2 157,35
par double
mot
209,16
206,55
206,55
%MW0:10:=%MW10:10
AND %MW20:10;
10 mots
163,69
147,40
147,40
par mot
6,66
5,85
5,85
%MD0:10:=%MD10:10
AND %MD20:10;
10 double
mots
240,14
215,90
215,90
par double
mot
13,94
12,40
12,40
+, -
14
*
14
14
/, REM
14
14
AND, OR, XOR
158
14
14
35013155.01 07/2008
Performances
Instructions
arithmétiques et
logiques entre 1
tableau de mots
et 1 mot
Le tableau ci-après décrit les performances des instructions arithmétiques et
logiques entre 1 tableau de mots et 1 mot.
ST
Taille (du
tableau
de mot)
Temps d’exécution (μs)
3705/08/10 3720 ram
3720 cart
Taille
(mots)
37xx
%MW0:10 :=%MW10:10 +
%MW20;
ou %MW0:10 := %MW20 +
%MW10:10
10 mots
119,12
108,55
108,55
12
par mot
2,87
2,65
2,65
%MD0:10 :=%MD10:10 +
%MD20;
10 double
mots
159,68
147,45
147,45
par double 6,57
mot
6,25
6,25
%MW0:10 :=
%MW20*%MW10:10;
10 mots
166,86
132,45
132,45
par mot
7,94
5,05
5,05
%MD0:10:=
%MD20*%MD10:10;
10 double
mots
587,01
522,95
522,95
par double 49,18
mot
43,80
43,80
%MW0:10 :=%MW10:10 /
%MW30;
10 mots
196,69
155,85
155,85
par mot
10,86
7,30
7,30
%MD0:10:=
MD10:10 / %MD30
10 double
mots
2 230,17
2 173,95
2 173,95
par double 213,66
mot
208,90
208,90
%MW0:10 :=%MW10:10 AND
%MW20;
10 mots
106,45
106,45
par mot
2,64
2,40
2,40
%MD0:10 :=%MD20 AND
%MD10:10;
10 double
mots
587,01
522,95
522,95
6,15
6,15
+, -
12
*
12
12
/, REM
15
12
AND, OR, XOR
117,20
par double 6,47
mot
12
12
NOT
35013155.01 07/2008
159
Performances
ST
Taille (du
tableau
de mot)
Temps d’exécution (μs)
3705/08/10 3720 ram
3720 cart
Taille
(mots)
37xx
%MW0:10
:=NOT(%MW10:10);
10 mots
110,28
100,25
100,25
9
par mot
2,96
2,75
2,75
%MD0:10:=NOT(%MD10:10)
10 double
mots
126,39
114,00
114,00
4,05
4,05
par double 4,50
mot
Fonction
sommation sur
tableau
9
Le tableau ci-après décrit les performances des instructions de sommation sur
tableau.
ST
%MW20:=SUM(%MW0:10);
%MD20:=SUM(%MD0:10);
Taille (du
tableau
de mot)
Temps d’exécution (μs)
3705/08/10 3720 ram 3720 cart
Taille
(mots)
37xx
10 mots
74,30
69,00
69,00
10
par mot
2,44
2,35
2,35
10 double
mots
83,58
76,90
76,90
2,95
2,95
1257
1257
par double 3,17
mot
%MF20:=SUM_ARR(%MF0:10); 10 double
mots
1634
10
10
par double
mot
160
35013155.01 07/2008
Performances
Fonction de
comparaison de
tableaux
Fonction de
recherche
Le tableau ci-après décrit les performances des instructions de comparaison de
tableaux.
ST
Taille (du
tableau
de mot)
Temps d’exécution (μs)
%MW20:=
EQUAL(%MW0:10;%MW10:10);
10 mots
103,78
93,50
93,50
par mot
1,13
0,90
0,90
%MD20:=
EQUAL(%MD0:10;%MD10:10);
10 double
mots
116,17
103,40
103,40
par double 2,23
mot
1,75
1,75
%MF20:=
10 double 741
EQUAL_ARR(%MF0:10;%MF10: mots
10);
par double
mot
570
607
11
11
11
Le tableau ci-après décrit les performances des instructions de recherche dans un
tableau.
ST
35013155.01 07/2008
Taille
3705/08/10 3720 ram 3720 cart (mots)
37xx
Taille (du
tableau
de mot)
Temps d’exécution (μs)
3705/08/10 3720 ram
3720 cart
Taille
(mots)
37xx
%MW20 :=
10 mots,
FIND_EQW(%MW0:10,%KW0) cas max
340,00
250,00
266,25
15
%MD20 :=
FIND_EQD(%MD0:10, %KD0)
10 double
mots, cas
max
350,00
260,00
276,90
16
%MF20 :=
FIND_EQR(%MF0:10, %KF0)
10 double
mots
833
648
690,12
15
%MF20 :=
10 double
FIND_EQRP(%MF0:10, %KF0) mots
845
650
692,25
15
%MD20 :=
FIND_GTR(%MF0:10, %KF0)
10 double
mots
836
643
684,79
15
%MD20 :=
FIND_LTR(%MF0:10, %KF0)
10 double
mots
836
643
684,79
15
161
Performances
Recherche de
valeurs maxi et
mini
Calcul du
nombre
d’occurences
Le tableau ci-après décrit les performances des instructions de recherche de
valeurs maxi et mini dans un tableau.
ST
Taille (du
tableau
de mot)
Temps d’exécution (μs)
3705/08/10 3720 ram
3720 cart
Taille
(mots)
37xx
%MW20 :=
MAX_ARW(%MW0:10)
10 mots
350,00
260,00
276,90
9
%MD20 :=
MAX_ARD(%MD0:10)
10 double
mots
410,00
300,00
319,50
9
%MF20 :=
MAX_ARR(%MF0:10)
10 double
mots
1366
1051
1119,31
9
%MF20 :=
MIN_ARR(%MF0:10)
10 double
mots
1270
977
1040,50
9
Le tableau ci-après décrit les performances des instructions du nombre d’occurence
d’une valeur dans un tableau de mots.
ST
Taille (du Temps d’exécution (μs)
Taille
tableau
(mots)
3705/08/10 3720 ram 3720 cart
de mot)
37xx
%MW20 :=
10 mots
OCCUR_ARW(%MW0:10, %KW0)
162
350,00
250,00
266,25
15
%MD20 :=
OCCUR_ARD(%MD0:10, %KD0)
10 double 370,00
mots
270,00
287,55
16
%MF20 :=
OCCUR_ARR(%MF0:10, %KF0)
10 double 1265
mots
973
1036,24
16
35013155.01 07/2008
Performances
Décalage
circulaire
Instruction de tri
Le tableau ci-après décrit les performances des instructions de décalage circulaire.
ST
Taille (du
tableau
de mot)
Temps d’exécution (μs)
3705/08/10 3720 ram
3720 cart
Taille
(mots)
37xx
ROL_ARW(mot ou
valeur,%MWj:10)
10 mots
550,00
400,00
426,00
9
ROL_ARD(%MDi,%MDj:10)
10 double
mots
590,00
430,00
457,95
9
ROL_ARR(%MFi,%MFj:10)
10 double
mots
585
450
479,25
9
Le tableau ci-après décrit les performances des instructions de tri des éléments d’un
tableau.
ST
35013155.01 07/2008
Taille (du
tableau
de mot)
Temps d’exécution (μs)
3705/08/10 3720 ram
3720 cart
Taille
(mots)
37xx
SORT_ARW(%MWi,%MWj:10) 10 mots,
cas max
970,00
700,00
745,50
9
SORT_ARD(%MDi,%MDj:10)
5 double
mots, cas
max
610,00
450,00
479,25
9
SORT_ARR(%MFi,%MFj:10)
10 double
mots
1863
1433
1526,14
9
163
Performances
Instructions de gestion du temps
Instructions de
gestion des
dates, heures et
durées
Le tableau ci-après décrit les performances des instructions de gestion des dates,
heures et durées.
ST
Temps d’exécution (μs)
3705/08/10
164
Volume
(mots)
3720 ram
3720 cart
37xx
%MW2:4 := ADD_DT(%MW2:4,%MD8) 4 400,00
3 300,00
3 514,50
13
%MD2 := ADD_TOD(%MD2,%MD8)
2 100,00
1 550,00
1 650,75
9
%MB2:11 :=
DATE_TO_STRING(%MD40)
1 370,00
900,00
958,50
9
%MW5 := DAY_OF_WEEK()
220,00
280,00
298,20
5
%MD10 := DELTA_D(%MD2, %MD4)
1 520,00
1 130,00
1 203,45
9
%MD10 :=
DELTA_DT(%MD2:4,%MW6:4)
3 170,00
2 300,00
2 449,50
13
%MD10 :=
DELTA_TOD(%MD2,%MD4)
2 330,00
1 700,00
1 810,50
9
%MB2:20 :=
DT_TO_STRING(%MW50:4)
2 050,00
1 450,00
1 544,25
11
%MW2:4 := SUB_DT(%MW2:4,%MD8) 4 750,00
3 500,00
3 727,50
13
%MD2 := SUB_TOD(%MD2,%MD8)
2 330,00
1 700,00
1 810,50
9
%MB2:15 :=
TIME_TO_STRING(%MD40)
1 560,00
1 200,00
1 278,00
9
%MB2:9 :=
TOD_TO_STRING(%MD40)
1 270,00
800,00
852,00
9
%MD100 := TRANS_TIME(%MD2)
500,00
500,00
532,50
7
35013155.01 07/2008
Performances
Accès
horodateur
35013155.01 07/2008
Le tableau ci-après décrit les performances des instructions horodateur.
ST
Temps d’exécution (μs)
Volume
(mots)
3705/08/10
3720 ram
3720 cart
37xx
RRTC(%MW0:4)
93,60
84,80
84,80
5
WRTC(%MW0:4)
248,61
230,85
230,85
5
PTC(%MW0:5)
97,98
88,60
88,60
5
SCHEDULE(%MW0,%MW1,%MW2,%
MD10,%MD12,%M0)ÿ
1430
1100
1171,5
5
165
Performances
Instructions sur chaînes de caractères
Affectation,
recopie de
chaînes de
caractères
Conversions mot
<-> chaînes de
caractères
Conversions
double mot <->
chaînes de
caractères
166
Le tableau ci-après décrit les performances des instructions d’affectation et recopie
de chaînes de caractères.
ST
Taille
(caractères)
Temps d’exécution (μs)
3705/08/10
3720 ram
3720 cart
Taille
(mots)
37xx
%MB0:8:=%MB10:8
8 caractères
105,16
93,80
93,80
9
par caractère
1,65
1,30
1,30
%MB0:8:=’abcdefg’
8 caractères
120,72
110,20
110,20
11
par caractère
4,15
3,85
3,85
0,5
Le tableau ci-après décrit les performances des instructions de conversion de mots
et de chaînes de caractères.
ST
Temps d’exécution (μs)
3705/08/10
3720 ram
3720 cart
Taille
(mots)
37xx
%MW1:=
STRING_TO_INT(%MB0:7)
97,69
91,95
91,95
7
%MB0:7:=
INT_TO_STRING(%MW0)
104,36
96,70
96,70
7
Le tableau ci-après décrit les performances des instructions conversion de double
mots et de chaînes de caractères.
ST
Temps d’exécution (μs)
3705/08/10
3720 ram
3720 cart
Taille
(mots)
37xx
%MD1:=
STRING_TO_DINT(%MB0:13)
1 070,53
965,62
965,62
7
%MB0:13:=
DINT_TO_STRING(%MD0)
322,29
295,35
295,35
7
35013155.01 07/2008
Performances
Conversions
flottant <->
chaînes de
caractères
Instructions de
manipulation de
chaînes de
caractères
35013155.01 07/2008
Le tableau ci-après décrit les performances des instructions conversion de flottant
en de chaînes de caractères.
ST
Temps d’exécution (μs)
3705/08/10
3720 ram
3720 cart
Taille
(mots)
37xx
%MF1:=
STRING_TO_REAL(%MB0:15)
1 783,70
1 634,53
1 634,53
7
%MB0:15:=
REAL_TO_STRING(%MF0)
741,75
681,20
681,20
7
Le tableau ci-après décrit les performances des instructions de manipulation de
chaînes de caractères.
ST
Temps d’exécution (μs)
3705/08/10
3720 ram
3720 cart
Taille
(mots)
37xx
%MB10:20 :=
CONCAT(%MB30:10,%MB50:10)
1 170,00
770,00
820,05
15
%MB10:20 := DELETE(%MB10:22,2,3);
950,00
600,00
639,00
15
%MW0 :=
860,00
EQUAL_STR(%MB10:20,%MB30:20); (le
5ème caractère diffère)
520,00
553,80
13
%MW0 := FIND(%MB10:20,%MB30:10);
1 610,00
1 000,00
1 065,00
13
%MB10:20 :=
INSERT(%MB30:10,%MB50:10,4);
1 270,00
800,00
852,00
17
%MB10:20 := LEFT(%MB30:30,20);
920,00
570,00
607,05
13
%MW0 := LEN(%MB10:20);
770,00
340,00
362,10
9
%MB10:20 := MID(%MB30:30,20,10);
1 080,00
700,00
745,50
15
%MB10:20 :=
1 450,00
REPLACE(%MB30:20,%MB50:10,10,10)
;
870,00
926,55
19
%MB10:20 := RIGHT(%MB30:30,20);
950,00
1 011,75
13
1 480,00
167
Performances
Fonctions métier et fonctions Orphée
Fonctions de
communication
Fonction de
dialogue
opérateur
Le tableau ci-après décrit les performances des fonctions de communication.
ST
Temps d’exécution (μs)
Taille
3705/08/10 3720 ram 3720 cart (mots)
37••
SEND_REQ(%KW0:6,15,%MW0:1,%MW10: 2182
10,%MW30:4)
1818
1936
21
SEND_TLG(%KW0:6,1,%MW0:5,%MW30:2) 1636
1364
1452
15
Le tableau ci-après décrit les performances des instructions dialogue opérateur.
ST
Temps d’exécution (μs)
3705/08/10 3720
ram
168
3720
cart
Taille
(mots)
37••
SEND_MSG(ADR#1.0,%MW0:2,%MW10:2)
2 240
2 000
2208
19
SEND_ALARM(ADR#1.0,%MW0:2,%MW10:2)
2 240
2 000
2208
19
GET_MSG(ADR#1.0,%MW0:2,%MW10:2)
2 240
2 000
2 208
19
GET_VALUE(ADR#1.0,%MW0,%MW10:2)
1 120
1 000
1 104
17
ASK_MSG(ADR#1.0,%MW0:2,%MW10:2,%MW2 2 240
0:2)
2 000
2 208
23
ASK_VALUE(ADR#1.0,%MW0,%MW10:2,%MW2 2 240
0:2)
2 000
2 208
21
DISPLAY_ALRM(ADR#1.0,%MW0,%MW10:2)
1 120
1 000
1 104
17
DISPLAY_GRP(ADR#1.0,%MW0,%MW10:2)
1 120
1 000
1 104
17
DISPLAY_MSG(ADR#1.0,%MW0,%MW10:2)
1 120
1 000
1 104
17
CONTROL_LEDS(ADR#1.0,%MW0:2,%MW10:2) 2 240
2 000
2 208
19
ASSIGN_KEYS(ADR#1.0,%MW0:2,%MW10:2)
2 240
2 000
2 208
19
PANEL_CMD(ADR#1.0,%MW0:2,%MW10:2)
2 240
2 000
2 208
19
35013155.01 07/2008
Performances
Fonction de
régulation
Le tableau ci-après décrit les performances des fonctions de régulation.
ST
PID("PIDS1",’Unité’,%IW3.5,%MW
12,%M16,%MW284:43)
Temps d’exécution (μs)
3720 ram
Taille
3720 cart (mots)
37••
deval_ 1320
mmi=0
1100
1172
deval_ 1080
mmi=1
900
958,5
3705/08/10
24
PWM(%MW11,%Q2.1,%MW385:5)
600
500
532,5
11
SERVO(%MW12,%IW3.6,%Q2.2,
%Q2.3,%MW284:43,%MW390:10)
960
800
852
19
1140
950
1012
20
PID_MMI(ADR#0.0.4,%M1,%M2:5,
%MW410:62)
Archivage de
données
Condi
tion
EN=1
Le tableau ci-après décrit les performances des fonctions d’archivage de données.
ST
Temps d’exécution (μs)
Taille
(mots)
3705/08/10 3720 ram 3720 cart 37••
35013155.01 07/2008
SET_PCMCIA (pour 1600 mots)
1000
24
WRITE_PCMCIA (pour 1600 mots)
2000
24
READ_PCMCIA (pour 1600 mots)
2000
24
169
Performances
Fonction Orphée
Le tableau ci-après décrit les performances des fonctions de régulation.
ST
Condition Temps d’exécution (μs)
3705/08/10 3720 ram
170
3720 cart
Taille
(mots)
37••
DSHR_RBIT(%MD102,16,%MD écriture de 660
204,%MD206)
10 mots
480
511
13
DSHRZ_C(%MD102,16,%MD2
04,%MD206)
410
310
330
13
WSHL_RBIT(%MW102,8,%MW échange
300
204,%MW206)
de 10 mots
220
234
13
WSHR_RBIT(%MW102,8,%M
W204,%MW206)
20 octets
390
280
298
13
WSHRZ_C(%MW102,8,%MW2
04,%MW206)
20 octets
300
220
234
13
SCOUNT(%M100,%MW100,%
M101,%M102,%MW101,
%MW102,%M200,%M201,%M
W200,%MW201)
20 octets
510
410
437
25
req mirroir
10 mots
35013155.01 07/2008
Performances
Instructions d’entrées/sorties explicite
Performances
Le tableau ci-après décrit les performances des instructions d’entrées/sorties
explicites.
ST
Temps d’exécution (μs)
3705/08/10
3720 ram
3720 cart
Taille
(mots)
37xx
30
30
32
2
6
Read_Sts %CHi.MOD
Quelque soit le métier excepté la voie
de communication du processeur
Read_Sts %CHi
Entrée analogique
180
180
216
Sortie analogique
90
70
74
Module de comptage CTZ
110
95
104
Write_Param %CHi
Entrée analogique
790
570
790
Module de comptage CTZ
1127
1080
1083
Entrée analogique
260
290
316
Module de comptage CTZ
338
295
300
6
Read_Param %CHi
6
Save_Param %CHi
Entrée analogique
1234
1220
1240
Module de comptage CTZ
1370
1220
1240
Entrée analogique
550
510
535
Module de comptage CTZ
1160
1080
1097
50
47
52
6
Restore_Param %CHi
6
Write_Cmd %CHi
Sortie TOR
35013155.01 07/2008
6
171
Performances
6.3
Performances des instructions sur automates
Premium
Présentation
Objet de ce sous
chapitre
Ce sous chapitre décrit les performances des instructions exécutées sur automate
Premium (excepté pour les références TSX P57•A).
Contenu de ce
sous-chapitre
Ce sous-chapitre contient les sujets suivants :
172
Sujet
Page
Performances des instructions booléennes
173
Performances des blocs fonction
178
Arithmétique entière et à virgule flottante
181
Instructions sur programme et structures de contrôle
186
Conversions numériques
188
Instructions sur chaîne de bits
189
Instruction sur tableaux de mots, doubles mots et flottants
192
Instructions de gestion du temps
200
Instructions sur chaînes de caractères
202
Fonctions métier et fonctions Orphée
205
Instructions d’entrées/sorties explicite
209
Bloc fonction DFB
212
35013155.01 07/2008
Performances
Performances des instructions booléennes
35013155.01 07/2008
173
Performances
Performances
des processeurs
P57 1•/2•
LD
IL
LD
LDN
P
LDR,
LDF
Le tableau ci-après décrit les performances des instructions booléennes des
processeurs P57 1•/2•.
ST
Objets
Temps d’exécution (μs)
57 1•
ram
57 1•
cart
57 1• 57 1• 57 2•
ram > cart > ram
4K
4K
0,37
0,50
%M1 (1)
0,50
0,62
0,62
%M1[%MW2]
1,50
2,25
%MW0:X0 (2)
1,12
1,62
%IWi.j:Xk (3)
57 2•
cart
Taille
57 2• 57 2• (mots)
ram > cart >
4K
4K
0,06
0,21
1
0,87
0,19
0,21
0,25
0,42
1
1,50
2,25
0,62
1,25
0,62
1,25
6
1,12
1,62
0,37
0,83
0,37
0,83
4
1,75
2,50
1,75
2,50
0,62
1,25
0,62
1,25
6
%MW0[%MW8] 2,25
:X0
3,37
2,25
3,37
0,94
1,87
0,94
1,87
9
%KW0[%MW8]: 2,25
X0
3,37
2,25
3,37
0,94
1,87
0,94
1,87
9
%M1
0,87
1,12
1,00
1,37
0,25
0,42
0,31
0,62
2
%M1[%MW2]
1,87
2,75
1,87
2,75
0,69
1,46
0,69
1,46
7
N
P
AND,
ANDN , AND (, AND (N , idem
OR
idem LD,LDN
ANDR, ANDF, AND (R, AND
(F, idem OR
idem LDR,LDF
XOR
XORN
%M1
2,12
2,75
2,37
3,25
0,56
1,04
0,69
1,46
5
%M1[%MW2]
3,37
4,75
3,37
4,75
0,94
2,29
0,94
2,29
12
%MW0:X0
3,37
4,62
3,37
4,62
0,75
2,08
0,75
2,08
10
%IWi.j:Xk
N
174
4,00
5,50
4,00
5,50
1,00
2,50
1,00
2,50
12
%MW0[%MW8] 4,50
:X0
6,37
4,50
6,37
1,31
3,12
1,31
3,12
15
%KW0[%MW8]: 4,50
X0
6,37
4,50
6,37
1,31
3,12
1,31
3,12
15
35013155.01 07/2008
Performances
LD
IL
ST
Objets
Temps d’exécution (μs)
57 1•
ram
S
57 1•
cart
57 1• 57 1• 57 2•
ram > cart > ram
4K
4K
57 2•
cart
57 2• 57 2•
ram > cart >
4K
4K
Taille
(mots)
XORR
,
XORF
%M1
3,62
4,75
3,87
5,25
0,81
1,87
0,94
2,29
9
%M1[%MW2]
5,62
8,00
5,62
8,00
1,69
3,96
1,69
3,96
19
ST
STN
S
R
%M1 (1)
1,00
1,25
1,12
1,50
0,37
0,46
0,44
0,62
2
%M1[%MW2]
1,62
2,37
1,62
2,37
0,75
1,29
0,75
1,29
6
%MW0:X0
1,25
1,75
1,25
1,75
0,50
0,83
0,50
0,83
4
%NW{i}.j:Xk (3)
1,87
2,62
1,87
2,62
0,75
1,25
0,75
1,25
6
%MW0[%MW8] 2,37
:X0
3,50
2,37
3,50
0,75
1,92
0,75
1,92
9
R
bobines multiples en ladder, «coût» de la
2ème bobine et des suivantes
0,62
0,75
0,75
1,00
0,31
0,25
0,37
0,42
1
bloc
opération
0,25
0,50
0,25
0,50
0,12
0,42
0,12
0,42
2
[
action]
bloc exécuté
bloc
opération
vertical
Converge
nce
[ )]
Divergenc [ ]
e non
suivie
d’une
convergen
ce
[MPS,
MPP,
MRD]
[ )]
non exécuté
0,50
0,75
0,50
0,75
0,12
0,42
0,12
0,42
2
entre 2 %MWi
1,62
11,85
1,62
2,25
0,56
1,04
0,56
1,04
5
bloc exécuté
0,37
0,13
0,37
0,50
0,06
0,21
0,06
0,21
1
Ladder, 1
divergence
0,37
0,50
0,37
0,50
0,06
0,21
0,06
0,21
1
List MPS+MPP
1,12
1,50
1,12
1,50
0,19
0,62
0,19
0,62
3
List MRD
0,37
0,50
0,37
0,50
0,06
0,21
0,06
0,21
1
Légende
1. Ceci concerne tous les objets bits forçables : %I, %Q, %X, %M, %S,
2. autres objets de même type : bits de sortie de bloc fonction %TMi.Q ..., bits
extraits de mots système %SWi:Xj
3. autres objets de même type : bits extraits de mots communs %NW{i}j:Xk, bits
extraits de mots d’E/S %IWi.j.Xk, %QWi.j.Xk, bits extraits de %KW, bits de défaut
%Ii.j.ERR.
35013155.01 07/2008
175
Performances
Performances
des processeurs
P57 3•/4•
LD
Le tableau ci-après décrit les performances des instructions booléennes des
processeurs P57 3•/4•.
IL
LD
LDN
P
LDR,
LDF
ST
Objets
%M1 (1)
Temps d’exécution (μs)
57 3•
ram
57 3•
cart
0,04
0,17
0,12
0,17
57 3•
ram >
4K
57 3•
cart >
4K
57 4•
ram
57 4•
> 4K
0,02
0,17
0,33
0,06
Taille
en
mots
1
0,08
1
%M1[%MW2]
0,42
1,00
0,42
1,00
0,21
0,21
6
%MW0:X0 (2)
0,25
0,67
0,25
0,67
0,12
0,12
4
%IWi.j:Xk (3)
0,42
1,00
0,42
1,00
0,21
0,21
6
%MW0[%MW8]:X0
0,62
1,50
0,62
1,50
0,31
0,31
9
%KW0[%MW8]:X0
0,62
1,50
0,62
1,50
0,31
0,31
9
%M1
0,17
0,33
0,21
0,50
0,08
0,10
2
%M1[%MW2]
0,46
1,17
0,46
1,17
0,23
0,23
7
N
AND,
ANDN , AND (, AND (N , idem OR
P
idem LD,LDN
ANDR, ANDF, AND (R, AND (F, idem idem LD,LDN
OR
N
XOR
XORN
XORR,
XORF
176
%M1
0,37
0,83
0,46
1,17
0,19
0,23
5
%M1[%MW2]
0,62
1,83
0,62
1,83
0,31
0,31
12
%MW0:X0
0,50
1,67
0,50
1,67
0,25
0,25
10
%IWi.j:Xk
0,67
2,00
0,67
2,00
0,33
0,33
12
%MW0[%MW8]:X0
0,87
2,50
0,87
2,50
0,44
0,44
15
%KW0[%MW8]:X0
0,87
2,50
0,87
2,50
0,44
0,44
15
%M1
0,54
1,50
0,62
1,83
0,27
0,31
9
%M1[%MW2]
1,12
3,17
1,12
3,17
0,56
0,56
19
35013155.01 07/2008
Performances
LD
IL
ST
Objets
Temps d’exécution (μs)
57 3•
ram
S
ST
STN
S
R
R
57 3•
cart
57 3•
ram >
4K
57 3•
cart >
4K
57 4•
ram
57 4•
> 4K
Taille
en
mots
%M1 (1)
0,25
0,33
0,29
0,50
0,12
0,15
2
%M1[%MW2]
0,50
1,00
0,50
1,00
0,25
0,25
6
%MW0:X0
0,33
0,67
0,33
0,67
0,17
0,17
4
%NW{i}.j:Xk (3)
0,50
1,00
0,50
1,00
0,25
0,25
6
%MW0[%MW8]:X0
0,62
0,75
0,50
1,50
0,25
0,25
9
bobines multiples en ladder, «coût» de la 2ème bobine et 0,21
des suivantes
0,17
0,25
033
0,10
0,12
1
bloc opération
[ action]
bloc
opérationvertical
[ )]
bloc exécuté
0,25
0,50
0,08
0,33
0,04
0,04
2
non exécuté
0,50
0,75
0,08
0,33
0,04
0,04
2
entre 2 %MWi
1,62
11,85
0,37
0,83
0,19
0,19
5
Convergence
[ )]
bloc exécuté
0,37
0,13
0,04
0,17
0,02
0,02
1
Divergence non
suivie d’une
convergence
[]
Ladder, 1
divergence
0,37
0,50
0,04
0,17
0,02
0,02
1
[MPS,
MPP,
MRD]
List MPS+MPP
1,12
1,50
0,12
0,50
0,06
0,06
3
List MRD
0,37
0,50
0,04
0,17
0,02
0,02
1
Légende
1. Ceci concerne tous les objets bits forçables : %I, %Q, %X, %M, %S,
2. autres objets de même type : bits de sortie de bloc fonction %TMi.Q ..., bits
extraits de mots système %SWi:Xj
3. autres objets de même type : bits extraits de mots communs %NW{i}j:Xk, bits
extraits de mots d’E/S %IWi.j.Xk, %QWi.j.Xk, bits extraits de %KW, bits de défaut
%Ii.j.ERR.
35013155.01 07/2008
177
Performances
Performances des blocs fonction
Temporisateur
IEC
LD
Le tableau ci-après décrit les performances du bloc fontion temporistaeur IEC
IL
ST
Conditions
571•
Temps d’exécution (μs)
572•
573•
574•
Taille
(mots)
3
front montant
sur IN
IN %TM1 (front
montant)
START
%TM1
lancement
timer
29
8,0
5,4
3,7
front
descendant
sur IN
IN %TM1 (front
descendant)
DOWN
%TM1
arrêt timer
9
2,6
1,7
1,2
IN =1
IN %TM1 (=1)
timer actif
12
3,5
2,3
1,6
IN =0
IN %TM1 (=0)
timer inactif
10
3,3
2,2
1,5
Temporisateur
PL7-3
LD
IL
Le tableau ci-après décrit les performances du bloc fontion temporistaeur PL7-3
ST
Conditions
Temps d’exécution (μs)
571•
E =0
572•
573•
574•
START
%T1
armer
STOP
%T1
geler
7
2,8
2,0
1,4
RESET
%T1
reset
7
3,1
2,2
1,6
timer actif
11
3,4
2,3
1,7
Taille
(mots)
3
timer inactif
178
35013155.01 07/2008
Performances
Compteur/
décompteur
Le tableau ci-après décrit les performances du bloc fontion compteur/décompteur
LD
IL
ST
Condition Temps d’exécution (μs)
s
571•
572•
573•
574•
Taille
(mots)
reset, R=1
R %C8 (=1)
RESET
%C8
reset
11
3,4
2,3
1,7
3
preset, S=1 S %C9 (=1)
PRESET
%C9
preset
12
3,6
2,4
1,7
front
montant
sur CU
CU %C8
(front
UP %C8
up
12
3,7
2,5
1,8
front
montant
sur CD
CD %C9
(front
DOWN
%C9
down
12
3,7
2,5
1,8
entrées
inactives
R/S/CU/CD
bit inactif
aucune
action
7
2,5
1,7
1,2
Monostable
Le tableau ci-après décrit les performances du bloc fonction monostable
LD
IL
ST
Conditions
Temps d’exécution (μs)
571•
572•
573•
574•
Taille
(mots)
front
montant
sur S
S %MN0,
front
montant
START
%MN0
lancement
24
7,2
4,9
3,4
3
S=1
S %MN0,
S =1/0
monostable
actif
6
2,2
1,5
1,1
35013155.01 07/2008
179
Performances
Registre
Le tableau ci-après décrit les performances du bloc fonction registre
LD
IL
ST
Conditions
Temps d’exécution (μs)
571•
572•
573•
574•
Taille
(mots)
front sur I
I %R2
(front)
PUT %R2
stockage
13
3,9
2,6
1,8
3
front sur O
O %R2
(front)
GET %R2
déstockage
13
3,9
2,6
1,8
R=1
R %R1
(=1)
RESET
%R2
reset
9
3,3
2,3
1,6
entrées
inactives
I/O/R, bit
inactif
pas d’action
6
2,6
1,8
1,3
Programmateur
cyclique
Le tableau ci-après décrit les performances du programmateur cyclique
LD
IL
ST
Conditions
Temps d’exécution (μs)
571•
572•
573•
574•
Taille
(mots)
front sur U
U %DR0
UP %DR1
up, fixe
124
35
24
16
3
R=1
R %DR1
RESET
%DR2
entrées
inactives
180
R/U, bit
inactif
par bit d’ordre
25
25
25
25
reset, fixe
118
33
23
15
par bit d’ordre
25
25
25
25
pas d’action,
fixe
120
34
23
16
par bit d’ordre
25
25
25
25
35013155.01 07/2008
Performances
Arithmétique entière et à virgule flottante
35013155.01 07/2008
181
Performances
Corrections en
fonction du type
d’objets
Type d’objet
Les temps et volumes des pages ci-après sont donnés pour des objets de type
%MW0, %MD0 ou %MF0.
Le tableau suivant décrit les corrections à apporter aux valeurs données dans le
tableau de performances des instructions arithmétiques si d’autres types d’objets
sont utlisés.
Position de
l’objet
Type de
correction
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
Taille
(mots)
Valeur
immédiate
simple
longueur
-
-0,12
Valeur à
enlever ou
ajouter à celle
mentionnée
pour %MW
-0,12
-0,12
0,00
-0,08
0,00
-0,04
0
Valeur
immédiate
double
longueur
-
Valeur à
-0,12
enlever ou
ajouter à celle
mentionnée
pour %MD ou
%MF
0,00
-0,19
0,21
-0,12
0,17
-0,06
1
Mots, doubles
Mots ou
flottants
indexés
Après le
signe :=
Valeur à
ajouter
1,12
1,75
0,56
1,04
0,37
0,83
0,19
5
Première
opération, le
premier
opérande
n’étant pas
indéxé, ou
affectation
Valeur à
ajouter
1,12
1,75
0,56
1,04
0,37
0,83
0,19
5
Valeur à
Deuxième
opérande si le ajouter
premier
opérande est
également
indexé
1,12
1,75
0,56
1,04
0,37
0,83
0,19
5
0,62
0,87
0,25
0,42
0,17
0,33
0,08
2
%KWi,
%KWi[%MWj]
%KDi, %KFi
mots commun,
mots
d’entrées/
sorties
182
Valeur à
ajouter
Temps d’exécution (μs)
35013155.01 07/2008
Performances
Correction en
fonction du
contexte de
l’opération
Contexte de
l’opération
Le tableau suivant décrit les corrections à apporter aux valeurs données dans le
tableau de de performances des instructions arithmétiques en fonction du contexte
de l’opération.
Type
d’objet
%MW
L’opération est au
minimum en
deuxième position
dans la phrase
%MD ou
Ex : %MW2 dans
%MF
:=%MW0*%MW1*%
MW2
Opération avec
%MW
résultat d’une
opération entre
parenthèse ou plus %MD ou
prioritaire
%MF
Ex :
%MW0+%MW2+(...)
35013155.01 07/2008
Type de
correction
Temps d’exécution (μs)
Taille
57 4• (mots)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
Valeur à ajouter à
celle mentionnée
pour %MW
0,50
0,62
0,19
0,33
0,12
0,25
0,06
1
Valeur à ajouter à
celle mentionnée
pour %MD ou
%MF
0,62
0,75
0,31
0,46
0,21
0,33
0,10
1
Valeur à ajouter à
celle mentionnée
pour %MW
0,37
0,37
0,12
0,12
0,08
0,08
0,04
1
Valeur à ajouter à
celle mentionnée
pour %MD ou
%MF
0,50
0,50
0,25
0,25
0,17
0,17
0,08
1
183
Performances
Tableau de
performance des
instructions
ST
objet après le
:=
Le tableau ci-après décrit les performances des instructions arithmétiques.
Objets
%MW0
%MD0
%MF0
:=
=, <>, <=, <, >,
>=
Conditions
Temps d’exécution (μs)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
Taille
(mots)
-
0,6
0,9
0,2
0,4
0,2
0,3
0,08
2
%MW0+(...ou
%MW0 avant
*,/ ou REM)
0,7
1,0
0,4
0,4
0,2
0,3
0,12
2
-
0,7
1,0
0,4
0,4
0,2
0,3
0,12
2
%MW0+(...ou
%MW0 avant
*,/ ou REM)
1,0
1,2
0,6
0,5
0,4
0,3
0,21
2
1,0
1,2
0,6
0,5
0,4
0,3
0,21
2
%MW0
0,6
0,9
0,2
0,4
0,2
0,3
0,08
2
%MD0
et %MF0
0,7
1,0
0,4
0,4
0,2
0,3
0,12
2
%MW0
1,0
1,4
0,3
0,6
0,2
0,5
0,10
3
%MD0
1,5
1,5
0,4
0,6
0,3
0,5
0,15
3
24
24
2,6
2,6
1,9
2,0
1,4
4
AND, OR, XOR %MW0
%MF0
0,6
0,9
0,2
0,4
0,2
0,3
0,08
2
+, -
*
/, REM
%MD0
0,7
1,0
0,4
0,4
0,2
0,3
0,12
2
%MW0
0,6
0,9
0,2
0,4
0,2
0,3
0,08
2
%MD0
0,7
1,0
0,4
0,4
0,2
0,3
0,12
2
%MF0
48
48
2,5
2,5
1,9
2,0
1,4
3
%MW0
6,3
6,5
2,0
2,2
1,5
1,6
1,2
3
%MD0
29
29
9,3
9,3
6,3
6,4
4,7
3
%MF0
44
44
2,5
2,5
1,9
2,0
1,4
3
%MW0
6,9
7,2
2,1
2,3
1,5
1,6
1,2
3
%MD0
148
149
34
34
21
21
15
3
/
%MF0
46
47
3,3
3,4
2,5
2,6
1,8
3
ABS, -objet
%MW0
0,6
0,9
0,2
0,4
0,2
0,3
0,08
2
%MD0
0,7
1,0
0,4
0,4
0,2
0,3
0,12
2
NOT
184
%MF0
9
10
2,1
2,1
1,6
1,7
1,2
3
%MW0
0,6
0,9
0,2
0,4
0,2
0,3
0,1
2
%MD0
0,7
1,0
0,4
0,4
0,2
0,3
0,1
2
35013155.01 07/2008
Performances
ST
SQRT
INC, DEC
Objets
Conditions
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
Taille
(mots)
57 1•
ram
57 1•
cart
%MW0
19
19
3,5
3,7
2,1
2,2
1,5
3
%MD0
62
62
10,2
10,3
5,7
5,8
4,4
3
%MF0
117
117
2,8
2,8
2,1
2,1
1,5
3
%MW0
0,7
1,0
0,4
0,4
0,2
0,3
0,12
2
%MD0
SHL, SHR,
ROL, ROR
Temps d’exécution (μs)
%MW0
%MD0
1,0
1,2
0,6
0,5
0,4
0,3
0,21
2
pour 1 bit
2,0
2,9
0,8
1,5
0,5
1,2
0,27
7
pour 1 bit
2,1
3,0
0,9
1,5
0,6
1,2
0,31
7
par bit
0,042
supplémentaire
LN
%MF0
847
847
2,2
2,2
1,6
1,6
1,5
LOG
%MF0
900
900
2,2
2,2
1,6
1,6
1,5
EXP
%MF0
713
713
6,4
6,4
4,7
4,7
4,0
EXPT
%MF0
1 747
1 747
2,2
2,2
1,6
1,6
1,5
TRUNC
%MF0
1 753
1 753
2,2
2,2
1,6
1,6
1,5
COS
%MF0
1 813
1 813
2,2
2,2
1,6
1,6
1,5
SIN
%MF0
2 520
2 520
2,7
2,7
2,0
2,0
1,8
TAN
%MF0
2 520
2 520
3,4
3,4
2,5
2,5
2,2
ACOS
%MF0
1 720
1 720
2,1
2,1
1,6
1,6
1,4
ASIN
%MF0
1 640
1 640
61
68
43
49
32
ATAN
%MF0
103
142
32
36
23
26
17
DEG_TO_RAD %MF0
392
537
86
96
61
69
45
RAD_TO_DEG %MF0
380
522
86
96
61
69
46
35013155.01 07/2008
185
Performances
Instructions sur programme et structures de contrôle
Performance des
instructions sur
programme
ST
Le tableau ci-après décrit les performances des instructions sur programme.
Temps d’exécution (μs)
Taille (mots)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
57• •
Jump %Li
1,2
1,6
0,8
0,6
0,5
0,5
0,3
3
Maskevt
15,5
15,5
5,8
5,8
4,0
4,0
2,8
1
Unmaskevt
15,7
15,7
6,0
6,0
4,2
4,2
3,0
1
SRi
1,9
2,2
1,4
1,2
1,0
0,8
0,5
2
Return
0,6
0,9
0,2
0,4
0,2
0,3
0,1
2
186
35013155.01 07/2008
Performances
Performance des
structures de
contrôle
Le tableau ci-après décrit les performances des instructions de type structures de
contrôle.
ST
Temps d’exécution (μs)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
Volume (mots)
57 3•
ram
57 3•
cart
57 4•
57• •
<cond>
évaluation de la condition
bit forçable
voir instruction booléenne LD %M1
comparaison
voir comparaisons =,<,> ...
if <cond > then
<action> end_if;
les temps et volumes indiqués ci-dessous sont à ajouter à ceux de l’action contenue dans la
structure
condition vraie
0,2
0,5
0,1
0,4
0,1
0,3
0,04
condition fausse
(saut)
0,5
0,7
0,1
0,4
0,1
0,3
0,04
2
If <cond> then <action1> else <action2> end_if;
condition vraie
0,7
1,2
0,2
0,8
0,2
0,7
0,08
condition fausse
0,5
0,7
0,1
0,4
0,1
0,3
0,04
passage dans la
boucle avec
rebouclage
0,7
1,2
0,2
0,8
0,2
0,7
0,08
sortie de la boucle
0,5
0,7
0,1
0,4
0,1
0,3
0,04
4
while <cond> do.<action> end_while
2
repeat <action> until <cond> end_repeat
passage dans la
boucle avec
rebouclage
0,5
0,7
0,1
0,4
0,1
0,3
0,04
dernier passage
0,2
0,5
0,1
0,4
0,1
0,3
0,04
2
for <mot1:=mot2>to <mot3> do <action> end_for
entrée dans le for,
exécuté une seule
fois
1,2
1,7
0,5
0,8
0,3
0,7
0,17
passage dans la
boucle avec
rebouclage
3,5
5,0
1,2
2,5
0,8
2,0
0,42
sortie de la boucle
1,7
2,5
0,6
1,2
0,4
1,0
0,21
35013155.01 07/2008
15
187
Performances
Conversions numériques
Performances
Le tableau ci-après décrit les performances des instructions de conversions
numériques.
ST
BCD_TO_INT(%MW0)
Temps d’exécution (μs)
Volume
(mots)
57 1• ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
57• •
17
17
3,3
3,4
1,9
2,1
1,5
3,0
INT_TO_BCD(%MW0)
14
14
2,8
3,0
1,7
1,9
1,3
3,0
GRAY_TO_INT(%MW0)
27
28
4,7
4,9
2,7
2,8
1,9
3,0
INT_TO_REAL(%MW0)
28
28
1,5
1,7
1,4
1,6
1,0
3,0
DINT_TO_REAL(%MD0)
24
24
1,7
1,8
1,6
1,7
1,2
3,0
REAL_TO_INT(%MF0)
41
42
1,6
1,7
1,5
1,6
1,1
3,0
REAL_TO_DINT(%MF0)
33
33
1,7
1,8
1,6
1,7
1,2
3,0
DBCD_TO_DINT(%MD0)
612
840
231
233
178
179
138
5
DBCD_TO_INT(%MD0)
537
737
203
204
156
157
121
5
DINT_TO_DBCD(%MD0)
512
702
193
195
149
150
115
5
INT_TO_DBCD(%MW0)
274
376
104
104
80
80
62
5
188
35013155.01 07/2008
Performances
Instructions sur chaîne de bits
Initialisation d’un
tableau de bits
ST
Le tableau ci-après décrit les performances des instructions d’initialisation d’un
tableau de bits.
Taille (bit)
Temps d’exécution (μs)
Taille (mots)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
57• •
4,5
2,4
3,2
1,6
2,3
0,8
7
%M30:8 := 0
8
3,6
%M30:16 := 1
16
5,6
6,5
4,4
5,2
3,0
3,7
1,5
7
%M30:24 := 2
24
12
14
5,6
6,8
3,7
4,8
2,4
12
%M30:32 := 2
32
14
16
7,6
8,8
5,1
6,1
3,1
12
Copie d’un
tableau de bits
dans un tableau
de bits
ST
%M30:8 := %M20:8
Le tableau ci-après décrit les performances des instructions de copie d’un tableau
de bits dans un autre tableau de bits.
Taille
(bit)
8
Temps d’exécution (μs)
Taille
(mots)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
57• •
6,9
7,9
5,4
6,0
3,6
4,2
1,8
8
%M30:16 := %M20:16
16
8,1
9,1
6,6
7,3
4,4
5,1
2,2
8
%M30:24 := %M20:24
24
22
23
14
16
10
11
5,4
13
%M30:32 := %M20:32
32
27
28
19
21
13
14
7,0
13
%M30:16 :=
COPY_BIT(%M20:16)
16
173
237
65
66
50
50
39
17
32
263
360
99
100
76
77
59
17
128
818
1 122
309
312
238
239
184
17
35013155.01 07/2008
189
Performances
Instructions
logiques sur
tableau de bits
Le tableau ci-après décrit les performances des instructions logiques sur tableau de
bits.
ST
Taille Temps d’exécution (μs)
(bits)
Taille
(mots)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
57• •
AND_ARX, OR_ARX, XOR_ARX
%M0:16 :=
AND_ARX(%M30:16,%M50:16)
16
233
319
88
89
68
68
52
24
%M0:32 :=
AND_ARX(%M30:32,%M50:32)
32
368
504
139
140
107
107
83
24
%M0:128 :=
AND_ARX(%M30:128,%M50:128)
128
1 178
1 616
445
449
343
344
265
24
16
173
237
65
66
50
50
39
17
32
263
360
99
100
76
77
59
17
128
818
1 122
309
312
238
239
184
17
NOT_ARX
%M0:16 := NOT_ARX(%M30:16)
Copie d’un
tableau de bits
dans un tableau
de mots
Le tableau ci-après décrit les performances des instructions de copie de tableaux
de bits dans un tableau de mots.
ST
Taille
(bits)
Temps d’exécution (μs)
Taille
(mots)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
57• •
%MW1 := %M30:8
8
4,5
5,2
3,4
3,9
2,2
2,7
1,1
6
%MW1 := %M30:16
16
7,5
8,2
6,4
6,9
4,2
4,7
2,1
6
%MD2 := %M30:24
24
11
11
10
10
6,8
7,2
3,8
6
%MD2 := %M30:32
32
14
14
13
13
8,8
9,2
4,8
6
%MW1:4 :=
BIT_W(%M40:80,0,17,2)
17
231
317
87
88
67
68
52
23
%MD1:4 :=
BIT_D(%M30:80,0,33,0)
33
325
446
123
124
95
95
73
23
190
35013155.01 07/2008
Performances
Copie d’un
tableau de mots
dans un tableau
de bits
Le tableau ci-après décrit les performances des instructions de copie de tableaux
de mots dans un tableau de bits.
ST
Taille
(bits)
Temps d’exécution (μs)
Taille
(mots)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
57• •
0,8
6
%M30:8 := %MW1
8
3,6
4,4
2,5
3,0
1,7
2,2
%M30:16 := %MW2
16
5,6
6,4
4,5
5,0
3,0
3,5
1,5
6
%M30:24 := %MD1
24
12
13
6,1
6,9
4,3
5,1
3,1
11
%M30:32 := %MD3
32
14
15
8,1
8,9
5,7
6,4
3,7
11
%M30:32 :=
W_BIT(%MW200:2,0,2,0)
32
231
317
87
88
67
68
52
23
%M30:32 :=
D_BIT(%MD0:1,0,2,0)
32
275
377
104
105
80
80
62
23
35013155.01 07/2008
191
Performances
Instruction sur tableaux de mots, doubles mots et flottants
Initialisation d’un
tableau de mots
par un mot
Le tableau ci-après décrit les performances des instructions d’initialisation d’un
tableau de mots par un mot.
ST
Taille (du
tableau de
mot)
%MW0:10 := %MW100
%MD0:10 := %MD100
Copie d’un
tableau de mots
dans un tableau
de mots
Temps d’exécution (μs)
Taille
(mots)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
57• •
10 mots
34
35
14
15
10
11
6,7
10
par mot
0,16
0,16
0,15
0,15
0,12
0,12
0,08
10 double
mots
53
54
19
20
13
14
8,8
par double
mot
1,98
1,98
0,57
0,57
0,37
0,37
0,26
10
Le tableau ci-après décrit les performances des instructions de copie d’un tableau
de mots dans un autre tableau de mots.
ST
Taille (du Temps d’exécution (μs)
tableau de
mot)
57 1•
57 1• cart 57 2•
ram
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
57• •
%MW0:10:=%MW20:10;
10 mots
63
65
25
26
17
19
12
15
par mot
0,28
0,28
0,31
0,31
0,24
0,24
0,15
%MD0:10:=%MD20:10;
10 double
mots
69
71
29
30
20
22
14
0,79
0,71
0,71
0,53
0,53
0,36
par double 0,79
mot
192
Taille
(mots)
15
35013155.01 07/2008
Performances
Instructions
arithmétiques et
logiques entre 2
tableaux de mots
Le tableau ci-après décrit les performances des instructions arithmétiques et
logiques entre 2 tableaux de mots.
ST
Taille (du
tableau
de mot)
Temps d’exécution (μs)
Taille
(mots)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
57• •
%MW0:10 :=
%MW10:10 + %MW20:10;
10 mots
110
112
41
43
28
30
19
23
par mot
4,7
4,7
1,8
1,8
1,3
1,3
0,9
%MD0:10:=
%MD10:10+%MD20:10;
10 double
mots
154
156
60
62
41
43
28
par double 8,9
mot
8,9
3,6
3,6
2,5
2,5
1,7
%MW0:10:=
%MW10:10 * %MW20:10;
10 mots
127
129
47
50
33
35
23
par mot
6,4
6,4
2,4
2,4
1,7
1,7
1,2
%MD0:10:=
%MD10:10 * %MD20:10;
10 double
mots
441
444
153
155
104
106
73
par double 37,6
mot
37,6
12,9
12,9
8,7
8,7
6,2
%MW0:10:=
%MW10:10 / %MW20:10;
10 mots
133
135
49
52
34
36
24
par mot
7,0
7,0
2,6
2,6
1,8
1,8
1,4
%MD0:10:=
%MD10:10 / %MD20:10;
10 double
mots
1 639
1 642
395
397
248
250
172
par double 157
mot
157
37
37
23
23
16
%MW0:10:=%MW10:10 AND
%MW20:10;
10 mots
108
111
40
43
28
30
19
par mot
4,5
4,5
1,7
1,7
1,2
1,2
0,8
%MD0:10:=%MD10:10 AND
%MD20:10;
10 double
mots
155
158
61
63
42
44
29
9
4
4
3
3
2
+, -
23
*
23
23
/, REM
23
23
AND, OR, XOR
par double 9
mot
35013155.01 07/2008
23
23
193
Performances
Instructions
arithmétiques et
logiques entre 1
tableau de mots
et 1 mot
Le tableau ci-après décrit les performances des instructions arithmétiques et
logiques entre 1 tableau de mots et 1 mot.
ST
Taille (du
tableau
de mot)
Temps d’exécution (μs)
Taille
(mots)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
57• •
%MW0:10 :=%MW10:10 + 10 mots
%MW20;
par mot
ou %MW0:10 := %MW20 +
%MW10:10
86
88
30
32
21
22
14
18
2,8
2,8
0,8
0,8
0,5
0,5
0,4
%MD0:10 :=%MD10:10 +
%MD20;
112
114
41
43
28
30
19
par double 5,2
mot
5,2
1,9
1,9
1,3
1,3
0,9
%MW0:10 :=
%MW20*%MW10:10;
10 mots
113
115
38
40
26
27
18
par mot
5,6
5,6
1,6
1,6
1,1
1,1
0,7
%MD0:10:=
%MD20*%MD10:10;
10 double
mots
381
383
132
134
90
92
64
par double 32
mot
32
11
11
7,4
7,4
5,3
%MW0:10 :=%MW10:10 /
%MW30;
10 mots
140
142
46
48
31
33
21
par mot
8,4
8,4
2,4
2,4
1,6
1,6
1,1
%MD0:10:=
MD10:10 / %MD30
10 double
mots
1 585
1 587
375
377
235
236
163
par double 152
mot
152
35
35
22
22
15
10 mots
86
88
30
32
21
22
14
par mot
2,8
2,8
0,8
0,8
0,5
0,5
0,4
+, -
10 double
mots
18
*
18
18
/, REM
18
18
AND, OR, XOR
%MW0:10 :=%MW10:10
AND %MW20;
194
18
35013155.01 07/2008
Performances
ST
Taille (du
tableau
de mot)
%MD0:10 :=%MD20 AND
%MD10:10;
Temps d’exécution (μs)
Taille
(mots)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
57• •
381
383
132
134
90
92
64
18
par double 4,2
mot
4,2
1,5
1,5
1,0
1,0
0,7
10 double
mots
NOT
%MW0:10
:=NOT(%MW10:10);
10 mots
74
75
26
28
18
19
12
par mot
1,9
1,9
0,5
0,5
0,4
0,4
0,2
%MD0:10:=NOT(%MD10:
10)
10 double
mots
84
86
31
33
22
23
15
par double 2,9
mot
2,9
1,0
1,0
0,7
0,7
0,5
Fonction
sommation sur
tableau
15
Le tableau ci-après décrit les performances des instructions de sommation sur
tableau.
ST
%MW20:=SUM(%MW0:10);
%MD20:=SUM(%MD0:10);
35013155.01 07/2008
15
Taille
(du
tableau
de mot)
Temps d’exécution (μs)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
57• •
10 mots
51
53
17
18
12
12
8
16
par mot
1,6
1,6
0,4
0,4
0,3
0,3
0,2
10
double
mots
58
59
19
20
13
14
9
par
double
mot
2,1
2,1
0,6
0,6
0,4
0,4
0,3
Taille
(mots)
16
195
Performances
Fonction de
comparaison de
tableaux
Le tableau ci-après décrit les performances des instructions de comparaison de
tableaux.
ST
Taille
(du
tableau
de mot)
Temps d’exécution (μs)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
57• •
%MW20:=
EQUAL(%MW0:10;%MW10:10);
10 mots
67
69
26
28
18
20
13
27
par mot
0,6
0,6
0,4
0,4
0,3
0,3
0,2
%MD20:=
EQUAL(%MD0:10;%MD10:10);
10
double
mots
74
76
31
33
22
23
15
par
double
mot
1,2
1,2
0,9
0,9
0,7
0,7
0,5
Fonction de
recherche
Taille
(mots)
27
Le tableau ci-après décrit les performances des instructions de recherche dans un
tableau.
ST
Taille (du Temps d’exécution (μs)
tableau de
mot)
57 1•
57 1•
57 2•
57 2•
ram
cart
ram
cart
Taille
(mots)
57 3•
ram
57 3•
cart
57 4•
57• •
%MW20 :=
10 mots,
FIND_EQW(%MW0:10,%KW0) cas max
150
206
57
57
44
44
34
14
%MD20 :=
FIND_EQD(%MD0:10, %KD0)
163
223
61
62
47
48
37
15
196
10 double
mots, cas
max
35013155.01 07/2008
Performances
Recherche de
valeurs maxi et
mini
Le tableau ci-après décrit les performances des instructions de recherche de
valeurs maxi et mini dans un tableau.
ST
Taille (du
tableau
de mot)
Temps d’exécution (μs)
Taille
(mots)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
57• •
%MW20 :=
MAX_ARW(%MW0:10)
10 mots
163
223
61
62
47
48
37
12
%MD20 :=
MAX_ARD(%MD0:10)
10 double
mots
194
266
73
74
56
57
44
12
Calcul du
nombre
d’occurences
Le tableau ci-après décrit les performances des instructions du nombre d’occurence
d’une valeur dans un tableau de mots.
ST
Taille
(du
tablea
u de
mot)
Temps d’exécution (μs)
Taille
(mots)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
57• •
%MW20 :=
10
OCCUR_ARW(%MW0:10, %KW0) mots
163
223
61
62
47
48
37
14
%MD20 :=
OCCUR_ARD(%MD0:10, %KD0)
175
240
66
67
51
51
39
15
Décalage
circulaire
10
double
mots
Le tableau ci-après décrit les performances des instructions de décalage circulaire.
ST
Taille (du
tableau
de mot)
Temps d’exécution (μs)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
57• •
ROL_ARW(mot ou
valeur,%MWj:10)
10 mots
250
343
94
95
73
73
56
12
ROL_ARD(%MDi,%MDj:10)
10 double
mots
269
369
102
102
78
79
61
12
35013155.01 07/2008
Taille
(mots)
197
Performances
Instruction de tri
Le tableau ci-après décrit les performances des instructions de tri des éléments d’un
tableau.
ST
Taille (du Temps d’exécution (μs)
tableau
de mot)
57 1•
57 1•
57 2•
57 2•
ram
cart
ram
cart
Taille
(mots)
57 3•
ram
57 3•
cart
57 4•
57• •
SORT_ARW(%MWi,%MWj:10)
10 mots,
cas max
450
618
170
172
131
132
101
12
SORT_ARD(%MDi,%MDj:10)
5 double 275
mots, cas
max
377
104
105
80
80
62
12
Calcul de
longueur
Le tableau ci-après décrit les performances des instructions de calcul de longueur
d’un tableau.
ST
LENGTH_ARW(tab_mot)
Taille (du Temps d’exécution (μs)
tableau de
mot)
57 1• 57 1• 57 2• 57 2•
ram
cart
ram
cart
Taille
(mots)
57 3•
ram
57 3•
cart
57 4•
57• •
31
43
12
12
9
9
7
6
LENGTH_ARD(tab_dmot)
31
43
12
12
9
9
7
6
LENGTH_ARW(tab_reel)
31
43
12
12
9
9
7
6
LENGTH_ARW(tab_bit)
31
43
12
12
9
9
7
6
198
35013155.01 07/2008
Performances
Tableaux de
flottants
ST
Le tableau ci-après décrit les performances des instructions sur tableau de flottants.
Taille (du tableau de
mot)
Temps d’exécution (μs)
Taille
(mots)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
SUM_ARR
10 réels
794
942
186
207
132
149
98
FIND_EQR
10 réels, cas médian
390
535
83
93
59
67
44
FIND_EQRP
10 réels, cas médian
391
536
83
93
59
67
44
FIND_GTR
10 réels, cas médian
390
535
83
93
59
67
44
FIND_LTR
10 réels, cas médian
390
535
83
93
59
67
44
MAX_ARR
10 réels
648
889
160
179
114
128
85
MIN_ARR
10 réels
601
825
148
164
105
118
78
OCCUR_ARR
10 réels
598
821
147
164
104
118
78
ROL_ARR
10 réels
273
374
67
75
48
54
35
ROR_ARR
10 réels
264
363
65
72
46
52
34
SORT_ARR
10 réels
896
1 229
220
245
156
176
116
EQUAL_ARR
10 réels
344
472
84
94
60
68
45
35013155.01 07/2008
57• •
199
Performances
Instructions de gestion du temps
Instructions de
gestion des
dates, heures et
durées
Le tableau ci-après décrit les performances des instructions de gestion des dates,
heures et durées.
ST
Temps d’exécution (μs)
Taille
(mots)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
57• •
%MW2:4 :=
ADD_DT(%MW2:4,%MD8)
1 951
2 677
737
744
568
571
440
19
%MD2 := ADD_TOD(%MD2,%MD8)
1 025
1 407
387
391
298
300
231
9
%MB2:11 :=
DATE_TO_STRING(%MD40)
606
832
229
231
176
177
137
12
%MW5 := DAY_OF_WEEK()
88
121
33
34
26
26
20
5
%MD10 := DELTA_D(%MD2, %MD4)
731
1 004
276
279
213
214
165
9
%MD10 :=
DELTA_DT(%MD2:4,%MW6:4)
1 506
2 067
569
574
438
441
339
19
%MD10 :=
DELTA_TOD(%MD2,%MD4)
1 113
1 527
421
424
324
325
251
9
%MB2:20 :=
DT_TO_STRING(%MW50:4)
707
970
267
269
206
207
159
17
%MW2:4 :=
SUB_DT(%MW2:4,%MD8)
2 344
3 216
886
893
682
685
528
19
%MD2 := SUB_TOD(%MD2,%MD8)
1 113
1 527
421
424
324
325
251
9
%MB2:15 :=
TIME_TO_STRING(%MD40)
794
1 089
300
303
231
232
179
12
%MB2:9 :=
TOD_TO_STRING(%MD40)
519
712
196
198
151
152
117
12
%MD100 := TRANS_TIME(%MD2)
331
455
125
126
96
97
75
7
200
35013155.01 07/2008
Performances
Accès
horodateur
Le tableau ci-après décrit les performances des instructions horodateur.
ST
Temps d’exécution (μs)
57 1•
ram
57 1•
cart
57 2•
ram
Taille
(mots)
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
57• •
RRTC(%MW0:4)
88
89
30
30
21
21
14
8
WRTC(%MW0:4)
69
70
25
25
17
17
11
8
PTC(%MW0:5)
74
75
26
27
18
19
12
8
SCHEDULE(%MW0,%MW1,%MW2,
%MD10,%MD12,%M0)ÿ
88
89
30
30
21
21
14
8
Fonctions
temporisateur
ST
Le tableau ci-après décrit les performances des fonctions temporisateur.
Temps d’exécution (μs)
Taille
(mots)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
FTON
53
53
28
32
21
24
12
FTOF
53
53
28
32
21
24
12
FTP
53
53
28
32
21
24
12
FPULSOR
181
249
69
69
53
53
41
35013155.01 07/2008
57• •
201
Performances
Instructions sur chaînes de caractères
Affectation,
recopie de
chaînes de
caractères
ST
%MB0:8:=%MB10:8
%MB0:8:=’abcdefg’
Conversions mot
<-> chaînes de
caractères
Le tableau ci-après décrit les performances des instructions d’affectation et recopie
de chaînes de caractères.
Taille
(caractères)
Temps d’exécution (μs)
Taille
(mots)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
57• •
8 caractères
66
67
27
27
18
19
14
15
par caractère
0,39
0,39
0,30
0,30
0,23
0,23
0,16
8 caractères
85
85
29
29
20
20
14
14
par caractère
2,37
2,37
0,68
0,68
0,47
0,47
0,36
0,5
Le tableau ci-après décrit les performances des instructions de conversion de mots
et de chaînes de caractères.
ST
Temps d’exécution (μs)
Taille
(mots)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
57• •
%MW1:=
STRING_TO_INT(%MB0:7)
69
71
23
23
16
16
12
10
%MB0:7:=
INT_TO_STRING(%MW0)
74
75
23
23
15
16
12
10
202
35013155.01 07/2008
Performances
Conversions
double mot <->
chaînes de
caractères
Le tableau ci-après décrit les performances des instructions conversion de double
mots et de chaînes de caractères.
ST
Temps d’exécution (μs)
Taille
(mots)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
57• •
%MD1:=
STRING_TO_DINT(%MB0:13)
706
707
237
237
160
160
115
10
%MB0:13:=
DINT_TO_STRING(%MD0)
215
216
66
67
44
45
33
10
Conversions
flottant <->
chaînes de
caractères
Le tableau ci-après décrit les performances des instructions conversion de flottant
en de chaînes de caractères.
ST
Temps d’exécution (μs)
Taille
(mots)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
57• •
%MF1:=
STRING_TO_REAL(%MB0:15)
1 912
1 913
344
344
237
237
155
10
%MB0:15:=
REAL_TO_STRING(%MF0)
500
501
140
140
96
96
63
10
35013155.01 07/2008
203
Performances
Instructions de
manipulation de
chaînes de
caractères
Le tableau ci-après décrit les performances des instructions de manipulation de
chaînes de caractères.
ST
Temps d’exécution (μs)
Taille
(mots)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
57• •
%MB10:20 :=
CONCAT(%MB30:10,%MB50:10)
494
678
187
188
144
144
111
24
%MB10:20 :=
DELETE(%MB10:22,2,3);
400
549
151
152
116
117
90
21
%MW0 :=
EQUAL_STR(%MB10:20,%MB30:20);
(le 5ème caractère diffère)
338
463
128
129
98
99
76
19
%MW0 :=
FIND(%MB10:20,%MB30:10);
650
892
246
248
189
190
146
19
%MB10:20 :=
INSERT(%MB30:10,%MB50:10,4);
519
712
196
198
151
152
117
26
%MB10:20 := LEFT(%MB30:30,20);
369
506
139
141
107
108
83
19
%MW0 := LEN(%MB10:20);
219
300
83
83
64
64
49
12
%MB10:20 := MID(%MB30:30,20,10);
444
609
168
169
129
130
100
21
%MB10:20 :=
556
REPLACE(%MB30:20,%MB50:10,10,1
0);
763
210
212
162
163
125
28
%MB10:20 := RIGHT(%MB30:30,20);
832
229
231
176
177
137
19
Extraction de
mots
ST
LW
606
Le tableau ci-après décrit les performances des instructions d’extraction de mots.
Temps d’exécution (μs)
Taille
(mots)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
32
44
12
12
9
9
7
HW
32
44
12
12
9
9
7
CONCATW
32
44
12
12
9
9
7
204
57• •
35013155.01 07/2008
Performances
Fonctions métier et fonctions Orphée
Fonctions de
communication
Le tableau ci-après décrit les performances des fonctions de communication.
ST
Temps d’exécution (μs)
57 1•
ram
57 1•
cart
57 2•
ram
Taille
(mots)
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
57• •
SEND_REQ : temps d’exécution de l’instruction, temps dans le système de communication à ajouter
SEND_REQ(%KW0:6,15,%MW0:1,
%MW10:10,%MW30:4)
1 250
1 715
472
476
364
366
282
33
SEND_TLG : le traitement est synchrone de l’instruction, pas de temps dans le système de communication à ajouter
SEND_TLG(%KW0:6,,%MW0:5,
%MW30:2)
938
1 287
354
357
273
274
211
24
SERVER pour 120 octets
3 825
4 244
2 225
2 229
1 677
1 679
1 427
16
WRITE_ASYN pour 500 mots
2 975
3 301
1 731
1 734
1 305
1 306
1 110
16
READ_ASYN pour 500 mots
2 975
3 301
1 731
1 734
1 305
1 306
1 110
16
35013155.01 07/2008
205
Performances
Fonction de
dialogue
opérateur
Le tableau ci-après décrit les performances des instructions dialogue opérateur.
ST
SEND_MSG(ADR#1.0,%MW0:2,%MW10:2)
Temps d’exécution (μs)
Taille
(mots)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
57• •
1250
1715
472
476
364
366
282
25
SEND_ALARM(ADR#1.0,%MW0:2,%MW10:2)
1250
1715
472
476
364
366
282
25
GET_MSG(ADR#1.0,%MW0:2,%MW10:2)
1250
1715
472
476
364
366
282
25
GET_VALUE(ADR#1.0,%MW0,%MW10:2)
625
858
236
238
182
183
141
20
ASK_MSG(ADR#1.0,%MW0:2,%MW10:2,
%MW20:2)
1250
1715
472
476
364
366
282
32
ASK_VALUE(ADR#1.0,%MW0,%MW10:2,
%MW20:2)
1250
1715
472
476
364
366
282
27
DISPLAY_ALRM(ADR#1.0,%MW0,%MW10:2)
625
858
236
238
182
183
141
20
DISPLAY_GRP(ADR#1.0,%MW0,%MW10:2)
625
858
236
238
182
183
141
20
DISPLAY_MSG(ADR#1.0,%MW0,%MW10:2)
625
858
236
238
182
183
141
20
CONTROL_LEDS(ADR#1.0,%MW0:2,
%MW10:2)
1250
1715
472
476
364
366
282
25
ASSIGN_KEYS(ADR#1.0,%MW0:2,%MW10:2)
1250
1715
472
476
364
366
282
25
PANEL_CMD(ADR#1.0,%MW0:2,%MW10:2)
1250
1715
472
476
364
366
282
25
206
35013155.01 07/2008
Performances
Fonction de
régulation
Le tableau ci-après décrit les performances des fonctions de régulation.
ST
Condi
tion
Temps d’exécution (μs)
57 1•
ram
Taille
(mots)
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
57• •
deval_ 688
mmi=0
943
260
262
200
201
155
32
deval_ 563
mmi=1
772
213
214
164
165
127
PWM(%MW11,%Q2.1,%MW385:5)
313
429
118
119
91
91
70
17
SERVO(%MW12,%IW3.6,%Q2.2,%Q2
.3, %MW284:43,%MW390:10)
500
686
189
191
145
146
113
31
625
858
236
238
182
183
141
30
PID("PIDS1",’Unité’,%IW3.5,%MW12,
%M16,%MW284:43)
PID_MMI(ADR#0.0.4,%M1,%M2:5,
%MW410:62)
Archivage de
données
ST
EN=1
Le tableau ci-après décrit les performances des fonctions d’archivage de données.
Condition
Temps d’exécution (μs)
57 1•
ram
SET_PCMCIA
WRITE_PCMCIA
READ_PCMCIA
35013155.01 07/2008
fixe
57 1•
cart
350
57 2•
ram
Taille
(mots)
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
70
40
30
par mot
0,4
0,3
0,2
0,2
fixe
350
70
40
30
par mot
0,8
0,3
0,3
0,2
fixe
350
70
40
30
par mot
0,7
0,4
0,3
0,4
57• •
207
Performances
Fonction Orphée
Le tableau ci-après décrit les performances des fonctions de régulation.
ST
Temps d’exécution (μs)
Taille
(mots)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
DSHL_RBIT(%MD102,16,%MD204,%MD206)
200
274
76
76
58
58
45
17
DSHR_RBIT(%MD102,16,%MD204,%MD206)
319
437
120
122
93
93
72
17
DSHRZ_C(%MD102,16,%MD204,%MD206)
194
266
73
74
56
57
44
17
WSHL_RBIT(%MW102,8,%MW204,%MW206)
138
189
52
52
40
40
31
17
WSHR_RBIT(%MW102,8,%MW204,%MW206)
181
249
69
69
53
53
41
17
WSHRZ_C(%MW102,8,%MW204,%MW206)
138
189
52
52
40
40
31
17
SCOUNT(%M100,%MW100,%M101,%M102,
263
%MW101,%MW102,%M200,%M201,%MW200,
%MW201)
360
99
100
76
77
59
38
208
57 3•
ram
57 3•
cart
57 4•
57• •
35013155.01 07/2008
Performances
Instructions d’entrées/sorties explicite
35013155.01 07/2008
209
Performances
Performances
Le tableau ci-après décrit les performances des instructions d’entrées/sorties
explicites.
ST
Temps d’exécution (μs)
Taille
(mots)
57 1•
ram
57 1•
cart
57 2•
ram
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
552
651
291
292
220
220
EntréeTOR
296
317
180
181
136
136
117
Sortie TOR
386
426
227
227
171
171
145
Entrée analogique
334
363
201
201
151
151
129
Sortie analogique
327
354
197
197
148
148
127
Module de comptage CTY 2A/4A
327
354
197
197
148
148
127
Module de comptage CTY 2C
311
335
189
189
142
142
122
57• •
Read_Sts %CHi.MOD
Quelque soit le métier excepté la voie de
communication du processeur
2
Read_Sts %CHi
Module pas à pas CFY 11/22
448
505
254
255
192
192
163
Module commande d’axe CAY 21/41
334
363
201
201
151
151
129
Entrée analogique
499
574
274
275
207
207
174
Sortie analogique
474
540
265
265
200
200
169
Module de comptage CTY 2A/4A
603
731
302
303
229
230
190
6
Write_Param %CHi
Module de comptage CTY 2C
400
444
233
234
176
176
150
Module pas à pas CFY 11/22
577
691
297
298
225
226
187
Module commande d’axe CAY 21/41
461
522
260
260
196
196
166
Entrée analogique
115
118
75
75
56
56
49
Sortie analogique
115
118
75
75
56
56
49
Module de comptage CTY 2A/4A
334
363
201
201
151
151
129
Module de comptage CTY 2C
349
381
209
209
157
157
134
6
Read_Param %CHi
6
Module pas à pas CFY 11/22
393
435
230
230
173
173
148
Module commande d’axe CAY 21/41
386
426
227
227
171
171
145
Save_Param %CHi
210
35013155.01 07/2008
Performances
ST
Temps d’exécution (μs)
57 1•
ram
57 1•
cart
57 2•
ram
Taille
(mots)
57 2•
cart
57 3•
ram
57 3•
cart
57 4•
57• •
6
Entrée analogique
635
787
306
307
232
233
191
Sortie analogique
640
795
306
307
233
233
191
Module de comptage CTY 2A/4A
752
1 049
271
274
209
211
160
Module de comptage CTY 2C
379
417
223
223
168
168
143
Module pas à pas CFY 11/22
421
470
243
243
183
183
155
Module commande d’axe CAY 21/41
421
470
243
243
183
183
155
467
531
262
263
198
198
167
Restore_Param %CHi
Entrée analogique
Sortie analogique
467
531
262
263
198
198
167
Module de comptage CTY 2A/4A
608
739
303
304
230
230
190
Module de comptage CTY 2C
349
381
209
209
157
157
134
Module pas à pas CFY 11/22
588
707
299
300
227
227
188
Module commande d’axe CAY 21/41
480
548
267
268
202
202
170
288
308
176
176
133
133
114
6
Write_Cmd %CHi
Sortie TOR
Entrées analogique
Forçage entrée
134
138
86
86
65
65
56
Recalibration entrée
691
895
303
304
231
232
186
143
147
92
92
69
69
60
Sortie analogiques
Forçage
6
0
0
Smove %CH1.0(%MW1,%MW2,%MW3,%MD4,%MD5,%MW6)
Module pas à pas CFY 11/22
617
755
304
305
231
231
190
Module commande d’axe CAY 21/41
608
739
303
304
230
230
190
35013155.01 07/2008
19
211
Performances
Bloc fonction DFB
Taille occupée
par le type DFB
La formule suivante permet de calculer la taille occupée par le type DFB :
Taille type DFB = Taille variables et paramètres DFB + Taille code DFB
Taille variables et
paramètres DFB
Le calcul de la taille des variables et des paramètres DFB s’effectue de la façon
suivante :
Taille variables et paramètres DFB = 110 + Somme des descripteurs des variables
et paramètres + Somme des tailles occupées par chaque variable ou paramètre
avec :
Descripteur d'une variable ou d'un paramètre = 5,5 + (Nombre de caractères du nom
de la variable ou du paramètre)/2
et
Taille occupée par chaque variable ou paramètre :
Type
IN
IN/OUT
OUT
PUBLIC
PRIVEE
EBOOL
0,5
2
0,5
0,5
0,5
BOOL
0,5
2
0,5
0,5
0,5
WORD
1
2
1
1
1
DWORD
2
2
2
2
2
REAL
2
2
2
2
2
AR_X
3
3
0,5*N
0,5*N
0,5*N
AR_W
3
3
N
N
N
AR_D
3
3
2*N
2*N
2*N
AR_R
3
3
2*N
2*N
2*N
STRING
3
3
0,5*N
0,5*N
0,5*N
N = nombre d'éléments du tableau ou longueur de la chaîne de caractères
(STRING)
212
35013155.01 07/2008
Performances
Taille code DFB
Le calcul de la taille des variables et des paramètres DFB s’effectue de la façon
suivante :
Taille code DFB = 11 + Somme des tailles de chacune des instructions (1)
(1) Au taille des instructions rajouter les volumes suivant en fonction de la variable
ou du paramètre contenu dans l'instruction :
Nature
Type
Volume
IN
EBOOL
0,5
IN/OUT
OUT,
PUBLC
PRIVEE
BOOL, WORD, DWORD, REAL
0
AR_X,AR_W,AR_D,AR_R,STRING
3
EBOOL
3
BOOL, WORD, DWORD, REAL
3
AR_X,AR_W,AR_D,AR_R,STRING
3
EBOOL
0,5
BOOL, WORD, DWORD, REAL
0
AR_X,AR_W,AR_D,AR_R,STRING
0
Objet indexé:
Taille occupée
par l'utilisation
du DFB
Nature
Type
Volume
IN
AR_X,AR_W,AR_D,AR_R
7
IN/OUT
AR_X,AR_W,AR_D,AR_R
7
OUT,
PUBLIC,
PRIVEE
AR_X,AR_W,AR_D,AR_R
6
Appel d'une instance de DFB sans aucun paramètre = 6 mots
Calcul pour un paramètre
Nature
IN
IN/OUT
OUT,
Type
Volume
EBOOL, BOOL, WORD, DWORD, REAL
idem affectation :=
AR_X,AR_W,AR_D,AR_R, STRING
14
EBOOL, WORD, DWORD, REAL
10
BOOL, AR_X,AR_W,AR_D,AR_R
14
Tout type
idem affectation :=
Utilisation d'une variable d'une instance : rajouter 1 mot par rapport
35013155.01 07/2008
213
Performances
Temps
d’exécution
Le temps total d’exécution du DFB est donné par la formule suivante :
Temps total d'exécution du DFB = Talon code DFB + Somme des temps d'accès
aux variables et paramètres DFB + Appel DFB (sans paramètre) + Somme des
temps d'accès de chaque paramètre
Le tableau suivant fournit les temps d’exécution en μs.
Elément
Type
Talon pour code DFB
571•
ram
571•
cart
572•
ram
572•
cart
573•
ram
573•
cart
574•
13,0
16,3
4,8
4,8
3,4
3,8
1,1
Accès à une variable ou un paramètre DFB (1)
Objets indexés
IN
EBOOL
0,2
0,3
0,09
0,12
0,06
0,10
0,02
BOOL,WORD,DWORD,REAL
0
0
0
0
0
0
0
AR_X,AR_W,AR_D,AR_R,STRING
1,4
1,7
0,5
0,8
0,4
0,6
0,1
1,4
1,7
0,5
0,8
0,4
0,6
0,1
EBOOL
0,2
0,3
0,09
0,12
0,06
0,10
0,02
BOOL,WORD,DWORD,REAL
0
0
0
0
0
0
0
AR_X,AR_W,AR_D,AR_R,STRING
0
0
0
0
0
0
0
IN/OUT
OUT,
PUBLIC,
PRIVEE
Objets non indexés
IN, IN/
OUT
AR_X,AR_W,AR_D,AR_R,
2,8
3,5
1,0
0,9
0,7
0,7
0,2
OUT,
PUBLIC,
PRIVEE
AR_X,AR_W,AR_D,AR_R,
2,1
2,6
0,8
1,1
0,5
0,9
0,2
3,8
4,8
1,5
1,8
1,0
1,4
0,3
4,4
1,5
1,9
1,0
1,6
0,3
Appel DFB (sans paramètre)
Calcul par paramètre (1)
IN
IN/OUT
OUT
EBOOL
idem :=
BOOL,WORD,DWORD,REAL
idem :=
AR_X,AR_W,AR_D,AR_R,STRING
3,5
EBOOL,WORD,DWORD,REAL
2,8
3,5
1,0
1,4
0,7
1,1
0,2
BOOL,AR_X,AR_W,AR_D,AR_R,STRING 3,5
4,4
1,5
1,9
1,0
1,6
0,3
Tout type
idem :=
(1) valeur à ajouter par rapport aux opérations s’appliquant à des objets de type %M.
214
35013155.01 07/2008
Performances
6.4
Fonctions avancées
Présentation
Objet de ce sous
chapitre
Ce sous chapitre décrit les tailles mémoire occupées par les fonctions avancées et
la méthode de calcul du nombre d’instructions.
Contenu de ce
sous-chapitre
Ce sous-chapitre contient les sujets suivants :
Sujet
Description des zones mémoire
35013155.01 07/2008
Page
216
Taille mémoire des objets
217
Bilan des consommations mémoire des modules sur Micro
218
Bilan des consommations mémoire des modules sur Premium
221
Taille mémoire des fonctions avancées
227
Méthode de calcul du nombre d’instructions
240
215
Performances
Description des zones mémoire
Rappel
L’application se répartit en plusieurs zones mémoire:
zone mémoire bit :
z cette zone est spécifique pour les automates TSX 37 et est limité à 1280 bits
z cette zone fait partie de la zone mémoire donnée pour les automates TSX 57,
z zone mémoire données (mots),
z zone mémoire application, comprenant :
z la configuration,
z le programme,
z les constantes.
Les zones mémoire bits et données sont toujours stockées en RAM interne, la zone
mémoire application peut être stockée en RAM interne ou sur carte mémoire.
z
216
35013155.01 07/2008
Performances
Taille mémoire des objets
Description
La table suivante décrit la taille mémoire occupée par chaque type d’objet du
langage PL7.
Type d’objet
Mémoire bit (en
mots)
Données (en
mots)
Etapes Grafcet (%Xi, %Xi.T)
0,5
1
%Mi
0,5
Numériques (%MWi)
Application (en
mots)
1
Constantes (%KWi)
1,25
%NWi
1
%Ti
4
2
%TMi
5
2
%MNi
4
2
%Ci
3
1
%Ri (longueur lg)
6+lg
2
%DRi
6
49
Données de l’interpréteur Grafcet = 355 + 2 x Nb étapes actives configurées + (Nb
de transitions valides configurées) / 2
35013155.01 07/2008
217
Performances
Bilan des consommations mémoire des modules sur Micro
Généralités
Note : Ces informations sont données pour une version particulière de
processeurs. Elles peuvent subir de «légères» variations en fonction des
évolutions du produit.
Pour chaque type de modules, les tableaux suivants fournissent la taille occupée
dans chacune des zones ainsi qu’une taille fixe à ajouter au bilan de consommation
la première fois qu’une fonction métier est utilisée.
Processeurs
Le tableau ci-après fournit les consommations mémoire des modules processeurs
TSX 37.
Processeurs
Modules Tout ou
rien
218
Mémoire bits Données
(mots)
(mots)
Zone Application
(mots)
TSX 37-05/08/10
70
1560
920
TSX 37-21
70
1570
930
TSX 37-22
70
2110
1280
Utilisation tâche FAST (TSX 37)
260
Utilisation premier événement(TSX 37)
520
Le tableau ci-après fournit les consommations mémoire des modules Tout ou Rien.
Famille Tout ou Rien
Mémoire bits Données
(mots)
(mots)
Zone Application
(mots)
8 entrées TOR
4
12
40
16 entrées TOR
8
12
50
4 sorties TOR
2
12
40
8 sorties TOR
4
12
40
8E / 8S TOR
4
12
40
16E / 12S TOR
16
20
100
32E / 32S TOR
32
20
142
35013155.01 07/2008
Performances
Modules
analogiques
Le tableau ci-après fournit les consommations mémoire des modules analogiques.
Famille analogique
Mémoire bits
(mots)
Données
(mots)
Zone Application
(mots)
0
156
56
Module 4 entrées analogiques
AEZ414
Surcoût 1er module Famille 4 Entrées
analogiques
120
Module 8 entrées analogiques
AEZ801/AEZ802
0
212
Surcoût 1er module Famille 8 Entrées
analogiques
72
120
Module sorties analogiques
ASZ200
0
52
40
ASZ401
0
100
59
Surcoût 1er module Famille Sorties
analogiques
Modules de
comptage
35013155.01 07/2008
120
Le tableau ci-après fournit les consommations mémoire des modules de comptage.
Famille Comptage
Mémoire bits
(mots)
Données
(mots)
Zone
Application
(mots)
CTY1A
16
108
64
CTY2A
32
212
106
Surcoût 1ère voie en Comptage
144
Surcoût 1ère voie en Décomptage
144
Surcoût 1ère voie en CPT/DCPT
144
219
Performances
Modules de
communication
220
Le tableau ci-après fournit les consommations mémoire des modules de
communication.
Famille Communication
Mémoire bits
(mots)
Données
(mots)
Zone
Application
(mots)
STZ010
0
36
168
SCP111/SCP112/SCP114
(sur UC UTW)
0
40
763
FPP 20 sur UC (Voie 0 UTW)
0
40
755
MDM 10
0
2528
12880
35013155.01 07/2008
Performances
Bilan des consommations mémoire des modules sur Premium
Généralités
Note : Ces informations sont données pour une version particulière de
processeurs. Elles peuvent subir de «légères» variations en fonction des
évolutions du produit.
Pour chaque type de modules, les tableaux suivants fournissent la taille occupée
dans chacune des zones ainsi qu’une taille fixe à ajouter au bilan de consommation
la première fois qu’une fonction métier est utilisée.
Processeurs
Le tableau ci-après fournit les consommations mémoire des modules processeurs
TSX 57.
Processeurs
Mémoire bits
(mots)
Données
(mots)
Zone
Application
(mots)
P 57-1•
70
4714
1720
P 57-2•/3•/4•
70
4714
1784
Utilisation tâche FAST (TSX 57)
520
Surcoût 1er module dans configuration
600
P 57-1• : par boucle de régulation
500
Surcoût 1er boucle
P 57-2•/3•/4• : par boucle de régulation
Surcoût 1er boucle
35013155.01 07/2008
25000
500
5000
221
Performances
Modules TOR
Le tableau ci-après fournit les consommations mémoire des modules Tout Ou Rien.
Famille TOR
Mémoire bits
(mots)
Données
(mots)
Zone
Application
(mots)
Famille Entrées TOR simples
8 entrées TOR
4
100
100
16 entrées TOR
8
130
110
32 Entrées TOR
16
230
120
64 Entrées TOR
32
430
190
Surcoût 1er module Famille Entrées
610
Famille Sorties TOR simples
8 Sorties TOR
4
110
100
16 Sorties TOR
8
160
110
32 Sorties TOR
16
280
120
64 Sorties TOR
32
550
190
Surcoût 1er module Famille Sorties
570
Famille Entrées TOR évenementielles
16 Entrées TOR (DEY 16FK)
8
220
Surcoût 1er module Famille Entrées
130
680
Famille Entrées/Sorties TOR sécurité
12E/4S ou 12E/2S(PAY)
16
128
Surcoût 1er module Famille Entrées
TOR EVT
200
1320
Famille entrées/sorties TOR mixte
16 Entrées/12 sorties (DMY 28FK)
16
304
Surcoût 1er module Famille
152
1432
TOR mixte
16 E/12 S réflexe (DMY 28RFK)
Surcoût 1er module Famille TOR mixte
réflexe
222
32
976
656
5596
35013155.01 07/2008
Performances
Modules
analogiques
Le tableau ci-après fournit les consommations mémoire des modules analogiques.
Famille analogique
Mémoire bits
(mots)
Données
(mots)
Zone
Application
(mots)
AEY414
4
430
160
AEY800
8
840
240
AEY1600
16
1670
430
Familles Entrées Analogiques
Surcoût 1er module Famille Entrées
Analogiques (AEY 414/800/1600)
2990
AEY810
8
888
248
AEY1614
16
1768
432
Surcoût 1er module Famille Entrées
Analogiques (AEY 810/1614)
AEY420
3056
4
476
Surcoût 1er module Famille Entrées
Analogiques (AEY 810/1614)
168
2080
Famille Sorties Analogiques
ASY410
4
430
Surcoût 1er module Sorties Analogiques
ASY410
ASY800
1700
8
744
Surcoût 1er module Sorties Analogiques
ASY800
Modules
comptage
248
1760
Le tableau ci-après fournit les consommations mémoire des modules de comptage.
Famille Comptage
Mémoire bits
(mots)
Données
(mots)
Zone
Application
(mots)
Module CTY2A
32
410
170
Module CTY4A
64
800
250
48
672
184
Surcoût 1ère voie comptage configurée
Module CTY2C
Surcoût 1ère voie comptage configurée
35013155.01 07/2008
160
1740
1992
223
Performances
Modules
servo-moteur
Le tableau ci-après fournit les consommations mémoire des modules servo-moteur.
Famille Servo-moteur
Mémoire bits
(mots)
(mots)
(mots)
CAY•1
78
520
140
CAY•2
78
376
232
CAY33 voie 3
78
264
Surcoût 1ère voie configurée CAY•1
Modules pas à
pas
Surcoût 1ère voie configurée CAY•2/33
3600
Surcoût 1ère voie 3 configurées CAY33
3600
Le tableau ci-après fournit les consommations mémoire des modules de pas à pas.
Famille pas à pas
Mémoire bits
(mots)
Données
(mots)
Zone
Application
(mots)
CFY11
29
323
104
CFY21
58
646
152
Surcoût 1ère voie pas à pas configurée
Modules de
communication
2368
Le tableau ci-après fournit les consommations mémoire des modules de
communication.
Famille Module de communication
Mémoire bits
(mots)
Données
(mots)
Zone
Application
(mots)
SCY21600 (Voie 0 UTW)
1
230
80
sur SCY21600 (Voie 1 UTW)
1
450
Surcoût 1ère voie configurée en UTW
ETY 110
ETY 120
1
431
1
48
136
1368
1
434
Surcoût 1ère voie configurée ETY 210
IBY 100
256
1984
Surcoût 1ère voie configurée ETY 120
ETY 210
40
1280
Surcoût 1ère voie configurée ETY 110
224
170
2130
400
3424
1
450
40
35013155.01 07/2008
Performances
Sous modules de
communication
Le tableau ci-après fournit les consommations mémoire des sous-modules de
communication.
Sous module de communication
Mémoire bits
(mots)
Données
(mots)
Zone
application
(mots)
SCP111/ SCP112/ SCP114 (UTW)
1
60
580
FPP 20 sur UC (Voie 0 UTW)
1
60
580
FPP 10 sur UC (Voie 0 UTW)
1
40
870
sur UC (Voie 0 UTW)
Coupleur AS-i
Le tableau ci-après fournit les consommations mémoire des coupleur AS-i.
Famille AS-i
Mémoire bits
(mots)
Données
(mots)
Zone
application
(mots)
SAY
3
373
176
Surcoût 1ère voie ASi
Modules de
pesage
Le tableau ci-après fournit les consommations mémoire des modules de pesage.
Famille Pesage
Mémoire bits
(mots)
Données
(mots)
Zone
Application
(mots)
AWY001
1
170
120
Surcoût 1ère voie pesage configurée
35013155.01 07/2008
2272
3920
225
Performances
Modules
d’entrées/sorties
déportées TBX
Le tableau ci-après fournit les consommations mémoire des modules d’entrées/
sorties déportéesTBX.
Famille entrées/sorties déportés
Mémoire bits
(mots)
Données
(mots)
Entrées TOR
8
152
Surcoût 1ère embase configurée
Sorties TOR
8
176
8
160
8
160
AES 400
2
270
104
ASS 200
2
270
104
AMS 620
4
508
112
3968
Le tableau ci-après fournit les consommations mémoire des modules Momentum.
Famille Momentum
Mémoire bits
(mots)
Données
(mots)
Zone
application
(mots)
Entrées
16
96
72
16
112
16
104
Surcoût 1ère embase configurée
Sortie
1384
Surcoût 1ère embase configurée
Mixte
72
1256
Surcoût 1ère embase configurée
226
88
1400
Surcoût 1ère embase configurée
Modules déport
bus X
88
2304
Surcoût 1ère embase configurée
Modules
Momentum
88
1320
Surcoût 1ère embase configurée
Mémorisation d'état
88
1400
Surcoût 1ère embase configurée
Programmable
Zone
Application
(mots)
72
1424
Le tableau ci-après fournit les consommations mémoire du module de déport bus X.
Déport bus X
Mémoire bits
(mots)
Données
(mots)
Zone
application
(mots)
Module TSX REY 200
0
0
56
35013155.01 07/2008
Performances
Taille mémoire des fonctions avancées
Description
Les tableaux suivants indiquent pour chaque fonction avancée (OF), la taille du
code embarqué dans l’application (zone application) sur appel d’une fonction
avancée.
Les fonctions d’une même famille partagent du code (code commun). Ce code
commun est embarqué dans l’automate au premier appel d’une fonction de cette
famille. Le code spécifique à une fonction est embarqué au premier appel de cette
fonction.
Exemple
z
z
Conversions
numériques
35013155.01 07/2008
Premier appel d’une fonction de la famille Conversions numériques, cas de
DBCD_TO_DINT, code embarqué dans la zone application :
z Code commun = 154 mots
z Code OF DBCD_TO_INT = 149 mots
Appel d’une autre fonction de la famille Conversions numériques, cas de
DINT_TO_DBCD, code embarqué dans la zone application :
z Code OF DINT_TO_DBCD = 203 mots
z Appel d’une fonction de la famille Conversions numériques déjà appelée
(DBCD_TO_DINT ou DINT_TO_DBCD) : aucun code embarqué
Le tableau suivant donne la consommation mémoire des fonctions avancées de
conversion.
Conversions numériques
OF
Taille code
(en mots)
Conversion d’un nombre BCD 32 bits en entier 32 bits
DBCD_TO_DINT
203
Conversion d’un nombre BCD 32 bits en entier 16 bits
DBCD_TO_INT
149
Conversion d’un entier 32 bits en nombre BCD 32 bits
DINT_TO_DBCD
203
Conversion d’un entier 16 bits en nombre BCD 32 bits
INT_TO_DBCD
75
Extraction du mot de poids faible d'un double mot
LW
33
Extraction du mot de poids fort d'un double mot
HW
33
Formation d'un double mot avec 2 mots
CONCATW
33
code commun
154
227
Performances
Instructions sur
chaines de bits
228
Le tableau suivant donne la consommation mémoire des fonctions avancées de
chaîne de bits.
Chaînes de bits
OF
Taille code
ET logique entre deux tableaux
AND_ARX
209
Copie d’un tableau de bits dans un tableau de mots
doubles
BIT_D
248
Copie d’un tableau de bits dans un tableau de mots
BIT_W
205
Copie d’un tableau de bits dans un tableau de bits
COPY_BIT
146
Copie d’un tableau de mots doubles dans un tableau de
bits
D_BIT
196
Complément à un d’un tableau
NOT_ARX
157
OU logique entre deux tableaux
OR_ARX
209
Copie d’un tableau de mots dans un tableau de bits
W_BIT
195
OU exclusif entre deux tableaux
XOR_ARX
209
Longueur en nombre d'éléments
LENGTH_ARX
20
code commun
427
35013155.01 07/2008
Performances
Instructions sur
Tableau de mots
Le tableau suivant donne la consommation mémoire des fonctions avancées sur
tableaux de mots.
Instructions sur tableaux de mots
35013155.01 07/2008
OF
Taille code
(en mots)
Recherche du 1er élément d’un tableau égal à une valeur FIND_EQW
75
Recherche du 1er élément d’un tableau supérieur à une
valeur
FIND_GTW
75
Recherche du 1er élément d’un tableau inférieur à une
valeur
FIND_LTW
78
Recherche de la plus grande valeur dans un tableau
MAX_ARW
78
Recherche de la plus petite valeur dans un tableau
MIN_ARW
74
Nombre d’occurences d’une valeur dans un tableau
OCCUR_ARW
145
Décalage circulaire à gauche d’un tableau
ROL_ARW
150
Décalage circulaire à droite d’un tableau
ROR_ARW
144
Tri d’un tableau (croissant ou décroissant)
SORT_ARW
164
Recherche partielle du 1° élément d'un tableau égal à une FIND_EQWP
valeur
77
Longueur en nombre d'éléments
LENGTH_ARW
20
code commun
162
229
Performances
Instructions sur
tableaux de
doubles-mots
230
Le tableau suivant donne la consommation mémoire des fonctions avancées sur
tableaux de doubles mots.
Instructions sur tableaux de doubles-mots
OF
Taille
code (en
mots)
Recherche du 1er élément d’un tableau égal à une valeur FIND_EQD
79
Recherche du 1er élément d’un tableau supérieur à une
valeur
FIND_GTD
80
Recherche du 1er élément d’un tableau inférieur à une
valeur
FIND_LTD
95
Recherche de la plus grande valeur dans un tableau
MAX_ARD
95
Recherche de la plus petite valeur dans un tableau
MIN_ARD
78
Nombre d’occurences d’une valeur dans un tableau
OCCUR_ARD
163
Décalage circulaire à gauche d’un tableau
ROL_ARD
170
Décalage circulaire à droite d’un tableau
ROR_ARD
178
Tri d’un tableau (croissant ou décroissant)
SORT_ARD
Recherche partielle du 1° élément d'un tableau égal à une FIND_EQWP
valeur
77
Longueur en nombre d'éléments
LENGTH_ARW
20
code commun
162
35013155.01 07/2008
Performances
Instructions sur
tableaux de
flottants
35013155.01 07/2008
Le tableau suivant donne la consommation mémoire des fonctions avancées sur
tableau de flottants.
Instructions sur tableaux de flottants
OF
Somme des éléments d'un tableau de réels
Taille
code (en
mots)
SUM_ARR
152
Recherche du 1er élément d’un tableau égal à une valeur FIND_EQR
134
Recherche du 1er élément d’un tableau égal à une valeur FIND_EQRP
à partir d'un rang
135
Recherche du 1er élément d’un tableau supérieur à une
valeur
FIND_GTR
134
Recherche du 1er élément d’un tableau inférieur à une
valeur
FIND_LTR
134
Recherche de la plus grande valeur dans un tableau
MAX_ARR
161
Recherche de la plus petite valeur dans un tableau
MIN_ARR
162
Nombre d’occurences d’une valeur dans un tableau
OCCUR_ARR
132
Décalage circulaire à gauche d’un tableau
ROL_ARR
167
Décalage circulaire à droite d’un tableau
ROR_ARR
173
Tri d’un tableau (croissant ou décroissant)
SORT_ARR
271
comparaison de 2 tableaux de réel
EQUAL_ARR
173
Tri d’un tableau (croissant ou décroissant)
LENGTH_ARR
20
code commun
124
231
Performances
Instructions de
gestion du temps
Le tableau suivant donne la consommation mémoire des fonctions avancées de
gestion du temps.
Dates, heures et durées
OF
Taille
code
Ajout d’une durée à une date complète
ADD_DT
519
Ajout d’une durée à une heure du jour
ADD_TOD
188
Conversion d’une date en chaîne
DATE_TO_STRING 150
Jour de la semaine
DAY_OF_WEEK
99
Ecart entre deux dates
DELTA_D
374
Ecart entre deux dates complètes
DELTA_DT
547
Ecart entre deux heures du jour
DELTA_TOD
110
Conversion d’une date complète en chaîne
DT_TO_STRING
266
Retrait d’une durée à une date complète
SUB_DT
548
Retrait d’une durée à une heure du jour
SUB_TOD
186
Conversion d’une durée en chaîne
TIME_TO_STRING
413
Conversion d’une heure du jour en chaîne
TOD_TO_STRING
156
Mise sous la forme heures-mn-sec d’une durée
TRANS_TIME
211
SCHEDULE
700
code commun
1703
Fonction horodateur
232
35013155.01 07/2008
Performances
Instructions sur
chaîne de
caractères
Le tableau suivant donne la consommation mémoire des fonctions avancées chaîne
de caractères.
Dates, heures et durées
OF
Instructions sur chaînes de caractères
35013155.01 07/2008
Taille
code
taille code
Concaténation de deux chaînes
CONCAT
Suppression d’une sous-chaîne
DELETE
279
Recherche du premier caractère différent
EQUAL_STR
212
Recherche d’une sous-chaîne
FIND
225
Insertion d’une sous-chaîne
INSERT
287
Extraction de la partie gauche d’une chaîne
LEFT
38
Longueur d’une chaîne
LEN
70
Extraction d’une sous-chaîne
MID
44
Replacement d’une sous-chaîne
REPLACE
365
Extraction de la partie droite d’une chaîne
RIGHT
55
code commun
418
233
Performances
Fonctions Orhée
Le tableau suivant donne la consommation mémoire des fonctions Orphée.
Fonctions Orphée
OF
Taille
code
Déc. à gauche sur 32 avec récupération bits décalés
DSHL_RBIT
152
Déc. à droite sur 32 avec extension signe, récup. bits
décalés
DSHR_RBIT
152
Déc. à droite sur 32 avec remplissage de 0, récup. bits
décalés
DSHRZ_C
133
Déc. à gauche sur 16 avec récupération bits décalés
WSHL_RBIT
91
Déc. à droite sur 16 avec extension signe, récup. bits
décalés
WSHR_RBIT
103
Déc. à droite sur 16 avec remplissage de 0, récup. bits
décalés
WSHRZ_C
90
code commun
173
SCOUNT
617
Rotation vers la gauche d'un mot
ROLW
41
Rotation vers la droite d'un mot
RORW
Rotation vers la gauche d'un double mot
ROLD
49
Rotation vers la gauche d'un double mot
RORD
49
Comptage/décomptage avec signalisation de
dépassement
Fonctions de
temporisation
Le tableau suivant donne la consommation mémoire des fonctions de
temporisation.
Fonctions temporisation
234
OF
Taille
code (en
mots)
Sortie créneau
FPULSOR
215
Temporisation de déclenchement
FTOF
272
Temporisation d'enclenchement
FTON
217
Temporisation d'impulsion
FTP
245
35013155.01 07/2008
Performances
Fonctions
logarithmes,
exponentielles et
trigométriques
Fonctions
Régulation
Le tableau suivant donne la consommation mémoire des fonctions logarithmiques,
exponentielles et trigonométriques.
Fonctions logarithmes, exponentielles et
trigonométriques
OF
Taille
code (en
mots)
Logarithme népérien
LN
0
Logarithme décimal
LOG
0
Exponentielle
EXP
0
Exponentiation d'un réel par un entier
EXPT
523
Partie entière
TRUNC
128
Cosinus d'un angle en radians
COS
0
Sinus d'un angle en radians
SIN
0
Tangente d'un angle en radians
TAN
0
Arc cosinus (résultat entre 0 et pi)
ACOS
0
Arc sinus (résultat entre -pi/2 et pi/2)
ASIN
0
Arc tangente (résultat entre -pi/2 et pi/2)
ATAN
0
Conversion degrés en radians
DEG_TO_RAD
257
Conversion radians en degrés
RAD_TO_DEG
247
code commun
392
Le tableau suivant donne la consommation mémoire des fonctions de régulation.
Fonctions de régulation
OF
Taille
code (en
mots)
Régulateur PID mixte
PID
1800
Modulation en largeur d’impulsion d’une grandeur
numérique
PWM
600
Etage de sortie de PID pour commande de vanne TOR
SERVO
1200
Gestion du dialogue opérateur dédié sur CCX17 des PID PID_MMI
code commun
35013155.01 07/2008
4400
573
235
Performances
Fonctions
dialogue
opérateur
Le tableau suivant donne la consommation mémoire des fonctions de dialogue
opérateur.
Fonctions Dialogue Opérateur
OF
Taille code
(en mots)
Saisie bloquante d’une variable sur CCX17
Ask_msg,
46,5
Saisie bloquante d’une variable sur msg contenu dans
CCX17
Ask_value,
46,5
Affectation dynamique des touches
Assign_keyS,
46,5
Commande de pilotage des voyants
Control_leds,
46,5
Affichage d’une alarme contenue dans le CCX17
Display_alarm,
46,5
Affichage d’un groupe de messages contenus dans le
CCX17
Display_GRP,
46,5
Affichage d’un message contenu dans le CCX17
Display_MSG,
46,5
Saisie multiple d’une variable sur CCX17
GET_MSG,
46,5
Saisie multiple d’une variable sur msg contenu dans
CCX17
GET_VALUE,
46,5
Envoi d’une commande au CCX17
PANEL_CMD,
46,5
Affichage d’un msg d’alarme contenu en mémoire
automate
SEND_alarm,
46,5
Affichage d’un message contenu en mémoire automate Send_msg
code commun
236
46,5
573
35013155.01 07/2008
Performances
Fonctions de
communication
Le tableau suivant donne la consommation mémoire des fonctions de
communication.
Fonctions Communication
OF
Taille code
(en mots)
Lecture d’objets langage de base
READ_VAR
617
Ecriture d’objets langage de base
WRITE_VAR
500
Emission/réception de requètes UNI-TE
SEND_REQ
438
Emission et/ou réception de données
DATA_EXCH
375
Emission d’une chaine de caractères
PRINT_CHAR
476
Demande de lecture d’une chaine de caractères
INPUT_CHAR
625
Emission et/ou réception d’une chaine de caractères
OUT_IN_CHAR
531
Emission d’un télégramme
SEND_TLG
219
Réception d’un télégramme
RCV_TLG
172
Demande d’arrêt d’une fonction de communication en
cours
CANCEL
Décalage d’1 octet vers la droite d’un tableau d’octets
Serveur immédiat
code commun
506
ROR1_ARB
235
SERVER
32
code commun
648
Ecriture 1K de messagerie
32
code commun
Lecture 1K de messagerie
Fonctions
commande de
mouvement
35013155.01 07/2008
936
READ_ASYN
32
code commun
920
Le tableau suivant donne la consommation mémoire des fonctions de commande
de mouvement.
Fonctions commande de mouvement
OF
Taille code
(mots)
Commande de mouvement automatique 1 axe
SMOVE
24
Commande de mouvement automatique multi-axe
XMOVE
32
237
Performances
Archivage des
données
Fonction
d’échange
explicite
Le tableau suivant donne la consommation mémoire des fonctions d’archivage des
données.
Archivage de données
OF
Taille code
(mots)
Initialisation zone d'archivage sur carte PCMCIA
SET_PCMCIA
24
Ecriture de données sur carte PCMCIA
WRITE_PCMCIA
24
Lecture de données sur carte PCMCIA
READ_PCMCIA
24
code commun
288
Le tableau suivant donne la consommation mémoire des fonctions de commande
d’échange explicite.
Echanges explicites
OF
Taille code
(mots)
Lecture des paramètres de status
READ_STS
0
Lecture des paramètres de réglage
READ_PARAM
0
Mise à jour des paramètres de réglage
WRITE_PARAM
0
Sauvegarde des paramètres de réglage
SAVE_PARAM
0
Restitution des paramètres de réglage
RESTORE_PARAM 0
Mise à jour des paramètres de commande
WRITE_CMD
0
(1) OF spécifique, le code est compté dans le volume du module E/S.
238
35013155.01 07/2008
Performances
DFB de
diagnostic
A la première programmation d'un des DFB de diagnostic, 200 mots sont réservés
en zone programme de l'application.
Le tableau suivant indique pour chaque type de DFB de diagnostic la taille du code
embarqué dans l'application (en zone programme) et la taille occupée par instance
en zone donnée et en zone programme.
35013155.01 07/2008
DFB de diagnostic (tailles en
mots)
Taille Type DFB Taille code
Type DFB
Taille données
par instance
IO_DIA
800
64
72
ALRM_DIA
608
40
48
NEPO_DIA
15184
128
136
TEPO_DIA
10896
128
136
EV_DIA
1144
48
56
MV_DIA
2616
80
88
ASI_DIA
7912
304
312
239
Performances
Méthode de calcul du nombre d’instructions
Généralités
Calcul du
nombre
d’instructions
booléennes
Cette méthode permet de calculer le nombre d’instructions de base (niveau
assembleur) booléennes ou numériques.
Dans ce calcul sont pris en compte le nombre d’éléments suivants :
opérations unitaires booléennes : chargement (LD), AND, OR, XOR,ST,...
z parenthèses fermantes (ou les convergences ladder : liaisons verticales de
convergence)
z blocs comparaison (AND[...], OR[...]...) et operate ([...])
z
Ne pas compter comme instruction booléenne les opérateurs NOT, RE et FE.
Exemple :
LD %M0
AND (%M1
OR %M2
)
ST %M3
= 5 instructions booléennes
Calcul du
nombre
d’instructions
Numériques
Dans ce calcul sont pris en compte le nombre d’éléments suivants :
affectations (:=)
z chargement de la première valeur après :=
z instructions arithmétiques (+, -, *, /, <, =,...), opérations sur mots ou tableaux de
mots, doubles mots, flottants)
z instructions logiques sur mots
z fonctions(OF, EQUAL,...) quel que soit le nombre de paramètres
z blocs fonction (ou instruction de bloc fonction)
z
Exemple :
%MW0:=(%MW1+%MW2)*%MW3;
instructions comptabilisées :
:=
%MW1 (correspond à l’instruction de chargement dans l’accumulateur )
+
*
soit 4 instructions.
240
35013155.01 07/2008
Performances
Exemple
Exemple de programme comportant 65% de booléen et 35% de numérique :
%M0
%M3
%M4
%M1
%M20
%M21
%M5
%M22
%M23
%M6
%M2
%M10
%M11
%M12
%M14
%M15
%M16
%M10
%M11
%M12
%M13
%M17
%M13
%M14
%M18
%M31
%M32
%M33
%M34
%M0
%M1
%M2
%M3
%M4
%M7
%M8
%M10
%M11
%M15
%M16
%M35
%M5
%M6
%M17
%M12
%M20
%M16
%M30
35013155.01 07/2008
%M15
%M18
%M30
%M19
%M13
241
Performances
Exemple (suite)
%M0
%M1
%M3
%M4
%M5
%M6
%M7
%M8
%M9
%M11
%M12
%M13
%M14
%M15
%M16
%M17
%M0
%M1
%M3
%M4
%M5
%M6
%M9
%M7
%M10
R
%M11
R
%M2
%M10
%M8
242
%M4
%M5
%M6
%M7
%M8
%M9
%M10
%M0
%M1
%M2
%M3
%M20
%M21
%M22
%M23
%M28
%M40
%M24
%M25
%M29
%M41
%M26
%M27
%M42
35013155.01 07/2008
Performances
Exemple (suite)
%M0
%M1
%M2
%M3
%M4
%M5
%M6
%M7
%M8
%M10
%M9
%M11
%M13
%M12
%M1
%M2
%M3
%M4
%M6
%M7
%M5
%M10
%M11
%M8
%M9
35013155.01 07/2008
243
Performances
Exemple (suite)
%M1
%M2
%M3
%M4
%M6
%M13
%M12
%M5
%M14
%M10
%M15
%M7
%M11
%M8
%M9
%M0
%M1
P
%M3
%M10
P
244
%M11
%M2
N
%M6
%M4
P
%M5
%M7
%M12
%M13
%M14
%M8
%M9
%M20
%M21
S
%M22
35013155.01 07/2008
Performances
Exemple (suite)
COMPARE
%MW3:=%MW5+1
COMPARE
%MW3< =1000
OPERATE
%MW2:=%MW3+%MW5+%KW0/2
OPERATE
%MW100:=%MW18-%KW10
OPERATE
INC%MW10
OPERATE
%MW2[%MW100]:=%MW3+%MW50*1
OPERATE
%MW100:=%MW78+SHL[%MW3,4]
COMPARE
%MW3:=%MW5+1
COMPARE
%MW3<>%MW4
OPERATE
%MW2:=%MW3*%MW5-%KW0
OPERATE
OPERATE
%MW14:=14
DEC%MW190
OPERATE
%MW2[%MW200]:=%MW3+%MW50*1
OPERATE
%MW100:=%MW78+ABS[%MW3]
35013155.01 07/2008
245
Performances
Exemple (suite)
OPERATE
%MW0:=16#FFFF
OPERATE
OPERATE
%MW1:=1
OPERATE
%MW2:=2
OPERATE
%TM0.P:%MW88+%MW89-1
OPERATE
%MW4:=%KW0+4
OPERATE
%MW5:=%KW0+5
OPERATE
%MW6:=%MW10/1024
OPERATE
%MW10[%MW0]:=%KW10[%MW0]+1
OPERATE
%MW11:=%MW10+1
OPERATE
%MW12:=%MW0*3+4
OPERATE
%MW13:=%KW13+%MW2+%MW3-1
OPERATE
OPERATE
%MW14:=14
OPERATE
%MW15:=15
OPERATE
%MW16:=1+%MW70+%MW71+%MW72
246
35013155.01 07/2008
Performances
Exemple (suite)
OPERATE
%MW20:=%SW10-1
OPERATE
%MW21:=ROL[%MW0.7]
OPERATE
%MW22:=%MW0+3*%MW1-1
OPERATE
%MW23:=0
%MW24:=1
OPERATE
OPERATE
%MW25:=%MW87/1024+22
OPERATE
%MW26:=%MW0+%MW25+1
%M0
%C0
C
R
OPERATE
%MW0:=%MW1+%MW2+%MW3+%MW
(1)
E
%TM0
%MN0
S
M
R
MODE : TON
TB: 1mn
S
C.P.: 9999
D
IN
CU
F
MODIF : Y
TM
Q
MODE : TON
TB: 1mn
TM.P: 9999
MODIF: Y
CD
MN.P: 9999
MODIF: Y
(1):%MW0:=%MW1+%MW2+%MW3+%MW4+%MW5+%MW6+%MW7+%MW8+
%MW9+%MW10+1
Bilan
35013155.01 07/2008
Nombre
d’instructions
%
Booléen sans front
187
54,05%
Booléen avec front
4
1,16%
Bloc opération
31
8,96%
Bloc fonction
3
0,87%
Arithmétique simple (+,-,:=,AND,...)
111
32,08%
Arithmétique indexée
4
1,16%
*, /
6
1,73%
Valeurs immédiates
24
Total
346
64,16%
35,84%
100,00%
247
Performances
248
35013155.01 07/2008
B
AC
Index
C
CEI1131-3, 60
CloseDFB, 129
CloseIOModule, 127
CloseProgram, 125
CloseStx, 96
CompareSymbolPCAndSymbolPLCAppli,
135
ConnectPLC, 102
GetPLCAppIdentity, 117
GetServerVersion, 131
GetSTXAppIdentity, 116
GetSymbol, 112
I
ImportScyFile, 132
O
D
DisconnectPLC, 101
DownloadDataToPLC, 104
DownloadStationWithSymbol, 133
DownloadToPLC, 106
OLE, 83
OpenStx, 95
OpenStxWithMaj, 97
OpenTool, 121
S
E
Fonctions OLE, 93
SaveStx, 103
SendCommandToPLC, 119
SetDownloadFunction, 114
SetDriverAndAdresse, 120
SetPosPL7Windows, 123
SetServerIHM, 113
ShowDFB, 128
ShowIOModule, 126
ShowProgram, 124
G
U
ExportFefFileWithConfiguration, 100
ExportFeFile, 99
ExportScyFile, 98
F
GetMessageError, 130
GetPL7State, 115
35013155.01 07/2008
UploadDataFromPLC, 108
UploadFromPLC, 107
249
Index
UploadFromPLCWithSymbol, 110
250
35013155.01 07/2008

Manuels associés