Schneider Electric EcoStruxure™ Control Expert - Régulation, Bibliothèque de blocs Mode d'emploi

Ajouter à Mes manuels
372 Des pages
Schneider Electric EcoStruxure™ Control Expert - Régulation, Bibliothèque de blocs Mode d'emploi | Fixfr
EcoStruxure™ Control Expert
33002536 09/2020
EcoStruxure™ Control
Expert
Régulation
Bibliothèque de blocs
Traduction de la notice originale
33002536.16
09/2020
www.schneider-electric.com
Le présent document comprend des descriptions générales et/ou des caractéristiques techniques
des produits mentionnés. Il ne peut pas être utilisé pour définir ou déterminer l'adéquation ou la
fiabilité de ces produits pour des applications utilisateur spécifiques. Il incombe à chaque utilisateur
ou intégrateur de réaliser l'analyse de risques complète et appropriée, l'évaluation et le test des
produits pour ce qui est de l'application à utiliser et de l'exécution de cette application. Ni la société
Schneider Electric ni aucune de ses sociétés affiliées ou filiales ne peuvent être tenues pour
responsables de la mauvaise utilisation des informations contenues dans le présent document. Si
vous avez des suggestions, des améliorations ou des corrections à apporter à cette publication,
veuillez nous en informer.
Vous acceptez de ne pas reproduire, excepté pour votre propre usage à titre non commercial, tout
ou partie de ce document et sur quelque support que ce soit sans l'accord écrit de Schneider
Electric. Vous acceptez également de ne pas créer de liens hypertextes vers ce document ou son
contenu. Schneider Electric ne concède aucun droit ni licence pour l'utilisation personnelle et non
commerciale du document ou de son contenu, sinon une licence non exclusive pour une
consultation « en l'état », à vos propres risques. Tous les autres droits sont réservés.
Toutes les réglementations locales, régionales et nationales pertinentes doivent être respectées
lors de l'installation et de l'utilisation de ce produit. Pour des raisons de sécurité et afin de garantir
la conformité aux données système documentées, seul le fabricant est habilité à effectuer des
réparations sur les composants.
Lorsque des équipements sont utilisés pour des applications présentant des exigences techniques
de sécurité, suivez les instructions appropriées.
La non-utilisation du logiciel Schneider Electric ou d'un logiciel approuvé avec nos produits
matériels peut entraîner des blessures, des dommages ou un fonctionnement incorrect.
Le non-respect de cette consigne peut entraîner des lésions corporelles ou des dommages
matériels.
© 2020 Schneider Electric. Tous droits réservés.
2
33002536 09/2020
Table des matières
Consignes de sécurité . . . . . . . . . . . . . . . . . . . . . . . . . .
A propos de ce manuel. . . . . . . . . . . . . . . . . . . . . . . . . .
Partie I Informations générales . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 1 Types de module et leur utilisation . . . . . . . . . . . . . . . . .
Types de bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Structure d'un FFB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
EN et ENO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 2
Disponibilité des blocs sur les différentes plateformes .
Disponibilité des blocs sur les différentes plateformes . . . . . . . . . . . .
Chapitre 3 Informations générales sur la bibliothèque de bloc de
commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modes de fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Gestion des erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Convention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie II Préparation des données . . . . . . . . . . . . . . . . . . . . .
Chapitre 4 DTIME : Délai . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Paramétrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Initialisations et modes de fonctionnement . . . . . . . . . . . . . . . . . . . . .
Exemple de mesure du coefficient de débit. . . . . . . . . . . . . . . . . . . . .
Erreur d’exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 5 INTEGRATOR : Integrateur limité . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 6 LAG_FILTER : Equipement de temporisation : 1er ordre
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 7 LDLG : Equipement PD avec lissage . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemples de bloc fonction LDLG . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33002536 09/2020
9
13
15
17
18
20
24
29
29
33
34
36
37
39
41
43
44
47
49
50
51
53
54
57
59
60
63
65
66
69
70
3
Chapitre 8 LEAD : Différentiateur avec lissage . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 9 MFLOW : Bloc de débit de masse . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erreur d’exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 10 QDTIME : Equipement de deadtime . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 11 SCALING : Echelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Paramétrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erreur d’exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 12 TOTALIZER : Intégrateur . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Formules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erreur d’exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 13 VEL_LIM : Limiteur de vitesse . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie III Régulateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 14 AUTOTUNE : Paramètre de réglage automatique . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Principe du réglage automatique du régulateur . . . . . . . . . . . . . . . . . .
Principe d'identification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Paramétrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Couplage du régulateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Diagnostic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Causes de l'abandon du réglage automatique du régulateur. . . . . . . .
Lancement d'un test après la fin du réglage automatique du régulateur
Erreur d’exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 15 IMC : Correcteur à modèle . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Gestion du retard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Schéma fonctionnel du correcteur IMC . . . . . . . . . . . . . . . . . . . . . . . .
Erreur d'exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
73
74
77
79
80
83
85
87
88
91
93
94
96
97
99
100
104
105
108
109
110
113
115
117
118
123
125
126
129
131
134
136
140
141
142
149
150
151
33002536 09/2020
Chapitre 16 PI_B : Automate PI simple . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Formules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Paramétrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Equations détaillées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erreur d’exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 17 PIDFF : Automate PID complet . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Formules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Schéma structurel du régulateur PIDFF . . . . . . . . . . . . . . . . . . . . . . .
Paramétrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Modes de fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Equations détaillées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Equations détaillées : régulateur PID à algorithme incrémentiel . . . . .
Equations détaillées : algorithmes incrémentiels en mode intégral . . .
Exemples de bloc fonction PIDFF . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erreur d’exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 18 SAMPLETM : Temps échantillon . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 19 STEP2 : Automate à deux points . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erreur d’exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 20 STEP3 : Automate à trois points. . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erreur d’exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie IV Mathématiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 21 COMP_DB : Comparaison . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 22 K_SQRT : Racine carrée . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 23 MULDIV_W : Multiplication/Division . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 24 SUM_W : Addition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33002536 09/2020
153
154
158
159
162
164
167
168
173
175
176
180
181
183
185
187
192
195
195
197
198
201
203
205
206
209
212
213
215
216
219
221
221
225
225
229
229
5
Partie V Traitement des mesures . . . . . . . . . . . . . . . . . . . . .
233
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
235
236
239
Chapitre 25 AVGMV : Moyenne de déplacement avec taille de fenêtre
fixe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 26 AVGMV_K : Moyenne de déplacement avec facteur de
correction gelé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 27 DEAD_ZONE, DEAD_ZONE_REAL : Zone morte . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 28 LOOKUP_TABLE1 : Polygone avec interpolation de 1er
ordre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 29 SAH : Détection et maintien d'un front montant . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 30 HYST_*** : Signal d'indicateur pour délimiteurs de valeur
maximale avec hystérésis . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 31 INDLIM_*** : Signal d'indicateur pour délimiteurs avec
hystérésis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie VI Traitement des valeurs de sortie . . . . . . . . . . . . . . .
Chapitre 32 MS : Contrôle manuel d'une sortie . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erreur d’exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 33 MS_DB : Contrôle manuel et sortie avec zone morte. . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erreur d’exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
241
242
245
247
248
250
253
254
256
259
259
261
262
264
265
266
269
271
273
274
278
281
282
285
286
290
294
33002536 09/2020
Chapitre 34 PWM1 : Modulation de la largeur d'impulsion. . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemples de bloc fonction PIDFF . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 35 SERVO : Régulation de servomoteurs . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Paramétrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Algorithmes du bloc fonction SERVO . . . . . . . . . . . . . . . . . . . . . . . . . .
Modes de fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exemples de bloc fonction SERVO . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erreur d’exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 36 SPLRG : Contrôle de 2 actionneurs . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erreur d’exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie VII Traitement des valeurs de consigne . . . . . . . . . . . . .
Chapitre 37 RAMP : Générateur de gradient . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erreur d’exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 38 RATIO : Automate de ratio . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erreur d’exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 39 SP_SEL : Commutateur de consigne . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description détaillée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erreur d’exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Annexes
.........................................
Annexe A codes et valeurs d'erreur des EFB . . . . . . . . . . . . . . . . .
Tableaux des codes d'erreur pour la bibliothèque CONT_CTL . . . . . .
Erreurs courantes relatives aux valeurs à virgule flottante . . . . . . . . .
Glossaire
Index
33002536 09/2020
.........................................
.........................................
297
298
301
303
305
306
310
312
313
314
321
323
324
326
328
331
333
334
336
338
339
340
343
344
345
346
349
352
353
355
356
364
365
371
7
8
33002536 09/2020
Consignes de sécurité
Informations importantes
AVIS
Lisez attentivement ces instructions et examinez le matériel pour vous familiariser avec l'appareil
avant de tenter de l'installer, de le faire fonctionner, de le réparer ou d'assurer sa maintenance.
Les messages spéciaux suivants que vous trouverez dans cette documentation ou sur l'appareil
ont pour but de vous mettre en garde contre des risques potentiels ou d'attirer votre attention sur
des informations qui clarifient ou simplifient une procédure.
33002536 09/2020
9
REMARQUE IMPORTANTE
L'installation, l'utilisation, la réparation et la maintenance des équipements électriques doivent être
assurées par du personnel qualifié uniquement. Schneider Electric décline toute responsabilité
quant aux conséquences de l'utilisation de ce matériel.
Une personne qualifiée est une personne disposant de compétences et de connaissances dans le
domaine de la construction, du fonctionnement et de l'installation des équipements électriques, et
ayant suivi une formation en sécurité leur permettant d'identifier et d'éviter les risques encourus.
AVANT DE COMMENCER
N'utilisez pas ce produit sur les machines non pourvues de protection efficace du point de fonctionnement. L'absence de ce type de protection sur une machine présente un risque de blessures
graves pour l'opérateur.
AVERTISSEMENT
EQUIPEMENT NON PROTEGE


N'utilisez pas ce logiciel ni les automatismes associés sur des appareils non équipés de
protection du point de fonctionnement.
N'accédez pas aux machines pendant leur fonctionnement.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
Cet automatisme et le logiciel associé permettent de commander des processus industriels divers.
Le type ou le modèle d'automatisme approprié pour chaque application dépendra de facteurs tels
que la fonction de commande requise, le degré de protection exigé, les méthodes de production,
des conditions inhabituelles, la législation, etc. Dans certaines applications, plusieurs processeurs
seront nécessaires, notamment lorsque la redondance de sauvegarde est requise.
Vous seul, en tant que constructeur de machine ou intégrateur de système, pouvez connaître
toutes les conditions et facteurs présents lors de la configuration, de l'exploitation et de la
maintenance de la machine, et êtes donc en mesure de déterminer les équipements automatisés,
ainsi que les sécurités et verrouillages associés qui peuvent être utilisés correctement. Lors du
choix de l'automatisme et du système de commande, ainsi que du logiciel associé pour une
application particulière, vous devez respecter les normes et réglementations locales et nationales
en vigueur. Le document National Safety Council's Accident Prevention Manual (reconnu aux
Etats-Unis) fournit également de nombreuses informations utiles.
Dans certaines applications, telles que les machines d'emballage, une protection supplémentaire,
comme celle du point de fonctionnement, doit être fournie pour l'opérateur. Elle est nécessaire si
les mains ou d'autres parties du corps de l'opérateur peuvent entrer dans la zone de point de
pincement ou d'autres zones dangereuses, risquant ainsi de provoquer des blessures graves. Les
produits logiciels seuls, ne peuvent en aucun cas protéger les opérateurs contre d'éventuelles
blessures. C'est pourquoi le logiciel ne doit pas remplacer la protection de point de fonctionnement
ou s'y substituer.
10
33002536 09/2020
Avant de mettre l'équipement en service, assurez-vous que les dispositifs de sécurité et de
verrouillage mécaniques et/ou électriques appropriés liés à la protection du point de fonctionnement ont été installés et sont opérationnels. Tous les dispositifs de sécurité et de verrouillage
liés à la protection du point de fonctionnement doivent être coordonnés avec la programmation des
équipements et logiciels d'automatisation associés.
NOTE : La coordination des dispositifs de sécurité et de verrouillage mécaniques/électriques du
point de fonctionnement n'entre pas dans le cadre de cette bibliothèque de blocs fonction, du
Guide utilisateur système ou de toute autre mise en œuvre référencée dans la documentation.
DEMARRAGE ET TEST
Avant toute utilisation de l'équipement de commande électrique et des automatismes en vue d'un
fonctionnement normal après installation, un technicien qualifié doit procéder à un test de
démarrage afin de vérifier que l'équipement fonctionne correctement. Il est essentiel de planifier
une telle vérification et d'accorder suffisamment de temps pour la réalisation de ce test dans sa
totalité.
AVERTISSEMENT
RISQUES INHERENTS AU FONCTIONNEMENT DE L'EQUIPEMENT



Assurez-vous que toutes les procédures d'installation et de configuration ont été respectées.
Avant de réaliser les tests de fonctionnement, retirez tous les blocs ou autres cales
temporaires utilisés pour le transport de tous les dispositifs composant le système.
Enlevez les outils, les instruments de mesure et les débris éventuels présents sur
l'équipement.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
Effectuez tous les tests de démarrage recommandés dans la documentation de l'équipement.
Conservez toute la documentation de l'équipement pour référence ultérieure.
Les tests logiciels doivent être réalisés à la fois en environnement simulé et réel.
Vérifiez que le système entier est exempt de tout court-circuit et mise à la terre temporaire non
installée conformément aux réglementations locales (conformément au National Electrical Code
des Etats-Unis, par exemple). Si des tests diélectriques sont nécessaires, suivez les recommandations figurant dans la documentation de l'équipement afin d'éviter de l'endommager
accidentellement.
Avant de mettre l'équipement sous tension :
 Enlevez les outils, les instruments de mesure et les débris éventuels présents sur l'équipement.
 Fermez le capot du boîtier de l'équipement.
 Retirez toutes les mises à la terre temporaires des câbles d'alimentation entrants.
 Effectuez tous les tests de démarrage recommandés par le fabricant.
33002536 09/2020
11
FONCTIONNEMENT ET REGLAGES
Les précautions suivantes sont extraites du document NEMA Standards Publication ICS 7.1-1995
(la version anglaise prévaut) :
 Malgré le soin apporté à la conception et à la fabrication de l'équipement ou au choix et à
l'évaluation des composants, des risques subsistent en cas d'utilisation inappropriée de
l'équipement.
 Il arrive parfois que l'équipement soit déréglé accidentellement, entraînant ainsi un fonctionnement non satisfaisant ou non sécurisé. Respectez toujours les instructions du fabricant pour
effectuer les réglages fonctionnels. Les personnes ayant accès à ces réglages doivent
connaître les instructions du fabricant de l'équipement et les machines utilisées avec
l'équipement électrique.
 Seuls ces réglages fonctionnels, requis par l'opérateur, doivent lui être accessibles. L'accès aux
autres commandes doit être limité afin d'empêcher les changements non autorisés des
caractéristiques de fonctionnement.
12
33002536 09/2020
A propos de ce manuel
Présentation
Objectif du document
Ce document décrit les fonctions et blocs fonction de la bibliothèque de régulation.
Champ d'application
Ce document est applicable à EcoStruxure™ Control Expert 15.0 ou version ultérieure.
Documents à consulter
Titre du document
Numéro de référence
EcoStruxure™ Control Expert - Langages de programmation et structure,
Manuel de référence
35006144 (Anglais),
35006145 (Français),
35006146 (Allemand),
35013361 (Italien),
35006147 (Espagnol),
35013362 (Chinois)
EcoStruxure™ Control Expert, Modes de fonctionnement
33003101 (Anglais),
33003102 (Français),
33003103 (Allemand),
33003104 (Espagnol),
33003696 (Italien),
33003697 (Chinois)
EcoStruxure™ Control Expert - Bits et mots système, Manuel de référence
EIO0000002135 (Anglais),
EIO0000002136 (Français),
EIO0000002137 (Allemand),
EIO0000002138 (Italien),
EIO0000002139 (Espagnol),
EIO0000002140 (Chinois)
Vous pouvez télécharger ces publications ainsi que d'autres informations techniques sur notre site
Web : www.schneider-electric.com/en/download.
33002536 09/2020
13
14
33002536 09/2020
EcoStruxure™ Control Expert
Informations générales
33002536 09/2020
Partie I
Informations générales
Informations générales
Présentation
Cette section contient des informations générales concernant la bibliothèque de régulation.
NOTE : Pour obtenir une description détaillée des objets système (%S et %SW), reportez-vous au
document EcoStruxure™ Control Expert - Bits et mots système, Manuel de référence.
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
1
33002536 09/2020
Titre du chapitre
Page
Types de module et leur utilisation
17
2
Disponibilité des blocs sur les différentes plateformes
29
3
Informations générales sur la bibliothèque de bloc de commande
33
15
Informations générales
16
33002536 09/2020
EcoStruxure™ Control Expert
Types de module et leur utilisation
33002536 09/2020
Chapitre 1
Types de module et leur utilisation
Types de module et leur utilisation
Vue d'ensemble
Ce chapitre décrit les différents types de module et leur utilisation.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Types de bloc
18
Structure d'un FFB
20
EN et ENO
24
33002536 09/2020
17
Types de module et leur utilisation
Types de bloc
Types de bloc
Différents types de bloc sont utilisés dans Control Expert. FFB est le terme générique pour tous
les types de bloc.
Une différence est faite entre les types de bloc suivants :
Fonction élémentaire (EF)
 Bloc fonction élémentaire (EFB)
 Bloc fonction dérivé (DFB)
 Procédure

NOTE : Les blocs fonction de mouvement ne sont pas disponibles sur la plate-forme Quantum.
Fonction élémentaire
Les fonctions élémentaires (EF) n'ont pas d'état interne et elles possèdent une seule sortie. Si les
valeurs des entrées sont similaires, la valeur de la sortie est identique pour les exécutions de la
fonction. Par exemple, l'ajout de deux valeurs donne le même résultat à chaque exécution.
Une fonction élémentaire est représentée dans les langages graphiques (FBD et LD) sous forme
de bloc avec des entrées et une sortie. Les entrées sont représentées à gauche du bloc et les
sorties à droite. Le nom de la fonction, c'est-à-dire le type de fonction, est affiché au centre du bloc.
Pour certaines fonctions élémentaires, il est possible d'augmenter le nombre d'entrées.
NOTE : Unity Pro est l’ancien nom de Control Expert pour les versions 13.1 et antérieures.
ATTENTION
COMPORTEMENT INATTENDU DE L'EQUIPEMENT
Pour Unity Pro V4.0 et les versions antérieures, n'utilisez pas de liens pour connecter les sorties
des blocs fonction lorsque votre application repose sur des données de sortie persistantes d'un
bloc EF.
Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels.
NOTE : Avec Unity Pro V4.0 et les versions antérieures, la désactivation d'un EF (EN=0) entraîne
la réinitialisation des liens associés à ses entrées/sorties. Pour transférer l'état du signal, n'utilisez
pas de lien. Une variable doit être connectée à la sortie de l'EF et être utilisée pour connecter
l'entrée de l'élément. Avec Unity Pro V4.1 et les versions ultérieures, vous pouvez maintenir les
liens de sortie même si un EF est désactivé en activant l'option Maintenir les liens de sortie sur les
EF désactivés (EN=0) par l'intermédiaire du menu Outils → Programme → Langues → Commun.
18
33002536 09/2020
Types de module et leur utilisation
Bloc fonction élémentaire
Les blocs fonction élémentaires (EFB) ont un état interne. Si les valeurs des entrées sont
identiques, les valeurs des sorties peuvent différer à chaque exécution du bloc fonction. Pour un
compteur, par exemple, la valeur de la sortie est incrémentée.
Un bloc fonction élémentaire est représenté dans les langages graphiques (FBD et LD) sous forme
de bloc avec des entrées et des sorties. Les entrées sont représentées à gauche du bloc et les
sorties à droite. Le nom du bloc fonction, c'est-à-dire le type de bloc fonction, est affiché au centre
du bloc. Le nom d'instance est affiché au-dessus du bloc.
Bloc fonction dérivé
Les blocs fonction dérivés (DFB) ont les mêmes caractéristiques que les blocs fonction
élémentaires. Ils sont cependant créés par l'utilisateur dans les langages de programmation FBD,
LD, IL et/ou ST.
Procédure
Les procédures correspondent à des fonctions proposant plusieurs sorties. Elles ne disposent pas
d'état interne.
L'unique différence par rapport aux fonctions élémentaires est que les procédures peuvent avoir
plus d'une sortie et qu'elles supportent des variables du type de donnée VAR_IN_OUT.
Les procédures ne renvoient aucune valeur.
Les procédures sont un complément de la norme IEC 61131-3 et doivent être activées de manière
explicite.
Visuellement, il n'existe aucune différence entre les procédures et les fonctions élémentaires.
NOTE : Unity Pro est l’ancien nom de Control Expert pour les versions 13.1 et antérieures.
ATTENTION
COMPORTEMENT INATTENDU DE L'EQUIPEMENT
Pour Unity Pro V4.0 et les versions antérieures, n'utilisez pas de liens pour connecter les sorties
des blocs fonction lorsque votre application repose sur des données de sortie persistantes d'un
bloc EF.
Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels.
NOTE : Avec Unity Pro V4.0 et les versions antérieures, la désactivation d'un EF (EN=0) entraîne
la réinitialisation des liens associés à ses entrées/sorties. Pour transférer l'état du signal, n'utilisez
pas de lien. Une variable doit être connectée à la sortie de l'EF et être utilisée pour connecter
l'entrée de l'élément. Avec Unity Pro V4.1 et les versions ultérieures, vous pouvez maintenir les
liens de sortie même si un EF est désactivé en activant l'option Maintenir les liens de sortie sur les
EF désactivés (EN=0) par l'intermédiaire du menu Outils → Programme → Langues → Commun.
33002536 09/2020
19
Types de module et leur utilisation
Structure d'un FFB
Structure
Un FFB se compose d'une opération (nom du FFB), des opérandes nécessaires à l'opération
(paramètres réels et formels) et d'un nom d'instance pour les blocs fonction élémentaires ou
dérivés.
Appel d'un bloc fonction dans le langage de programmation FBD :
ATTENTION
COMPORTEMENT INATTENDU DE L'APPLICATION
N'appelez pas plusieurs fois la même instance de bloc pendant un cycle d'automate.
Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels.
20
33002536 09/2020
Types de module et leur utilisation
Appel formel d'un bloc fonction dans le langage de programmation ST :
Opération
L'opération détermine la fonction qui doit être exécutée par le FFB, par exemple : registre à
décalage ou opérations de conversion.
Opérande
L'opérande détermine les éléments sur lesquels porte l'opération qui est exécutée. Dans les FFB,
il est constitué de paramètres formels et de paramètres réels.
Paramètres formels et réels
Des entrées et des sorties permettent de transférer les valeurs vers ou depuis un FFB. Ces entrées
et ces sorties sont appelées « paramètres formels ».
Les paramètres formels sont liés à des objets qui comprennent les états courants du processus.
Ces objets sont appelés « paramètres réels ».
Durant l'exécution du programme, les valeurs sont transmises, par le biais des paramètres réels,
du processus au FFB, et renvoyées à nouveau en sortie après le traitement.
Le type de données des paramètres réels doit correspondre au type de données des
entrées/sorties (paramètres formels). La seule exception concerne les entrées/sorties génériques
dont le type de données est déterminé par le paramètre réel. On choisira un type de données
adapté pour le bloc fonction, si les paramètres réels sont constitués de valeurs littérales.
33002536 09/2020
21
Types de module et leur utilisation
Appel de FFB dans le langage IL/ST
Les FFB peuvent être appelés de deux manières dans les langages textuels IL et ST : formelle ou
informelle. Pour obtenir des informations détaillées, reportez-vous au chapitre Langage de
programmation (voir EcoStruxure™ Control Expert, Langages de programmation et structure,
Manuel de référence).
Exemple d'un appel de fonction formel :
out:=LIMIT (MN:=0, IN:=var1, MX:=5);
Exemple d'un appel de fonction informel :
out:=LIMIT (0, var1, 5);
NOTE : Les paramètres EN et la sortie ENO peuvent uniquement être utilisés pour des appels
formels.
Variable VAR_IN_OUT
Les FFB sont souvent utilisés pour lire une variable en entrée (variables d'entrée), la traiter et
générer les valeurs modifiées de cette même variable (variables de sortie).
Ce cas particulier d'une variable d'entrée/de sortie est également appelé variable VAR_IN_OUT.
La relation entre la variable d'entrée et la variable de sortie est représentée dans les langages
graphiques (FBD et LD) par une ligne.
Bloc fonction avec la variable VAR_IN_OUT dans le langage FBD :
Bloc fonction avec la variable VAR_IN_OUT dans le langage ST :
MY_EXAMP1 (IN1:=Input1, IN2:=Input2, IO1:=Comb_IN_OUT,
OUT1=>Output1, OUT2=>Output2);
Tenez compte des points suivants lorsque vous utilisez des FFB avec les variables VAR_IN_OUT :
 Une variable doit être affectée à toutes les entrées VAR_IN_OUT.
 Aucune valeur littérale ou constante ne doit être affectée aux entrées/sorties VAR_IN_OUT.
Les limitations supplémentaires de ces langages graphiques (FBD et LD) sont les suivantes :
 Les liaisons graphiques permettent uniquement de relier des sorties VAR_IN_OUT à des
entrées VAR_IN_OUT.
 Seule une liaison graphique peut être associée à une entrée/sortie VAR_IN_OUT.
22
33002536 09/2020
Types de module et leur utilisation



Des variables ou des composantes de variables différentes peuvent être reliées à l'entrée
VAR_IN_OUT et à la sortie VAR_IN_OUT. Dans ce cas, la valeur de la variable ou de la
composante de variable en entrée est copiée dans la variable ou la composante de variable en
sortie.
Vous ne pouvez pas utiliser des négations sur les entrées/sorties VAR_IN_OUT.
Une combinaison de variable/adresse et de liaisons graphiques n'est pas possible pour les
sorties VAR_IN_OUT.
33002536 09/2020
23
Types de module et leur utilisation
EN et ENO
Description
Une entrée EN et une sortie ENO peuvent être configurées pour tous les FFB.
Si la valeur de EN est déjà réglée sur « 0 », lors de l'appel de FFB, les algorithmes définis par FFB
ne sont pas exécutés et ENO est réglé sur « 0 ».
Si la valeur de EN est déjà à « 1 », lors de l'appel de FFB, les algorithmes définis par FFB sont
exécutés. Après l'exécution sans erreur de ces algorithmes, la valeur de ENO est réglée sur « 1 ».
Si certaines conditions d'erreur sont détectées durant l’exécution de ces algorithmes, ENO est réglé
sur « 0 ».
Si aucune valeur n'est attribuée à la broche EN à l'appel du FFB, l'algorithme défini par ce dernier
est exécuté (comme lorsque EN a la valeur « 1 »). Reportez-vous à la section Maintenir les liens
de sortie sur les EF désactivés (voir EcoStruxure™ Control Expert, Modes de fonctionnement).
Une fois les algorithmes exécutés, la valeur de ENO est réglée sur « 1 », sinon la valeur de ENO est
réglée sur « 0 ».
Si la valeur de ENO est réglée sur 0 (car EN = 0 ou en raison d'une condition d'erreur détectée lors
de l'exécution ou de l'échec de l'exécution des algorithmes) :
 Blocs fonction
 Traitement des paramètres EN/ENO avec des blocs fonction qui possèdent (uniquement)
une liaison en tant que paramètre de sortie :

Si l'entrée EN de BlocFonction_1 est réglée sur « 0 », la connexion de sortie OUT de
BlocFonction_1 conserve l'état qu'elle avait lors du dernier cycle correctement exécuté.
Traitement des paramètres EN/ENO avec des blocs fonction qui possèdent une variable et
une liaison en tant que paramètres de sortie :
Si l'entrée EN de BlocFonction_1 est réglée sur « 0 », la connexion de sortie OUT de
BlocFonction_1 conserve l'état qu'elle avait lors du dernier cycle correctement exécuté.
La variable OUT1 présente sur la même broche conserve son état précédent ou peut être
modifiée de manière externe sans incidence sur la connexion. La variable et la liaison sont
enregistrées indépendamment l'une de l'autre.
24
33002536 09/2020
Types de module et leur utilisation

Fonctions/procédures
NOTE : Unity Pro est l’ancien nom de Control Expert pour les versions 13.1 et antérieures.
ATTENTION
COMPORTEMENT INATTENDU DE L'EQUIPEMENT
Pour Unity Pro V4.0 et les versions antérieures, n'utilisez pas de liens pour connecter les
sorties des blocs fonction lorsque votre application repose sur des données de sortie
persistantes d'un bloc EF.
Le non-respect de ces instructions peut provoquer des blessures ou des dommages
matériels.
NOTE : Avec Unity Pro V4.0 et les versions antérieures, la désactivation d'un EF (EN=0)
entraîne la réinitialisation des liens associés à ses entrées/sorties. Pour transférer l'état du
signal, n'utilisez pas de lien. Une variable doit être connectée à la sortie de l'EF et être utilisée
pour connecter l'entrée de l'élément. Avec Unity Pro V4.1 et les versions ultérieures, vous
pouvez maintenir les liens de sortie même si un EF est désactivé en activant l'option Maintenir
les liens de sortie sur les EF désactivés (EN=0) par l'intermédiaire du menu Outils →
Programme → Langues → Commun.
Comme spécifié dans la norme CEI 61131-3, les sorties de fonctions désactivées (entrée EN
réglée sur « 0 ») ne sont pas définies. (Cette caractéristique s'applique également aux
procédures.)
Voici une explication des états des sorties dans un tel cas :
 Traitement des paramètres EN/ENO avec des fonctions/procédures qui possèdent
(uniquement) une liaison en tant que paramètre de sortie :
Si l'entrée EN de Function/Procedure_1 est réglée sur 0, la connexion de sortie OUT de
Function/Procedure_1 est également réglée sur 0.
33002536 09/2020
25
Types de module et leur utilisation

Traitement des paramètres EN/ENO avec des blocs fonction qui possèdent une variable et
une liaison en tant que paramètres de sortie :
Si l'entrée EN de Function/Procedure_1 est réglée sur 0, la connexion de sortie OUT de
Function/Procedure_1 est également réglée sur 0. La variable OUT1 présente sur la
même broche conserve son état précédent ou peut être modifiée de manière externe sans
incidence sur la connexion. La variable et la liaison sont enregistrées indépendamment l'une
de l'autre.
Le comportement de la sortie des FFB ne dépend pas de la façon dont les FFB sont appelés (sans
EN/ENO ou avec EN=1).
Appel de FFB conditionnel/inconditionnel
Un FFB peut être appelé de manière « conditionnelle » ou « inconditionnelle ». La condition est
établie en pré-connectant l'entrée EN.
 Entrée EN connectée
appels conditionnels (le FFB est exécuté uniquement si EN = 1)
 Entrée EN affichée, masquée et marquée comme TRUE, ou affichée et non occupée
appels inconditionnels (le FFB est traité indépendamment de l'entrée EN)
NOTE : pour les blocs fonction désactivés (EN = 0) équipés d'une fonction d'horloge interne (par
exemple DELAY), le temps semble s'écouler, étant donné qu'il est calculé à l'aide d'une horloge
système et qu'il est, par conséquent, indépendant du cycle du programme et de la libération du
bloc.
ATTENTION
EQUIPEMENT D'APPLICATION IMPREVU
Ne désactivez pas les blocs fonction équipés d'une fonction d'horloge interne en cours de
fonctionnement.
Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels.
26
33002536 09/2020
Types de module et leur utilisation
Remarque concernant les langages IL et ST
Les paramètres EN et ENO peuvent uniquement être utilisés dans les langages textuels et dans le
cadre d'un appel de FFB formel, par exemple :
MY_BLOCK (EN:=enable, IN1:=var1, IN2:=var2,
ENO=>error, OUT1=>result1, OUT2=>result2);
L'affectation de variables à ENO doit être effectuée à l'aide de l'opérateur =>.
EN et ENO ne peuvent pas être utilisés pour un appel informel.
33002536 09/2020
27
Types de module et leur utilisation
28
33002536 09/2020
EcoStruxure™ Control Expert
Disponibilité des blocs :
33002536 09/2020
Chapitre 2
Disponibilité des blocs sur les différentes plateformes
Disponibilité des blocs sur les différentes plateformes
Disponibilité des blocs sur les différentes plateformes
Introduction
Les blocs ne sont pas tous disponibles sur toutes les plateformes. Pour connaître ceux qui sont
disponibles sur votre plateforme, consultez les tableaux suivants.
NOTE : les fonctions et les blocs fonction de cette bibliothèque ne sont pas définis par la norme
CEI 61131-3.
Condition
Disponibilité des blocs :
Nom du bloc
Type de
bloc
M340
M580
Quantum
Momentum
Premium
DTIME
EFB
+
+
+
+
+
INTEGRATOR
EFB
+
+
+
+
+
LAG_FILTER
EFB
+
+
+
+
+
LDLG
EFB
+
+
+
+
+
LEAD
EFB
+
+
+
+
+
MFLOW
EFB
+
+
+
+
+
QDTIME
EFB
+
+
+
+
+
SCALING
EFB
+
+
+
+
+
TOTALIZER
EFB
+
+
+
+
+
VEL_LIM
EFB
+
+
+
+
+
Légende :
+
Oui
-
Non
33002536 09/2020
29
Disponibilité des blocs :
Automate
Disponibilité des blocs :
Nom du bloc
Type de
bloc
M340
M580
Quantum
Momentum
Premium
AUTOTUNE
EFB
+
+
+
+
+
IMC
EFB
+
+
+
+
+
PI_B
EFB
+
+
+
+
+
PIDFF
EFB
+
+
+
+
+
SAMPLETM
EFB
+
+
+
+
+
STEP2
EFB
+
+
+
+
+
STEP3
EFB
+
+
+
+
+
M340
M580
Quantum
Légende :
+
Oui
-
Non
Mathématiques
Disponibilité des blocs :
Nom du bloc
Type de
bloc
Momentum
Premium
COMP_DB
EFB
+
+
+
+
+
K_SQRT
EF
+
+
+
+
+
MULDIV_W
EF
+
+
+
+
+
SUM_W
EF
+
+
+
+
+
Légende :
+
Oui
-
Non
30
33002536 09/2020
Disponibilité des blocs :
Mesure
Disponibilité des blocs :
Nom du bloc
Type de bloc M340
M580
Quantum
Momentum
Premium
AVGMV
EFB
+
+
+
+
+
AVGMV_K
EFB
+
+
+
+
+
DEAD_ZONE, DEAD_ZONE_REAL
EF
+
+
+
+
+
LOOKUP_TABLE1
Procédure
+
+
+
+
+
SAH
EFB
+
+
+
+
+
HYST_***
EFB
+
+
+
+
+
INDLIM_***
EFB
+
+
+
+
+
Légende :
+
Oui
-
Non
Traitement en sortie
Disponibilité des blocs :
Nom du bloc
Type de bloc M340
M580
Quantum
Momentum
Premium
MS
EFB
+
+
+
+
+
MS_DB
EFB
+
+
+
+
+
PWM1
EFB
+
+
+
+
+
SERVO
EFB
+
+
+
+
+
SPLRG
EFB
+
+
+
+
+
Légende :
+
Oui
-
Non
33002536 09/2020
31
Disponibilité des blocs :
Traitement des consignes
Disponibilité des blocs :
Nom du bloc
Type de bloc M340
M580
Quantum
Momentum
Premium
RAMP
EFB
+
+
+
+
+
RATIO
EFB
+
+
+
+
+
SP_SEL
EFB
+
+
+
+
+
Légende :
+
Oui
-
Non
32
33002536 09/2020
EcoStruxure™ Control Expert
Introduction
33002536 09/2020
Chapitre 3
Informations générales sur la bibliothèque de bloc de commande
Informations générales sur la bibliothèque de bloc de
commande
Vue d'ensemble
Cette section contient des informations générales sur la bibliothèque de bloc de commande.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Modes de fonctionnement
34
Cycles
36
Gestion des erreurs
37
Convention
39
33002536 09/2020
33
Introduction
Modes de fonctionnement
Modes de fonctionnement
Différents blocs fonction intègrent une commande permettant de sélectionner les modes de
fonctionnement.
Vous pouvez sélectionner les modes de fonctionnement suivants :
Tracking (Poursuite)
 Manuel/Automatique

En outre, la hiérarchie des modes de fonctionnement est spécifiée.
Tracking
Ce mode de fonctionnement permet de régler un bloc fonction en mode "régulateur suiveur". Deux
entrées permettent de gérer ce mode de fonctionnement : une entrée binaire TR_S (TRacking
Switch) ainsi qu'une entrée signal TR_I (TRacking Input). Lorsque le bloc fonction se trouve en
mode Tracking (TR_S = 1), la valeur d'entrée TR_I est affectée à sa sortie principale (par exemple
OUT pour un régulateur PIDFF) et les variables internes des différents algorithmes sont
actualisées. Le commutation en mode manuel ou automatique peut donc s'effectuer sans à-coups.
En mode Tracking, la sortie OUT du FFB est commandée par l'entrée TR_I.
Mode Tracking
Ce mode peut être mis en œuvre dans des situations diverses :
 Initialisation lors du démarrage,
 Mode Tracking en cas d'API redondant afin d'assurer un démarrage sans à-coups du dispositif
de veille,
 Gestion du mode de fonctionnement au moyen d'un programme afin d'éviter la mise en œuvre
immédiate de la grandeur de commande lorsque le réglage automatique du régulateur est en
cours, etc.
Il est possible d'appliquer une limitation à la sortie du bloc fonction lorsque ce dernier se trouve en
mode Tracking : cette option doit s'appliquer séparément pour chaque bloc fonction.
34
33002536 09/2020
Introduction
Manuel/Automatique
Lorsqu'un bloc fonction se trouve en mode automatique, son algorithme calcule la valeur à affecter
à la sortie. Vous pouvez bloquer le réglage de la sortie principale (OUT) d'un bloc fonction au
moyen du mode manuel, afin, par exemple, de permettre l'intervention de l'opérateur. L'entrée
MAN_AUTO permet de gérer ce mode de fonctionnement (0 : Manuel, 1 : Automatique).
Mode Manuel/Automatique
Le bloc fonction lit quand même cette sortie et permet une commutation sans à-coups entre les
modes Manuel <-> Automatique. Il est possible d'appliquer une limitation à la sortie du bloc
fonction lorsque ce dernier se trouve en mode manuel ou automatique : cette option doit
s'appliquer séparément pour chaque bloc fonction
Hiérarchie des modes de fonctionnement
Lorsqu'un bloc fonction dispose de deux modes de fonctionnement, le mode Tracking prime sur le
mode Manuel/Automatique :
Pour permettre une meilleure lisibilité, les liaisons entre la fonction et le mode de fonctionnement
du bloc fonction n'ont pas été représentées. Il en va de même de la valeur affectée réellement.
33002536 09/2020
35
Introduction
Cycles
Cycles
Les algorithmes de régulation reposent sur des valeurs cycliques qui prennent en compte
l'intervalle entre deux échantillonnages consécutifs. Les blocs fonction calculent automatiquement
la valeur de cet intervalle, c'est-à-dire que vous pouvez les placer à l'emplacement de votre choix
dans les sections, et ce sans devoir tenir compte de la gestion des temps.
Les intervalles fixes ont les avantages suivants :
optimisation du temps d'exécution du programme API grâce à la répartition des opérations de
régulation sur plusieurs cycles,
 amélioration de la qualité de la régulation grâce à la prévention de cycles de boucle trop
fréquents,
 réduction maximale du travail de l'actionneur.

Dans ce contexte, vous pouvez utiliser, par ex., le bloc fonction SAMPLETM. Celui-ci se place à la
sortie EN des blocs fonction à analyser.
Lorsque l'intervalle cyclique de la boucle dépasse 1 seconde, il convient de placer le bloc fonction
MS : Contrôle manuel d'une sortie, page 273 en aval des blocs fonctions du régulateur PIDFF :
Automate PID complet, page 167 et PI_B : Automate PI simple, page 153, afin de commander
manuellement les boucles, indépendamment des intervalles cycliques.
36
33002536 09/2020
Introduction
Gestion des erreurs
Principe
Les procédures de détection et d'affichage d'erreurs des
blocs fonction dans les familles Préparation des données, Régulateur, Traitement des
valeurs de sortie et Traitement des valeurs de consigne sont décrites dans ce
chapitre.
La plupart des blocs fonction de ces familles sont dotés d'un mot de sortie STATUS.
Tous les bits du paramètre STATUS peuvent être utilisés pour afficher une erreur, un avertissement
ou une information. La signification des huit premiers bits du mot STATUS est identique dans tous
les blocs fonction. La signification des bits suivants (bits 8 à 15) diffère pour chaque bloc fonction.
Mot d'état
Le tableau suivant présente la signification des bits communs à tous les blocs fonction (premier
octet du mot STATUS). Vous trouverez de plus amples informations dans la description des blocs
fonction concernés.
Bit
Signification
Bit 0 = 1
Erreur lors d'un calcul avec des valeurs en virgule flottante (par ex. Erreur
calcul de la racine carrée d'un nombre négatif)
Bit 1 = 1
Saisie d'une valeur non valide dans une entrée en virgule flottante
pour les raisons suivantes :
 cette valeur n'est pas une valeur en virgule flottante
 cette valeur est infinie (par ex. résultat de calcul d'un bloc
fonction placé en amont)
Erreur
Bit 2 = 1
Division par 0 lors d'un calcul en valeurs en virgule flottante
Erreur
Bit 3 = 1
Débordement de capacité lors d'un calcul en valeurs en virgule
flottante
Erreur
Bit 4 = 1
Paramètre d'entrée hors bornes La valeur utilisée en interne par le Avertissement
bloc fonction subit un écrêtage.
ou information
(Note 1)
Bit 5 = 1 (Note 2)
La sortie principale du bloc fonction a atteint la valeur limite
inférieure
Information
Bit 6 = 1 (Note 2)
La sortie principale du bloc fonction a atteint la valeur limite
supérieure
Information
Bit 7 = 1
Les valeurs limites inférieures et supérieures de la plage du
paramètre d'entrée sont identiques.
Erreur
33002536 09/2020
Type
37
Introduction
Note 1 (Paramètre d'entrée)
NOTE : lorsque la valeur provient d'une plage de paramètres présentant des types de données
dérivés (le paramètre PARA généralement), un message d'avertissement s'affiche en raison de
l'écrêtage et le bit 4 est réglé sur 1. Si la valeur provient d'un type d'entrées simple, aucun
message d'avertissement n'est fourni, mais le bit 4 du mot STATUS est réglé sur 1.
Note 2 (valeurs limites)
NOTE : lorsque les paramètres limites supérieur et inférieur d'une sortie sont inversés (e.g.
out_min ≥ out_max), le bloc fonction bascule la sortie sur la valeur la plus basse (out_max).
38
33002536 09/2020
Introduction
Convention
Détermination de la convention
Lorsqu'un paramètre booléen est utilisé pour différencier deux modes de fonctionnement ou deux
statuts d'un bloc fonction, son nom adopte souvent la configuration suivante : mode1_mode2
(exemple : MANU_AUTO, SP_RSP). Par convention, la valeur de mode1 a été fixée à 0 et celle de
mode2 à 1. Ainsi, lorsque, par exemple, le paramètre MANU_AUTO d'un bloc fonction est à zéro,
cela signifie que le bloc fonction est en mode manuel. Quand MANU_AUTO est égal à 1, le bloc est
en mode automatique.
33002536 09/2020
39
Introduction
40
33002536 09/2020
EcoStruxure™ Control Expert
Préparation des données
33002536 09/2020
Partie II
Préparation des données
Préparation des données
Vue d'ensemble
Cette section décrit les fonctions et blocs fonction élémentaires de la famille Préparation des
données.
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
Titre du chapitre
Page
4
DTIME : Délai
43
5
INTEGRATOR : Integrateur limité
53
6
LAG_FILTER : Equipement de temporisation : 1er ordre
59
7
LDLG : Equipement PD avec lissage
65
8
LEAD : Différentiateur avec lissage
73
9
MFLOW : Bloc de débit de masse
79
QDTIME : Equipement de deadtime
87
11
SCALING : Echelle
93
12
TOTALIZER : Intégrateur
99
13
VEL_LIM : Limiteur de vitesse
10
33002536 09/2020
109
41
Préparation des données
42
33002536 09/2020
EcoStruxure™ Control Expert
DTIME
33002536 09/2020
Chapitre 4
DTIME : Délai
DTIME : Délai
Introduction
Ce chapitre décrit le bloc DTIME.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
44
Paramétrage
47
Initialisations et modes de fonctionnement
49
Exemple de mesure du coefficient de débit
50
Erreur d’exécution
51
33002536 09/2020
43
DTIME
Description
Description de la fonction
Le bloc fonction DTIME génère un retard lors de la transmission de la grandeur d'entrée numérique
IN. La grandeur de sortie numérique OUT possède le même comportement que la grandeur
d'entrée numérique, en tenant compte du retard T_DELAY qui est susceptible de varier.
Comportement du bloc fonction DTIME:
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
Ce bloc fonction respecte la transformée suivante :
Représentation dans FBD
Représentation :
44
33002536 09/2020
DTIME
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
CAL DTIME_Instance (IN:=ValueToDelay,
T_DELAY:=RequiredDelay, TR_I:=InitializationInput,
TR_S:=InitializationSequence, OUT=>DelayedOutput,
BUFFER=>DelayValueBuffer, STATUS=>StatusWord)
Représentation dans ST
Représentation :
DTIME_Instance (IN:=ValueToDelay,
T_DELAY:=RequiredDelay, TR_I:=InitializationInput,
TR_S:=InitializationSequence, OUT=>DelayedOutput,
BUFFER=>DelayValueBuffer, STATUS=>StatusWord) ;
33002536 09/2020
45
DTIME
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
IN
REAL
Valeur numérique à retarder
T_DELAY
TIME
Retard souhaité
TR_I
REAL
Entrée d'initialisation
TR_S
BOOL
Commande d'initialisation
Description des paramètres de sortie :
Paramètres
Type de données
Signification
OUT
REAL
Sortie retardée
BUFFER
ANY*)
Mémoire contenant les valeurs retardées
STATUS
WORD
Mot d'état
*) En principe, ce paramètre doit être associé à un variable (voir "Paramétrage, page 47").
46
33002536 09/2020
DTIME
Paramétrage
Enregistrement des valeurs d'entrée (sortie BUFFER)
La sortie BUFFER doit toujours être associée à une variable. Les variables contiennent les valeurs
d’entrée à retarder. A chaque exécution du bloc fonction, une nouvelle valeur est enregistrée pour
l'entrée IN.
La taille de la variable associée à la sortie BUFFER détermine le nombre de valeurs, lesquelles
valeurs peuvent être enregistrées. Par conséquent vous également enregistrer la valeur maximum
du retard admissible :
Les règles suivantes s'appliquent :
Formule
Signification
n
Nombre de valeurs flottantes pouvant être contenues dans BUFFER
T_PERIOD
Intervalle d'échantillonnage du bloc fonction
NOTE : Dès qu'une variable est connectée à la sortie BUFFER, elle ne peut être remplacée que
par une variable du même type. Pour la remplacer par une variable supérieure, ce qui permettrait
d'atteindre une plus grande valeur de retard par exemple, le bloc fonction doit être supprimé et
remplacé par un nouveau bloc.
Type de données de la sortie du tampon
La sortie BUFFER est du type ANY. Cela signifie que n'importe quel type de variable peut lui être
affecté. Il est recommandé de définir un tableau (ARRAY) avec des éléments de type REAL. Ce
tableau peut contenir jusqu'à 100 valeurs flottantes. Avec ce type de variable, il est possible
d'atteindre un retard 100 fois plus élevé que l'intervalle d'échantillonnage du bloc fonction DTIME.
NOTE : DTIME fonctionne seulement si la taille du paramètre affecté à la sortie BUFFER est
supérieure ou égale à 4 octets.
Les types de données valides sont REAL, ARRAY[1..4] OF BYTE, par exemple.
Les types de données non valides sont BYTE, INT, ARRAY[1..3] OF BYTE, par exemple.
Si un type de données non valide est connecté, DTIME ne sera pas traité et une erreur d'exécution
(STATUS=2) est générée.
33002536 09/2020
47
DTIME
Procédure relative aux temps de retard élevés
Pour atteindre des valeurs de retard 100 fois plus élevées que l'intervalle d'échantillonnage du bloc
fonction, vous devez affecter une variable supérieure au paramètre BUFFER :
Etape
Action
1
Définissez un nouveau type de données dérivées, par exemple un tableau avec 200 valeurs
flottantes.
2
Déclarez une variable de ce type et associez-la au paramètre BUFFER du bloc fonction DTIME.
3
Dans ce cas, le retard maximum est 200 fois plus élevé que l'intervalle d'échantillonnage du bloc
fonction.
Modification dynamique du retard T_DELAY
Il est possible d'augmenter ou de réduire le temps de retard T_DELAY lorsque le programme est
en cours d'exécution. Tant que le temps de retard redéfini est compatible avec la taille de la sortie
BUFFER, le nouveau retard prend effet immédiatement.
Représentation de la modification dynamique de T_DELAY
Si la valeur T_DELAY est trop élevée par rapport à la taille du BUFFER, il n'est plus possible
d'enregistrer le nombre approprié de valeurs d'entrée pour atteindre le retard souhaité. Dans ce
cas, le retard prend la plus grande valeur possible (bit 8 du mot d'état, puis revient à 1).
Afin d'éviter ce problème, il est conseillé de définir les dimensions de la variable affectée au
paramètre BUFFER de manière à augmenter la valeur T_DELAY si besoin.
Si T_DELAY = 0, la sortie OUT est toujours égale à l'entrée IN.
48
33002536 09/2020
DTIME
Initialisations et modes de fonctionnement
Initialisations et modes de fonctionnement
Lors de la première exécution du bloc fonction (chargement du programme ou connexion), toutes
les valeurs contenues dans BUFFER sont initialisées à la valeur de TR_I. La sortie OUT conserve
cette valeur pendant la durée du retard T_DELAY. Lorsque l'entrée TR_I n'est pas connectée, la
sortie BUFFER est initialisée à la valeur 0; la sortie OUT conservant cette valeur pendant le retard
T_DELAY.
En mode Tracking (TR_S = 1), l'entrée TR_I est recopiée à la sortie OUT et la sortie BUFFER est
également initialisée à la valeur de TR_I. Après le retour en mode normal, la sortie conserve cette
valeur pendant la durée de T_DELAY, comme lors du premier cycle.
33002536 09/2020
49
DTIME
Exemple de mesure du coefficient de débit
Mesure du coefficient de débit
Le bloc fonction DTIME permet, par exemple, de modéliser un retard de procédé, par exemple lors
de la mesure des coefficients de débit ou des vitesses des systèmes de translation.
Dans l'exemple suivant, deux produits, A et B, ont été versés successivement dans un récipient.
D'abord, le récipient est placé sous le dispositif de dosage du produit A qui diffuse la quantité P1.
Ensuite, le récipient est acheminé sur une bande transporteuse vers le dispositif de dosage du
produit B qui diffuse la quantité P2. Le temps qui sépare les deux installations de dosage est de
20s.
Mesure des coefficients de débit
La quantité de produit P2 est régulée, mais la mesure de la masse du récipient s'obtient par
P1+P2. Il faut donc soustraire P1. La quantité P2 correspond à la quantité mesurée moins la
quantité P1 dosée 20 s auparavant.
La mesure de la boucle en P2 suit le schéma suivant :
Valeurs des éléments de structure de données de la variable SUM_PARA :
50
Élément de SUM_PARA
Valeur
SUM_PARA.K1
1
SUM_PARA.K2
1
33002536 09/2020
DTIME
Erreur d’exécution
Mot d'état
Le mot d'état fournit les informations suivantes :
Bit
Valeur déc. Valeur hex. Etat ENO
Signification
Bit 0 = 1
1
0x0001
False
Erreur lors d'un calcul avec des valeurs en virgule
flottante
Bit 1 = 1
2
0x0002
False
Saisie d'une valeur non valide à l'une des entrées
en virgule flottante
Bit 2 = 1
4
0x0004
False
Division par 0 lors d'un calcul en valeurs en virgule
flottante
Bit 3 = 1
8
0x0008
False
Débordement de capacité lors d'un calcul en
valeurs en virgule flottante
Bit 8 = 1
256
0x0100
True
T_DELAY dépasse la valeur maximale admise par
la sortie BUFFER
Pour obtenir une liste des autres codes d'erreur de virgule flottante possibles, voir Erreurs
courantes relatives aux valeurs à virgule flottante, page 364.
Message d'erreur
Une erreur est signalée lorsqu'une valeur non réelle est saisie à une entrée ou lorsqu'un incident
se produit lors d'un calcul en valeurs en virgule flottante. Dans ce cas, les sortiesOUT et BUFFER
restent inchangées.
NOTE : Pour obtenir une liste de tous les codes et valeurs d'erreur du bloc, voir Condition,
page 356.
Alarme
Une alarme vous avertit lorsque T_DELAY dépasse la valeur maximale admise. Dans ce cas, le
bloc fonction utilise la valeur maximale. Si vous souhaitez obtenir une valeur dépassant la valeur
de retard, il suffit de lier la sortie BUFFER à une variable plus élevée.
33002536 09/2020
51
DTIME
52
33002536 09/2020
EcoStruxure™ Control Expert
INTEGRATOR
33002536 09/2020
Chapitre 5
INTEGRATOR : Integrateur limité
INTEGRATOR : Integrateur limité
Introduction
Ce chapitre décrit le bloc INTEGRATOR.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
54
Description détaillée
57
33002536 09/2020
53
INTEGRATOR
Description
Description de la fonction
Le bloc fonction reproduit un intégrateur limité.
Le bloc fonction a les caractéristiques suivantes :
Modes de fonctionnement Poursuite et Automatique
 Limitation de la variable manipulée en mode automatique

NOTE : ce bloc fonction effectue une initialisation interne lors du premier cycle d'un programme
après un démarrage à chaud ou à froid (téléchargement d'une application ou redémarrage) du
programme de l'automate.
Par conséquent, vérifiez que le bloc fonction est invoqué lors du premier cycle d'un programme.
En cas d'invocation du bloc fonction dans un cycle d'un programme ultérieur, l'initialisation interne
ne s'effectuera pas et les sorties risquent de fournir des valeurs erronées.
AVERTISSEMENT
COMPORTEMENT DE SORTIE INATTENDU
Vérifiez que le bloc fonction est toujours invoqué lors du premier cycle d'un programme.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.
Formule
La fonction de transfert est la suivante :
La formule de la sortie OUT est :
Signification des tailles
Variable
Description
Valeur courante de l'entrée IN
Valeur de l'entrée IN du cycle précédent
54
33002536 09/2020
INTEGRATOR
Variable
Description
Valeur de la sortie OUT du cycle précédent
dt
est la différence de temps entre le cycle actuel et le cycle précédent
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33002536 09/2020
55
INTEGRATOR
Représentation en IL
Représentation :
CAL INTEGRATOR_Instance (IN:=InputVariable, GAIN:=IntegrationGain,
OUT_MIN:=LowerOutputLimit, OUT_MAX:=UpperOutputLimit,
TR_I:=InitializationInput, TR_S:=InitializationType, OUT=>Output,
QMIN=>ReachedLowerLimit, QMAX=>ReachedUpperLimit)
Représentation en ST
Représentation :
INTEGRATOR_Instance (IN:=InputVariable, GAIN:=IntegrationGain,
OUT_MIN:=LowerOutputLimit, OUT_MAX:=UpperOutputLimit,
TR_I:=InitializationInput, TR_S:=InitializationType, OUT=>Output,
QMIN=>ReachedLowerLimit, QMAX=>ReachedUpperLimit) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Description
IN
REAL
Variable d'entrée
GAIN
REAL
Gain intégral
OUT_MIN
REAL
Limite inférieure
OUT_MAX
REAL
Limite supérieure
TR_I
REAL
Entrée d'initialisation
TR_S
BOOL
Type d'initialisation
"1" = mode de fonctionnement Poursuite
"0" = mode de fonctionnement automatique
Description des paramètres de sortie :
Paramètre
Type de données
Description
OUT
REAL
Sortie
QMIN
BOOL
"1" = la sortie OUT a atteint la limite inférieure
QMAX
BOOL
"1" = la sortie OUT a atteint la limite supérieure
Message d'erreur
Avec OUT_MAX < OUT_MIN, un message d'erreur s'affiche.
NOTE : pour obtenir la liste de l'ensemble des codes et valeurs d'erreur du bloc, reportez-vous à
la section Condition, page 356.
56
33002536 09/2020
INTEGRATOR
Description détaillée
Paramétrage
Le paramétrage du bloc fonction s'effectue en définissant le gain d'intégration GAIN et les valeurs
limites OUT_MAX et OUT_MIN pour la sortie OUT.
Les valeurs OUT_MAX et OUT_MIN constituent les limites supérieure et inférieure de la sortie. Avec
OUT_MIN ≤ OUT ≤ OUT_MAX.
Les paramètres QMAX et QMIN indiquent que les valeurs limites sont atteintes ou que le signal de
sortie est limité.
 QMAX = 1 si OUT ≥ OUT_MAX
 QMIN = 1 si OUT ≤ OUT_MIN
Modes de fonctionnement
Deux modes de fonctionnement peuvent être sélectionnés par l'entrée TR_S.
Mode de
fonctionnement
TR_S
Signification
Automatique
0
Le bloc fonction est traité de la manière décrite dans
Paramétrage.
Tracking
1
La valeur de Tracking TR_I est transmise directement à la
sortie OUT. La sortie de réglage est cependant limitée par
OUT_MAX et OUT_MIN.
33002536 09/2020
57
INTEGRATOR
Exemple
L'intégration du signal d'entrée s'effectue par rapport au temps. En cas de rupture à l'entrée IN, la
sortie monte (IN : valeur positive) ou descend (IN : valeur négative) selon une pente. OUT reste
toujours entre OUTMAX et OUT_MIN ; si OUT = OUT_MAX ou OUT_MIN, cet état est signalé dans
QMAX ou QMIN.
Réponse indicielle de l'intégrateur:
58
33002536 09/2020
EcoStruxure™ Control Expert
LAG_FILTER
33002536 09/2020
Chapitre 6
LAG_FILTER : Equipement de temporisation : 1er ordre
LAG_FILTER : Equipement de temporisation : 1er ordre
Introduction
Ce chapitre décrit le bloc LAG_FILTER.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
60
Description détaillée
63
33002536 09/2020
59
LAG_FILTER
Description
Description de la fonction
Le bloc fonction représente le 1er ordre d'un élément de retard.
Le bloc fonction propose les modes de marche suivants :
Poursuite
 Automatique

NOTE : ce bloc fonction effectue une initialisation interne lors du premier cycle d'un programme
après un démarrage à chaud ou à froid (téléchargement d'une application ou redémarrage) du
programme de l'automate.
Par conséquent, vérifiez que le bloc fonction est invoqué lors du premier cycle d'un programme.
En cas d'invocation du bloc fonction dans un cycle de programme ultérieur, l'initialisation interne
ne s'effectuera pas et la sortie risque de fournir une valeur erronée.
AVERTISSEMENT
COMPORTEMENT DE SORTIE INATTENDU
Vérifiez que le bloc fonction est toujours invoqué lors du premier cycle d'un programme.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.
Formule
La fonction de transfert est la suivante :
La formule de calcul est la suivante :
Signification des tailles
Variable
Description
Valeur de l'entrée IN du cycle précédent
Valeur de la sortie OUT du cycle précédent
dt
60
est la différence de temps entre le cycle actuel et le cycle précédent
33002536 09/2020
LAG_FILTER
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
CAL LAG_FILTER_Instance (IN:=InputValue, GAIN:=GainFactor,
LAG:=LagTimeConstant, TR_I:=InitializationInput,
TR_S:=InitializationType, OUT=>Output)
33002536 09/2020
61
LAG_FILTER
Représentation en ST
Représentation :
LAG_FILTER_Instance (IN:=InputValue, GAIN:=GainFactor,
LAG:=LagTimeConstant, TR_I:=InitializationInput,
TR_S:=InitializationType, OUT=>Output) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Description
IN
REAL
Valeur en entrée
GAIN
REAL
Facteur de gain
LAG
TIME
Constantes de temps retardées
TR_I
REAL
Entrée d'initialisation
TR_S
BOOL
Type d'initialisation
"1" = mode de fonctionnement Poursuite
"0" = mode de fonctionnement automatique
Description des paramètres de sortie :
Paramètre
Type de données
Description
OUT
REAL
Sortie
Erreur d’exécution
Pour obtenir la liste de l'ensemble des codes et valeurs d'erreur du bloc, reportez-vous à la section
Condition, page 356.
62
33002536 09/2020
LAG_FILTER
Description détaillée
Paramétrage
On paramètre le bloc fonction en déterminant le gain GAIN ainsi que la constante de temps du
retard LAG.
La sortie OUT suit avec retard l'échelon du signal d'entrée IN (saut de 0 à 1.0 à l'entrée IN). Elle
se rapproche de la fonction exponentielle
selon une fonction exponentielle.
Modes de fonctionnement
Deux modes de fonctionnement peuvent être sélectionnés par l'entrée TR_S.
Mode de
fonctionnement
TR_S
Signification
Automatique
0
Le bloc fonction est traité de la manière décrite dans
Paramétrage.
Tracking
1
La valeur de Tracking TR_I est transmise directement à la
sortie OUT.
Exemple
Le diagramme donne l'exemple d'une réponse indicielle du bloc fonction LAG_FILTER : l'entrée
IN saute à une nouvelle valeur et la sortie OUT suit l'entrée IN Valeur.
Réponse indicielle du bloc fonction LAG_FILTER à GAIN = 1
33002536 09/2020
63
LAG_FILTER
64
33002536 09/2020
EcoStruxure™ Control Expert
LDLG
33002536 09/2020
Chapitre 7
LDLG : Equipement PD avec lissage
LDLG : Equipement PD avec lissage
Introduction
Ce chapitre décrit le bloc LDLG.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
66
Description détaillée
69
Exemples de bloc fonction LDLG
70
33002536 09/2020
65
LDLG
Description
Description de la fonction
Le bloc fonction sert de contour PD avec lissage ultérieur.
Le bloc fonction a les caractéristiques suivantes :
Retard définissable du composant D
 Modes Poursuite et Automatique

NOTE : ce bloc fonction effectue une initialisation interne lors du premier cycle d'un programme
après un démarrage à chaud ou à froid (téléchargement d'une application ou redémarrage) du
programme de l'automate.
Par conséquent, vérifiez que le bloc fonction est invoqué lors du premier cycle d'un programme.
En cas d'invocation du bloc fonction dans un cycle de programme ultérieur, l'initialisation interne
ne s'effectuera pas et la sortie risque de fournir une valeur erronée.
AVERTISSEMENT
COMPORTEMENT DE SORTIE INATTENDU
Vérifiez que le bloc fonction est toujours invoqué lors du premier cycle d'un programme.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.
Formule
La fonction de transfert est la suivante :
La formule de calcul est la suivante :
Signification des tailles
Variable
Description
Valeur de l'entrée IN du cycle précédent
Valeur de la sortie OUT du cycle précédent
dt
66
est la différence de temps entre le cycle actuel et le cycle précédent
33002536 09/2020
LDLG
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
CAL LDLG_Instance (IN:=Input, GAIN:=GainFactor,
LEAD:=DifferentialTimeConstant, LAG:=LagTimeConstant,
TR_I:=InitializationInput, TR_S:=InitializationType, OUT=>Output)
33002536 09/2020
67
LDLG
Représentation en ST
Représentation :
LDLG_Instance (IN:=Input, GAIN:=GainFactor,
LEAD:=DifferentialTimeConstant, LAG:=LagTimeConstant,
TR_I:=InitializationInput, TR_S:=InitializationType, OUT=>Output) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Description
IN
REAL
Entrée
GAIN
REAL
Facteur de gain
LEAD
TIME
Constante de temps d'action dérivée
LAG
TIME
Constantes de temps retardées
TR_I
REAL
Entrée d'initialisation
TR_S
BOOL
Type d'initialisation
"1" = mode de fonctionnement Poursuite
"0" = mode de fonctionnement automatique
Description des paramètres de sortie :
Paramètre
Type de données
Description
OUT
REAL
Sortie
Erreur d’exécution
Pour obtenir la liste de l'ensemble des codes et valeurs d'erreur du bloc, reportez-vous à la section
Condition, page 356.
68
33002536 09/2020
LDLG
Description détaillée
Paramétrage
On paramètre le bloc fonction en déterminant le gain GAIN ainsi que la constante de temps de
l’action dérivée LEAD et la constante de temps de retard LAG.
Pour l'échelon d'entrée IN (échelon du signal d'entrée IN de 0 à 1.0) et en cas de temps d'échantillonnage de très courte durée, la sortie OUT prend d'abord la valeur
(Il s'agit
là d'une valeur théorique. La valeur réelle est légèrement inférieure, la durée du temps d'échantillonnage ne pouvant être indéfiniment courte) et s'approche ensuite de la valeur
avec
un retard de temps LAG.
Modes de fonctionnement
Deux modes de fonctionnement peuvent être sélectionnés par l'entrée TR_S.
Mode de
fonctionnement
TR_S
Signification
Automatique
0
Le bloc fonction est traité de la manière décrite dans
Paramétrage.
Tracking
1
La valeur de Tracking TR_I est transmise directement à la
sortie OUT.
33002536 09/2020
69
LDLG
Exemples de bloc fonction LDLG
Index des exemples
Les exemples suivants sont représentés dans les diagrammes ci-après :
LEAD = LAG
 LEAD/LAG = 0.5, GAIN = 1
 LEAD/LAG = 2, GAIN = 1

LEAD = LAG
Ce bloc fonction adopte le même comportement qu'un module de multiplication avec le multiplicateur GAIN.
Bloc fonction LDLG avec LEAD = LAG
LEAD/LAG = 0.5, GAIN = 1
Dans ce cas, la sortie OUT prend d'abord la moitié de la valeur finale et atteint ensuite la valeur
définitive GAIN *IN) avec un retard de temps LAG.
Bloc fonction LDLG avec LEAD/LAG= 0.5 et GAIN = 1
70
33002536 09/2020
LDLG
LEAD/LAG = 2, GAIN = 1
Dans ce cas, la sortie OUT prend d'abord deux fois la valeur finale et atteint ensuite la valeur
définitive GAIN *IN) avec un retard de temps LAG.
Bloc fonction LDLG avec LEAD/LAG= 2 et GAIN = 1
33002536 09/2020
71
LDLG
72
33002536 09/2020
EcoStruxure™ Control Expert
LEAD
33002536 09/2020
Chapitre 8
LEAD : Différentiateur avec lissage
LEAD : Différentiateur avec lissage
Introduction
Ce chapitre décrit le bloc LEAD.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
74
Description détaillée
77
33002536 09/2020
73
LEAD
Description
Description de la fonction
Le bloc fonction représente un élément différentiateur avec une sortie OUT retardée par la
constante de temporisation LAG.
Le bloc fonction propose les modes de marche suivants :
 Poursuite
 Automatique
NOTE : ce bloc fonction effectue une initialisation interne lors du premier cycle d'un programme
après un démarrage à chaud ou à froid (téléchargement d'une application ou redémarrage) du
programme de l'automate.
Par conséquent, vérifiez que le bloc fonction est invoqué lors du premier cycle d'un programme.
En cas d'invocation du bloc fonction dans un cycle de programme ultérieur, l'initialisation interne
ne s'effectuera pas et la sortie risque de fournir une valeur erronée.
AVERTISSEMENT
COMPORTEMENT DE SORTIE INATTENDU
Vérifiez que le bloc fonction est toujours invoqué lors du premier cycle d'un programme.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.
Formule
La fonction de transfert de OUT est :
La formule de calcul est la suivante :
Signification des tailles
Variable
Description
Valeur de l'entrée IN du cycle en cours
Valeur de l'entrée IN du cycle précédent
74
33002536 09/2020
LEAD
Variable
Description
Valeur de la sortie OUT du cycle précédent
dt
est la différence de temps entre le cycle actuel et le cycle précédent
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
CAL LEAD_Instance (IN:=InputVariable, GAIN:=DifferentiationGain,
LAG:=TimeDelayConstant, TR_I:=InitializationInput,
TR_S:=InitializationType, OUT=>OutputDerivativeUnit)
33002536 09/2020
75
LEAD
Représentation en ST
Représentation :
LEAD_Instance (IN:=InputVariable, GAIN:=DifferentiationGain,
LAG:=TimeDelayConstant, TR_I:=InitializationInput,
TR_S:=InitializationType, OUT=>OutputDerivativeUnit) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Description
IN
REAL
Valeur en entrée
GAIN
REAL
Gain de la différenciation
LAG
TIME
Constantes de temps retardées
TR_I
REAL
Entrée d'initialisation
TR_S
BOOL
Type d'initialisation
"1" = mode de fonctionnement Poursuite
"0" = mode de fonctionnement automatique
Description des paramètres de sortie :
Paramètre
Type de données
Description
OUT
REAL
Unité dérivative de sortie avec lissage
Erreur d’exécution
Pour obtenir la liste de l'ensemble des codes et valeurs d'erreur du bloc, reportez-vous à la section
Condition, page 356.
76
33002536 09/2020
LEAD
Description détaillée
Paramétrage
Pour paramétrer le bloc fonction, vous devez fixer le gain de l’action dérivée GAIN et la constante
de temps LAG permettant de retarder la sortie OUT.
Pour l'échelon d'entrée IN (échelon du signal d'entrée IN de 0 à 1.0) et en cas de temps d'échantillonnage de très courte durée, la sortie OUT prend d'abord la valeur GAIN (Il s'agit là d'une valeur
théorique. La valeur réelle est légèrement inférieure, la durée du temps d'échantillonnage ne
pouvant être indéfiniment courte) et s'approche ensuite de nouveau de la valeur 0 avec un retard
de temps LAG.
Modes de fonctionnement
Deux modes de fonctionnement peuvent être sélectionnés par l'entrée TR_S.
Mode de
fonctionnement
TR_S
Signification
Automatique
0
Le bloc fonction est traité de la manière décrite dans
Paramétrage.
Tracking
1
La valeur de Tracking TR_I est transmise directement à la
sortie OUT.
Exemple
Représentation de la réponse indicielle du bloc fonction LEAD avec GAIN = 1 et LAG = 10s :
33002536 09/2020
77
LEAD
78
33002536 09/2020
EcoStruxure™ Control Expert
MFLOW
33002536 09/2020
Chapitre 9
MFLOW : Bloc de débit de masse
MFLOW : Bloc de débit de masse
Introduction
Ce chapitre décrit le bloc MFLOW.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
80
Description détaillée
83
Erreur d’exécution
85
33002536 09/2020
79
MFLOW
Description
Description de la fonction
Le bloc fonction MFLOW calcule le débit masse d'un gaz dans un dispositif de réactance, en fonction
de la pression différentielle et des conditions de température et de pression du gaz.
La mesure de la pression différentielle peut être remplacée par la vitesse du milieu ou par une
autre mesure avec compensation de pression et de température.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
La formule complète (c'est-à-dire avec en_sqrt = 1, en_pres = 1 et en_temp =1) se présente
comme suit :
Signification des valeurs
Tailles
Signification
PA
Pression du gaz en unités absolues
TA
Température absolue du gaz en Kelvin
Représentation dans FBD
Représentation :
80
33002536 09/2020
MFLOW
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
CAL MFLOW_Instance (IN:=DifferentialPressure,
PRES:=GasPressure, TEMP:=GasTemperature,
PARA:=Parameters, OUT=>ValueOfMassFlowRate,
STATUS=>StatusWord)
Représentation dans ST
Représentation :
MFLOW_Instance (IN:=DifferentialPressure,
PRES:=GasPressure, TEMP:=GasTemperature,
PARA:=Parameters, OUT=>ValueOfMassFlowRate,
STATUS=>StatusWord) ;
33002536 09/2020
81
MFLOW
Description des paramètres MFLOW
Description des paramètres d'entrée :
Paramètres
Type de données
Pression différentielle (ou autre mesure)
IN
REAL
Entrée
PRES
REAL
Pression absolue ou relative du gaz
TEMP
REAL
Température du gaz exprimée en °C ou en °F
PARA
Para_MFLOW
Paramètres
Description des paramètres de sortie :
Paramètres
Type de données
Pression différentielle (ou autre mesure)
OUT
REAL
Valeur du débit masse avec correction de
température et de pression
STATUS
WORD
Mot d'état
Description des paramètres Para_MFLOW
Description de la structure de données
Elément
Type de données
k
REAL
Signification
Constante de calcul (voir Calcul de la constante k,
page 83
82
en_pres
BOOL
"1": Activation de la correction de pression
pr_pa
BOOL
"1": PRES est une pression absolue
"0": PRES est une pression relative
pu
REAL
Valeur représentant 1 atmosphère dans l'unité de
pression utilisée
en_temp
BOOL
"1": Activation de la correction de température
tc_tf
BOOL
"1": TEMP est exprimé en degrés Fahrenheit
"0": TEMP est exprimé en degrés Celsius
en_sqrt
BOOL
"1": Calcul de la racine carrée
33002536 09/2020
MFLOW
Description détaillée
Calcul de la constante k
La constante k peut se calculer en fonction d'un point de fonctionnement de référence auquel les
valeurs du débit masse (MF_REF), de la pression différentielle (IN_REF), de la pression absolue
(P_REF) et de la température absolue (T_REF) sont connues.
Lorsque l'entrée IN est une pression différentielle, la formule se présente comme suit :
Lorsque l'entrée IN n'est pas une pression différentielle, la formule se présente comme suit :
Spécification du calcul
Le calcul se présente comme une multiplication simple :
. Pour obtenir une
compensation de pression ou de température, les paramètres n_pres ou en_temp doivent être
à 1. D'ailleurs, la racine carrée n'est active que si en_sqrt = 1.
Si l'un des paramètres n_sqrt, en_pres, en_temp est à 0, le calcul de la constante k doit être
adapté en conséquence (suppression de la racine carrée, remplacement de P_REF ou
T_REF par 1).
Unité de température
La température TEMP peut être exprimée en degrés Celsius ou Fahrenheit, suivant la valeur du
paramètre tc_tf :
tc_tf
Unité de température de TEMP
0
Degré Celsius
Calcul de la température absolue TA :
1
Degré Fahrenheit
Calcul de la température absolue TA :
33002536 09/2020
83
MFLOW
Unité de pression
Vous pouvez exprimer la pression PRES dans l'unité de votre choix, absolue ou relative, suivant la
valeur du paramètre pr_pa.
84
pr_pa
Unité de pression de PRES
0
Pression relative
L'unité employée pour le paramètre pu doit correspondre à une atmosphère.
Calcul de la pression absolue PA = PRES + pu
1
Pression absolue : PA = PRES
33002536 09/2020
MFLOW
Erreur d’exécution
Mot d'état
Les bits du mot d'état ont la signification suivante :
Bit
Valeur
déc.
Valeur
hex.
Etat ENO
Signification
Bit 0 = 1
1
0x0001
False
Erreur lors d'un calcul en valeurs en
virgule flottante
Bit 1 = 1
2
0x0002
False
Saisie d'une valeur non valide à une
entrée en virgule flottante
Bit 2 = 1
4
0x0004
False
Division par 0 lors d'un calcul en valeurs
en virgule flottante
Bit 3 = 1
8
0x0008
False
Débordement de capacité lors d'un
calcul en valeurs en virgule flottante
Bit 4 = 1
16
0x0010
True
Une des grandeurs suivantes est
négative : IN, pu, PA, TA. Le bloc
fonction emploie la valeur 0 pour le
calcul.
Pour obtenir une liste des autres codes d'erreur de virgule flottante possibles, voir Erreurs
courantes relatives aux valeurs à virgule flottante, page 364.
Message d'erreur
Dans les cas suivants, une erreur est signalée :
Saisie d'une valeur non valide à l'une des entrées en virgule flottante
 Division par 0 lors d'un calcul en valeurs en virgule flottante
 Débordement de capacité lors d'un calcul en valeurs en virgule flottante

La sortie OUT n'est pas modifiée.
NOTE : Pour obtenir une liste de tous les codes et valeurs d'erreur du bloc, voir Condition,
page 356.
Avertissement
Un avertissement est émis lorsque le paramètre pu a une valeur négative. Dans ce cas, le bloc
fonction peut exécuter le calcul en utilisant la valeur 0 au lieu de la valeur incorrecte pu.
33002536 09/2020
85
MFLOW
86
33002536 09/2020
EcoStruxure™ Control Expert
QDTIME
33002536 09/2020
Chapitre 10
QDTIME : Equipement de deadtime
QDTIME : Equipement de deadtime
Introduction
Ce chapitre décrit le bloc QDTIME.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
88
Description détaillée
91
33002536 09/2020
87
QDTIME
Description
Description de la fonction
Avec ce bloc fonction, le signal d'entrée est retardé par un deadtime.
Le bloc fonction retarde le signal IN avec le deadtime T_DELAY, avant d'être transmis à nouveau
à OUT.
Le bloc fonction incorpore un tampon de délai pour 128 éléments (valeurs IN) signifiant que
128 valeurs IN peuvent être enregistrées pendant la durée T_DELAY. Le tampon est utilisé de telle
manière qu'il correspond au mode de fonctionnement.
Que le système soit redémarré à froid ou à chaud, la valeur de OUT reste inchangée. Les valeurs
internes sont définies sur la valeur de IN.
Après une modification du deadtime T_DELAY ou un redémarrage à froid ou à chaud du système,
la sortie READY passe sur "0". Cela signifie que le tampon est vide ou n'est pas prêt.
Le bloc fonction dispose d'un mode Poursuite et d'un mode Automatique.
NOTE : ce bloc fonction effectue une initialisation interne lors du premier cycle d'un programme
après un démarrage à chaud ou à froid (téléchargement d'une application ou redémarrage) du
programme de l'automate.
Par conséquent, vérifiez que le bloc fonction est invoqué lors du premier cycle d'un programme.
En cas d'invocation du bloc fonction dans un cycle d'un programme ultérieur, l'initialisation interne
ne s'effectuera pas et les sorties risquent de fournir des valeurs erronées.
AVERTISSEMENT
COMPORTEMENT DE SORTIE INATTENDU
Vérifiez que le bloc fonction est toujours invoqué lors du premier cycle d'un programme.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.
88
33002536 09/2020
QDTIME
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
CAL QDTIME_Instance (IN:=InputValue, T_DELAY:=DeadTime,
TR_I:=InitializationInput, TR_S:=InitializationType, OUT=>Output,
READY=>InternalBufferFlag)
Représentation en ST
Représentation :
QDTIME_Instance (IN:=InputValue, T_DELAY:=DeadTime,
TR_I:=InitializationInput, TR_S:=InitializationType, OUT=>Output,
READY=>InternalBufferFlag) ;
33002536 09/2020
89
QDTIME
Description des paramètres du QDTIME
Description des paramètres d'entrée :
Paramètre
Type de données
Description
IN
REAL
Valeur en entrée
T_DELAY
TIME
Deadtime
TR_I
REAL
Entrée d'initialisation
TR_S
BOOL
Type d'initialisation :
"1" = mode de fonctionnement Poursuite
"0" = mode de fonctionnement automatique
Description des paramètres de sortie :
Paramètre
Type de données
Description
OUT
REAL
Sortie
READY
BOOL
"1" = le tampon interne est plein
"0" = le tampon interne n'est pas plein (après un
redémarrage à froid ou à chaud ou une modification
du deadtime)
Erreur d’exécution
Pour obtenir la liste de l'ensemble des codes et valeurs d'erreur du bloc, reportez-vous à la section
Condition, page 356.
90
33002536 09/2020
QDTIME
Description détaillée
Sélection des modes de fonctionnement
Deux modes de fonctionnement peuvent être sélectionnés par l'entrée TR_S.
Mode de fonctionnement
TR_S
Automatique
0
Tracking
1
Mode automatique
En mode automatique, le bloc fonction fonctionne conformément aux règles suivantes :
Lorsque
Alors
Temps cycle > T_DELAY/128
la valeur IN courante est incorporée dans la
table et la valeur IN la plus ancienne de la
table est transmise à la sortie OUT. Dans ce
cas, la résolution est inférieure à 128, ce qui
engendre une erreur systématique, c'est-àdire que certaines valeurs IN sont
sauvegardées en double (voir aussi
exemple).
Temps cycle < T_DELAY/128
impossible d'enregistrer toutes les valeurs
IN dans la table. Dans ce cas, la valeur IN
n'est pas enregistrée pendant certains cycles
et OUT reste inchangé durant ce cycle
Exemple Temps cycle > 128
Les valeurs suivantes sont acceptées :
Temps cycle = 100 ms
T_DELAY = 10 s
tin = T_DELAY / 128 = 78 ms
Étant donné que tin (temps de lecture) est inférieur au temps cycle, chaque valeur IN est
enregistrée dans la table. Toutefois, lors de la quatrième exécution du bloc fonction (après 400
ms), la valeur IN est enregistrée deux fois au lieu d'une (car 3 x 78 = 312 et 4 x 78 = 390).
Mode Tracking
En mode Tracking, la valeur de tracking TR_I est transmise directement à la sortie OUT. La table
interne est renseignée avec la valeur de tracking TR_I. Elle est marquée comme remplie (READY
=1).
33002536 09/2020
91
QDTIME
Exemple de comportement de QDTIME
Le diagramme présente un exemple de comportement du bloc fonction. L'entrée IN passe d'une
valeur à l'autre sous forme de pente et la sortie OUT, retardée du temps mort T_DELAY, suit l'entrée
IN.
Diagramme du Bloc Fonction QDTIME
92
33002536 09/2020
EcoStruxure™ Control Expert
SCALING
33002536 09/2020
Chapitre 11
SCALING : Echelle
SCALING : Echelle
Introduction
Ce chapitre décrit le bloc SCALING.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
94
Paramétrage
96
Erreur d’exécution
97
33002536 09/2020
93
SCALING
Description
Description de la fonction
Ce bloc fonction permet de représenter une grandeur numérique dans une plage de valeurs
différente.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
Le bloc fonction exécute le calcul suivant :
Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
CAL SCALING_Instance (IN:=DigitalVariable,
PARA:=Parameters, OUT=>ScalingOutput,
STATUS=>StatusWord)
94
33002536 09/2020
SCALING
Représentation dans ST
Représentation :
SCALING_Instance (IN:=DigitalVariable, PARA:=Parameters,
OUT=>ScalingOutput, STATUS=>StatusWord) ;
Description des paramètres SCALING
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
IN
REAL
Grandeurs numériques à mettre à l'échelle
PARA
Para_SCALING
Paramètres
Description des paramètres de sortie :
Paramètres
Type de données
Signification
OUT
REAL
Valeur de sortie mise à l'échelle
STATUS
WORD
Mot d'état
Description des paramètres Para_SCALING
Description de la structure de données
Elément
Type de données
Signification
in_min
REAL
Valeur limite inférieure de l'échelle d'entrée
in_max
REAL
Valeur limite supérieure de l'échelle d'entrée
out_min
REAL
Valeur limite inférieure de l'échelle de sortie
out_max
REAL
Valeur limite supérieure de l'échelle de sortie
clip
BOOL
"1": la valeur de la sortie OUT est limitée entre
out_min et out_max.
33002536 09/2020
95
SCALING
Paramétrage
Sans limitation de sortie (clip = 0)
Lorsque le paramètre Clip est mis à 0, la mise à l'échelle ne dépend pas de la valeur de l'entrée IN.
Avec limitation de sortie (clip = 1)
Lorsque le paramètre Clip est mis à 1, la mise à l'échelle est exécutée à l'intérieur de la plage
[in_min , in_max]. Hors de cette plage, la sortie est limitée par les valeurs out_min et
out_max.
Modification du sens de variation
Il est aussi possible de modifier le sens de variation de la grandeur d'entrée numérique en affectant
à out_max une valeur inférieure à celle de out_min.
96
33002536 09/2020
SCALING
Erreur d’exécution
Mot d'état
Le mot d'état fournit les informations suivantes :
Bit
Valeur déc.
Valeur hex.
Etat ENO
Signification
Bit 0 = 1
1
0x0001
False
Erreur lors d'un calcul avec des valeurs en
virgule flottante
Bit 1 = 1
2
0x0002
False
Saisie d'une valeur non valide à l'une des entrées
de valeurs en virgule flottante
Bit 2 = 1
4
0x0004
False
Division par 0 lors d'un calcul avec des valeurs
en virgule flottante
Bit 3 = 1
8
0x0008
False
Débordement de capacité lors d'un calcul avec
des valeurs en virgule flottante
Bit 4 = 1
16
0x0010
True
Le paramètre Clip est mis à 1 et l'entrée IN se
situe hors de la plage [in_min, in_max] : le
bloc fonction a besoin de la valeur in_min ou
in_max pour le calcul.
Bit 7 = 1
128
0x0080
True
Le paramètre in_min est égal à in_max.
Pour obtenir une liste des autres codes d'erreur de virgule flottante possibles, voir Erreurs
courantes relatives aux valeurs à virgule flottante, page 364.
Message d'erreur
Dans les cas suivants, une erreur est signalée :
Saisie d'une valeur non réelle à une entrée.
 Incident lors d'un calcul avec des valeurs en virgule flottante.
 Lorsque in_min = in_max

Dans ce cas, la sortie OUT reste inchangée.
NOTE : Pour obtenir une liste de tous les codes et valeurs d'erreur du bloc, voir Condition,
page 356.
33002536 09/2020
97
SCALING
98
33002536 09/2020
EcoStruxure™ Control Expert
TOTALIZER
33002536 09/2020
Chapitre 12
TOTALIZER : Intégrateur
TOTALIZER : Intégrateur
Introduction
Ce chapitre décrit le bloc TOTALIZER.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
100
Formules
104
Description détaillée
105
Erreur d’exécution
108
33002536 09/2020
99
TOTALIZER
Description
Description de la fonction
Ce bloc fonction intègre la valeur de l'entrée IN (généralement un volume de débit) au cours du
temps, jusqu'à ce qu'une limite réglable soit atteinte (généralement un volume).
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.
NOTE : lors de l'utilisation de l'entrée de validation EN, tenez compte de ce qui suit :
Si le bloc n'a pas été appelé depuis un certain temps parce que l'entrée de validation EN est définie
sur FALSE, l'exécution du bloc de totalisateur est étendue jusqu'au prochain appel. Un
dépassement du délai du chien de garde peut entraîner un arrêt de l'automate.
Pour remédier à ce problème, l'entrée de validation ne doit pas être utilisée ou définie en
permanence sur TRUE, afin de traiter le bloc au cours de chaque cycle.
NOTE : ce bloc fonction effectue une initialisation interne lors du premier cycle d'un programme
après un démarrage à chaud ou à froid (téléchargement d'une application ou redémarrage) du
programme de l'automate.
Par conséquent, vérifiez que le bloc fonction est invoqué lors du premier cycle d'un programme.
En cas d'invocation du bloc fonction dans un cycle d'un programme ultérieur, l'initialisation interne
ne s'effectue pas et les sorties risquent de fournir des valeurs erronées.
AVERTISSEMENT
COMPORTEMENT DE SORTIE INATTENDU
Vérifiez que le bloc fonction est toujours invoqué lors du premier cycle d'un programme.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
Caractéristiques
Le bloc fonction a les caractéristiques suivantes :
 L'intégration peut être temporairement mise en pause et installée de nouveau
 Equipement pouvant également prendre en compte de très faibles valeurs d'entrée
 Division par laquelle la limite inférieure des valeurs de IN ne sera plus prise en compte
 Utilisation du mode "Inversion de la somme intégrale" : la sortie OUT décroît de la valeur du seuil
à zéro (inc_dec = 1)
100
33002536 09/2020
TOTALIZER
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
CAL TOTALIZER_Instance (IN:=DigitalVariable, MODE:=OperatingMode,
PARA:=Parameters, TR_I:=outc_InitializationInput,
TR_S:=InitializationOrder, OUT=>ResultOfIntegration,
INFO=>AdditionalInformation, STATUS=>StatusWord)
33002536 09/2020
101
TOTALIZER
Représentation en ST
Représentation :
TOTALIZER_Instance (IN:=DigitalVariable, MODE:=OperatingMode,
PARA:=Parameters, TR_I:=outc_InitializationInput,
TR_S:=InitializationOrder, OUT=>ResultOfIntegration,
INFO=>AdditionalInformation, STATUS=>StatusWord);
Description des paramètres du TOTALIZER
Description des paramètres d'entrée :
Paramètre
Type de données
Description
IN
REAL
Tailles numériques intégrées (uniquement si > 0)
MODE
Mode_TOTALIZER
Mode de marche
PARA
Para_TOTALIZER
Paramètre
TR_I
REAL
Entrée d'initialisation à partir de outc
TR_S
BOOL
Commande d'initialisation
Description des paramètres de sortie :
Paramètre
Type de données
Description
OUT
REAL
Résultat de l'intégration de IN (limité à thld)
INFO
Info_TOTALIZER
informations supplémentaires générées par bloc
fonction
STATUS
WORD
Mot d'état
Description des paramètres de Mode_TOTALIZER
Description de la structure de données
102
Elément
Type de données
Description
hold
BOOL
"1": arrêt de l'intégration
rst
BOOL
"1": réinitialisation du bloc fonction
33002536 09/2020
TOTALIZER
Description des paramètres de Para_TOTALIZER
Description de la structure de données
Elément
Type de données
Description
thld
REAL
Seuil d'intégrale de IN
cutoff
REAL
Division (≥0)
inc_dec
BOOL
"1": Inversion d'intégration
"0": mode normal
Description des paramètres de Info_TOTALIZER
Description de la structure de données
Elément
Type de données
Description
outc
REAL
Résultat total de l'intégration de IN
cter
UINT
Compteur du calcul d'intégrale
done
BOOL
"1": la sortie OUT atteint le seuil d'intégrale thld
33002536 09/2020
103
TOTALIZER
Formules
Calcul de la sortie OUT
A chaque exécution, la sortie OUT est calculée selon la formule suivante :
Lorsque OUT a atteint la valeur seuil thld :
 le compteur cter est incrémenté :

la valeur seuil thld est soustraite de la sortie :
Explication des grandeurs de formules
Signification des grandeurs dans les formules ci-dessus :
Tailles
Signification
temps écoulé depuis la dernière exécution du bloc
Valeur de la sortie OUT à la fin de l'exécution précédente du régulateur
Sortie des résultats intégraux
Conformément à ce principe, le bloc fonction peut sortir trois résultats intégraux :
104
Résultat
Commentaires
Registre central partiel OUT
affiche le résultat intégral de l'entrée IN à partir du dernier
franchissement de seuil.
cter
Fréquence selon laquelle la valeur seuil est atteinte
Registre global (outc)
correspond au résultat intégral de l'entrée IN depuis le
commencement du calcul intégral Ce compteur est mis à
jour à chaque exécution selon la formule suivante :
33002536 09/2020
TOTALIZER
Description détaillée
Réglage du seuil intégral thld
En général, la valeur du seuil intégral correspond à la propriété simple à déterminer d'un procédé
(par ex. le contenu d'un réservoir).
Pour effectuer le calcul intégral, le bloc fonction peut également utiliser des valeurs d'entrée plus
faibles, même si le résultat de la valeur intégrale est très élevé. Dans ce cas, les valeurs intégrales
risquent d'être tellement diminuées par rapport à la valeur totale qu'elle peuvent ne pas être prises
en compte. La solution proposée par le bloc TOTALIZER consiste à limiter le registre global OUT
à la valeur seuil thld, afin d'éviter que la valeur intégrale ne devienne négligeable par rapport au
registre global partiel. La valeur du total intégral (outc) est également calculée : le contrôleur
enregistre la fréquence à laquelle la valeur seuil thld du registre global OUT est atteinte.
Lorsque la valeur seuil thld est à 0, la valeur intégrale n'est pas calculée et les sorties restent
bloquées.
Autres propriétés
Dès que la sortie OUT dépase la valeur seuil thld, la sortie done prend la valeur 1. Pendant
l'exécution du bloc fonction, elles reprennent une valeur nulle.
Lorsque le compteur cter atteint sa valeur maximale (65535), il n'est plus modifié. La sortie OUT
continue de fonctionner lorsque la valeur seuil thld est incluse. Mais la sortie outc et le compteur
cter ne sont plus utilisables.
Les valeurs négatives de l'entrée IN ne sont jamais prises en compte, car elles sont inférieures au
séparateur cutoff.
33002536 09/2020
105
TOTALIZER
Chronogramme
Chronogramme du bloc TOTALIZER
td Durée
Mode de fonctionnement
Le bloc fonction TOTALIZER compte trois modes de fonctionnement : Tracking, Réinitialisation et
Pause.
Mode de
fonctionnement
Paramètre
Signification
Tracking
TR_S = 1
Le paramètre TR_I est transmis à outc et les paramètres OUT et cter sont
définis selon l'équation suivante :
outc = thld x cter + OUT.
Le mode Tracking permet de resynchroniser les sorties du contrôleur avec
le procédé de régulation (par ex., après la défaillance d'un capteur).
Réinitialisation
rst = 1
Les sorties OUT, outc, cter et done sont mises à zéro.
La réinitialisation au moyen de rst permet de redémarrer à partir du point
zéro (par ex., après la modification d'une phase de production).
Pause
hold = 1
L'intégration est en pause. Les sorties conservent leurs valeurs
précédentes.
NOTE : Si les entrées TR_S, rst et hold sont activées simultanément, le mode Tracking est
prioritaire sur les autres modes de fonctionnement et le mode Réinitialisation prévaut sur le mode
Pause.
106
33002536 09/2020
TOTALIZER
Inversion de l'addition intégrale (inc_dec = 1)
Représentation du principe de la fonction :
td Durée
En mode Tracking (TR_S = 1), le paramètre TR_I est transmis à outc et les paramètres OUT et
cter sont définis selon l'équation suivante :
outc = thld x cter + (thld - OUT).
outc est calculé suivant la formule : outc = thld x cter + (thld - OUT)
Principe de fonction de l'inversion de l'addition intégrale
Le principe de fonction est le suivant :
Etape
Action
1
Lors de la première exécution ou en cas de front positif sur rst, la sortie OUT est initialisée
par thld.
2
Ensuite, à chaque exécution, la sortie OUT est calculée selon la formule suivante :
3
Dès que la sortie OUT est négative, on remarque que :
 le compteur cter est incrémenté :
cter = cter + 1
 La valeur seuil thld est ajoutée à la sortie OUT :
OUT = OUT + thld
 done est mis à 1.
33002536 09/2020
107
TOTALIZER
Erreur d’exécution
Mot d'état
Le mot d'état fournit les informations suivantes :
Bit
Valeur déc. Valeur hex.
Etat ENO Description
Bit 0 = 1
1
0x0001
False
Erreur lors d'un calcul avec des valeurs en virgule
flottante
Bit 1 = 1
2
0x0002
False
Saisie d'une valeur non valide à l'une des entrées de
valeurs en virgule flottante
Bit 2= 1
4
0x0004
False
Division par 0 lors d'un calcul en valeurs en virgule
flottante
Bit 3 = 1
8
0x0008
False
Débordement de capacité lors d'un calcul en valeurs
en virgule flottante
Bit 4 = 1
16
0x0010
True
L'entrée TR_I ou un des paramètres thld ou cutoff
est négative/négatif : le régulateur emploie la valeur 0
pour le calcul.
Bit 6 = 1
64
0x0060
True
Le registre du compteur cter a atteint sa valeur
maximale (65535) : cter est verrouillé à cette valeur
et la sortie outc est sans objet. Cependant, les sorties
OUT et done peuvent être encore utilisées.
Pour obtenir une liste d'autres codes d'erreur de virgule flottante possibles, voir Erreurs courantes
relatives aux valeurs à virgule flottante, page 364.
Message d'erreur
Une erreur d'exécution est signalée lorsqu'une valeur non réelle est saisie à une entrée ou
lorsqu'un incident se produit lors d'un calcul avec des valeurs en virgule flottante. Dans ce cas, les
sorties OUT, outc, cter et done restent inchangées.
NOTE : pour une liste des valeurs et des codes d'erreur de bloc, reportez-vous aux Condition,
page 356.
Message d'avertissement
Un message d'avertissement est émis dans les cas suivants :
108
Si...
Alors...
thld < 0
le régulateur emploie la valeur 0 pour le calcul
cutoff < 0
le régulateur emploie la valeur 0 pour le calcul
cter = 65535
cter est verrouillé à cette valeur et la sortie outc est sans objet. Cependant, les sorties
OUT et done peuvent être encore utilisées.
33002536 09/2020
EcoStruxure™ Control Expert
VEL_LIM
33002536 09/2020
Chapitre 13
VEL_LIM : Limiteur de vitesse
VEL_LIM : Limiteur de vitesse
Introduction
Ce chapitre décrit le bloc VEL_LIM.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
110
Description détaillée
113
33002536 09/2020
109
VEL_LIM
Description
Description de la fonction
Le bloc fonction crée un limiteur de vitesse avec limitation de variable manipulée.
Le gradient de la variable d'entrée IN est limité à une valeur RATE pouvant être prédéfinie. Il limite
également la sortie OUT à une valeur comprise entre OUT_MAX et OUT_MIN. Cela permet au bloc
fonction d'ajuster les signaux au pas limité technologiquement et aux limites des éléments de
commande.
NOTE : ce bloc fonction effectue une initialisation interne lors du premier cycle d'un programme
après un démarrage à chaud ou à froid (téléchargement d'une application ou redémarrage) du
programme de l'automate.
Par conséquent, vérifiez que le bloc fonction est invoqué lors du premier cycle d'un programme.
En cas d'invocation du bloc fonction dans un cycle d'un programme ultérieur, l'initialisation interne
ne s'effectuera pas et les sorties risquent de fournir des valeurs erronées.
AVERTISSEMENT
COMPORTEMENT DE SORTIE INATTENDU
Vérifiez que le bloc fonction est toujours invoqué lors du premier cycle d'un programme.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.
Caractéristiques
Le bloc fonction a les caractéristiques suivantes :
 Modes de fonctionnement Poursuite et Automatique
 Limitation de la variable manipulée en mode Automatique
110
33002536 09/2020
VEL_LIM
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
CAL VEL_LIM_Instance (IN:=Input, RATE:=MaximumVelocityLimitation,
OUT_MIN:=LowerOutputLimit, OUT_MAX:=UpperOutputLimit,
TR_I:=InitializationInput, TR_S:=InitializationType, OUT=>Output,
QMIN=>OUT_Reached_OUT_MIN, QMAX=>OUT_Reached_OUT_MAX)
33002536 09/2020
111
VEL_LIM
Représentation en ST
Représentation :
VEL_LIM_Instance (IN:=Input, RATE:=MaximumVelocityLimitation,
OUT_MIN:=LowerOutputLimit, OUT_MAX:=UpperOutputLimit,
TR_I:=InitializationInput, TR_S:=InitializationType, OUT=>Output,
QMIN=>OUT_Reached_OUT_MIN, QMAX=>OUT_Reached_OUT_MAX) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Description
IN
REAL
Entrée
RATE
REAL
Limitation de vitesse maximum
OUT_MIN
REAL
Limite inférieure
OUT_MAX
REAL
Limite supérieure
TR_I
REAL
Entrée d'initialisation
TR_S
BOOL
Type d'initialisation
"1" = mode de fonctionnement Poursuite
"0" = mode de fonctionnement automatique
Description des paramètres de sortie :
Paramètre
Type de données
Description
OUT
REAL
Sortie
QMIN
BOOL
"1" = la sortie OUT a atteint la limite inférieure
QMAX
BOOL
"1" = la sortie OUT a atteint la limite supérieure
Erreur d’exécution
Avec OUT_MAX < OUT_MIN, un message d'erreur s'affiche.
NOTE : pour obtenir la liste de l'ensemble des codes et valeurs d'erreur du bloc, reportez-vous à
la section Condition, page 356.
112
33002536 09/2020
VEL_LIM
Description détaillée
Paramétrage
Le paramétrage du bloc fonction s'effectue en définissant la vitesse de variation RATE et les
valeurs limites OUT_MAX et OUT_MIN pour la sortie OUT. La vitesse maximale de variation indique
de quelle valeur la sortie est autorisée à varier en une seconde.
Si RATE = 0, alors OUT = IN.
Les valeurs OUT_MAX et OUT_MIN constituent les limites supérieure et inférieure de la sortie. Avec
OUT_MIN ≤ OUT ≤ OUT_MAX.
Les sorties QMAX et QMIN indiquent que les valeurs limites sont atteintes ou que le signal de sortie
est limité.
 QMAX = 1 si OUT ≥ OUT_MAX
 QMIN = 1 si OUT ≤ OUT_MIN
Modes de fonctionnement
Deux modes de fonctionnement peuvent être sélectionnés par l'entrée TR_S.
Mode de
fonctionnement
TR_S
Signification
Automatique
0
La valeur courante de OUT est constamment recalculée et
éditée.
Tracking
1
La valeur de Tracking TR_I est transmise directement à la
sortie OUT. La sortie de réglage est cependant limitée par
OUT_MAX et OUT_MIN.
33002536 09/2020
113
VEL_LIM
Exemple
Représentation du comportement dynamique du bloc fonction VEL_LIM
Le bloc fonction suit l'échelon de l'entrée IN avec sa vitesse de variation maximale. La limitation
de la sortie OUT par OUT_MAX et OUT_MIN est clairement signalée par les signaux correspondants
QMAX et QMIN.
114
33002536 09/2020
EcoStruxure™ Control Expert
Régulateur
33002536 09/2020
Partie III
Régulateur
Régulateur
Vue d'ensemble
Cette partie décrit les fonctions et blocs fonction élémentaires de la famille Régulateur.
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
Titre du chapitre
Page
14
AUTOTUNE : Paramètre de réglage automatique
117
15
IMC : Correcteur à modèle
141
16
PI_B : Automate PI simple
153
17
PIDFF : Automate PID complet
167
18
SAMPLETM : Temps échantillon
195
19
STEP2 : Automate à deux points
197
20
STEP3 : Automate à trois points
205
33002536 09/2020
115
Régulateur
116
33002536 09/2020
EcoStruxure™ Control Expert
AUTOTUNE
33002536 09/2020
Chapitre 14
AUTOTUNE : Paramètre de réglage automatique
AUTOTUNE : Paramètre de réglage automatique
Introduction
Ce chapitre décrit le bloc AUTOTUNE.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
118
Principe du réglage automatique du régulateur
123
Principe d'identification
125
Paramétrage
126
Couplage du régulateur
129
Diagnostic
131
Causes de l'abandon du réglage automatique du régulateur
134
Lancement d'un test après la fin du réglage automatique du régulateur
136
Erreur d’exécution
140
33002536 09/2020
117
AUTOTUNE
Description
Description de la fonction
Ce bloc fonction permet de régler automatiquement le régulateur (PIDFF : Automate PID complet,
page 167, PI_B : Automate PI simple, page 153).
Lors du démarrage de l'installation, le réglage automatique du régulateur stabilise la régulation, ce
qui permet de gagner du temps.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Algorithme
L'algorithme repose sur les règles heuristiques, comme, par exemple, la méthode de ZieglerNichols. D'abord, le système procède à une analyse correspondant à 2,5 fois environ le temps de
réaction de la boucle ouverte. De la sorte, le procédé peut être détecté comme procédé de premier
ordre avec retard.
Sur la base de ce modèle, une plage de paramètres de régulation est créée. Elle repose sur des
règles heuristiques et des valeurs empiriques.
La plage de paramètres est déterminée par le critère ’perf’. Selon le cas, ce facteur attribue le
rang le plus élevé au temps de réaction aux perturbations ou bien à la stabilité.
L'algorithme est appliqué aux types de procédés suivants :
Procédés présentant une seule entrée ou une seule sortie
 Procédé présentant une stabilité naturelle ou une partie intégrale
 Procédés asymétriques dans les limites permises par l'algorithme du régulateur.
 Procédés commandés par une sortie de modulation à largeur d'impulsion (PWM).

Caractéristiques majeures
Le bloc présente les caractéristiques suivantes :
Estimation préalable de la régulation pour les types PIDFF ou PI_B.
 Fonction de diagnostic
 Paramétrage de la dynamique de régulation
 Récupération des réglages de régulation précédents

118
33002536 09/2020
AUTOTUNE
Modes de fonctionnement
Le tableau suivant définit les différents modes de fonctionnement du réglage automatique du
régulateur ainsi que leurs priorités respectives.
Mode de fonctionnement
TR_S
START
Tracking
1
0 ou 1
Réglage automatique du régulateur
0
1
Lorsque le réglage automatique du régulateur est terminé, la sortie TRS est remise à 0 et génère
ainsi le repositionnement de la boucle au mode de fonctionnement précédent (manuel ou
automatique). Lorsque le réglage automatique du régulateur échoue, le repère TRI retrouve la
valeur qu'il avait avant le démarrage du réglage automatique du régulateur. La boucle retourne
ainsi au mode de fonctionnement précédent.
Représentation dans FBD
Représentation :
*
Paramètres du régulateur automatique (Para_PIDFF, Para_PI_B, etc.)
33002536 09/2020
119
AUTOTUNE
Représentation dans LD
Représentation :
*
Paramètres du régulateur automatique (Para_PIDFF, Para_PI_B, etc.)
Représentation dans IL
Représentation :
CAL AUTOTUNE_Instance (PV :=ProcessValue, SP :=Setpoint,
RCPY:=RecopyRealCommand, START:=StartAutotuning,
PREV:=ReturnToPreviousValues, PARA:=Parameters,
TR_I:=InitializationInput, TR_S:=InitializationSequence,
PV_O=>PV_InputImage, SP_O=>SP_InputImage,
PARA_C=>ParametersToBeTuned, TRI=>TR_I_InputImage,
TRS=>TR_S_InputImage, INFO=>Information,
STATUS=>Statusword)
120
33002536 09/2020
AUTOTUNE
Représentation dans ST
Représentation :
AUTOTUNE_Instance (PV:=ProcessValue, SP:=Setpoint,
RCPY:=RecopyRealCommand, START:=StartAutotuning,
PREV:=ReturnToPreviousValues, PARA:=Parameters,
TR_I:=InitializationInput, TR_S:=InitializationSequence,
PV_O=>PV_InputImage, SP_O=>SP_InputImage,
PARA_C=>ParametersToBeTuned, TRI=>TR_I_InputImage,
TRS=>TR_S_InputImage, INFO=>Information,
STATUS=>Statusword) ;
Description des paramètres AUTOTUNE
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
PV
REAL
Mesure (Process Value)
SP
REAL
Consigne (Set Point)
RCPY
REAL
Copie de la grandeur réelle
START
BOOL
"0 → 1" : Démarrage du réglage automatique du
régulateur
PREV
BOOL
Retour aux réglages précédents du régulateur
PARA
Para_AUTOTUNE
Paramètres
TR_I
REAL
Entrée de démarrage
TR_S
BOOL
Commande de démarrage
Description des paramètres de sortie :
Paramètres
Type de données
Signification
PV_O
REAL
Copie de la mesure PV
SP_O
REAL
Copie de l'entrée SP
PARA_C
Paramètres du
régulateur à réglage
automatique
(Para_PIDFF ou
Para_PI_B)
Paramètres de régulation
TRI
REAL
Copie de l'entrée TR_I
TRS
BOOL
Copie de l'entrée TR_S
INFO
Info_AUTOTUNE
Information
STATUS
WORD
Mot d'état
33002536 09/2020
121
AUTOTUNE
Description des paramètres Para_AUTOTUNE
Description de la structure de données
Elément
Type de données
Signification
step_ampl
REAL
Valeur de la séquence d'impulsions de sortie
(exprimée en valeurs de sorties mises à l'échelle
out_inf, out_sup)
tmax
TIME
Durée de la séquence d'impulsions lors du réglage
automatique du régulateur
perf
REAL
Critère de performance entre 0 et 1
plant_type
WORD
Mot réservé
Description des paramètres Info_AUTOTUNE
Description de la structure de données
122
Elément
Type de données
Signification
diag
UDINT
Double mot utilisé pour le diagnostic
p1_prev
REAL
Valeur précédente du paramètre 1
p2_prev
REAL
Valeur précédente du paramètre 2
p3_prev
REAL
Valeur précédente du paramètre 3
p4_prev
REAL
Valeur précédente du paramètre 4
p5_prev
REAL
Valeur précédente du paramètre 5
p6_prev
REAL
Valeur précédente du paramètre 6
33002536 09/2020
AUTOTUNE
Principe du réglage automatique du régulateur
Deux modes de réglage automatique du régulateur
Pour le réglage automatique du régulateur, deux modes sont possibles : réglage automatique du
régulateur lors du démarrage à chaud ou du démarrage à froid du système
La première phase de réglage automatique du régulateur s'applique aux deux modes de réglage
: Cette phase est consacrée à un test de bruit et de stabilité du procédé de régulation d'une durée
de 0,5 * tmax pour les sorties constantes. Les phases suivantes dépendent du mode de réglage.
Réglage automatique du régulateur lors du démarrage à froid
Lors du démarrage à froid, on parle de réglage automatique quand l'écart entre la valeur et la
consigne est supérieur à 40% inférieur à 30%. Dans ce cas, la sortie TRI du bloc fonction est
admise avec deux séquences d'impulsions de même type. Chaque séquence d'impulsions a une
durée de tmax. Quand le réglage du régulateur est terminé, le mode de fonctionnement précédant
le circuit de régulation est lissé à nouveau.
Réglage automatique du régulateur lors du démarrage à froid
1
2
3
Mode de fonctionnement Automatique ou Manuel
Mode de fonctionnement du réglage automatique du régulateur
Mode de fonctionnement Automatique ou Manuel
33002536 09/2020
123
AUTOTUNE
Réglage automatique du régulateur lors du démarrage à chaud
Si les conditions pour le réglage automatique du régulateur lors du démarrage à froid ne sont pas
remplies, le réglage s'opère lors du démarrage à chaud. la sortie est admise avec une séquence
d'impulsions, suivie d'une séquence d'impulsions dans le sens opposé. Chaque étape a une durée
de tmax. Quand le réglage du régulateur est terminé, le mode de fonctionnement précédant le
circuit de régulation est lissé à nouveau :
Réglage automatique du régulateur lors du démarrage à chaud
1
2
3
124
Mode de fonctionnement Automatique ou Manuel
Mode de fonctionnement du réglage automatique du régulateur
Mode de fonctionnement Automatique ou Manuel
33002536 09/2020
AUTOTUNE
Principe d'identification
Procédé d'identification
Le procédé d'identification se déroule en 3 étapes :
une analyse du bruit et de la stabilité du procédé de régulation
 une première analyse de la réaction à une séquence d'impulsions, représentant le premier
modèle d'identification Cette première évaluation génère un filtre, utilisé lors de la dernière
phase
 une deuxième analyse de la réaction à une deuxième séquence d'impulsions fournit des
données plus précises sur la base du filtre de données

Enfin, un modèle de procédé complet est produit. Si les résultats de deux phases précédentes sont
trop divergents, l'estimation est rejetée et le réglage automatique du régulateur échoue.
Principe de régulation
A l'issue de chacune des deux phases, une phrase de paramètres est générée pour le réglage du
régulateur. Les équations donnant les paramètres de régulation reposent sur le gain et le ratio
entre le temps de réaction et le retard du procédé.
L'algorithme doit pouvoir résister au changement du gain et de la constante temporelle dans un
ratio de 2 sans perte de stabilité. S'ils répondent à cette condition, les procédés asymétriques sont
pris en charge. Dans le cas contraire, une erreur apparaît sur le diagramme de diagnostic.
33002536 09/2020
125
AUTOTUNE
Paramétrage
Paramétrage de l'impulsion de commande
Pendant l'autoréglage, la sortie TRI est transformée en deux impulsions de commande. Une
impulsion de commande est identifiée par deux paramètres : sa durée (tmax) et son amplitude
(step_ampl).
Les plages de valeurs suivantes sont valides pour ces paramètres : valeur tmax supérieure à 4
secondes et valeur step_ampl supérieure à 1 % de l'échelle de sortie (out_inf, out_sup). La
fonction réalise la surveillance même si la sortie TRI dépasse le seuil de l'échelle de sortie.
Le contrôle se produit au démarrage de l'autoréglage.
Le tableau suivant contient les valeurs des paramètres pour certaines méthodes de commande
typiques :
Schéma
tmax(s)
step_ampl (%)
Débit volume ou pression des liquides
5-30
10-20
Pression gazeuse
60-300
10-20
Niveau
120-600
20
Température ou tension de la vapeur
600-3600
30-50
Module
600-3600
30-50
Indice de performance : perf
Il est possible de moduler l'automate pour chaque valeur de l'indice de performance.
L'ERREUR : - Une étiquette interne " " a été ajoutée pendant la conversion. Le paramètre perf
varie entre 0 et 1, ce qui permet de le stabiliser proche de 0 ou de le définir proche de 1 pour
réaliser un réglage plus dynamique (et donc optimiser le temps de réponse des variables
perturbatrices).
L'indice de performance de perf varie entre 0 et 1, ce qui permet de stabiliser ce paramètre
proche de 0 ou de réaliser un contrôle plus dynamique (et donc d'optimiser le temps de réaction
des variables perturbatrices), si perf est défini proche de 1.
126
33002536 09/2020
AUTOTUNE
Démarrage de l'autoréglage : START
Si ce bit est défini sur 1, la fonction est activée. A la fin du processus de définition, il est nécessaire
de définir manuellement le bit sur 0. S'il a été seulement défini automatiquement, le fait de le définir
sur 0 permet d'arrêter la fonction. PARA_C conserve alors la dernière valeur active. Dans l'exemple
ci-dessous, le bit START est automatiquement réinitialisé par le programme à la fin du processus
de définition.
Exemple de démarrage de l'autoréglage
33002536 09/2020
127
AUTOTUNE
Rétablissement du réglage précédent : PREV
La modification de la valeur de ce bit permet d'échanger les paramètres actuel et précédent si
aucun contrôle n'a eu lieu jusqu'au moment donné (deux modifications consécutives de ce bit
donnent la configuration d'origine).
Les paramètres Info_AUTOTUNE structurels suivants sont valides pour les automates de type
PIDFF :
Elément de la structure de
données
Description
p1_prev
KP
p2_prev
TI
p3_prev
TD
Les paramètres Info_AUTOTUNE structurels suivants sont valides pour les automates de type
PI_B :
Elément de la structure de
données
Description
p1_prev
KP
p2_prev
TI
Diagnostic pendant l'autoréglage : diag
Les données de diagnostic de l'autoréglage sont enregistrées dans un mot double. La valeur de
ce mot est conservée jusqu'au prochain redémarrage de l'autoréglage. Vous trouverez des
informations supplémentaires sur ce mot double à la section Diagnostic.
128
33002536 09/2020
AUTOTUNE
Couplage du régulateur
Exemple d'application à l'aide d'un EFB du type de régulateur PIDFF
Le diagramme suivant est un exemple d'application d'un EFB AUTOTUNE avec un EFB du type de
régulateur PIDFF :
L’EFB AUTOTUNE échange des paramètres avec le régulateur. L'accès aux paramètres du
régulateur s'effectue par la liaison entre la sortie PARA_C du bloc fonction AUTOTUNE et l'entrée
PARA du régulateur. La sortie PARA_C est de type ANY et permet de connecter l’EFB AUTOTUNE
aux différents types de régulateur (PIDFF ou PI_B).
En outre, l’EFB AUTOTUNE et le régulateur se partagent les variables enchaînables suivantes :
PV,SP, TR_I et TR_S. Ces repères représentent les entrées AUTOTUNE acheminées aux sorties
correspondantes afin de permettre l'ajustement des entrées du régulateur.
Quand le réglage automatique du régulateur est actif, la sortie TRS passe à 1 et la grandeur de
commande est fixée à la sortie TRI. Ces sorties permettent de connecter les blocs fonction
suivants AUTOTUNE aux entrées TR_I et TR_S. Ainsi, ces blocs peuvent être affectés au mode de
fonctionnement Tracking (PIDFF, PI_B, MS, ...).
Exemple de connexion : Boucle avec régulateur PID simple
Ce chapitre est consacré au réglage automatique d'un seul régulateur (cas le plus fréquent). Le
régulateur peut être de type PI_B ou PIDFF.
L’EFB AUTOTUNE requiert les paramètres d'échelle du régulateur (paramètres structurels PARA_C)
pv_inf, pv_sup, out_inf, out_sup ainsi que le type de structure du régulateur, donné par
le bit mix_par. L’EFB génère ensuite les paramètres du régulateur PID (KP, TI, TD). Le sens
de circulation du régulateur (rev_dir) est contrôlé lors du test du réglage automatique du
régulateur et comparé au signe des gains du modèle. En cas d'incompatibilité, une erreur s'affiche
pour le paramètre diag.
33002536 09/2020
129
AUTOTUNE
Exemple de connexion : Boucle avec régulateur PID simple et bloc fonction MS
Si la boucle contient un EFB MS, le schéma fonctionnel se présente comme suit :
Lors du démarrage du réglage automatique du régulateur, l’EFB AUTOTUNE affecte un bloc
fonction MS au mode de fonctionnement Tracking et commande ainsi directement la sortie de la
boucle. L'utilisation des entrées RCPY des blocs AUTOTUNE et PIDFF permet de redémarrer
aisément la boucle.
130
33002536 09/2020
AUTOTUNE
Diagnostic
Contrôle du diagnostic
Plusieurs raisons expliquent que le réglage automatique du régulateur ne démarre pas, soit
interrompu ou échoue. Selon la cause de l'échec, une série de paramètres est fournie. Chaque bit
du mot de diagnostic diag indique un type d'erreur.
Ce mot contient le mode de fonctionnement courant du réglage automatique du régulateur.
Les cas suivants sont abordés :




État du réglage automatique du régulateur, page 132
Causes de la défaillance au démarrage, page 132
Causes de l'abandon du réglage automatique du régulateur, page 134
Lancement d'un test après la fin du réglage automatique du régulateur, page 136
Mot de diagnostic
Ce tableau présente la signification des éléments diag de la structure de données
Info_AUTOTUNE
Bit
Signification
Bit 0 = 1
Réglage automatique du régulateur en cours
Bit 1 = 1
Réglage du régulateur interrompu
Bit 2 = 1
Erreur de paramètre
Bit 3 = 1
Modification des paramètres déjà réglés automatiquement
Bit 4 = 1
Arrêt pour cause d'erreur système
Bit 5 = 1
Saturation de la mesure
Bit 6 = 1
Modification insuffisante
Bit 7 = 1
Intervalle d'échantillonnage non valide
Bit 8 = 1
Réaction imprévue
Bit 9 = 1
Mesure non stabilisée à l'origine
Bit 10 = 1
Durée de la séquence d'impulsions (tmax) trop limitée
Bit 1 1 = 1
Bruits de mesure trop importants
Bit 12 = 1
Dépassement de la durée de la séquence d'impulsions (tmax)
Bit 13 = 1
Procédé aux valeurs largement hors borne
Bit 14 = 1
Procédé dépourvu du minimum de phases
Bit 15 = 1
Procédé asymétrique
Bit 16 = 1
Procédé à composante intégrale
33002536 09/2020
131
AUTOTUNE
État du réglage automatique du régulateur
L'état du réglage automatique du régulateur est indiqué par les bits du mot de diagnostic (élément
diag) suivants :
Bit
Signification
0 (voir page 132)
1 = réglage automatique du régulateur en cours.
1 (voir page 132)
1 = réglage automatique du régulateur arrêté.
Bit 0 de l'élément diag
Ce bit indique que le réglage du régulateur est en cours. Ce bit est mis à zéro lorsque le réglage
du régulateur est terminé ou annulé au moyen du bit START.
Bit 1 de l'élément diag
Ce bit indique que l'utilisateur a arrêté la dernière régulation à l'aide du bit START ou via le réglage
en mode Tracking.
Causes de la défaillance au démarrage
La défaillance au démarrage est indiquée par les bits du mot de diagnostic (élément diag)
suivants :
Bit
Signification
2
1 = paramètre absent
7
1 = intervalle d'échantillonnage incorrect
Bit 2 de l'élément diag
Une défaillance au démarrage peut être causée par les facteurs suivants :
Séquence d'impulsions de trop courte durée (tmax < 4 s),
 Faiblesse de l'amplitude (step_ampl < 1 % de la plage de sortie),
 Protocole non exécutable : le protocole de test ne peut pas être utilisé si le résultat de la somme
de la sortie courante et de n x amplitude de la séquence d'impulsions (n = 1 pour le réglage lors
du démarrage à chaud et n = 2 pour le réglage lors du démarrage à froid) se situe hors de la
plage de sortie (out_inf, out_sup). La valeur de réglage de step_ampl doit être
compatible avec le point de fonctionnement courant.

132
33002536 09/2020
AUTOTUNE
Bit 7 de l'élément diag
Si l'intervalle d'échantillonnage est trop élevé par rapport à la durée de la séquence d'impulsions
(> tmax / 25), le contrôle de la réaction manque de précision, ce qui provoque le blocage du
réglage automatique du régulateur. Ce cas est typique des procédés de régulation très rapides
(tmax est supérieur à la période transitoire du procédé selon un ordre de grandeur de quelques
secondes). Dans ce cas, tmax peut être augmenté, étant donné que l'algorithme réagit dans une
faible mesure à ces paramètres (dans un ratio de 1 sur 3) ou bien l'intervalle d'échantillonnage peut
être réglé en conséquence.
33002536 09/2020
133
AUTOTUNE
Causes de l'abandon du réglage automatique du régulateur
Vue d'ensemble
Les causes de l'abandon du réglage automatique du régulateur sont indiquées par les bits du mot
de diagnostic (élément diag) suivants :
Bit
Signification
3
1 = modification des paramètres pendant le réglage du régulateur
4
1 = abandon pour cause d'erreur système
5
1 = saturation de la mesure
6
1 = faiblesse de variation
8
1 = réaction non logique
Bit 3 de l'élément diag
Lorsque le paramètre tmax ou setp_ampl est modifié pendant le réglage du régulateur, celui-ci
est interrompu.
Bit 4 de l'élément diag
Le réglage automatique du régulateur est abandonné en cas d'erreur système de l'API empêchant
l'exécution complète de l'enchaînement. Par exemple, un déclenchement arrête automatiquement
la fonction en cas de retour de tension.
Bit 5 de l'élément diag
Lorsque la mesure dépasse la gamme (pv_inf, pv_sup), le réglage automatique du régulateur
est abandonné et le régulateur revient au mode précédent. Cette mesure peut être estimée, ce qui
permet d'arrêter le réglage automatique du régulateur avant le dépassement de la gamme (il faut
pour cela qu'un premier modèle ait pu être identifié).
134
33002536 09/2020
AUTOTUNE
Bit 6 de l'élément diag
Cette figure illustre le comportement en cas de variation trop faible :
L'amplitude de la séquence d'impulsions est trop faible pour influencer le procédé. Dans ce cas, la
valeur de step_ampl peut être augmentée.
Bit 8 de l'élément diag
Cette figure illustre le comportement en cas de réaction non logique :
La réaction du procédé de régulation est inexplicable (gains avec différents signes). Une
perturbation plus importante, un couplage à d'autres boucles, etc. peuvent être la cause du
problème.
33002536 09/2020
135
AUTOTUNE
Lancement d'un test après la fin du réglage automatique du régulateur
Vue d'ensemble
L'état du réglage automatique du régulateur est indiqué par les bits du mot de diagnostic (élément
diag) suivants :
Bit
Signification
9
1 = mesure non stabilisée au démarrage
10
1 = durée de la séquence d'impulsions (tmax) trop limitée
11
1 = mesures trop bruitées
12
1 = durée de la séquence d'impulsions (tmax) trop longue
13
1 = défaut de dépassement par valeur supérieure
14
1 = procédé dépourvu du minimum de phases
15
1 = procédé asymétrique
16
1 = procédé intégrant
Bit 9 de l'élément diag
Cette figure illustre le comportement en cas de valeur non stabilisée au démarrage :
Le réglage automatique du régulateur a été exécuté alors que la mesure n'était pas stable. Lorsque
la modification de mesure est trop élevée par rapport à la réaction de la séquence d'impulsions,
les résultats de test sont erronés.
136
33002536 09/2020
AUTOTUNE
Bit 10 de l'élément diag
Cette figure illustre le comportement en cas de séquence d'impulsions de trop courte durée :
1
2
Séquence d'impulsions de test
Réaction du procédé
La réaction n'est pas stabilisée avant le retour à la grandeur de départ. Les paramètres calculés
sont donc incorrects.
Bit 11 de l'élément diag
Cette figure illustre le comportement en cas de mesures trop bruitées :
La réaction du procédé à la séquence d'impulsions est insuffisante par rapport au niveau de bruit
de la mesure. La mesure doit être filtrée ou step_ampl doit être augmenté.
33002536 09/2020
137
AUTOTUNE
Bit 12 de l'élément diag
Cette figure illustre le comportement en cas de séquence d'impulsions de trop longue durée :
tmax détermine la fréquence d'acquisition des mesures, c'est-à-dire des valeurs permettant le
calcul des coefficients. tmax doit valoir de 1 à 5 fois le temps d'échantillonnage du procédé de
régulation.
Bit 13 de l'élément diag
Une valeur est affectée à ce bit lorsque la réaction à une séquence d'impulsions provoque un
dépassement excessif (plus de 10%) de la mesure (overshoot). Le procédé ne correspond pas aux
modèles traités par l'algorithme.
Bit 14 de l'élément diag
Une valeur est affectée à ce bit lorsque la réaction à une séquence d'impulsions provoque une
inversion de la réaction en phase de démarrage (undershoot supérieur à 10%). Le procédé ne
correspond pas aux modèles traités par l'algorithme.
138
33002536 09/2020
AUTOTUNE
Bit 15 de l'élément diag
Cette figure illustre le comportement en cas de procédé asymétrique :
La réaction du procédé est asymétrique.
Le jeu des paramètres de fin constitue un compromis entre la réaction de variation et la réaction
de descente. Dans les deux cas, les performances sont moyennes.
Lorsque le critère retenu est celui de la durée de réaction à la variation, le premier jeu de
paramètres doit être pris en compte. Dans ce contexte, le réglage automatique du régulateur est
arrêté en phase de retour à la grandeur de départ. Lorsque le critère retenu est celui de la durée
de la descente, il convient d'utiliser une amplitude négative.
Bit 16 de l'élément diag
Cette figure illustre le comportement en cas de procédé intégrant :
Le procédé présente une composante intégrale ou bien la valeur de tmax est trop petite et le
procédé est asymétrique. Les coefficients calculés correspondent au procédé avec coefficient
intégral. Si ce n'est pas le cas, il faut redémarrer le réglage automatique du régulateur après avoir
augmenté tmax.
33002536 09/2020
139
AUTOTUNE
Erreur d’exécution
Mot d'état
Les bits du mot d'état ont la signification suivante :
Bit
Signification
Bit 0 = 1
Erreur lors d'un calcul avec des valeurs en virgule flottante
Bit 1 = 1
Saisie d'une valeur non valide à l'une des entrées en virgule flottante
Bit 2 = 1
Division par 0 lors d'un calcul en valeurs en virgule flottante
Bit 3 = 1
Débordement de capacité lors d'un calcul en valeurs en virgule flottante
Bit 4 = 1
Le paramètre perf déborde de la zone [0,1] : Le bloc fonction utilise la
valeur 0 ou 1 pour le calcul
Bit 7 = 1
Les valeurs limites pv_inf et pv_sup du régulateur à régler sont
identiques
Bit 8 = 1
La sortie PARA_C n'est pas connectée aux paramètres d'un régulateur à
réglage automatique
Bit 9 = 1
Échec du réglage automatique du régulateur
Bit 10 = 1
Le dernier réglage automatique du régulateur a réussi
Pour obtenir une liste des autres codes d'erreur de virgule flottante possibles, voir Erreurs
courantes relatives aux valeurs à virgule flottante, page 364.
Message d'erreur :
Une erreur est signalée en cas de détection d'une valeur non flottante à une entrée, en cas
d'incident lors d'un calcul en valeurs en virgule flottante ou en cas d'égalité des valeurs limites
pv_inf et pv_sup du régulateur. Dans ce cas, toutes les sorties du bloc fonction restent
inchangées.
NOTE : Pour obtenir une liste de tous les codes et valeurs d'erreur du bloc, voir Automate,
page 358.
Avertissement
Un avertissement est émis lorsque le paramètre perf déborde de la zone [0,1]. En effet, le bloc
peut exécuter le calcul en utilisant la valeur 0 au même titre que la valeur 1.
140
33002536 09/2020
EcoStruxure™ Control Expert
IMC
33002536 09/2020
Chapitre 15
IMC : Correcteur à modèle
IMC : Correcteur à modèle
Objet de cette section
Cette section décrit le bloc fonction IMC.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
142
Gestion du retard
149
Schéma fonctionnel du correcteur IMC
150
Erreur d'exécution
151
33002536 09/2020
141
IMC
Description
Description de la fonction
Le correcteur à modèle permet de traiter les retards importants, le cas échéant (par rapport à la
constante de temps principale du procédé). En effet, ces situations ne peuvent être traitées de
façon satisfaisante par de la régulation PID classique. Le correcteur à modèle est également
intéressant pour réguler un procédé non linéaire.
Le modèle est du premier ordre + retard. Néanmoins, ce correcteur peut traiter tout procédé stable
et apériodique, d'ordre quelconque.
Les paramètres à fournir sont :



Le gain statique (rapport delta mesure/delta commande en boucle ouverte)
La valeur du retard pur du procédé (valeur estimée)
La constante de temps équivalente (temps de réponse/3)
Le rapport constante de temps en boucle ouverte/constante de temps en boucle fermée
NOTE : ce bloc fonction effectue une initialisation interne lors du premier cycle d'un programme
après un démarrage à chaud ou à froid (téléchargement d'une application ou redémarrage) du
programme de l'automate.
Par conséquent, vérifiez que le bloc fonction est appelé lors du premier cycle d'un programme. En
cas d'appel du bloc fonction dans un cycle ultérieur, l'initialisation interne ne s'effectuera pas et les
sorties risquent de fournir des valeurs erronées.
AVERTISSEMENT
COMPORTEMENT DE SORTIE INATTENDU
Assurez-vous que le bloc fonction est toujours invoqué lors du premier cycle d'un programme.
Pour obtenir un comportement correct, vous devez synchroniser le correcteur à modèle avec la
fonction SAMPLE_TM et attribuer à la variable INTERVAL la même valeur que T_ECH de IMC.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
142
33002536 09/2020
IMC
Schéma fonctionnel
Le schéma fonctionnel de l'algorithme du correcteur à modèle est le suivant :
Installation du correcteur
L'installation d'un correcteur à modèle est semblable à celle d'un correcteur PID. Le réglage des
paramètres KP, TI et TD du PID est remplacé par le réglage du gain, de la constante de temps, du
retard pur du modèle du procédé et du rapport entre les constantes de temps en boucle ouverte
et en boucle fermée.
Le correcteur à modèle utilise les mêmes entrées/sorties qu'un PID (PV, RSP, FF, OUTP). Il utilise
également l'entrée facultative RCPY (entrée externe du modèle), qui permet de mettre en entrée
du modèle, l'entrée réelle du procédé (par exemple, le débit mesuré en sortie d'une vanne).
NOTE : la sortie DMO du modèle n'est pas directement comparable à la mesure du PV. Le modèle
ne prend pas en compte à ce niveau le gain statique Ks et l'existence possible d'une compensation
(BIAS).
Fonctionnalités
Hormis le calcul de la commande, les fonctionnalités sont identiques à celles du PID :









Action directe ou inverse.
Action Feed forward pour la compensation des perturbations.
Zone morte sur l'écart.
Limitation haute et basse du signal de sortie.
Limitation du gradient de sortie.
Alarme haute et basse sur écart avec hystérésis.
Sélection du mode de marche Automatique/Manuel.
Mode Tracking.
Sortie externe du modèle.
33002536 09/2020
143
IMC
Représentation en FBD
Représentation :
144
33002536 09/2020
IMC
Représentation en LD
Représentation :
Représentation en IL
Représentation :
CAL IMC_Instance(PV:=ProcessValue,SP:=SetPoint,
FF:=FeedForward, RCPY:=CopyOfRealAction,
MAN_AUTO:=OperatingModeFlag,PARA:=Parameters,
BUFFER:=SamplesBuffer, TR_I:=InitializationInput,
TR_S:=InitializationOrder, OUT:=AbsoluteOutput,
OUTD=>IncrementalOutput,DMO=>DelayedModelOutput,
MA_O=>CurrentBlockOperatingMode, INFO=>InfoIMC,
STATUS=>StatusWord)
33002536 09/2020
145
IMC
Représentation en ST
Représentation :
IMC_Instance (PV:=ProcessValue, SP:=SetPoint,
FF:=FeedForward, RCPY:=CopyOfRealAction,
MAN_AUTO:=OperatingModeFlag,PARA:=Parameters,
BUFFER:=SamplesBuffer, TR_I:=InitializationInput,
TR_S:=InitializationOrder, OUT:=AbsoluteOutput,
OUTD=>IncrementalOutput,DMO=>DelayedModelOutput,
MA_O=>CurrentBlockOperatingMode, INFO=>InfoIMC,
STATUS=>StatusWord);
Description des paramètres d'entrée/sortie IMC
ATTENTION
FONCTIONNEMENT IMPREVU DE L'APPLICATION
Ne réglez pas le type de données du paramètre d'entrée PARA sur constante (dans l'onglet des
attributs généraux de la fenêtre Propriétés des données).
Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels.
Description des paramètres d'entrée :
Paramètre
Type
Signification
PV
REAL
Mesure (Valeur de procédé)
SP
REAL
Seuil
FF
REAL
Entrée Feed Forward (FeedForward)
RCPY
REAL
Entrée externe du modèle
MAN_AUTO
BOOL
Mode de marche du correcteur :
« 1 » : mode automatique
« 0 » : mode manuel
PARA
Para_IMC
Paramètres internes
BUFFER
ARRAY [n..m] OF
REAL
Tableau de nombres à virgule flottante contenant
les valeurs d'entrée à retarder
TR_I
REAL
Entrée d’initialisation (tracking)
TR_S
BOOL
Commande d'initialisation
Description des paramètres d'entrée/sortie :
146
Paramètre
Type
Signification
OUT
REAL
Sortie analogique du correcteur
33002536 09/2020
IMC
Description des paramètres de sortie :
Paramètre
Type
Signification
OUTD
REAL
Sortie différentielle : différence entre la sortie du
cycle actuel et celle du cycle précédent
DMO
REAL
Sortie du module, retard compris
MA_O
BOOL
Mode de marche actuel du bloc fonction :
« 1 » : mode automatique
« 0 » : autre mode (manuel ou tracking)
Info_IMC
REAL
Information
STATUS
WORD
Mot d'état
Description des paramètres internes IMC
Description des paramètres internes :
Paramètre
Type
Signification
KS (1)
REAL
Gain statique du procédé en boucle ouverte
Valeur par défaut : 1,0, bornes : 0,0/3E38
OL_TIME (1)
REAL
Constante de temps du procédé en boucle ouverte
Valeur par défaut : 1,0, bornes : 0,0/3E38
CL_PERF
REAL
Rapport entre constantes de temps naturelles (boucle
ouverte)/requises (boucle fermée)
Valeur par défaut : 1,0, bornes : 0,0/3E38
T_DELAY
REAL
Retard pur actuel
Valeur par défaut : 0,0, bornes : 0,0/3E38
Remarque : si cette valeur n'est pas un multiple entier de la
période d'échantillonnage, elle est automatiquement
remplacée par le multiple entier de périodes qui lui est
immédiatement inférieur.
DBAND
REAL
Zone morte autour de l'écart
Valeur par défaut : 0, bornes : 0,0/3E38
T_ECH
REAL
Période d'échantillonnage
Valeur par défaut : 0,3, bornes : 0,0/3E38
REV_DIR
BOOL
Sens de l'action :
"1" : action directe
"0" : action inverse
En_rcpy
BOOL
1 = RCPY utilisé (valeur initiale = 0)
Id
UINT
Réservé pour le réglage automatique du contrôleur
PV_INF
REAL
Echelle basse de PV PV (valeur par défaut : 0,0)
PV_SUP
REAL
Echelle haute de PV PV (valeur par défaut : 100,0)
OUT_INF
REAL
Echelle basse de sortie OUT (valeur par défaut : 0,0)
33002536 09/2020
147
IMC
Paramètre
Type
Signification
OUT_SUP
REAL
Echelle haute de sortie OUT (valeur par défaut : 100,0)
OUT_MIN
REAL
Limite basse de sortie OUT (valeur par défaut : 0,0)
OUT_MAX
REAL
Limite haute de sortie OUT (valeur par défaut : 100,0)
OUTRATE
REAL
Limite de la variation de vitesse OUT (valeur par défaut :
0,0)
FF_INF
REAL
Echelle basse de l'entrée Feedforward (valeur par défaut :
0,0)
FF_SUP
REAL
Echelle haute de l'entrée Feedforward (valeur par défaut :
100,0)
OTFF_INF
REAL
Limite basse de l'entrée Feedforward (valeur par défaut :
0,0)
OTFF_SUP
REAL
Limite haute de l'entrée Feedforward (valeur par défaut :
100,0)
DEV
REAL
Ecart PV-PS
OUT_FF
REAL
Valeur de sortie de l'action FF
(1) KS et OL_TIME ne peuvent pas prendre la valeur 0 (valeur incohérente). Ils seront forcés à la
valeur 1,0.
148
33002536 09/2020
IMC
Gestion du retard
Description
Dans les procédés auxquels s'adresse ce correcteur, le retard est soit :


Variable (Par exemple, transfert de matière en fonction du débit dans un circuit, vitesse de la
base transporteuse).
Très grand.
Principe
Ces deux cas sont traités par l'utilisation d'un registre (buffer) de dimension paramétrable. Suivant
la taille de ce registre, il sera possible d'échantillonner soit toutes les périodes d'échantillonnage,
soit une période sur deux, soit une période sur trois, ...
Il est possible d’augmenter ou de diminuer le retard T_DELAY pendant l’exécution du programme.
Le nouveau retard est appliqué instantanément, à condition qu'il soit compatible avec la taille du
registre. La période de l'échantillonnage du retard reste inchangée.
Si la valeur de T_DELAY devient trop grande par rapport à la taille du registre, il devient impossible
de mémoriser suffisamment de valeurs d'entrée pour atteindre le retard demandé, si l’échantillonnage s’effectue à la même période. La période d'échantillonnage du retard est donc recalculée
et la sortie n'est valide qu'après une durée égale à un nouveau retard. Afin d'éviter ce problème,
nous vous conseillons de dimensionner le registre, en tenant compte des éventuelles
augmentations du retard T_DELAY.
Si le retard diminue, par défaut l'échantillonnage ne change pas. Toutefois, il est possible de
commander un nouveau calcul de l'échantillonnage si nécessaire.
Dans le cas d'une modification dynamique du temps de la tâche ou de la période d'échantillonnage, la sortie n'est valide qu'après une durée égale au retard.
Toute modification dynamique de T_DELAY entre 0 s et 30 s est prise en compte immédiatement
sans changement de l'échantillonnage du registre.
Exemple
Exemple de calcul
Période d’échantillonnage
T_ECH = 300 ms
Taille du registre de retard
50
Retard
T_DELAY = 25 s
Le registre de retard est donc échantillonné toutes les 2
T_ECH
50 x 2 x 0,3 = 30 s > 25 s
33002536 09/2020
149
IMC
Schéma fonctionnel du correcteur IMC
Schéma fonctionnel
Le schéma fonctionnel du correcteur à modèle est le suivant :
150
33002536 09/2020
IMC
Erreur d'exécution
Surveillance de l'exécution
Une erreur d'exécution est signalée dans les cas suivants :



Une donnée d'entrée non réelle est détectée sur un des paramètres.
Un problème apparaît dans un calcul à virgule flottante.
L'échelle de sortie n'est pas cohérente au moment du démarrage à froid du contrôleur
(OUT_INF >= OUT_SUP).
Dans tous les cas, l'erreur est considérée comme grave. La sortie de boucle est gelée et les
erreurs sont signalées dans les mots d'état.
Mot d'état
Le mot d'état communique les messages suivants :
Bit
Signification
bit 0 = 1
Erreur lors d'un calcul impliquant les valeurs à virgule flottante
bit 1 = 1
Valeur non admissible détectée sur une des entrées à virgule flottante
bit 2 = 1
Division par zéro dans un calcul à virgule flottante
bit 4 = 1
Les comportements suivants sont signalés :
 L'entrée SP déborde de la zone [pv_inf, pv_sup] : le bloc fonction utilise la
valeur pv_inf ou pv_sup pour le calcul.
 Le paramètre kp ou dband est négatif : le bloc fonction utilise la valeur 0 à
la place du paramètre incorrect.
 Le paramètre outbias sort de la zone [(out_min - out_max), (out_max out_min)]. Le bloc fonction utilise la valeur (out_inf - out_sup) ou (out_sup out_inf) pour le calcul.
bit 5 = 1
La sortie OUT a atteint la limite inférieure out_min
bit 6 = 1
La sortie OUT a atteint la limite supérieure out_max ou (si elle est inférieure)
l'échelle haute de la sortie out_sup
bit 7 = 1
Les limites pv_inf et pv_sup sont identiques
bit 8 = 1
Le tampon de retard pur n'existe pas
NOTE : Lorsqu'une erreur de calcul à virgule flottante se produit, la sortie d'état renvoie un code
d'erreur (voir page 364).
33002536 09/2020
151
IMC
152
33002536 09/2020
EcoStruxure™ Control Expert
PI_B
33002536 09/2020
Chapitre 16
PI_B : Automate PI simple
PI_B : Automate PI simple
Introduction
Ce chapitre décrit le bloc PI_B.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
154
Formules
158
Paramétrage
159
Equations détaillées
162
Erreur d’exécution
164
33002536 09/2020
153
PI_B
Description
Description de la fonction
Le bloc fonction PI_B décrit un algorithme PI à structure mixte (série/parallèle). Ses fonctions
dérivent du bloc fonction PIDFF (voir page 167). Ces fonctions permettent au bloc fonction
d'exécuter des applications de régulation standard, sans compromettre la convivialité ou utiliser
trop de ressources système. Toutefois, pour les tâches de régulation difficiles nécessitant des
fonctions de régulation étendues, il est conseillé d'utiliser le bloc PIDFF.
EN et ENO peuvent être configurés comme paramètres supplémentaires.
Fonctions
Les fonctions les plus importantes du bloc fonction PI_B sont :
 Calcul du composant proportionnel et intégral sous forme incrémentale
 Valeur courante, valeur de seuil et valeur par défaut en unités physiques
 Action directe ou inverse
 Possibilité de mettre à niveau un composant I externe au bloc (entrée RCPY)
 Zone morte sur l'écart
 Valeur incrémentale et valeur absolue par défaut
 Valeur limite supérieure et inférieure du signal par défaut
 Offset de sortie
 Sélection du mode manuel/automatique
 Mode Tracking
 Valeur limite supérieure et inférieure de la valeur de seuil
Fonctions étendues
Comme PIDFF, ces fonctions peuvent être étendues à l'aide de blocs fonctions supplémentaires :
Réglage du contrôle automatique par le bloc AUTOTUNE
 Sélection de la valeur du seuil interne ou externe par le bloc SP_SEL
 Le contrôle du fonctionnement manuel des boucles échantillonnées de servomoteurs
(voir page 36) à l'aide du bloc fonction MS

154
33002536 09/2020
PI_B
Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
33002536 09/2020
155
PI_B
Représentation dans IL
Représentation :
CAL PI_B_Instance (PV:=ProcessValue, SP:=SetPoint,
RCPY:=CopyOfRealAction, MAN_AUTO:=OperatingModeFlag, PARA:=Parameters,
TR_I:=InitializationInput, TR_S:=InitializationOrder,
OUT:=AbsoluteOutput, OUTD=>IncrementalOutput,
MA_O=>CurrentBlockOperatingMode, DEV=>ValueOfDeviation,
STATUS=>StatusWord)
Représentation dans ST
Représentation :
PI_B_Instance (PV:=ProcessValue, SP:=SetPoint, RCPY:=CopyOfRealAction,
MAN_AUTO:=OperatingModeFlag, PARA:=Parameters,
TR_I:=InitializationInput, TR_S:=InitializationOrder,
OUT:=AbsoluteOutput, OUTD=>IncrementalOutput,
MA_O=>CurrentBlockOperatingMode, DEV=>ValueOfDeviation,
STATUS=>StatusWord) ;
Description du paramètre PI_B
ATTENTION
COMPORTEMENT IMPREVU DE L'APPLICATION
Ne pas régler le type de données du paramètre d'entrée PARA sur constante (dans l'onglet des
attributs généraux de la fenêtre Propriétés des données).
Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels.
Description des paramètres d'entrée :
156
Paramètre
Type
Signification
PV
REAL
Valeur de procédé
SP
REAL
Seuil
RCPY
REAL
Copie de la position effective de l'actionneur
MAN_AUTO
BOOL
Mode fonctionnement du régulateur
"1" : Mode automatique
"0" : Mode manuel
PARA
Para_PI_B
Paramètre
TR_I
REAL
Entrée d'initialisation
TR_S
BOOL
Commande d'initialisation
33002536 09/2020
PI_B
Description du paramètre d'entrée/sortie :
Paramètre
Type
Signification
OUT
REAL
Sortie de l'actionneur
Description des paramètres de sortie :
Paramètre
Type
Signification
OUTD
REAL
Différence de sortie différentielle entre la sortie de
l'exécution courante et celle de l'exécution
précédente
MA_O
BOOL
Mode de marche courant du bloc fonction :
"1": Mode automatique
"0": autre mode (manuel ou tracking)
DEV
REAL
Valeur d'écart (PV - SP)
STATUS
WORD
Mot d'état
Description des paramètres de Para_PI_B
Description de la structure de données
Elément
Type
Signification
id
UINT
Réservé pour l'autoréglage
pv_inf
REAL
Valeur inférieure de la plage des valeurs de procédé
pv_sup
REAL
Valeur supérieure de la plage des valeurs de
procédé
out_inf
REAL
Limite inférieure de la plage des valeurs de sortie
out_sup
REAL
Limite supérieure de la plage des valeurs de sortie
rev_dir
BOOL
"0": action directe de l'automate PID
"1": action inverse de l'automate PID
en_rcpy
BOOL
"1": l'entrée RCPY est utilisée
kp
REAL
Contribution proportionnelle (gain)
ti
TIME
Temps d'action d'intégrale
dband
REAL
Zone morte sur l'écart
outbias
REAL
Réglage manuel de l'écart statique
33002536 09/2020
157
PI_B
Formules
Fonction de transfert
La fonction de transfert est la suivante :
Formules de calcul :
Les formules réellement utilisées varient en fonction de l'algorithme incrémental ou absolu
employé par le bloc fonction.
En simplifiant à l'extrême, le bloc fonction appliquer les formules suivantes :
Algorithme
ti
Absolu
0
Incrémental
>0
Formules
Explication des valeurs de formules
Vous trouverez ci-après la signification des valeurs de formule :
158
Tailles
Signification
(new)
Valeur calculée lors du cycle actuel du bloc fonction
(old)
Valeur calculée lors du cycle précédent du bloc fonction
OUT
Sortie en valeur absolue
OUTD
Sortie en valeur incrémentale
TermI
Valeur de la composante intégrale (fonction de l'algorithme)
TermP
Valeur de la composante proportionnelle (fonction de l'algorithme)
33002536 09/2020
PI_B
Paramétrage
Schéma fonctionnel du régulateur PI_B
Schéma fonctionnel du régulateur PI_B :
Algorithmes absolus
L'algorithme absolu est employé si aucune composante I n'est présente (lorsque ti = 0) Dans ce
cas, la sortie OUT est calculée en premier lieu et la modification de sortie en est déduite.
33002536 09/2020
159
PI_B
Algorithmes incrémentaux
Les algorithmes incrémentaux sont employés si une composante I est présente (lorsque ti > 0).
Cet algorithme est particulier en ce sens qu'il calcule d'abord la modification de sortie OUTD pour
ensuite déterminer la sortie en valeur absolue au moyen de la formule suivante :
Cet algorithme permet d'intercaler un bloc fonction SERVO en aval du régulateur afin d'obtenir une
régulation statique.
En outre, l'algorithme incrémental permet de configurer une composante intégrale externe au
module dans les applications de régulation où le comportement réellement activé diverge du
comportement calculé par le régulateur (en cas de boucle ouverte). Dans ce cas, il est
recommandé d'employer une valeur réelle pour le calcul. Si une telle valeur est disponible, elle doit
être affectée à l'entrée RCPY et le paramètre en_rcpy doit être réglé sur 1. Pour le calcul donc,
l'équation
devient
Ce dispositif est avantageux pour la régulation en cascade ou analogue.
NOTE : la sortie OUT n'est pas limitée pour mettre à niveau une composante intégrale externe
(en_rcpy=1).
Bande morte sur l'écart (dband)
La bande morte permet de limiter les petits à-coups de compensation concernant la valeur de
l'actionneur, et ce lorsque le point de fonctionnement est atteint. Tant que le décalage reste sous
dband (en valeurs absolues), le bloc fonction prend pour base la valeur zéro.
Représentation de la bande morte sur l'écart (dband)
160
33002536 09/2020
PI_B
Autres propriétés
Ce bloc fonction possède les propriétés suivantes :
L'utilisation du paramètre outbias permet de régler précisément le point de fonctionnement
lorsque aucune composante intégrale n'est présente (ti = 0)
 Dans tous les modes de fonctionnement, la sortie OUT est limitée dans une plage entre
out_inf et out_sup. Lorsque la valeur calculée par le bloc fonction (ou saisie en mode
manuel par l'opérateur) dépasse une de ces valeurs limites, la valeur de OUT est écrêtée. La
sortie incrémentale OUTD ne tient pas compte de cet écrêtage. Ceci permet au PI_B de
commander un bloc fonction SERVO sans avoir à retourner la position de l'actionneur (régulation
continue).
 La sélection de l'action directe/inverse (paramètre rev_dir) permet d'adapter la direction du
régulateur à la liaison actionneur/procédé de mesure.
 Limitation de la consigne entre pv_inf et pv_sup.
 Le bloc fonction peut fonctionner en mode intégral pur (avec kp = 0).

Mode de marche
Le bloc fonction PI_B présente les trois modes de fonctionnement suivants : Automatique, Manuel
et Tracking Le mode Tracking est prioritaire sur les autres modes de fonctionnement.
Les modes de fonctionnement peuvent être sélectionnés au moyen des entrées MAN_AUTO et
TR_S.
Mode de marche
TR_S
MAN_AUTO
Signification
Automatique
0
1
Les sorties OUT et OUTD correspondent
au résultat des calculs effectués par le
bloc fonction.
Manuel
0
0
Le bloc fonction n'affecte aucune valeur
à la sortie OUT pour permettre à
l'utilisateur de modifier cette valeur
directement.
Tracking
1
0 ou 1
L'entrée TR_I est transmise à la sortie
OUT.
Commutation des modes de fonctionnement
La commutation Manuel → Automatique ou Tracking → Automatique s'effectue comme suit :
 En cas d'algorithme incrémental(ti > 0), la commutation s'effectue sans à-coups.
 En cas d'algorithme absolu (ti = 0), la commutation s'effectue avec à-coups.
33002536 09/2020
161
PI_B
Equations détaillées
Convention
Les équations suivantes utilisent différentes variables et fonctions. Les variables correspondant
aux paramètres de bloc ne sont pas récrites à ce stade.
Les intervariables les plus importantes et les fonctions appliquées sont néanmoins décrites dans
le tableau suivant :
Intervariables/fonction
Signification
dt
Intervalle de temps depuis la dernière exécution du bloc
fonction
(new)
Valeur calculée lors de l'exécution courante du bloc fonction
(old)
Valeur calculée lors de l'exécution précédente du bloc
fonction
TermI
Valeur du composant intégral (en fonction de l'algorithme)
TermP
Valeur du composant proportionnel (en fonction de
l'algorithme)
sense
Sens de contrôle avec les directions d'effet suivantes :
 +1
Il s'agit d'une action inverse (rev_dir = 1), c'est-à-dire
qu'un écart positif (PV - SP) génère une valeur de sortie
supérieure.
 -1
Il s'agit d'une action directe (rev_dir = 0), c'est-à-dire
qu'un écart positif (PV - SP) génère une valeur de sortie
inférieure.
Fonction Δ
Fonction "Limite"
Fonction limite de la sortie du bloc
Algorithme absolu
Les équations suivantes s'appliquent aux automates proportionnels (ti = 0) :
162
33002536 09/2020
PI_B
Algorithme incrémental
Les équations suivantes s'appliquent pour les automates de type PI (ti > 0) :
Si en_rcpy = 0, alors :
Si en_rcpy = 1, alors :
Valeur du composant proportionnel TermP
Valeur du composant intégral TermI, si kp > 0 :
Valeur du composant intégral TermI si kp = 0 (opération intégrale pure) :
33002536 09/2020
163
PI_B
Erreur d’exécution
Mot d'état
Le mot d'état fournit les informations suivantes :
Bit
Description
Bit 4 = 1
Le comportement suivant s'affiche :
 L'entrée SP déborde de la zone [pv_inf, pv_sup] : le bloc fonction
emploie la valeur pv_inf ou pv_sup pour le calcul.
 Le paramètre kp ou dband est négatif. Le bloc fonction utilise la valeur 0
en dehors de la valeur de paramètre incorrecte.
 Le paramètre outbias sort de la zone [(out_inf - out_sup),
(out_sup - out_inf)]. Le bloc fonction utilise la valeur (out_inf out_sup) ou (out_sup - out_inf) pour le calcul.
Bit 5 = 1
La sortie OUT a atteint la limite inférieure out_min (voir Note)
Bit 6 = 1
La sortie OUT a atteint la limite supérieure out_max (voir Note)
Bit 7 = 1
Les valeurs limites pv_inf et pv_sup sont identiques
Si une erreur apparaît lors du traitement d'une valeur en virgule flottante, cela apparaît également
à la sortie Etat. Pour obtenir la liste des codes d'erreur de virgule flottante possibles, voir Erreurs
courantes relatives aux valeurs à virgule flottante, page 364.
Note pour la sortie OUT
NOTE : en mode manuel, ces bits restent à un pendant un seul cycle de programme. Lorsque
l'utilisateur saisit en OUT une valeur qui dépasse l'une des valeurs limites, le bloc fonction attribue
la valeur 1 au bit 5 ou 6, et écrête la valeur saisie par l'opérateur. Lors de l'exécution suivante du
bloc fonction, la valeur de OUT ne dépasse plus de la zone et les bits 5 et 6 sont remis à 0.
Message d'erreur
Une erreur est signalée en cas de saisie d'une valeur non flottante à une entrée, en cas d'incident
lors d'un calcul avec des valeurs réelles ou en cas d'égalité des valeurs limites pv_inf et pv_sup.
Les sorties OUT, OUTD, MA_O et DEV restent inchangées.
NOTE : pour une liste des valeurs et des codes d'erreur de bloc, reportez-vous aux Automate,
page 358.
164
33002536 09/2020
PI_B
Message d'avertissement
Un message d'avertissement est émis dans les cas suivants :
L'un des paramètres kp ou dband est négatif. Le bloc fonction utilise la valeur 0 à la place de
la valeur de paramètre incorrecte.
 Le paramètre outbias se trouve en dehors de la zone [(out_inf - out_sup), (out_sup out_inf)]. Le bloc fonction utilise la valeur (out_inf - out_sup) ou (out_sup - out_inf)
pour le calcul.

33002536 09/2020
165
PI_B
166
33002536 09/2020
EcoStruxure™ Control Expert
PIDFF
33002536 09/2020
Chapitre 17
PIDFF : Automate PID complet
PIDFF : Automate PID complet
Introduction
Ce chapitre décrit le bloc PIDFF.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
168
Formules
173
Schéma structurel du régulateur PIDFF
175
Paramétrage
176
Modes de fonctionnement
180
Equations détaillées
181
Equations détaillées : régulateur PID à algorithme incrémentiel
183
Equations détaillées : algorithmes incrémentiels en mode intégral
185
Exemples de bloc fonction PIDFF
187
Erreur d’exécution
192
33002536 09/2020
167
PIDFF
Description
Description de la fonction
Le bloc fonction PIDFF est basé sur un algorithme PID à structure parallèle ou mixte (série /
parallèle).
EN et ENO peuvent être configurés comme paramètres supplémentaires.
Fonctions
Ce bloc affiche plusieurs fonctions :
Calcul du composant proportionnel, intégral et différentiel dans sa forme incrémentale
 2 mesures anti-enroulement
 Valeur, seuil et sortie réels en unités physiques
 Action directe ou inverse
 Composant différentiel pour traiter la valeur ou l'écart
 Paramétrage du gain de transfert du composant différentiel
 Pondération du seuil de la composante proportionnelle (amortissement du débordement)
 Possibilité de mettre à niveau un composant entier externe au bloc (entrée RCPY)
 Composant Feed forward pour la compensation de la perturbation (entrée FF)
 Zone morte sur l'écart
 Sortie de la valeur incrémentale et de la valeur absolue
 Limite supérieure et inférieure sur le signal de sortie (selon le mode de marche)
 Limite de gradient du signal de sortie
 Offset de sortie
 Sélection du mode manuel/automatique
 Mode Tracking
 Limite supérieure et inférieure de seuil

Fonctions complémentaires
D'autres blocs fonctions complémentent ces fonctions lorsqu'elles sont utilisées avec le bloc
PIDFF :
 Autoréglage avec le bloc fonction AUTOTUNE
 Sélection d'un seuil interne ou externe avec le bloc fonction SP_SEL
 Le contrôle du fonctionnement manuel des boucles de contrôle échantillonnées (voir page 36)
à l'aide du bloc fonction MS ou MS_DB (voir page 285).
168
33002536 09/2020
PIDFF
Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
33002536 09/2020
169
PIDFF
Représentation dans IL
Représentation :
CAL PIDFF_Instance (PV:=ProcessVariable, SP:=Setpoint,
FF:=FeedForwardInput, RCPY:=CopyOfRealAction, MAN_AUTO:=OperatingMode,
PARA:=Parameters, TR_I:=InitializationInput, TR_S:=InitializationOrder,
OUT:=AbsoluteOutput, OUTD=>IncrementalOutput,
MA_O=>CurrentOperatingMode, INFO=>Information, STATUS=>StatusWord)
Représentation dans ST
Représentation :
PIDFF_Instance (PV:=ProcessVariable, SP:=Setpoint, FF:=FeedForwardInput,
RCPY:=CopyOfRealAction, MAN_AUTO:=OperatingMode, PARA:=Parameters,
TR_I:=InitializationInput, TR_S:=InitializationOrder,
OUT:=AbsoluteOutput, OUTD=>IncrementalOutput,
MA_O=>CurrentOperatingMode, INFO=>Information, STATUS=>StatusWord) ;
Description des paramètres de PIDFF
ATTENTION
COMPORTEMENT IMPREVU DE L'APPLICATION
Ne pas régler le type de données du paramètre d'entrée PARA sur constante (dans l'onglet des
attributs généraux de la fenêtre Propriétés des données).
Le non-respect de ces instructions peut provoquer des blessures ou des dommages matériels.
Description des paramètres d'entrée :
170
Paramètre
Type
Description
PV
REAL
Valeur de procédé
SP
REAL
Seuil
FF
REAL
Entrée des perturbations
RCPY
REAL
Copie de la variable manipulée actuelle
MAN_AUTO
BOOL
Mode fonctionnement du régulateur
"1": Mode automatique
"0": Mode manuel
PARA
Para_PIDFF
Paramètre
TR_I
REAL
Entrée d'initialisation
TR_S
BOOL
Commande d'initialisation
33002536 09/2020
PIDFF
Description des paramètres d'entrée/sortie :
Paramètre
Type
Description
OUT
REAL
Valeur absolue
Description des paramètres de sortie :
Paramètre
Type
Description
OUTD
REAL
Sortie de la valeur incrémentale : différence entre la sortie
du cycle actuel et celle du cycle précédent
MA_O
BOOL
Mode de marche courant du bloc fonction :
"1": Mode automatique
"0": autre mode (manuel ou tracking)
INFO
Info_PIDFF
Informations
STATUS
WORD
Mot d'état
Description des paramètres de Para_PIDFF
Description de la structure de données
Elément
Type
Description
id
UINT
Réservé pour l'autoréglage
pv_inf
REAL
Valeur inférieure de la plage des valeurs de procédé
pv_sup
REAL
Valeur supérieure de la plage des valeurs de procédé
out_inf
REAL
Limite inférieure de la plage des valeurs de sortie
out_sup
REAL
Limite supérieure de la plage des valeurs de sortie
rev_dir
BOOL
"0": action inverse de l'automate PID
"1": action directe de l'automate PID
mix_par
BOOL
"1": automate PID avec structure parallèle
"0": automate PID avec structure mixte
aw_type
BOOL
"1": l'arrêt anti-enroulement est filtré
en_rcpy
BOOL
"1": l'entrée RCPY est utilisée
kp
REAL
Coefficient de l'action proportionnelle (gain)
ti
TIME
Temps d'action d'intégrale
td
TIME
Temps d'action dérivée
kd
REAL
Gain différentiel
pv_dev
BOOL
Type de contribution différentielle :
"1": contribution différentielle en rapport avec l'écart du système
"0": contribution différentielle en rapport avec la variable de
régulation (mesure)
33002536 09/2020
171
PIDFF
Elément
Type
Description
bump
BOOL
"1": transition vers le mode automatique avec à-coup
"0": transition vers le mode automatique sans à-coup
dband
REAL
Zone morte sur l'écart
gain_kp
REAL
Réduction de la contribution proportionnelle dans la zone morte
dband
ovs_att
REAL
Réduction du dépassement
outbias
REAL
Compensation manuelle de l'écart statique
out_min
REAL
Limite inférieure de la sortie
out_max
REAL
Limite supérieure de la sortie
outrate
REAL
Limite de la modification de la sortie en unités par seconde (≥ 0)
ff_inf
REAL
Valeur inférieure de la plage FF
ff_sup
REAL
Valeur supérieure de la plage FF
otff_inf
REAL
Valeur inférieure de la plage out_ff
otff_sup
REAL
Valeur supérieure de la plage out_ff
Description des paramètres de Info_PIDFF
Description de la structure de données
Elément
172
Type
Description
dev
REAL
Valeur d'écart (PV - SP)
out_ff
REAL
Valeur de la contribution Feed Forward
33002536 09/2020
PIDFF
Formules
Fonction de transfert
Selon que la structure utilisée est mixte ou parallèle, transformée est la suivante :
Structure
Formules
Mixte
Parallèle
avec α = facteur
de mise à l'échelle
Formules de calcul
Les formules réellement utilisées varient en fonction de la forme incrémentale ou absolue de
l'algorithme employé par le bloc fonction.
En simplifiant à l'extrême, le bloc fonction applique les formules suivantes :
Algorithme
ti
Absolu
0
Incrémental
>0
33002536 09/2020
Formules
173
PIDFF
Explication des grandeurs de formules
Vous trouverez ci-après la signification des grandeurs de formule :
174
Tailles
Signification
(new)
Valeur calculée lors du cycle actuel du bloc fonction
(old)
Valeur calculée lors du cycle précédent du bloc fonction
OUT
Sortie en valeur absolue
OUTD
Sortie en valeur incrémentale
TermD
Valeur de la composante différentielle
TermFF
Valeur de la composante Feed-Forward (compensation de la perturbation)
TermI
Valeur de la composante intégrale
TermP
Valeur de la composante proportionnelle
33002536 09/2020
PIDFF
Schéma structurel du régulateur PIDFF
Schéma fonctionnel
Structure du régulateur PIDFF :
33002536 09/2020
175
PIDFF
Paramétrage
Structure mixte/parallèle (mix_par)
Le paramètre mix_par permet de sélectionner la structure :
Si
Alors
mix_par = 0
la structure est mixte, c'est-à-dire que la composante proportionnelle est
située à la suite de la composante intégrale et de la composante
différentielle. Le gain K des composantes (voir Schéma fonctionnel,
page 175) correspond à kp.
mix_par = 1
la structure est parallèle, c'est-à-dire que le gain proportionnel est parallèle
au gain intégral et au gain différentiel. Dans ce cas, le gain kp ne s'applique
pas à la composante intégrale et à la composante différentielle. Dans ce cas,
le gain K correspond au ratio entre la sortie et la gamme.
Algorithmes absolus (ti = 0)
Les algorithmes absolus sont utilisés lorsque aucune composante intégrale n'est attribuée (ti =
0). Dans ce cas, la sortie OUT est calculée en premier lieu et la modification de sortie est ensuite
déduite.
Algorithmes incrémentaux (ti > 0)
Les algorithmes incrémentaux sont employés si une composante intégrale est présente (lorsque
ti > 0). Cet algorithme est particulier en ce sens qu'il calcule d'abord la modification de sortie
OUTD pour ensuite déterminer la sortie en valeur absolue au moyen de la formule suivante :
Cette forme d'algorithme permet d'intercaler un bloc fonction SERVO en aval du régulateur afin
d'obtenir une régulation astatique.
176
33002536 09/2020
PIDFF
En outre, cette forme incrémentale offre les fonctionnalités suivantes :
Fonctionnalité
Commentaires
Composante intégrale
externe au module
(avec en_rcpy = 1)
Lorsque la composante réelle diverge de la valeur calculée par le régulateur (en
cas de boucle ouverte), le calcul doit prendre pour base la valeur réelle. Si une telle
valeur est disponible, elle doit être affectée à l'entrée RCPY et le paramètre
en_rcpy doit être mis à 1. Lorsque le bloc fonction exécute les calculs, l'équation
OUT(new) = OUT (old) + OUTD
devient
OUT (new) = RCPY+ OUTD
Ce dispositif est intéressant pour la régulation en cascade ou analogue au mode
cascade.
Note : dans ce cas, la sortie OUT n'est pas limitée.
Fonction antisaturation
avancée
La forme incrémentale du régulateur PID propose, par défaut, une fonction
d'antisaturation prise en compte dans l'algorithme. Ce type est la base quand
aw_type = 0. Dans ce cas, il est possible que la sortie soit saturée et s'éloigne
subitement de sa valeur limite, même si le signe du décalage ne change pas (par
ex. en raison d'une légère perturbation pendant la mesure). Vous pouvez alors
mettre en œuvre une deuxième fonction antisaturation (aw_type = 1) qui évite que
la sortie dépasse sa valeur limite tant que le décalage ne change pas le signe.
Pondération de la consigne de la composante proportionnelle (amortissement du débordement)
Lorsque la composante intégrale existe (ti > 0), le paramètre ovs_att permet de pondérer la
composante proportionnelle. Le calcul de la composante proportionnelle repose alors sur le
décalage pondéré (
).
Ainsi, il est possible d'influencer un débordement susceptible de survenir lors des modifications de
consignes. L'objectif est d'obtenir une composante proportionnelle intensive et, par conséquent,
une réponse dynamique aux perturbations tout en évitant les débordements lors de la régulation.
Le paramètre ovs_att peut continuellement osciller entre :
Valeur
Signification
0
le décalage (écart de régulation) de la composante proportionnelle active (cas classique)
1
la mesure (grandeur de régulation) de la composante proportionnelle active (lors des procédés
sensibles ou des procédés intégraux).
33002536 09/2020
177
PIDFF
Bande morte sur l'écart (dband)
Lorsque le point de fonctionnement est atteint, la bande morte permet de limiter les valeurs plus
faibles de l'actionneur. Tant que le décalage reste sous dband, le calcul du bloc fonction prend
pour base la valeur zéro.
Dans la bande morte, le paramètre avancé gain_kp peut être utilisé pour modifier le décalage.
Cette opération est préférable à une suppression pure et simple. La modification du décalage
(multiplié par gain_kp) permet de calculer la composante proportionnelle et la composante
intégrale.
Représentation de la modification du décalage
Gain de transition de la composante différentielle
Le bloc fonction PIDFF contient un filtre de premier ordre pour la composante différentielle. Vous
pouvez paramétrer le gain de filtre kd pour traiter des procédés qui nécessitent un filtrage très
intense de la composante différentielle, mais aussi des procédés qui n'exigent pas un filtrage de
cette composante puisque le signal est assez « pur ».
178
33002536 09/2020
PIDFF
Composante Feed-Forward de compensation des perturbations (entrée FF)
Lors d'une régulation PID classique, le régulateur réagit aux modifications de sortie du procédé de
régulation (en cas de boucle fermée). En cas de perturbation, le régulateur ne réagit que si la
mesure s'écarte de la consigne. La fonction Feed-Forward permet de compenser une perturbation
mesurable dès qu'elle se produit. Cette fonction conçue comme une boucle ouverte supprime les
effets de la perturbation. Dans ce cas, on parle d'ajustement des grandeurs perturbatrices (Feed
Forward).
La composante de l'entrée Feed Forward à la sortie du régulateur est ajustée après la prise en
compte du sens de régulation direct ou inverse.
Le calcul s'exécute selon la formule suivante :
Un exemple d'application concret de cette fonction est présenté dans la section Exemple
d'application de la fonction Feed Forward, page 187.
NOTE : si ff_sup = ff_inf, le calcul de la composante Feed_Forward est ignoré.
Autres propriétés
Ce bloc fonction possède les propriétés suivantes :
 Le paramètre outbias permet de préciser que le procédé ne contient pas de composante
intégrale (ti= 0).
 La sortie OUT est limitée entre out_min et out_max en mode automatique et entre out_inf
et out_sup en mode manuel et Tracking. Lorsque la valeur calculée par le bloc fonction (ou
saisie en mode manuel par l'opérateur) dépasse une de ces valeurs limites, la valeur de OUT
est écrêtée. La sortie incrémentale OUT_D ne tient pas compte de cet écrêtage. Ceci permet au
bloc fonction PIDFF de commander un bloc fonction SERVO sans avoir à retourner la position
de l'actionneur (régulation continue).
 La pente de variation de la sortie est limitée par le paramètre outrate.
 La sélection de l'action directe/inverse (paramètre rev_dir) permet d'adapter le sens de
régulation à la liaison actionneur/procédé.
 La composante différentielle peut avoir un impact sur la mesure (pv_dev = 0), mais aussi sur
le décalage (pv_dev = 1)
 pv_inf et pv_sup correspondent à la valeur inférieure et à la valeur supérieure de la consigne.
 Le bloc fonction peut aussi fonctionner en mode intégral pur (avec kp= 0).
33002536 09/2020
179
PIDFF
Modes de fonctionnement
Sélection des modes de fonctionnement
Le bloc fonction PIDFF dispose de 3 modes de fonctionnement : Automatique, Manuel et Tracking
Le mode Tracking est prioritaire sur les autres modes de fonctionnement, comme le montre le
tableau ci-dessous.
Les modes de fonctionnement sont sélectionnés au moyen des entrées MAN_AUTO et TR_S :
Mode de
fonctionnement
TR_S
MAN_AUTO
Signification
Automatique
0
1
Les sorties OUT et OUTD correspondent au résultat des
calculs effectués par le bloc fonction. Les valeurs limites de
la sortie OUT sont out_min et out_max.
Manuel
0
0
Le bloc fonction n'affecte pas de valeur à la sortie OUT.
L'utilisateur peut modifier directement cette valeur. Dans ce
mode de fonctionnement, OUT restant limité, les valeurs
limites out_inf et out_sup s'appliquent (au lieu de
out_min et out_max en mode automatique).
Tracking
1
0 ou 1
L'entrée TR_I est transmise à la sortie OUT. Comme en
mode manuel, OUT se situe entre les valeurs limites
out_inf et out_sup.
Commutation Manuel-> Automatique ou Tracking -> Automatique
Le mode de commutation dépend du bump :
180
Lorsque
Alors
bump = 0
la commutation s'effectue sans à-coups.
Nota : Si ti = 0, le paramètre outbias est recalculé. Ainsi, les valeurs OUT peuvent redémarrer
sans à-coups en commençant par la dernière valeur du mode de fonctionnement précédent :
bump = 1
la commutation peut s'effectuer avec à-coups.
33002536 09/2020
PIDFF
Equations détaillées
Vue d'ensemble
Cette section présente les équations détaillées pour les situations suivantes :
Conventions applicables aux principales variables intérim et aux fonctions utilisées dans les
équations



Algorithme absolu, page 182
Régulateur PID à algorithme incrémentiel, page 183



Algorithmes incrémentaux normaux (aw_type = 0)
Avec mesure sans à-coup anti-enroulement (aw_type = 1)
Algorithmes incrémentiels en mode intégral, page 185


Algorithmes incrémentaux normaux (aw_type = 0)
Avec mesure sans à-coup anti-enroulement (aw_type = 1)
Convention
Plusieurs variables et fonctions différentes sont utilisées dans les équations suivantes. Les
variables correspondant aux paramètres du bloc fonction ne sont pas décrites à ce stade.
Les principales variables intérim et fonctions utilisées sont décrites dans les tableaux ci-dessous.
Explication des variables intérim
Le tableau ci-dessous explique le rôle des principales variables intérim.
Variable intérim
Signification
DEV_WGH
DEV_WGH = PV - (1 - ovs_att) * SP
dt
Temps écoulé depuis la dernière exécution du bloc fonction.
K
Gain des composants intégral et différentiel.
Le gain varie en fonction de la structure du bloc fonction (mixte ou parallèle) et
dépend de l'affectation ou non du composant différentiel.
 Si mix_par = 0 (structure mixte) et kp <> 0, alors K = kp s'applique.
 Si mix_par = 1 (structure parallèle) ou que kp – 0, alors l'équation suivante
s'applique :)
(new)
Valeur calculée lors de l'exécution en cours du bloc fonction
(old)
Valeur calculée lors de la précédente exécution du bloc fonction
OUTc
Avant la limitation de la valeur de sortie calculée
sense
Paramètres de contrôle
TermAW
Valeur de la mesure sans à-coup anti-enroulement
TermD
Valeur du composant différentiel
33002536 09/2020
181
PIDFF
Variable intérim
Signification
TermFF
Valeur du composant Feed Forward (compensation des perturbations)
TermI
Valeur du composant intégral
TermP
Valeur du composant proportionnel
VAR
Pour le calcul de la variable utilisée par le composant différentiel.
Sa valeur dépend du paramètre pv_dev :
 Si pv_dev = 0, alors VAR = PV
 Si pv_dev = 1, alors VAR = dev
Explication des fonctions
Le tableau ci-dessous explique le rôle des principales fonctions.
Fonction
Signification
Paramètre de contrôle Le paramètre de contrôle offre les directions suivantes d'action :
 +1
Il s'agit d'une action inverse (rev_dir = 1), c'est-à-dire qu'un écart positif (PV SP) génère une valeur de sortie supérieure.
 -1
Il s'agit d'une action directe (rev_dir = 0), c'est-à-dire qu'un écart positif (PV SP) génère une valeur de sortie inférieure.
Fonction Δ
"Limite"
Fonction de limitation de la sortie du bloc fonction
Algorithme absolu
Les équations suivantes s'appliquent aux automates PD (ti = 0) :
Valeur du composant proportionnel TermP
Valeur du composant différentiel TermD
Valeur du composant Feed Forward TermFF
182
33002536 09/2020
PIDFF
Equations détaillées : régulateur PID à algorithme incrémentiel
Régulateur PID à algorithme incrémentiel
Pour le régulateur PID (ti > 0), les équations sont réparties en plusieurs catégories en fonction
de l'élément aw_type.
Elément
Signification
aw_type = 0
Algorithmes incrémentiels normaux
aw_type = 1
Avec mesures anti-enroulement sans à-coups
Régulateur PID : aw_type = 0
Les équations suivantes s'appliquent aux algorithmes incrémentiels normaux des régulateurs
PID :
Si en_rcpy = 0, alors :
Si en_rcpy = 1, alors :
Valeur de la composante proportionnelle TermP :
Valeur de la composante intégrale TermI :
Valeur de la composante différentielle TermD
Valeur de la composante Feed Forward TermFF
33002536 09/2020
183
PIDFF
Régulateur PID : aw_type = 1
Les équations suivantes s'appliquent aux algorithmes incrémentiels des régulateurs PID avec
mesures anti-enroulement sans à-coups :
Valeur de la composante proportionnelle TermP :
Valeur de la composante intégrale TermI :
Valeur de la composante différentielle TermD
Valeur de la composante Feed Forward TermFF
Valeur de la mesure anti-enroulement sans à-coups TermAW
Si en_rcpy = 0, alors :
Si en_rcpy = 1, alors :
184
33002536 09/2020
PIDFF
Equations détaillées : algorithmes incrémentiels en mode intégral
Algorithmes incrémentiels en mode intégral
Le régulateur peut être configuré en mode purement intégral (kp = 0).
Là encore, les équations sont réparties en catégories en fonction de l'élément aw_type :
Elément
Signification
aw_type = 0
Algorithmes incrémentiels normaux
aw_type = 1
Avec mesures anti-enroulement sans à-coups
Mode intégral : aw_type = 0
Les équations suivantes s'appliquent aux algorithmes incrémentiels normaux des régulateurs en
mode intégral :
Si en_rcpy = 0, alors :
Si en_rcpy = 1, alors :
Valeur de la composante intégrale TermI :
Valeur de la composante Feed Forward TermFF
33002536 09/2020
185
PIDFF
Mode intégral : aw_type = 1
Les équations suivantes s'appliquent aux algorithmes incrémentiels des régulateurs intégraux
avec mesures anti-enroulement sans à-coups :
Valeur de la composante intégrale TermI :
Valeur de la composante Feed Forward TermFF
Valeur de la mesure anti-enroulement sans à-coups TermAW
Si en_rcpy = 0, alors :
Si en_rcpy = 1, alors :
186
33002536 09/2020
PIDFF
Exemples de bloc fonction PIDFF
Index des exemples
Ce chapitre est consacré aux exemples suivants :


Exemple d'application de la fonction Feed Forward, page 187
Exemples classiques de régulations, programmées à l'aide du bloc fonction PIDFF :


Exemple de mise en cascade de deux régulateurs, page 189
Exemple de régulation analogue au mode cascade, page 191
Exemple d'application de la fonction Feed Forward
Sur un échangeur de chaleur, la température PV2 doit être réglée à la sortie du circuit secondaire.
Un régulateur PID commande la soupape d'entrée d'air chaud en fonction de PV2 et de la consigne
SP. Dans ce procédé de régulation, la température de l'eau froide est considérée comme une
grandeur perturbatrice mesurable.
La fonction Feed Forward permet de générer une réaction à la moindre modification de la
température de l'eau froide sans attendre la baisse de PV2.
Représentation de la boucle :
33002536 09/2020
187
PIDFF
Les hypothèses suivantes sont acceptées :
 La température de sortie du condensateur (température de l'eau froide) varie entre 5 °C et 25
°C avec une valeur moyenne de 15 °C.
 Une modification de température DT a un impact direct sur la température de sortie de
l'échangeur de chaleur.
 Pour compenser une hausse (ou une baisse) de température de 5 °C à la sortie de l'échangeur
de chaleur, la soupape à vapeur doit être fermée (ou ouverte) à 10 %.
Le paramètre d'entrée Feed Forward doit être réglé de telle manière que la température de l'eau
froide influence la soupape à vapeur comme suit :
Plage de température Effets
15 °C
inchangé
10 % par 5 °C entre 5
et 25 °C
Réglages à réaliser
188
Elément
Valeur
ff_sup
25 °C
ff_inf
5 °C
otff_sup
10 %
otff_inf
- 10 %
33002536 09/2020
PIDFF
Exemple de mise en cascade de deux régulateurs
Vous trouverez ci-après une représentation du schéma fonctionnel, partie 1 :
33002536 09/2020
189
PIDFF
Vous trouverez ci-après une représentation du schéma fonctionnel, partie 2 :
190
33002536 09/2020
PIDFF
Exemple de régulation analogue au mode cascade
Vous trouverez ci-après une représentation du schéma fonctionnel :
33002536 09/2020
191
PIDFF
Erreur d’exécution
Mot d'état
Le mot d'état fournit les informations suivantes :
Bit
Description
Bit 4 = 1
Les comportements suivants sont signalés :
 L'entrée SP déborde de la zone [pv_inf, pv_sup] : le bloc fonction emploie la valeur
pv_inf ou pv_sup pour le calcul.
 L'un des paramètres kp, dband, gain _kp ou outrate est négatif. Le bloc fonction
utilise la valeur 0 à la place de la valeur de paramètre incorrecte.
 kd < 1 (avec td <> 0) : le bloc fonction utilise la valeur 1 au lieu de la valeur incorrecte
de kd.
 Le paramètre ovs_att déborde de la zone [0, 1] : le bloc fonction emploie la valeur 0 ou
1 pour le calcul.
 Un des paramètres out_min ou out_max dépasse de la zone [out_inf, out_sup].
Le bloc fonction utilise la valeur out_inf ou out_sup pour le calcul.
 Un des paramètres outbias, otff_inf ou otff_sup sort de la zone [(out_min out_max), (out_max - out_min)]. Le bloc fonction utilise la valeur (out_min out_max) ou (out_max - out_min) pour le calcul.
Bit 5 = 1
La sortie OUT a atteint la limite inférieure out_min (voir Note)
Bit 6 = 1
La sortie OUT a atteint la limite supérieure out_max (voir Note)
Bit 7 = 1
Les valeurs limites pv_inf et pv_sup sont identiques
Si une erreur apparaît lors du traitement d'une valeur en virgule flottante, cela apparaît également
à la sortie Etat. Pour obtenir la liste des codes d'erreur de virgule flottante possibles, voir Erreurs
courantes relatives aux valeurs à virgule flottante, page 364.
Note pour la sortie OUT
NOTE : en mode manuel, ces bits restent à un pendant un seul cycle de programme. Lorsque
l'utilisateur saisit en OUT une valeur qui dépasse l'une des valeurs limites, le bloc fonction attribue
la valeur 1 au bit 5 ou 6, et écrête la valeur saisie par l'opérateur. Lors de l'exécution suivante du
bloc fonction, la valeur de OUT ne dépasse plus de la zone et les bits 5 ou 6 sont remis à zéro.
Message d'erreur
Une erreur est signalée en cas de détection d'une valeur non flottante à une entrée, en cas
d'incident lors d'un calcul en valeurs en virgule flottante ou en cas d'égalité des valeurs limites
pv_inf et pv_sup du régulateur. Dans ce cas, les sorties OUT, OUTD, MA_O et INFO restent
inchangées.
NOTE : pour une liste des valeurs et des codes d'erreur de bloc, reportez-vous aux Automate,
page 358.
192
33002536 09/2020
PIDFF
Message d'avertissement
Un message d'avertissement est émis dans les cas suivants :
Un des paramètres kp, dband, gain_kp, outrate est négatif : le bloc fonction utilise la
valeur 0 au lieu de la valeur incorrecte du paramètre.
 kd < 1 (avec td <> 0) : le bloc fonction utilise la valeur 1 au lieu de la valeur incorrecte de kd.
 Le paramètre ovs_att déborde de la zone [0, 1] : le bloc fonction emploie la valeur 0 ou 1 pour
le calcul.
 Le paramètre out_min ou out_max dépasse de la zone [out_inf, out_sup]. Le bloc
fonction utilise la valeur out_inf ou out_sup pour les calculs.
 Un des paramètres outbias, otff_inf ou otff_sup sort de la zone [(out_min out_max), (out_max - out_min)]. Le bloc fonction utilise la valeur (out_min - out_max)
ou (out_max - out_min) pour le calcul.

33002536 09/2020
193
PIDFF
194
33002536 09/2020
EcoStruxure™ Control Expert
SAMPLETM
33002536 09/2020
Chapitre 18
SAMPLETM : Temps échantillon
SAMPLETM : Temps échantillon
Description
Description du fonctionnement
Ce bloc fonction permet de libérer les blocs fonction de la technique de régulation de manière
temporisée.
Pour la commande, la sortie Q du bloc fonction SAMPLETM est reliée à l'entrée EN du bloc fonction
de technique de régulation à commander.
Après expiration de la période entrée dans INTERVAL, la sortie Q est activée pendant un cycle
programme.
L'entrée DELSCAN permet d'éviter l'exécution simultanée de plusieurs FFB à traitement cyclique
commandés par différents blocs fonction de type SAMPLETM. Cette entrée définit le nombre de
cycles pour retarder la sortie Q après un démarrage à froid. Cela permet de débloquer pas à pas
les blocs fonction à traitement cyclique et de réduire la charge pesant sur l'unité centrale pendant
le premier cycle.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation :
33002536 09/2020
195
SAMPLETM
Représentation en LD
Représentation :
Représentation en IL
Représentation :
CAL SAMPLETM_Instance (INTERVAL:=ScanTime,
DELSCAN:=NoOfDelayCycles, Q=>Enable)
Représentation en ST
Représentation :
SAMPLETM_Instance (INTERVAL:=ScanTime,
DELSCAN:=NoOfDelayCycles, Q=>Enable) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
INTERVAL
TIME
Période d’échantillonnage pour le bloc fonction
technique de régulation raccordé
DELSCAN
INT
Nombre de cycles de retard après un démarrage à
froid
Description des paramètres de sortie :
Paramètre
Type de données
Signification
Q
BOOL
Libération du bloc fonction technique de régulation
Erreur d’exécution
Pour obtenir une liste de tous les codes et valeurs d'erreur du bloc, voir Automate, page 358.
196
33002536 09/2020
EcoStruxure™ Control Expert
STEP2
33002536 09/2020
Chapitre 19
STEP2 : Automate à deux points
STEP2 : Automate à deux points
Introduction
Ce chapitre décrit le bloc STEP2.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
198
Description détaillée
201
Erreur d’exécution
203
33002536 09/2020
197
STEP2
Description
Description de la fonction
Ce bloc fonction est indiqué pour les régulations simples à deux positions.
L'actionneur fonctionne selon le sens du décalage mesure-consigne par rapport à la valeur limite
supérieure et inférieure.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Propriétés
Ce bloc régulateur possède les propriétés suivantes :
Limitation supérieure et inférieure de la consigne entre pv_inf et pv_sup
 Les valeurs d'entrée du régulateur (mesure, consigne et paramètres associés) s'expriment en
unités physiques.

Représentation dans FBD
Représentation :
198
33002536 09/2020
STEP2
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
CAL STEP2_Instance (PV:=ProcessValue, SP:=SetPoint,
MAN_AUTO:=OperatingMode, PARA:=Parameters,
OUT=>LogicOutput, DEV=>Deviation,
MA_O=>CurrentOperatingMode, STATUS=>StatusWord)
Représentation dans ST
Représentation :
STEP2_Instance (PV:=ProcessValue, SP:=SetPoint,
MAN_AUTO:=OperatingMode, PARA:=Parameters,
OUT=>LogicOutput, DEV=>Deviation,
MA_O=>CurrentOperatingMode, STATUS=>StatusWord) ;
33002536 09/2020
199
STEP2
Description des paramètres STEP2
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
PV
REAL
Mesure (Process Value)
SP
REAL
Consigne (Set Point)
MAN_AUTO
BOOL
Mode fonctionnement du régulateur
"1" : Mode automatique
"0" : Mode halt
PARA
Para_STEP2
Paramètres
Description des paramètres de sortie :
Paramètres
Type de données
Signification
OUT
BOOL
Sortie logique
DEV
REAL
Écart (PV – SP)
MA_O
BOOL
Mode de fonctionnement courant du bloc fonction
(0: Pause, 1 : Automatique)
STATUS
WORD
Mot d'état
Description des paramètres Para_STEP2
Description de la structure de données
200
Elément
Type de données
Signification
dev_ll
REAL
Seuil inférieur de l'écart (≤ 0)
dev_hl
REAL
Seuil supérieur de l'écart (≥ 0)
pv_inf
REAL
Valeur inférieure de la plage de mesure
pv_sup
REAL
Valeur supérieure de la plage de mesure
33002536 09/2020
STEP2
Description détaillée
Schéma fonctionnel
Vous trouverez le schéma fonctionnel du module STEP2 ci-après :
Comportement de la sortie
Comportement de la sortie OUT :
Lorsque l'écart (DEV = PV - SP) est inférieur au seuil inférieur dev_ll, la sortie logique OUT est
mise à 1. Toutefois, lorsque l'écart progresse de nouveau, la sortie OUT n'est mise à zéro que si
l'écart dépasse dev_hl.
NOTE : Pour assurer un traitement correct du module, il faut veiller à ne pas inverser la sortie OUT.
33002536 09/2020
201
STEP2
Modes de fonctionnement
Le module de régulation STEP2 dispose de deux modes de fonctionnement, selon la valeur
affectée au paramètre MAN_AUTO :
202
Mode de
fonctionnement
MAN_AUTO
Signification
Automatique
1
Le module de régulation calcule lui-même la sortie OUT.
Pause
0
La sortie OUT conserve la dernière valeur calculée.
33002536 09/2020
STEP2
Erreur d’exécution
Mot d'état
Le mot d'état fournit les informations suivantes :
Bit
Valeur déc. Valeur hex.
Etat ENO
Signification
Bit 0 = 1
1
0x0001
False
Erreur lors d'un calcul avec des valeurs en virgule
flottante
Bit 1 = 1
2
0x0002
False
Saisie d'une valeur non valide à l'une des entrées
de valeurs en virgule flottante
Bit 2 = 1
4
0x0004
False
Division par 0 lors d'un calcul avec des valeurs en
virgule flottante
Bit 3 = 1
8
0x0008
False
Débordement de capacité lors d'un calcul en
valeurs en virgule flottante
Bit 4 = 1
16
0x0010
True
Les comportements suivants sont signalés :
 SP déborde de la zone [pv_inf, pv_sup] : SP
est limité par pv_inf ou pv_sup
 dev_ll > 0 ou dev_hl < 0 : le bloc utilise la
valeur 0
Pour obtenir une liste des autres codes d'erreur de virgule flottante possibles, voir Erreurs
courantes relatives aux valeurs à virgule flottante, page 364.
Message d'erreur
Une erreur d'exécution est signalée lorsqu'une valeur non réelle est saisie à une entrée ou
lorsqu'un incident se produit lors d'un calcul avec des valeurs en virgule flottante. La sortie OUT
étant mise à zéro, les sorties DEV et MA_O restent inchangées.
NOTE : Pour obtenir une liste de tous les codes et valeurs d'erreur du bloc, voir Automate,
page 358.
Avertissement
Un avertissement est émis lorsque dev_ll > 0 ou dev_hl < 0. Dans ce cas, le bloc fonction utilise
la valeur 0.
33002536 09/2020
203
STEP2
204
33002536 09/2020
EcoStruxure™ Control Expert
STEP3
33002536 09/2020
Chapitre 20
STEP3 : Automate à trois points
STEP3 : Automate à trois points
Introduction
Ce chapitre décrit le bloc STEP3.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
206
Description détaillée
209
Erreur d’exécution
212
33002536 09/2020
205
STEP3
Description
Description de la fonction
Le bloc fonction convient aux contrôles d'action d'étape simples en trois points.
Le contrôle de l'actionneur est effectué en fonction de la direction de la déviation réelle ou de la
valeur des consignes en fonction des valeurs de seuil supérieure et inférieure. Le contrôle de la
valeur de seuil décrit une hystérésis configurable.
Ce contrôleur peut également servir à la régulation de la température. Pour une régulation
complexe, il est préférable d'utiliser un contrôleur traditionnel (tel qu'un contrôleur PI_B), vers
lequel doit être basculé un bloc fonction tel que PWM1.
EN et ENO peuvent être configurés comme paramètres supplémentaires.
Propriétés
Propriétés du bloc de commande :
 Limitation de la consigne entre pv_inf et pv_sup
 Les valeurs d'entrée du contrôle (valeur réelle, consignes et paramètres correspondants) sont
exprimées en unités physiques.
Représentation en FBD
Représentation :
206
33002536 09/2020
STEP3
Représentation en LD
Représentation :
Représentation en IL
Représentation :
CAL STEP3_Instance (PV:=ProcessValue, SP:=SetPoint,
MAN_AUTO:=OperatingMode, PARA:=Parameters,
OUT_NEG=>LogicOutputNegativ,
OUT_POS=>LogicOutputPositiv, DEV=>Deviation,
MA_O=>CurrentOperatingMode, STATUS=>StatusWord)
Représentation en ST
Représentation :
STEP3_Instance (PV:=ProcessValue, SP:=SetPoint,
MAN_AUTO:=OperatingMode, PARA:=Parameters,
OUT_NEG=>LogicOutputNegativ,
OUT_POS=>LogicOutputPositiv, DEV=>Deviation,
MA_O=>CurrentOperatingMode, STATUS=>StatusWord) ;
33002536 09/2020
207
STEP3
Description des paramètres STEP3
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
PV
REAL
Valeur du processus
SP
REAL
Consigne
MAN_AUTO
BOOL
Mode de fonctionnement du contrôleur :
« 1 » : mode automatique
« 1 » : mode Pause
PARA
Para_STEP3
Paramètre
Description des paramètres de sortie :
Paramètre
Type de données
Signification
OUT_NEG
BOOL
Sortie logique : réglée sur 1 pour les déviations
négatives
OUT_POS
BOOL
Sortie logique : réglée sur 1 pour les déviations
positives
DEV
REAL
Déviation (PV-SP)
MA_O
BOOL
Mode de fonctionnement actuel du bloc fonction
(0 : Pause, 1 : Automatique)
STATUS
WORD
Mot d'état
Description des paramètres Para_STEP3
Description de la structure de données
208
Elément
Type de données
Signification
dev_ll
REAL
Seuil de déviation inférieur (≤ 0)
dev_hl
REAL
Seuil de déviation supérieur (≤ 0)
hyst
REAL
Hystérésis
pv_inf
REAL
Limite inférieure de la plage des valeurs du
processus
pv_sup
REAL
Limite supérieure de la plage des valeurs du
processus
33002536 09/2020
STEP3
Description détaillée
Schéma fonctionnel
Vous trouverez le schéma fonctionnel du module STEP3 ci-après :
33002536 09/2020
209
STEP3
Comportement des sorties
Comportement des sorties OUT_POS et OUT_NEG :
td Durée
Lorsque l'écart (DEV = PV - SP) dépasse dev_ll, la sortie logique OUT_POS est mise à 1. Lorsque
l'écart est plus réduit, OUT_POS n'est mis à zéro que si l'écart est inférieur à dev_hl - hyst.
Lorsque l'écart est inférieur à dev_ll, la sortie logique OUT_NEG est mise à 1. Lorsque l'écart
grandit de nouveau, OUT_NEG n'est mis à zéro que si l'écart dépasse dev_hl + hyst.
NOTE : Pour assurer un traitement correct du module, il faut veiller à ne pas inverser les sorties
OUT_NEG et OUT_POS.
210
33002536 09/2020
STEP3
Modes de fonctionnement
Le module de régulation STEP3 dispose de deux modes de fonctionnement, selon la valeur
affectée au paramètre MAN_AUTO :
Mode de
fonctionnement
MAN_AUTO
Signification
Automatique
1
Le module calcule lui-même les sorties OUT_NEG et
OUT_POS.
Pause
0
Les sorties OUT_NEGetOUT_POS conserves la dernière
valeur calculée.
33002536 09/2020
211
STEP3
Erreur d’exécution
Mot d'état
Le mot d'état fournit les informations suivantes :
Bit
Valeur déc. Valeur hex.
Etat ENO
Signification
Bit 0 = 1
1
0x0001
False
Erreur lors d'un calcul avec des valeurs en virgule
flottante
Bit 1 = 1
2
0x0002
False
Saisie d'une valeur non valide à l'une des entrées
de valeurs en virgule flottante
Bit 2 = 1
4
0x0004
False
Division par 0 lors d'un calcul avec des valeurs en
virgule flottante
Bit 3 = 1
8
0x0008
False
Débordement de capacité lors d'un calcul en
valeurs en virgule flottante
Bit 4 = 1
16
0x0010
True
Les comportements suivants sont signalés :
 SP déborde de la zone [pv_inf, pv_sup] :
dans ce cas, SP est limité par pv_inf ou
pv_sup.
 dev_ll > 0 ou dev_hl < 0 : le bloc utilise la
valeur 0
 hyst sort de la zone [0, Minimum (dev_hl, dev_ll)] : le module utilise une valeur limitée
à zéro ou au minimum (dev_hl, -dev_ll)
Pour obtenir une liste d'autres codes d'erreur de virgule flottante possibles, voir Erreurs courantes
relatives aux valeurs à virgule flottante, page 364.
Message d'erreur
Une erreur d'exécution est signalée lorsqu'une valeur non réelle est saisie à une entrée ou
lorsqu'un incident se produit lors d'un calcul avec des valeurs en virgule flottante. Dans ce cas, les
sorties OUT_NEG et OUT_POS étant mises à 0, les sorties DEV et MA_O restent inchangées.
NOTE : Pour obtenir une liste de tous les codes et valeurs d'erreur du bloc, voir Automate,
page 358.
Avertissement
Un avertissement est émis dans les cas suivants :
dev_ll > 0 ou dev_hl < 0 : le bloc utilise la valeur 0.
 hyst sort de la zone [0, Minimum (dev_hl, -dev_ll)] : le bloc utilise une valeur limitée.

212
33002536 09/2020
EcoStruxure™ Control Expert
Mathématiques
33002536 09/2020
Partie IV
Mathématiques
Mathématiques
Vue d'ensemble
Cette partie décrit les fonctions et blocs fonction élémentaires de la famille Mathématiques.
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
Titre du chapitre
Page
21
COMP_DB : Comparaison
215
22
K_SQRT : Racine carrée
221
23
MULDIV_W : Multiplication/Division
225
24
SUM_W : Addition
229
33002536 09/2020
213
Mathématiques
214
33002536 09/2020
EcoStruxure™ Control Expert
COMP_DB
33002536 09/2020
Chapitre 21
COMP_DB : Comparaison
COMP_DB : Comparaison
Introduction
Ce chapitre décrit le bloc COMP_DB.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
216
Description détaillée
219
33002536 09/2020
215
COMP_DB
Description
Description de la fonction
Le bloc fonction COMP_DB permet d'activer les deux valeurs numériques IN1 et IN2 afin de les
comparer.
Selon que IN1 est supérieur, égal ou inférieur à IN2, le bloc fonction définit l'une des sorties
GREATER (supérieur), EQUAL (égal) ou LESS (inférieur) à 1.
Le bloc fonction prend en compte toute zone morte ou hystérésis.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.
COMP_DB/COMP_DB_DFB
Lors de la création de programmes, utilisez toujours le bloc fonction COMP_DB.
Pour des raisons techniques, le bloc COMP_DB_DFB peut être mis en œuvre lors de la conversion
des anciens programmes. Cependant, la fonctionnalité des blocs COMP_DB et COMP_DB_DFB est
exactement identique.
Représentation en FBD
Représentation :
216
33002536 09/2020
COMP_DB
Représentation en LD
Représentation :
Représentation en IL
Représentation :
CAL COMP_DB (IN1=:InputValue1, IN2:=InputValue2, DBAND=:DeadBand,
HYST:=Hysteresis, GREATER=>GreaterValueIndicator,
EQUAL=>EqualValueIndicator, LESS=>LessValueIndicator)
Représentation en ST
Représentation :
COMP_DB (IN1=:InputValue1, IN2:=InputValue2, DBAND=:DeadBand,
HYST:=Hysteresis, GREATER=>GreaterValueIndicator,
EQUAL=>EqualValueIndicator, LESS=>LessValueIndicator);
33002536 09/2020
217
COMP_DB
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Description
IN1
REAL
Entrée n° 1
IN2
REAL
Entrée n° 2
DBAND
REAL
Zone morte
HYST
REAL
Hystérésis
Description des paramètres de sortie :
Paramètre
Type de données
Description
GREATER
BOOL
Marqueur supérieur à
EQUAL
BOOL
Marqueur égal à
LESS
BOOL
Marqueur inférieur à
Erreur d'exécution
Une erreur s'affiche sur l'écran Diagnostic (Affichage → Diagnostic) lorsqu'une valeur à virgule non
flottante est déterminée comme entrée ou lorsqu'un problème survient lors du calcul d'une valeur
à virgule flottante. Dans ce cas, les sorties GREATER, EQUAL et LESS restent inchangées.
NOTE : pour obtenir la liste de l'ensemble des codes et valeurs d'erreur du bloc, reportez-vous à
la section Mathématiques, page 360.
Avertissement
Un avertissement s'affiche sur l'écran Diagnostic (Affichage → Diagnostic) dans les cas suivants :
Le paramètre DBAND est négatif : la procédure utilise alors la valeur DeadBand = 0 pour le
calcul.
 Le paramètre HYST se situe hors de la plage [0, DeadBand] : la procédure utilise alors la valeur
correcte la plus proche pour le calcul, c'est-à-dire 0, si HYST est inférieur à 0 et DBAND si HYST
est supérieur à DBAND.

218
33002536 09/2020
COMP_DB
Description détaillée
Zone morte
Le paramètre DBAND permet d'activer une zone morte à spécifier, à l'intérieur de laquelle tout écart
entre les valeurs IN1 et Inputvalue2 sera considéré comme égal à zéro. Lorsque l'écart IN1 IN2 reste compris dans cette zone, la sortie EQUAL est définie sur 1.
Spécification de la zone morte
HYST
Le paramètre HYST permet d'activer un effet d'hystérésis à générer, lorsque l'écart entre les
valeurs IN1 et IN2 diminue : dans une situation dans laquelle la sortie GREATER ou LESS est
égale à 1, la sortie EQUAL prend uniquement la valeur 1 lorsque l'écart IN1 - IN2 est inférieur à
DBAND - HYST
Génération d'un effet d'hystérésis
33002536 09/2020
219
COMP_DB
DBAND = 0 et HYST = 0
Dans ce cas, le bloc agit comme une fonction de comparaison standard :
 Lorsque IN1 est toujours supérieure à IN2, alors GREATER = 1
 Lorsque IN1 est égale à IN2, alors EQUAL = 1
 Lorsque IN1 est inférieure à IN2, alors LESS = 1
Fonction de comparaison standard (DBAND = 0 et HYST = 0)
220
33002536 09/2020
EcoStruxure™ Control Expert
K_SQRT
33002536 09/2020
Chapitre 22
K_SQRT : Racine carrée
K_SQRT : Racine carrée
Description
Description de la fonction
Cette fonction calcule la racine carrée pondérée d'une valeur numérique. Il est possible de définir
un séparateur en dessous duquel la fonction sort la valeur zéro.
Le calcul de la racine carrée permet la linéarisation d'une mesure de débit à l'aide d'un appareil de
réactance.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
La fonction exécute le calcul suivant :
Calcul
Condition
ou
Représentation dans FBD
Représentation :
33002536 09/2020
221
K_SQRT
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
LD DigitalVariable
K_SQRT WeightingCoefficient, Cutoff
ST OUT
Représentation dans ST
Représentation :
Result := K_SQRT (DigitalVariable, WeightingCoefficient,
Cutoff);
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
DigitalVariable
REAL
Valeur numérique à traiter
WeightingCoefficient
REAL
Coefficient de pondération
Cutoff
REAL
Séparateur
Description des paramètres de sortie :
222
Paramètre
Type de données
Signification
Result
REAL
Résultat du calcul
33002536 09/2020
K_SQRT
Erreur d’exécution
Une erreur est signalée lorsqu'une valeur non réelle est saisie à l'une des entrées ou lorsqu'un
incident survient lors d'un calcul en valeurs en virgule flottante. Dans ce cas, la sortie Result reste
inchangée.
NOTE : Pour obtenir une liste de tous les codes et valeurs d'erreur du bloc, voir Mathématiques,
page 360.
Avertissement
Un avertissement est émis lorsque l'entrée Cutoff prend une valeur négative. Le bloc fonction
emploie alors la valeur 0 pour le calcul.
33002536 09/2020
223
K_SQRT
224
33002536 09/2020
EcoStruxure™ Control Expert
MULDIV_W :
33002536 09/2020
Chapitre 23
MULDIV_W : Multiplication/Division
MULDIV_W : Multiplication/Division
Description
Description de la fonction
La fonction MULDIV_W exécute une multiplication/division pondérée de 3 grandeurs d'entrée
numériques.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
La formule est la suivante :
Représentation dans FBD
Représentation :
33002536 09/2020
225
MULDIV_W :
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
LD DigitalInput1
MULDIV_W DigitalInput2, DigitalInput3, Parameters
ST Result)
Représentation dans ST
Représentation :
Result := MULDIV_W (DigitalInput1, DigitalInput2,
DigitalInput3, Parameters);
Description des paramètres MULDIV_W
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
DigitalInput1 à
DigitalInput3
REAL
Grandeurs numériques à traiter
Paramètres
Para_MULDIV_W
Paramètre
Description des paramètres de sortie :
226
Paramètre
Type de données
Signification
Result
REAL
Résultat du calcul
33002536 09/2020
MULDIV_W :
Description des paramètres PARA_MULDIV_W
Description de la structure de données
Elément
Type de données
Signification
k, c1 à c4
REAL
Coefficients de calcul
Erreur d’exécution
Une erreur est signalée lorsqu'une valeur non réelle est saisie à une entrée ou lorsqu'un incident
se produit lors du calcul en valeurs en virgule flottante. En général, la sortie Result conserve sa
valeur précédente, sauf lors d'une division par 0, ce qui correspond à la valeur 1.#INF (l'infini).
NOTE : Pour obtenir une liste de tous les codes et valeurs d'erreur de virgule flottante du bloc, voir
Erreurs courantes relatives aux valeurs à virgule flottante, page 364.
33002536 09/2020
227
MULDIV_W :
228
33002536 09/2020
EcoStruxure™ Control Expert
SUM_W
33002536 09/2020
Chapitre 24
SUM_W : Addition
SUM_W : Addition
Description
Description de fonction
La fonction calcule la somme pondérée de 3 grandeurs d'entrée numériques selon la formule cidessous :
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
La fonction SUM_W fonctionne comme suit :
Représentation en FBD
Représentation:
33002536 09/2020
229
SUM_W
Représentation en LD
Représentation:
Représentation en IL
Représentation :
LD InputValue1
SUM_W InputValue2, InputValue3, Parameters
ST Result
Représentation en ST
Représentation :
Result := SUM_W (InputValue1, InputValue2, InputValue3,
Parameters);
Description des parameters SUM_W
Description des paramètres d'entrée :
Paramètre
Type de données
Description
InputValue1 à
InputValue3
REAL
Grandeurs numériques à traiter
Paramètres
Para_SUM_W
Paramètre
Description des paramètres de sortie :
230
Paramètre
Type de données
Description
Résultat
REEL
Résultat du calcul
33002536 09/2020
SUM_W
Description des paramètresPara_SUM_W
Description de la structure de données
Elément
Type de données
Description
k1 à k3, c1
REAL
Coefficients de calcul
Erreur d'exécution
Une erreur d'exécution est signalée lorsqu'une valeur non réelle est saisie à une entrée ou
lorsqu'un incident se produit lors d'un calcul avec des valeurs en virgule flottante. La sortie Result
n'est pas modifiée.
NOTE : Pour obtenir une liste de tous les codes et valeurs d'erreur de virgule flottante du bloc, voir
Erreurs courantes relatives aux valeurs à virgule flottante, page 364.
33002536 09/2020
231
SUM_W
232
33002536 09/2020
EcoStruxure™ Control Expert
Traitement des mesures
33002536 09/2020
Partie V
Traitement des mesures
Traitement des mesures
Vue d'ensemble
Cette partie décrit les fonctions et blocs fonction élémentaires de la famille Traitement des
mesures.
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
Titre du chapitre
Page
25
AVGMV : Moyenne de déplacement avec taille de fenêtre fixe
235
26
AVGMV_K : Moyenne de déplacement avec facteur de correction gelé
241
27
DEAD_ZONE, DEAD_ZONE_REAL : Zone morte
247
28
LOOKUP_TABLE1 : Polygone avec interpolation de 1er ordre
253
29
SAH : Détection et maintien d'un front montant
259
30
HYST_*** : Signal d'indicateur pour délimiteurs de valeur maximale avec
hystérésis
261
31
INDLIM_*** : Signal d'indicateur pour délimiteurs avec hystérésis
265
33002536 09/2020
233
Traitement des mesures
234
33002536 09/2020
EcoStruxure™ Control Expert
AVGMV
33002536 09/2020
Chapitre 25
AVGMV : Moyenne de déplacement avec taille de fenêtre fixe
AVGMV : Moyenne de déplacement avec taille de fenêtre fixe
Introduction
Ce chapitre décrit le bloc AVGMV.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
236
Description détaillée
239
33002536 09/2020
235
AVGMV
Description
Description de la fonction
Le bloc fonction crée une moyenne de déplacement à partir d'un nombre fixe de valeurs d'entrée
(entrée X). La sortie est la moyenne de toutes les valeurs comprises entre la valeur X actuelle et
la valeur X la plus ancienne (N-1). Il est possible de stocker jusqu'à 50 valeurs d'entrée (N).
Le bloc fonction dispose d'un mode manuel et d'un mode automatique.
NOTE : ce bloc fonction effectue une initialisation interne lors du premier cycle d'un programme
après un démarrage à chaud ou à froid (téléchargement d'une application ou redémarrage) du
programme de l'automate.
Par conséquent, vérifiez que le bloc fonction est invoqué lors du premier cycle d'un programme.
En cas d'invocation du bloc fonction dans un cycle d'un programme ultérieur, l'initialisation interne
ne s'effectuera pas et les sorties risquent de fournir des valeurs erronées.
AVERTISSEMENT
COMPORTEMENT DE SORTIE INATTENDU
Vérifiez que le bloc fonction est toujours invoqué lors du premier cycle d'un programme.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.
Formule
Pour RDY = 1 :
ou
Explication des variables :
236
Variable
Description
Y (new)
Valeur Y dans le cycle de programme courant
Y
Valeur Y du cycle de programme précédent
(old)
N
Taille de fenêtre (nombre de valeurs dans le tampon)
X (N-1)
valeur X la plus ancienne dans le tampon
33002536 09/2020
AVGMV
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
CAL AVGMV_Instance (MAN:=Mode, X:=InputValue, N:=WindowSize,
YMAN:=ManualValue, Y=>Average, RDY=>BufferReady)
Représentation en ST
Représentation :
AVGMV_Instance (MAN:=Mode, X:=InputValue, N:=WindowSize,
YMAN:=ManualValue, Y=>Average, RDY=>BufferReady) ;
33002536 09/2020
237
AVGMV
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Description
MAN
BOOL
"0" = mode de fonctionnement automatique
"1" = mode de fonctionnement manuel
X
REAL
Entrée
N
INT
Taille de fenêtre (nombre de valeurs d'entrée
chargées dans le tampon, limité à 50)
YMAN
REAL
Valeur manuelle
Description des paramètres de sortie :
Paramètre
Type de données
Description
Y
REAL
Valeur moyenne
RDY
BOOL
"1" = valeur n dans tampon (le tampon est prêt)
"0" = tampon non prêt
Erreur d’exécution
Un message d'erreur est renvoyé si
N=0 ou N>50

NOTE : pour obtenir la liste de l'ensemble des codes et valeurs d'erreur du bloc, reportez-vous à
la section Mesure, page 361.
238
33002536 09/2020
AVGMV
Description détaillée
Mode Automatique
Dans N cycles de programmes, N valeurs X sont chargées dans une mémoire tampon interne. A
partir de ces valeurs, la valeur arithmétique moyenne est formée et délivrée à la sortie Y. A partir
du cycle de programme N+1, la plus ancienne valeur X en mémoire tampon est effacée et
remplacée par la valeur X actuelle.
NOTE : Tant que RDY = 0, la valeur moyenne n’est pas formée à partir de N valeurs, mais du
nombre des valeurs actuelles chargées jusqu’ici (n < N).
Après modification de la valeur N ou un démarrage à froid/chaud, la mémoire interne est effacée.
La sortie est définie sur la valeur d’entrée X et RDY sur "0". La mémoire tampon est remplie pendant
les N cycles suivants. La sortie Y reçoit la valeur moyenne des valeurs présentées jusqu’ici. RDY
reste à "0" jusqu’à ce que la mémoire tampon soit correctement remplie de valeurs X correctes
après N cycles de programmes ; RDY devient alors "1".
Mode Manuel
La valeur YMAN est transmise à la sortie Y. La mémoire tampon est complètement remplie avec la
valeur YMAN et marquée comme remplie (RDY = 1).
Diagramme
Valeur moyenne flottante avec mnémonique limitée de N = 50 valeurs
33002536 09/2020
239
AVGMV
240
33002536 09/2020
EcoStruxure™ Control Expert
AVGMV_K
33002536 09/2020
Chapitre 26
AVGMV_K : Moyenne de déplacement avec facteur de correction gelé
AVGMV_K : Moyenne de déplacement avec facteur de
correction gelé
Introduction
Ce chapitre décrit le bloc AVGMV_K.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
242
Description détaillée
245
33002536 09/2020
241
AVGMV_K
Description
Description de la fonction
Le bloc fonction crée une valeur moyenne de déplacement (avec facteur de correction gelé) avec
jusqu'à 10 000 valeurs d'entrée.
Le bloc fonction dispose d'un mode manuel et d'un mode automatique.
NOTE : ce bloc fonction effectue une initialisation interne lors du premier cycle d'un programme
après un démarrage à chaud ou à froid (téléchargement d'une application ou redémarrage) du
programme de l'automate.
Par conséquent, vérifiez que le bloc fonction est invoqué lors du premier cycle d'un programme.
En cas d'invocation du bloc fonction dans un cycle de programme ultérieur, l'initialisation interne
ne s'effectuera pas, la valeur Y(old) ne sera pas certaine et la sortie Y(new) risque de fournir une
valeur erronée.
AVERTISSEMENT
COMPORTEMENT DE SORTIE INATTENDU
Vérifiez que le bloc fonction est toujours invoqué lors du premier cycle d'un programme.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
EN et ENO peuvent être configurés comme paramètres supplémentaires.
Formule
Formule du bloc :
Explication des variables :
242
Variable
Description
Y (new)
Valeur Y dans le cycle de programme courant
Y
Valeur Y du cycle de programme précédent
(old)
K
Facteur de correction
X
Valeur X dans le cycle de programme courant
33002536 09/2020
AVGMV_K
Représentation en FBD
Représentation :
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
CAL AVGMV_K_Instance (MAN:=Mode, X:=InputValue, K:=CorrectionFactor,
YMAN:=ManualValue, Y=>Average)
Représentation dans ST
Représentation :
AVGMV_K_Instance (MAN:=Mode, X:=InputValue, K:=CorrectionFactor,
YMAN:=ManualValue, Y=>Average) ;
33002536 09/2020
243
AVGMV_K
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type
Description
MAN
BOOL
0 = Mode de fonctionnement automatique ; 1 =
Mode de fonctionnement manuel
X
REAL
Entrée
K
INT
Facteur de correction (max : 10 000)
YMAN
REAL
Valeur manuelle
Description des paramètres de sortie :
Paramètre
Type
Description
Y
REAL
Valeur moyenne
Erreur d’exécution
Pour obtenir la liste de l'ensemble des codes et valeurs d'erreur du bloc, reportez-vous à la section
Mesure, page 361.
244
33002536 09/2020
AVGMV_K
Description détaillée
Mode Automatique
A chaque cycle de programme, une valeur X est chargée. 1/K est soustrait de la valeur Y du dernier
cycle de programme et 1/K est ensuite de nouveau additionné à la valeur X actuelle. Le résultat
est délivré à la sortie Y.
Après un démarrage à froid/chaud, la valeur X est assignée à la sortie Y.
Mode Manuel
La valeur YMAN est transmise à la sortie Y.
Diagramme
Valeur moyenne flottante avec facteur de correction figé (K = 50)
33002536 09/2020
245
AVGMV_K
246
33002536 09/2020
EcoStruxure™ Control Expert
DEAD_ZONE
33002536 09/2020
Chapitre 27
DEAD_ZONE, DEAD_ZONE_REAL : Zone morte
DEAD_ZONE, DEAD_ZONE_REAL : Zone morte
Introduction
Ce chapitre décrit les blocs DEAD_ZONE et DEAD_ZONE_REAL.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
248
Description détaillée
250
33002536 09/2020
247
DEAD_ZONE
Description
Description du fonctionnement
Ces fonctions sont utilisées pour déterminer une zone morte pour variables.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
Formule des blocs :
Condition : DZ ≥ 0
Y = GAIN x X pour -DZ ≤ X ≤ DZ
Y = (X - DZ) + GAIN x DZ pour X > DZ
Y = (X + DZ) - GAIN x DZ pour X < -DZ
Représentation en FBD
Représentation du bloc DEAD_ZONE:
Représentation en LD
Représentation du bloc DEAD_ZONE :
248
33002536 09/2020
DEAD_ZONE
Représentation en IL
Représentation du bloc DEAD_ZONE :
LD Input
DEAD_ZONE HalfWidth, Gradient
ST Output
Représentation en ST
Représentation du bloc DEAD_ZONE :
Output := DEAD_ZONE (Input, HalfWidth, Gradient) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
X
REAL
Grandeur d'entrée
DZ
REAL
Demi largeur de la zone morte
GAIN
REAL
Pente dans la zone morte
Description des paramètres de sortie :
Paramètres
Type de données
Signification
Y
REAL
Grandeur de sortie
Erreur d’exécution
Pour obtenir une liste de tous les codes et valeurs d'erreur du bloc, voir Mesure, page 361.
33002536 09/2020
249
DEAD_ZONE
Description détaillée
Courbes caractéristiques
Le bloc fonction réalise la courbe caractéristique :
Zone morte pour 0 < GAIN < 1
Zone morte pour GAIN > 1
250
33002536 09/2020
DEAD_ZONE
Zone morte pour GAIN < 0
NOTE : Hors de la zone morte, une pente de 1 est déterminée.
33002536 09/2020
251
DEAD_ZONE
252
33002536 09/2020
EcoStruxure™ Control Expert
LOOKUP_TABLE1
33002536 09/2020
Chapitre 28
LOOKUP_TABLE1 : Polygone avec interpolation de 1er ordre
LOOKUP_TABLE1 : Polygone avec interpolation de 1er ordre
Introduction
Ce chapitre décrit le bloc LOOKUP_TABLE1.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
254
Description détaillée
256
33002536 09/2020
253
LOOKUP_TABLE1
Description
Description de la fonction
Cette procédure linéarise les courbes caractéristiques par interpolation. Elle utilise des largeurs de
points d'appui variables.
Le nombre d'entrées X/Y_Coord_SupportPoint_n peut varier de 2 à 30 en redimendionnant
verticalement le cadre du bloc. Ce qui correspond à un maximum de 15 points d'appui.
Le nombre d'entrées doit être pair.
Les valeurs de InputVariable doivent être classées par ordre croissant.
EN et ENO peuvent être configurés comme paramètres supplémentaires. Il est recommandé
d'utiliser le paramètre de sortie ENO pour signaler les erreurs.
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
254
33002536 09/2020
LOOKUP_TABLE1
Représentation en IL
Représentation :
LD InputVariable LOOKUP_TABLE1 X_Coord_SupportPoint_1,
Y_Coord_SupportPoint_1, OutputVariable, IndicatorX_GT_Xm,
IndicatorX_LT_X1
Représentation en ST
Représentation :
LOOKUP_TABLE1 (InputVariable, X_Coord_SupportPoint_1,
Y_Coord_SupportPoint_1, OutputVariable, IndicatorX_GT_Xm,
IndicatorX_LT_X1);
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Description
InputVariable
REAL
Variable d'entrée
X_Coord_SupportPoint_1
REAL
Coordonnée X du point d'appui 1.
Y_Coord_SupportPoint_1
REAL
Coordonnée Y du point d'appui 1.
X_Coord_SupportPoint_1(n-1) REAL
Coordonnée X du point d'appui
. n = 30 (au
maximum)
Y_Coord_SupportPoint_(n)
REAL
Coordonnée Y du point d'appui
. n = 30 (au
maximum)
Description des paramètres de sortie :
Paramètre
Type de données
Description
OutputVariable
REAL
Variable de sortie
IndicatorX_GT_Xm
BOOL
Affichage : X > Xm
IndicatorX_LT_X1
BOOL
Spécifiez X < X1.
Erreur d’exécution
NOTE : pour une liste des valeurs et des codes d'erreur de bloc, reportez-vous à la rubrique Tables
of Error Codes for the CONT_CLC Library (voir page 361).
33002536 09/2020
255
LOOKUP_TABLE1
Description détaillée
Description des paramètres
Deux entrées se suivant respectivement (XiYi) représentent un point de calcul. La première
entrée XiYi correspond à X1, la suivante à Y1, celle qui suit à X2, etc.
Pour la valeur d’entrée au choix se trouvant en X et se situant entre ces points de calcul, la valeur
de sortie Y correspondante est interpolée en considérant de manière linéaire le tracé polygonal
entre les points de calcul.
Pour X < X 1 Y = Y 1
Pour X > X m Y = Y m
Quand la valeur à l’entrée X dépasse la valeur du dernier point d’appui Xm, la sortie QXHI devient
"1".
Quand la valeur à l’entrée X n’atteint pas la valeur du dernier point d’appui X1, la sortie QXHO
devient "1".
Principe de l’interpolation
Tracé polygonal avec interpolation de 1er ordre
256
33002536 09/2020
LOOKUP_TABLE1
Interpolation
Pour un point Y, on a l’algorithme suivant :
pour X i ≤ X ≤ X i+1 et i = 1 ... (m-1)
Condition : X 1 ≤ X 2 ≤ ... ≤ X i ≤ X i+1 ≤ ... ≤ X m-1 ≤ X m
Les valeurs X doivent être en ordre croissant.
Deux valeurs X se suivant peuvent être identiques. Il en résulte une possibilité de courbe
discontinue.
On a alors le cas particulier :
Y = 0,5 x (Y i + Y i+1)
pour
X i = X = X i+1 et i = 1 ... (m-1)
33002536 09/2020
257
LOOKUP_TABLE1
258
33002536 09/2020
EcoStruxure™ Control Expert
SAH
33002536 09/2020
Chapitre 29
SAH : Détection et maintien d'un front montant
SAH : Détection et maintien d'un front montant
Description
Description de la fonction
Le bloc fonction envoie la valeur d'entrée PV sur la sortie OUT lorsqu'elle est appelée pour la
première fois. Avec un front montant (0 à 1) à l'entrée CLK, la valeur d'entrée IN est envoyée sur
la sortie Output. Cette valeur reste sur la sortie jusqu'à ce que le front montant suivant charge
une valeur de IN sur OUT.
Les types de données des valeurs d'entrée IN et PV, et de la valeur de sortie Output doivent être
identiques.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.
Remarque
Lorsqu'une variable et une liaison sont reliées à OUT et que la variable Output est modifiée (par
exemple, en écrivant dans le programme ou par forçage), la liaison suit la variable Output au lieu
de conserver la dernière sortie de SAH.
Représentation en FBD
Représentation :
33002536 09/2020
259
SAH
Représentation en LD
Représentation :
Représentation en IL
Représentation :
CAL SAH_Instance (IN:=InputValue, CLK:=ClockInput,
PV:=PresetValue, OUT=>Output)
Représentation en ST
Représentation :
SAH_Instance (IN:=InputValue, CLK:=ClockInput,
PV:=PresetValue, OUT=>Output) ;
Description des paramètres
Description du paramètre d'entrée :
Paramètre
Type de donnée
Signification
IN
ANY
Valeur d'entrée
CLK
BOOL
Entrée horloge
PV
ANY
Point prédéfini
Description du paramètre de sortie :
260
Paramètre
Type de donnée
Signification
OUT
ANY
Valeur de sortie
33002536 09/2020
EcoStruxure™ Control Expert
HYST_***
33002536 09/2020
Chapitre 30
HYST_*** : Signal d'indicateur pour délimiteurs de valeur maximale avec hystérésis
HYST_*** : Signal d'indicateur pour délimiteurs de valeur
maximale avec hystérésis
Introduction
Ce chapitre décrit le bloc HYST_***.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
262
Description détaillée
264
33002536 09/2020
261
HYST_***
Description
Description de la fonction
Le bloc fonction surveille le dépassement de valeur limite supérieure de la grandeur d’entrée X.
NOTE : Si vous souhaitez également surveiller la valeur limite inférieure, vous pouvez utiliser le
bloc fonction INDLIM_***.
Les types de données de toutes les valeurs d'entrée doivent être identiques.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les modules suivants sont disponibles
HYST_DINT
 HYST_INT
 HYST_UDINT
 HYST_UINT
 HYST_REAL

Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
262
33002536 09/2020
HYST_***
Représentation dans IL
Représentation :
CAL HYST_Instance (X:=Input, HIGH:=MaxHighLimit,
LOW:=MinHighLimit, IND=>Indicator)
Représentation dans ST
Représentation :
HYST_Instance (X:=Input, HIGH:=MaxHighLimit,
LOW:=MinHighLimit, IND=>Indicator) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
X
INT, DINT, UINT,
UDINT, REAL
Grandeurs d'entrée
HIGH
INT, DINT, UINT,
UDINT, REAL
Valeur limite supérieure maximale
LOW
INT, DINT, UINT,
UDINT, REAL
Valeur limite supérieure minimale
Description des paramètres de sortie :
Paramètres
Type de données
Signification
IND
BOOL
Affichage : valeur limite supérieure atteinte
33002536 09/2020
263
HYST_***
Description détaillée
Description des paramètres
Quand X dépasse la limite supérieure HIGH, le bloc fonction signale cet état avec IND = 1.
Quand X n'atteint pas la limite inférieure LOW, le bloc fonction signale cet état avec IND = 0.
Fonction
Description de la fonction
INDi = 1, si X > HIGH
INDi = 0, si X < LOW
sinon
INDi = INDi-1
Si LOW est supérieur à HIGH, il n'y a pas d'hystérésis et IND signale que X est supérieur à HIGH.
Diagramme
Limiteur de valeur maximale avec hystérésis
264
33002536 09/2020
EcoStruxure™ Control Expert
INDLIM_***
33002536 09/2020
Chapitre 31
INDLIM_*** : Signal d'indicateur pour délimiteurs avec hystérésis
INDLIM_*** : Signal d'indicateur pour délimiteurs avec
hystérésis
Introduction
Ce chapitre décrit le bloc INDLIM_***.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
266
Description détaillée
269
33002536 09/2020
265
INDLIM_***
Description
Description de la fonction
Le bloc fonction surveille le dépassement de valeur d'une limite haute ainsi que le passage d'une
valeur limite inférieure de la grandeur d’entrée X X.
NOTE : Si vous souhaitez ne surveiller que la valeur limite supérieure, vous pouvez utiliser le bloc
fonction HYST_***.
Les types de données de toutes les valeurs d'entrée doivent être identiques.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les modules suivants sont disponibles
 INDLIM_DINT
 INDLIM_INT
 INDLIM_UDINT
 INDLIM_UINT
 INDLIM_REAL
Représentation dans FBD
Représentation :
266
33002536 09/2020
INDLIM_***
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
CAL INDLIM_Instance (X:=Input, MX_HIGH:=MaxHighLimit,
MX_LOW:=MinHighLimit, MN_LOW:=MinLowLimit,
MN_HIGH:=MaxLowLimit, MX_IND=>ReachedHighLimit,
MN_IND=>ReachedLowLimit)
Représentation dans ST
Représentation :
INDLIM_Instance (X:=Input, MX_HIGH:=MaxHighLimit,
MX_LOW:=MinHighLimit, MN_LOW:=MinLowLimit,
MN_HIGH:=MaxLowLimit, MX_IND=>ReachedHighLimit,
MN_IND=>ReachedLowLimit) ;
33002536 09/2020
267
INDLIM_***
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
X
INT, DINT, UINT,
UDINT, REAL
Grandeurs d'entrée
MX_HIGH
INT, DINT, UINT,
UDINT, REAL
Valeur limite supérieure maximale
MX_LOW
INT, DINT, UINT,
UDINT, REAL
Valeur limite inférieure maximale
MN_LOW
INT, DINT, UINT,
UDINT, REAL
Valeur limite inférieure minimale
MN_HIGH
INT, DINT, UINT,
UDINT, REAL
Valeur limite supérieure minimale
Description des paramètres de sortie :
268
Paramètres
Type de données
Signification
MX_IND
BOOL
Affichage : valeur limite supérieure atteinte
MN_IND
BOOL
Affichage : valeur limite inférieure atteinte
33002536 09/2020
INDLIM_***
Description détaillée
Description des paramètres MX_IND
Quand X est supérieur à la valeur de MX_HIGH, le bloc fonction signale cet état par MX_IND = 1.
Quand X est inférieur à la valeur de MX_LOW, le bloc fonction signale cet état par MX_IND = 0.
Formules :
MX_INDi = 1, si X > MX_HIGH
MX_INDi = 0, si X < MX_LOW
sinon
MX_INDi = MX_IND(i-1)
Si MX_LOW est supérieur à MX_HIGH, aucune hystérèse n'est formée et le bloc fonction signale cet
état par MX_IND = 1.
Description des paramètres MN_IND
Quand X est inférieur à la valeur de MN_HIGH, le bloc fonction signale cet état par MN_IND = 1.
Quand X est supérieur à la valeur de MN_LOW, le bloc fonction signale cet état par MN_IND = 0.
Formules :
MN_INDi = 1, si X < MN_HIGH
MN_INDi = 0, si X > MN_LOW
sinon
MN_INDi = MN_IND(i-1)
Si MN_HIGH est supérieur à MN_LOW, aucune hystérèse n'est formée et le bloc fonction signale cet
état par MN_IND = 1.
33002536 09/2020
269
INDLIM_***
Diagramme
Limiteur avec hystérèse INDLIM
270
33002536 09/2020
EcoStruxure™ Control Expert
Traitement des valeurs de sortie
33002536 09/2020
Partie VI
Traitement des valeurs de sortie
Traitement des valeurs de sortie
Vue d'ensemble
Cette partie décrit les fonctions et blocs fonction élémentaires de la famille Traitement des
valeurs de sortie.
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
Titre du chapitre
Page
32
MS : Contrôle manuel d'une sortie
273
33
MS_DB : Contrôle manuel et sortie avec zone morte
285
34
PWM1 : Modulation de la largeur d'impulsion
297
35
SERVO : Régulation de servomoteurs
305
36
SPLRG : Contrôle de 2 actionneurs
323
33002536 09/2020
271
Traitement des valeurs de sortie
272
33002536 09/2020
EcoStruxure™ Control Expert
MS
33002536 09/2020
Chapitre 32
MS : Contrôle manuel d'une sortie
MS : Contrôle manuel d'une sortie
Introduction
Ce chapitre décrit le bloc MS.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
274
Description détaillée
278
Exemple
281
Erreur d’exécution
282
33002536 09/2020
273
MS
Description
Description de la fonction
Ce bloc fonction permet de commander une sortie numérique qui peut être utilisée avec une
fonction PWM1, Servomoteur ou être directement utilisée avec un organe de réglage.PWM1
(voir page 297). Cette commande s'exécute par l'intermédiaire d'un dialogue opérateur ou
directement à partir du logiciel de programmation de l'API.
En général, le bloc fonction du régulateur permet de commander une sortie analogique. Vous
devez utiliser le module MS si la sortie du régulateur et la sortie analogique doivent être découplés.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Applications
Généralement, le bloc fonction est mis en œuvre lors des applications suivantes :
 commande d'une sortie analogique qui ne fonctionne pas en boucle (boucle ouverte),
 boucles dans lesquelles un dispositif de traitement a été intercalé entre la sortie du régulateur
et la sortie commandée par l'opérateur,
 échantillonnage du régulateur commandant la sortie, lorsque la période d'échantillonnage
dépasse 1 à 2 secondes.
 Commande d'un servomoteur : dans ce cas, le bloc fonction MS est intercalé entre le module du
régulateur et le servomoteur.
Représentation dans FBD
Représentation :
274
33002536 09/2020
MS
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
CAL MS_Instance (IN:=Instruction, FORC:=OperatingModeFlag,
MA_FORC:=OperatingModeFORC_1,
MAN_AUTO:=OperatingModeFORC_0, PARA:=Parameters,
TR_I:=InitializationInput, TR_S:=InitializationType,
OUT:=AbsoluteOutput, OUTD=>IncrementalOutput,
MA_O=>CurrentBlockOperatingMode, STATUS=>StatusWord)
Représentation dans ST
Représentation :
MS_Instance (IN:=Instruction, FORC:=OperatingModeFlag,
MA_FORC:=OperatingModeFORC_1,
MAN_AUTO:=OperatingModeFORC_0, PARA:=Parameters,
TR_I:=InitializationInput, TR_S:=InitializationType,
OUT:=AbsoluteOutput, OUTD=>IncrementalOutput,
MA_O=>CurrentBlockOperatingMode, STATUS=>StatusWord) ;
33002536 09/2020
275
MS
Description des paramètres MS
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
IN
REAL
Grandeurs de commande utilisées en mode
automatique
FORC
BOOL
"1": le mode de fonctionnement
Manuel/Automatique est proposé par MA_FORC
"0": le mode de fonctionnement
Manuel/Automatique est proposé par MAN_AUTO
MA_FORC
BOOL
Mode Manuel/Automatique (lorsque FORC = 1)
"1": Mode automatique
"0": Mode manuel
MAN_AUTO
BOOL
Mode Manuel/Automatique (lorsque FORC = 0)
"1": Mode automatique
"0": Mode manuel
PARA
Para_MS
Paramètres
TR_I
REAL
Entrée d'initialisation
TR_S
BOOL
Commande d'initialisation
Description des paramètres d'entrée / sortie :
Paramètres
Type de données
Signification
OUT
REAL
Sortie absolue
Description des paramètres de sortie :
276
Paramètres
Type de données
Signification
OUTD
REAL
Sortie incrémentale : différence entre la sortie
courante et la sortie de l'exécution précédente
MA_O
BOOL
Mode de fonctionnement courant du bloc fonction (0
: Manuel, 1 : Automatique)
STATUS
WORD
Mot d'état
33002536 09/2020
MS
Description des paramètres Para_MS
Description de la structure de données
Elément
Type de données
Signification
out_min
REAL
Valeur limite inférieure de la sortie
out_max
REAL
Valeur limite supérieure de la sortie
inc_rate
REAL
Rampe montante lors de la commutation
Manuel/Automatique (unités par seconde)
dec_rate
REAL
Rampe descendante lors de la commutation
Manuel/Automatique (unités par seconde)
outbias
REAL
Valeur de bias
use_bias
BOOL
"1": Validation de bias
bumpless
BOOL
"1": Réglage de bias lors de la commutation
Manuel/Automatique (sans à-coups)
33002536 09/2020
277
MS
Description détaillée
Schéma fonctionnel
Le diagramme suivant illustre la structure du bloc fonction :
Réglage de la sélection du mode de fonctionnement
Le mode de fonctionnement peut être sélectionné via le programme API ou par un dialogue avec
le serveur (dispositif de surveillance) en fonction de l'entrée FORC.
Entrée FORC
Réglage du mode de fonctionnement
0
Réglage par l'entrée MAN_AUTO (via l'appareil de contrôle) :
MAN_AUTO= 1 : Mode automatique
MAN_AUTO= 0 : Mode manuel
Dans ce cas, l'entrée MA_FORC est inefficace.
1
Réglage par l'entrée MA_FORC (via le programme API) :
MA_FORC = 1 : Mode automatique
MA_FORC = 0 : Mode manuel
Dans ce cas, l'entrée MAN_AUTO est inefficace.
La sortie MA_O indique en permanence le mode de fonctionnement courant du bloc fonction.
278
33002536 09/2020
MS
Caractéristiques de la sortie OUT
La sortie OUT présente les caractéristiques suivantes :
Mode automatique : la sortie OUT est une copie de l'entrée IN.
En mode automatique, la valeur OUTBIAS est activée à la sortie OUT (mettre use_bias à 1).
Dès lors, OUT se calcule comme suit : OUT = IN + outbias.
 Mode manuel : le bloc fonction n'affecte pas de valeur à la sortie. L'opérateur peut ainsi modifier
directement la valeur de la variable associée à la sortie OUT.
 En principe, la sortie OUT est limitée entre out_min et out_max. Lorsque la valeur calculée par
le bloc fonction (ou saisie en mode manuel par l'opérateur) dépasse une des valeurs limites, la
valeur de OUT est écrêtée (sur out_min ou out_max). Par contre, la sortie incrémentale OUTD
ne tient pas compte de cet écrêtage.

Commutation Manuel/Automatique
La commutation Manuel/Automatique à la sortie s'effectue sans à-coups, car la valeur de IN n'est
pas immédiatement amenée à la sortie.
La sortie OUT s'approche en rampe de l'entrée IN avec une montée positive (inc_rate) ou
négative (dec_rate) :
 inc_rate s’applique, si IN est supérieur à OUT au moment de la commutation
 dec_rate s’applique, si IN est inférieur à OUT au moment de la commutation
Commutation sans à-coups
33002536 09/2020
279
MS
La commutation sans à-coups peut être annulée en rampe montante en mettant inc_rate à 0.
Si dec_rate = 0, la commutation en rampe descendante s'effectue avec à-coups. Dans les deux
cas, l'entrée IN est amenée immédiatement à la sortie OUT lors de la commutation en mode
automatique.
Lorsque le paramètre outbias (use_bias = 1) est utilisé, la commutation du mode manuel au
mode automatique peut s'effectuer sans à-coups, et ce sans changement de sortie, en mettant le
paramètre bumpless à 1. Dans ce cas, le bloc fonction recalcule le paramètre outbias et tient
compte du décalage entre l'entrée IN et la sortie OUT.
Commutation sans à-coups avec le paramètre Outbias
La commutation Manuel/Automatique sans à-coups se justifie lorsque l'entrée du bloc fonction
n'est connectée à aucun régulateur ou est reliée à une sortie de régulateur dépourvue de
composante intégrale.
280
33002536 09/2020
MS
Exemple
Exemple
Dans cet exemple, un traitement est inséré entre la sortie du module de régulation et la sortie
commandée par l'opérateur (au moyen de DFB FCT).
Pour garantir une commutation sans à-coups entre les modes de fonctionnement manuel et
automatique, le procédé de traitement inverse (R_FCT) est activé à la sortie du bloc fonction MS et
le résultat est acheminé à l'entrée du régulateur RCPY qui reste en mode automatique (MAN_AUTO
= 1).
Représentation du schéma fonctionnel :
33002536 09/2020
281
MS
Erreur d’exécution
Mot d'état
Les bits du mot d'état ont la signification suivante :
Bit
Valeur
déc.
Valeur
hex.
Etat ENO
Description
Bit 0 = 1
1
0x0001
False
Erreur lors d'un calcul en valeurs en virgule flottante
Bit 1 = 1
2
0x0002
False
Saisie d'une valeur non valide à l'une des entrées de valeurs en
virgule flottante
Bit 2 = 1
4
0x0004
False
Division par 0 lors d'un calcul en valeurs en virgule flottante
Bit 3 = 1
8
0x0008
False
Débordement de capacité lors d'un calcul en valeurs en virgule
flottante
Bit 4 = 1
16
0x0010
True
Les erreurs suivantes sont signalées :
 Une des grandeurs suivantes est négative : inc_rate,
dec_rate.
Le bloc fonction emploie la valeur 0 pour le calcul.
 Le paramètre outbias déborde de la zone
.
Dans ce cas, le bloc fonction utilise une valeur écrêtée :
ou
.
Bit 5 = 1
32
0x0020
True
La sortie OUT a atteint la limite inférieure out_min (voir Note)
Bit 6 = 1
64
0x0040
True
La sortie OUT a atteint la limite supérieure out_max (voir Note)
Pour obtenir une liste d'autres codes d'erreur de virgule flottante possibles, voir Erreurs courantes
relatives aux valeurs à virgule flottante, page 364.
Note
NOTE : en mode manuel, ces bits restent à un pendant un seul cycle de programme. Lorsque
l'utilisateur saisit en OUT une valeur qui dépasse l'une des valeurs limites, le bloc fonction attribue
la valeur 1 au bit 5 ou 6, et écrête la valeur saisie par l'opérateur. Lors de l'exécution suivante du
bloc fonction, la valeur de OUT ne dépasse plus de la zone et les bits 5 et 6 sont remis à 0.
Message d'erreur
Une erreur est signalée lorsqu'une valeur non réelle est saisie à une entrée ou lorsqu'un incident
se produit lors d'un calcul en valeurs en virgule flottante. Dans ce cas, les sorties OUT, OUTD et
MA_O restent inchangées.
NOTE : pour une liste des valeurs et des codes d'erreur de bloc, reportez-vous aux Traitement en
sortie, page 362.
282
33002536 09/2020
MS
Message d'avertissement
Un message d'avertissement est émis dans les cas suivants :
Le paramètre inc_rate est négatif : dans ce cas, le bloc fonction utilise la valeur 0 au lieu de
la valeur incorrecte de inc_rate.
 Le paramètre dec_rate est négatif : dans ce cas, le bloc fonction utilise la valeur 0 au lieu de
la valeur incorrecte de dec_rate.
 Le paramètre outbias sort de la zone [(out_min - out_max), (out_max - out_min)].
Dans ce cas, le bloc fonction utilise la valeur (out_min - out_max) ou (out_max out_min) lors du calcul.

33002536 09/2020
283
MS
284
33002536 09/2020
EcoStruxure™ Control Expert
MS_DB
33002536 09/2020
Chapitre 33
MS_DB : Contrôle manuel et sortie avec zone morte
MS_DB : Contrôle manuel et sortie avec zone morte
Introduction
Ce chapitre décrit le bloc MS_DB.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
286
Description détaillée
290
Erreur d’exécution
294
33002536 09/2020
285
MS_DB
Description
Description de la fonction
Ce bloc fonction permet de diviser une sortie numérique. Il est souvent utilisé pour dupliquer une
sortie PID sur un actionneur.
Il est possible d'appliquer une bande morte à l'écart entre l'entrée IN et la copie positionnelle.
Le mode de fonctionnement manuel permet d'effectuer le contrôle avec ou sans retour positionnel
(la transmission de la sortie à l'entrée fait qu'aucun écart n'apparaît en cas de basculement en
mode automatique, assurant un démarrage en douceur). Pour basculer sans à-coups du mode
manuel au mode automatique dans la servocommande, transmettez une rampe montante ou
descendante à l'entrée de consigne.
EN et ENO peuvent être configurés comme paramètres supplémentaires.
Applications
Généralement, le bloc fonction est mis en œuvre lors des applications suivantes :
commande d'une sortie analogique qui ne fonctionne pas en boucle (boucle ouverte),
 boucles dans lesquelles un dispositif de traitement a été intercalé entre la sortie du régulateur
et la sortie commandée par l'opérateur,
 échantillonnage du régulateur commandant la sortie, lorsque la période d'échantillonnage
dépasse 1 à 2 secondes.
 Pour contrôler un servomoteur, utilisez le bloc fonction MS_DB. Il joue le rôle de bloc contrôleur
permettant d'insérer le servomoteur.

Représentation en FBD
Représentation :
286
33002536 09/2020
MS_DB
Représentation en LD
Représentation :
Représentation en IL
Représentation :
CAL MS_Instance (IN:=Instruction, FORC:=OperatingModeFlag,
MA_FORC:=OperatingModeFORC_1,
MAN_AUTO:=OperatingModeFORC_0, PARA:=Parameters,
TR_I:=InitializationInput, TR_S:=InitializationType,
RCPY:= PositionalCopy,
OUT:=AbsoluteOutput, OUTD=>IncrementalOutput,
MA_O=>CurrentBlockOperatingMode, STATUS=>StatusWord)
33002536 09/2020
287
MS_DB
Représentation en ST
Représentation :
MS_Instance (IN:=Instruction, FORC:=OperatingModeFlag,
MA_FORC:=OperatingModeFORC_1,
MAN_AUTO:=OperatingModeFORC_0, PARA:=Parameters,
TR_I:=InitializationInput, TR_S:=InitializationType,
RCPY:= PositionalCopy,
OUT:=AbsoluteOutput, OUTD=>IncrementalOutput,
MA_O=>CurrentBlockOperatingMode, STATUS=>StatusWord) ;
Description des paramètres de MS
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
IN
REAL
Grandeurs de commande utilisées en mode automatique
FORC
BOOL
"1" : le mode de fonctionnement Manuel/Automatique est activé par
MA_FORC.
"0" : "le mode de fonctionnement Manuel/Automatique est activé par
MAN_AUTO.
MA_FORC
BOOL
Mode manuel/automatique (si FORC = 1)
"1" : mode de fonctionnement automatique
"0": Manuel
MAN_AUTO
BOOL
Mode manuel/automatique (si FORC = 0)
"1" : mode de fonctionnement automatique
"0": Manuel
PARA
Para_MS_DB
Paramètre
TR_I
REAL
Entrée d'initialisation
TR_S
BOOL
Commande d'initialisation
RCPY
REAL
Réaction de position (0 à 100%)
Description du paramètre d'entrée/sortie :
288
Paramètre
Type de données
Signification
OUT
REAL
Sortie absolue
33002536 09/2020
MS_DB
Description des paramètres de sortie :
Paramètre
Type de données
Signification
OUTD
REAL
Sortie incrémentale : différence entre la sortie courante et la sortie
de l'exécution précédente
MA_O
BOOL
Mode courant du bloc fonction (0 : Manuel, 1 : Automatique)
STATUS
WORD
Mot d'état
Description des paramètres de Para_MS_DB
Description de la structure de données
Elément
Type de données
Signification
out_min
REAL
Valeur limite inférieure de la sortie
out_max
REAL
Valeur limite supérieure de la sortie
inc_rate
REAL
Rampe montante lors de la commutation Manuel/Automatique
(unités par seconde)
dec_rate
REAL
Rampe descendante lors de la commutation Manuel/Automatique
(unités par seconde)
outbias
REAL
Valeur de bias
use_bias
BOOL
"1" : validation du bias
bumpless
BOOL
"0" : réglage du bias lors du basculement Manuel/Automatique (sans
à-coups)
dead_band
REAL
Bande morte sur l'écart
en_rcpy
BOOL
"1" : fonction avec retour positionnel (comprenant RCPY)
33002536 09/2020
289
MS_DB
Description détaillée
Schéma fonctionnel
Le diagramme suivant illustre la structure du bloc fonction :
Réglage de la sélection du mode de fonctionnement
Le mode de fonctionnement peut être sélectionné via le programme API ou par un dialogue avec
l'opérateur (dispositif de surveillance) en fonction de l'entrée FORC.
Entrée FORC
Réglage du mode de fonctionnement
0
Réglage par l'entrée MAN_AUTO (via l'appareil de contrôle) :
MAN_AUTO= 1 : Mode automatique
MAN_AUTO= 0 : Mode manuel
Dans ce cas, l'entrée MA_FORC est inefficace.
1
Réglage par l'entrée MA_FORC (via le programme API) :
MA_FORC = 1 : Mode automatique
MA_FORC = 0 : Mode manuel
Dans ce cas, l'entrée MAN_AUTO est inefficace.
La sortie MA_O indique en permanence le mode de fonctionnement courant du bloc fonction.
290
33002536 09/2020
MS_DB
Caractéristiques de la sortie OUT
La sortie OUT présente les caractéristiques suivantes :
Mode automatique : la sortie OUT est une copie de l'entrée IN.
En mode automatique, la valeur OUTBIAS est activée à la sortie OUT (mettre use_bias à 1).
Dès lors, OUT se calcule comme suit : OUT = IN + outbias.
 Mode manuel : le bloc fonction n'affecte pas de valeur à la sortie. L'opérateur peut ainsi modifier
directement la valeur de la variable associée à la sortie OUT.
 En principe, la sortie OUT est limitée entre out_min et out_max. Lorsque la valeur calculée par
le bloc fonction (ou saisie en mode manuel par l'opérateur) dépasse une des valeurs limites, la
valeur de OUT est écrêtée (sur out_min ou out_max). Par contre, la sortie incrémentale OUTD
ne tient pas compte de cet écrêtage.

Commutation Manuel/Automatique
La commutation Manuel/Automatique à la sortie s'effectue sans à-coups, car la valeur de IN n'est
pas immédiatement amenée à la sortie.
La sortie OUT s'approche en rampe de l'entrée IN avec une montée positive (inc_rate) ou
négative (dec_rate) :
 inc_rate s’applique, si IN est supérieur à OUT au moment de la commutation
 dec_rate s’applique, si IN est inférieur à OUT au moment de la commutation
Commutation sans à-coups
33002536 09/2020
291
MS_DB
La commutation sans à-coups peut être annulée en rampe montante en mettant inc_rate à 0.
Si dec_rate = 0, la commutation en rampe descendante s'effectue avec à-coups. Dans les deux
cas, l'entrée IN est amenée immédiatement à la sortie OUT lors de la commutation en mode
automatique.
Lorsque le paramètre outbias (use_bias = 1) est utilisé, la commutation du mode manuel au
mode automatique peut s'effectuer sans à-coups, et ce sans changement de sortie, en mettant le
paramètre bumpless à 1. Dans ce cas, le bloc fonction recalcule le paramètre outbias et tient
compte du décalage entre l'entrée IN et la sortie OUT.
Commutation sans à-coups avec le paramètre Outbias
La commutation Manuel/Automatique sans à-coups se justifie lorsque l'entrée du bloc fonction
n'est connectée à aucun régulateur ou est reliée à une sortie de régulateur dépourvue de
composante intégrale.
292
33002536 09/2020
MS_DB
Bande morte et réaction de position
Les caractéristiques applicables sont les suivantes :
Mode de fonctionnement Manuel et réaction de position (en_rcpy=1)
La bande morte permet de comparer la sortie OUT calculée par la fonction MS_DB et la valeur
de la réaction de position (RCPY). Si le résultat de cette comparaison est inférieur à la valeur de
la bande morte (dead_band), l'écart de l'actionneur est ignoré.
 Mode de fonctionnement Automatique et réaction de position (en_rcpy=1)
La bande morte permet de comparer la valeur d'entrée et la valeur de réaction de position
(RCPY). Si le résultat de cette comparaison est inférieur à la valeur de la bande morte
(dead_band), l'écart de l'actionneur est ignoré.
 Sans réaction de position (en_rcpy = 0)
La bande morte n'a aucune fonction.

Représentation de la bande morte sur l'écart (dead_band)
33002536 09/2020
293
MS_DB
Erreur d’exécution
Mot d'état (STATUS)
Les bits du mot d'état ont la signification suivante :
Bit
Description
Bit 0 = 1
Erreur lors d'un calcul en valeurs en virgule flottante
Bit 1 = 1
Saisie d'une valeur non valide à l'une des entrées de valeurs en virgule
flottante
Bit 2 = 1
Division par 0 lors d'un calcul en valeurs en virgule flottante
Bit 3 = 1
Débordement de capacité lors d'un calcul en valeurs en virgule flottante
Bit 4 = 1
Les erreurs suivantes sont signalées :
 Une des grandeurs suivantes est négative : inc_rate, dec_rate.
Le bloc fonction emploie la valeur 0 pour le calcul.
 Le paramètre outbias déborde de la zone
.
Dans ce cas, le bloc fonction utilise une valeur écrêtée :
ou
.
Bit 5 = 1
La sortie OUT a atteint la limite inférieure out_min (voir Note)
Bit 6 = 1
La sortie OUT a atteint la limite supérieure out_max (voir Note)
Pour obtenir une liste d'autres codes d'erreur de virgule flottante possibles, voir Erreurs courantes
relatives aux valeurs à virgule flottante, page 364.
Note
NOTE : en mode manuel, ces bits restent à un pendant un seul cycle de programme. Lorsque
l'utilisateur saisit en OUT une valeur qui dépasse l'une des valeurs limites, le bloc fonction attribue
la valeur 1 au bit 5 ou 6, et écrête la valeur saisie par l'opérateur. Lors de l'exécution suivante du
bloc fonction, la valeur de OUT ne dépasse plus de la zone et les bits 5 et 6 sont remis à 0.
Message d'erreur
Une erreur est signalée lorsqu'une valeur non réelle est saisie à une entrée ou lorsqu'un incident
se produit lors d'un calcul. Dans un tel cas, les sorties OUT, OUTD et MA_O restent inchangées.
NOTE : pour une liste des valeurs et des codes d'erreur de bloc, reportez-vous aux Traitement en
sortie, page 362.
294
33002536 09/2020
MS_DB
Message d'avertissement
Un message d'avertissement est émis dans les cas suivants :
Le paramètre inc_rate est négatif : dans ce cas, le bloc fonction utilise la valeur 0 au lieu de
la valeur incorrecte de inc_rate.
 Le paramètre dec_rate est négatif : dans ce cas, le bloc fonction utilise la valeur 0 au lieu de
la valeur incorrecte de dec_rate.
 Le paramètre outbias sort de la zone [(out_min - out_max), (out_max - out_min)].
Dans ce cas, le bloc fonction utilise la valeur (out_min - out_max) ou (out_max out_min) lors du calcul.

33002536 09/2020
295
MS_DB
296
33002536 09/2020
EcoStruxure™ Control Expert
PWM1
33002536 09/2020
Chapitre 34
PWM1 : Modulation de la largeur d'impulsion
PWM1 : Modulation de la largeur d'impulsion
Introduction
Ce chapitre décrit le bloc PWM1.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
298
Description détaillée
301
Exemples de bloc fonction PIDFF
303
33002536 09/2020
297
PWM1
Description
Utilisation du bloc
Les actionneurs sont pilotés non seulement par des quantités analogiques, mais également par
des signaux de commandes binaires.
L'énergie moyenne ajustée de l'actionneur (énergie de l'actionneur) doit correspondre à la valeur
d'entrée analogique du bloc de modulation (IN).
NOTE : Ce bloc fonction effectue une initialisation interne lors du premier cycle d'un programme
après un démarrage à chaud ou à froid (téléchargement d'une application ou redémarrage) du
programme de l'automate.
Par conséquent, vérifiez que le bloc fonction est invoqué lors du premier cycle d'un programme.
En cas d'invocation du bloc fonction dans un cycle d'un programme ultérieur, l'initialisation interne
ne s'effectuera pas et les sorties risquent de fournir des valeurs erronées.
DANGER
COMPORTEMENT DE SORTIE INATTENDU
Vérifiez que le bloc fonction est toujours invoqué lors du premier cycle d'un programme.
Le non-respect de ces instructions provoquera la mort ou des blessures graves.
Description de la fonction
Le bloc fonction PWM1 convertit des valeurs analogiques en des signaux de sortie numériques.
En modulation de largeur d'impulsion (QPWM), un signal 1 est émis à une fréquence d'horloge
constante, pendant une durée qui est fonction de la valeur analogique. L'énergie moyenne ajustée
correspond au rapport de la durée de commutation T_on et du temps de cycle t_period.
Afin que l'énergie moyenne ajustée corresponde également à la variable d'entrée analogique IN,
les conditions suivantes doivent s'appliquer :
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.
Informations générales sur le variateur d'actionneur
En général, le variateur d'actionneur binaire est porté par deux signaux binaires OUT_POS et
OUT_NEG. Sur un moteur, la sortie OUT_POS correspond au signal "rotation dans le sens horaire"
et la sortie OUT_NEG au signal "rotation dans le sens anti-horaire". Pour un four, les sorties
OUT_POS et OUT_NEG pourraient être interprétées en tant que "chauffage" et "refroidissement".
298
33002536 09/2020
PWM1
Formules de longueur d'impulsion pour OUT_POS et OUT_NEG
Les longueurs d'impulsion T_on des sorties OUT_pos et OUT_neg sont déterminées par les
formules suivantes :
Sortie
Formule
Condition
OUT_POS
OUT_NEG
Règles de paramétrage
Pour un fonctionnement correct lors de la définition des paramètres, observez les règles
suivantes :
t_min ≤ t_period
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33002536 09/2020
299
PWM1
Représentation en IL
Représentation :
CAL PWM1_Instance (IN:=InputVariable, RST:=ResetMode,
PARA:=Parameters, OUT_NEG=>OutputNegative_IN_Values,
OUT_POS=>OutputPositive_IN_Values)
Représentation en ST
Représentation :
PWM1_Instance (IN:=InputVariable, RST:=ResetMode,
PARA:=Parameters, OUT_NEG=>OutputNegative_IN_Values,
OUT_POS=>OutputPositive_IN_Values) ;
Description des paramètres du PWM1
Description des paramètres d'entrée :
Paramètre
Type de données
Description
IN
REAL
Variable d'entrée
RST
BOOL
Mode de réinitialisation ("1" = Réinitialisation)
PARA
Para_PWM1
Paramètre
Description des paramètres de sortie :
Paramètre
Type de données
Description
OUT_NEG
BOOL
Sortie pour valeurs IN négatives
OUT_POS
BOOL
Sortie pour valeurs IN positives
Description des paramètres de Para_PWM1
Description de la structure de données
Elément
Type de données
Description
t_period
TIME
Durée de période
t_min
TIME
Durée d'impulsion d'activation minimum (secondes)
in_max
REAL
Valeur de limitation supérieure pour valeurs IN
positives/négatives
Erreur d'exécution
NOTE : Pour obtenir la liste de tous les codes et valeurs d'erreur du bloc, reportez-vous à la section
Traitement en sortie, page 362.
300
33002536 09/2020
PWM1
Description détaillée
Fonctionnement du bloc
La durée de la période fixe le temps pendant lequel les impulsions de commande sont délivrées
régulièrement (signal 1 sur la sortie OUT_POS ou OUT_NEG), c.-à-d. de manière constante.
Le paramètre t_min indique la longueur d'impulsion minimale, c.-à-d. le temps pendant lequel la
sortie OUT_POS ou la sortie OUT_NEG doit adopter le signal 1 au minimum. Si la durée de
l'impulsion calculée selon l'équation décrite dans la section "Formules de longueur d'impulsion
pour OUT_POS et OUT_NEG, page 299" est inférieure à t_min, aucune impulsion n'est émise
durant toute la période.
Représentation du chronogramme
La figure suivante illustre le rapport entre les différents temps :
1
Variable temps d'enclenchement
Le paramètre in_max caractérise le point de la grandeur d'entrée IN, auquel la sortie OUT_POS
avec une grandeur d'entrée IN positive délivrerait toujours un signal 1.
33002536 09/2020
301
PWM1
Fonction de la durée
La fonction de la durée pendant laquelle la sortie OUT_POS (OUT_NEG) est à la valeur 1, par rapport
à la grandeur d'entrée IN est représentée à la figure suivante :
Modes de fonctionnement
En mode Réinitialisation RST = 1, les sorties OUT_POS et OUT_NEG sont mises à zéro. Les
horodateurs internes sont également initialisés. Ainsi, le bloc fonction commence par émettre un
nouveau signal 1 à la sortie correspondante lors du passage à RST = 0.
Conditions annexes
Si le bloc fonction PWM1 fonctionne en association avec un régulateur PID, la durée de la période
t_period doit être choisie de telle manière qu'elle corresponde au temps de scrutation du
régulateur PID. Ce procédé permet de garantir que chaque nouveau signal de commande du
régulateur PID sera traité intégralement pendant la durée de la période.
Le temps de scrutation du PWM1 devrait ensuite être choisi en fonction de la finesse du temps
d'impulsion par rapport à la durée de la période. Ce temps permet de déterminer une séquence
d'impulsions minimale.
Le ratio minimal suivant est recommandé :
302
33002536 09/2020
PWM1
Exemples de bloc fonction PIDFF
Réponse indicielle
Cet exemple représente l'évolution du signal sur les sorties OUT_POS et OUT_NEG pour différentes
valeurs du signal d'entrée IN.
Les temps suivants sont alloués pour représenter la réponse indicielle :
Paramètres
Temps alloué
t_period
4s
t_min
0,5 s
in_max
10
Chronogramme Réponse indicielle
IN Signal analogique
Aucune impulsion n'est délivrée lorsque le signal d'entrée IN est très petit. Cela s'explique par
l'effet du temps t_min. Lorsque le signal d'entrée IN est élevé (IN = in_max), une impulsion
continue est délivrée.
33002536 09/2020
303
PWM1
304
33002536 09/2020
EcoStruxure™ Control Expert
SERVO
33002536 09/2020
Chapitre 35
SERVO : Régulation de servomoteurs
SERVO : Régulation de servomoteurs
Introduction
Ce chapitre décrit le bloc SERVO.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
306
Paramétrage
310
Algorithmes du bloc fonction SERVO
312
Modes de fonctionnement
313
Exemples de bloc fonction SERVO
314
Erreur d’exécution
321
33002536 09/2020
305
SERVO
Description
Description de la fonction
Ce bloc fonction permet de procéder à une régulation PID sur des servomoteurs avec ou sans
recopie de position. Ce bloc est placé en aval du régulateur (PIDFF, PI_B) dont il transforme la
sortie numérique en deux sorties logiques RAISE et LOWER.
Lorsque le bloc fonction utilise la recopie de position, il exécute un contrôle du positionnement de
l'actionneur. Lorsque le bloc n'a pas recours à la recopie de position, le régulateur et le bloc
fonction SERVO procèdent ensemble à une régulation continue (statique).
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation dans FBD
Représentation :
306
33002536 09/2020
SERVO
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
CAL SERVO_Instance (SEN:=New_INPD_Or_IN_ValueFlag,
IN:=ControllerOutputOUT, INPD:=VariationOf_IN,
MA_I:=OperatingMode, RCPY:=PositionalCopy,
RST:=BlockReinitialization,
R_STOP:=ReachedEndstopOfRAISE,
L_STOP:=ReachedEndstopOfLOWER, PARA:=Parameters,
RAISE=>TravelDirectionOfRAISE,
LOWER=>TravelDirectionOfLOWER, STATUS=>StatusWord)
33002536 09/2020
307
SERVO
Représentation dans ST
Représentation :
SERVO_Instance (SEN:=New_INPD_Or_IN_ValueFlag,
IN:=ControllerOutputOUT, INPD:=VariationOf_IN,
MA_I:=OperatingMode, RCPY:=PositionalCopy,
RST:=BlockReinitialization,
R_STOP:=ReachedEndstopOfRAISE,
L_STOP:=ReachedEndstopOfLOWER, PARA:=Parameters,
RAISE=>TravelDirectionOfRAISE,
LOWER=>TravelDirectionOfLOWER, STATUS=>StatusWord) ;
Description des paramètres SERVO
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
SEN
BOOL
"1" : prise en compte d'une nouvelle valeur aux
entrées INPD ou IN
"0" : pas de prise en compte des nouvelles valeurs
de INPD ou IN
IN
REAL
Sortie du régulateur OUT (0 à 100 %)
INPD
REAL
Modification de la sortie OUTD du régulateur (-100 %
à 100 %)
MA_I
BOOL
Mode de fonctionnement du régulateur (sortie
MA_O)
"1" : Mode automatique
"0" : Mode manuel ou Tracking
RCPY
REAL
Recopie de position (0 à 100%)
RST
BOOL
"1" : Réinitialisation du bloc fonction (mise à zéro
des sorties et de l'état interne du module)
R_STOP
BOOL
La position finale RAISE est atteinte
L_STOP
BOOL
La position finale LOWER est atteinte
PARA
Para_SERVO
Paramètres
Description des paramètres de sortie :
308
Paramètres
Type de données
Signification
RAISE
BOOL
Sortie logique dans le sens de fonctionnement
RAISE
LOWER
BOOL
Sortie logique dans le sens de fonctionnement
LOWER
STATUS
WORD
Mot d'état
33002536 09/2020
SERVO
Description des paramètres Para_SERVO
Description de la structure de données
Elément
Type de données
Signification
en_rcpy
BOOL
"1" : Fonction avec Recopie de position (prise en
compte de RCPY)
rcpy_rev
BOOL
"1" : inversion de RCPY
"0" : pas d'inversion de RCPY
t_motor
TIME
Délai d'ouverture de l'actionneur
t_mini
TIME
Durée minimale de l'impulsion
33002536 09/2020
309
SERVO
Paramétrage
Index de paramétrage
Les modes de fonctionnement du bloc fonction sont expliqués ci-après :
Avec recopie de position (en_rcpy = 1), page 310
 Sans recopie de position (en_rcpy = 0), page 310
 Délai d'ouverture de l'actionneur (t_motor), page 310
 Durée minimale d'impulsion (t_mini), page 311
 Cycle / Paramètre SEN, page 311


Saisie de la position finale, page 311
Avec recopie de position (en_rcpy = 1)
Lorsque la recopie de position RCPY (en_rcpy = 1) est appliquée, l'entrée IN doit être connectée
à la sortie en valeur absolue OUT d'un régulateur (plage 0 à 100 %). Pour chaque nouvelle valeur
de la sortie OUT générée par le régulateur, le bloc fonction SERVO génère une sortie tout ou rien
RAISE ou LOWER dont la durée est proportionnelle au décalage IN – RCPY. Pour que le bloc
fonction s'exécute correctement, l'entrée MA_I doit être raccordée à la sortie MA_O du régulateur.
La valeur de l'entrée RCPY peut correspondre à un pourcentage d'ouverture (avec rcpy_rev = 0)
ou de fermeture (mettre rcpy_rev à 1).
Sans recopie de position (en_rcpy = 0)
Lorsque aucune recopie de position n'est appliquée (en_rcpy = 0), l'entrée INPD doit être
connectée à la modification de sortie OUTD d'un régulateur (plage -100 à 100 %). Pour chaque
nouvelle valeur OUTD générée par le régulateur, le bloc fonction SERVO génère une sortie tout ou
rien RAISE ou LOWER dont la durée est proportionnelle à la modification de sortie INPD du
régulateur. Dans ce cas, la sortie MA_I doit être absolument raccordée à la sortie MA_O du même
régulateur, étant donné que l'algorithme dévie légèrement selon le mode de fonctionnement (voir
section "Algorithmes du bloc fonction SERVO, page 312").
Délai d'ouverture de l'actionneur (t_motor)
Le paramètre t_motor permet au bloc fonction de se régler sur les différents servomoteurs.
La durée d'impulsion RAISE ou LOWER à activer doit être proportionnelle au délai d'ouverture de
l'actionneur dans toute la zone de régulation.
310
33002536 09/2020
SERVO
Durée minimale d'impulsion (t_mini)
Le paramètre t_mini permet d'éviter de générer des impulsions trop courtes susceptibles
d'endommager les actionneurs. Lorsque la durée d'impulsion calculée RAISE ou LOWER est
inférieure à t_mini, le bloc fonction ne génère aucune impulsion. Chaque impulsion déjà
entamée a une durée minimale de t_mini.
Cycle / Paramètre SEN
En mode automatique, la résolution de la régulation exécutée par le bloc fonction SERVO s'exprime
par le ratio (période cyclique de la boucle / période d'exécution du bloc fonction SERVO).
Le régulateur doit donc être analysé avant le bloc fonction SERVO (par un bloc fonction SAMPLETM).
Toutefois, le bloc fonction SERVO doit être exécuté à chaque cycle. Dans le cas contraire (si le bloc
régulateur est exécuté au cours du même cycle que le bloc SERVO), la régulation à deux positions
exécutée est incorrecte, ce qui a de fortes implications sur l'actionneur.
L'entrée SEN du bloc fonction SERVO signale à celui-ci si le bloc du régulateur PID a été exécuté
ou non lors du cycle en cours.
L'entrée SEN indique donc si le régulateur a généré ou non une nouvelle sortie, afin d'éviter de
prendre en compte la même sortie à plusieurs reprises :
SEN =
Signification
1
prise en compte d'une nouvelle valeur
0
pas de prise en compte d'une nouvelle valeur
Lorsque le régulateur a été analysé par le bloc fonction SAMPLETM, comme c'est souvent le cas, il
suffit de raccorder la sortie SEN du bloc fonction SERVO à la sortie SAMPLETM (voir
section"Exemples de bloc fonction SERVO, page 314").
Saisie de la position finale
Lorsque la position finale est saisie (R_STOP = 1 ou L_STOP = 1), la sortie correspondante (RAISE
ou LOWER) est forcée à 0.
33002536 09/2020
311
SERVO
Algorithmes du bloc fonction SERVO
Algorithme sans recopie de position
Dans ce cas, le bloc fonction SERVO connecté sur le régulateur permet d'obtenir une régulation
statique. L'algorithme n'utilise pas la sortie en valeur absolue OUT du régulateur mais emploie la
modification de sortie OUTD. La sortie RAISE (ou LOWER, selon le signe de la modification) est mise
à 1 pendant une période déterminée. Ce temps est proportionnel au délai d'ouverture de la vanne
(t_motor) et à la valeur de modification OUTD.
La formule attribue une première valeur théorique à la durée des impulsions admises à la sortie
(T_IMP) :
Ensuite, T_IMP (la durée des impulsions admises à la sortie) se présente comme suit :
Lorsque
Alors
T_IMP < t_mini
le bloc ne génère aucune impulsion mais sauvegarde la valeur pour le calcul suivant.
Ceci permet de traiter correctement les applications de régulation quand les
modifications de sortie du régulateur sont faibles mais durables.
Afin d'éviter de générer des impulsions trop courtes, les impulsions admises à la
sortie sont limitées à une durée minimale t_mini.
si le régulateur PID est T_IMP est calculé en continu, lors de chaque cycle. Ce calcul tient compte des
en mode manuel,
durées calculées précédemment qui n'ont pas encore été fixées avec une limitation
de t_motor. Ceci permet de prendre en compte une modification de sortie
quelconque du régulateur PID, même si l'impulsion dure plusieurs cycles.
si le régulateur PID est le bloc fonction SERVO calcule de nouveau le paramètre T_IMP lorsque le régulateur
en mode automatique, met sa sortie à jour, c'est-à-dire quand SEN est mis à 1. Dans ce mode de
fonctionnement, les durées calculées précédemment ne sont plus prises en compte.
Algorithme avec recopie de position
L'algorithme est fortement analogue au cas ci-dessus.
Au lieu d'utiliser la modification de sortie du régulateur PID, le bloc fonction SERVO emploie le
décalage entre la sortie en valeur absolue du régulateur PID et la recopie de position (IN - RCPY).
Le bloc fonction exécute une régulation de position : la sortie du régulateur PID correspond alors
à la consigne et la recopie de position RCPY correspond à la mesure.
Contrairement à ce qui se passe avec un algorithme sans recopie de position, le bloc fonction en
mode manuel ne sauvegarde pas les durées calculées précédemment qui n'ont pas encore été
ajustées aux sorties RAISE et LOWER.
312
33002536 09/2020
SERVO
Modes de fonctionnement
Adaptation aux modes de fonctionnement
L'entrée MA_I permet au bloc fonction SERVO d'adapter son comportement au mode opératoire du
régulateur. Pour ce faire, il doit être raccordé à la sortie MA_O du régulateur ou du bloc fonction MS
correspondant.
Mode automatique
Le bloc fonction SERVO ne lit de nouveau la sortie du régulateur que si celle-ci a été mise à jour
(c'est-à-dire si SEN est mis à 1).
Mode manuel
La sortie du régulateur peut être modifiée à tout moment par l'opérateur. Afin de tenir compte d'une
nouvelle valeur aussi rapidement que possible, le bloc fonction lit la sortie du régulateur à chaque
cycle.
Dans ce mode de fonctionnement, l'opérateur peut modifier manuellement la variable raccordée à
la sortie OUT d'un régulateur ou d'un bloc fonction MS. Lorsque aucune recopie de position n'est
utilisée, cette variable peut prendre la position finale (100 % ou 0 %), même si l'actionneur n'a
adopté aucune de ses deux positions finales. Il est également possible de modifier manuellement
la modification de sortie OUTD en plaçant la sortie OUT du bloc fonction MS à plus de 100 % (ou à
moins de 0 %). La valeur saisie en OUT intervient dans le calcul de OUTD avant d'être à nouveau
limitée.
33002536 09/2020
313
SERVO
Exemples de bloc fonction SERVO
Index des exemples
Dans cette section, la mise en œuvre du bloc fonction SERVO est illustrée par les exemples
suivants :


Exemple de mode automatique avec recopie de position, page 314
Exemple de mode automatique sans recopie de position en mode manuel, page 317
Exemple de mode automatique avec recopie de position
Cet exemple illustre le comportement du bloc fonction en mode automatique avec recopie de
position. Le bloc fonction SERVO prend toujours en compte une nouvelle valeur de décalage INRCPY lorsque l'entrée SEN est mise à 1 (dans cet exemple, toutes les 4 s).
Les temps alloués à chaque paramètre sont les suivants :
314
Paramètres
Temps alloué
t_motor
25 s
t_mini
1s
Période d'échantillonnage
4s
33002536 09/2020
SERVO
Chronogramme (mode automatique avec recopie de position)
Chronogramme du mode automatique avec recopie de position
Explication des temps
Explication des rangs marqués :
Numéro de
rang
Explication
1
Le décalage IN-RCPY s'élève à 20 % : une impulsion d'une durée de 5 s (=20 % de 25 s) est générée
à la sortie RAISE.
2
Si le décalage s'élève à 10 % seulement, une impulsion de 2,5 s (= 10 % de 25 s) est générée à la
sortie RAISE et la seconde restante de l'impulsion précédente n'est pas prise en compte.
3
L'écart atteint à présent – 2%, ce qui représente une impulsion de 0,5 s en LOWER. Étant donné que
t_mini correspond à 1 s, aucune impulsion n'est générée (la durée de 0,5 s est néanmoins
sauvegardée).
4
L'écart se chiffre toujours à –2%, mais l'impulsion correspondante (0,5 s) vient s'ajouter à l'impulsion
sauvée précédemment pour atteindre 1 s. La durée correspond à t_mini. L'impulsion est donc
ajustée à la sortie LOWER.
33002536 09/2020
315
SERVO
Exemple de programmation (mode automatique avec recopie de position)
Représentation du schéma fonctionnel, partie 1
316
33002536 09/2020
SERVO
Représentation du schéma fonctionnel, partie 2
OUT_RCPY Mesure de la recopie de position de la vanne
Exemple de mode automatique sans recopie de position en mode manuel
Cet exemple illustre le comportement du bloc fonction en mode automatique sans recopie de
position en mode manuel. Dans ce cas, la valeur de INPD est prise en compte à chaque exécution
du bloc fonction SERVO, quelle que soit la valeur de l'entrée SEN.
Les temps alloués à chaque paramètre sont les suivants :
Paramètres
Temps alloué
t_motor
25 s
t_mini
1s
33002536 09/2020
317
SERVO
Chronogramme (mode automatique sans recopie de position)
Mode automatique sans recopie de position en mode manuel
Explication des temps
Explication des rangs marqués :
Numéro Explication
de rang
318
1
La modification de la sortie du régulateur PID atteint + 20 %. Dans ce cas, l'impulsion concerne la
sortie RAISE et dure 5 s (= 20 % de 25 s).
2
La modification du régulateur PID se monte à +2 %, ce qui correspond à une durée d'impulsion de
0,5 s. L'impulsion est inférieure à t_mini (=1 s) et n'influence donc pas les sorties.
3
Lors de la seconde modification de +2 %, la fonction ajoute cette modification à la précédente (qui
correspond à un écart sous la valeur minimale), ce qui représente une modification totale positive
de +4 %, c'est-à-dire une impulsion de 1 s à la sortie RAISE.
4
Pour une modification de -24 %, l'impulsion à la sortie LOWER est de 6 s
5
Avant l'enchaînement de la seconde suivante, une modification supplémentaire de + 22 %
engendre une modification système totale de 2 % < modification de t_mini (4 %). La fonction
termine l'impulsion minimale de 1 s.
33002536 09/2020
SERVO
Exemple de programmation (mode automatique sans recopie de position)
Représentation du schéma fonctionnel, partie 1
33002536 09/2020
319
SERVO
Représentation du schéma fonctionnel, partie 2
TC2_DEFF Indicateur d'erreur de la mesure TC2 : lorsque TC2 est incorrect, la boucle est forcée en mode
manuel.
320
33002536 09/2020
SERVO
Erreur d’exécution
Mot d'état
Le mot d'état fournit les informations suivantes :
Bit
Valeur déc. Valeur hex.
Etat ENO
Signification
Bit 0 = 1
1
0x0001
False
Erreur lors d'un calcul avec des valeurs en virgule
flottante
Bit 1 = 1
2
0x0002
False
Saisie d'une valeur non valide à l'une des entrées
de valeurs en virgule flottante
Bit 2 = 1
4
0x0004
False
Division par 0 lors d'un calcul avec des valeurs en
virgule flottante
Bit 3 = 1
8
0x0008
False
Débordement de capacité lors d'un calcul en
valeurs en virgule flottante
Bit 4 = 1
16
0x0010
True
IN ou RCPY n'est pas situé dans la plage [0, 100] ou
INPD sort de la zone [-100, 100].
Le bloc fonction procède au calcul en utilisant une
valeur qui est limitée par la valeur correcte la plus
proche, c'est-à-dire la valeur 0, 100 ou -100 selon
le cas.
Pour obtenir une liste des autres codes d'erreur de virgule flottante possibles, voir Erreurs
courantes relatives aux valeurs à virgule flottante, page 364.
Message d'erreur
Une erreur se produit lorsqu'une valeur non réelle est saisie à une entrée ou lorsqu'un incident se
produit lors d'un calcul avec des valeurs en virgule flottante. Dans ce cas, les sorties RAISE et
LOWER sont mises à 0.
NOTE : Pour obtenir une liste de tous les codes et valeurs d'erreur du bloc, voir Traitement en
sortie, page 362.
33002536 09/2020
321
SERVO
322
33002536 09/2020
EcoStruxure™ Control Expert
SPLRG
33002536 09/2020
Chapitre 36
SPLRG : Contrôle de 2 actionneurs
SPLRG : Contrôle de 2 actionneurs
Introduction
Ce chapitre décrit le bloc SPLRG.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
324
Description détaillée
326
Erreur d’exécution
328
33002536 09/2020
323
SPLRG
Description
Description de la fonction
Le recours à ce bloc fonction se justifie lorsque 2 actionneurs sont mis en œuvre pour couvrir toute
l'étendue de contrôle (à 2 points de fonctionnement éloignés : en dessous et au-dessus).
Le régulateur est également indiqué pour les régulations continues à trois positions, c'est-à-dire
dans les cas où les deux actionneurs présentent des fonctionnalités distinctes (un actionneur
chauffe ; l'autre refroidit).
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Propriétés
Le bloc fonction SPLRG possède les propriétés suivantes :
Commande d'une bande morte ou d'une zone de transfert avec équilibrage des propriétés des
deux actionneurs
 L'entrée IN s'exprime en pourcentage (0 – 100 %) ; les sorties OUT1 et OUT2 s'expriment en
unités physiques.

Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
324
33002536 09/2020
SPLRG
Représentation dans IL
Représentation :
CAL SPLRG_Instance (IN:=ValueToBeBrokenDown,
PARA:=Parameters, OUT1=>InstructionByActuator1,
OUT2=>InstructionByActuator2, STATUS=>StatusWord)
Représentation dans ST
Représentation :
SPLRG_Instance (IN:=ValueToBeBrokenDown,
PARA:=Parameters, OUT1=>InstructionByActuator1,
OUT2=>InstructionByActuator2, STATUS=>StatusWord) ;
Description des paramètres SPLRG
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
IN
REAL
Valeur à résoudre (0 à 100 %)
PARA
Para_SPLRG
Paramètres
Description des paramètres de sortie :
Paramètres
Type de données
Signification
OUT1
REAL
Grandeur de commande de l'actionneur 1
OUT2
REAL
Grandeur de commande de l'actionneur 2
STATUS
WORD
Mot d'état
Description des paramètres Para_SPLRG
Description de la structure de données
Elément
Type de données
Signification
out1_th1
REAL
Valeur d'entrée IN, telle que : OUT1 = out1_inf
out1_th2
REAL
Valeur d'entrée IN, telle que : OUT1 = out1_sup
out1_inf
REAL
Valeur limite inférieure de la sortie OUT1
out1_sup
REAL
Valeur limite supérieure de la sortie OUT1
out2_th1
REAL
Valeur d'entrée IN, telle que : OUT2 = out2 _inf
out2_th2
REAL
Valeur d'entrée IN, telle que : OUT2 = out2_sup
out2_inf
REAL
Valeur limite inférieure de la sortie OUT2
out2_sup
REAL
Valeur limite supérieure de la sortie OUT2
33002536 09/2020
325
SPLRG
Description détaillée
Paramétrage
Le paramétrage du bloc fonction s'effectue en définissant les propriétés de chaque actionneur,
c'est-à-dire le type de modification du gradient des deux sorties du régulateur par rapport à l'entrée
IN.
Pour la sortie OUT1, il convient de définir les critères suivants :
Elément
Signification
out1_inf
Valeur limite inférieure de la plage
out1_sup
Valeur limite supérieure de la plage
out1_th1
Valeur seuil, c'est-à-dire la valeur d'entrée IN, telle que :
Sortie OUT1 = out1_inf
out1_th2
Valeur seuil, c'est-à-dire la valeur d'entrée IN, telle que :
Sortie OUT1 = out1_sup
Aux deux valeurs seuils, la valeur de OUT1 se modifie de manière linéaire. A l'exception des deux
valeurs de seuil, aucune autre sortie ne peut être modifiée, la valeur étant limitée par out1_inf
ou out1_sup.
Selon le réglage des deux valeurs seuils, les propriétés de régulation se caractérisent par une
pente positive (avec out1_th1 < out1_th2) ou négative (avec out1_th2 < out1_th1).
Les diagrammes suivants illustrent les propriétés des deux actionneurs en cas de régulation SplitRange et de régulation continue à trois positions.
Régulation continue à trois positions
Vous trouverez ci-après une représentation des propriétés des deux actionneurs en cas de
régulation continue à trois positions
326
33002536 09/2020
SPLRG
Régulation Split-Range
Vous trouverez ci-après une représentation des propriétés des deux actionneurs en cas de
régulation Split-Range
NOTE : Pour commander un bloc fonction SERVO, vous devez absolument employer les sorties de
ce régulateur avec recopie de position.
Modes de fonctionnement
Le bloc fonction SPLRG ne présente pas de mode de fonctionnement particulier. Dès lors, il est
possible de commander manuellement les deux sorties du bloc fonction en activant à chaque
sortie un bloc fonction MS. Lors de la programmation de cette fonction, l'utilisateur veillera à ce que
le retour en mode automatique s'effectue sans à-coups.
33002536 09/2020
327
SPLRG
Erreur d’exécution
Mot d'état
Le mot d'état fournit les informations suivantes :
Bit
Valeur déc.
Valeur hex.
Etat ENO
Signification
Bit 0 = 1
1
0x0001
False
Erreur lors d'un calcul avec des valeurs en virgule
flottante
Bit 1 = 1
2
0x0002
False
Saisie d'une valeur non valide à l'une des entrées
de valeurs en virgule flottante
Bit 2 = 1
4
0x0004
False
Division par 0 lors d'un calcul avec des valeurs en
virgule flottante
Bit 3 = 1
8
0x0008
False
Débordement de capacité lors d'un calcul en
valeurs en virgule flottante
Bit 4 = 1
16
0x0010
True
IN ou l'un des paramètres out1_th1,
out1_th2, out2_th1, out2_th2 sort de la
zone [0, 100] : le bloc fonction emploie la valeur 0
ou 100 pour le calcul.
Bit 5 = 1
32
0x0020
True
La sortie OUT1 a atteint la valeur limite inférieure
out1_inf : OUT1 est forcé sur out1_inf.
Bit 6 = 1
64
0x0040
True
La sortie OUT1 a atteint la valeur limite supérieure
out1_sup : OUT1 est forcé sur out1_sup.
Bit 7 = 1
128
0x0080
False
Les deux valeurs seuils d'une sortie sont
identiques : out1_th1 = out1_th2, out2_th1
= out2_th2.
Bit 8 = 1
256
0x0100
True
La sortie OUT2 a atteint la valeur limite inférieure
out2_inf : OUT2 est forcé sur out2_inf.
Bit 9 = 1
516
0x0200
True
La sortie OUT2 a atteint la valeur limite supérieure
out2_sup : OUT2 est forcé sur out2_sup.
Pour obtenir une liste des autres codes d'erreur de virgule flottante possibles, voir Erreurs
courantes relatives aux valeurs à virgule flottante, page 364.
328
33002536 09/2020
SPLRG
Message d'erreur
Dans les cas suivants, une erreur d'exécution est signalée :
Saisie d'une valeur non réelle à une entrée
 Incident lors d'un calcul avec des valeurs en virgule flottante.
 Les deux valeurs seuils de la même sortie sont identiques : out1_th1 = out1_th2 bzw.
out2_th1 = out2_th2

Les sorties OUT1 et OUT2 restent inchangées.
NOTE : Pour obtenir une liste de tous les codes et valeurs d'erreur du bloc, voir Traitement en
sortie, page 362.
Avertissement
Un avertissement est émis lorsque l'un des paramètres out1_th1, out1_th2, out2_th1,
out2_th2 sort de la zone [0, 100]. Dans ce cas, le bloc fonction emploie la valeur 0 ou 100 pour
le calcul.
33002536 09/2020
329
SPLRG
330
33002536 09/2020
EcoStruxure™ Control Expert
Traitement des valeurs de consigne
33002536 09/2020
Partie VII
Traitement des valeurs de consigne
Traitement des valeurs de consigne
Vue d'ensemble
Cette section décrit les fonctions et blocs fonction élémentaires de la famille Traitement des
valeurs de consigne.
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
Titre du chapitre
Page
37
RAMP : Générateur de gradient
333
38
RATIO : Automate de ratio
339
39
SP_SEL : Commutateur de consigne
345
33002536 09/2020
331
Traitement des valeurs de consigne
332
33002536 09/2020
EcoStruxure™ Control Expert
RAMP
33002536 09/2020
Chapitre 37
RAMP : Générateur de gradient
RAMP : Générateur de gradient
Introduction
Ce chapitre décrit le bloc RAMP.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
334
Description détaillée
336
Erreur d’exécution
338
33002536 09/2020
333
RAMP
Description
Description de la fonction
Le bloc fonction RAMP permet de générer une rampe entre deux consignes. Les pentes des
rampes positives et négatives peuvent différer.
Un message (sortie DONE) informe l'utilisateur que la valeur cible est atteinte ou que la rampe est
réalisée.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
334
33002536 09/2020
RAMP
Représentation dans IL
Représentation :
CAL RAMP_Instance (RSP:=RampTargetValue, PARA:=Parameters,
TR_I:=InitialRampValue, TR_S:=RampInitializationOrder,
SP=>Output, DONE=>ProgressFlag, STATUS=>StatusWord)
Représentation dans ST
Représentation :
RAMP_Instance (RSP:=RampTargetValue, PARA:=Parameters,
TR_I:=InitialRampValue, TR_S:=RampInitializationOrder,
SP=>Output, DONE=>ProgressFlag, STATUS=>StatusWord) ;
Description des paramètres RAMP
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
RSP
REAL
Valeur cible de la rampe
PARA
Para_RAMP
Paramètres
TR_I
REAL
Valeur initiale de la rampe
TR_S
BOOL
Commande d'initialisation de la rampe
Description des paramètres de sortie :
Paramètres
Type de données
Signification
SP
REAL
Sortie
DONE
BOOL
"1": Valeur cible atteinte
"0": Fonction Rampe en cours d'exécution
STATUS
WORD
Mot d'état
Description des paramètres Para_RAMP
Description de la structure de données
Elément
Type de données
inc_rate
REAL
Pente positive en unités par seconde (≥0)
dec_rate
REAL
Pente négative en unités par seconde (≥0)
33002536 09/2020
Signification
335
RAMP
Description détaillée
Paramétrage
Lorsque la valeur prédéterminée à l'entrée (RSP) dépasse la valeur actuelle de la sortie SP, le bloc
fonction augmente la valeur de cette sortie d'une pente inc_rate jusqu'à ce que la valeur SP
atteigne la valeur RSP. Lorsque inc_rate est à zéro, la fonction rampe n'étant pas exécutée, SP
est la copie conforme de RSP.
Lorsque la valeur prédéterminée à l'entrée est au-dessous de la valeur actuelle de SP, le bloc
fonction réduit la valeur de SP avec une pente dec_rate. Lorsque dec_rate est à zéro, la
fonction rampe n'étant pas exécutée, SP est la copie conforme de RSP.
Lorsque la valeur de RSP se modifie pendant la montée en rampe, le bloc fonction tente
immédiatement d'atteindre cette nouvelle valeur cible. La fonction rampe en cours d'exécution se
poursuit et, le cas échéant, change de sens.
Modes de fonctionnement
Le mode Tracking (TR_S = 1) permet d'affecter une valeur initiale à la sortie SP. Vous devez
procéder comme suit :
Étape
Action
1
Mettre TR_I à la valeur initiale souhaitée.
2
Mettre TR_S à 1 ; dans ce cas, l'entrée TR_I est transmise à SP en continu.
Nota : en mode Tracking (TR_S = 1), la sortie DONE reste en permanence à zéro.
3
Lorsque TR_S est mis à 0, le bloc fonction reprend son fonctionnement normal :
la valeur SP s'approche de manière continue de RSP en décrivant une rampe.
Message DONE
La sortie DONE prend la valeur 1 lorsque l'exécution de la fonction rampe est terminée. Elle est
remise à zéro lorsque une nouvelle rampe commence ou quand le bloc fonction commute en mode
Tracking.
336
33002536 09/2020
RAMP
Chronogramme
Chronogramme du module RAMP
1
2
3
Initialisation : SP = TR_I
Rampe montante = inc_rate
Rampe descendante = dec_rate
33002536 09/2020
337
RAMP
Erreur d’exécution
Mot d'état
Le mot d'état fournit les informations suivantes :
Bit
Valeur déc. Valeur hex.
Etat ENO
Signification
Bit 0 = 1
1
0x0001
False
Erreur lors d'un calcul avec des valeurs en
virgule flottante
Bit 1 = 1
2
0x0002
False
Saisie d'une valeur non valide à l'une des
entrées de valeurs en virgule flottante
Bit 2 = 1
4
0x0004
False
Division par 0 lors d'un calcul avec des valeurs
en virgule flottante
Bit 3 = 1
8
0x0008
False
Débordement de capacité lors d'un calcul avec
des valeurs en virgule flottante
Bit 4 = 1
16
0x0010
True
Une des grandeurs suivantes est négative :
inc_rate, dec_rate.
Le bloc fonction emploie la valeur 0 pour le
calcul.
Pour obtenir une liste des autres codes d'erreur de virgule flottante possibles, voir Erreurs
courantes relatives aux valeurs à virgule flottante, page 364.
Message d'erreur
Une erreur est signalée lorsqu'une valeur non réelle est saisie à une entrée ou lorsqu'un incident
se produit lors d'un calcul avec des valeurs en virgule flottante. Dans ce cas, les sortiesSP et DONE
restent inchangées.
NOTE : Pour obtenir une liste de tous les codes et valeurs d'erreur du bloc, voir Gestion de
consigne, page 363.
Avertissement
Un avertissement est émis dans les cas suivants :
Le paramètre inc_rate est négatif : le bloc fonction utilise la valeur 0 au lieu de la valeur du
paramètre incorrect inc_rate.
 Le paramètre dec_rate est négatif : le bloc fonction utilise la valeur 0 au lieu de la valeur du
paramètre incorrect dec_rate.

338
33002536 09/2020
EcoStruxure™ Control Expert
RATIO
33002536 09/2020
Chapitre 38
RATIO : Automate de ratio
RATIO : Automate de ratio
Introduction
Ce chapitre décrit le bloc RATIO.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
340
Description détaillée
343
Erreur d’exécution
344
33002536 09/2020
339
RATIO
Description
Description de la fonction
Le bloc fonction RATIO exécute une régulation proportionnelle s'il est connecté à un régulateur.
Une régulation proportionnelle permet de mettre en relation une mesure PV (grandeur de
régulation) et une autre mesure PV_TRACK (consigne). Le rôle du bloc fonction RATIO consiste à
calculer la consigne de régulation correspondant à la grandeur de commande.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Propriétés
Ce bloc fonction possède les propriétés suivantes :
Le ratio peut être commandé de manière interne (K) ou externe (RK).
 Valeur limite supérieure et inférieure de K ou RK
 Valeur limite supérieure et inférieure de la consigne SP calculée
 Calcul du ratio réel : KACT = (PV - bias) / PV_TRACK

Formule
Calcul de la consigne de régulation
Représentation dans FBD
Représentation :
340
33002536 09/2020
RATIO
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
CAL RATIO_Instance (PV:=ProcessVariable,
PV_TRACK:=ControllingProcessVariable,
RK:=ExternalRatioCoefficient,
K_RK:=CoefficientTypeFlag, K:=InternalRatioCoefficient,
PARA:=Parameters, KACT=>RealRatioCoefficient,
SP=>CalculatedOutput, STATUS=>StatusWord)
Représentation dans ST
Représentation :
RATIO_Instance (PV:=ProcessVariable,
PV_TRACK:=ControllingProcessVariable,
RK:=ExternalRatioCoefficient,
K_RK:=CoefficientTypeFlag, K:=InternalRatioCoefficient,
PARA:=Parameters, KACT=>RealRatioCoefficient,
SP=>CalculatedOutput, STATUS=>StatusWord) ;
33002536 09/2020
341
RATIO
Description des paramètres RATIO
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
PV
REAL
Mesure régulée par la boucle (uniquement utilisée
pour calculer KACT)
PV_TRACK
REAL
Consigne de la boucle
RK
REAL
Coefficient de ratio externe
K_RK
BOOL
Type de coefficient du ratio utilisé
"1": ratio externe RK
"0": ratio interne K
K
REAL
Coefficient de ratio interne
PARA
Para_RATIO
Paramètres
Description des paramètres de sortie :
Paramètres
Type de données
Signification
KACT
REAL
Coefficient de ratio réel
SP
REAL
Sortie calculée
STATUS
WORD
Mot d'état
Description des paramètres Para_RATIO
Description de la structure de données
342
Elément
Type de données
Signification
k_min
REAL
Valeur limite inférieure du ratio K ou RK
k_max
REAL
Valeur limite supérieure du ratio K ou RK
sp_min
REAL
Valeur limite inférieure de la sortie calculée SP
sp_max
REAL
Valeur limite supérieure de la sortie calculée SP
bias
REAL
Coefficient de décalage
33002536 09/2020
RATIO
Description détaillée
Schéma fonctionnel
Schéma fonctionnel du bloc RATIO
Application
Le bloc fonction RATIO est un module placé en amont du régulateur proportionnel. Le rôle de ce
bloc fonction consiste à calculer la consigne externe SP d'un régulateur mis en œuvre après lui. Le
régulateur proportionnel doit comporter les blocs fonction RATIO, SP_SEL ainsi qu'un régulateur.
Habituellement, ce type de régulateur est mis en œuvre pour réguler un débit donné par rapport à
un autre débit mesuré, conformément à un ratio déterminé K entre ces deux débits.
Représentation du régulateur proportionnel
33002536 09/2020
343
RATIO
Erreur d’exécution
Mot d'état
Le mot d'état fournit les informations suivantes :
Bit
Valeur déc.
Valeur hex.
Etat ENO
Signification
Bit 0 = 1
1
0x0001
False
Erreur lors d'un calcul avec des valeurs en
virgule flottante
Bit 1 = 1
2
0x0002
False
Saisie d'une valeur non valide à l'une des entrées
de valeurs en virgule flottante
Bit 2 = 1
4
0x0004
False
Division par 0 lors d'un calcul avec des valeurs
en virgule flottante
Bit 3 = 1
8
0x0008
False
Débordement de capacité lors d'un calcul avec
des valeurs en virgule flottante
Bit 4 = 1
16
0x0010
True
L'entrée K (ou RK) déborde de la zone [k_min,
k_max] : le bloc fonction emploie la valeur k_min
ou k_max pour le calcul.
Bit 5 = 1
32
0x0020
True
La sortie SP a atteint la valeur limite inférieure
sp_min : SP est limité par sp_min
Bit 6 = 1
64
0x0040
True
La sortie SP a atteint la valeur limite supérieure
sp_max : SP est limité par sp_max
Pour obtenir une liste des autres codes d'erreur de virgule flottante possibles, voir Erreurs
courantes relatives aux valeurs à virgule flottante, page 364.
Message d'erreur
Une erreur est détectée lorsqu'une valeur non réelle est saisie à une entrée ou lorsqu'un incident
se produit lors d'un calcul avec des valeurs en virgule flottante. Les sorties KACT et SP restent
inchangées.
344
33002536 09/2020
EcoStruxure™ Control Expert
SP_SEL
33002536 09/2020
Chapitre 39
SP_SEL : Commutateur de consigne
SP_SEL : Commutateur de consigne
Introduction
Ce chapitre décrit le bloc SP_SEL.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description
346
Description détaillée
349
Erreur d’exécution
352
33002536 09/2020
345
SP_SEL
Description
Description de la fonction
Ce bloc fonction permet de sélectionner le type de consigne utilisée dans la boucle :
Type de consigne
Commentaires
Consigne externe
(SP_RSP = 1)
La consigne est extraite d'un calcul externe via l'entrée RSP (Remote
Set Point). La valeur d'entrée RSP est transmise à la sortie SP.
Consigne interne
(SP_RSP = 0)
La consigne est directement modifiée par l'opérateur (Local Set
Point). Dans ce mode de fonctionnement, la sortie SP n'est pas
activée par le bloc fonction. C'est l'opérateur lui-même qui modifie la
variable associée à SP.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Propriétés
Le bloc fonction SP_SEL possède les propriétés suivantes :
La commutation entre les deux types de consignes s'effectue sans à-coups.
 Fonctionnement avec poursuite de la consigne lorsque le régulateur est en mode manuel
 Limitation inférieure et supérieure de la consigne utilisée

Représentation dans FBD
Représentation :
346
33002536 09/2020
SP_SEL
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
CAL SP_SEL_Instance (RSP:=RemoteSetPoint,
SP_RSP:=TypeOfSetPoint, PARA:=Parameters,
PV:=ControlledVariable, MA_I:=OperatingMode,
SP:=SetPoint, LSP_MEM=>LocalSetPointMemory,
STATUS=>StatusWord)
Représentation dans ST
Représentation :
SP_SEL_Instance (RSP:=RemoteSetPoint,
SP_RSP:=TypeOfSetPoint, PARA:=Parameters,
PV:=ControlledVariable, MA_I:=OperatingMode,
SP:=SetPoint, LSP_MEM=>LocalSetPointMemory,
STATUS=>StatusWord) ;
33002536 09/2020
347
SP_SEL
Description des paramètres SP_SEL
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
RSP
REAL
Consigne externe (Remote Set Point)
SP_RSP
BOOL
Type de consigne utilisée par le régulateur
"1" : Consigne externe
"0" : Consigne interne
PARA
Para_SP_SEL
Paramètres
PV
REAL
Grandeurs à réguler
MA_I
BOOL
Mode opératoire du régulateur associé
"1" : Mode automatique
"0" : Mode manuel
Description des paramètres d'entrée / sortie :
Paramètres
Type de données
Signification
SP
REAL
Consigne utilisée par le régulateur
Description des paramètres de sortie :
Paramètres
Type de données
Signification
LSP_MEM
REAL
Mémoire de la consigne interne (Local Set Point
MEMory)
STATUS
WORD
Mot d'état
Description des paramètres Para_SP_SEL
Description de la structure de données
348
Elément
Type de données
Signification
sp_min
REAL
Valeur limite inférieure de la consigne utilisée
sp_max
REAL
Valeur limite supérieure de la consigne utilisée
bump
BOOL
En cas de commutation externe / interne :
"1" : la sortie SP est forcée avec la valeur de
LSP_MEM
"0" : commutation sans à-coups
track
BOOL
"1" : en mode manuel, la valeur de SP est assimilée
à PV (uniquement en cas de consigne interne)
rate
REAL
Pente de SP en cas de commutation
interne/externe, en unités par seconde (≥0)
33002536 09/2020
SP_SEL
Description détaillée
Commutation de la consigne
La commutation de la consigne s'effectue dans deux directions :
Lorsque
Alors
SP_RSP de 0 → 1
la commutation de la consigne interne en consigne externe est
effectuée
SP_RSP de 1 → 0
la commutation de la consigne externe en consigne interne est
effectuée
SP_RSP de 0 → 1
La commutation de la consigne interne en consigne externe est effectuée sans à-coups : la valeur
de la sortie SP monte progressivement à la consigne externe RSP en décrivant la rampe rate.
Lorsque rate = 0, la fonction rampe n'étant pas exécutée, SP est la copie conforme de RSP.
SP_RSP de 1 → 0
La commutation de la consigne externe en consigne interne s'effectue en fonction de l'élément
bump, et ce de deux manières :
Lorsque
Alors
bump = 0
la commutation s'effectue sans à-coups : le bloc fonction cesse de copier l'entrée
RSP sur la sortie SP. La consigne interne SP correspond à la dernière valeur
externe RSP avant commutation. L'utilisateur peut alors modifier ces valeurs.
Dans ce cas, il n'est pas nécessaire de raccorder la sortie LSP_MEM.
bump = 1
la valeur de la sortie LSP_MEM est transmise à la sortie SP pendant la
commutation (des à-coups peuvent alors se produire). La valeur affectée à
LSP_MEM correspond à la dernière consigne SP avant le passage du bloc
fonction en fonctionnement externe. Pour redémarrer l'exécution interne avec
une autre consigne, il suffit de modifier LSP_MEM quand le bloc se trouve encore
en fonctionnement externe (pour de plus amples informations, voir "Fonction de
la sortie LSP_MEM, page 350").
33002536 09/2020
349
SP_SEL
Poursuite de la consigne (track = 1)
Lorsque, en cas de consigne interne (SP_RSP=0), le régulateur associé est en mode manuel, ce
mode opératoire permet de copier uniformément l'entrée PV sur la consigne utilisée SP. Ainsi, la
commutation manuel/automatique peut s'effectuer sans à-coups (le régulateur peut aussi réguler
lui-même le comportement sans à-coups).
Dans ce mode de fonctionnement, les entrées PV et MA_I du bloc fonction SP_SEL doivent être
raccordées. En outre, elles doivent accepter les mêmes valeurs que l'entrée PV et la sortie MA_O
du régulateur. Lorsque track = 0, ces entrées ne doivent plus être raccordées.
Limitations
Pour chaque mode de fonctionnement (externe ou interne), la consigne SP utilisée est limitée entre
sp_min et sp_max.
Fonction de la sortie LSP_MEM
Cette sortie permet à l'utilisateur de commander la consigne SP lors de la commutation externe –
interne :
350
Type de consigne
Comportement de la sortie
Consigne interne
La valeur de SP est transmise uniformément à LSP_MEM.
Commutation en
consignes externes
La valeur de LSP_MEM n'est plus modifiée par le bloc et conserve
donc la dernière consigne interne utilisée.
Retour à la consigne
interne
Il y a trois possibilités :
1. bump = 0 :
La dernière consigne externe est prise pour base. Dans ce cas,
LSP_MEM ne doit pas être raccordé).
2. bump = 1 :
La dernière consigne interne sauvegardée est prise pour base.
Lors de la commutation, le bloc copie la valeur de LSP_MEM sur
SP.
3. Le bloc fonction peut démarrer le fonctionnement interne au
moyen d'une valeur quelconque, au choix de l'opérateur.
Lorsque la valeur des variables associées à LSP_MEM est
modifiée avant le passage à la consigne interne (avec bump = 1),
celle-ci est transmise à SP lors de la commutation.
33002536 09/2020
SP_SEL
Exemple de programmation
Vous trouverez ci-après un exemple de programmation du bloc fonction SP_SEL.
TC2_SP est saisi par l'opérateur en mode de fonctionnement "consigne interne".
33002536 09/2020
351
SP_SEL
Erreur d’exécution
Mot d'état
Le mot d'état fournit les informations suivantes :
Bit
Valeur déc. Valeur hex.
Etat ENO
Signification
Bit 0 = 1
1
0x0001
False
Erreur lors d'un calcul avec des valeurs en virgule
flottante
Bit 1 = 1
2
0x0002
False
Saisie d'une valeur non valide à l'une des entrées
en virgule flottante
Bit 2 = 1
4
0x0004
False
Division par 0 lors d'un calcul en valeurs en
virgule flottante
Bit 3 = 1
8
0x0008
False
Débordement de capacité lors d'un calcul en
valeurs en virgule flottante
Bit 4 = 1
16
0x0010
True
rate est négatif : le bloc fonction emploie la
valeur 0 pour le calcul.
Bit 5 = 1
32
0x0020
True
La sortie SP a atteint la valeur limite inférieure
sp_min : SP est forcé sur sp_min
Bit 6 = 1
64
0x0040
True
La sortie SP a atteint la valeur limite supérieure
sp_max : SP est forcé sur sp_max
Pour obtenir une liste des autres codes d'erreur de virgule flottante possibles, voir Erreurs
courantes relatives aux valeurs à virgule flottante, page 364.
Message d'erreur
Une erreur d'exécution est signalée lorsqu'une valeur non réelle est saisie à une entrée ou
lorsqu'un incident se produit lors d'un calcul avec des valeurs en virgule flottante. Les sorties SP
et LSP_MEM restent inchangées.
NOTE : Pour obtenir une liste de tous les codes et valeurs d'erreur du bloc, voir Gestion de
consigne, page 363.
Avertissement
Un avertissement est émis lorsque rate est négatif ; le bloc utilise donc la valeur 0 pour le calcul.
352
33002536 09/2020
EcoStruxure™ Control Expert
33002536 09/2020
Annexes
33002536 09/2020
353
354
33002536 09/2020
EcoStruxure™ Control Expert
codes et valeurs d'erreur des EFB
33002536 09/2020
Annexe A
codes et valeurs d'erreur des EFB
codes et valeurs d'erreur des EFB
Introduction
Les tableaux présentés dans cette section répertorient les codes et les valeurs d'erreur générés
pour les EFB de la bibliothèque CONT_CTL.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Tableaux des codes d'erreur pour la bibliothèque CONT_CTL
356
Erreurs courantes relatives aux valeurs à virgule flottante
364
33002536 09/2020
355
codes et valeurs d'erreur des EFB
Tableaux des codes d'erreur pour la bibliothèque CONT_CTL
Introduction
Les tableaux ci-dessous répertorient les codes d'erreur et les valeurs générés pour les EFB de la
bibliothèque CONT_CTL.
Condition
Tableau des codes et valeurs d'erreur générés pour les EFB de la famille Condition.
Nom EFB
Code d'erreur
Etat
ENO en
cas
d'erreur
Valeur
d'erreur
(format
décimal)
Valeur d'erreur Description de l'erreur
(format
hexadécimal)
DTIME
W_WARN_OUT_OF_RANGE T
30 110
16#759E
Paramètre hors limites
DTIME
FP_ERROR
F
-
-
Voir tableau des Erreurs
DTIME
Valeurs de mot d'état
T/F
-
-
Pour plus de détails
concernant le mot d'état
DTIME, reportez-vous à la
description de DTIME
INTEGRATOR
E_ERR_DEN
F
-30 152
16#8A38
Nombre à virgule flottante
incorrect
INTEGRATOR
E_ERR_IB_MAX_MIN
F
-30 102
16#8A6A
YMAX < YMIN
INTEGRATOR
FP_ERROR
F
-
-
Voir tableau des Erreurs
LAG_FILTER
E_ERR_DEN
F
-30 152
16#8A38
Nombre à virgule flottante
incorrect
LAG_FILTER
FP_ERROR
F
-
-
Voir tableau des Erreurs
LDLG
E_ERR_DEN
F
-30 152
16#8A38
Nombre à virgule flottante
incorrect
LDLG
FP_ERROR
F
-
-
Voir tableau des Erreurs
courantes relatives aux
valeurs à virgule flottante,
page 364
(voir page 51)
356
courantes relatives aux
valeurs à virgule flottante,
page 364
courantes relatives aux
valeurs à virgule flottante,
page 364
courantes relatives aux
valeurs à virgule flottante,
page 364
33002536 09/2020
codes et valeurs d'erreur des EFB
Nom EFB
Code d'erreur
Etat
ENO en
cas
d'erreur
Valeur
d'erreur
(format
décimal)
Valeur d'erreur Description de l'erreur
(format
hexadécimal)
FIL
E_ERR_DEN
F
-30 152
16#8A38
Nombre à virgule flottante
incorrect
FIL
FP_ERROR
F
-
-
Voir tableau des Erreurs
MFLOW
W_WARN_OUT_OF_RANGE T
30 110
16#759E
Paramètre hors limites
MFLOW
FP_ERROR
F
-
-
Voir tableau des Erreurs
MFLOW
Valeurs de mot d'état
T/F
-
-
Pour plus de détails
concernant le mot d'état
MFLOW, reportez-vous à la
description de MFLOW
QDTIME
E_ERR_DEN
F
-30 152
16#8A38
Nombre à virgule flottante
incorrect
SCALING
E_ERR_NULL_INPUT_
SCALE
F
-30 121
16#8A57
Echelle d'entrée nulle : les
limites max. et min. doivent
être différentes
SCALING
FP_ERROR
F
-
-
Voir tableau des Erreurs
SCALING
Valeurs de mot d'état
T/F
-
-
Pour plus de détails
concernant le mot d'état
SCALING, reportez-vous à
la description de SCALING
courantes relatives aux
valeurs à virgule flottante,
page 364
courantes relatives aux
valeurs à virgule flottante,
page 364
(voir page 85)
courantes relatives aux
valeurs à virgule flottante,
page 364
(voir page 97)
TOTALIZER
W_WARN_OUT_OF_RANGE T
30 110
16#759E
Paramètre hors limites
TOTALIZER
FP_ERROR
F
-
-
Voir tableau des Erreurs
TOTALIZER
W_WARN_TOTALIZER_
CTER_MAX
T
30 113
16#75A1
La valeur maximale du
compteur a été atteinte
33002536 09/2020
courantes relatives aux
valeurs à virgule flottante,
page 364
357
codes et valeurs d'erreur des EFB
Nom EFB
Code d'erreur
Etat
ENO en
cas
d'erreur
Valeur
d'erreur
(format
décimal)
Valeur d'erreur Description de l'erreur
(format
hexadécimal)
TOTALIZER
Valeurs de mot d'état
T/F
-
-
Pour plus de détails
concernant le mot d'état
TOTALIZER, reportez-vous
à la description de
TOTALIZER
VEL_LIM
E_ERR_DEN
F
-30 152
16#8A38
Nombre à virgule flottante
incorrect
VEL_LIM
E_ERR_AB1_MAX_MIN
F
-30 101
16#8A6B
YMAX < YMIN
VEL_LIM
FP_ERROR
F
-
-
Voir tableau des Erreurs
(voir page 108)
courantes relatives aux
valeurs à virgule flottante,
page 364
Automate
Tableau des codes et valeurs d'erreur générés pour les EFB de la famille Automate.
Nom EFB
Code d'erreur
Etat
ENO en
cas
d'erreur
Valeur
d'erreur
(format
décimal)
Valeur d'erreur Description de l'erreur
(format
hexadécimal)
AUTOTUNE
W_WARN_OUT_OF_
RANGE
T
30 110
16#759E
Paramètre hors limites
AUTOTUNE
E_ERR_NULL_INPUT_
SCALE
F
-30 121
16#8A57
Echelle d'entrée nulle : les limites
max. et min. doivent être différentes
AUTOTUNE
W_WARN_AUTOTUNE T
_FAILED
30 111
16#759F
AUTOTUNE a échoué
AUTOTUNE
FP_ERROR
F
-
-
Voir tableau des Erreurs courantes
relatives aux valeurs à virgule
flottante, page 364
AUTOTUNE
E_ERR_AUTOTUNE_
ID_UNKNOWN
F
-30 120
16#8A58
L'EFB optimisé n'est pas autorisé ici
ou n'a pas encore été appelé
AUTOTUNE
Valeurs de mot d'état
T/F
-
-
Pour plus de détails concernant le
mot d'état AUTOTUNE, reportez-vous
à la description de AUTOTUNE
PI_B
W_WARN_OUT_OF_
RANGE
T
30 110
16#759E
Paramètre hors limites
(voir page 140)
358
33002536 09/2020
codes et valeurs d'erreur des EFB
Nom EFB
Code d'erreur
Etat
ENO en
cas
d'erreur
Valeur
d'erreur
(format
décimal)
Valeur d'erreur Description de l'erreur
(format
hexadécimal)
PI_B
E_ERR_NULL_INPUT_
SCALE
F
-30 121
16#8A57
Echelle d'entrée nulle : les limites
max. et min. doivent être différentes
PI_B
FP_ERROR
F
-
-
Voir tableau des Erreurs courantes
PI_B
Valeurs de mot d'état
T/F
-
-
Pour plus de détails concernant le
mot d'état PI_B, reportez-vous à la
description de PI_B (voir page 164)
PIDFF
W_WARN_OUT_OF_
RANGE
T
30 110
16#759E
Paramètre hors limites
PIDFF
E_ERR_NULL_INPUT_
SCALE
F
-30 121
16#8A57
Echelle d'entrée nulle : les limites
max. et min. doivent être différentes
PIDFF
FP_ERROR
F
-
-
Voir tableau des Erreurs courantes
PIDFF
Valeurs de mot d'état
T/F
-
-
Pour plus de détails concernant le
mot d'état PIDFF, reportez-vous à la
description de PIDFF
SAMPLETM
E_EFB_SAMPLE_TIME F
_OVERFLOW
-30 184
16#8A18
Erreur interne
STEP2
W_WARN_OUT_OF_
RANGE
T
30 110
16#759E
Paramètre hors limites
STEP2
FP_ERROR
F
-
-
Voir tableau des Erreurs courantes
STEP2
Valeurs de mot d'état
T/F
-
-
Pour plus de détails concernant le
mot d'état STEP2, référez-vous à la
description de STEP2
relatives aux valeurs à virgule
flottante, page 364
relatives aux valeurs à virgule
flottante, page 364
(voir page 192)
relatives aux valeurs à virgule
flottante, page 364
(voir page 203)
STEP3
W_WARN_OUT_OF_
RANGE
T
30 110
16#759E
Paramètre hors limites
STEP3
FP_ERROR
F
-
-
Voir tableau des Erreurs courantes
STEP3
Valeurs de mot d'état
T/F
-
-
Pour plus de détails concernant le
mot d'état STEP3, référez-vous à la
description de STEP3
relatives aux valeurs à virgule
flottante, page 364
(voir page 212)
33002536 09/2020
359
codes et valeurs d'erreur des EFB
Mathématiques
Tableau des codes et valeurs d'erreur générés pour les EFB de la famille Mathématiques.
Nom EFB
Code d'erreur
Etat
ENO en
cas
d'erreur
Valeur
d'erreur
(format
décimal)
Valeur
Description de l'erreur
d'erreur
(format
hexadécimal)
COMP_DB
W_WARN_OUT_OF_
RANGE
T
30 110
16#759E
Paramètre hors limites
COMP_DB
FP_ERROR
F
-
-
Voir tableau des Erreurs courantes
K_SQRT
W_WARN_OUT_OF_
RANGE
T
30 110
16#759E
Paramètre hors limites
K_SQRT
FP_ERROR
F
-
-
Voir tableau des Erreurs courantes
MULDIV_W FP_ERROR
F
-
-
Voir tableau des Erreurs courantes
SUM_W
F
-
-
Voir tableau des Erreurs courantes
360
FP_ERROR
relatives aux valeurs à virgule flottante,
page 364
relatives aux valeurs à virgule flottante,
page 364
relatives aux valeurs à virgule flottante,
page 364
relatives aux valeurs à virgule flottante,
page 364
33002536 09/2020
codes et valeurs d'erreur des EFB
Mesure
Tableau des codes et valeurs d'erreur générés pour les EFB de la famille Mesure.
Nom EFB
Code d'erreur
Etat
ENO en
cas
d'erreur
Valeur
d'erreur
(format
décimal)
Valeur
d'erreur
(format
hexadécimal)
Description de l'erreur
AVGMV
E_ERR_DEN
F
-30 152
16#8A38
Nombre à virgule flottante
incorrect
AVGMV
W_WARN_AVGMV
T
30 108
16#759C
AVGMV : N doit être <= 50
AVGMV
FP_ERROR
F
-
-
Voir tableau des Erreurs
AVGMV_K
E_ERR_DEN
F
-30 152
16#8A38
Nombre à virgule flottante
incorrect
AVGMV_K
W_WARN_AVGMV_K
T
30 109
16#759D
AVGMV_K : N doit être <=
10000
AVGMV_K
FP_ERROR
F
-
-
Voir tableau des Erreurs
DEAD_ZONE
E_ERR_DEN
F
-30 152
16#8A38
Nombre à virgule flottante
incorrect
DEAD_ZONE
E_ERR_DZONE
F
-30 119
16#8A59
DZONE : DZ doit être >= 0
DEAD_ZONE
FP_ERROR
F
-
-
Voir tableau des Erreurs
courantes relatives aux
valeurs à virgule flottante,
page 364
LOOKUP_TABLE1
E_ERR_DEN
F
-30 152
16#8A38
Nombre à virgule flottante
incorrect
LOOKUP_TABLE1
E_ERR_POLY_ANZAHL
F
-30 107
16#8A65
Nombre impair d'entrées
LOOKUP_TABLE1
E_ERR_POLY_FOLGE
F
-30 108
16#8A64
point de base x(i) <= x(i-1)
LOOKUP_TABLE1
FP_ERROR
F
-
-
Voir tableau des Erreurs
33002536 09/2020
courantes relatives aux
valeurs à virgule flottante,
page 364
courantes relatives aux
valeurs à virgule flottante,
page 364
courantes relatives aux
valeurs à virgule flottante,
page 364
361
codes et valeurs d'erreur des EFB
Traitement en sortie
Tableau des codes et valeurs d'erreur générés pour les EFB de la famille Traitement en
sortie.
Nom EFB
Code d'erreur
Etat
ENO en
cas
d'erreur
Valeur
d'erreur
(format
décimal)
Valeur
Description de l'erreur
d'erreur
(format
hexadécimal)
MS
W_WARN_OUT_OF_RANGE
T
30 110
16#759E
Paramètre hors limites
MS
FP_ERROR
F
-
-
Voir tableau des Erreurs
MS
Valeurs de mot d'état
T/F
-
-
Pour plus de détails concernant
le mot d'état MS, reportez-vous à
la description de MS
courantes relatives aux valeurs à
virgule flottante, page 364
(voir page 282)
PWM1
WAF_PBM_TMINMAX
F
-30 113
16#8A5F
t_min < t_max
PWM1
FP_ERROR
F
-
-
Voir tableau des Erreurs
SERVO
FP_ERROR
F
-
-
Voir tableau des Erreurs
SERVO
Valeurs de mot d'état
T/F
-
-
Pour plus de détails concernant
le mot d'état SERVO, reportezvous à la description de SERVO
SPLRG
W_WARN_OUT_OF_RANGE
T
30 110
16#759E
Paramètre hors limites
SPLRG
E_ERR_NULL_INPUT_SCALE F
-30 121
16#8A57
Echelle d'entrée nulle : les limites
max. et min. doivent être
différentes
SPLRG
FP_ERROR
F
-
-
Voir tableau des Erreurs
SPLRG
Valeurs de mot d'état
T/F
-
-
Pour plus de détails concernant
le mot d'état SPLRG, reportezvous à la description de SPLRG
courantes relatives aux valeurs à
virgule flottante, page 364
courantes relatives aux valeurs à
virgule flottante, page 364
(voir page 321)
courantes relatives aux valeurs à
virgule flottante, page 364
(voir page 328)
362
33002536 09/2020
codes et valeurs d'erreur des EFB
Gestion de consigne
Tableau des codes et valeurs d'erreur générés pour les EFB de la famille Gestion de
consigne.
Nom EFB
Code d'erreur
RAMP
Etat
ENO en
cas
d'erreur
Valeur
d'erreur
(format
décimal)
Valeur
d'erreur
(format
hexadécimal)
Description de l'erreur
W_WARN_OUT_OF_RANGE T
30 110
16#759E
Paramètre hors limites
RAMP
FP_ERROR
F
-
-
Voir tableau des Erreurs
courantes relatives aux valeurs à
virgule flottante, page 364
RAMP
Valeurs de mot d'état
T/F
-
-
Pour plus de détails concernant
le mot d'état RAMP, reportezvous à la description de RAMP
(voir page 338)
RATIO
FP_ERROR
F
-
-
Voir tableau des Erreurs
courantes relatives aux valeurs à
virgule flottante, page 364
RATIO
Valeurs de mot d'état
T/F
-
-
Pour plus de détails concernant
le mot d'état RATIO, reportezvous à la description de RATIO
SP_SEL
W_WARN_OUT_OF_RANGE T
30 110
16#759E
Paramètre hors limites
SP_SEL
FP_ERROR
F
-
-
Voir tableau des Erreurs
SP_SEL
Valeurs de mot d'état
T/F
-
-
Pour plus de détails concernant
le mot d'état SP_SEL, reportezvous à la description de SP_SEL
(voir page 344)
courantes relatives aux valeurs à
virgule flottante, page 364
(voir page 352)
33002536 09/2020
363
codes et valeurs d'erreur des EFB
Erreurs courantes relatives aux valeurs à virgule flottante
Introduction
Le tableau suivant répertorie les codes d'erreur et les valeurs générés par des erreurs relatives
aux valeurs à virgule flottante. Ces informations s'affichent dans la fenêtre Visualisation du
diagnostic, tandis que les valeurs de code d'erreur sont écrites dans %SW125 (voir EcoStruxure™
Control Expert, Bits et mots système, Manuel de référence).
Erreurs courantes relatives aux valeurs à virgule flottante
Tableau des erreurs courantes relatives aux valeurs à virgule flottante
Codes d'erreur
Valeur d'erreur Valeur
(format
d'erreur
décimal)
(format
hexadécimal)
Description de l'erreur
FP_ERROR
-30150
16#8A3A
Valeur de base (n'apparaît pas comme une
valeur d'erreur)
E_FP_STATUS_FAILED_IE
-30151
16#8A39
Opération sur valeur à virgule flottante
interdite
E_FP_STATUS_FAILED_DE
-30152
16#8A38
L'opérande n'est pas un nombre de type
REAL valide
E_FP_STATUS_FAILED_ZE
-30154
16#8A36
Division par zéro interdite
E_FP_STATUS_FAILED_ZE_IE
-30155
16#8A35
Opération sur valeur à virgule
flottante/Division par zéro interdite
E_FP_STATUS_FAILED_OE
-30158
16#8A32
Dépassement sur valeur à virgule flottante
E_FP_STATUS_FAILED_OE_IE
-30159
16#8A31
Opération sur valeur à virgule
flottante/Dépassement interdit
E_FP_STATUS_FAILED_OE_ZE
-30162
16#8A2E
Dépassement sur valeur à virgule
flottante/Division par zéro
E_FP_STATUS_FAILED_OE_ZE_IE
-30163
16#8A2D
Opération sur valeur à virgule
flottante/Dépassement/Division par zéro
interdit
E_FP_NOT_COMPARABLE
-30166
16#8A2A
Erreur interne
364
33002536 09/2020
EcoStruxure™ Control Expert
Glossaire
33002536 09/2020
Glossaire
A
ANY
Une hiérarchie existe entre les différents types de données. Dans les DFB, il est parfois possible
de déclarer les variables pouvant contenir plusieurs types de valeurs. On utilise alors les types
ANY_xxx.
La figure suivante décrit cette structure hiérarchisée :
33002536 09/2020
365
Glossaire
B
BOOL
BOOL est l'abréviation du type booléen. Il s'agit du type de données de base en informatique. Une
variable de type BOOL peut avoir l'une des deux valeurs suivantes : 0 (FALSE) ou 1 (TRUE).
Un bit extrait d'un mot est de type BOOL, par exemple :%MW10.4
D
DINT
DINT est l'abréviation du format Double INTeger (entier double codé sur 32 bits).
Les limites supérieure/inférieure sont les suivantes : - (2 puissance 31) à (2 puissance 31) - 1.
Exemple :
-2147483648, 2147483647, 16#FFFFFFFF.
E
EN
EN correspond à ENable (activer) ; il s'agit d'une entrée de bloc facultative. Quand l'entrée EN est
activée, une sortie ENO est automatiquement définie.
Si EN = 0, le bloc n'est pas activé, son programme interne n'est pas exécuté et ENO est réglé sur 0.
Si EN = 1, le programme interne du bloc est exécuté et ENO est réglé sur 1. Si une erreur survient,
ENO reprend la valeur 0.
Si l'entrée EN n'est pas connectée, elle est automatiquement réglée sur 1.
ENO
ENO signifie Error NOtification (notification d'erreur). C'est la sortie associée à l'entrée facultative
EN.
Si ENO est réglé sur 0 (car EN = 0 ou en cas d'erreur d'exécution) :
 les sorties du bloc fonction restent dans l'état qui était le leur lors du dernier cycle de scrutation
exécuté correctement ;
 la ou les sorties de la fonction, ainsi que les procédures, sont réglées sur 0.
366
33002536 09/2020
Glossaire
I
INF
Utilisé pour signifier qu'un nombre dépasse les limites autorisées.
Pour un nombre entier, les plages de valeurs (indiquées en gris) sont les suivantes :
Lorsqu'un résultat est :


INT
inférieur à -3,402824e+38, le symbole -INF (pour - infini) est affiché ;
supérieur à +3,402824e+38, le symbole INF (pour + infini) est affiché ;
INT est l'abréviation du format single INTeger (entier simple codé sur 16 bits).
Les limites supérieure/inférieure sont les suivantes : - (2 puissance 15) à (2 puissance 15) - 1.
Exemple :
-32768, 32767, 2#1111110001001001, 16#9FA4.
33002536 09/2020
367
Glossaire
R
REAL
Le type REAL (réel) est codé sur 32 bits.
Les plages de valeurs possibles sont indiquées dans la figure suivante :
Lorsqu'un résultat est :




compris entre -1,175494e-38 et 1,175494e-38, il est considéré comme étant un DEN ;
inférieur à -3,402824e+38, le symbole -INF (pour - infini) s'affiche ;
supérieur à +3,402824e+38, le symbole INF (pour + infini) s'affiche ;
indéfini (racine carrée d'un nombre négatif), le symbole NAN s'affiche.
NOTE : La norme CEI 559 définit deux catégories de NAN : le NAN silencieux (QNAN) et le NAN
de signalement (SNAN). Un QNAN est un NAN (Not a Number) avec un bit de fraction de poids
fort tandis qu'un SNAN est un NAN sans bit de fraction de poids fort (bit numéro 22). Les QNAN
peuvent être propagés par la plupart des opérations arithmétiques, sans générer d'exception.
Quant aux SNAN, ils signalent en général une opération non valide lorsqu'ils sont utilisés en tant
qu'opérandes dans des opérations arithmétiques (voir %SW17 et %S18).
NOTE : Lorsqu'un DEN (nombre non normalisé) est utilisé en tant qu'opérande, le résultat n'est pas
significatif.
T
TIME
Le type TIME exprime une durée en millisecondes. Codé sur 32 bits, ce type permet d'obtenir des
durées de 0 à 2 32-1 millisecondes.
Le type TIME présente les unités suivantes : jours (d), heures (h), minutes (m), secondes (s) et
millisecondes (ms). Une valeur littérale de type TIME est représentée par une combinaison des
types précédents associés au préfixe T#, t#, TIME# ou time#.
Exemples : T#25h15m, t#14,7S, TIME#5d10h23m45s3ms
368
33002536 09/2020
Glossaire
U
UDINT
UDINT est l'acronyme du format « Unsigned Double INTeger » (entier double non signé) (codé sur
32 bits). Les limites inférieure et supérieure sont les suivantes : 0 à (2 puissance 32) - 1.
Exemple :
0, 4294967295, 2#11111111111111111111111111111111, 8#37777777777,
16#FFFFFFFF.
UINT
UINT est l'abréviation du format « Unsigned INTeger » (entier non signé codé sur 16 bits). Les
limites inférieure et supérieure sont les suivantes : 0 à (2 puissance 16) - 1.
Exemple :
0, 65535, 2#1111111111111111, 8#177777, 16#FFFF.
W
WORD
Le type WORD est codé dans un format 16 bits et sert à effectuer des traitements sur des chaînes
de bits.
Le tableau ci-dessous donne les limites inférieure/supérieure des bases qui peuvent être utilisées :
Base
Limite inférieure
Limite supérieure
Hexadécimale
16#0
16#FFFF
Octale
8#0
8#177777
Binaire
2#0
2#1111111111111111
Exemples de représentation
Données
Représentation dans l'une des bases
0000000011010011
16#D3
1010101010101010
8#125252
0000000011010011
2#11010011
33002536 09/2020
369
Glossaire
370
33002536 09/2020
EcoStruxure™ Control Expert
Index
33002536 09/2020
Index
Symbols
condition - instructions
INTEGRATOR, 53
A
automate - instructions
AUTOTUNE, 117
IMC, 141
Informations générales, 33
MS, 273
MS_DB, 285
PI_B, 153
PIDFF, 167
SAMPLETM, 195
SERVO, 305
SPLRG, 323
STEP2, 197
STEP3, 205
AUTOTUNE, 117
AVGMV, 235
AVGMV_K, 241
C
codes d'erreur, 355
COMP_DB, 215
COMP_DB_DFB, 215
COMP_DB/COMP_DB_DFB, 216
condition - instructions
DTIME, 43
LAG_FILTER, 59
LDLG, 65
LEAD, 73
MFLOW, 79
QDTIME, 87
SCALING, 93
TOTALIZER, 99
VEL_LIM, 109
33002536 09/2020
D
DEAD_ZONE, 247
DEAD_ZONE_REAL, 247
disponibilité des instructions, 29
DTIME, 43
G
gestion de consigne - instructions
RAMP, 333
RATIO, 339
SP_SEL, 345
H
HYST_***, 261
I
IMC, 141
INDLIM_***, 265
instructions
disponibilité, 29
INTEGRATOR, 53
K
K_SQRT, 221
L
LAG_FILTER, 59
LDLG, 65
LEAD, 73
LOOKUP_TABLE1, 253
371
Index
M
mathématique - instructions
K_SQRT, 221
MULDIV_W, 225
SUM_W, 229
mathématiques - instructions
COMP_DB, 215
COMP_DB_DFB, 215
mesure - instructions
AVGMV, 235
AVGMV_K, 241
DEAD_ZONE, 247
DEAD_ZONE_REAL, 247
HYST_***, 261
INDLIM_***, 265
LOOKUP_TABLE1, 253
SAH, 259
MFLOW, 79
MS, 273
MS_DB, 285
MULDIV_W, 225
SPLRG, 323
STEP2, 197
STEP3, 205
SUM_W, 229
T
TOTALIZER, 99
traitement en sortie - instructions
MS, 273
MS_DB, 285
Traitement en sortie - instructions
PWM1, 297
traitement en sortie - instructions
SERVO, 305
SPLRG, 323
V
VEL_LIM, 109
P
PI_B, 153
PIDFF, 167
PWM1, 297
Q
QDTIME, 87
R
RAMP, 333
RATIO, 339
S
SAH, 259
SAMPLETM, 195
SCALING, 93
SERVO, 305
SP_SEL, 345
372
33002536 09/2020

Manuels associés