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

Ajouter à Mes manuels
524 Des pages
Schneider Electric EcoStruxure™ Control Expert - Standard, Bibliothèque de blocs Mode d'emploi | Fixfr
EcoStruxure™ Control Expert
33002520 09/2020
EcoStruxure™ Control
Expert
Standard
Bibliothèque de blocs
Traduction de la notice originale
33002520.20
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
33002520 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 plates-formes
matérielles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Disponibilité des blocs sur les différentes plates-formes matérielles .
Partie II Tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 3 ADD_***_*** : ajout d'un nombre aux éléments d'un
tableau ou ajout de deux tableaux . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 4 AND_***_*** : ET logique entre des tableaux et des
variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 5 COPY_***_*** : Copie sur des tableaux . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 6 DIV_***_*** : division de tableaux . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 7 EQUAL_*** : comparaison de deux tableaux . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 8 FIND_EQ_*** : premier élément d'un tableau égal à une
valeur donnée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 9 FIND_EQP_*** : premier élément d'un tableau égal à une
valeur, en commençant à un rang donné . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 10 FIND_GT_*** : premier élément d'un tableau supérieur à
une valeur donnée . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33002520 09/2020
15
19
21
23
24
26
29
33
33
43
45
45
49
49
53
53
57
57
61
61
65
65
69
69
73
73
3
Chapitre 11 FIND_LT_*** : premier élément d'un tableau inférieur à
une valeur donnée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 12 LENGTH_*** : longueur d'un tableau . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 13 MAX_*** : valeur maximum des éléments d'un tableau . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 14 MIN_*** : valeur minimum des éléments d'un tableau . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 15 MOD_***_*** : reste de la division de tableaux. . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 16 MOVE_***_*** : affectation à des tableaux . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 17 MOVE_***_*** : conversion de tableau. . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 18 MUL_***_*** : multiplication de tableaux. . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 19 NOT_*** : négation logique de tableaux . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 20 OCCUR_*** : nombre d'occurrences d'une valeur dans un
tableau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 21 OR_***_*** : OU logique entre des tableaux et des
variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 22 ROL_*** : décalage circulaire vers la gauche. . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 23 ROR_*** : décalage circulaire vers la droite . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 24 SORT_*** : tri croissant ou décroissant . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 25 SUB_***_*** : soustraction de tableaux . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 26 SUM_*** : somme des éléments d'un tableau . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 27 SWAP_*** : permutation des octets d'un tableau . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
77
77
81
81
85
85
87
87
89
89
93
93
95
95
97
97
101
101
103
103
105
105
109
109
111
111
113
113
115
115
119
119
121
121
33002520 09/2020
Chapitre 28 XOR_***_*** : OU exclusif entre des tableaux . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie III CLC_INT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 29 Introduction aux fonctions de régulation d'entiers. . . . . .
Présentation générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Principe de la boucle de régulation . . . . . . . . . . . . . . . . . . . . . . . . . . .
Méthodologie de développement d’une application de régulation. . . .
Programmation d'une fonction de régulation . . . . . . . . . . . . . . . . . . . .
Comportement des fonctions dans les modes de marche . . . . . . . . .
Chapitre 30 PID_INT : automate PID . . . . . . . . . . . . . . . . . . . . . . . . .
Description de la fonction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description des données dérivées . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 31 PWM_INT : modulation de largeur d'impulsion d'une
valeur numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 32 SERVO_INT : fonction de variateur . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie IV Comparaison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 33 EQ : égal à . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 34 GE : supérieur ou égal à. . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 35 GT : supérieur à . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 36 LE : inférieur ou égal à . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 37 LT : inférieur à. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 38 NE : différent de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie V Date et Heure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 39 ADD_***_TIME : ajout d'une durée à une date . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 40 DIVTIME : division . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 41 MULTIME : multiplication . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33002520 09/2020
123
123
127
129
130
131
132
133
134
135
136
140
143
143
147
147
153
155
155
157
157
161
161
165
165
169
169
173
173
175
177
177
179
179
181
181
5
Chapitre 42 SUB_***_*** : calcul de la différence entre deux dates ou
heures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 43 SUB_***_TIME : soustraction d'une durée à une date . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie VI Extract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 44 EXTRACT : copie d'une partie d'une variable dans une
autre variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 45 SIZEOF : taille d'une variable en octets . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie VII Logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 46 AND : fonction ET. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 47 F_TRIG : détection de front descendant. . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 48 FE : détection du front descendant . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 49 NOT : négation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 50 OR : fonction OU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 51 R_TRIG : détection de front montant . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 52 RE : détection du front montant . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 53 RESET : réglage d'un bit sur 0 . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 54 ROL : rotation à gauche . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 55 ROR : rotation à droite . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 56 RS : bloc fonction bistable, réinitialisation dominante . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 57 SET : réglage d'un bit sur 1 . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 58 SHL : décalage à gauche . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
183
183
185
185
187
189
189
193
193
195
197
197
199
199
201
201
203
203
205
205
207
207
209
209
211
211
213
213
217
217
219
219
221
221
223
223
33002520 09/2020
Chapitre 59 SHR : décalage à droite . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 60 SR : bloc fonction bistable, initialisation dominante . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 61 TRIGGER : détection de tous les fronts . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 62 XOR : fonction OU exclusif . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie VIII Mathématiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 63 ABS : calcul de valeur absolue . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 64 ACOS : arc cosinus . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 65 ADD : addition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 66 ADD_TIME : addition . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 67 ASIN : arc sinus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 68 ATAN : arc tangente . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 69 COS : cosinus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 70 DEC : décrémentation d'une variable . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 71 DIV : division. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 72 DIVMOD : division et modulo . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 73 EXP : exponentielle naturelle . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 74 EXPT_REAL_*** : élévation d'une valeur à la puissance
d'une autre valeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 75 INC : incrémentation d'une variable . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 76 LN : logarithme naturel . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33002520 09/2020
225
225
227
227
229
229
231
231
233
235
235
237
237
239
239
243
243
245
245
247
247
249
249
251
251
253
253
257
257
259
259
261
261
265
265
267
267
7
Chapitre 77 LOG : logarithme en base 10 . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 78 MOD : modulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 79 MOVE : affectation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 80 MUL : multiplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 81 NEG : négation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 82 SATURATION : saturation . . . . . . . . . . . . . . . . . . . . . . . .
SATURATION : valeur REAL maximum . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 83 SIGN : évaluation du signe. . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 84 SIN : sinus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 85 SUB : soustraction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 86 SUB_TIME : soustraction . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 87 SQRT_*** : racine carrée . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 88 TAN : tangente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie IX REF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 89 REF : fait référence à une variable. . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie X Statistique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 90 AVE : Moyenne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 91 LIMIT : limite. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 92 LIMIT_IND : limite avec indicateur . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 93 MAX : fonction de valeur maximum . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 94 MIN : fonction de valeur minimum . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
269
269
271
271
273
273
275
275
277
277
279
279
283
283
285
285
287
287
289
289
291
291
293
293
295
297
297
299
301
301
305
305
309
309
313
313
315
315
33002520 09/2020
Chapitre 95 MUX : multiplexeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 96 SEL : sélection binaire . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie XI Chaînes de caractères . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 97 CONCAT_STR : concaténation de deux chaînes de
caractères . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 98 DELETE_INT : suppression d'une sous-chaîne de
caractères . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 99 EQUAL_STR : comparaison de deux chaînes de
caractères . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 100 FIND_INT : recherche d'une sous-chaîne de caractères
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 101 INSERT_INT : insertion d'une sous-chaîne de caractères
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 102 LEFT_INT : extraction de caractères vers la gauche . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 103 LEN_INT : longueur d'une chaîne de caractères . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 104 MID_INT : extraction d'une sous-chaîne de caractères .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 105 REPLACE_INT : remplacement d'une sous-chaîne de
caractères . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 106 RIGHT_INT : extraction d'une chaîne de caractères vers
la droite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Partie XII Temporisateur et Compteur . . . . . . . . . . . . . . . . . . .
Chapitre 107 CTD, CTD_*** : décompteur . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 108 CTU, CTU_*** : compteur . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 109 CTUD, CTUD_*** : compteur/décompteur . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33002520 09/2020
317
317
321
321
323
325
325
327
327
329
329
331
331
333
333
337
337
339
339
341
341
343
343
347
347
349
351
351
353
353
355
355
9
Chapitre 110 TOF : délai à la désactivation . . . . . . . . . . . . . . . . . . . . . .
Partie XIII Conversion de type . . . . . . . . . . . . . . . . . . . . . . . . .
359
359
361
361
363
363
365
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
367
367
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 111 TON : délai à l'activation. . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 112 TP : impulsion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 113 ARINT_TO_DATE: Conversion d'un tableau d'entiers
avec date et heure en une variable DATE . . . . . . . . . . . .
Chapitre 114 ARINT_TO_DT: Conversion d'un tableau d'entiers avec
date et heure en une variable DT . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 115 ARINT_TO_TOD: Conversion d'un tableau d'entiers avec
Time Of Day (heure du jour) en une variable TOD. . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 116 ASCII_TO_STRING : conversion de type. . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 117 ASCII_TO_STRING_INV : conversion de type . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 118 BCD_TO_INT : conversion d'un entier BCD en binaire pur
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 119 BIT_TO_BYTE : conversion de type. . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 120 BIT_TO_WORD : conversion de type. . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 121 BOOL_TO_*** : conversion de type . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 122 BYTE_AS_WORD : conversion de type . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 123 BYTE_TO_BIT : conversion de type. . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 124 BYTE_TO_*** : conversion de type . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 125 DATE_TO_ARINT: Conversion d'une variable DATE en
tableau d'entiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
369
369
371
371
373
373
377
377
383
383
385
385
389
389
393
393
395
395
397
397
401
401
403
403
33002520 09/2020
Chapitre 126 DATE_TO_STRING : conversion d'une variable au format
DATE en une chaîne de caractères . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 127 DBCD_TO_*** : conversion d'un entier BCD double en
binaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 128 DEG_TO_RAD : conversion de degrés en radians. . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 129 DINT_AS_WORD : conversion de type . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 130 DINT_TO_*** : conversion de type . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 131 DINT_TO_DBCD : conversion d'un entier codé en binaire
double en un entier décimal codé en binaire double . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 132 DT_TO_ARINT: Conversion d'une variable DT en tableau
d'entiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 133 DT_TO_STRING : conversion d'une variable au format
DT en une chaîne de caractères . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 134 DWORD_TO_*** : conversion de type . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 135 GRAY_TO_INT : conversion d'un entier codé en Gray en
entier codé en binaire . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 136 INT_AS_DINT : concaténation de deux entiers pour
former un entier double. . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 137 INT_TO_*** : conversion de type . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 138 INT_TO_BCD : conversion d'un entier codé en binaire en
un entier décimal codé en binaire. . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 139 INT_TO_DBCD : conversion d'un entier codé en binaire
en un entier décimal codé en binaire double . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33002520 09/2020
405
405
407
407
409
409
411
411
413
413
417
417
419
419
421
421
423
423
425
425
427
427
429
429
433
433
435
435
11
Chapitre 140 RAD_TO_DEG : conversion de radians en degrés . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 141 REAL_AS_WORD : conversion de type . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 142 REAL_TO_*** : conversion de type . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 143 REAL_TRUNC_*** : conversion de type. . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 144 STRING_TO_ASCII : conversion de type. . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 145 STRING_TO_ASCII_INV : conversion de type . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 146 STRING_TO_*** : conversion d'une chaîne de caractères
en un nombre de type INT, DINT ou REAL . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 147 TIME_AS_WORD : conversion de type . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 148 TIME_TO_*** : conversion de type . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 149 TIME_TO_STRING : conversion d'une variable au format
TIME en une chaîne de caractères . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 150 TOD_TO_ARINT: Conversion d'une variable TOD en
tableau d'entiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 151 TOD_TO_STRING : conversion d'une variable au format
TOD en une chaîne de caractères . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 152 UDINT_AS_WORD : conversion de type . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 153 UDINT_TO_*** : conversion de type. . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 154 UINT_TO_*** : conversion de type . . . . . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 155 WORD_AS_BYTE : conversion de type . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 156 WORD_AS_DINT : conversion de type . . . . . . . . . . . . . .
Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
437
437
439
439
441
441
445
445
447
447
453
453
459
459
463
463
465
465
467
467
469
469
471
471
473
473
475
475
479
479
483
483
485
485
33002520 09/2020
Chapitre 157 WORD_AS_REAL : conversion de type . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 158 WORD_AS_TIME : conversion de type . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 159 WORD_AS_UDINT : conversion de type . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 160 WORD_TO_BIT : conversion de type . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 161 WORD_TO_*** : conversion de type . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre 162 ***_TO_STRING : conversion d'une variable en une
chaîne de caractères . . . . . . . . . . . . . . . . . . . . . . . . . . .
Description. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Annexes
.........................................
Annexe A Codes et valeurs d'erreur des EFB. . . . . . . . . . . . . . . . .
Tableaux des codes d'erreur pour la bibliothèque de base . . . . . . . . .
Erreurs courantes relatives aux valeurs à virgule flottante . . . . . . . . .
Glossaire
Index
33002520 09/2020
.........................................
.........................................
487
487
489
489
491
491
493
493
497
497
499
499
501
503
504
507
509
519
13
14
33002520 09/2020
Consignes de sécurité
Informations spécifiques à la sécurité relatives à la bibliothèque de blocs fonction et au
Guide utilisateur système
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.
33002520 09/2020
15
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.
16
33002520 09/2020
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.
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.
33002520 09/2020
17
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.
18
33002520 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 standard.
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, EIO0000002135 (Anglais),
Manuel de référence
EIO0000002136 (Français),
EIO0000002137 (Allemand),
EIO0000002138 (Italien),
EIO0000002139 (Espagnol),
EIO0000002140 (Chinois)
EcoStruxure™ Control Expert - Diagnostic,
Bibliothèque de blocs
33002523 (Anglais), 33002524 (Français),
33002525 (Allemand), 33003680 (Italien),
33002526 (Espagnol), 33003681 (Chinois)
Vous pouvez télécharger ces publications ainsi que d'autres informations techniques sur notre site
Web : www.schneider-electric.com/en/download.
33002520 09/2020
19
Information spécifique au produit
AVERTISSEMENT
FONCTIONNEMENT IMPREVU DE L'EQUIPEMENT
L'utilisation de ce produit requiert une expertise dans la conception et la programmation des
systèmes d'automatisme. Seules les personnes avec l'expertise adéquate sont autorisées à
programmer, installer, modifier et utiliser ce produit.
Respectez toutes les réglementations et normes de sécurité locales et nationales.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
20
33002520 09/2020
EcoStruxure™ Control Expert
Informations générales
33002520 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 standard.
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
33002520 09/2020
Titre du chapitre
Page
1
Types de module et leur utilisation
23
2
Disponibilité des blocs sur les différentes plates-formes matérielles
33
21
Informations générales
22
33002520 09/2020
EcoStruxure™ Control Expert
Types de module et leur utilisation
33002520 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
24
Structure d'un FFB
26
EN et ENO
29
33002520 09/2020
23
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.
24
33002520 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.
33002520 09/2020
25
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.
Appel formel d'un bloc fonction dans le langage de programmation ST :
26
33002520 09/2020
Types de module et leur utilisation
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.
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.
33002520 09/2020
27
Types de module et leur utilisation
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.
 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.
28
33002520 09/2020
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.
33002520 09/2020
29
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 :

30
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.
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 :
33002520 09/2020
Types de module et leur utilisation
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.
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.
33002520 09/2020
31
Types de module et leur utilisation
32
33002520 09/2020
EcoStruxure™ Control Expert
Disponibilité des blocs :
33002520 09/2020
Chapitre 2
Disponibilité des blocs sur les différentes plates-formes matérielles
Disponibilité des blocs sur les différentes plates-formes
matérielles
Disponibilité des blocs sur les différentes plates-formes matérielles
Introduction
Tous les blocs ne sont pas disponibles sur toutes les plates-formes matérielles. Les blocs
disponibles sur votre plate-forme matérielle sont indiqués dans les tableaux ci-dessous.
Tableaux
Disponibilité des blocs :
Nom du bloc
Type de bloc M340
M580
Quantum
Momentum
Premium
Défini dans la
norme
CEI 61131-3
ADD_***_***
EF
+
+
+
+
+
-
AND_***_***
EF
+
+
+
+
+
-
COPY_***_***
EF
+
+
+
+
+
-
DIV_***_***
EF
+
+
+
+
+
-
EQUAL_***
EF
+
+
+
+
+
-
EXTRACT
Procédure
+
+
+
+
+
-
FIND_EQ_***
EF
+
+
+
+
+
-
FIND_EQP_***
EF
+
+
+
+
+
-
FIND_GT_***
EF
+
+
+
+
+
-
FIND_LT_***
EF
+
+
+
+
+
-
LENGHT_***
EF
+
+
+
+
+
-
MAX_***
EF
+
+
+
+
+
-
MIN_***
EF
+
+
+
+
+
-
MOD_***_***
EF
+
+
+
+
+
-
MOVE_***_***
(affectation directe)
Procédure
+
+
+
+
+
-
MOVE_***_***
(conversion)
Procédure
+
+
+
+
+
-
MUL_***_***
EF
+
+
+
+
+
-
33002520 09/2020
33
Disponibilité des blocs :
Nom du bloc
Type de bloc M340
M580
Quantum
Momentum
Premium
Défini dans la
norme
CEI 61131-3
NOT_***
EF
+
+
+
+
+
-
OCCUR_***
EF
+
+
+
+
+
-
OR_***_***
EF
+
+
+
+
+
-
ROL_***
Procédure
+
+
+
+
+
-
ROR_***
Procédure
+
+
+
+
+
-
SIZEOF
EF
+
+
+
+
+
-
SORT_***
Procédure
+
+
+
+
+
-
SUB_***_***
EF
+
+
+
+
+
-
SUM_***
EF
+
+
+
+
+
-
SWAP_***
Procédure
+
+
+
+
+
-
XOR_***_***
EF
+
+
+
+
+
-
Légende :
+
Oui
-
Non
CLC_INT
Disponibilité des blocs :
Nom du bloc
Type de
bloc
M340
M580
Quantum
Momentum
Premium
Défini dans la
norme
CEI 61131-3
PID_INT
Procédure
+
+
+
+
+
-
PWM_INT
Procédure
+
+
+
+
+
-
SERVO_INT
Procédure
+
+
+
+
+
-
Légende :
+
Oui
-
Non
34
33002520 09/2020
Disponibilité des blocs :
Comparaison
Disponibilité des blocs :
Nom du bloc
Type de
bloc
M340
M580
Quantum
Momentum
Premium
Défini dans la
norme
CEI 61131-3
EQ
EF
+
+
+
+
+
+
GE
EF
+
+
+
+
+
+
GT
EF
+
+
+
+
+
+
LE
EF
+
+
+
+
+
+
LT
EF
+
+
+
+
+
+
NE
EF
+
+
+
+
+
+
Légende :
+
Oui
-
Non
Date et heure
Disponibilité des blocs :
Nom du bloc
Type de
bloc
M340
M580
Quantum
Momentum
Premium
Défini dans la
norme
CEI 61131-3
ADD_***_TIME
EF
+
+
+
+
+
+
DIVTIME
EF
+
+
+
+
+
+
MULTIME
EF
+
+
+
+
+
+
SUB_***_***
EF
+
+
+
+
+
+
SUB_***_TIME
EF
+
+
+
+
+
+
Légende :
+
Oui
-
Non
33002520 09/2020
35
Disponibilité des blocs :
Logique
Disponibilité des blocs :
Nom du bloc
Type de
bloc
M340
M580
Quantum
Momentum
Premium
Défini dans la
norme
CEI 61131-3
AND
EF
+
+
+
+
+
+
F_TRIG
EFB
+
+
+
+
+
+
FE
EF
+
+
+
+
+
-
NOT
EF
+
+
+
+
+
+
OR
EF
+
+
+
+
+
+
R_TRIG
EFB
+
+
+
+
+
+
RE
EF
+
+
+
+
+
-
RESET
Procédure
+
+
+
+
+
-
ROL
EF
+
+
+
+
+
+
ROR
EF
+
+
+
+
+
+
RS
EFB
+
+
+
+
+
+
SET
Procédure
+
+
+
+
+
-
SHL
EF
+
+
+
+
+
+
SHR
EF
+
+
+
+
+
+
SR
EFB
+
+
+
+
+
+
TRIGGER
EFB
+
+
+
+
+
-
XOR
EF
+
+
+
+
+
+
Légende :
+
Oui
-
Non
Mathématiques
Disponibilité des blocs :
Nom du bloc
Type de bloc M340
M580
Quantum
Momentum
Premium
Défini dans la
norme
CEI 61131-3
ABS
EF
+
+
+
+
+
+
ACOS
EF
+
+
+
+
+
+
ADD
EF
+
+
+
+
+
+
ADD_TIME
EF
+
+
+
+
+
+
36
33002520 09/2020
Disponibilité des blocs :
Nom du bloc
Type de bloc M340
M580
Quantum
Momentum
Premium
Défini dans la
norme
CEI 61131-3
ASIN
EF
+
+
+
+
+
+
ATAN
EF
+
+
+
+
+
+
COS
EF
+
+
+
+
+
+
DEC
Procédure
+
+
+
+
+
-
DIV
EF
+
+
+
+
+
+
DIVMOD
Procédure
+
+
+
+
+
-
EXP
EF
+
+
+
+
+
+
EXPT_REAL
EF
+
+
+
+
+
+
INC
Procédure
+
+
+
+
+
-
LN
EF
+
+
+
+
+
+
LOG
EF
+
+
+
+
+
+
MOD
EF
+
+
+
+
+
+
MOVE
EF
+
+
+
+
+
+
MUL
EF
+
+
+
+
+
+
NEG
EF
+
+
+
+
+
-
SATURATION
Procédure
+
+
+
+
+
-
SIGN
EF
+
+
+
+
+
-
SIN
EF
+
+
+
+
+
+
SQRT
EF
+
+
+
+
+
DINT: INT: REAL: +
SUB
EF
+
+
+
+
+
+
SUB_TIME
EF
+
+
+
+
+
+
TAN
EF
+
+
+
+
+
+
(voir page 279)
Légende :
+
Oui
-
Non
33002520 09/2020
37
Disponibilité des blocs :
REF
Disponibilité des blocs :
Nom du bloc
Type de
bloc
M340
M580
Quantum
Momentum
Premium
Défini dans la
norme
CEI 61131-3
REF
EF
+
+
+
+
+
+
Légende :
+
Oui
-
Non
Statistique
Disponibilité des blocs :
Nom du bloc
Type de bloc M340
M580
Quantum
Momentum
Premium
Défini dans la
norme
CEI 61131-3
AVE
EF
+
+
+
+
+
-
LIMIT
EF
+
+
+
+
+
+
LIMIT_IND
Procédure
+
+
+
+
+
-
MAX
EF
+
+
+
+
+
+
MIN
EF
+
+
+
+
+
+
MUX
EF
+
+
+
+
+
+
SEL
EF
+
+
+
+
+
+
Légende :
+
Oui
-
Non
Chaînes
Disponibilité des blocs :
Nom du bloc
Type de
bloc
M340
M580
Quantum
Momentum
Premium
Défini dans la
norme
CEI 61131-3
CONCAT_STR
EF
+
+
+
+
+
-
DELETE_INT
EF
+
+
+
+
+
+
EQUAL_STR
EF
+
+
+
+
+
+
38
33002520 09/2020
Disponibilité des blocs :
Nom du bloc
Type de
bloc
M340
M580
Quantum
Momentum
Premium
Défini dans la
norme
CEI 61131-3
FIND_INT
EF
+
+
+
+
+
+
INSERT_INT
EF
+
+
+
+
+
+
LEFT_INT
EF
+
+
+
+
+
+
LEN_INT
EF
+
+
+
+
+
+
MID_INT
EF
+
+
+
+
+
+
REPLACE_INT
EF
+
+
+
+
+
+
RIGHT_INT
EF
+
+
+
+
+
+
Légende :
+
Oui
-
Non
Temporisateurs et compteurs
Disponibilité des blocs :
Nom du bloc
Type de
bloc
M340
M580
Quantum
Momentum
Premium
Défini dans la
norme
CEI 61131-3
CTD
EFB
+
+
+
+
+
+
CTD_***
EFB
+
+
+
+
+
-
CTU
EFB
+
+
+
+
+
+
CTU_***
EFB
+
+
+
+
+
-
CTUD
EFB
+
+
+
+
+
+
CTUD_***
EFB
+
+
+
+
+
-
TOF
EFB
+
+
+
+
+
+
TON
EFB
+
+
+
+
+
+
TP
EFB
+
+
+
+
+
+
Légende :
+
Oui
-
Non
33002520 09/2020
39
Disponibilité des blocs :
Type à type
Disponibilité des blocs :
Nom du bloc
Type de
bloc
M340
M580
Quantum
Momentum Premium
Défini dans la
norme
CEI 61131-3
ARINT_TO_DATE
EF
+
+
+
+
+
-
ARINT_TO_DT
EF
+
+
+
+
+
-
ARINT_TO_TOD
EF
+
+
+
+
+
-
ASCII_TO_STRING
EF
+
+
+
+
+
-
ASCII_TO_STRING_INV
EF
+
+
+
+
+
-
BCD_TO_INT
EF
+
+
+
+
+
+
BIT_TO_BYTE
EF
+
+
+
+
+
-
BIT_TO_WORD
EF
+
+
+
+
+
-
BOOL_TO_***
EF
+
+
+
+
+
+
BYTE_AS_WORD
EF
+
+
+
+
+
-
BYTE_TO_BIT
Procédure
+
+
+
+
+
-
BYTE_TO_***
EF
+
+
+
+
+
+
DATE_TO_ARINT
EF
+
+
+
+
+
+
DATE_TO_STRING
EF
+
+
+
+
+
+
DBCD_TO_***
EF
+
+
+
+
+
-
DEG_TO_RAD
EF
+
+
+
+
+
-
DINT_AS_WORD
Procédure
+
+
+
+
+
-
DINT_TO_***
EF
+
+
+
+
+
+
DINT_TO_DBCD
EF
+
+
+
+
+
-
DINT_TO_STRING
EF
+
+
+
+
+
+
DT_TO_ARINT
EF
+
+
+
+
+
+
DT_TO_STRING
EF
+
+
+
+
+
+
DWORD_TO_***
EF
+
+
+
+
+
+
GRAY_TO_INT
EF
+
+
+
+
+
-
INT_AS_DINT
EF
+
+
+
+
+
-
INT_TO_***
EF
+
+
+
+
+
+
INT_TO_BCD
EF
+
+
+
+
+
-
INT_TO_DBCD
EF
+
+
+
+
+
-
INT_TO_STRING
EF
+
+
+
+
+
+
RAD_TO_DEG
EF
+
+
+
+
+
-
REAL_AS_WORD
Procédure
+
+
+
+
+
-
40
33002520 09/2020
Disponibilité des blocs :
Nom du bloc
Type de
bloc
M340
M580
Quantum
Momentum Premium
Défini dans la
norme
CEI 61131-3
REAL_TO_***
EF
+
+
+
+
+
+
REAL_TO_STRING
EF
+
+
+
+
+
+
REAL_TRUNC_***
EF
+
+
+
+
+
+
STRING_TO_ASCII
EF
+
+
+
+
+
-
STRING_TO_ASCII_INV
EF
+
+
+
+
+
-
STRING_TO_***
EF
+
+
+
+
+
+
TIME_AS_WORD
Procédure
+
+
+
+
+
-
TIME_TO_***
EF
+
+
+
+
+
+
TIME_TO_STRING
EF
+
+
+
+
+
+
TOD_TO_ARINT
EF
+
+
+
+
+
+
TOD_TO_STRING
EF
+
+
+
+
+
+
UDINT_AS_WORD
Procédure
+
+
+
+
+
-
UDINT_TO_***
EF
+
+
+
+
+
+
UINT_TO_***
EF
+
+
+
+
+
+
WORD_AS_BYTE
Procédure
+
+
+
+
+
-
WORD_AS_DINT
EF
+
+
+
+
+
-
WORD_AS_REAL
EF
+
+
+
+
+
-
WORD_AS_TIME
EF
+
+
+
+
+
-
WORD_AS_UDINT
EF
+
+
+
+
+
-
WORD_TO_BIT
Procédure
+
+
+
+
+
-
WORD_TO_***
EF
+
+
+
+
+
+
Légende :
+
Oui
-
Non
33002520 09/2020
41
Disponibilité des blocs :
42
33002520 09/2020
EcoStruxure™ Control Expert
Tableaux
33002520 09/2020
Partie II
Tableaux
Tableaux
Vue d'ensemble
Cette section décrit les fonctions et blocs fonction élémentaires de la famille Tableaux.
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
Titre du chapitre
Page
3
ADD_***_*** : ajout d'un nombre aux éléments d'un tableau ou ajout de deux
tableaux
45
4
AND_***_*** : ET logique entre des tableaux et des variables
49
5
COPY_***_*** : Copie sur des tableaux
53
6
DIV_***_*** : division de tableaux
57
7
EQUAL_*** : comparaison de deux tableaux
61
8
FIND_EQ_*** : premier élément d'un tableau égal à une valeur donnée
65
9
FIND_EQP_*** : premier élément d'un tableau égal à une valeur, en
commençant à un rang donné
69
10
FIND_GT_*** : premier élément d'un tableau supérieur à une valeur donnée
73
11
FIND_LT_*** : premier élément d'un tableau inférieur à une valeur donnée
77
12
LENGTH_*** : longueur d'un tableau
81
13
MAX_*** : valeur maximum des éléments d'un tableau
85
14
MIN_*** : valeur minimum des éléments d'un tableau
87
15
MOD_***_*** : reste de la division de tableaux
89
16
MOVE_***_*** : affectation à des tableaux
93
17
MOVE_***_*** : conversion de tableau
95
18
MUL_***_*** : multiplication de tableaux
97
19
NOT_*** : négation logique de tableaux
101
20
OCCUR_*** : nombre d'occurrences d'une valeur dans un tableau
103
21
OR_***_*** : OU logique entre des tableaux et des variables
105
22
ROL_*** : décalage circulaire vers la gauche
109
23
ROR_*** : décalage circulaire vers la droite
111
24
SORT_*** : tri croissant ou décroissant
113
25
SUB_***_*** : soustraction de tableaux
115
33002520 09/2020
43
Tableaux
Chapitre
44
Titre du chapitre
Page
26
SUM_*** : somme des éléments d'un tableau
119
27
SWAP_*** : permutation des octets d'un tableau
121
28
XOR_***_*** : OU exclusif entre des tableaux
123
33002520 09/2020
EcoStruxure™ Control Expert
ADD_***_***
33002520 09/2020
Chapitre 3
ADD_***_*** : ajout d'un nombre aux éléments d'un tableau ou ajout de deux tableaux
ADD_***_*** : ajout d'un nombre aux éléments d'un tableau ou
ajout de deux tableaux
Description
Description de la fonction
La fonction ADD_***_*** ajoute un nombre aux éléments d'un tableau ou ajoute deux tableaux
ensemble.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles pour ajouter un nombre aux éléments d'un tableau sont les suivantes :


ADD_ARINT_INT (ajout de chaque élément d'un tableau de données INT à une valeur de type
INT).
ADD_ARDINT_DINT (ajout de chaque élément d'un tableau de données DINT à une valeur
DINT).
Les fonctions disponibles pour ajouter les éléments d'un tableau à ceux d'un autre tableau sont les
suivantes :


ADD_ARINT (somme des éléments correspondants des deux tableaux INT).
ADD_ARDINT (somme des éléments correspondants des deux tableaux DINT).
Représentation en FBD
Représentation appliquée à la somme d'un entier et d'un tableau d'entiers :
33002520 09/2020
45
ADD_***_***
Représentation en LD
Représentation appliquée à la somme d'un entier et d'un tableau d'entiers :
Représentation en IL
Représentation appliquée à la somme d'un entier et d'un tableau d'entiers :
LD Input_IN1
ADD_ARINT_INT Input_IN2
ST Array1
Représentation en ST
Représentation appliquée à la somme d'un entier et d'un tableau d'entiers :
Array1 := ADD_ARINT_INT(Input_IN1,Input_IN2);
Description des paramètres
Le tableau suivant décrit les paramètres d'entrée :
46
Paramètre
Type
Commentaire
Input_ IN1
ARRAY [n..m] OF INT,
ARRAY [n..m] OF DINT
Input_IN1 est un entier simple ou double, ou
un tableau d'entiers simples ou doubles ; n et m
sont des entiers positifs, négatifs ou nuls.
Input_IN2
INT,
DINT,
ARRAY [n..m] OF INT,
ARRAY [n..m] OF DINT
Input_ IN2 est un entier simple ou double, ou
un tableau d'entiers simples ou doubles ; n et m
sont des entiers positifs, négatifs ou nuls.
33002520 09/2020
ADD_***_***
Le tableau suivant décrit le paramètre de sortie :
Paramètre
Type
Commentaire
Array1
ARRAY [n..m] OF INT
ARRAY [n..m] OF DINT
Selon le type de Input_ IN1 et Input_IN2,
chaque élément de Array1 correspond à la
somme :
 d'un entier simple ou double et de l'élément
correspondant d'un tableau,
 des éléments correspondants de deux
tableaux.
Erreurs d'exécution
La gestion du bit système %S18 est identique à celle des opérations réalisées sur les mots ou les
mots doubles.
Si une opération entre deux éléments active le bit %S18 (dépassement ou division par zéro), le
résultat de cette opération est incorrect, mais l'opération sur les éléments suivants est
correctement exécutée.
33002520 09/2020
47
ADD_***_***
48
33002520 09/2020
EcoStruxure™ Control Expert
AND_***_***
33002520 09/2020
Chapitre 4
AND_***_*** : ET logique entre des tableaux et des variables
AND_***_*** : ET logique entre des tableaux et des variables
Description
Description de la fonction
La fonction AND_***_*** effectue une opération ET logique (bit à bit) entre :



les éléments de deux tableaux,
une variable de type simple et les éléments d'un tableau,
les éléments d'un tableau et une variable de type simple.
NOTE : Le résultat est toujours un tableau.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles dans la bibliothèque générale sont les suivantes :





AND_AREBOOL (ET logique entre deux tableaux EBOOL).
AND_ARWORD (ET logique entre deux tableaux WORD).
AND_ARWORD_WORD (ET logique chaque élément d'un tableau WORD et un élément de type
WORD).
AND_ARDWORD_DWORD (ET logique entre chaque élément d'un tableau DWORD et un élément
de type DWORD).
AND_ARDWORD (ET logique entre deux tableaux DWORD).
Les fonctions disponibles dans la bibliothèque Obsolète sont les suivante :




AND_ARINT_INT (ET logique entre chaque élément d'un tableau INT et un élément de type
INT).
AND_ARDINT_DINT (ET logique entre chaque élément d'un tableau DINT et un élément de
type DINT).
AND_ARINT (ET logique entre chaque élément d'un tableau INT et chaque élément
correspondant à un autre tableau INT).
AND_ARDINT (ET logique entre chaque élément d'un tableau DINT et chaque élément
correspondant à un autre tableau DINT).
33002520 09/2020
49
AND_***_***
Représentation en FBD
Représentation appliquée à une chaîne de 16 bits et un tableau de chaînes de 16 bits :
Représentation en LD
Représentation appliquée à une chaîne de 16 bits et un tableau de chaînes de 16 bits :
Représentation en IL
Représentation appliquée à une chaîne de 16 bits et un tableau de chaînes de 16 bits :
LD Input_IN1
AND_ARWORD_WORD Input_IN2
ST Array1
Représentation en ST
Représentation appliquée à une chaîne de 16 bits et un tableau de chaînes de 16 bits :
Array1:= AND_ARWORD_WORD(Input_IN1,Input_IN2);
50
33002520 09/2020
AND_***_***
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Input_IN1
ARRAY [n..m] OF EBOOL,
WORD,
ARRAY [n…m] OF WORD,
DWORD,
ARRAY [n..m] OF DWORD,
INT,
ARRAY [n..m] OF INT,
DINT,
ARRAY [n…m] OF DINT
n et m correspondent respectivement aux
limites minimum et maximum.
Input_IN2
ARRAY [n..m] OF EBOOL,
WORD,
ARRAY [n…m] OF WORD,
DWORD,
ARRAY [n..m] OF DWORD,
INT,
ARRAY [n..m] OF INT,
DINT,
ARRAY [n…m] OF DINT
n et m sont des entiers positifs, négatifs ou
nuls.
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Array1
ARRAY [n…m] OF EBOOL,
ARRAY [n…m] OF WORD,
ARRAY [n..m] OF DWORD,
ARRAY [n..m] OF INT,
ARRAY [n…m] OF DINT
Les éléments de Array sont le résultat de
l'opération ET logique (bit à bit) entre
Input_IN1 et Input_IN2 qui peuvent être
respectivement :
 un tableau et une variable simple,
 un tableau et un tableau.
33002520 09/2020
51
AND_***_***
52
33002520 09/2020
EcoStruxure™ Control Expert
COPY_***_***
33002520 09/2020
Chapitre 5
COPY_***_*** : Copie sur des tableaux
COPY_***_*** : Copie sur des tableaux
Description
Description de la fonction
La fonction COPY_***_*** copie une série d'éléments contigus d'un tableau dans un autre. Les
tableaux sont de types différents ou identiques et la zone cible est définie par des paramètres de
la fonction.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
AVERTISSEMENT
FONCTIONNEMENT IMPREVU DE L'APPLICATION
Vérifiez que les données en cours d'écriture dans le tableau cible sont valides lors de l'utilisation
de la fonction COPY_***_***.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
NOTE : La fonction COPY_***_*** peut générer des valeurs de données inattendues. Par
exemple, la copie de valeurs d'entrée sur des valeurs de sortie peut corrompre les données et
provoquer un fonctionnement inattendu de l'application.
Fonctions disponibles
Les fonctions disponibles sont les suivantes :
COPY_AREBOOL_ARINT,
 COPY_AREBOOL_AREBOOL,
 COPY_AREBOOL_ARDINT,
 COPY_ARINT_AREBOOL,
 COPY_ARDINT_AREBOOL.

33002520 09/2020
53
COPY_***_***
Représentation en FBD
Représentation appliquée à l'affectation d'une zone d'un tableau d'entiers à une zone de tableau
de bits :
Représentation en LD
Représentation appliquée à l'affectation d'une zone d'un tableau d'entiers à une zone de tableau
de bits :
Représentation en IL
Représentation appliquée à l'affectation d'une zone d'un tableau d'entiers à une zone de tableau
de bits :
LD Array1
COPY_ARINT_AREBOOL Begin_Row, Element_Number, Destination_Row
ST Result_Array
Représentation en ST
Représentation appliquée à l'affectation d'une zone d'un tableau d'entiers à une zone de tableau
de bits :
Result_Array := COPY_ARINT_AREBOOL(Array1, Begin_Row, Element_Number,
Destination_Row);
54
33002520 09/2020
COPY_***_***
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Array1
ARRAY [n…m] OF
EBOOL,
ARRAY [n..m] OF INT,
ARRAY [n…m] OF DINT
n et m sont des entiers positifs, négatifs
ou nuls.
Begin_Row
INT
Rang du premier élément à copier du
tableau Array1.
Remarque : le rang du premier élément
du tableau est 0.
Element_Number
INT
Nombre d'éléments à copier du tableau
Array1.
Destination_Row
INT
Rang cible du tableau Result_Array.
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Result_Array
Commentaire
ARRAY [n..m] OF EBOOL, n et m sont des entiers positifs, négatifs
ou nuls.
ARRAY [n..m] OF INT,
ARRAY [n…m] OF DINT Tableau cible qui contient les éléments
sélectionnés dans Array1.
NOTE : Si le nombre d'éléments à extraire est supérieur à la taille restante, en commençant par le
rang Begin_Row, la fonction extrait tous les éléments de Begin_Row jusqu'au dernier élément du
tableau.
Si le nombre d'éléments à extraire est supérieur à l'espace disponible en commençant par le rang
Destination_Row, la fonction de copie est exécutée jusqu'au dernier élément du tableau.
Une valeur négative de Begin_Row, Element_Number et Destination_Row est interprétée
comme nulle.
33002520 09/2020
55
COPY_***_***
56
33002520 09/2020
EcoStruxure™ Control Expert
DIV_***_***
33002520 09/2020
Chapitre 6
DIV_***_*** : division de tableaux
DIV_***_*** : division de tableaux
Description
Description de la fonction
La fonction DIV_***_*** effectue la division :

d'un nombre par les éléments d'un tableau,
des éléments d'un tableau par un nombre,

des éléments d'un tableau par les éléments correspondants d'un autre tableau.

Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles pour diviser un nombre par les éléments d'un tableau sont les suivantes :


DIV_INT_ARINT,
DIV_DINT_ARDINT.
Les fonctions disponibles pour diviser les éléments d'un tableau par un nombre sont les suivantes :


DIV_ARINT_INT,
DIV_ARDINT_DINT.
Les fonctions disponibles pour diviser les éléments d'un tableau par les éléments correspondants
d'un autre tableau sont les suivantes :


DIV_ARINT,
DIV_ARDINT.
Représentation en FBD
Représentation appliquée à la division d'un entier par les éléments d'un tableau d'entiers :
33002520 09/2020
57
DIV_***_***
Représentation en LD
Représentation appliquée à la division d'un entier par les éléments d'un tableau d'entiers :
Représentation en IL
Représentation appliquée à la division d'un entier par les éléments d'un tableau d'entiers :
LD Input_IN1
DIV_INT_ARINT Input_IN2
ST Array1
Représentation en ST
Représentation appliquée à la division d'un entier par les éléments d'un tableau d'entiers :
Array1:= DIV_INT_ARINT(Input_IN1,Input_IN2);
58
33002520 09/2020
DIV_***_***
Description des paramètres
Le tableau suivant décrit les paramètres d'entrée :
Paramètre
Type
Commentaire
Input_IN1
INT,
DINT,
ARRAY [n..m] OF INT,
ARRAY [n..m] OF DINT
Input_IN1 est un entier simple ou double, ou
un tableau d'entiers simples ou doubles ; n et m
sont des entiers positifs, négatifs ou nuls.
Input_IN2
INT,
DINT,
ARRAY [n..m] OF INT,
ARRAY [n..m] OF DINT
Input_ IN2 est un entier simple ou double, ou
un tableau d'entiers simples ou doubles ; n et m
sont des entiers positifs, négatifs ou nuls.
Le tableau suivant décrit le paramètre de sortie :
Paramètre
Type
Commentaire
Array1
ARRAY [n..m] OF INT
ARRAY [n..m] OF DINT
Selon le type de Input_IN1 et Input_IN2,
chaque élément de Array1 correspond à la
division :
 d'un entier simple ou double Input_IN1 par
l'élément correspondant du tableau
Input_IN2 ou d'un autre,
 des éléments du tableau Input_IN1 par
des entiers simples ou doubles Input_IN2
ou autres,
 des éléments du tableau Input_IN1 par les
éléments correspondants du tableau
Input_ IN2.
Erreurs d'exécution
La gestion du bit système %S18 est identique à celle des opérations réalisées sur les mots ou les
mots doubles. Dans le cas d'une division par zéro, la valeur du résultat est égale à la valeur du
numérateur.
Si une opération entre deux éléments active le bit %S18 (dépassement ou division par zéro), le
résultat de cette opération est incorrect, mais l'opération sur les éléments suivants est
correctement exécutée.
33002520 09/2020
59
DIV_***_***
60
33002520 09/2020
EcoStruxure™ Control Expert
EQUAL_****
33002520 09/2020
Chapitre 7
EQUAL_*** : comparaison de deux tableaux
EQUAL_*** : comparaison de deux tableaux
Description
Description de la fonction
La fonction EQUAL_*** compare deux tableaux, élément par élément.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles sont les suivantes :
 EQUAL_ARWORD,
 EQUAL_ARDWORD,
 EQUAL_ARINT,
 EQUAL_ARDINT,
 EQUAL_ARREAL.
Représentation en FBD
Représentation appliquée à des tableaux d'entiers :
33002520 09/2020
61
EQUAL_****
Représentation en LD
Représentation appliquée à des tableaux d'entiers :
Représentation en IL
Représentation appliquée à des tableaux d'entiers :
LD Array1
EQUAL_ARINT Array2, Position
ST Equal1
Représentation en ST
Représentation appliquée à des tableaux d'entiers :
Equal1:= EQUAL_ARINT(Array1, Array2, Position);
62
33002520 09/2020
EQUAL_****
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Array1
ARRAY [n…m] OF WORD
ARRAY [n…m] OF DWORD
ARRAY [n…m] OF INT
ARRAY [n…m] OF DINT
ARRAY [n…m] OF REAL
n et m sont des entiers positifs, négatifs ou
nuls.
Array2
ARRAY [n…m] OF WORD
ARRAY [n…m] OF DWORD
ARRAY [n…m] OF INT
ARRAY [n…m] OF DINT
ARRAY [n…m] OF REAL
n et m sont des entiers positifs, négatifs ou
nuls.
Position
INT
Rang du premier élément à partir duquel la
recherche est lancée.
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Equal1
INT
Rang des premiers éléments différents. Si les
deux tableaux sont équivalents, Equal1 = -1.
Erreurs d'exécution
Lorsque le tableau contient une valeur non valide, le résultat de la fonction contient -2 et le bit
%S18 est sur 1.
33002520 09/2020
63
EQUAL_****
64
33002520 09/2020
EcoStruxure™ Control Expert
FIND_EQ_***
33002520 09/2020
Chapitre 8
FIND_EQ_*** : premier élément d'un tableau égal à une valeur donnée
FIND_EQ_*** : premier élément d'un tableau égal à une valeur
donnée
Description
Description de la fonction
La fonction FIND_EQ_*** recherche le premier élément d'un tableau égal à une valeur donnée.
NOTE : avant de lancer la recherche, le bloc écrit immédiatement -1 dans sa sortie OUT pour
indiquer que la valeur associée à IN2 est introuvable. Il lance ensuite la recherche et met à jour la
sortie OUT avec la valeur de rang du premier élément remplissant les critères de recherche.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles sont les suivantes :
 FIND_EQ_ARWORD,
 FIND_EQ_ARDWORD,
 FIND_EQ_ARINT,
 FIND_EQ_ARDINT,
 FIND_EQ_ARREAL.
Représentation en FBD
Représentation appliquée à un tableau d'entiers :
33002520 09/2020
65
FIND_EQ_***
Représentation en LD
Représentation appliquée à un tableau d'entiers :
Représentation en IL
Représentation appliquée à un tableau d'entiers :
LD Array1
FIND_EQ_ARINT Value1
ST Row_Value1
Représentation en ST
Représentation appliquée à un tableau d'entiers :
Row_Value1:= FIND_EQ_ARINT(Array1, Value1);
66
33002520 09/2020
FIND_EQ_***
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Array1
ARRAY [n..m] OF INT
ARRAY [n..m] OF DINT
ARRAY [n..m] OF WORD
ARRAY [n..m] OF DWORD
ARRAY [n..m] OF REAL
n et m sont des entiers positifs, négatifs ou
nuls.
Value1
INT, DINT, WORD ,
DWORD, REAL.
Valeur dont le rang est recherché dans
Array1.
Du même type que les éléments du tableau
Array 1.
Le tableau suivant décrit le paramètre de sortie :
Paramètre
Type
Commentaire
Row_Value1
INT
Rang du premier élément de Array1 égal à
Value1. Si aucun des éléments du tableau
n'est égal à Value1, Row_Value1 = -1
Erreurs d’exécution
Lorsque le tableau contient une valeur incorrecte ou lorsque Value1 est une valeur incorrecte, le
résultat de la fonction contient -2 et le bit %S18 est égal à 1.
33002520 09/2020
67
FIND_EQ_***
68
33002520 09/2020
EcoStruxure™ Control Expert
FIND_EQP_***
33002520 09/2020
Chapitre 9
FIND_EQP_*** : premier élément d'un tableau égal à une valeur, en commençant à un rang donné
FIND_EQP_*** : premier élément d'un tableau égal à une
valeur, en commençant à un rang donné
Description
Description de la fonction
La fonction FIND_EQP_*** recherche le premier élément d'un tableau égal à une valeur donnée,
en commençant à un rang précis.
NOTE : Avant de lancer la recherche, le bloc écrit immédiatement -1 dans sa sortie OUT pour
indiquer que la valeur associée à IN 2 est introuvable. Il lance ensuite la recherche et met à jour
la sortie OUT avec la valeur de rang du premier élément remplissant les critères de recherche.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles sont les suivantes :
FIND_EQP_ARWORD,
 FIND_EQP_ARDWORD,
 FIND_EQP_ARINT,
 FIND_EQP_ARDINT,
 FIND_EQP_ARREAL.

Représentation en FBD
Représentation appliquée à un tableau d'entiers :
33002520 09/2020
69
FIND_EQP_***
Représentation en LD
Représentation appliquée à un tableau d'entiers :
Représentation en IL
Représentation appliquée à un tableau d'entiers :
LD Array1
FIND_EQP_ARINT Value1, Begin1
ST Row_Value1
Représentation en ST
Représentation appliquée à un tableau d'entiers :
Row_Value1:= FIND_EQP_ARINT(Array1, Value1, Begin1);
70
33002520 09/2020
FIND_EQP_***
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Array1
ARRAY [n…m] OF WORD
ARRAY [n…m] OF DWORD
ARRAY [n..m] OF INT
ARRAY [n…m] OF DINT
ARRAY [n…m] OF REAL
n et m sont des entiers positifs, négatifs ou
nuls.
Value1
WORD, DWORD, INT, DINT,
REAL.
Valeur dont le rang est recherché dans
Array1.
Du même type que les éléments du tableau
Array1.
Begin1
INT
Rang à partir duquel commence la recherche.
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Row_Value1
INT
Rang du premier élément de Array1 égal à
Value1. Si aucun des éléments du tableau
n'est égal à Value1, Row_Value1 = -1.
Remarque : Row_Value1 indique le rang par
rapport au début du tableau.
Erreurs d'exécution
Lorsque le tableau contient une valeur non valide ou lorsque Value1 est une valeur non valide, le
résultat de la fonction contient -2 et le bit %S18 est sur 1.
33002520 09/2020
71
FIND_EQP_***
72
33002520 09/2020
EcoStruxure™ Control Expert
FIND_GT_***
33002520 09/2020
Chapitre 10
FIND_GT_*** : premier élément d'un tableau supérieur à une valeur donnée
FIND_GT_*** : premier élément d'un tableau supérieur à une
valeur donnée
Description
Description de la fonction
La fonction FIND_GT_*** recherche le premier élément d'un tableau supérieur à une valeur
donnée.
NOTE : Avant de lancer la recherche, le bloc écrit immédiatement -1 dans sa sortie OUT pour
indiquer que la valeur associée à IN2 est introuvable. Il lance ensuite la recherche et met à jour la
sortie OUT avec la valeur de rang du premier élément remplissant les critères de recherche.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles sont les suivantes :
 FIND_GT_ARWORD,
 FIND_GT_ARDWORD,
 FIND_GT_ARINT,
 FIND_GT_ARDINT,
 FIND_GT_ARREAL.
Représentation en FBD
Représentation appliquée à un tableau d'entiers :
33002520 09/2020
73
FIND_GT_***
Représentation en LD
Représentation appliquée à un tableau d'entiers :
Représentation en IL
Représentation appliquée à un tableau d'entiers :
LD Array1
FIND_GT_ARINT Value1
ST Row_Value1
Représentation en ST
Représentation appliquée à un tableau d'entiers :
Row_Value1:= FIND_GT_ARINT(Array1, Value1);
74
33002520 09/2020
FIND_GT_***
Description des paramètres
Le tableau suivant décrit les paramètres d'entrée :
Entrée
Type
Commentaire
Array1
ARRAY [n..m] OF WORD
ARRAY [n..m] OF DWORD
ARRAY [n..m] OF INT
ARRAY [n..m] OF DINT
ARRAY [n..m] OF REAL
n et m sont des entiers positifs, négatifs ou
nuls.
Value1
WORD, DWORD, INT ,
DINT, REAL
Première valeur supérieure dont le rang est
recherché dans Array1.
Du même type que les éléments du tableau
Array 1.
Le tableau suivant décrit le paramètre de sortie :
Sortie
Type
Commentaire
Row_Value1
INT
Rang du premier élément de Array1 > à
Value1. Si aucun des éléments du tableau
n'est supérieur à Value1, Row_Value1 = -1
Erreurs d'exécution
Lorsque le tableau contient une valeur incorrecte ou lorsque Value1 est une valeur incorrecte, le
résultat de la fonction contient -2 et le bit %S18 est sur 1.
33002520 09/2020
75
FIND_GT_***
76
33002520 09/2020
EcoStruxure™ Control Expert
FIND_LT_***
33002520 09/2020
Chapitre 11
FIND_LT_*** : premier élément d'un tableau inférieur à une valeur donnée
FIND_LT_*** : premier élément d'un tableau inférieur à une
valeur donnée
Description
Description de la fonction
La fonction FIND_LT_*** recherche le premier élément d'un tableau inférieur à une valeur
donnée.
NOTE : Avant de lancer la recherche, le bloc écrit immédiatement -1 dans sa sortie OUT pour
indiquer que la valeur associée à IN2 est introuvable. Il lance ensuite la recherche et met à jour la
sortie OUT avec la valeur de rang du premier élément remplissant les critères de recherche.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles sont les suivantes :
 FIND_LT_ARWORD,
 FIND_LT_ARDWORD,
 FIND_LT_ARINT,
 FIND_LT_ARDINT,
 FIND_LT_ARREAL.
Représentation en FBD
Représentation appliquée à un tableau d'entiers :
33002520 09/2020
77
FIND_LT_***
Représentation en LD
Représentation appliquée à un tableau d'entiers :
Représentation en IL
Représentation appliquée à un tableau d'entiers :
LD Array1
FIND_LT_ARINT Value1
ST Row_Value1
Représentation en ST
Représentation appliquée à un tableau d'entiers :
Row_Value1:= FIND_LT_ARINT(Array1, Value1);
78
33002520 09/2020
FIND_LT_***
Description des paramètres
Le tableau suivant décrit les paramètres d'entrée :
Paramètre
Type
Commentaire
Array1
ARRAY [n..m] OF WORD
ARRAY [n..m] OF DWORD
ARRAY [n..m] OF INT
ARRAY [n..m] OF DINT
ARRAY [n..m] OF REAL
n et m sont des entiers positifs, négatifs ou
nuls.
Value1
WORD , DWORD , INT ,
DINT, REAL
Valeur pour laquelle une valeur inférieure est
recherchée dans Array1.
Du même type que les éléments du tableau
Array 1.
Le tableau suivant décrit le paramètre de sortie :
Paramètre
Type
Commentaire
Row_Value1
INT
Rang du premier élément de Array1< à
Value1. Si aucun des éléments du tableau
n'est inférieur à Value1, Row_Value1 = -1
Erreurs d'exécution
Lorsque le tableau contient une valeur incorrecte ou lorsque Value1 est une valeur incorrecte, le
résultat de la fonction contient -2 et le bit %S18 est sur 1.
33002520 09/2020
79
FIND_LT_***
80
33002520 09/2020
EcoStruxure™ Control Expert
LENGTH_***
33002520 09/2020
Chapitre 12
LENGTH_*** : longueur d'un tableau
LENGTH_*** : longueur d'un tableau
Description
Description de la fonction
La fonction LENGTH_*** calcule la longueur d'un tableau. Elle s'utilise principalement avec les
blocs fonction DFB lorsque les tableaux ne sont pas explicitement déclarés.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles sont les suivantes :
LENGTH_AREBOOL,
 LENGTH_ARWORD,
 LENGTH_ARDWORD,
 LENGTH_ARINT,
 LENGTH_ARDINT,
 LENGTH_ARREAL,
 LENGTH_ARBOOL,
 LENGTH_ARBYTE,
 LENGTH_ARDATE,
 LENGTH_ARDT,
 LENGTH_ARSTRING,
 LENGTH_ARTIME,
 LENGTH_ARTOD,
 LENGTH_ARUINT,
 LENGTH_ARUDINT.

Représentation en FBD
Représentation appliquée à un tableau d'entiers :
33002520 09/2020
81
LENGTH_***
Représentation en LD
Représentation appliquée à un tableau d'entiers :
Représentation en IL
Représentation appliquée à un tableau d'entiers :
LD Array1
LENGTH_ARINT
ST Length_Array1
Représentation en ST
Représentation :
Length_Array1:= LENGTH_ARINT(Array1);
82
33002520 09/2020
LENGTH_***
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Array1
ARRAY [n..m] OF EBOOL
ARRAY [n..m] OF WORD
ARRAY [n..m] OF DWORD
ARRAY [n..m] OF INT
ARRAY [n..m] OF DINT
ARRAY [n..m] OF REAL
ARRAY [n..m] OF BOOL
ARRAY [n..m] OF BYTE
ARRAY [n..m] OF DATE
ARRAY [n..m] OF DT
ARRAY [n..m] OF STRING
ARRAY [n..m] OF TIME
ARRAY [n..m] OF TOD
ARRAY [n..m] OF UINT
ARRAY [n..m] OF UDINT
n et m sont des entiers positifs, négatifs ou
nuls.
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Length_Array1
INT
Longueur du tableau (nombre d'éléments
du tableau).
33002520 09/2020
83
LENGTH_***
84
33002520 09/2020
EcoStruxure™ Control Expert
MAX_***
33002520 09/2020
Chapitre 13
MAX_*** : valeur maximum des éléments d'un tableau
MAX_*** : valeur maximum des éléments d'un tableau
Description
Description de la fonction
La fonction MAX_*** recherche la valeur maximale des éléments d'un tableau.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles sont les suivantes :
MAX_ARWORD,
 MAX_ARDWORD,
 MAX_ARINT,
 MAX_ARDINT,
 MAX_ARREAL.

Représentation en FBD
Représentation appliquée à un tableau d'entiers :
Représentation en LD
Représentation appliquée à un tableau d'entiers :
33002520 09/2020
85
MAX_***
Représentation en IL
Représentation appliquée à un tableau d'entiers :
LD Array1
MAX_ARINT
ST Max1
Représentation en ST
Représentation appliquée à un tableau d'entiers :
Max1:= MAX_ARINT(Array1);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Array1
ARRAY [n..m] OF WORD
ARRAY [n..m] OF DWORD
ARRAY [n..m] OF INT
ARRAY [n..m] OF DINT
ARRAY [n..m] OF REAL
n et m sont des entiers positifs, négatifs ou
nuls.
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Max1
WORD, DWORD, INT, DINT, Valeur maximale contenue dans le tableau.
REAL
Ce résultat est du même type que les
éléments du tableau.
Erreurs d'exécution
Lorsque le tableau contient une valeur non valide, le résultat de la fonction contient 1.#INF et le bit
%S18 est mis à 1.
86
33002520 09/2020
EcoStruxure™ Control Expert
MIN_***
33002520 09/2020
Chapitre 14
MIN_*** : valeur minimum des éléments d'un tableau
MIN_*** : valeur minimum des éléments d'un tableau
Description
Description de la fonction
La fonction MIN_*** recherche la valeur minimale des éléments d'un tableau.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles sont les suivantes :
MIN_ARWORD,
 MIN_ARDWORD,
 MIN_ARINT,
 MIN_ARDINT,
 MIN_ARREAL.

Représentation en FBD
Représentation appliquée à un tableau d'entiers :
Représentation en LD
Représentation appliquée à un tableau d'entiers :
33002520 09/2020
87
MIN_***
Représentation en IL
Représentation appliquée à un tableau d'entiers :
LD Array1
MIN_ARINT
ST Min1
Représentation en ST
Représentation appliquée à un tableau d'entiers :
Min1:= MIN_ARINT(Array1);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Array1
ARRAY [n..m] OF WORD
ARRAY [n..m] OF DWORD
ARRAY [n..m] OF INT
ARRAY [n..m] OF DINT
ARRAY [n..m] OF REAL
n et m sont des entiers positifs, négatifs ou
nuls.
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Min1
WORD, DWORD, DINT, INT, Valeur minimale contenue dans le tableau. Ce
REAL
résultat est du même type que les éléments du
tableau.
Erreurs d'exécution
Lorsque le tableau contient une valeur non valide, le résultat de la fonction contient 1.#NAN et le
bit %S18 est mis à 1.
88
33002520 09/2020
EcoStruxure™ Control Expert
MOD_***_***
33002520 09/2020
Chapitre 15
MOD_***_*** : reste de la division de tableaux
MOD_***_*** : reste de la division de tableaux
Description
Description de la fonction
La fonction MOD_***_*** calcule le reste de la division :

d'un nombre par les éléments d'un tableau,
des éléments d'un tableau par un nombre,

des éléments d'un tableau par les éléments correspondants d'un autre tableau.

Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles pour calculer le reste de la division d'un nombre par les éléments d'un
tableau sont les suivantes :


MOD_INT_ARINT,
MOD_DINT_ARDINT.
Les fonctions disponibles pour calculer le reste de la division des éléments d'un tableau par un
nombre sont les suivantes :


MOD_ARINT_INT,
MOD_ARDINT_DINT.
Les fonctions disponibles pour calculer le reste de la division des éléments d'un tableau par les
éléments par les éléments correspondants d'un autre tableau sont les suivantes :


MOD_ARINT,
MOD_ARDINT.
Représentation en FBD
Représentation appliquée à la division d'un entier par les éléments d'un tableau d'entiers :
33002520 09/2020
89
MOD_***_***
Représentation en LD
Représentation appliquée à la division d'un entier par les éléments d'un tableau d'entiers :
Représentation en IL
Représentation appliquée à la division d'un entier par les éléments d'un tableau d'entiers :
LD Input_IN1
MOD_INT_ARINT Input_IN2
ST Array1
Représentation en ST
Représentation appliquée à la division d'un entier par les éléments d'un tableau d'entiers :
Array1:= MOD_INT_ARINT(Input_IN1,Input_IN2);
90
33002520 09/2020
MOD_***_***
Description des paramètres
Le tableau suivant décrit les paramètres d'entrée :
Paramètre
Type
Commentaire
Input_ IN1
INT,
DINT,
ARRAY [n..m] OF INT,
ARRAY [n..m] OF DINT
Input_IN1 est un entier simple ou double, ou
un tableau d'entiers simples ou doubles ; n et m
sont des entiers positifs, négatifs ou nuls.
Input_IN2
INT,
DINT,
ARRAY [n..m] OF INT,
ARRAY [n..m] OF DINT
Input_IN2 est un entier simple ou double, ou
un tableau d'entiers simples ou doubles ; n et m
sont des entiers positifs, négatifs ou nuls.
Le tableau suivant décrit le paramètre de sortie :
Paramètre
Type
Commentaire
Array1
ARRAY [n..m] OF INT
ARRAY [n..m] OF DINT
Selon le type de Input_IN1 et Input_IN2,
chaque élément de Array1 correspond au
reste de la division :
 d'un entier simple ou double Input_IN1 par
l'élément correspondant du tableau
Input_IN2 ou d'un autre,
 des éléments du tableau Input_IN1 par
l'entier simple ou double Input_IN2 ou un
autre,
 des éléments du tableau Input_IN1 par les
éléments correspondants du tableau
Input_IN2.
Erreurs d'exécution
La gestion du bit système %S18 est identique à celle des opérations réalisées sur les mots ou les
mots doubles. Le reste d'une division par zéro est zéro et le bit système est réglé sur 1.
Si une opération entre deux éléments active le bit %S18 (dépassement ou division par zéro), le
résultat de cette opération est incorrect, mais l'opération sur les éléments suivants est
correctement exécutée.
33002520 09/2020
91
MOD_***_***
92
33002520 09/2020
EcoStruxure™ Control Expert
MOVE_***_***
33002520 09/2020
Chapitre 16
MOVE_***_*** : affectation à des tableaux
MOVE_***_*** : affectation à des tableaux
Description
Description de la fonction
Entre autres choses, la fonction MOVE_***_*** affecte une valeur identique à chaque élément
d'un tableau.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles sont les suivantes :






MOVE_BOOL_AREBOOL,
MOVE_WORD_ARWORD,
MOVE_DWORD_ARDWORD,
MOVE_INT_ARINT,
MOVE_DINT_ARDINT,
MOVE_REAL_ARREAL.
Représentation en FBD
Représentation appliquée à l'affectation d'un entier à un tableau d'entiers :
Représentation en LD
Représentation appliquée à l'affectation d'un entier à un tableau d'entiers :
33002520 09/2020
93
MOVE_***_***
Représentation en IL
Représentation appliquée à l'affectation d'un entier à un tableau d'entiers :
LD Val1
MOVE_INT_ARINT Array1
Représentation en ST
Représentation appliquée à l'affectation d'un entier à un tableau d'entiers :
MOVE_INT_ARINT(Val1, Array1);
Description des paramètres
Le tableau suivant décrit le paramètre d'entrée :
Paramètre
Type
Commentaire
Val1
BOOL,
WORD,
DWORD,
INT,
DINT,
REAL.
Val1 contient la valeur à affecter à chaque
élément du tableau Array1.
Du même type que les éléments du tableau
Array1.
Le tableau suivant décrit le paramètre de sortie :
94
Paramètre
Type
Commentaire
Array1
ARRAY [n..m] OF EBOOL,
ARRAY [n..m] OF WORD,
ARRAY [n..m] OF DWORD,
ARRAY [n..m] OF INT,
ARRAY [n..m] OF DINT
ARRAY [n..m] OF REAL
n et m sont des entiers positifs, négatifs ou
nuls.
Array1 est un tableau dont chaque élément
a la valeur Val1.
33002520 09/2020
EcoStruxure™ Control Expert
MOVE_***_***
33002520 09/2020
Chapitre 17
MOVE_***_*** : conversion de tableau
MOVE_***_*** : conversion de tableau
Description
Description de la fonction
Entre autres choses, la fonction MOVE_***_*** convertit un tableau en valeur ou une valeur en
tableau.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles sont les suivantes :




MOVE_AREBOOL_INT (conversion d'un tableau EBOOL en élément de type INT).
MOVE_AREBOOL_DINT (conversion d'un tableau EBOOL en élément de type DINT).
MOVE_INT_AREBOOL (conversion d'un élément de type INT en tableau EBOOL).
MOVE_DINT_AREBOOL (conversion d'un élément de type DINT en tableau EBOOL).
Représentation en FBD
Représentation appliquée à la conversion d'un tableau EBOOL en entier :
Représentation en LD
Représentation appliquée à la conversion d'un tableau EBOOL en entier :
33002520 09/2020
95
MOVE_***_***
Représentation en IL
Représentation appliquée à la conversion d'un tableau EBOOL en entier :
LD IN1
MOVE_AREBOOL_INT OUT1
Représentation en ST
Représentation appliquée à la conversion d'un tableau EBOOL en entier :
MOVE_AREBOOL_INT(IN1, OUT1);
Description des paramètres
Le tableau suivant décrit le paramètre d'entrée :
Paramètre
Type
Commentaire
IN1
INT,
DINT,
ARRAY [n..m] OF EBOOL.
n et m sont des entiers positifs, négatifs ou
nuls.
Le tableau suivant décrit le paramètre de sortie :
96
Paramètre
Type
Commentaire
OUT1
INT,
DINT,
ARRAY [n..m] OF EBOOL.
Lorsque IN1 est un tableau EBOOL, OUT1 est
un élément de type INT ou DINT contenant les
éléments IN1.
Lorsque IN1 n'est pas un tableau, OUT1 est
un entier simple ou double, converti à partir
d'un tableau booléen.
33002520 09/2020
EcoStruxure™ Control Expert
MUL_***_***
33002520 09/2020
Chapitre 18
MUL_***_*** : multiplication de tableaux
MUL_***_*** : multiplication de tableaux
Description
Description de la fonction
La fonction MUL_***_*** effectue la multiplication :

des éléments d'un tableau par un nombre,

des éléments d'un tableau par les éléments correspondants d'un autre tableau.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles pour multiplier les éléments d'un tableau par un nombre sont les
suivantes :


MUL_ARINT_INT,
MUL_ARDINT_DINT.
Les fonctions disponibles pour multiplier les éléments d'un tableau par les éléments
correspondants d'un autre tableau sont les suivantes :


MUL_ARINT,
MUL_ARDINT.
Représentation en FBD
Représentation appliquée à la multiplication des éléments d'un tableau d'entiers par un entier :
33002520 09/2020
97
MUL_***_***
Représentation en LD
Représentation appliquée à la multiplication des éléments d'un tableau d'entiers par un entier :
Représentation en IL
Représentation appliquée à la multiplication des éléments d'un tableau d'entiers par un entier :
LD Input_IN1
MUL_ARINT_INT Input_IN2
ST Array1
Représentation en ST
Représentation appliquée à la multiplication d'un entier par les éléments d'un tableau d'entiers :
Array1:= MUL_ARINT_INT(Input_IN1,Input_IN2);
98
33002520 09/2020
MUL_***_***
Description des paramètres
Le tableau suivant décrit les paramètres d'entrée :
Paramètre
Type
Commentaire
Input_IN1
INT,
DINT,
ARRAY [n..m] OF INT,
ARRAY [n..m] OF DINT
Input_IN1 est un entier simple ou double, ou
un tableau d'entiers simples ou doubles ; n et m
sont des entiers positifs, négatifs ou nuls.
Input_IN2
INT,
DINT,
ARRAY [n..m] OF INT,
ARRAY [n..m] OF DINT
Input_IN2 est un entier simple ou double, ou
un tableau d'entiers simples ou doubles ; n et m
sont des entiers positifs, négatifs ou nuls.
Le tableau suivant décrit le paramètre de sortie :
Paramètre
Type
Commentaire
Array1
ARRAY [n..m] OF INT
ARRAY [n..m] OF DINT
Selon le type de Input_IN1 et Input_IN2,
chaque élément de Array1 correspond à la
multiplication :
 d'un entier simple ou double Input_IN1 par
l'élément correspondant du tableau
Input_IN2 ou d'un autre,
 des éléments du tableau Input_IN1 par
des entiers simples ou doubles Input_IN2
ou autres,
 des éléments du tableau Input_IN1 par les
éléments correspondants du tableau
Input_IN2.
Erreurs d'exécution
La gestion du bit système %S18 est identique à celle des opérations réalisées sur les mots ou les
mots doubles.
Si une opération entre deux éléments active le bit %S18 (dépassement ou division par zéro), le
résultat de cette opération est incorrect, mais l'opération sur les éléments suivants est
correctement exécutée.
33002520 09/2020
99
MUL_***_***
100
33002520 09/2020
EcoStruxure™ Control Expert
NOT_***
33002520 09/2020
Chapitre 19
NOT_*** : négation logique de tableaux
NOT_*** : négation logique de tableaux
Description
Description de la fonction
La fonction NOT_*** effectue une négation logique (bit à bit) de tous les éléments d'un tableau.
NOTE : Le résultat est toujours un tableau.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles sont les suivantes :
 NOT_AREBOOL,
 NOT_ARWORD,
 NOT_ARDWORD.
Les fonctions disponibles dans la bibliothèque Obsolète sont les suivantes :


NOT_ARINT (négation logique de chaque élément d'un tableau INT).
NOT_ARDINT (négation logique de chaque élément d'un tableau DINT).
Par exemple : %M11:3 := NOT_AREBOOL (%M1:3);
où %M1 est 1, %M2 est 0 et %M3 est 1, puis %M11 sera 0, %M12 sera 1 et %M13 sera 0.
Représentation en FBD
Représentation appliquée à une chaîne de 16 bits :
33002520 09/2020
101
NOT_***
Représentation en LD
Représentation appliquée à une chaîne de 16 bits :
Représentation en IL
Représentation appliquée à une chaîne de 16 bits :
LD Array1
NOT_ARWORD
ST Result_Array
Représentation en ST
Représentation appliquée à une chaîne de 16 bits :
Result_Array:= NOT_ARWORD(Array1);
Description des paramètres
Le tableau suivant décrit le paramètre d'entrée :
Paramètre
Type
Commentaire
Array1
ARRAY [n..m] OF EBOOL,
ARRAY [n..m] OF WORD,
ARRAY [n..m] OF DWORD
n et m sont des entiers positifs, négatifs ou
nuls.
Le tableau suivant décrit le paramètre de sortie :
102
Paramètre
Type
Commentaire
Result_Array
ARRAY [n..m] OF EBOOL,
ARRAY [n..m] OF WORD,
ARRAY [n..m] OF DWORD
Les éléments de Result_Array sont le
résultat de l'opération NON logique (bit à
bit) sur Array1.
Du même type que les éléments du
tableau Array 1.
33002520 09/2020
EcoStruxure™ Control Expert
OCCUR_***
33002520 09/2020
Chapitre 20
OCCUR_*** : nombre d'occurrences d'une valeur dans un tableau
OCCUR_*** : nombre d'occurrences d'une valeur dans un
tableau
Description
Description de la fonction
La fonction OCCUR_*** renseigne sur le nombre d'éléments d'un tableau qui sont égaux à une
valeur donnée.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles sont les suivantes :
OCCUR_ARWORD,
 OCCUR_ARDWORD,
 OCCUR_ARINT,
 OCCUR_ARDINT,
 OCCUR_ARREAL.

Représentation en FBD
Représentation appliquée à un tableau d'entiers :
33002520 09/2020
103
OCCUR_***
Représentation en LD
Représentation appliquée à un tableau d'entiers :
Représentation en IL
Représentation appliquée à un tableau d'entiers :
LD Array1
OCCUR_ARINT Value1
ST Occur_Number
Représentation en ST
Représentation appliquée à un tableau d'entiers :
Occur_Number:= OCCUR_ARINT(Array1,Value1);
Description des paramètres
Le tableau suivant décrit les paramètres d'entrée :
Paramètre
Type
Commentaire
Array1
ARRAY [n..m] OF WORD,
ARRAY [n..m] OF DWORD,
ARRAY [n..m] OF INT,
ARRAY [n..m] OF DINT
ARRAY [n..m] OF REAL
n et m sont des entiers positifs, négatifs ou nuls.
Value1
WORD,
DWORD,
INT,
DINT,
REAL
Valeur dont nous souhaitons connaître le nombre
d'occurrences dans le tableau Array1.
Du même type que les éléments du tableau Array 1.
Le tableau suivant décrit le paramètre de sortie :
Paramètre
Type
Occur_Number INT
104
Commentaire
Nombre d'occurrences de Value1 dans le tableau Array1.
33002520 09/2020
EcoStruxure™ Control Expert
OR_***_***
33002520 09/2020
Chapitre 21
OR_***_*** : OU logique entre des tableaux et des variables
OR_***_*** : OU logique entre des tableaux et des variables
Description
Description de la fonction
La fonction OR_***_*** effectue une opération OU logique (bit à bit) entre :



les éléments de deux tableaux,
une variable de type simple et les éléments d'un tableau,
les éléments d'un tableau et une variable de type simple.
NOTE : Le résultat est toujours un tableau.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles dans la bibliothèque générale sont les suivantes :





OR_AREBOOL (OU logique entre deux tableaux BOOL).
OR_ARWORD (OU logique entre deux tableaux WORD).
AND_ARWORD_WORD (OU logique entre chaque élément d'un tableau WORD et un élément de
type WORD).
OR_ARDWORD_DWORD (OU logique entre chaque élément d'un tableau DWORD et un élément
de type DWORD).
OR_ARDWORD (OU logique entre deux tableaux DWORD).
Les fonctions disponibles dans la bibliothèque Obsolète sont les suivantes :




OR_ARINT_INT (OU logique entre chaque élément d'un tableau INT et un élément de type
INT).
OR_ARDINT_DINT (OU logique entre chaque élément d'un tableau DINT et un élément de type
DINT).
OR_ARINT (OU logique entre chaque élément d'un tableau INT et chaque élément
correspondant à un autre tableau INT).
OR_ARDINT (OU logique entre chaque élément d'un tableau DINT et chaque élément
correspondant à un autre tableau DINT).
33002520 09/2020
105
OR_***_***
Représentation en FBD
Représentation appliquée à un tableau de chaînes de 16 bits et une chaîne de 16 bits :
Représentation en LD
Représentation appliquée à un tableau de chaînes de 16 bits et une chaîne de 16 bits :
Représentation en IL
Représentation appliquée à un tableau de chaînes de 16 bits et une chaîne de 16 bits :
LD IN1
OR_ARWORD_WORD Input_IN2
ST Array1
Représentation en ST
Représentation appliquée à une chaîne de 16 bits et un tableau de chaînes de 16 bits :
Array1:= OR_ARWORD_WORD(Input_IN1,Input_IN2);
106
33002520 09/2020
OR_***_***
Description des paramètres
Le tableau suivant décrit les paramètres d'entrée :
Paramètre
Type
Commentaire
Input_IN1
ARRAY [n..m] OF BOOL,
ARRAY [n..m] OF WORD,
ARRAY [n..m] OF DWORD,
ARRAY [n..m] OF INT,
ARRAY [n..m] OF DINT
n et m sont des entiers positifs, négatifs ou
nuls.
Input_IN2
WORD,
DWORD,
INT,
DINT,
ARRAY [n..m] OF BOOL,
ARRAY [n..m] OF WORD,
ARRAY [n..m] OF DWORD,
ARRAY [n..m] OF INT,
ARRAY [n..m] OF DINT
n et m sont des entiers positifs, négatifs ou
nuls.
Le tableau suivant décrit le paramètre de sortie :
Paramètre
Type
Commentaire
Array1
ARRAY [n..m] OF BOOL,
ARRAY [n..m] OF WORD,
ARRAY [n..m] OF DWORD,
ARRAY [n..m] OF INT,
ARRAY [n..m] OF DINT
Les éléments de Array1 sont le résultat de
l'opération OU logique (bit à bit) entre
Input_IN1 et Input_IN2 qui peuvent être
respectivement :
 un tableau et une variable simple,
 un tableau et un tableau.
33002520 09/2020
107
OR_***_***
108
33002520 09/2020
EcoStruxure™ Control Expert
ROL_***
33002520 09/2020
Chapitre 22
ROL_*** : décalage circulaire vers la gauche
ROL_*** : décalage circulaire vers la gauche
Description
Description de la fonction
La fonction ROL_*** décale de manière circulaire les éléments d'un tableau, dans le sens
croissant des index.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles dans la bibliothèque générale sont les suivantes :





ROL_ARWORD,
ROL_ARDWORD,
ROL_ARINT,
ROL_ARDINT,
ROL_ARREAL.
Représentation en FBD
Représentation appliquée à un tableau d'entiers :
33002520 09/2020
109
ROL_***
Représentation en LD
Représentation appliquée à un tableau d'entiers :
Représentation en IL
Représentation appliquée à un tableau d'entiers :
LD Positions
ROL_ARINT Array1
Représentation en ST
Représentation appliquée à un tableau d'entiers :
ROL_ARINT(Positions, Array1);
Description des paramètres
Le tableau suivant décrit le paramètre d'entrée :
Paramètre
Type
Commentaire
Positions
INT
Valeur de décalage selon les index croissants du tableau.
Exemple : Positions = 2.
Remarque : Si la valeur de Positions est négative ou nulle, aucun
décalage n'est effectué.
Le tableau suivant décrit les paramètres d'E/S :
110
Paramètre
Type
Commentaire
Array1
ARRAY [n..m] OF WORD,
ARRAY [n..m] OF DWORD,
ARRAY [n..m] OF INT,
ARRAY [n..m] OF DINT
ARRAY [n..m] OF REAL
Les éléments de Array1 sont déplacés d'un certain nombre de
positions égal à Positions. Le décalage est effectué selon les
index croissants.
Exemple : Avec un registre de décalage de 2, l'élément situé à la
première position passe à la troisième position (1+2), le deuxième
à la quatrième (2+2)..., l'avant-dernier à la première et le dernier à
la deuxième.
33002520 09/2020
EcoStruxure™ Control Expert
ROR_***
33002520 09/2020
Chapitre 23
ROR_*** : décalage circulaire vers la droite
ROR_*** : décalage circulaire vers la droite
Description
Description de la fonction
La fonction ROR_*** décale de manière circulaire les éléments d'un tableau, dans le sens
décroissant des index.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles dans la bibliothèque générale sont les suivantes :





ROR_ARWORD,
ROR_ARDWORD,
ROR_ARINT,
ROR_ARDINT.
ROR_ARREAL.
Représentation en FBD
Représentation appliquée à un tableau d'entiers :
Représentation en LD
Représentation appliquée à un tableau d'entiers :
33002520 09/2020
111
ROR_***
Représentation en IL
Représentation appliquée à un tableau d'entiers :
LD Positions
ROR_ARINT Array1
Représentation en ST
Représentation appliquée à un tableau d'entiers :
ROR_ARINT(Positions, Array1);
Description des paramètres
Le tableau suivant décrit le paramètre d'entrée :
Paramètre
Type
Commentaire
Positions
INT
Valeur de décalage selon les index décroissants du tableau.
Exemple : Positions = 2.
Remarque : Si la valeur de Positions est négative ou nulle,
aucun décalage n'est effectué.
Le tableau suivant décrit les paramètres d'E/S :
112
Paramètre
Type
Commentaire
Array1
ARRAY [n..m] OF WORD,
ARRAY [n..m] OF DWORD,
ARRAY [n..m] OF INT,
ARRAY [n..m] OF DINT
ARRAY [n..m] OF REAL
Les éléments de Array1 sont déplacés d'un certain nombre de
positions égal à Positions. Le décalage est effectué selon les
index décroissants.
Exemple : Avec un registre de décalage de 2, l'élément situé à la
première position passe à l'avant-dernière position, le deuxième à
la dernière, le troisième à la première (3-2), le quatrième à la
deuxième (4-2), etc.
33002520 09/2020
EcoStruxure™ Control Expert
SORT_***
33002520 09/2020
Chapitre 24
SORT_*** : tri croissant ou décroissant
SORT_*** : tri croissant ou décroissant
Description
Description de la fonction
La fonction SORT_*** trie un tableau par ordre croissant ou décroissant et classe les éléments
triés dans ce même tableau.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles sont les suivantes :
 SORT_ARWORD,
 SORT_ARDWORD,
 SORT_ARINT,
 SORT_ARDINT,
 SORT_ARREAL.
Représentation en FBD
Représentation appliquée à un tableau d'entiers :
Représentation en LD
Représentation appliquée à un tableau d'entiers :
33002520 09/2020
113
SORT_***
Représentation en IL
Représentation appliquée à un tableau d'entiers :
LD Direction
SORT_ARINT Array1
Représentation en ST
Représentation appliquée à un tableau d'entiers :
SORT_ARINT(Direction, Array1);
Description des paramètres
Le tableau suivant décrit le paramètre d'entrée :
Paramètre
Type
Commentaire
Direction
INT
Sens du tri à effectuer :
 Direction ≥ 0 : tri croissant,
 Direction < 0 : tri décroissant.
Le tableau suivant décrit les paramètres d'E/S :
114
Paramètre
Type
Commentaire
Array1
ARRAY [n..m] OF WORD,
ARRAY [n..m] OF DWORD,
ARRAY [n..m] OF INT,
ARRAY [n..m] OF DINT
ARRAY [n..m] OF REAL
Tableau trié dans le sens spécifié dans
Direction ; n et m sont des entiers positifs,
négatifs ou nuls.
33002520 09/2020
EcoStruxure™ Control Expert
SUB_***_***
33002520 09/2020
Chapitre 25
SUB_***_*** : soustraction de tableaux
SUB_***_*** : soustraction de tableaux
Description
Description de la fonction
La fonction SUB_***_*** soustrait :

les éléments d'un tableau à un nombre,
un nombre aux éléments d'un tableau,

les éléments d'un tableau aux éléments correspondants d'un autre tableau.

Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles pour soustraire les éléments d'un tableau à un nombre ou soustraire un
nombre aux éléments d'un tableau sont les suivantes :




SUB_INT_ARINT (soustraction de chaque élément d'un tableau INT à une valeur de type INT).
SUB_DINT_ARDINT (soustraction de chaque élément d'un tableau de données DINT à une
valeur de type DINT).
SUB_ARINT_INT (soustraction d'une valeur de type INT aux éléments d'un tableau INT).
SUB_ARDINT_DINT (soustraction d'une valeur de type DINT aux éléments d'un tableau DINT).
Les fonctions disponibles pour soustraire les éléments d'un tableau aux éléments correspondants
d'un autre tableau sont les suivantes :


SUB_ARINT (soustraction des éléments correspondants des deux tableaux INT).
SUB_ARDINT (soustraction des éléments correspondants des deux tableaux DINT).
Représentation en FBD
Représentation appliquée à la soustraction des éléments d'un tableau d'entiers à un entier :
33002520 09/2020
115
SUB_***_***
Représentation en LD
Représentation appliquée à la soustraction des éléments d'un tableau d'entiers à un entier :
Représentation en IL
Représentation appliquée à la soustraction des éléments d'un tableau d'entiers à un entier :
LD Input_IN1
SUB_INT_ARINT Input_IN2
ST Array1
Représentation en ST
Représentation appliquée à la soustraction des éléments d'un tableau d'entiers à un entier :
Array1:= SUB_INT_ARINT(Input_IN1,Input_IN2);
116
33002520 09/2020
SUB_***_***
Description des paramètres
Le tableau suivant décrit les paramètres d'entrée :
Paramètre
Type
Commentaire
Input_IN1
INT,
DINT,
ARRAY [n..m] OF INT,
ARRAY [n..m] OF DINT
Input_IN1 est un entier simple ou double, ou
un tableau d'entiers simples ou doubles ; n et m
sont des entiers positifs, négatifs ou nuls.
Input_IN2
INT,
DINT,
ARRAY [n..m] OF INT,
ARRAY [n..m] OF DINT
Input_ IN2 est un entier simple ou double, ou
un tableau d'entiers simples ou doubles ; n et m
sont des entiers positifs, négatifs ou nuls.
Le tableau suivant décrit le paramètre de sortie :
Paramètre
Type
Commentaire
Array1
ARRAY [n..m] OF INT
ARRAY [n..m] OF DINT
Selon le type de Input_IN1 et Input_IN2,
chaque élément de Array1 correspond à la
soustraction :
 d'un entier simple ou double Input_IN1 par
l'élément correspondant du tableau
Input_IN2 ou d'un autre,
 des éléments du tableau Input_IN1 par un
entier simple ou double Input_IN2 ou
autre,
 des éléments du tableau Input_IN1 par les
éléments correspondants du tableau
Input_IN2.
Erreurs d'exécution
La gestion du bit système %S18 est identique à celle des opérations réalisées sur les mots ou les
mots doubles.
Si une opération entre deux éléments active le bit %S18 (dépassement ou division par zéro), le
résultat de cette opération est incorrect, mais l'opération sur les éléments suivants est
correctement exécutée.
33002520 09/2020
117
SUB_***_***
118
33002520 09/2020
EcoStruxure™ Control Expert
SUM_***
33002520 09/2020
Chapitre 26
SUM_*** : somme des éléments d'un tableau
SUM_*** : somme des éléments d'un tableau
Description
Description de la fonction
La fonction SUM_*** calcule la somme des éléments d'un tableau.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles sont les suivantes :
SUM_ARINT,
 SUM_ARDINT,
 SUM_ARREAL.

Formule
La formule est la suivante :
Description :
Elément
Signification
Array1
Tableau déclaré de la manière suivante :
ARRAY [n..m] OF ...
Représentation en FBD
Représentation appliquée à un tableau d'entiers :
33002520 09/2020
119
SUM_***
Représentation en LD
Représentation appliquée à un tableau d'entiers :
Représentation en IL
Représentation appliquée à un tableau d'entiers :
LD Array1
SUM_ARINT
ST Sum1
Représentation en ST
Représentation appliquée à un tableau d'entiers :
Sum1:= SUM_ARINT(Array1);
Description des paramètres
Le tableau suivant décrit le paramètre d'entrée :
Paramètre
Type
Array1
Commentaire
ARRAY [n..m] OF INT Tableaux d'entiers simples ou doubles ou
ARRAY [n..m] OF DINT tableaux de données de type REAL, n et m sont
ARRAY [n..m] OF REAL des entiers positifs, négatifs ou nuls.
Le tableau suivant décrit le paramètre de sortie :
Paramètre
Type
Commentaire
Sum1
INT, DINT, REAL
Somme des éléments d'un tableau affectés en
entrée. La somme est du même type que les
éléments du tableau.
Erreurs d'exécution
Lorsque le tableau contient une valeur incorrecte, la somme de ses éléments est 0.0 et le bit %S18
est sur 1.
Lorsque la somme des éléments est supérieure à la valeur maximum autorisée, sa valeur devient
1.#INF et le bit %S18 est sur 1
120
33002520 09/2020
EcoStruxure™ Control Expert
SWAP_***
33002520 09/2020
Chapitre 27
SWAP_*** : permutation des octets d'un tableau
SWAP_*** : permutation des octets d'un tableau
Description
Description de la fonction
La fonction SWAP_*** effectue une permutation des octets de poids faible et de poids fort des
éléments d'un tableau.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles sont les suivantes :
 SWAP_ARINT,
 SWAP_ARWORD.
Représentation en FBD
Représentation appliquée à un tableau d'entiers :
Représentation en LD
Représentation appliquée à un tableau d'entiers :
Représentation en IL
Représentation appliquée à un tableau d'entiers :
LD Array1
SWAP_ARINT
33002520 09/2020
121
SWAP_***
Représentation en ST
Représentation appliquée à un tableau d'entiers :
SWAP_ARINT(Array1);
Description des paramètres
Le tableau suivant décrit les paramètres d'E/S :
122
Paramètre
Type
Commentaire
Array1
ARRAY [n..m] OF INT
ARRAY [n..m] OF WORD
n et m sont des entiers positifs, négatifs ou nuls.
En sortie, les octets de Array1 ont été
permutés.
33002520 09/2020
EcoStruxure™ Control Expert
XOR_***_***
33002520 09/2020
Chapitre 28
XOR_***_*** : OU exclusif entre des tableaux
XOR_***_*** : OU exclusif entre des tableaux
Description
Description de la fonction
La fonction XOR_***_*** effectue une opération OU logique exclusif (bit à bit) entre :



les éléments de deux tableaux,
une variable de type simple et les éléments d'un tableau,
les éléments d'un tableau et une variable de type simple.
NOTE : Le résultat est toujours un tableau.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles dans la bibliothèque générale sont les suivantes :





XOR_AREBOOL (OU logique exclusif entre deux tableaux BOOL).
XOR_ARWORD (OU logique exclusif entre deux tableaux WORD).
XOR_ARWORD_WORD (OU logique exclusif entre chaque élément d'un tableau WORD et un
élément de type WORD).
XOR_ARDWORD_WORD (OU logique exclusif de chaque élément d'un tableau DWORD avec un
élément de type DWORD).
XOR_ARDWORD (OU logique exclusif entre deux tableaux DWORD).
Les fonctions disponibles dans la bibliothèque Obsolète sont les suivantes :




XOR_ARINT_INT (OU logique exclusif entre chaque élément d'un tableau INT et un élément de
type INT).
XOR_ARDINT_DINT (OU logique exclusif entre chaque élément d'un tableau DINT et un
élément de type DINT).
XOR_ARINT (OU logique exclusif entre chaque élément d'un tableau INT et chaque élément
correspondant à un autre tableau INT).
XOR_ARDINT (OU logique exclusif entre chaque élément d'un tableau DINT et chaque élément
correspondant à un autre tableau DINT).
33002520 09/2020
123
XOR_***_***
Représentation en FBD
Représentation appliquée à un tableau de chaînes de 16 bits et une chaîne de 16 bits :
Représentation en LD
Représentation appliquée à un tableau de chaînes de 16 bits et une chaîne de 16 bits :
Représentation en IL
Représentation appliquée à un tableau de chaînes de 16 bits et une chaîne de 16 bits :
LD Input_IN1
XOR_ARWORD_WORD Input_IN2
ST Array1
Représentation en ST
Représentation appliquée à un tableau de chaînes de 16 bits et une chaîne de 16 bits :
Array1:= XOR_ARWORD_WORD(Input_IN1,Input_IN2);
124
33002520 09/2020
XOR_***_***
Description des paramètres
Le tableau suivant décrit les paramètres d'entrée :
Paramètre
Type
Commentaire
Input_IN1
ARRAY [n..m] OF BOOL,
ARRAY [n..m] OF WORD,
ARRAY [n..m] OF DWORD,
ARRAY [n..m] OF INT,
ARRAY [n..m] OF DINT
n et m sont des entiers positifs, négatifs ou
nuls.
Input_IN2
WORD,
DWORD,
INT,
DINT,
ARRAY [n..m] OF BOOL,
ARRAY [n..m] OF WORD,
ARRAY [n..m] OF DWORD,
ARRAY [n..m] OF INT,
ARRAY [n..m] OF DINT
n et m sont des entiers positifs, négatifs ou
nuls.
Le tableau suivant décrit le paramètre de sortie :
Paramètre
Type
Commentaire
Array1
ARRAY [n..m] OF BOOL,
ARRAY [n..m] OF WORD,
ARRAY [n..m] OF DWORD,
ARRAY [n..m] OF INT,
ARRAY [n..m] OF DINT
Les éléments de Array1 sont le résultat de
l'opération OU logique exclusif (bit à bit) entre
Input_ IN1 et Input_IN2, qui peuvent être
respectivement :
 un tableau et une variable simple,
 une variable simple et un tableau,
 un tableau et un tableau.
33002520 09/2020
125
XOR_***_***
126
33002520 09/2020
EcoStruxure™ Control Expert
CLC_INT
33002520 09/2020
Partie III
CLC_INT
CLC_INT
Vue d'ensemble
Cette section décrit les fonctions et blocs fonction élémentaires de la famille CLC_INT.
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
Titre du chapitre
Page
29
Introduction aux fonctions de régulation d'entiers
129
30
PID_INT : automate PID
135
31
PWM_INT : modulation de largeur d'impulsion d'une valeur numérique
143
32
SERVO_INT : fonction de variateur
147
33002520 09/2020
127
CLC_INT
128
33002520 09/2020
EcoStruxure™ Control Expert
Introduction aux fonctions élémentaires (FE) de régulation
33002520 09/2020
Chapitre 29
Introduction aux fonctions de régulation d'entiers
Introduction aux fonctions de régulation d'entiers
Objet de ce chapitre
Ce chapitre fournit les notions de base nécessaires pour l'utilisation et la mise en œuvre des
fonctions de régulation d'entiers suivantes :



PID_INT,
PWM_INT,
SERVO_INT.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Présentation générale
130
Principe de la boucle de régulation
131
Méthodologie de développement d’une application de régulation
132
Programmation d'une fonction de régulation
133
Comportement des fonctions dans les modes de marche
134
33002520 09/2020
129
Introduction aux fonctions élémentaires (FE) de régulation
Présentation générale
Généralités
Les fonctions de régulation sont des éléments de base du langage.
Elles permettent de programmer des boucles de régulation.
Ces fonctions sont particulièrement adaptées pour :



répondre aux besoins de process séquentiel nécessitant des fonctions de régulation auxiliaire
(exemples : machines d’emballage à film plastique, machines de traitement de surface,
presses...),
répondre aux besoins des process de régulation simple (exemples : fours de traitements de
métaux, fours à céramiques, petits groupes frigorifiques...),
répondre à des particularités d’asservissement ou de régulation mécanique dont le temps
d’échantillonnage est critique (exemples: régulation de couple, régulation de vitesse).
NOTE : Il n'y a pas de limitation du nombre de fonctions PID_INT dans une application. En
pratique, c'est le nombre maximal de modules d'entrées et de sorties accepté par l'automate qui
limite le nombre de boucles.
Fonctions disponibles
Les fonctions de régulation de base sont les suivantes :



130
fonction PID_INT pour réaliser une correction de type PID_INT mixte (série - parallèle),
fonction PWM_INT pour réaliser les adaptations de modulation en durée sur sorties TOR,
fonction SERVO_INT pour réaliser les adaptations de commande de moteur.
33002520 09/2020
Introduction aux fonctions élémentaires (FE) de régulation
Principe de la boucle de régulation
Présentation
Le fonctionnement d’une boucle de régulation comprend trois phases distinctes :

l’acquisition des données :
 mesure(s) provenant des capteurs du process (analogiques, codeurs),
 consigne(s) provenant généralement de variables internes de l’automate ou de données
issues du terminal opérateur.

l’exécution de l’algorithme de régulation PID,
l’envoi des commandes adaptées aux caractéristiques des actionneurs à piloter via des sorties
TOR ou analogiques.

L’algorithme PID élabore le signal de commande à partir :



de la mesure échantillonnée par le module d’entrée,
de la valeur de la consigne fixée soit par l’opérateur, soit par le programme,
des valeurs des différents paramètres du correcteur.
Le signal issu du correcteur est soit traité directement par une carte de sortie analogique de
l’automate raccordé à l’actionneur, soit traité via les adaptations PWM ou SERVO en fonction des
types d’actionneur à piloter sur une carte de sortie TOR de l’automate.
Illustration
L’illustration ci-dessous schématise le principe d’une boucle de régulation.
33002520 09/2020
131
Introduction aux fonctions élémentaires (FE) de régulation
Méthodologie de développement d’une application de régulation
Schéma de principe
Le schéma ci-dessous décrit l’enchaînement des tâches à effectuer lors de la création et la mise
au point d’une application de régulation (l’ordre défini est donné à titre indicatif).
132
33002520 09/2020
Introduction aux fonctions élémentaires (FE) de régulation
Programmation d'une fonction de régulation
Règles de programmation
Tous les paramètres de la fonction de régulation doivent être renseignés. Ces fonctions utilisent
trois sortes de paramètres :
 paramètres en lecture seule, pris en compte au début de l'exécution de la fonction,
 paramètres en écriture seule, positionnés en conclusion de l'exécution de la fonction,
 les paramètres en lecture et en écriture dont le contenu est pris en compte au début de
l'exécution de la fonction sont ensuite mis à jour par les résultats de la fonction.
NOTE : Les fonctions de régulation doivent être programmées dans une tâche périodique (MAST
ou FAST). Elles ne fonctionnent pas dans une configuration de tâche MAST cyclique. La section
de logique contenant ces fonctions ne doit pas faire l'objet de conditions.
Paramétrage
Les paramètres d'entrée de type mot sont des dimensions analogiques exprimées sur l'échelle [0,
+10000] et peuvent être directement liés à des capteurs de mesure via les mots %IWr.m.c des
entrées analogiques.
Les paramètres de sortie de type bit peuvent être utilisés pour contrôler des actionneurs TOR et
ils peuvent être directement liés aux variables de type %Qr.m.c.
De la même manière, les paramètres de sortie de type mot peuvent être utilisés pour contrôler des
actionneurs analogiques sur l'échelle [0, +10000] et peuvent être directement affectés à des
variables de type %QWr.m.c.
Les paramètres de type tableau d'entiers ARRAY [0..n] OF INT ou %MWi:L contiennent les
paramètres et données utilisateur nécessaires au fonctionnement interne de la fonction.
Si la longueur d'un tableau n'est pas suffisante, la fonction n'est pas exécutée.
NOTE : Pour maintenir les paramètres d'ajustement de la régulation sur la fonction de démarrage
à froid, il est nécessaire de supprimer l'option de remise à zéro de %MWi (dans l'écran de
configuration du processeur).
33002520 09/2020
133
Introduction aux fonctions élémentaires (FE) de régulation
Comportement des fonctions dans les modes de marche
Introduction
Ce paragraphe décrit le comportement des fonctions dans les différents cas de démarrage :
démarrage à froid (nouvelle application, changement de cartouche…),
 reprise à chaud (retour secteur, sans changement de contexte application),
 première exécution après ajout d'une fonction par modification en connecté.

Démarrage à froid
Ce type de démarrage intervient pour une nouvelle application, un changement de cartouche
Sur démarrage à froid, l'automate peut démarrer automatiquement en RUN (selon la configuration
de l'application). Les fonctions correcteurs ont un comportement sécurité : mode manuel, sorties
à 0. De plus cela permet de passer l'automate en RUN sans effectuer de réglage du PID, puis de
faire sa mise au point avec le terminal opérateur (le réglage ne peut se faire qu'en RUN).
Reprise à chaud
Ce type de reprise intervient pour un retour secteur, sans changement de contexte application.
Sur retour secteur après une coupure (indépendamment de sa durée) et si le contexte application
n'est pas perdu ou modifié, les fonctions repartent dans l'état avant coupure. Si l'utilisateur
souhaite un autre comportement, il est de sa responsabilité de tester le bit système %S1 et d'y
associer le traitement voulu (forçage en mode manuel…).
NOTE : L'horodateur de l'automate permet de connaître la durée de la dernière coupure.
Ajout en connecté d’un nouvel appel
Suite à l'ajout d'un nouvel appel de fonction de régulation en connecté, une initialisation identique
à celle du démarrage à froid est effectuée.
NOTE : Pour être vue comme une nouvelle fonction, celle-ci doit utiliser une nouvelle table de
paramètres. Donc le retrait d'une fonction PID_INT, suivi de l'ajout d'une fonction PID_INT
utilisant la même table de paramètres n'est pas considéré comme un ajout de nouveau PID. Dans
ce cas le PID s'exécute dans l'état et avec les paramètres du PID précédent.
134
33002520 09/2020
EcoStruxure™ Control Expert
PID_INT
33002520 09/2020
Chapitre 30
PID_INT : automate PID
PID_INT : automate PID
Objet de ce chapitre
Le présent chapitre décrit la fonction PID_INT.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Description de la fonction
136
Description des données dérivées
140
33002520 09/2020
135
PID_INT
Description de la fonction
Description de la fonction
La fonction PID_INT effectue une régulation de type PID sur des entrées et sorties de type INT.
La mesure et la consigne sont des données analogiques au format [0-10000] et génèrent une
commande analogique de même format.
La fonction élémentaire (EF) PID_INT comprend les fonctions suivantes :
algorithme PID série / parallèle,
 marche avant / arrière (en fonction du signe du gain KP),
 action dérivée d'une mesure ou d'une distance,
 limites haute et basse de la consigne à [0-10000],
 limites haute et basse de la sortie en mode automatique,
 anti-saturation de l'action intégrale,
 modes de fonctionnement manuel/automatique sans transition pas à pas,
 contrôle d'accès PID via l'interface homme-machine (IHM),
 fonctionnement en mode intégrateur pour KP = TD =0.

NOTE :
Les paramètres utilisés par le terminal opérateur sont affichés en unités physiques.
 Le bon fonctionnement de l'algorithme PID nécessite de rester dans l'échelle [0-1000] pour les
mesures et les consignes.
 La fonction PID doit être programmée dans une tâche MAST ou FAST périodique. Cette
fonction est inopérante dans une configuration de tâche MAST cyclique. La section de logique
contenant cette fonction ne doit pas être soumise à des conditions.

Les paramètres supplémentaires EN et ENO peuvent être configurés.
136
33002520 09/2020
PID_INT
Schéma de fonctionnement
Le schéma suivant illustre le fonctionnement de la fonction PID.
33002520 09/2020
137
PID_INT
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD Input_Tag
PID_INT Input_Unit, Input_PV, In_Out_Auto, In_Out_Para, PID_Out
Représentation en ST
Représentation :
PID_INT(Input_Tag, Input_Unit, Input_PV, In_Out_Auto, In_Out_Para,
PID_Out);
138
33002520 09/2020
PID_INT
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Input_Tag
STRING
Nom du PID utilisé par le terminal.
Chaîne de 8 caractères
Input_Unit
STRING
Unité de mesure utilisée par le terminal.
Chaîne de 6 caractères
Input_PV
INT
Entrée de mesure
Format de mesure [0..10000].
Le tableau suivant décrit les paramètres d'entrée/sortie :
Paramètre
Type
Commentaire
In_Out_Auto
EBOOL
Bit d'entrée/sortie qui indique et gère les modes
de fonctionnement de la fonction PID et du
terminal :
 0 : manuel
 1 : automatique
In_Out_Para
ARRAY [n..m] OF
INT
n et m sont des entiers positifs, négatifs ou nuls.
Tableau des paramètres d'entrée/sortie de la
fonction PID. Les 16 premières valeurs sont
décrites ci-après. Les autres valeurs sont
réservées au traitement interne.
Tableau de 43 entiers.
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
PID_Out
INT
Sortie analogique de la fonction PID. Si TI = 0,
un décalage de 5000 est ajouté à la sortie OUT
en mode automatique.
Format de sortie [0 ; +10000].
33002520 09/2020
139
PID_INT
Description des données dérivées
Description de la table PARA
Le tableau ci-dessous présente les différents paramètres de la table PARA :
Paramètre
Rang
Fonction
SP
PARA[0]
Consigne interne au format 0 - 10 000.
OUT_MAN
PARA[1]
Valeur de la sortie manuelle du PID (entre 0 et 10 000).
KP
PARA[2]
Gain proportionnel du PID (x100), signé sans unité (-10 000<KP<+10 000). Le
signe Kp détermine le sens de l'action du PID (négatif : avant, positif : arrière).
TI
PARA[3]
Le temps d'action intégrale du PID (entre 0 et 20 000) est indiqué en dixièmes
de seconde.
TD
PARA[4]
Le temps d'action dérivée du PID (entre 0 et 10 000) est indiqué en dixièmes
de seconde.
TS
PARA[5]
La période d'échantillonnage du PID (entre 1 et 32 000) est indiquée en
centièmes de seconde. La période d'échantillonnage réelle est le multiple de la
période de la tâche dans laquelle le PID le plus proche du TS est introduit.
OUT_MAX
PARA[6]
Limite supérieure de la sortie du PID en automatique (entre 0 et 10 000).
OUT_MIN
PARA[7]
Limite inférieure de la sortie du PID en automatique (entre 0 et 10 000).
PV_DEV
PARA[8].0
Choix d'action dérivée 0 = sur mesure, 1 = sur écart.
NO_BUMP
PARA[8].4
Mode sans à-coups ou par à-coups.
0 = par à-coups, 1 = sans à-coups.
PV_SUP*
PARA[9]
Limite supérieure de la plage des échelles de mesure, exprimée dans une unité
physique (x 100) (entre -9 999 999 et +9 999 999).
PV_INF*
PARA[11]
PARA[12]
Ces deux entiers sont, respectivement, le poids fort et le poids faible d'un entier
double, à savoir la limite inférieure de la plage des échelles de mesure,
exprimée dans une unité physique (x 100) (entre -9 999 999 et +9 999 999).
PV_MMI*
PARA[13]
PARA[14]
Ces deux entiers sont, respectivement, le poids fort et le poids faible d'un entier
double, à savoir l'image de la mesure, exprimée dans une unité
physique (x 100).
SP_MMI*
PARA[15]
PARA[16]
Ces deux entiers sont, respectivement, le poids fort et le poids faible d'un entier
double, à savoir la consigne opérateur et l'image de la consigne, exprimées
dans une unité physique (x 100).
* Valeur utilisée par le terminal opérateur.
140
33002520 09/2020
PID_INT
NOTE : Le paramètre PL7 parameter DEVAL_MMI n'est pas disponible dans Control Expert.
AVERTISSEMENT
FONCTIONNEMENT IMPREVU DE L'APPLICATION
Ne modifiez pas les paramètres utilisés par la gestion interne du PID par l'application.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
NOTE : les valeurs utilisées par le terminal sont multipliées par 100 pour obtenir un affichage à
2 décimales sur le terminal (le terminal n'utilise pas le format de virgule flottante, mais prend en
charge un format de virgule fixe).
Règles
Il n'existe pas d'alignement de consigne interne sur la mesure en mode manuel.
Les réglages de l'échelle ne surviennent qu'en cas de modification d'une des consignes (SP ou
DOP_SP).
L'algorithme sans l'action intégrale (TI = 0) exécute l'opération suivante :
Pour
Sortie
Avec
OUT = KP [
t+ Dt] / 100 + 5000
Dt = action dérivée
L'algorithme avec l'action intégrale (TI < 0) exécute l'opération suivante :
Pour
Sortie
Avec
OUT = KP [
= OUT +
t+(TS/10.TI).
t+
Dt]/100 OUT Dt = action dérivée
OUT
Lors d'un démarrage à froid, le PID redémarre en mode manuel, avec la sortie définie sur 0. Pour
imposer le mode automatique ou une sortie manuelle non définie sur 0 après un démarrage à froid,
vous devez programmer la séquence d'initialisation après l'appel PID.
33002520 09/2020
141
PID_INT
142
33002520 09/2020
EcoStruxure™ Control Expert
PWM_INT
33002520 09/2020
Chapitre 31
PWM_INT : modulation de largeur d'impulsion d'une valeur numérique
PWM_INT : modulation de largeur d'impulsion d'une valeur
numérique
Description
Description de la fonction
La fonction PWM_INT assure la régulation de largeur d'impulsion sur une sortie TOR. C'est une
fonction qui formate une sortie PID.
La largeur d'impulsion dépend de la sortie de PID (entrée INP de la fonction PWM) et de la
périodicité de modulation.
NOTE : La fonction PWM_INT doit être programmée dans une tâche MAST ou FAST périodique.
Cette fonction est inopérante dans une configuration de tâche MAST cyclique. La section de
logique contenant cette fonction ne doit pas être soumise à des conditions.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Schéma de fonctionnement
Le schéma suivant illustre le principe de fonctionnement de la fonction PWM :
33002520 09/2020
143
PWM_INT
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD Input_Inp
PWM_INT In_Out_Para, PW_O_Out
Représentation en ST
Représentation :
PWM_INT(Input_INP, In_Out_Para, PW_O_Out);
144
33002520 09/2020
PWM_INT
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Input_INP
INT
Valeur analogique à moduler en largeur
d'impulsion (format [0 – 10000]).
Le tableau suivant décrit les paramètres d'entrée/sortie :
Paramètre
Type
Commentaire
In_Out_Para
ARRAY [n..m] OF
INT
n et m sont des entiers positifs, négatifs ou nuls.
Tableau des paramètres d'entrée et de sortie de
la fonction. Le premier mot correspond au
paramètre T_MOD.
Périodicité de modulation, exprimée en
centièmes de seconde (valeurs de 0 à 32767).
La valeur de T_MOD doit être supérieure ou égale
à la périodicité de la tâche en cours ; le système
l'ajuste pour qu'elle en soit un multiple entier.
Les entiers suivants sont utilisés en interne par la
fonction et ne doivent jamais être modifiés par
l'application.
Tableau de 5 entiers.
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
PW_O_Out
EBOOL
Sortie analogique de la fonction PID. Si TI = 0,
un décalage de 5000 est ajouté à la sortie OUT
en mode automatique.
33002520 09/2020
145
PWM_INT
Largeurs d'impulsion
Pour chaque Top de la période de modulation T_MOD, la période d'activation est calculée, en 10-3
secondes de la sortie PW_O_Out (PW_O), selon la formule suivante :
Etat 1 de l'écart (exprimé en 10-2 secondes) = INP * T_MOD / 1000
Le schéma chronologique suivant illustre cette formule :
Règles pratiques
T_MOD = TS (où TS est la période d'échantillonnage du PID amont).
La période de la tâche en cours (exprimée en 10-3 secondes) est égale à :
(Résolution requise)* 10 * T_MOD.
L'algorithme PID est dans la tâche MAST, dont la périodicité est 50*10-3 s, TS = 500*10-2 s et la
résolution requise est de 1/50 (une période T_MOD doit contenir au moins 50 périodes de la tâche
en cours).
On prend T_MOD = TS = 500.
La période de la tâche accueillant la fonction PWM doit être inférieure à
500 * 10 / 50 = 100 10-3 s.
La fonction PWM peut donc être programmée dans la tâche MAST.
La résolution sera 1/100.
146
33002520 09/2020
EcoStruxure™ Control Expert
SERVO_INT
33002520 09/2020
Chapitre 32
SERVO_INT : fonction de variateur
SERVO_INT : fonction de variateur
Description
Description de la fonction
La fonction SERVO_INT réalise une régulation avec un actionneur de type moteur piloté par
deux sorties TOR (UP et DOWN).
NOTE :
 La fonction SERVO_INT doit être programmée dans une tâche MAST ou FAST périodique.
Cette fonction est inopérante dans une configuration de tâche MAST cyclique. La section de
logique contenant cette fonction ne doit pas être soumise à des conditions.
 Elle doit être obligatoirement connectée en cascade avec la sortie analogique d'un PID. Elle ne
peut être utilisée seule.
Lorsqu'une recopie de position existe, un asservissement de la position de la vanne est effectué,
à partir des entrées Input_Inp (consigne) et Input_Pot (mesure de position).
Lorsque la recopie n'existe pas physiquement, l'algorithme n'utilise plus la sortie absolue du PID
mais la variation de sortie. La sortie Out_Up (ou Out_Down, selon le signe de la variation) est mise
à 1 pendant un temps proportionnel au temps d'ouverture de l'actionneur et à la valeur de la
variation. De plus, on introduit la notion de temps minimum d'impulsion.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation :
33002520 09/2020
147
SERVO_INT
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD Input_Inp
SERVO_INT Input_Pot, In_Out_Pid, In_Out_Para, Out_Up, Out_Down
Représentation en ST
Représentation :
SERVO_INT(Input_Inp, Input_Pot, In_Out_Pid, In_Out_Para, Out_Up,
Out_Down);
148
33002520 09/2020
SERVO_INT
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Input_Inp
INT
Consigne de position (format [0-10000]) à connecter
obligatoirement à la sortie du PID.
Input_Pot
INT
Recopie de position (format [0-10000])
0 : vanne fermée ; 10000 : vanne ouverte.
Si la recopie n'existe pas, Input_POT doit être initialisé à -10000.
Cette valeur particulière indique l'absence de copie.
Le tableau suivant décrit les paramètres d'entrée/sortie :
Paramètre
Type
Commentaire
In_Out_Pid
ARRAY [n..m] OF
INT
n et m sont des entiers positifs, négatifs ou nuls.
Table de paramètres du PID amont (voir page 140), utilisé s'il n'y
a pas de mots de recopie pour la synchronisation avec le PID
amont.
Tableau de 43 entiers.
In_Out_Para
ARRAY [n..m] OF
INT
n et m sont des entiers positifs, négatifs ou nuls.
Les trois premiers paramètres sont utilisés si la recopie n'existe
pas (Input_POT = -10000) :
 In_Out_PARA[0], appelé aussi T_MOTOR, est le temps
d’ouverture de la vanne, exprimé en 10-2 s.
 In_Out_PARA[1], également appelé T_MINI, est
l'impulsion minimale exprimée en 10-2 s.
 In_Out_PARA[2], également appelé HYST est la valeur de
l’hystérésis au format [0–10000].
Remarque : les autres paramètres qui sont utilisés pour la gestion
interne de la fonction ne doivent jamais être modifiés par
l’application. Tous les paramètres sont obligatoires,
indépendamment du mode de fonctionnement.
Tableau de 10 entiers.
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Out_Up
EBOOL
Signal de sortie pour le sens de marche Out_Up du moteur.
Out_Down
EBOOL
Signal de sortie pour le sens de marche Out_Down du moteur.
33002520 09/2020
149
SERVO_INT
Principe de fonctionnement avec recopie de position
La fonction SERVO_INT effectue un asservissement de la position du moteur en fonction d'une
consigne de position Input_Inp (INP) issue de la sortie d'un PID au format [0 – 10000] et d'une
mesure de position Input_Pot (POT).
L'algorithme d'asservissement est un relais avec hystérésis.
Dans ce cas, les paramètres PID, T_MOTOR et T_MINI ne sont pas utilisés.
Principe de fonctionnement sans recopie de position (POT= –10000)
Dans ce cas, la fonction SERVO_INT se synchronise avec le PID en amont par le biais de la table
des paramètres du PID transmise en paramètre à la fonction SERVO_INT.
L'algorithme reçoit en entrée la variation de sortie du PID et la convertit en durée d'impulsion, selon
la formule :
T_IMP (exprimé en 10-3 s) = OUT x T_MOTOR / 1000
La durée obtenue est ajoutée à la durée restante des cycles précédents. En fait, ce qui n'est pas
consommé dans un cycle est mémorisé pour les cycles suivants. Ceci garantit un fonctionnement
correct, notamment en cas de brusques variations dans la commande (par exemple, division
d'échelle de la consigne du PID) et en mode manuel.
150
33002520 09/2020
SERVO_INT
Exemple
L’exemple ci-dessous est réalisé en langage à contacts (Ladder) :
Repère
Description
1
La variation de la sortie du PID est +20 % (impulsion de T_MOTOR = 25 s pour une
variation de 100 %). Dans ce cas, l'impulsion affecte la sortie UP pendant une
durée de 5 s.
2
La variation du PID est de +2 %, ce qui correspondrait à une impulsion de 0,5 s.
Cette impulsion est inférieure à T_MINI (=1 s) et n'affecte pas les sorties.
3
Une seconde variation de +2 % apparaît. La fonction cumule cette variation avec
la précédente (qui correspondait à une variation inférieure à la valeur minimale),
ce qui donne une variation positive globale de +4 %, et donc une impulsion de 1 s
sur la sortie UP.
4
Une variation de -24 % apparaît et l'impulsion activée est donc de 6 s sur la sortie
DOWN.
5
Avant l'écoulement de la seconde suivante, une autre variation de +22 % ramène
le système à une variation globale de 2 %, inférieure à celle de T_MINI (4 %). La
fonction termine d'effectuer l'impulsion minimale de 1 s.
Remarque 1 : la fonction SERVO_INT ne gère pas les butées de position. Celles-ci doivent être
gérées par l'application. En cas de détection d'une butée, il faut forcer la sortie correspondante à 0
(UP pour la butée haute, DOWN pour la butée basse).
33002520 09/2020
151
SERVO_INT
Exemple : en langage LD
Remarque 2 : il est possible de basculer du mot de marche avec recopie vers le mode sans
recopie (par exemple, passer en mode sans recopie en cas d'erreur de recopie).
152
33002520 09/2020
EcoStruxure™ Control Expert
Comparaison
33002520 09/2020
Partie IV
Comparaison
Comparaison
Vue d'ensemble
Cette section décrit les fonctions et blocs fonction élémentaires de la famille Comparaison.
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
Titre du chapitre
Page
33
EQ : égal à
155
34
GE : supérieur ou égal à
157
35
GT : supérieur à
161
36
LE : inférieur ou égal à
165
37
LT : inférieur à
169
38
NE : différent de
173
33002520 09/2020
153
Comparaison
154
33002520 09/2020
EcoStruxure™ Control Expert
EQ
33002520 09/2020
Chapitre 33
EQ : égal à
EQ : égal à
Description
Description du fonctionnement
La fonction contrôle l’égalité des entrées, c.-à-d. que la sortie passe à "1", s’il y a égalité des
valeurs sur toutes les entrées; sinon la sortie reste sur "0".
Les types de données de toutes les valeurs d'entrée doivent être identiques.
Il est possible d’augmenter le nombre d’entrées à 31 au maximum.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
OUT = 1, si (IN1 = IN2) & (IN2 = IN3) & .. & (IN (n-1) = IN n)
Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
33002520 09/2020
155
EQ
Représentation dans IL
Représentation :
LD Value1
EQ Value2
ST Result
Représentation dans ST
Représentation :
Result := EQ (Value1, Value2) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Value1
Signification
BOOL, BYTE, WORD,
1. Entrée
DWORD, STRING, INT,
DINT, UINT, UDINT,
REAL, TIME, DATE,
DT, TOD
Value2
BOOL, BYTE, WORD,
2. Entrée
DWORD, STRING, INT,
DINT, UINT, UDINT,
REAL, TIME, DATE,
DT, TOD
Valuen
BOOL, BYTE, WORD,
n. entrée
DWORD, STRING, INT, n = 31 max
DINT, UINT, UDINT,
REAL, TIME, DATE,
DT, TOD
Description des paramètres de sortie :
Paramètre
Type de données
Signification
Result
BOOL
Sortie
Erreur d’exécution
Si un paramètre d'entrée du type de données REAL est assorti d'un nombre en virgule flottante non
admis, le bit système %S18 est réglé sur 1 et le statut devient %SW17.
156
33002520 09/2020
EcoStruxure™ Control Expert
GE
33002520 09/2020
Chapitre 34
GE : supérieur ou égal à
GE : supérieur ou égal à
Description
Description du fonctionnement
La fonction contrôle les valeurs des entrées successives, d’après les critères d’ordre décroissant
ou d’égalité.
Les types de données de toutes les valeurs d'entrée doivent être identiques.
Il est possible d’augmenter le nombre d’entrées à 31 au maximum.
Lors de la comparaison de variables des types de données BOOL, BYTE, WORD, DWORD, INT, DINT,
UINT, UDINT, REAL, TIME, DATE, DT et TOD , les valeurs sont respectivement comparées l'une
par rapport à l'autre.
Lors de la comparaison de variables du type de données STRING la comparaison se fait en se
basant sur l'alphabet, plus la variable est loin dans l'alphabet, plus la valeur de sortie est élevée.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
OUT = 1, si (IN1 ≥ IN2) & (IN2 ≥ IN3) & .. & (IN (n-1) ≥ IN n)
Représentation dans FBD
Représentation :
33002520 09/2020
157
GE
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
LD Value1
GE Value2
ST Result
Représentation dans ST
Représentation :
Result := GE (Value1, Value2) ;
158
33002520 09/2020
GE
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Value1
Signification
BOOL, BYTE, WORD,
1. Entrée
DWORD, STRING, INT,
DINT, UINT, UDINT,
REAL, TIME, DATE,
DT, TOD
Value2
BOOL, BYTE, WORD,
2. Entrée
DWORD, STRING, INT,
DINT, UINT, UDINT,
REAL, TIME, DATE,
DT, TOD
Valuen
BOOL, BYTE, WORD,
n. entrée
DWORD, STRING, INT, n = 31 max
DINT, UINT, UDINT,
REAL, TIME, DATE,
DT, TOD
Description des paramètres de sortie :
Paramètre
Type de données
Signification
Result
BOOL
Sortie
Erreur d’exécution
Si un paramètre d'entrée du type de données REAL est assorti d'un nombre en virgule flottante non
admis, le bit système %S18 est réglé sur 1 et le statut devient %SW17.
33002520 09/2020
159
GE
160
33002520 09/2020
EcoStruxure™ Control Expert
GT
33002520 09/2020
Chapitre 35
GT : supérieur à
GT : supérieur à
Description
Description du fonctionnement
La fonction contrôle les valeurs des entrées successives, d’après le critère d’ordre décroissant.
Les types de données de toutes les valeurs d'entrée doivent être identiques.
Il est possible d’augmenter le nombre d’entrées à 31 au maximum.
Lors de la comparaison de variables des types de données BOOL, BYTE, WORD, DWORD, INT, DINT,
UINT, UDINT, REAL, TIME, DATE, DT et TOD , les valeurs sont respectivement comparées l'une
par rapport à l'autre.
Lors de la comparaison de variables du type de données STRING la comparaison se fait en se
basant sur l'alphabet, plus la variable est loin dans l'alphabet, plus la valeur de sortie est élevée.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
OUT = 1, si (IN1 > IN2) & (IN2 > IN3) & .. (IN (n-1) > IN n)
Représentation dans FBD
Représentation :
33002520 09/2020
161
GT
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
LD Value1
GT Value2
ST Result
Représentation dans ST
Représentation :
Result := GT (Value1, Value2) ;
162
33002520 09/2020
GT
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Value1
Signification
BOOL, BYTE, WORD,
1. Entrée
DWORD, STRING, INT,
DINT, UINT, UDINT,
REAL, TIME, DATE,
DT, TOD
Value2
BOOL, BYTE, WORD,
2. Entrée
DWORD, STRING, INT,
DINT, UINT, UDINT,
REAL, TIME, DATE,
DT, TOD
Valuen
BOOL, BYTE, WORD,
n. entrée
DWORD, STRING, INT, n = 31 max
DINT, UINT, UDINT,
REAL, TIME, DATE,
DT, TOD
Description des paramètres de sortie :
Paramètre
Type de données
Signification
Result
BOOL
Sortie
Erreur d’exécution
Si un paramètre d'entrée du type de données REAL est assorti d'un nombre en virgule flottante non
admis, le bit système %S18 est réglé sur 1 et le statut devient %SW17.
33002520 09/2020
163
GT
164
33002520 09/2020
EcoStruxure™ Control Expert
LE
33002520 09/2020
Chapitre 36
LE : inférieur ou égal à
LE : inférieur ou égal à
Description
Description du fonctionnement
La fonction contrôle les valeurs des entrées successives, d’après les critères d’ordre croissant ou
d’égalité.
Les types de données de toutes les valeurs d'entrée doivent être identiques.
Il est possible d’augmenter le nombre d’entrées à 31 au maximum.
Lors de la comparaison de variables des types de données BOOL, BYTE, WORD, DWORD, INT, DINT,
UINT, UDINT, REAL, TIME, DATE, DT et TOD , les valeurs sont respectivement comparées l'une
par rapport à l'autre.
Lors de la comparaison de variables du type de données STRING la comparaison se fait en se
basant sur l'alphabet, plus la variable est loin dans l'alphabet, plus la valeur de sortie est élevée.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
OUT = 1, si (IN1 ≤ IN2) & (IN2 ≤ IN3) & .. & (IN (n-1) ≤ IN n)
Représentation dans FBD
Représentation :
33002520 09/2020
165
LE
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
LD Value1
LE Value2
ST Result
Représentation dans ST
Représentation :
Result := LE (Value1, Value2) ;
166
33002520 09/2020
LE
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Value1
Signification
BOOL, BYTE, WORD,
1. Entrée
DWORD, STRING, INT,
DINT, UINT, UDINT,
REAL, TIME, DATE,
DT, TOD
Value2
BOOL, BYTE, WORD,
2. Entrée
DWORD, STRING, INT,
DINT, UINT, UDINT,
REAL, TIME, DATE,
DT, TOD
Valuen
BOOL, BYTE, WORD,
n. entrée
DWORD, STRING, INT, n = 31 max
DINT, UINT, UDINT,
REAL, TIME, DATE,
DT, TOD
Description des paramètres de sortie :
Paramètre
Type de données
Signification
Result
BOOL
Sortie
Erreur d’exécution
Si un paramètre d'entrée du type de données REAL est assorti d'un nombre en virgule flottante non
admis, le bit système %S18 est réglé sur 1 et le statut devient %SW17.
33002520 09/2020
167
LE
168
33002520 09/2020
EcoStruxure™ Control Expert
LT
33002520 09/2020
Chapitre 37
LT : inférieur à
LT : inférieur à
Description
Description du fonctionnement
La fonction contrôle les valeurs des entrées successives, d’après le critère d’ordre croissant.
Les types de données de toutes les valeurs d'entrée doivent être identiques.
Il est possible d’augmenter le nombre d’entrées à 31 au maximum.
Lors de la comparaison de variables des types de données BOOL, BYTE, WORD, DWORD, INT, DINT,
UINT, UDINT, REAL, TIME, DATE, DT et TOD , les valeurs sont respectivement comparées l'une
par rapport à l'autre.
Lors de la comparaison de variables du type de données STRING la comparaison se fait en se
basant sur l'alphabet, plus la variable est loin dans l'alphabet, plus la valeur de sortie est élevée.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
OUT = 1, si (IN1 < IN2) & (IN2 < IN3) & .. & (IN (n-1) < IN n)
Représentation dans FBD
Représentation :
33002520 09/2020
169
LT
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
LD Value1
LT Value2
ST Result
Représentation dans ST
Représentation :
Result := LT (Value1, Value2) ;
170
33002520 09/2020
LT
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
Value1
BOOL, BYTE, WORD,
1. Valeur d'entrée
DWORD, STRING, INT,
DINT, UINT, UDINT,
REAL, TIME, DATE,
DT, TOD
Value2
BOOL, BYTE, WORD,
2. Valeur d'entrée
DWORD, STRING, INT,
DINT, UINT, UDINT,
REAL, TIME, DATE,
DT, TOD
Valuen
BOOL, BYTE, WORD,
n. valeur d’entrée
DWORD, STRING, INT, n = 31 max
DINT, UINT, UDINT,
REAL, TIME, DATE,
DT, TOD
Description des paramètres de sortie :
Paramètre
Type de données
Signification
Result
BOOL
Valeur de sortie
Erreur d’exécution
Si un paramètre d'entrée du type de données REAL est assorti d'un nombre en virgule flottante non
admis, le bit système %S18 est réglé sur 1 et le statut devient %SW17.
33002520 09/2020
171
LT
172
33002520 09/2020
EcoStruxure™ Control Expert
NE
33002520 09/2020
Chapitre 38
NE : différent de
NE : différent de
Description
Description du fonctionnement
La fonction contrôle les inégalités des valeurs d’entrée.
Les types de données des valeurs d’entrée doivent être identiques.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
OUT = 1, si IN1 < > IN2
Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
33002520 09/2020
173
NE
Représentation dans IL
Représentation :
LD Value1
NE Value2
ST Result
Représentation dans ST
Représentation :
Result := NE (Value1, Value2) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
Value1
BOOL, BYTE, WORD,
1. Entrée
DWORD, STRING, INT,
DINT, UINT, UDINT,
REAL, TIME, DATE,
DT, TOD
Value2
BOOL, BYTE, WORD,
2. Entrée
DWORD, STRING, INT,
DINT, UINT, UDINT,
REAL, TIME, DATE,
DT, TOD
Description des paramètres de sortie :
Paramètre
Type de données
Signification
Result
BOOL
Sortie
Erreur d’exécution
Si un paramètre d'entrée du type de données REAL est assorti d'un nombre en virgule flottante non
admis, le bit système %S18 est réglé sur 1 et le statut devient %SW17.
174
33002520 09/2020
EcoStruxure™ Control Expert
Date et Heure
33002520 09/2020
Partie V
Date et Heure
Date et Heure
Vue d'ensemble
Cette section décrit les fonctions et blocs fonction élémentaires de la famille Date et Heure.
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
Titre du chapitre
Page
39
ADD_***_TIME : ajout d'une durée à une date
177
40
DIVTIME : division
179
41
MULTIME : multiplication
181
42
SUB_***_*** : calcul de la différence entre deux dates ou heures
183
43
SUB_***_TIME : soustraction d'une durée à une date
185
33002520 09/2020
175
Date et Heure
176
33002520 09/2020
EcoStruxure™ Control Expert
ADD_***_TIME
33002520 09/2020
Chapitre 39
ADD_***_TIME : ajout d'une durée à une date
ADD_***_TIME : ajout d'une durée à une date
Description
Description de la fonction
La fonction ADD_***_TIME ajoute une durée à une date ou à une heure.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles sont les suivantes :
ADD_DT_TIME,
 ADD_TOD_TIME.

Représentation en FBD
Représentation appliquée à une heure du jour :
Représentation en LD
Représentation appliquée à une heure du jour :
33002520 09/2020
177
ADD_***_TIME
Représentation en IL
Représentation appliquée à une heure du jour :
LD Source_Value
ADD_TOD_TIME Time_to_Add
ST Result_Value
Représentation en ST
Représentation appliquée à une heure du jour :
Result_Value := ADD_TOD_TIME(Source_Value, Time_to_Add);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Type
Commentaire
Source_Value
Paramètre
DT, TOD
Date ou heure.
Time_to_Add
TIME
Durée à ajouter à Source_Value
Note : ce temps est exprimé au format TIME donc avec une précision de
l’ordre du dixième de secondes. Comme les types DT et TOD sont
exprimés à la seconde près, Time_to_Add est arrondie à la seconde.
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Result_Value
DT, TOD
Result_Value est de même type que Source_Value.
NOTE : la gestion des années bissextiles et à prévoir dans l’application.
Erreurs d’exécution
Pour le type TOD, il y a changement de jour si Result_Value est hors des valeurs autorisées.
Dans ce cas, le bit système %S18 est positionné à 1 et la valeur de Result_Value n’est
significative qu’avec un modulo 24:00:00.
Pour le type DT, si Result_Value est hors de l’intervalle des valeurs autorisées, le bit système
%S18 est positionné à 1 et la valeur de Result_Value est égale à la borne maximale.
Si l’un des paramètres d’entrée n’est pas interprétable et cohérent au format de la fonction alors
le bit système %S18 est positionné à 1 et Result_Value vaut :


178
00:00:00 pour le type TOD.
00001-01-01-00:00:00 pour le type DT.
33002520 09/2020
EcoStruxure™ Control Expert
DIVTIME
33002520 09/2020
Chapitre 40
DIVTIME : division
DIVTIME : division
Description
Description de la fonction
La fonction divise la valeur à l'entrée TIME_variable (type de données TIME) par la valeur à
l'entrée Divisor et attribue le résultat à la sortie.
EN et ENO peuvent être configurés comme paramètres supplémentaires.
Formule
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33002520 09/2020
179
DIVTIME
Représentation en IL
Représentation :
LD TIME_variable
DIVTIME Divisor
ST Quotient
Représentation en ST
Représentation :
Quotient := DIVTIME (TIME_variable, Divisor) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
TIME_variable
TIME
Dividende
Divisor
INT, DINT, UINT,
UDINT, REAL
Divisor
Description des paramètres de sortie :
Paramètre
Type de données
Signification
Quotient
TIME
Quotient
Erreur d'exécution
Le bit système %S18 est défini sur 1, si


une division par 0 non valide est exécutée (tous les types de données disponibles)
ou
un nombre à virgule flottante non autorisé est défini sur un paramètre d'entrée de type de
données REAL. L'état %SW17 n'est pas mis à jour pour cette fonction.
NOTE : Pour obtenir la liste des valeurs et des codes d'erreur de bloc, reportez-vous à Date &
Durée, page 504.
180
33002520 09/2020
EcoStruxure™ Control Expert
MULTIME
33002520 09/2020
Chapitre 41
MULTIME : multiplication
MULTIME : multiplication
Description
Description de la fonction
La fonction multiplie les valeurs d’entrée et délivre le résultat en sortie.
Le type de données de la première valeur d'entrée (TIME_variable) doit être TIME.
EN et ENO peuvent être configurés comme paramètres supplémentaires.
Formule
OUT = IN1 x IN2
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33002520 09/2020
181
MULTIME
Représentation en IL
Représentation :
LD TIME_variable
MULTIME Factor
ST Product
Représentation en ST
Représentation :
Product := MULTIME (TIME_variable, Factor) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
TIME_variable
TIME
Multiplicande (facteur)
Factor
INT, DINT, UINT,
UDINT, REAL
Multiplicateur (facteur)
Description des paramètres de sortie :
Paramètres
Type de données
Signification
Product
TIME
Produit
Erreur d’exécution
Le bit système %S18 est configuré sur 1 si


la plage des valeurs est dépassée en sortie (tous les types de données disponibles)
ou
un paramètre d’entrée du type de données REAL est assorti d’un nombre en virgule flottante
non admis. De plus, dans ce cas, le statut devient %SW17.
NOTE : Pour obtenir une liste de tous les codes et valeurs d'erreur du bloc, voir Date & Durée,
page 504.
182
33002520 09/2020
EcoStruxure™ Control Expert
SUB_***_***
33002520 09/2020
Chapitre 42
SUB_***_*** : calcul de la différence entre deux dates ou heures
SUB_***_*** : calcul de la différence entre deux dates ou
heures
Description
Description de la fonction
La fonction SUB_***_*** calcule l’écart de temps entre deux dates ou heures.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles sont les suivantes :
 SUB_DATE_DATE,
 SUB_DT_DT,
 SUB_TOD_TOD.
Représentation en FBD
Représentation appliquée à une heure du jour :
Représentation en LD
Représentation appliquée à une heure du jour :
33002520 09/2020
183
SUB_***_***
Représentation en IL
Représentation appliquée à une heure du jour :
LD Input_IN1
SUB_TOD_TOD Input_IN2
ST Delay1
Représentation en ST
Représentation appliquée à une heure du jour :
Delay1 := =SUB_TOD_TOD(Input_IN1, Input_IN2);
Description des paramètres
Le tableau suivant décrit les paramètres d'entrée :
Paramètre
Type
Commentaire
Input_ IN1
DATE, DT,
TOD
Date ou heure dont on veut calculer l’écart avec
Input_IN2.
Input_IN2
DATE, DT,
TOD
Date ou heure dont on veut calculer l’écart avec
Input_IN2.
De même type que les éléments du tableau
Input_IN1.
NOTE : Input_IN1 et Input_IN2 doivent être de même type.
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Delay1
TIME
Delay1 exprime le temps en valeur absolue écoulé
entre les deux entrées Input_IN1 et Input_ IN2.
Erreurs d'exécution
Si Delay1 dépasse la valeur maximale admise pour un format TIME, un dépassement se produit.
Dans ce cas, Delay1 = 0 et le bit système %S18 est positionné sur 1.
Si l’un des paramètres d’entrée n’est pas interprétable et cohérent au format de la fonction, alors
Delay1 = 0 et le bit système %S18 est positionné sur 1.
184
33002520 09/2020
EcoStruxure™ Control Expert
SUB_***_TIME
33002520 09/2020
Chapitre 43
SUB_***_TIME : soustraction d'une durée à une date
SUB_***_TIME : soustraction d'une durée à une date
Description
Description de la fonction
La fonction SUB_***_TIME enlève une durée d’une date ou d’une heure.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles sont les suivantes :
SUB_DT_TIME,
 SUB_TOD_TIME.

Représentation en FBD
Représentation appliquée à une heure du jour :
Représentation en LD
Représentation appliquée à une heure du jour :
33002520 09/2020
185
SUB_***_TIME
Représentation en IL
Représentation appliquée à une heure du jour :
LD Source_Value
SUB_TOD_TIME Time_to_Sub
ST Result_Value
Représentation en ST
Représentation appliquée à une heure du jour :
Result_Value := SUB_TOD_TIME(Source_Value, Time_to_Sub);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Type
Commentaire
Source_Value
Paramètre
DT, TOD
Date ou heure.
Time_to_Sub
TIME
Durée à soustraire à Source_Value
Note : cette durée est exprimée au format TIME (avec une précision de
l’ordre du dixième de secondes). Comme les types DT et TOD sont
exprimés à la seconde près, Time_to_Sub est arrondie à la seconde.
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Result_Value
DT, TOD
Result_Value est de même type que Source_Value.
NOTE : la gestion des années bissextiles est à prévoir dans l’application.
Erreurs d’exécution
Pour le type TOD, il y a changement de jour si Result_Value est hors de l’intervalle des valeurs
autorisées. Dans ce cas le bit système %S18 est positionné à 1 et la valeur de Result_Value
n’est significative qu’avec un modulo 24:00:00.
Pour le type DT, si Result_Value est hors de l’intervalle des valeurs autorisées, le bit système
%S18 est positionné à 1 et la valeur de Result_Value est égale à la borne minimale.
Si l’un des paramètres d’entrée n’est pas interprétable et cohérent au format de la fonction alors
le bit système %S18 est positionné à 1 et Result_Value vaut :


186
00:00:00 pour le type TOD.
00001-01-01-00:00:00 pour le type DT.
33002520 09/2020
EcoStruxure™ Control Expert
Extract
33002520 09/2020
Partie VI
Extract
Extract
Présentation
Cette section décrit les fonctions et blocs fonction élémentaires de la famille Extract.
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
Titre du chapitre
Page
44
EXTRACT : copie d'une partie d'une variable dans une autre variable
189
45
SIZEOF : taille d'une variable en octets
193
33002520 09/2020
187
Extract
188
33002520 09/2020
EcoStruxure™ Control Expert
EXTRACT
33002520 09/2020
Chapitre 44
EXTRACT : copie d'une partie d'une variable dans une autre variable
EXTRACT : copie d'une partie d'une variable dans une autre
variable
Description
Description de la fonction
La fonction EXTRACT copie une partie d'une variable source (SRC) et la place dans une variable
cible (DST).
NOTE : certaines parties de tableaux d'EBOOL et IODDTs ne peuvent pas être copiées, car le type
de données de SRC et DST est ANY.
Les types de données des variables source et destination peuvent être différents.
Comme le type de données de SRC et DST est ANY et que vous pouvez copier n'importe quelle
partie d'une variable dans une autre, il n'y a pas de vérification de validité pour l'opération de copie.
AVERTISSEMENT
COMPORTEMENT IMPREVU DE L'EQUIPEMENT
Vérifiez le résultat de toutes les variables modifiées avant de redémarrer l'application du
processus.
Le non-respect de ces instructions peut provoquer la mort, des blessures graves ou des
dommages matériels.
La taille mémoire de la variable source (SRC) est identifiée par le bloc fonction (en octets) de
manière interne.
Selon l'alignement des plates-formes d'automate, la taille de la mémoire peut varier.
SRC_NELEM définit le nombre de parties de la variable source. La taille mémoire de la variable
source (en octets) est divisée par SRC_NELEM pour définir la taille de chaque partie.
Exemple
Variable
ARRAY[0..9] OF WORD
33002520 09/2020
SRC_NELEM
Taille de la partie
5
DWORD (4 octets)
10
WORD (2 octets)
20
BYTE
189
EXTRACT
La valeur de SRC_NELEM doit permettre de diviser la taille mémoire de la variable source sans qu'il
y ait de reste.
Le nombre d'éléments à copier (CPY_NELEM) dans la variable source part d'une position définie
(SRC_POS) et est copié à une position définie dans la variable cible (DST_POS).
NOTE : SRC_POS et DST_POS définissent la position des parties à copier sur la base de 0 à n.
Exemple avec SRC_NELEM = 10
Variable
SRC_POS
Position dans ARRAY
ARRAY[0..9] OF WORD
2
2
ARRAY[5..14] OF WORD
2
7
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Vous pouvez utiliser la fonction (voir page 193) SIZEOF pour définir la valeur de l'entrée
SRC_NELEM avec le nombre d'octets de la variable source.
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
190
33002520 09/2020
EXTRACT
Représentation en IL
Représentation :
LD Array1_10_of_DDT
EXTRACT Source_Num_Ele, Source_Pos, Dest_Pos, Copy_Num_Ele,
Array_1_20_of_DDT, Copy_Status
Représentation en ST
Représentation :
EXTRACT(Array1_10_of_DDT, Source_Num_Ele, Source_Pos, Dest_Pos,
Copy_Num_Ele, Array1_20_of_DDT, Copy_Status);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Array1_10_of_DDT
ANY
Variable source dont un nombre défini de parties (Copy_Num_Ele) est
copié vers la variable cible (Array_1_20_of_DDT).
Source_Num_Ele
UDINT
nombre de parties de la variable source
La taille mémoire de la variable source (en octets) est divisée par
Source_Num_Ele pour définir la taille de chaque partie.
Source_Pos
UDINT
position de la première partie à copier dans la variable source
Cette position est basée sur 0 à n.
Dest_Pos
UDINT
position de la première partie à copier dans la variable cible
Cette position est basée sur 0 à n.
Copy_Num_Ele
UDINT
nombre de parties de la variable source copiées dans la variable cible
Le tableau suivant décrit le paramètre de sortie :
Paramètre
Type
Commentaire
Array_1_20_of_DDT
ANY
Variable cible dont un nombre défini de parties (Copy_Num_Ele)
est copié depuis la variable source (Array_1_10_of_DDT).
ERR
INT
erreurs d’exécution
Pour les valeurs, voir le tableau ci-après
33002520 09/2020
191
EXTRACT
Erreurs détectees lors de l’exécution
Valeurs de ERR
Valeur
192
Description
0
Opération de copie réussie.
<0
paramètres non valides
La copie n'a pas été effectuée.
>0
Les paramètres sont suspects, mais valides.
Opération de copie effectuée.
-1
Nombre de parties de la source (SRC_NELEM) non défini.
-2
Le nombre de parties ne correspond pas à la taille de la variable source.
La taille mémoire de la variable source n'est pas divisible sans reste.
-3
SRC_POS est hors des limites de la variable source.
-4
○DST_POS est hors des limites de la variable cible.
1
CPY_NELEM = 0, aucune partie à copier
Le paramètre est suspect, mais valide.
2
Toutes les parties n'ont pas pu être copiées dans la variable cible par manque de place. Les
parties à copier ont été raccourcies.
33002520 09/2020
EcoStruxure™ Control Expert
SIZEOF
33002520 09/2020
Chapitre 45
SIZEOF : taille d'une variable en octets
SIZEOF : taille d'une variable en octets
Description
Description de la fonction
La fonction SIZEOF indique la taille mémoire d'une variable en octets.
Selon l'alignement des plates-formes d'automate, la taille de la mémoire peut varier.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD Array1_10_of_DDT
SIZEOF
ST Size_Struct
Représentation en ST
Représentation :
Size_Struct:= SIZEOF(Array1_10_of_DDT);
33002520 09/2020
193
SIZEOF
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Array1_10_of_DDT
ANY
variable dont la taille mémoire en octets devrait être
détectée
Le tableau suivant décrit le paramètre de sortie :
194
Paramètre
Type
Commentaire
Size_Struct
UDINT
nombre d'octets détectés pour la variable connectée
à la broche IN
33002520 09/2020
EcoStruxure™ Control Expert
Logique
33002520 09/2020
Partie VII
Logique
Logique
Vue d'ensemble
Cette section décrit les fonctions et blocs fonction élémentaires de la famille Logique.
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
Titre du chapitre
Page
46
AND : fonction ET
197
47
F_TRIG : détection de front descendant
199
48
FE : détection du front descendant
201
49
NOT : négation
203
50
OR : fonction OU
205
51
R_TRIG : détection de front montant
207
52
RE : détection du front montant
209
53
RESET : réglage d'un bit sur 0
211
54
ROL : rotation à gauche
213
55
ROR : rotation à droite
217
56
RS : bloc fonction bistable, réinitialisation dominante
219
57
SET : réglage d'un bit sur 1
221
58
SHL : décalage à gauche
223
59
SHR : décalage à droite
225
60
SR : bloc fonction bistable, initialisation dominante
227
61
TRIGGER : détection de tous les fronts
229
62
XOR : fonction OU exclusif
231
33002520 09/2020
195
Logique
196
33002520 09/2020
EcoStruxure™ Control Expert
AND
33002520 09/2020
Chapitre 46
AND : fonction ET
AND : fonction ET
Description
Description de la fonction
La fonction considère la liaison ET bit par bit en entrée et affecte le résultat à la sortie.
Les types de données de l'ensemble des valeurs d'entrée et des valeurs de sortie doivent être
identiques.
Le nombre d'entrées peut atteindre 32.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.
Autres fonctions disponibles
Lors de l'utilisation d'un automate Premium, les fonctions suivantes sont également disponibles
dans la bibliothèque obsolète :
 AND_DINT
 AND_INT
Les fonctionnalités de ces fonctions sont identiques à la fonction ET.
Formule
OUT = IN1 & IN2 & ... & INn
Représentation en FBD
Représentation :
33002520 09/2020
197
AND
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD Value_1
AND Value_2
ST Result
Représentation en ST
Représentation :
Result := AND (Value_1, Value_2) ;
Description des paramètres
Description du paramètre d'entrée :
Paramètre
Type de données
Signification
Value_1
BOOL, BYTE, WORD,
DWORD
Séquence de bit d'entrée
Value_2
BOOL, BYTE, WORD,
DWORD
Séquence de bit d'entrée
Value_n
BOOL, BYTE, WORD,
DWORD
Séquence de bit d'entrée (n = max. 32)
Description du paramètre de sortie :
198
Paramètre
Type de données
Signification
Résultat
BOOL, BYTE, WORD,
DWORD
Séquence de bit de sortie
33002520 09/2020
EcoStruxure™ Control Expert
F_TRIG
33002520 09/2020
Chapitre 47
F_TRIG : détection de front descendant
F_TRIG : détection de front descendant
Description
Description du fonctionnement
Le bloc fonction sert à la détection des fronts descendants 1 -> 0.
Lorsque l’entrée CLK passe de "1" à "0", la sortie Q passe à l’état "1". La sortie reste sur "1" pendant
un cycle d’exécution du bloc fonction; ensuite, elle revient à "0".
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
CAL F_TRIG_Instance (CLK:=ClockInput, Q=>Output)
33002520 09/2020
199
F_TRIG
Représentation dans ST
Représentation :
F_TRIG_Instance (CLK:=ClockInput, Q=>Output) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
CLK
BOOL
Entrée horloge
Description des paramètres de sortie :
200
Paramètre
Type de données
Signification
Q
BOOL
Sortie
33002520 09/2020
EcoStruxure™ Control Expert
FE
33002520 09/2020
Chapitre 48
FE : détection du front descendant
FE : détection du front descendant
Description
Description de la fonction
La fonction FE détecte la transition du bit correspondant de la valeur 1 à 0 (front descendant). Pour
plus d'informations, reportez-vous au chapitre Détection des fronts (voir EcoStruxure™ Control
Expert, Langages de programmation et structure, Manuel de référence).
Les paramètres supplémentaires EN et ENO sont configurables.
NOTE : pour EBOOL, vous pouvez aussi utiliser les fonctions R_TRIG, F_TRIG et TRIGGER, qui
fonctionnent indépendamment du bit d'historique de type EBOOL.
Représentation en FBD
Représentation :
Représentation en LD
La fonction FE ne peut pas être utilisée en LD. Utilisez des fonctions LD équivalentes.
Représentation :
Représentation en IL
Représentation :
LD Start_Button
FE
ST Start_Pulse
33002520 09/2020
201
FE
Représentation en ST
Représentation :
Start_Pulse:= FE (Start_Button);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Start_Button
EBOOL
Entrée ou sortie TOR ; bit interne dont vous
souhaitez détecter le front descendant.
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Start_Pulse
BOOL
Bit interne ou sortie représentant le front descendant.
La variable EBOOL doit être écrite une fois à chaque scrutation de l'UC, sous peine de dysfonctionnement. Seule l'entrée TOR n'est soumise à aucune restriction, car elle est écrite dans le cadre de
la gestion des E/S de l'UC.
Chronogramme
Diagramme temporel :
T
202
T est égal à la durée du cycle automate d'une entrée et correspond au délai entre deux affectations d'une
sortie TOR ou d'un bit interne.
33002520 09/2020
EcoStruxure™ Control Expert
NOT
33002520 09/2020
Chapitre 49
NOT : négation
NOT : négation
Description
Description du fonctionnement
La fonction procède à l’inversion logique bit à bit de la séquence binaire d’entrée et délivre le
résultat en sortie.
Les types de données des valeurs d’entrée et de sortie doivent être identiques.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Autres fonctions disponibles
Dans la bibliothèque obsolète, les fonctions suivantes sont à votre disposition :
NOT_DINT
 NOT_INT

Le fonctionnement de ces fonctions est identique à celui de la fonction NOT.
Formule
OUT = NOT IN
Représentation dans FBD
Représentation :
33002520 09/2020
203
NOT
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
LD Value
NOT
ST NegValue
Représentation dans ST
Représentation :
NegValue := NOT (Value) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
Value
BOOL, BYTE, WORD,
DWORD
Séquence binaire d’entrée
Description des paramètres de sortie :
204
Paramètre
Type de données
Signification
NegValue
BOOL, BYTE, WORD,
DWORD
Séquence binaire inversée
33002520 09/2020
EcoStruxure™ Control Expert
OR
33002520 09/2020
Chapitre 50
OR : fonction OU
OR : fonction OU
Description
Description du fonctionnement
La fonction procède au chaînage en logique OU des séquences binaires aux entrées et délivre le
résultat en sortie.
Les types de données de toutes les valeurs d’entrée et celui de la valeur de sortie doivent être
identiques.
Il est possible d’augmenter le nombre d’entrées à 32 au maximum.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Autres fonctions disponibles
Lors de l'utilisation d'un automate Premium, les fonctions suivantes sont également disponibles
dans la bibliothèque Obsolète :
 OR_DINT
 OR_INT
Le fonctionnement de ces fonctions est identique à celui de la fonction OR.
Formule
OUT = IN1 OR IN2 OR ... OR INn
Représentation dans FBD
Représentation :
33002520 09/2020
205
OR
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
LD Value_1
OR Value_2
ST Result
Représentation dans ST
Représentation :
Result := OR (Value_1, Value_2) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
Value_1
BOOL, BYTE, WORD,
DWORD
Séquence binaire d’entrée
Value_2
BOOL, BYTE, WORD,
DWORD
Séquence binaire d’entrée
Value_n
BOOL, BYTE, WORD,
DWORD
Séquence binaire d’entrée
n = 32 max
Description des paramètres de sortie :
206
Paramètre
Type de données
Signification
Result
BOOL, BYTE, WORD,
DWORD
Séquence binaire de sortie
33002520 09/2020
EcoStruxure™ Control Expert
R_TRIG
33002520 09/2020
Chapitre 51
R_TRIG : détection de front montant
R_TRIG : détection de front montant
Description
Description du fonctionnement
Le bloc fonction sert à détecter les fronts montants 0 -> 1.
Lorsque l’entrée CLK passe de "0" à "1", la sortie Q passe à "1". La sortie reste à "1" pendant un
cycle d’exécution de la fonction; ensuite, la sortie revient à "0".
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
CAL R_TRIG_Instance (CLK:=ClockInput, Q=>Output)
33002520 09/2020
207
R_TRIG
Représentation dans ST
Représentation :
R_TRIG_Instance (CLK:=ClockInput, Q=>Output) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
CLK
BOOL
Entrée horloge
Description des paramètres de sortie :
208
Paramètre
Type de données
Signification
Q
BOOL
Sortie
33002520 09/2020
EcoStruxure™ Control Expert
RE
33002520 09/2020
Chapitre 52
RE : détection du front montant
RE : détection du front montant
Description
Description de la fonction
La fonction RE détecte la transition du bit correspondant de la valeur 0 à 1 (front montant). Pour
plus d'informations, reportez-vous au chapitre Détection des fronts (voir EcoStruxure™ Control
Expert, Langages de programmation et structure, Manuel de référence).
Les paramètres supplémentaires EN et ENO sont configurables.
NOTE : pour EBOOL, vous pouvez aussi utiliser les fonctions R_TRIG, F_TRIG et TRIGGER, qui
fonctionnent indépendamment du bit d'historique de type EBOOL.
Représentation en FBD
Représentation :
Représentation en LD
La fonction RE ne peut pas être utilisée en LD. Utilisez des fonctions LD équivalentes.
Représentation :
Représentation en IL
Représentation :
LD Start_Button
RE
ST Start_Pulse
33002520 09/2020
209
RE
Représentation en ST
Représentation :
Start_Pulse := RE (Start_Button);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Start_Button
EBOOL
Entrée ou sortie TOR ; bit interne dont vous
souhaitez détecter le front montant.
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Start_Pulse
BOOL
Bit interne ou sortie représentant le front montant.
La variable EBOOL doit être écrite une fois à chaque scrutation de l'UC, sous peine de dysfonctionnement. Seule l'entrée TOR n'est soumise à aucune restriction, car elle est écrite dans le cadre de
la gestion des E/S de l'UC.
Chronogramme
Diagramme temporel :
T
210
T est égal à la durée du cycle automate d'une entrée et correspond au délai entre deux affectations d'une
sortie TOR ou d'un bit interne.
33002520 09/2020
EcoStruxure™ Control Expert
RESET
33002520 09/2020
Chapitre 53
RESET : réglage d'un bit sur 0
RESET : réglage d'un bit sur 0
Description
Description de la fonction
La fonction RESET effectue la mise à zéro du bit qui lui est associé.
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
CAL RESET(Bit_to_Reset)
Représentation en ST
Représentation :
RESET (Bit_to_Reset);
33002520 09/2020
211
RESET
Description des paramètres
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Bit_to_Reset BOOL
212
Commentaire
Entrée ou sortie TOR ou bit interne que l’on veut mettre à 0.
33002520 09/2020
EcoStruxure™ Control Expert
ROL
33002520 09/2020
Chapitre 54
ROL : rotation à gauche
ROL : rotation à gauche
Description
Description de la fonction
Cette fonction fait pivoter le modèle de bits à l'entrée IN de n bits vers la gauche (valeur à l'entrée
Number).
Le bit système %S17 est utilisé en tant que bit CARRY, ce qui veut dire qu'il stocke l'état du bit qui
est décalé.
Les types de données à l'entrée IN et à la sortie OUT doivent être identiques.
NOTE : Grâce à la conformité à la norme CEI 61131-3, cette fonction s'exécute également avec
le type de données BOOL. Cela n'est pas significatif dans le cas présent.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Liste des fonctions disponibles
 ROL_BOOL
 ROL_BYTE
 ROL_WORD
 ROL_DWORD
Autres fonctions disponibles
Si vous utilisez un automate Premium, les fonctions suivantes sont aussi disponibles dans la
bibliothèque obsolète :
 ROL_DINT
 ROL_INT
La fonctionnalité de ces fonctions est identique à la fonction ROL.
Représentation en FBD
Représentation :
33002520 09/2020
213
ROL
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD InputPattern
ROL Number
ST OutputPattern
Représentation en ST
Représentation :
OutputPattern := ROL (InputPattern, Number) ;
Description des paramètres
Description des paramètres d'entrée :
214
Paramètre
Type de données
Signification
InputPattern
Pour ROL : BOOL, BYTE, WORD,
DWORD, INT, DINT
Pour ROL_BOOL : BOOL
Pour ROL_BYTE : BYTE
Pour ROL_WORD : WORD
Pour ROL_DWORD : DWORD
Pour ROL_INT : INT
Pour ROL_DINT : DINT
Modèle de bits à faire pivoter
Number
Pour ROL, ROL_BOOL,
ROL_BYTE, ROL_WORD,
ROL_DWORD : UINT
Pour ROL_INT, ROL_DINT :
INT
Nombre d'espaces à faire pivoter
33002520 09/2020
ROL
Description du paramètre de sortie :
Paramètre
Type de données
Signification
OutputPattern
Pour ROL : BOOL, BYTE, WORD,
DWORD, INT, DINT
Pour ROL_BOOL : BOOL
Pour ROL_BYTE : BYTE
Pour ROL_WORD : WORD
Pour ROL_DWORD : DWORD
Pour ROL_INT : INT
Pour ROL_DINT : DINT
Modèle binaire après rotation
Comportement du bloc fonction
Le nombre maximum de rotations doit être inférieur ou égal à la taille de l'opérande :
 pour BYTE, le nombre maximum de rotations est 8.
 pour WORD et INT, le nombre maximum de rotations est 16.
 pour DWORD et DINT, le nombre maximum de rotations est 32.
Le tableau suivant indique la valeur de sortie du bloc fonction de rotation en fonction du nombre
de rotations et de la taille de l'opérande :
Type
Nombre de rotations
Valeur de sortie
%S17
BYTE
0
= valeur d'entrée
0
WORD/INT
DWORD/DINT
1...31
= valeur d'entrée décalée
MSB
> 31
=0
0
0
= valeur d'entrée
0
1...16
= valeur d'entrée décalée
MSB
17...31
= valeur incorrecte
•• (1)
> 31
=0
0
0
= valeur d'entrée
0
1 à 32
= valeur d'entrée décalée
MSB
> 32
=0
0
(1) imprévisible
33002520 09/2020
215
ROL
216
33002520 09/2020
EcoStruxure™ Control Expert
ROR
33002520 09/2020
Chapitre 55
ROR : rotation à droite
ROR : rotation à droite
Description
Description du fonctionnement
La fonction fait tourner le profil binaire à l’entrée In de n bits (valeur de l’entrée Number), selon un
mouvement giratoire vers la droite.
Le bit système %S17 est alors utilisé comme bit CARRY, c'est-à-dire que le statut du bit en
découlant y est enregistré.
Les types de données de l’entrée IN et de la sortie OUT doivent être identiques.
NOTE : En raison de la conformité à la norme CEI 61131-3 cette fonction accepte également le
type de données BOOL. Cela n'est cependant pas pertinent dans la pratique.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Autres fonctions disponibles
Lors de l'utilisation d'un automate Premium, les fonctions suivantes sont également disponibles
dans la bibliothèque Obsolète :
 ROR_DINT
 ROR_INT
Le fonctionnement de ces fonctions est identique à celui de la fonction ROR.
Représentation dans FBD
Représentation :
33002520 09/2020
217
ROR
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
LD InputPattern
ROR Number
ST OutputPattern
Représentation dans ST
Représentation :
OutputPattern := ROR (InputPattern, Number) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
InputPattern
Avec ROR : BOOL, BYTE, WORD,
DWORD
Avec ROR_INT : INT
Avec ROR_DINT : DINT
Profil binaire objet de la rotation
Number
Avec ROR : UINT
Avec ROR_INT, ROR_DINT : INT
Nombre de positions prises en compte pour la
rotation
Description des paramètres de sortie :
218
Paramètre
Type de données
Signification
OutputPattern
Avec ROR : BOOL, BYTE,
WORD, DWORD
Avec ROR_INT : INT
Avec ROR_DINT : DINT
Profil binaire ayant effectué la rotation
33002520 09/2020
EcoStruxure™ Control Expert
RS
33002520 09/2020
Chapitre 56
RS : bloc fonction bistable, réinitialisation dominante
RS : bloc fonction bistable, réinitialisation dominante
Description
Description de la fonction
Le bloc fonction est utilisé comme mémoire RS ayant la propriété de "Reset dominant".
La sortie Q1 passe à "1", si l’entrée S passe à "1". Cet état est maintenu même si l’entrée S est
remise à "0". La sortie Q1 n’est remise à "0" que si l’entrée R1 passe à "1". Si les entrées S et R1
ont simultanément l’état "1", l’entrée dominante R1 remet la sortie Q1 à "0".
L’état initial de Q1 lors du premier appel du bloc fonction est "0".
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
33002520 09/2020
219
RS
Représentation dans IL
Représentation :
CAL RS_Instance (S:=Set, R1:=Reset, Q1=>Output)
Représentation dans ST
Représentation :
RS_Instance (S:=Set, R1:=Reset, Q1=>Output) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
S
BOOL
Initialisation
R1
BOOL
Reset (dominant)
Description des paramètres de sortie :
220
Paramètre
Type de données
Signification
Q1
BOOL
Sortie
33002520 09/2020
EcoStruxure™ Control Expert
SET
33002520 09/2020
Chapitre 57
SET : réglage d'un bit sur 1
SET : réglage d'un bit sur 1
Description
Description de la fonction
La fonction SET effectue la mise à un du bit qui lui est associé.
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
CAL SET(Bit_to_Set)
Représentation en ST
Représentation :
SET (Bit_to_Set);
33002520 09/2020
221
SET
Description des paramètres
Le tableau suivant décrit les paramètres de sortie :
222
Paramètre
Type
Commentaire
Bit_to_Set
BOOL
Entrée ou sortie TOR ou bit interne que l’on veut mettre à 1.
33002520 09/2020
EcoStruxure™ Control Expert
SHL
33002520 09/2020
Chapitre 58
SHL : décalage à gauche
SHL : décalage à gauche
Description
Description du fonctionnement
La fonction décale le profil binaire à l’entrée IN de n bits (valeur de l’entrée N) vers la gauche.
Le bit système %S17 est alors utilisé comme bit CARRY, c'est-à-dire que le statut du bit en
découlant y est enregistré.
Insertion de zéros de remplissage à partir de la droite.
Les types de données de l’entrée IN et de la sortie OUT doivent être identiques.
NOTE : En raison de la conformité à la norme CEI 61131-3 cette fonction accepte également le
type de données BOOL. Cela n'est cependant pas pertinent dans la pratique.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Autres fonctions disponibles
Les fonctions supplémentaires suivantes sont également à votre disposition dans la bibliothèque
Obsolète :
 SHL_DINT
 SHL_INT
Le fonctionnement de ces fonctions est identique à celui de la fonction SHL.
Représentation dans FBD
Représentation :
33002520 09/2020
223
SHL
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
LD IntputPattern
SHL Number
ST ShiftedPattern
Représentation dans ST
Représentation :
ShiftedPattern := SHL (IntputPattern, Number) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
IntputPattern
Avec SHL : BOOL, BYTE, WORD,
DWORD
Avec SHL_INT : INT
Avec SHL_DINT : DINT
Profil binaire à décaler
Exemple : IntputPattern =
2#0100000011110001.
Number
Avec SHL : UINT
Avec SHL_INT, SHL_DINT : INT
Nombre de positions prises en compte pour le
décalage
Exemple : Number = 4.
Description des paramètres de sortie :
224
Paramètre
Type de données
Signification
ShiftedPattern
Avec SHL : BOOL, BYTE, WORD,
DWORD
Avec SHL_INT : INT
Avec SHL_DINT : DINT
Profil binaire décalé
Exemple : avec les données indiquées dans le
tableau précédent, le résultat serait le suivant :
ShiftedPattern = 2#0000111100010000
33002520 09/2020
EcoStruxure™ Control Expert
SHR
33002520 09/2020
Chapitre 59
SHR : décalage à droite
SHR : décalage à droite
Description
Description du fonctionnement
Cette fonction décale le modèle de bits à l'entrée IN de n bits vers la droite (valeur à l'entrée N).
Le bit système %S17 est utilisé en tant que bit CARRY. L'état du bit qui est décalé est ainsi stocké
ici.
Les zéros sont ajoutés par la gauche.
NOTE : Si l'option Autoriser INT/DINT à la place de ANY_BIT est sélectionnée dans la boîte de
dialogue Outils → Options du projet → Extensions de langage, l'entrée IN utilise les types de
données INT ou DINT.
Les types de données à l'entrée IN et à la sortie OUT doivent être identiques.
NOTE : Grâce à la conformité à la norme CEI 61131-3, cette fonction s'exécute également avec
le type de données BOOL. Cela n'est pas significatif dans le cas présent.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation :
33002520 09/2020
225
SHR
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD IntputPattern
SHR Number
ST ShiftedPattern
Représentation en ST
Représentation :
ShiftedPattern := SHR (IntputPattern, Number) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
IntputPattern
BOOL, BYTE, WORD,
DWORD
Profil binaire à décaler
Par exemple :
IntputPattern = 2#0100000011110001.
Number
UINT
Nombre de positions prises en compte pour le
décalage
Exemple : Number = 4.
Description du paramètre de sortie :
226
Paramètre
Type de données
Signification
ShiftedPattern
BOOL, BYTE, WORD,
DWORD
Profil binaire décalé
Par exemple : avec les données du tableau
précédent, le résultat est :
ShiftedPattern = 2#0000010000001111
33002520 09/2020
EcoStruxure™ Control Expert
SR
33002520 09/2020
Chapitre 60
SR : bloc fonction bistable, initialisation dominante
SR : bloc fonction bistable, initialisation dominante
Description
Description de la fonction
Le bloc fonction est utilisé comme mémoire SR ayant la propriété de "Set dominant".
La sortie Q1 passe à "1", si l’entrée S1 passe à "1". Cet état est maintenu même si l’entrée S1 est
remise à "0". La sortie Q1 n’est remise à "0" que si l’entrée R passe à "1". Si les entrées S1 et R
ont simultanément l’état "1", l’entrée dominante S1 remet la sortie Q1 à "1".
L’état initial de Q1 lors du premier appel du bloc fonction est "0".
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
33002520 09/2020
227
SR
Représentation dans IL
Représentation :
CAL SR_Instance (S1:=Set, R:=Reset, Q1=>Output)
Représentation dans ST
Représentation :
SR_Instance (S1:=Set, R:=Reset, Q1=>Output) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
S1
BOOL
Initialisation (dominante)
R
BOOL
Réinitialiser
Description des paramètres de sortie :
228
Paramètre
Type de données
Signification
Q1
BOOL
Sortie
33002520 09/2020
EcoStruxure™ Control Expert
TRIGGER
33002520 09/2020
Chapitre 61
TRIGGER : détection de tous les fronts
TRIGGER : détection de tous les fronts
Description
Description du fonctionnement
Le bloc fonction reconnaît tous les types de fronts (1 -> 0 et 0 -> 1) à l’entrée CLK.
En cas de front montant, l'entrée CLK passe de "0" à "1" ; en cas de front descendant, l'entrée CLK
passe de "1" à "0".
Quel que soit le type de front, la sortie EDGE passe à "1".
En cas de front montant, en plus de EDGE la sortie RISE passe à "1".
En cas de front descendant, en plus de EDGE la sortie FALL passe à "1". S'il ne se produit aucun
front, toutes les sorties deviennent "0".
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation dans FBD
Représentation :
33002520 09/2020
229
TRIGGER
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
CAL TRIGGER_Instance (CLK:=ClockInput, RISE=>RisingEdge,
EDGE=>AnyEdge, FALL=>FallingEdge)
Représentation dans ST
Représentation :
TRIGGER_Instance (CLK:=ClockInput, RISE=>RisingEdge,
EDGE=>AnyEdge, FALL=>FallingEdge) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
CLK
BOOL
Entrée horloge
Description des paramètres de sortie :
230
Paramètres
Type de données
Signification
RISE
BOOL
Détection d'un front montant
EDGE
BOOL
Détection d'un front quel qu'en soit le type
FALL
BOOL
Détection d'un front descendant
33002520 09/2020
EcoStruxure™ Control Expert
XOR
33002520 09/2020
Chapitre 62
XOR : fonction OU exclusif
XOR : fonction OU exclusif
Description
Description du fonctionnement
La fonction procède au chaînage en logique XOR des séquences binaires aux entrées et délivre
le résultat en sortie.
Les types de données de toutes les valeurs d’entrée et celui de la valeur de sortie doivent être
identiques.
Il est possible d’augmenter le nombre d’entrées à 32 au maximum.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Autres fonctions disponibles
Lors de l'utilisation d'un automate Premium, les fonctions suivantes sont également disponibles
dans la bibliothèque Obsolète :
 XOR_DINT
 XOR_INT
Le fonctionnement de ces fonctions est identique à celui de la fonction XOR.
Formule
OUT = IN1 XOR IN2 XOR .. XOR INn
Représentation dans FBD
Représentation :
33002520 09/2020
231
XOR
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
LD Value_1
XOR Value_2
ST Result
Représentation dans ST
Représentation :
Result := XOR (Value_1, Value_2) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
Value_1
BOOL, BYTE, WORD,
DWORD
Séquence binaire d’entrée
Value_2
BOOL, BYTE, WORD,
DWORD
Séquence binaire d’entrée
Value_n
BOOL, BYTE, WORD,
DWORD
Séquence binaire d’entrée
n = 32 max
Description des paramètres de sortie :
232
Paramètre
Type de données
Signification
Result
BOOL, BYTE, WORD,
DWORD
Séquence binaire de sortie
33002520 09/2020
EcoStruxure™ Control Expert
Mathématiques
33002520 09/2020
Partie VIII
Mathématiques
Mathématiques
Vue d'ensemble
Cette section 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
63
ABS : calcul de valeur absolue
235
64
ACOS : arc cosinus
237
65
ADD : addition
239
66
ADD_TIME : addition
243
67
ASIN : arc sinus
245
68
ATAN : arc tangente
247
69
COS : cosinus
249
70
DEC : décrémentation d'une variable
251
71
DIV : division
253
72
DIVMOD : division et modulo
257
73
EXP : exponentielle naturelle
259
74
EXPT_REAL_*** : élévation d'une valeur à la puissance d'une autre valeur
261
75
INC : incrémentation d'une variable
265
76
LN : logarithme naturel
267
77
LOG : logarithme en base 10
269
78
MOD : modulo
271
79
MOVE : affectation
273
80
MUL : multiplication
275
81
NEG : négation
277
82
SATURATION : saturation
279
83
SIGN : évaluation du signe
283
84
SIN : sinus
285
85
SUB : soustraction
287
33002520 09/2020
233
Mathématiques
Chapitre
234
Titre du chapitre
Page
86
SUB_TIME : soustraction
289
87
SQRT_*** : racine carrée
291
88
TAN : tangente
293
33002520 09/2020
EcoStruxure™ Control Expert
ABS
33002520 09/2020
Chapitre 63
ABS : calcul de valeur absolue
ABS : calcul de valeur absolue
Description
Description du fonctionnement
La fonction génère la valeur absolue de la valeur d’entrée et la délivre en sortie.
Les types de données des valeurs d’entrée et de sortie doivent être identiques.
NOTE : En raison de la conformité à la norme CEI 61131-3 cette fonction accepte également les
types de données UINT et UDINT. Cela n'est cependant pas pertinent dans la pratique.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
33002520 09/2020
235
ABS
Représentation dans IL
Représentation :
LD Value
ABS
ST Result
Représentation dans ST
Représentation :
Result := ABS (Value) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
Value
INT, DINT, UINT,
UDINT, REAL
Valeur d'entrée
Description des paramètres de sortie :
Paramètre
Type de données
Signification
Result
INT, DINT, UINT,
UDINT, REAL
Valeur de sortie
Erreur d’exécution
Le bit système %S18 est configuré sur 1
236

en cas de dépassement de la valeur minimale (types de données INT et DINT)
ou

si un paramètre d’entrée du type de données REAL est assorti d’un nombre en virgule flottante
non admis. De plus, dans ce cas, le statut devient %SW17.
33002520 09/2020
EcoStruxure™ Control Expert
ACOS
33002520 09/2020
Chapitre 64
ACOS : arc cosinus
ACOS : arc cosinus
Description
Description de la fonction
La fonction ACOS calcule l’arc cosinus principal d’une valeur réelle. Le résultat est donné sous la
forme d’un angle en radian.
L’appel à la fonction s’effectue également par ACOS_REAL.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
La formule est la suivante :
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33002520 09/2020
237
ACOS
Représentation en IL
Représentation :
LD Cos_Value
ACOS_REAL
ST Angle
Représentation en ST
Représentation :
Angle := ACOS_REAL(Cos_Value);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Cos_Value
REAL
Cosinus de l’angle calculé en sortie du bloc.
-1 ≤ Cos_Value ≤ 1
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Angle
REAL
Angle exprimé en radian, dont le cosinus vaut
Cos_Value.
0 ≤ Angle ≤ π
Erreurs d’exécution
Lorsque la valeur absolue de Cos_Value est supérieure à 1, le bit système %S18 passe à 1 et le
mot système %SW17 indique le type du défaut.
238
33002520 09/2020
EcoStruxure™ Control Expert
ADD
33002520 09/2020
Chapitre 65
ADD : addition
ADD : addition
Description
Description de la fonction
La fonction ajoute les valeurs d'entrée et affecte le résultat à la sortie.
Les types de données de l'ensemble des valeurs d'entrée et des valeurs de sortie doivent être
identiques.
Pour toutes les fonctions, le nombre d'entrées peut atteindre 32.
Dans le cas d'une addition incluant le type de données TIME, il existe le bloc ADD_TIME
(voir page 243)
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.
Formule
INT, DINT, UINT, UDINT, REAL :
OUT = IN1 + IN2 + ... + INn
Représentation en FBD
Représentation :
33002520 09/2020
239
ADD
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD Value1
ADD Value2
ST Sum
Représentation en ST
Représentation :
Sum := ADD (Value1, Value2) ;
Description des paramètres
Description du paramètre d'entrée :
Paramètre
Type de données
Signification
Value1
INT, DINT, UINT,
UDINT, REAL
Somme
Value2
INT, DINT, UINT,
UDINT, REAL
Somme
Valuen
INT, DINT, UINT,
UDINT, REAL
Somme
n = max 32
Description du paramètre de sortie :
240
Paramètre
Type de données
Signification
Sum
INT, DINT, UINT,
UDINT, REAL
Somme
33002520 09/2020
ADD
Erreur d'exécution
Le bit système %S18 est défini sur 1, si

la plage des valeurs de sortie est dépassée (tous les types de données disponibles)
ou

%S18
33002520 09/2020
241
ADD
242
33002520 09/2020
EcoStruxure™ Control Expert
ADD_TIME
33002520 09/2020
Chapitre 66
ADD_TIME : addition
ADD_TIME : addition
Description
Description du fonctionnement
La fonction ajoute deux valeurs d'entrée du type de données TIME et délivre le résultat en sortie
(également du type de données TIME).
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
OUT = IN1 + IN2
Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
33002520 09/2020
243
ADD_TIME
Représentation dans IL
Représentation :
LD TimeValue1
ADD_TIME TimeValue2
ST Sum
Représentation dans ST
Représentation :
Sum := ADD_TIME (TimeValue1, TimeValue2) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
TimeValue1
TIME
Opérande
TimeValue2
TIME
Opérande
Description des paramètres de sortie :
Paramètre
Type de données
Signification
Sum
TIME
Somme
Erreur d’exécution
Le bit système %S18 est mis à 1 en cas de dépassement de la plage de valeurs de sortie.
244
33002520 09/2020
EcoStruxure™ Control Expert
ASIN
33002520 09/2020
Chapitre 67
ASIN : arc sinus
ASIN : arc sinus
Description
Description de la fonction
La fonction ASIN calcule l’arc sinus principal d’une valeur réelle. Le résultat est donné sous la
forme d’un angle en radian.
L’appel de la fonction s’effectue également par ASIN_REAL.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
La formule est la suivante :
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33002520 09/2020
245
ASIN
Représentation en IL
Représentation :
LD Sin_Value
ASIN_REAL
ST Angle
Représentation en ST
Représentation :
Angle := ASIN_REAL(Sin_Value);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Sin_Value
REAL
Sinus de l’angle calculé en sortie du bloc.
-1 ≤ Sin_Value ≤ 1
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Angle
REAL
Angle exprimé en radian, dont le sinus vaut
Sin_Value.
- π/2 ≤ Angle ≤ + π/2
Erreurs d’exécution
Lorsque la valeur absolue de Sin_Value est supérieure à 1, le bit système %S18 passe à 1 et le
mot système %SW17 indique le type du défaut.
246
33002520 09/2020
EcoStruxure™ Control Expert
ATAN
33002520 09/2020
Chapitre 68
ATAN : arc tangente
ATAN : arc tangente
Description
Description de la fonction
La fonction ATAN calcule l’arc tangente principal d’une valeur réelle. Le résultat est donné sous la
forme d’un angle en radians.
L’appel de la fonction s’effectue également par ATAN_REAL.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
La formule est la suivante :
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33002520 09/2020
247
ATAN
Représentation en IL
Représentation :
LD Tan_Value
ATAN_REAL
ST Angle
Représentation en ST
Représentation :
Angle := ATAN_REAL(Tan_Value);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Tan_Value
REAL
Tangente de l’angle calculé en sortie du bloc.
-1.#INF < Tan_Value < +1.#INF
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Angle
REAL
Angle exprimé en radian, dont la tangente vaut
Tan_Value.
- π/2 < Angle < +π/2
Erreurs d’exécution
Lorsque la valeur absolue de Tan_Value est supérieure à 1, le bit système %S18 passe à 1 et le
mot système %SW17 indique le type du défaut.
248
33002520 09/2020
EcoStruxure™ Control Expert
COS
33002520 09/2020
Chapitre 69
COS : cosinus
COS : cosinus
Description
Description de la fonction
La fonction COS calcule le cosinus d'un angle.
Il est également possible d'exécuter la fonction via COS_REAL.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
La formule est la suivante :
Cos_Value = Cos(Angle)
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33002520 09/2020
249
COS
Représentation en IL
Représentation :
LD Angle
COS_REAL
ST Cos_Value
Représentation en ST
Représentation :
Cos_Value:= COS_REAL(Angle);
Description des paramètres
Le tableau suivant décrit le paramètre d'entrée :
Paramètre
Type
Commentaire
Angle
REAL
Angle exprimé en radians.
-2 63 < Angle < +2 63
Le tableau suivant décrit le paramètre de sortie :
Paramètre
Type
Commentaire
Cos_Value
REAL
Cosinus du paramètre Angle exprimé en radians.
-1 ≤ Cos_Value ≤ 1
Erreurs d'exécution
Si la valeur absolue du paramètre Angle est supérieure à 2 63, le bit système %S18 passe à 1 et
le mot système %SW17 indique le type de défaut.
250
33002520 09/2020
EcoStruxure™ Control Expert
DEC
33002520 09/2020
Chapitre 70
DEC : décrémentation d'une variable
DEC : décrémentation d'une variable
Description
Description de la fonction
La fonction DEC décrémente une variable de 1.
Le paramètre de cette fonction peut être déclaré de type ANY_INT.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation appliquée à un entier :
Représentation en LD
Représentation appliquée à un entier :
Représentation en IL
Représentation appliquée à un entier :
CAL DEC(Value1)
33002520 09/2020
251
DEC
Représentation en ST
Représentation appliquée à un entier :
DEC(Value1);
Description des paramètres
Le tableau suivant décrit le paramètre d'entrée/sortie :
Paramètre
Type
Value1
INT, DINT, UINT, A chaque passage du programme sur cette EF, la
variable Value1 est décrémentée d’une unité.
UDINT.
Commentaire
Erreurs d'exécution
En cas de débordement, le bit système %S18 est réglé sur 1 et la valeur décrémentée passe en
positif (32767 pour un entier, par exemple).
252
33002520 09/2020
EcoStruxure™ Control Expert
DIV
33002520 09/2020
Chapitre 71
DIV : division
DIV : division
Description
Description du fonctionnement
La fonction divise la valeur de l’entrée Dividend par celle de l’entrée Divisor et délivre le
résultat en sortie.
Les types de données des valeurs d’entrée et celui de la valeur de sortie doivent être identiques.
Le module DIVTIME (voir page 179) est disponible pour la division avec des valeurs du type de
données TIME.
Lors de la division de types de données du groupe INT, DINT, UINT et UDINT, la troncation d’une
position après la virgule éventuellement présente est opérée vers zéro dans le résultat p.ex.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
Représentation dans FBD
Représentation :
33002520 09/2020
253
DIV
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
LD Dividend
DIV Divisor
ST Quotient
Représentation dans ST
Représentation :
Quotient := DIV (Dividend, Divisor) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
Dividend
INT, DINT, UINT,
UDINT, REAL
Dividend
Divisor
INT, DINT, UINT,
UDINT, REAL
Divisor
Description des paramètres de sortie :
254
Paramètre
Type de données
Signification
Quotient
INT, DINT, UINT,
UDINT, REAL
Quotient
33002520 09/2020
DIV
Erreur d’exécution
Le bit système %S18 est configuré sur 1 si


une division non autorisée par 0 est effectuée (tous les types de données disponibles)
ou
un paramètre d’entrée du type de données REAL est assorti d’un nombre en virgule flottante
non admis. De plus, dans ce cas, le statut devient %SW17.
33002520 09/2020
255
DIV
256
33002520 09/2020
EcoStruxure™ Control Expert
DIVMOD
33002520 09/2020
Chapitre 72
DIVMOD : division et modulo
DIVMOD : division et modulo
Description
Description du fonctionnement
Cette procédure divise la valeur à l’entrée Dividend par la valeur à l’entrée Divisor. Le résultat
de la division est délivré à la sortie Quotient. Le reste de la division est délivré à la sortie Modulo.
A la division, une éventuelle position décimale est coupée vers zéro dans le résultat de la division.
Les types de données de toutes les valeurs d’entrée et de sortie doivent être identiques.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
Formule du bloc :
DV = IN1 / IN2
MD = IN1 mod IN2
Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
33002520 09/2020
257
DIVMOD
Représentation dans IL
Représentation :
LD Dividend
DIVMOD Divisor, Quotient, Modulo
Représentation dans ST
Représentation :
DIVMOD (Dividend, Divisor, Quotient, Modulo);
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
Dividend
INT, DINT, UINT,
UDINT
Dividend
Divisor
INT, DINT, UINT,
UDINT
Divisor
Description des paramètres de sortie :
Paramètres
Type de données
Signification
Quotient
INT, DINT, UINT,
UDINT
Quotient
Modulo
INT, DINT, UINT,
UDINT
Modulo
Erreur d’exécution
Le bit système %S18 est réglé sur 1 si une division non autorisée par 0 est effectuée.
258
33002520 09/2020
EcoStruxure™ Control Expert
EXP
33002520 09/2020
Chapitre 73
EXP : exponentielle naturelle
EXP : exponentielle naturelle
Description
Description de la fonction
La fonction EXP calcule l’exponentielle naturelle d’un réel.
L’appel de la fonction s’effectue également par EXP_REAL.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
La formule est la suivante :
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33002520 09/2020
259
EXP
Représentation en IL
Représentation :
LD Real_Value
EXP_REAL
ST Exp_Real_Value
Représentation en ST
Représentation :
Exp_Real_Value := EXP_REAL(Real_Value);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Real_Value
REAL
Valeur réelle dont on veut obtenir l’exponentielle
naturelle
-87.33654 < Real_Value < 88.72283
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Exp_Real_Value
REAL
Exponentielle naturelle de Real_Value
0 < Exp_Real_Value < 1.#INF
Erreurs d’exécution
Lorsque Real_Value est située en dehors de l’intervalle ]-87.33654, 88.72283[, le bit système
%S18 passe à 1 et le mot système %SW17 indique le type du défaut.
260
33002520 09/2020
EcoStruxure™ Control Expert
EXPT_REAL_***
33002520 09/2020
Chapitre 74
EXPT_REAL_*** : élévation d'une valeur à la puissance d'une autre valeur
EXPT_REAL_*** : élévation d'une valeur à la puissance d'une
autre valeur
Description
Description de la fonction
La fonction EXPT_REAL_*** calcule l’exponentiation d’une valeur par une autre valeur.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles sont les suivantes :
EXPT_REAL_INT,
 EXPT_REAL_DINT,
 EXPT_REAL_UINT,
 EXPT_REAL_UDINT,
 EXPT_REAL_REAL.

Formule
La formule est la suivante :
Représentation en FBD
Représentation appliquée à un réel :
33002520 09/2020
261
EXPT_REAL_***
Représentation en LD
Représentation appliquée à un réel :
Représentation en IL
Représentation appliquée à un réel :
LD Value1
EXPT_REAL_REAL Exponent
ST Expt_Real_Value
Représentation en ST
Représentation appliquée à un réel :
Expt_Real_Value := EXPT_REAL_REAL(Value1, Exponent);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Value1
REAL
Valeur dont on veut obtenir l’exponentielle par
Exponent
0 ≤ Value1 < INF
Exponent
INT,
UINT,
DINT,
UDINT,
REAL.
Exposant de l’exponentielle
-INF < Exponent < +INF
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Expt_Real__Value REAL
262
Commentaire
Exponentielle naturelle de Value1
-1 < Expt_Real_Value < +INF
33002520 09/2020
EXPT_REAL_***
Erreurs d’exécution
Lorsque Value1 est négative ou lors d’un débordement Expt_Real_Value, le bit système %S18
passe à 1 et le mot système %SW17 indique le type du défaut.
33002520 09/2020
263
EXPT_REAL_***
264
33002520 09/2020
EcoStruxure™ Control Expert
INC
33002520 09/2020
Chapitre 75
INC : incrémentation d'une variable
INC : incrémentation d'une variable
Description
Description de la fonction
La fonction INC incrémente de 1 une variable.
Le paramètre de cette fonction peut être déclaré de type ANY_INT.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation appliquée à un entier :
Représentation en LD
Représentation appliquée à un entier :
Représentation en IL
Représentation appliquée à un entier :
CAL INC(Value1)
33002520 09/2020
265
INC
Représentation en ST
Représentation appliquée à un entier :
INC(Value1);
Description des paramètres
Le tableau suivant décrit le paramètre d'entrée/sortie :
Paramètre
Type
Value1
INT, DINT, UINT, A chaque passage du programme sur cette EF la
variable Valeur1 est incrémentée d’une unité.
UDINT.
Commentaire
Erreurs d'exécution
En cas de débordement, le bit système %S18 est réglé sur 1 et la valeur incrémentée passe en
négatif (-32768 pour un entier par exemple).
266
33002520 09/2020
EcoStruxure™ Control Expert
LN
33002520 09/2020
Chapitre 76
LN : logarithme naturel
LN : logarithme naturel
Description
Description de la fonction
La fonction LN calcule le logarithme népérien d'un réel.
L'appel de la fonction s'effectue également par LN_REAL.
Les paramètres supplémentaires EN et ENO sont configurables.
Formule
La formule est la suivante :
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33002520 09/2020
267
LN
Représentation en IL
Représentation :
LD Real_Value
LN_REAL
ST Ln_Real_Value
Représentation en ST
Représentation :
Ln_Real_Value := LN_REAL(Real_Value);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Real_Value
REAL
Valeur réelle dont on veut obtenir le logarithme
népérien.
0 < Real_Value < +INF
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Ln_Real_Value
REAL
Logarithme népérien de Real_Value
-INF < Ln_Real_Value < +INF
Erreurs d'exécution
Lorsque Real_Value est négatif, le bit système %S18 passe à 1 et le mot système %SW17
indique le type de défaut.
268
33002520 09/2020
EcoStruxure™ Control Expert
LOG
33002520 09/2020
Chapitre 77
LOG : logarithme en base 10
LOG : logarithme en base 10
Description
Description de la fonction
La fonction LOG calcule le logarithme base 10 d’un réel.
L’appel de la fonction s’effectue également par LOG_REAL.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
La formule est la suivante :
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33002520 09/2020
269
LOG
Représentation en IL
Représentation :
LD Real_Value
LOG_REAL
ST Log_Real_Value
Représentation en ST
Représentation :
Log_Real_Value := LOG_REAL(Real_Value);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Real_Value
REAL
Valeur réelle dont on veut obtenir le logarithme
népérien.
0 < Real_Value < 1.#INF
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Log_Real_Value
REAL
Logarithme népérien de Real_Value
-1.#INF < Log_Real_Value < +1.#INF
Erreurs d’exécution
Lorsque Real_Value est négative, le bit système %S18 passe à 1 et le mot système %SW17
indique le type du défaut.
270
33002520 09/2020
EcoStruxure™ Control Expert
MOD
33002520 09/2020
Chapitre 78
MOD : modulo
MOD : modulo
Description
Description du fonctionnement
La fonction divise la valeur de l’entrée Dividend par celle de l’entrée Divisor et délivre le reste
de la division (Modulo) en sortie.
Les types de données de toutes les valeurs d’entrée et celui de la valeur de sortie doivent être
identiques.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
OUT = IN1 mod IN2
Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
33002520 09/2020
271
MOD
Représentation dans IL
Représentation :
LD Dividend
MOD Divisor
ST Rest
Représentation dans ST
Représentation :
Rest := MOD (Dividend, Divisor) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
Dividend
INT, DINT, UINT,
UDINT
Dividend
Divisor
INT, DINT, UINT,
UDINT
Divisor
Description des paramètres de sortie :
Paramètre
Type de données
Signification
Rest
INT, DINT, UINT,
UDINT
Modulo
Erreur d’exécution
Le bit système %S18 est réglé sur 1 si une division non autorisée par 0 est effectuée.
272
33002520 09/2020
EcoStruxure™ Control Expert
MOVE
33002520 09/2020
Chapitre 79
MOVE : affectation
MOVE : affectation
Description
Description de la fonction
La fonction affecte la valeur d'entrée à la sortie.
Il s'agit d'une fonction générique. Le type de donnée à traiter sera déterminé par la première
variable affectée à la fonction.
Lorsque l'adresse directe d'une variable doit être affectée ou inversement, commencez toujours
par affecter la variable à la fonction. L'affectation d'une adresse directe à l'entrée ou à la sortie de
la fonction n'est pas autorisée étant donné que cela ne permet de définir clairement le type de
donnée. Le chevauchement des adresses de variables n'est pas pris en charge par cette fonction
et ne s'applique qu'aux UC Quantum anciennes et au simulateur d'automate.
Les types de données des valeurs d’entrée et de sortie doivent être identiques.
NOTE : il n'est pas possible de copier un tableau d'éléments EBOOL à l'aide de la fonction MOVE,
car la fonction MOVE ne permet pas de mettre à jour l'historique des affectations des éléments du
tableau. Pour copier un tableau d'éléments EBOOL, utilisez la fonction COPY_AREBOOL_AREBOOL
(voir page 53).
EN et ENO peuvent être configurés comme paramètres supplémentaires.
Formule
OUT = IN
Représentation en FBD
Représentation :
33002520 09/2020
273
MOVE
Représentation en LD
Lorsque vous programmez à l'aide du langage à contacts (LD), vous ne pouvez pas utiliser cette
fonction avec le type de donnée BOOL car vous pouvez reproduire cette fonctionnalité à l'aide de
contacts et de bobines.
Représentation :
Représentation en IL
Représentation :
LD Input MOVE ST Output
Représentation en ST
Représentation :
Output := MOVE (Input) ;
Description des paramètres
Description du paramètre d'entrée :
Paramètre
Type
Signification
Entrée
ANY
Valeur d’entrée
Description des paramètres de sortie :
274
Paramètre
Type
Signification
Sortie
ANY
Valeur de sortie
33002520 09/2020
EcoStruxure™ Control Expert
MUL
33002520 09/2020
Chapitre 80
MUL : multiplication
MUL : multiplication
Description
Description du fonctionnement
La fonction multiplie les valeurs d’entrée et délivre le résultat en sortie.
Les types de données de toutes les valeurs d’entrée et celui de la valeur de sortie doivent être
identiques.
Il est possible d’augmenter le nombre d’entrées à 32 au maximum.
Le module MULTIME (voir page 181) est disponible pour la multiplication avec des valeurs du type
de données TIME.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
OUT = IN1 x IN2 x .. x IN n
Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
33002520 09/2020
275
MUL
Représentation dans IL
Représentation :
LD Factor1
MUL Factor2
ST Product
Représentation dans ST
Représentation :
Product := MUL (Factor1, Factor2) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
Factor1
INT, DINT, UINT,
UDINT, REAL
Multiplicande (facteur)
Factor2
INT, DINT, UINT,
UDINT, REAL
Multiplicateur (facteur)
Factorn
INT, DINT, UINT,
UDINT, REAL
Multiplicateur (facteur)
n = 32 max
Description des paramètres de sortie :
Paramètre
Type de données
Signification
Product
INT, DINT, UINT,
UDINT, REAL
Produit
Erreur d’exécution
Le bit système %S18 est configuré sur 1 si


276
la plage des valeurs est dépassée en sortie (tous les types de données disponibles)
ou
un paramètre d’entrée du type de données REAL est assorti d’un nombre en virgule flottante
non admis. De plus, dans ce cas, le statut devient %SW17.
33002520 09/2020
EcoStruxure™ Control Expert
NEG
33002520 09/2020
Chapitre 81
NEG : négation
NEG : négation
Description
Description du fonctionnement
La fonction effectue une négation de la valeur d’entrée et délivre le résultat à la sortie
NegatedOutput.
A la négation, le signe préliminaire est inversé, p. ex.
6 -> -6
-4 -> 4
NOTE : Lors du traitement des types de données INT et DINT les grandes valeurs négatives ne
peuvent pas être converties en valeurs positives. Quand cette erreur se produit, la sortie ENO n’est
alors pas mise à zéro.
NOTE : Lors du traitement des types de données UINT et UDINT un message d’erreur est toujours
généré.
Les types de données des valeurs d’entrée et de sortie doivent être identiques.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
33002520 09/2020
277
NEG
Représentation dans IL
Représentation :
LD Input
NEG
ST NegatedOutput
Représentation dans ST
Représentation :
NegatedOutput := NEG (Input) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
Input
INT, DINT, UINT,
UDINT, REAL
Entrée
Description des paramètres de sortie :
Paramètres
Type de données
Signification
NegatedOutput
INT, DINT, UINT,
UDINT, REAL
Sortie niée
Erreur d’exécution
Le bit système %S18 est configuré sur 1 si
278

lors de l'exécution de la fonction, il y a violation de la plage de valeurs à l'entrée ( types de
données INT et DINT)
ou

une valeur d’entrée du type de données UDINT ou UINT doit être convertie.
33002520 09/2020
EcoStruxure™ Control Expert
Saturation
33002520 09/2020
Chapitre 82
SATURATION : saturation
SATURATION : saturation
SATURATION : valeur REAL maximum
Description de la fonction
L'ajout d'une valeur très petite ou très élevée risque de fausser le résultat. La fonction
SATURATION calcule la valeur REAL maximum (L pour limite de saturation) qui donne un résultat
correct après l'ajout d'une valeur REAL très petite (P pour précision). Elle fournit la valeur REAL
maximum (L) et un bit d'erreur booléen qui indique si l'addition est correcte (0) ou non (1).
EN et ENO peuvent être configurés comme paramètres supplémentaires.
Formule
La formule ci-dessous explique comment est calculée la limite (valeur REAL maximum) d'une
précision (valeur REAL faible) donnée. Au-delà de cette limite, la précision est perdue et le résultat
de l'addition des deux valeurs est indiqué par une erreur de la fonction élémentaire (EF).
X = Int(Abs(Ln(P * 223) / Ln(2)))
L = 2X+2
Où P est la précision et L, la limite.
Représentation en FBD
Représentation :
33002520 09/2020
279
Saturation
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD Precision
SATURATION Valeur, Erreur, Limite
Représentation en ST
Représentation :
SATURATION (Précision, Valeur, Erreur, Limite);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Précision
REAL
Valeur REAL très petite
Valeur
REAL
Valeur REAL importante
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Erreur
BOOL
Etat de la limite de saturation :
 0 : limite de saturation non atteinte
(résultat de l'addition correct)
 1 : limite de saturation atteinte
(résultat de l'addition incorrect)
Limite
REAL
La sortie Limite indique la limite de
saturation calculée en fonction de la
précision donnée, qui est également
une précieuse information.
280
33002520 09/2020
Saturation
Exemple
Exemple de représentation :
Le tableau ci-dessous fournit des exemples avec des paramètres de sortie correspondant à
l'addition des paramètres d'entrée :
Paramètres d’entrées
Paramètres de sorties
Valeur
(REAL)
Valeur (HEX)
Précision
(REAL)
Limite
(REAL)
Limite (HEX)
Erreur
32767.5
16#46FF_FF00
0,001
32768.0
16#46FF_FF01
0 (résultat
correct)
32768.0
16#4700_0000
0,001
32768.0
16#4700_0000
1 (résultat
incorrect)
32768.5
16#4700_0080
0,001
32768.0
16#4700_0080
1 (résultat
incorrect)
NOTE : la valeur REAL affichée dans la table d'animation peut différer de la valeur binaire
encodée, en raison de l'arrondissement.
33002520 09/2020
281
Saturation
282
33002520 09/2020
EcoStruxure™ Control Expert
SIGN
33002520 09/2020
Chapitre 83
SIGN : évaluation du signe
SIGN : évaluation du signe
Description
Description de la fonction
Cette fonction permet de détecter les signes négatifs.
Avec une valeur ≥ 0 en entrée, la sortie passe à 0. Avec une valeur < 0 en entrée, la sortie passe
à 1.
NOTE : grâce à la conformité avec la norme IEC 61131-3, cette fonction s'exécute également avec
les types de données UINT et UDINT. Cela n'est pas significatif, car la fonction renvoie systématiquement un résultat égal à 0.
EN et ENO peuvent être configurés comme paramètres supplémentaires.
Formule
Formule du bloc :
OUT = 1, si IN < 0
OUT = 0, si IN ≥ 0
NOTE : les valeurs REAL et INT étant traitées différemment, voici les différents résultats obtenus
avec un 0 signé (+/-0) :
 -0.0 -> SIGN_REAL -> 1
 +0.0 -> SIGN_REAL -> 0
 -0 -> SIGN_INT/DINT -> 0
 +0 -> SIGN_INT/DINT -> 0
Représentation en FBD
Représentation :
33002520 09/2020
283
SIGN
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD Value
SIGN
ST Negativ
Représentation en ST
Représentation :
Negativ := SIGN (Value) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
Value
INT, DINT, REAL
Entrée signée
Description des paramètres de sortie :
Paramètre
Type de données
Signification
Negative
BOOL
Evaluation du signe
Erreur d'exécution
Le bit système %S18 est sur 1 et ENO sur 0 si
 une valeur en entrée du type UINT ou UDINT est à définir.
284
33002520 09/2020
EcoStruxure™ Control Expert
SIN
33002520 09/2020
Chapitre 84
SIN : sinus
SIN : sinus
Description
Description de la fonction
La fonction SIN calcule le sinus d'un angle.
Il est également possible d'exécuter la fonction via SIN_REAL.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
La formule est la suivante :
Sin_Value = Sin(Angle)
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33002520 09/2020
285
SIN
Représentation en IL
Représentation :
LD Angle
SIN_REAL
ST Sin_Value
Représentation en ST
Représentation :
Sin_Value:= SIN_REAL(Angle);
Description des paramètres
Le tableau suivant décrit le paramètre d'entrée :
Paramètre
Type
Commentaire
Angle
REAL
Angle exprimé en radians.
-2 63 < Angle < +2 63
Le tableau suivant décrit le paramètre de sortie :
Paramètre
Type
Commentaire
Sin_Value
REAL
Sinus du paramètre Angle.
-1 ≤ Sin_Value ≤ 1
Erreurs d'exécution
Si la valeur absolue du paramètre Angle est supérieure à 2 63, le bit système %S18 passe à 1 et
le mot système %SW17 indique le type de défaut.
286
33002520 09/2020
EcoStruxure™ Control Expert
SUB
33002520 09/2020
Chapitre 85
SUB : soustraction
SUB : soustraction
Description
Description du fonctionnement
La fonction soustrait la valeur de l’entrée Value2 de celle de l’entrée Value1 et délivre le résultat
en sortie.
Les types de données des valeurs d’entrée et celui de la valeur de sortie doivent être identiques.
Le module SUB_TIME (voir page 289) est disponible pour la soustraction avec des valeurs du type
de données TIME.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
Difference = Value1 - Value2
Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
33002520 09/2020
287
SUB
Représentation dans IL
Représentation :
LD Value1
SUB Value2
ST Difference
Représentation dans ST
Représentation :
Difference := SUB (Value1, Value2) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
Value1
INT, DINT, UINT,
UDINT, REAL
Opérande
Value2
INT, DINT, UINT,
UDINT, REAL
Opérande
Description des paramètres de sortie :
Paramètre
Type de données
Signification
Difference
INT, DINT, UINT,
UDINT, REAL
Différence
Erreur d’exécution
Le bit système %S18 est configuré sur 1 si
288

la plage des valeurs est dépassée en sortie (tous les types de données disponibles)
ou

un paramètre d’entrée du type de données REAL est assorti d’un nombre en virgule flottante
non admis. De plus, dans ce cas, le statut devient %SW17.
33002520 09/2020
EcoStruxure™ Control Expert
SUB_TIME
33002520 09/2020
Chapitre 86
SUB_TIME : soustraction
SUB_TIME : soustraction
Description
Description du fonctionnement
La fonction soustrait la valeur de l’entrée TimeValue2 de celle de l’entrée TimeValue1 et délivre
le résultat en sortie.
Les types de données des valeurs d’entrée et de la valeur de sortie doivent être TIME.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
Difference = TimeValue1 - TimeValue2
Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
33002520 09/2020
289
SUB_TIME
Représentation dans IL
Représentation :
LD TimeValue1
SUB TimeValue2
ST Difference
Représentation dans ST
Représentation :
Difference := SUB (TimeValue1, TimeValue2) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
TimeValue1
TIME
Diminuende
TimeValue2
TIME
Diminuteur
Description des paramètres de sortie :
Paramètre
Type de données
Signification
Difference
TIME
Différence
Erreur d’exécution
Le bit système %S18 est configuré sur 1 si

290
la plage des valeurs est dépassée en sortie
33002520 09/2020
EcoStruxure™ Control Expert
SQRT_***
33002520 09/2020
Chapitre 87
SQRT_*** : racine carrée
SQRT_*** : racine carrée
Description
Description de la fonction
La fonction SQRT_*** extrait la racine carrée d'une variable. Elle peut être appelée à l'aide d'un nom
générique ou d'un des noms de fonction décrits ci-dessous.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles sont les suivantes :
SQRT_INT ;
 SQRT_DINT ;
 SQRT_REAL.

Représentation en FBD
Représentation appliquée à un entier :
Représentation en LD
Représentation appliquée à un entier :
33002520 09/2020
291
SQRT_***
Représentation en IL
Représentation appliquée à un entier :
LD Value1
SQRT_REAL
ST Sqrt_Value1
Représentation en ST
Représentation appliquée à un entier :
Sqrt_Value1 := SQRT_REAL(Value1);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Value1
Commentaire
INT, DINT, REAL. Variable dont vous souhaitez extraire la racine carrée.
Value1
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Sqrt_Value1 INT, DINT, REAL. Sqrt_Value1 contient la racine carrée de Value1.
Sqrt_Value1 est du même type que Value1.
Lorsque le type est INT, Sqrt_Value1 est arrondi à
la valeur inférieure : Value1 = 15, Sqrt_Value1 = 3.
Erreurs d'exécution
Lorsque Value1 est de type REAL et négatif, le résultat de la fonction contient -1.#NAN et le bit
%S18 = 1.
Si Value1 est négatif et de type INT ou DINT, le résultat de la fonction contient la valeur négative
Value1 et le bit %S18 = 1.
Si %S18 = 1, le mot système %SW17 indique le type de défaut.
292
33002520 09/2020
EcoStruxure™ Control Expert
TAN
33002520 09/2020
Chapitre 88
TAN : tangente
TAN : tangente
Description
Description de la fonction
La fonction TAN calcule la tangente d'un angle.
Il est également possible d'exécuter la fonction via TAN_REAL.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
La formule est la suivante :
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33002520 09/2020
293
TAN
Représentation en IL
Représentation :
Angle LD
TAN_REAL
Tan_Value ST
Représentation en ST
Représentation :
Tan_Value:= TAN_REAL(Angle);
Description des paramètres
Le tableau suivant décrit les paramètres d'entrée :
Paramètre
Type
Commentaire
Angle
REAL
Angle exprimé en radians.
-2 63 < Angle < +2 63
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Tan_Value
REAL
Tangente du paramètre Angle.
-1.#INF < Tan_Value < +1.#INF
Erreurs d'exécution
Si la valeur absolue du paramètre Angle est supérieure à 2 63, le bit système %S18 passe à 1 et
le mot système %SW17 indique le type de défaut.
294
33002520 09/2020
EcoStruxure™ Control Expert
REF
33002520 09/2020
Partie IX
REF
REF
33002520 09/2020
295
REF
296
33002520 09/2020
EcoStruxure™ Control Expert
REF
33002520 09/2020
Chapitre 89
REF : fait référence à une variable
REF : fait référence à une variable
Description
Description de la fonction
L'EF REF donne une référence à la variable (adresse de) ANY.
NOTE : Pour plus d'informations sur l'utilisation du type de données Reference, reportez-vous au
chapitre Déclarations de types de données Reference (voir EcoStruxure™ Control Expert,
Langages de programmation et structure, Manuel de référence).
EN et ENO peuvent être configurés comme paramètres supplémentaires.
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD Variable_1
REF
ST Ref_to_Variable_1
Représentation en ST
Représentation :
Ref_to_Variable_1 := REF (Variable_1) ;
33002520 09/2020
297
REF
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
Variable_1
ANY
Variable à référencer.
Description du paramètre de sortie :
298
Paramètre
Type de données
Signification
Ref_to_Variable_1
REF_ANY
Variable de référence à lier à Variable_1. Après l'exécution
de la fonction, Ref_to_Variable_1 fait référence à
Variable_1.
33002520 09/2020
EcoStruxure™ Control Expert
Statistique
33002520 09/2020
Partie X
Statistique
Statistique
Vue d'ensemble
Cette partie décrit les fonctions et blocs fonction élémentaires de la famille Statistique.
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
Titre du chapitre
Page
90
AVE : Moyenne
301
91
LIMIT : limite
305
92
LIMIT_IND : limite avec indicateur
309
93
MAX : fonction de valeur maximum
313
94
MIN : fonction de valeur minimum
315
95
MUX : multiplexeur
317
96
SEL : sélection binaire
321
33002520 09/2020
299
Statistique
300
33002520 09/2020
EcoStruxure™ Control Expert
AVE
33002520 09/2020
Chapitre 90
AVE : Moyenne
AVE : Moyenne
Description
Description de la fonction
La procédure calcule la moyenne des valeurs d'entrée pondérées et donne le résultat en sortie.
Deux entrées successives (K_Xn) représentent une paire de valeurs. La première entrée K_Xn
correspond à K1, la suivante à X1, celle qui suit à K2, etc.
Le nombre d'entrées K_Xn peut atteindre 32 en modifiant verticalement la taille de la trame du bloc.
Cela correspond à 16 paires de valeurs maximum.
Le nombre d'entrées doit être pair ; sinon AVE génère une erreur système et définit ENO sur Faux.
Les types de données de toutes les valeurs d'entrée et de sortie doivent être identiques.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.
Formule
Formule du bloc :
Représentation en FBD
Représentation :
33002520 09/2020
301
AVE
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD FactorFirstValue
AVE FirstValue, FactorSecondValue, SecondValue
ST Result
Représentation en ST
Représentation :
Result := AVE (FactorFirstValue, FirstValue,
FactorSecondValue, SecondValue) ;
302
33002520 09/2020
AVE
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
FactorFirstValue
INT, DINT, UINT,
UDINT, REAL
Facteur (K1) pour la première valeur
FirstValue
INT, DINT, UINT,
UDINT, REAL
Première valeur (X1)
FactorSecondValue
INT, DINT, UINT,
UDINT, REAL
Facteur (K2) pour la seconde valeur
FactorSecondValue
INT, DINT, UINT,
UDINT, REAL
Seconde valeur (X2)
:
FactorHalfnValue
INT, DINT, UINT,
UDINT, REAL
Facteur pour la valeur
HalfnValue
INT, DINT, UINT,
UDINT, REAL
Valeur
de (K_X(n-1))
de K_X(n)
n = 32 max.
Description des paramètres de sortie :
Paramètre
Type de données
Signification
Résultat
INT, DINT, UINT, UDINT,
REAL
Valeur moyenne
Erreur d'exécution
Le bit système %S18 est mis à 1 si :



la plage de valeurs de la sortie est dépassée (tous les types de données disponibles)
ou
une division non valide par 0 est exécutée (tous les types de données disponibles)
ou
un numéro à virgule flottante non autorisé est défini sur un paramètre d'entrée de type REAL.
Dans ce cas, l'état est également placé dans %SW17.
Remarque : L'indicateur %SW17.1 (opérande non normalisé/le résultat est acceptable) n'est
pas géré par la procédure AVE.
NOTE : Pour obtenir une liste de tous les codes et de toutes les valeurs d'erreur de bloc, reportezvous à la section Statistiques, page 505.
33002520 09/2020
303
AVE
304
33002520 09/2020
EcoStruxure™ Control Expert
LIMIT
33002520 09/2020
Chapitre 91
LIMIT : limite
LIMIT : limite
Description
Description de la fonction
Cette fonction transfère la valeur en entrée non modifiée (Input) à la sortie si la valeur en entrée
n'est pas inférieure à la valeur minimum (LowerLimit) et ne dépasse pas la valeur maximum
(UpperLimit). Si la valeur en entrée (Input) est inférieure à la valeur minimum (LowerLimit),
la valeur minimum est transférée en sortie. Si la valeur en entrée (Input) est supérieure à la valeur
maximum (UpperLimit), la valeur maximum est transférée en sortie.
Les types de données de l'ensemble des valeurs en entrée et en sortie doivent être identiques.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
OUT = IN, if (IN ≥ MN) & (IN ≤ MX)
OUT = MN, if (IN < MN)
OUT = MX, if (IN > MX)
Représentation en FBD
Représentation :
33002520 09/2020
305
LIMIT
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD LowerLimit
LIMIT Input, UpperLimit
ST Output
Représentation en ST
Représentation :
Output := LIMIT (LowerLimit, Input, UpperLimit) ;
306
33002520 09/2020
LIMIT
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
MN
BOOL, BYTE, WORD,
DWORD, INT, DINT,
UINT, UDINT, REAL,
TIME
Limite inférieure
IN
BOOL, BYTE, WORD,
DWORD, INT, DINT,
UINT, UDINT, REAL,
TIME
Entrée
MX
BOOL, BYTE, WORD,
DWORD, INT, DINT,
UINT, UDINT, REAL,
TIME
Limite supérieure
Description du paramètre de sortie :
Paramètre
Type de données
Signification
OUT
BOOL, BYTE, WORD,
DWORD, INT, DINT,
UINT, UDINT, REAL,
TIME
Sortie
Erreur d'exécution
S'il y a un nombre en virgule flottante non autorisé en entrée, un message d'erreur est renvoyé.
NOTE : Lorsque le paramètre d'entrée de type de données REAL est hors plage (en dehors de la
plage de -1,175494e-38 à +1,175494e-38), le bit système %S18 et %SW17 ne sont pas mis à jour.
33002520 09/2020
307
LIMIT
308
33002520 09/2020
EcoStruxure™ Control Expert
LIMIT_IND
33002520 09/2020
Chapitre 92
LIMIT_IND : limite avec indicateur
LIMIT_IND : limite avec indicateur
Description
Description du fonctionnement
Cette procédure transmet la valeur d’entrée inchangée (Input) à la sortie quand la valeur d’entrée
reste comprise entre la valeur minimale (LowerLimit) et la valeur maximale (UpperLimit).
Quand la valeur d'entrée (Input) est en dessous de la valeur minimale (LimitMinimum), la
valeur minimale est transmise à la sortie. Quand la valeur d'entrée (Input) dépasse la valeur
maximale (LimitMaximum), la valeur maximale est transmise à la sortie.
Le dépassement de la valeur minimale ou maximale est signalé. Quand la valeur d'entrée (Input)
reste en dessous de la valeur d'entrée (LimitMinimum), la sortie (MinimumViolation) passe
à "1". Quand la valeur d'entrée (Input) dépasse la valeur d'entrée (LimitMaximum), la sortie
(MaximumViolation) passe à "1".
Les types de données des valeurs d’entrée (LimitMinimum, Input, LimitMaximum) et celui de
la valeur de sortie (Output) doivent être identiques.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
Formule du bloc :
OUT = IN, si (IN ≤ MX) & IN ≥ MN
OUT = MN, si (IN < MN)
OUT = MX, si (IN > MX)
MN_IND = 0, si IN ≥ MN
MN_IND = 1, si IN < MN
MX_IND = 0, si IN ≤ MX
MX_IND = 1, si IN > MX
33002520 09/2020
309
LIMIT_IND
Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
LD LimitMinimum
LIMIT_IND Input, LimitMaximum, MinimumViolation,
Output, MaximumViolation
Représentation dans ST
Représentation :
LIMIT_IND (LimitMinimum, Input, LimitMaximum,
MinimumViolation, Output, MaximumViolation);
310
33002520 09/2020
LIMIT_IND
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
LimitMinimum
BOOL, BYTE, WORD,
DWORD, INT, DINT,
UINT, UDINT, REAL,
TIME
Limitation de valeur minimale
Input
BOOL, BYTE, WORD,
DWORD, INT, DINT,
UINT, UDINT, REAL,
TIME
Entrée
LimitMaximum
BOOL, BYTE, WORD,
DWORD, INT, DINT,
UINT, UDINT, REAL,
TIME
Limitation de valeur maximale
Description des paramètres de sortie :
Paramètres
Type de données
Signification
MinimumViolation
BOOL
Affichage du dépassement de la valeur minimale
Output
BOOL, BYTE, WORD,
DWORD, INT, DINT,
UINT, UDINT, REAL,
TIME
Sortie
MaximumViolation
BOOL
Affichage du dépassement de valeur maximale
33002520 09/2020
311
LIMIT_IND
312
33002520 09/2020
EcoStruxure™ Control Expert
MAX
33002520 09/2020
Chapitre 93
MAX : fonction de valeur maximum
MAX : fonction de valeur maximum
Description
Description de la fonction
Cette fonction affecte à la sortie la valeur d'entrée la plus élevée.
Les types de données de l'ensemble des valeurs en entrée et en sortie doivent être identiques.
Il est possible d'augmenter le nombre d'entrées.
EN et ENO peuvent être configurés comme paramètres supplémentaires.
Formule
OUT = MAX {IN1, IN2, ..., INn}
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33002520 09/2020
313
MAX
Représentation en IL
Représentation :
LD Value1
MAX Value2
ST Maximum
Représentation en ST
Représentation :
Maximum := MAX (Value1, Value2) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
Value1
BOOL, BYTE, WORD,
DWORD, INT, DINT,
UINT, UDINT, REAL,
TIME
Valeur d'entrée n
Value2
BOOL, BYTE, WORD,
DWORD, INT, DINT,
UINT, UDINT, REAL,
TIME
Valeur d'entrée 2
Valuen
BOOL, BYTE, WORD,
DWORD, INT, DINT,
UINT, UDINT, REAL,
TIME
Valeur d'entrée n
n = max. 32
Description des paramètres de sortie :
Paramètre
Type de données
Signification
Maximum
BOOL, BYTE, WORD,
DWORD, INT, DINT,
UINT, UDINT, REAL,
TIME
Valeur maximale
Erreur d'exécution
Lorsque le paramètre d'entrée de type de données REAL est hors plage (en dehors de la plage de
-1,175494e-38 à +1,175494e-38), le bit système %S18 et %SW17 ne sont pas mis à jour.
NOTE : Pour une liste exhaustive des valeurs et des messages d'erreur de bloc, voir Erreurs
courantes relatives aux valeurs à virgule flottante, page 507.
314
33002520 09/2020
EcoStruxure™ Control Expert
MIN
33002520 09/2020
Chapitre 94
MIN : fonction de valeur minimum
MIN : fonction de valeur minimum
Description
Description de la fonction
La fonction affecte la valeur d'entrée la plus faible à la sortie.
Les types de données de l'ensemble des valeurs d'entrée et des valeurs de sortie doivent être
identiques.
Il est possible d'augmenter le nombre d'entrées.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.
Formule
OUT = MIN {IN1, IN2, ..., INn}
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33002520 09/2020
315
MIN
Représentation en IL
Représentation :
LD Value1
MIN Value2
ST Minimum
Représentation en ST
Représentation :
Minimum := MIN (Value1, Value2) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
Value1
BOOL, BYTE, WORD,
DWORD, INT, DINT,
UINT, UDINT, REAL,
TIME
1. Valeur d'entrée
Value2
BOOL, BYTE, WORD,
DWORD, INT, DINT,
UINT, UDINT, REAL,
TIME
2. Valeur d'entrée
Valuen
BOOL, BYTE, WORD,
DWORD, INT, DINT,
UINT, UDINT, REAL,
TIME
n. Valeur d'entrée
n = max 32
Description des paramètres de sortie :
Paramètre
Type de données
Signification
Min.
BOOL, BYTE, WORD,
DWORD, INT, DINT,
UINT, UDINT, REAL,
TIME
Valeur minimum
Erreur d'exécution
Si une virgule flottante non autorisée est créée pour un paramètre d'entrée dont le type de données
est REAL, le bit système %S18 est défini sur 1 et l'état est placé dans %SW17.
NOTE : Pour obtenir la liste de tous les messages et valeurs d'erreur du bloc, reportez-vous à la
section Erreurs courantes relatives aux valeurs à virgule flottante, page 507.
316
33002520 09/2020
EcoStruxure™ Control Expert
MUX
33002520 09/2020
Chapitre 95
MUX : multiplexeur
MUX : multiplexeur
Description
Description de la fonction
Cette fonction transfère l'entrée en sortie selon la valeur de l'entrée K.
Il est possible d'augmenter le nombre d'entrées.
EN et ENO peuvent être configurés comme paramètres supplémentaires.
Exemple
K = 0 : l'entrée IN0 est transférée en sortie.
K = 1 : l'entrée IN1 est transférée en sortie.
K = 5 : l'entrée IN5 est transférée en sortie.
K = n : l'entrée INn est transférée en sortie.
Types de données
Les types de données des entrées Input0 à Inputn et de la sortie doivent être identiques.
Représentation en FBD
Représentation :
33002520 09/2020
317
MUX
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD Selection
MUX Input0, Input1
ST Output
Représentation en ST
Représentation :
Output := MUX (Selection, Input0, Input1) ;
318
33002520 09/2020
MUX
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
K
INT, DINT, UINT,
UDINT
Entrée de sélection
K = 0…30
IN0
ANY
1. Entrée
IN1
ANY
2. Entrée
IN2
ANY
3. Entrée
INn
ANY
n+1. entrée, n = max. 30
Description des paramètres de sortie :
Paramètre
Type de données
Signification
OUT
ANY
Sortie
Erreur d'exécution
Lorsque la valeur de l'entrée K (sélecteur) est hors limites, un message d'erreur s'affiche dans la
fenêtre Visualisation du diagnostic (voir EcoStruxure™ Control Expert, Diagnostic, Bibliothèque de
blocs) ; le mot %SW125 (voir EcoStruxure™ Control Expert, Bits et mots système, Manuel de
référence) contient le code d'erreur correspondant.
NOTE : Pour obtenir la liste des valeurs et des codes d'erreur de bloc, reportez-vous à Statistiques,
page 505.
33002520 09/2020
319
MUX
320
33002520 09/2020
EcoStruxure™ Control Expert
SEL
33002520 09/2020
Chapitre 96
SEL : sélection binaire
SEL : sélection binaire
Description
Description du fonctionnement
La fonction sélectionne l’une des deux valeurs d’entrée.
En fonction de l’état de l’entrée Selection, l’entrée transmise à la sortie Output est soit Input0
soit Input1.
Selection = 0 -> Output = Input0
Selection = 1 -> Output = Input1
Les types de données des valeurs d’entrée Input0 et Input1 et celui de la valeur de sortie
Output doivent être identiques.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation dans FBD
Représentation :
33002520 09/2020
321
SEL
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
LD Selection
SEL Input0, Input1
ST Output
Représentation dans ST
Représentation :
Output := SEL (Selection, Input0, Input1) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
Selection
BOOL
Entrée de sélection
Input0
ANY
Entrée 0
Input1
ANY
Entrée 1
Description des paramètres de sortie :
322
Paramètre
Type de données
Signification
Output
ANY
Sortie
33002520 09/2020
EcoStruxure™ Control Expert
Chaînes de caractères
33002520 09/2020
Partie XI
Chaînes de caractères
Chaînes de caractères
Vue d'ensemble
Cette partie décrit les fonctions et blocs fonction élémentaires de la famille Chaînes de
caractères.
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
Titre du chapitre
Page
97
CONCAT_STR : concaténation de deux chaînes de caractères
325
98
DELETE_INT : suppression d'une sous-chaîne de caractères
327
99
EQUAL_STR : comparaison de deux chaînes de caractères
329
100
FIND_INT : recherche d'une sous-chaîne de caractères
331
101
INSERT_INT : insertion d'une sous-chaîne de caractères
333
102
LEFT_INT : extraction de caractères vers la gauche
337
103
LEN_INT : longueur d'une chaîne de caractères
339
104
MID_INT : extraction d'une sous-chaîne de caractères
341
105
REPLACE_INT : remplacement d'une sous-chaîne de caractères
343
106
RIGHT_INT : extraction d'une chaîne de caractères vers la droite
347
33002520 09/2020
323
Chaînes de caractères
324
33002520 09/2020
EcoStruxure™ Control Expert
CONCAT_STR
33002520 09/2020
Chapitre 97
CONCAT_STR : concaténation de deux chaînes de caractères
CONCAT_STR : concaténation de deux chaînes de caractères
Description
Description de la fonction
La fonction CONCAT_STR concatène deux chaînes de caractères.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD String1
CONCAT_STR String2
ST Result_String
33002520 09/2020
325
CONCAT_STR
Représentation en ST
Représentation :
Result_String := CONCAT_STR(String1, String2);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
String1
STRING
Première chaîne de caractères à concaténer.
Exemple : String1 contient « SWITCH TO »
String2
STRING
Seconde chaîne de caractères à concaténer.
Exemple : String2 contient « RUN »
NOTE : CONCAT_STR n'insère pas un espace vide entre les chaînes d'entrée. Pour faciliter la
lecture de Result_String, il peut être nécessaire d'ajouter un espace vide à la fin de String1
ou au début de String2.
Le tableau suivant décrit le paramètre de sortie :
Paramètre
Type
Commentaire
Result_String
STRING
Chaîne résultante égale au contenu des deux chaînes
String1 et String2.
Exemple : pour les valeurs d’exemple du tableau
précédent, Result_String contient « SWITCH TO
RUN »
Erreurs d’exécution
Le bit %S15 est réglé sur 1 dans les cas suivants :
 Si la chaîne Result_String est trop courte pour contenir le résultat, ce dernier est tronqué.
Dans le cas contraire, la chaîne Result_String est complétée par des caractères NUL
(16#00).
 Si la chaîne Result_String est utilisée comme entrée sur IN2.
326
33002520 09/2020
EcoStruxure™ Control Expert
DELETE_INT
33002520 09/2020
Chapitre 98
DELETE_INT : suppression d'une sous-chaîne de caractères
DELETE_INT : suppression d'une sous-chaîne de caractères
Description
Description de la fonction
La fonction DELETE_INT supprime un nombre donné de caractères à partir d'un certain rang. Le
résultat est une chaîne de caractères.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
NOTE : Si la chaîne Result_String de cette fonction se trouve sur %MW, elle n'est pas
complétée par des caractères NUL (16#00). Il est recommandé d'effacer le contenu de la chaîne
Result_String avant d'utiliser cette fonction.
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33002520 09/2020
327
DELETE_INT
Représentation en IL
Représentation :
LD String1
DELETE_INT Length_Str, Position
ST Result_String
Représentation en ST
Représentation :
Result_String = DELETE_INT(String1, Length_Str, Position);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
String1
STRING
Chaîne de caractères d'origine dont on veut supprimer
certains éléments.
Exemple : String1 contient "SWITCH TO STOP"
Length_Str
INT
Position
INT
Longueur de la chaîne à supprimer.
Exemple : Length_Str =10
Rang du premier caractère de la chaîne à supprimer.
Exemple : Position =1
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Result_String
STRING
Chaîne résultante correspondant au contenu de
String1 dont on a supprimé Length_Str caractères
à partir du rang Position.
Exemple : pour les valeurs de l'exemple du tableau
précédent, Result_String contient "STOP"
(10 caractères ont été supprimés à partir de la
position 1).
328
33002520 09/2020
EcoStruxure™ Control Expert
EQUAL_STR
33002520 09/2020
Chapitre 99
EQUAL_STR : comparaison de deux chaînes de caractères
EQUAL_STR : comparaison de deux chaînes de caractères
Description
Description de la fonction
La fonction EQUAL_STR compare deux chaînes de caractères.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD String1
EQUAL_STR String2
ST Position
33002520 09/2020
329
EQUAL_STR
Représentation en ST
Représentation :
Position := EQUAL_STR(String1, String2);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
String1
STRING
Première chaîne de caractères à comparer.
Exemple : String1 contient ‘MISE EN STOP’
String2
STRING
Seconde chaîne de caractères à comparer.
Exemple : String2 contient ‘MISE EN RUN’
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Position
INT
Position du premier caractère qui diffère entre les deux
chaînes String1 et String2.
Lorsque les deux chaînes sont identiques,
Position = -1.
Exemple : avec les valeurs d’exemple indiquées dans le
tableau précédent, Position = 9
Note : les caractères majuscules sont différents des
caractères minuscules.
330
33002520 09/2020
EcoStruxure™ Control Expert
FIND_INT
33002520 09/2020
Chapitre 100
FIND_INT : recherche d'une sous-chaîne de caractères
FIND_INT : recherche d'une sous-chaîne de caractères
Description
Description de la fonction
La fonction FIND_INT recherche l’apparition d’une chaîne de caractères dans une autre chaîne.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD String1
FIND_INT String2
ST Position
33002520 09/2020
331
FIND_INT
Représentation en ST
Représentation :
Position := FIND_INT(String1, String2);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
String1
STRING
Chaîne de caractères dans laquelle la recherche
s’effectue.
String2
STRING
Exemple : String1 contient ‘MISE EN STOP’
Chaîne de caractères contenant le texte à chercher
Exemple : String2 contient ‘STOP’
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Position
INT
Si String2 est contenue dans String1, Position
contient le rang du premier caractère de String2
trouvé dans String1.
Lorsque String2 n’est pas contenue dans String1,
Position = -1.
Exemple : avec les valeurs d’exemple indiquées dans le
tableau précédent, Position = 9
332
33002520 09/2020
EcoStruxure™ Control Expert
INSERT_INT
33002520 09/2020
Chapitre 101
INSERT_INT : insertion d'une sous-chaîne de caractères
INSERT_INT : insertion d'une sous-chaîne de caractères
Description
Description de la fonction
La fonction INSERT_INT insère une chaîne de caractères dans une autre chaîne de caractères à
partir d'un certain rang. Le résultat est une chaîne de caractères.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33002520 09/2020
333
INSERT_INT
Représentation en IL
Représentation :
LD String1
INSERT_INT String2, Position
ST Result_String
Représentation en ST
Représentation :
Result_String:= INSERT_INT(String1, String2, Position);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
String1
STRING
Chaîne de caractères d'origine à laquelle est ajoutée
une autre chaîne de caractères à partir d'une certaine
position.
String2
STRING
Position
INT
Exemple : String1 contient ‘DEMARRER LE CYCLE’.
Chaîne de caractères à insérer dans String1.
Exemple : String2 contient « AUTO ».
Rang du caractère après lequel est insérée String2.
Exemple : Position =5
Le tableau suivant décrit le paramètre de sortie :
Paramètre
Type
Commentaire
Result_String
STRING
La chaîne String2 a été insérée dans la chaîne
String1 après la position Position pour former
Result_String.
Exemple : Pour les valeurs de l'exemple du tableau
précédent, Result_String contient « START AUTO
CYCLE ».
Remarque : Il est impossible d'effectuer une insertion
en début de chaîne avec cette fonction (utilisez la
fonction CONCAT_STR (voir page 325)).
334
33002520 09/2020
INSERT_INT
Erreurs d’exécution
Le bit %S15 est réglé sur 1 dans les cas suivants :



Si Position ≤ 0, la chaîne Result_String est constituée de caractères de fin de chaîne
(16#00).
La taille maximale de la chaîne Result_String est trop petite pour insérer String2. La
chaîne Result_String est tronquée.
Si la chaîne Result_String est utilisée comme entrée sur IN1 ou IN2.
33002520 09/2020
335
INSERT_INT
336
33002520 09/2020
EcoStruxure™ Control Expert
LEFT_INT
33002520 09/2020
Chapitre 102
LEFT_INT : extraction de caractères vers la gauche
LEFT_INT : extraction de caractères vers la gauche
Description
Description de la fonction
La fonction LEFT_INT extrait un nombre donné de caractères à partir de l'extrémité gauche d’une
chaîne. Le résultat est une chaîne de caractères.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
NOTE : Si la chaîne Result_String de cette fonction se trouve sur %MW, elle n'est pas complétée
par des caractères NUL (16#00). Il est recommandé d'effacer le contenu de la chaîne
Result_String avant d'utiliser cette fonction.
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33002520 09/2020
337
LEFT_INT
Représentation en IL
Représentation :
LD String1
LEFT_INT Length_Str
ST Result_String
Représentation en ST
Représentation :
Result_String := LEFT_INT(String1, Length_Str);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
String1
STRING
Chaîne de caractères dont on veut extraire les
Length_Str caractères les plus à gauche.
Exemple : String1 contient "SWITCH TO STOP"
Length_Str
INT
Nombre de caractères à extraire.
Exemple : Length_Str =9
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Result_String
STRING
Chaîne contenant les Length_Str caractères les plus
à gauche de String1.
Exemple : pour les valeurs de l'exemple fourni dans le
tableau précédent, Result_String contient
"SWITCH TO" (les 9 caractères les plus à gauche de
String1).
Erreurs d'exécution
Le bit %S15 est réglé sur 1 dans les cas suivants :




String1 est vide ou Length_Str < 0.
La taille maximale de la chaîne Result_String est inférieure à Length_Str.
La taille de la chaîne String1 est inférieure à Length_Str.
Si la chaîne String1 n'a pas de valeur et si la longueur est 0, %S15 est mis à 1.
NOTE : Dans tous ces cas de figure, le contenu de Result_String n'est pas défini et doit être
considéré comme tel pour le traitement ultérieur.
338
33002520 09/2020
EcoStruxure™ Control Expert
LEN_INT
33002520 09/2020
Chapitre 103
LEN_INT : longueur d'une chaîne de caractères
LEN_INT : longueur d'une chaîne de caractères
Description
Description de la fonction
La fonction LEN_INT calcule le nombre de caractères d’une chaîne de caractères.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD String1
LEN_INT
ST Length_Str
33002520 09/2020
339
LEN_INT
Représentation en ST
Représentation :
Length_Str := LEN_INT(String1);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
String1
STRING
Chaîne de caractères dont la longueur est recherchée.
Exemple : String1 contient ‘MISE EN STOP’
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Length_Str
INT
Length_Str contient la longueur de la chaîne de
caractères String1.
Exemple : avec les valeurs d’exemple indiquées dans le
tableau précédent, Length_Str = 12
340
33002520 09/2020
EcoStruxure™ Control Expert
MID_INT
33002520 09/2020
Chapitre 104
MID_INT : extraction d'une sous-chaîne de caractères
MID_INT : extraction d'une sous-chaîne de caractères
Description
Description de la fonction
La fonction MID_INT extrait une sous-chaîne de caractères à partir d’un certain rang. Le résultat
est une chaîne de caractères.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33002520 09/2020
341
MID_INT
Représentation en IL
Représentation :
LD String1
MID_INT Length_Str, Position
ST Result_String
Représentation en ST
Représentation :
Result_String := MID_INT(String1, Length_Str, Position);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
String1
STRING
Chaîne d’origine contenant la sous-chaîne à extraire.
Length_Str
INT
Exemple : String1 contient ‘MISE EN STOP’
Longueur de la sous-chaîne à extraire.
Exemple : Length_Str =4
Position
INT
Rang du premier caractère de la sous-chaîne à extraire.
Exemple : Position =9
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Result_String
STRING
Sous-chaîne de String1 à partir du rang Position
sur une longueur de Length_Str.
Exemple : pour les valeurs d’exemple du tableau
précédent, Result_String contient ‘STOP’.
342
33002520 09/2020
EcoStruxure™ Control Expert
REPLACE_INT
33002520 09/2020
Chapitre 105
REPLACE_INT : remplacement d'une sous-chaîne de caractères
REPLACE_INT : remplacement d'une sous-chaîne de
caractères
Description
Description de la fonction
La fonction REPLACE_INT remplace une chaîne de caractères dans une autre chaîne de
caractères à partir d'un certain rang et sur une longueur donnée. Le résultat est une chaîne de
caractères.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
NOTE : Si la chaîne Result_String de cette fonction se trouve sur %MW, elle n'est pas
complétée par des caractères NUL (16#00). Il est recommandé d'effacer le contenu de la chaîne
Result_String avant d'utiliser cette fonction.
Représentation en FBD
Représentation :
33002520 09/2020
343
REPLACE_INT
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD String1
REPLACE_INT String2, Length_Str, Position
ST Result_String
Représentation en ST
Représentation :
Result_String:= REPLACE_INT(String1, String2, Length_Str, Position);
344
33002520 09/2020
REPLACE_INT
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
String1
STRING
Chaîne de caractères originale dans laquelle est
insérée une sous-chaîne de caractères à partir de
Position sur la longueur Length_Str.
Exemple : String1 contient "SWITCH TO RUN"
Remarque : Length_Str est la longueur du texte à
remplacer et non celle de la chaîne String2. En effet,
la chaîne de remplacement peut avoir une longueur
différente de la chaîne remplacée.
String2
STRING
Length_Str
INT
Chaîne de caractères à insérer dans String1 pour
remplacer les caractères existants.
Exemple : String2 contient "STOP"
Nombre de caractères à remplacer dans String1 par
String2
Exemple : Length_Str =3
Position
INT
Rang du premier caractère de la sous-chaîne à
remplacer
Exemple : Position =11
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Result_String
STRING
La chaîne String2 a remplacé Length_Str
caractères à partir du rang Position de la chaîne
String1 pour former Result_String.
Exemple : pour les valeurs de l'exemple fourni dans le
tableau précédent, Result_String contient
"SWITCH TO STOP".
33002520 09/2020
345
REPLACE_INT
Erreurs d'exécution
Le bit %S15 est réglé sur 1 dans les cas suivants :




346
Position ≤ 0. La chaîne Result_String est alors constituée de caractères de fin de
chaîne (16#00).
La taille maximale de la chaîne Result_String est trop petite pour insérer String2. La
chaîne Result_String est alors tronquée.
Position a une valeur supérieure à la longueur de String1. La chaîne Result_String est
alors égale à String1.
La chaîne Result_String est utilisée comme entrée sur IN2.
33002520 09/2020
EcoStruxure™ Control Expert
RIGHT_INT
33002520 09/2020
Chapitre 106
RIGHT_INT : extraction d'une chaîne de caractères vers la droite
RIGHT_INT : extraction d'une chaîne de caractères vers la
droite
Description
Description de la fonction
La fonction RIGHT_INT extrait un certain nombre de caractères situés les plus à droite d’une
chaîne. Le résultat est une chaîne de caractères.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD String1
RIGHT_INT Length_Str
ST Result_String
33002520 09/2020
347
RIGHT_INT
Représentation en ST
Représentation :
Result_String:= RIGHT_INT(String1, Length_Str);
Description des paramètres
Le tableau suivant décrit les paramètres d'entrée :
Paramètre
Type
Commentaire
String1
STRING
Chaîne de caractères dont on veut extraire les
Length_Str caractères les plus à droite.
Exemple : String1 contient « BASCULEMENT VERS
STOP ».
Length_Str
INT
Nombre de caractères à extraire.
Exemple : Length_Str =4
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Result_String
STRING
Chaîne contenant les Length_Str caractères les plus
à droite de String1.
Exemple : si l'on reprend l'exemple du tableau
précédent, Result_String contient « STOP » (les
4 caractères les plus à droite de String1).
Erreurs d'exécution
Le bit %S15 est mis à 1 dans les cas suivants :




String1 est vide ou Length_Str < 0 ;
la taille maximale de la chaîne Result_String est inférieure à Length_Str ;
la taille maximale de la chaîne String1 est inférieure à Length_Str ;
si la chaîne String1 n'a pas de valeur et si la longueur est nulle, %S15 est mis à 1.
NOTE : dans tous ces cas de figure, le contenu de Result_String n'est pas défini et doit être traité
en tant que tel pour le traitement ultérieur.
348
33002520 09/2020
EcoStruxure™ Control Expert
Temporisateur et Compteur
33002520 09/2020
Partie XII
Temporisateur et Compteur
Temporisateur et Compteur
Vue d'ensemble
Cette section décrit les fonctions et blocs fonction élémentaires de la famille Temporisateur et
Compteur.
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
Titre du chapitre
Page
107
CTD, CTD_*** : décompteur
351
108
CTU, CTU_*** : compteur
353
109
CTUD, CTUD_*** : compteur/décompteur
355
110
TOF : délai à la désactivation
359
111
TON : délai à l'activation
361
112
TP : impulsion
363
33002520 09/2020
349
Temporisateur et Compteur
350
33002520 09/2020
EcoStruxure™ Control Expert
CTD, CTD_***
33002520 09/2020
Chapitre 107
CTD, CTD_*** : décompteur
CTD, CTD_*** : décompteur
Description
Description du fonctionnement
Ces blocs fonction servent au décompte.
En présence d’un signal "1" à l’entrée LD, la valeur de l’entrée PV est attribuée à la sortie CV.
Chaque fois que la valeur, à l’entrée CD, passe de "0" à "1", la valeur de CV est décrémentée de 1.
Si CV ≤ 0, la sortie Q est à "1".
NOTE : Le compteur ne fonctionne que jusqu'aux valeurs minimum du type de données utilisé.
Aucun débordement n’a lieu.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Le bloc fonction existe dans deux classes différentes :
CTD
Cette classe du bloc fonction est définie dans la norme IEC 61131-3 et ne fonctionne qu'avec
le type de données INT.
 CTD_***
Cette classe du bloc fonction est conçue comme une extension conforme à la norme IEC
61131-3 afin de couvrir d'autres types de données. Les modules suivants sont disponibles :
 CTD_INT
 CTD_DINT
 CTD_UINT
 CTD_UDINT

Représentation dans FBD
Représentation :
33002520 09/2020
351
CTD, CTD_***
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
CAL CTD_Instance (CD:=Trigger, LD:=Load,
PV:=PresetValue, Q=>Output, CV=>CountValue)
Représentation dans ST
Représentation :
CTD_Instance (CD:=Trigger, LD:=Load, PV:=PresetValue,
Q=>Output, CV=>CountValue) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
CD
BOOL
Entrée de déclenchement
LD
BOOL
Chargement des données
PV
Pour CTD : INT
Pour CTD_*** : INT, DINT, UINT, UDINT
Valeur de présélection
Description des paramètres de sortie :
352
Paramètres
Type de données
Signification
Q
BOOL
Sortie
CV
Pour CTD : INT
Pour CTD_*** : INT, DINT, UINT, UDINT
Valeur de comptage (valeur réelle)
33002520 09/2020
EcoStruxure™ Control Expert
CTU, CTU_***
33002520 09/2020
Chapitre 108
CTU, CTU_*** : compteur
CTU, CTU_*** : compteur
Description
Description du fonctionnement
Ces blocs fonction servent au comptage.
En présence d’un signal "1" à l’entrée R, la valeur "0" est attribuée à la sortie CV. Chaque fois que
la valeur, à l’entrée CU, passe de "0" à "1", la valeur de CV est incrémentée de 1. Si CV ≥ est égal
à PV, la sortie Q passe à "1".
NOTE : Le compteur ne fonctionne que jusqu'aux valeurs maximum du type de données utilisé.
Aucun débordement n’a lieu.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Le bloc fonction existe dans deux classes différentes :
 CTU
Cette classe du bloc fonction est définie dans la norme IEC 61131-3 et ne fonctionne qu'avec
le type de données INT.
 CTU_***
Cette classe du bloc fonction est conçue comme une extension conforme à la norme IEC
61131-3 afin de couvrir d'autres types de données. Les modules suivants sont disponibles
 CTU_INT
 CTU_DINT
 CTU_UINT
 CTU_UDINT
Représentation dans FBD
Représentation :
33002520 09/2020
353
CTU, CTU_***
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
CAL CTU_Instance (CU:=Trigger, R:=Reset,
PV:=PresetValue, Q=>Output, CV=>CountValue)
Représentation dans ST
Représentation :
CTU_Instance (CU:=Trigger, R:=Reset, PV:=PresetValue,
Q=>Output, CV=>CountValue) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
CU
BOOL
Entrée de déclenchement
R
BOOL
Reset
PV
Pour CTU : INT
Pour CTU _*** : INT, DINT, UINT, UDINT
Valeur de présélection
Description des paramètres de sortie :
354
Paramètres
Type de données
Q
BOOL
Signification
Sortie
CV
Pour CTU : INT
Pour CTU_*** : INT, DINT, UINT, UDINT
Valeur de comptage (valeur réelle)
33002520 09/2020
EcoStruxure™ Control Expert
CTUD, CTUD_***
33002520 09/2020
Chapitre 109
CTUD, CTUD_*** : compteur/décompteur
CTUD, CTUD_*** : compteur/décompteur
Description
Description du fonctionnement
Ces blocs fonction sont utilisés pour le comptage et le décomptage.
En présence d’un signal "1" à l’entrée R, la valeur "0" est attribuée à la sortie CV. En présence d’un
signal "1" à l’entrée LD, la valeur de l’entrée PV est attribuée à la sortie CV. Chaque fois que la
valeur, à l’entrée CU, passe de "0" à "1", la valeur de CV est incrémentée de 1. Chaque fois que la
valeur, à l’entrée CD, passe de "0" à "1", la valeur de CV est décrémentée de 1.
En cas de présence simultanée du signal "1" aux entrées R et LD, l’entrée R est prédominante.
Si CV ≥ est égal à PV, la sortie QU passe à "1".
Si CV ≤ 0, la sortie QD passe à "1".
NOTE : Le compteur ne fonctionne que jusqu'aux valeurs minimum (décomptage) ou maximum
(comptage) du type de données utilisé. Aucun débordement n’a lieu.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Le bloc fonction existe dans deux classes différentes :
CTUD
Cette classe du bloc fonction est définie dans la norme IEC 61131-3 et ne fonctionne qu'avec
le type de données INT.
 CTUD_***
Cette classe du bloc fonction est conçue comme une extension conforme à la norme IEC
61131-3 afin de couvrir d'autres types de données. Les modules suivants sont disponibles
 CTUD_INT
 CTUD_DINT
 CTUD_UINT
 CTUD_UDINT

33002520 09/2020
355
CTUD, CTUD_***
Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
CAL CTUD_Instance (CU:=UpTrigger, CD:=DownTrigger,
R:=Reset, LD:=Load, PV:=PresetValue, QU=>UpDisplay,
QD=>DownDisplay, CV=>CountValue)
Représentation dans ST
Représentation :
CTUD_Instance (CU:=UpTrigger, CD:=DownTrigger,
R:=Reset, LD:=Load, PV:=PresetValue, QU=>UpDisplay,
QD=>DownDisplay, CV=>CountValue) ;
356
33002520 09/2020
CTUD, CTUD_***
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
CU
BOOL
Entrée de comptage
CD
BOOL
Entrée de comptage
R
BOOL
Reset
LD
BOOL
Chargement des données
PV
Pour CTUD : INT,
Valeur de présélection
Pour CTUD_*** : INT,
DINT, UINT, UDINT
Description des paramètres de sortie :
Paramètres
Type de données
Signification
QU
BOOL
Sortie comptage
QD
BOOL
Sortie décomptage
CV
Pour CTUD : INT
Valeur de comptage (valeur réelle)
Pour CTUD_*** : INT,
DINT, UINT, UDINT
33002520 09/2020
357
CTUD, CTUD_***
358
33002520 09/2020
EcoStruxure™ Control Expert
TOF
33002520 09/2020
Chapitre 110
TOF : délai à la désactivation
TOF : délai à la désactivation
Description
Description du fonctionnement
Le bloc fonction est utilisé pour effectuer un retard au déclenchement.
L’état initial de ET lors du premier appel du bloc fonction est "0".
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
CAL TOF_Instance (IN:=StartDelay, PT:=PresetDelayTime,
Q=>Output, ET=>InternalTime)
33002520 09/2020
359
TOF
Représentation dans ST
Représentation :
TOF_Instance (IN:=StartDelay, PT:=PresetDelayTime,
Q=>Output, ET=>InternalTime) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
IN
BOOL
Déclenchement de la temporisation
PT
TIME
Présélection du temps de retard
Description des paramètres de sortie :
Paramètre
Type de données
Signification
Q
BOOL
Sortie
ET
TIME
Horloge interne
Chronogramme
Représentation de la temporisation au déclenchement TOF :
(1)
(2)
(3)
(4)
(5)
360
Si IN passe à "1", Q passe à "1".
Si IN passe à "0", l’horloge interne (ET) se déclenche.
Si l’horloge interne atteint la valeur de PT, Q passe sur "0".
Si IN passe à "1", Q passe à "1" et l’horloge interne s’arrête/est remise à zéro.
Si IN passe à "1" avant que l’horloge interne n’ait atteint la valeur de PT, l’horloge interne s’arrête/est
remise à zéro sans que Q ne soit remis à "0".
33002520 09/2020
EcoStruxure™ Control Expert
TON
33002520 09/2020
Chapitre 111
TON : délai à l'activation
TON : délai à l'activation
Description
Description du fonctionnement
Le bloc fonction est utilisé pour le retard de mise en marche.
L’état initial de ET lors du premier appel du bloc fonction est "0".
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
CAL TON_Instance (IN:=StartDelay, PT:=PresetDelayTime,
Q=>Output, ET=>InternalTime)
33002520 09/2020
361
TON
Représentation dans ST
Représentation :
TON_Instance (IN:=StartDelay, PT:=PresetDelayTime,
Q=>Output, ET=>InternalTime) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
IN
BOOL
Déclenchement de la temporisation
PT
TIME
Présélection du temps de retard
Description des paramètres de sortie :
Paramètre
Type de données
Signification
Q
BOOL
Sortie
ET
TIME
Horloge interne
Chronogramme
Représentation de la temporisation à l’enclenchement TON :
(1)
(2)
(3)
(4)
362
Si IN passe à "1", l’horloge interne (ET) se déclenche.
Si l’horloge interne atteint la valeur de PT, Q passe à "1".
Si IN passe à "0", Q passe à "0" et l’horloge interne s’arrête/est remise à zéro.
Si IN passe à "0" avant que l’horloge interne n’ait atteint la valeur de PT, l’horloge interne s’arrête/est
remise à zéro sans que Q ne passe à "1".
33002520 09/2020
EcoStruxure™ Control Expert
TP
33002520 09/2020
Chapitre 112
TP : impulsion
TP : impulsion
Description
Description du fonctionnement
Le bloc fonction sert à générer une impulsion de durée définie.
L’état initial de ET lors du premier appel du bloc fonction est "0".
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
CAL TP_Instance (IN:=TriggerPulse, PT:=PulseDuration,
Q=>Output, ET=>InternalTime)
33002520 09/2020
363
TP
Représentation dans ST
Représentation :
TP_Instance (IN:=TriggerPulse, PT:=PulseDuration,
Q=>Output, ET=>InternalTime) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
IN
BOOL
Déclenchement d’impulsion
PT
TIME
Présélection de la durée d’impulsion
Description des paramètres de sortie :
Paramètre
Type de données
Signification
Q
BOOL
Sortie
ET
TIME
Horloge interne
Chronogramme
Représentation de l’impulsion TP :
(1)
(2)
(3)
(4)
Si IN passe à "1", Q passe à "1" et l’horloge interne (ET) se déclenche.
Si l’horloge interne atteint la valeur de PT, Q est remis à "0" (indépendamment de IN).
L’horloge interne s’arrête/est remise à zéro, si IN est remis à "0".
Si l’horloge interne n’a pas encore atteint la valeur de PT, la présence d’un cycle d’impulsion au niveau de
IN n’a aucune influence sur l’horloge interne.
(5) Si l’horloge interne a atteint la valeur de PT et que IN est à l’état "0", l’horloge interne s’arrête/est remise à
zéro et Q est remis à "0".
364
33002520 09/2020
EcoStruxure™ Control Expert
Conversion de type
33002520 09/2020
Partie XIII
Conversion de type
Conversion de type
Vue d'ensemble
Cette section décrit les fonctions et blocs fonction élémentaires de la famille Conversion de
type.
Contenu de cette partie
Cette partie contient les chapitres suivants :
Chapitre
Titre du chapitre
Page
113
ARINT_TO_DATE: Conversion d'un tableau d'entiers avec date et heure en
une variable DATE
367
114
ARINT_TO_DT: Conversion d'un tableau d'entiers avec date et heure en une
variable DT
369
115
ARINT_TO_TOD: Conversion d'un tableau d'entiers avec Time Of Day (heure
du jour) en une variable TOD
371
116
ASCII_TO_STRING : conversion de type
373
117
ASCII_TO_STRING_INV : conversion de type
377
118
BCD_TO_INT : conversion d'un entier BCD en binaire pur
383
119
BIT_TO_BYTE : conversion de type
385
120
BIT_TO_WORD : conversion de type
389
121
BOOL_TO_*** : conversion de type
393
122
BYTE_AS_WORD : conversion de type
395
123
BYTE_TO_BIT : conversion de type
397
124
BYTE_TO_*** : conversion de type
401
125
DATE_TO_ARINT: Conversion d'une variable DATE en tableau d'entiers
403
126
DATE_TO_STRING : conversion d'une variable au format DATE en une
chaîne de caractères
405
127
DBCD_TO_*** : conversion d'un entier BCD double en binaire
407
128
DEG_TO_RAD : conversion de degrés en radians
409
129
DINT_AS_WORD : conversion de type
411
130
DINT_TO_*** : conversion de type
413
131
DINT_TO_DBCD : conversion d'un entier codé en binaire double en un entier
décimal codé en binaire double
417
132
DT_TO_ARINT: Conversion d'une variable DT en tableau d'entiers
419
33002520 09/2020
365
Conversion de type
Chapitre
366
Titre du chapitre
Page
133
DT_TO_STRING : conversion d'une variable au format DT en une chaîne de
caractères
421
134
DWORD_TO_*** : conversion de type
423
135
GRAY_TO_INT : conversion d'un entier codé en Gray en entier codé en binaire
425
136
INT_AS_DINT : concaténation de deux entiers pour former un entier double
427
137
INT_TO_*** : conversion de type
429
138
INT_TO_BCD : conversion d'un entier codé en binaire en un entier décimal
codé en binaire
433
139
INT_TO_DBCD : conversion d'un entier codé en binaire en un entier décimal
codé en binaire double
435
140
RAD_TO_DEG : conversion de radians en degrés
437
141
REAL_AS_WORD : conversion de type
439
142
REAL_TO_*** : conversion de type
441
143
REAL_TRUNC_*** : conversion de type
445
144
STRING_TO_ASCII : conversion de type
447
145
STRING_TO_ASCII_INV : conversion de type
453
146
STRING_TO_*** : conversion d'une chaîne de caractères en un nombre de
type INT, DINT ou REAL
459
147
TIME_AS_WORD : conversion de type
463
148
TIME_TO_*** : conversion de type
465
149
TIME_TO_STRING : conversion d'une variable au format TIME en une chaîne
de caractères
467
150
TOD_TO_ARINT: Conversion d'une variable TOD en tableau d'entiers
469
151
TOD_TO_STRING : conversion d'une variable au format TOD en une chaîne
de caractères
471
152
UDINT_AS_WORD : conversion de type
473
153
UDINT_TO_*** : conversion de type
475
154
UINT_TO_*** : conversion de type
479
155
WORD_AS_BYTE : conversion de type
483
156
WORD_AS_DINT : conversion de type
485
157
WORD_AS_REAL : conversion de type
487
158
WORD_AS_TIME : conversion de type
489
159
WORD_AS_UDINT : conversion de type
491
160
WORD_TO_BIT : conversion de type
493
161
WORD_TO_*** : conversion de type
497
162
***_TO_STRING : conversion d'une variable en une chaîne de caractères
499
33002520 09/2020
EcoStruxure™ Control Expert
ARINT_TO_DATE
33002520 09/2020
Chapitre 113
ARINT_TO_DATE: Conversion d'un tableau d'entiers avec date et heure en une variable DATE
ARINT_TO_DATE: Conversion d'un tableau d'entiers avec
date et heure en une variable DATE
Description
Description de la fonction
La fonction convertit un tableau d'entiers avec la date au format BCD en une variable DATE (d#).
Vous avez deux options pour l'entrée :
Pour affecter la date système, attribuez %SW52 à l'entrée.
Dans ce cas, le contenu de %SW52 et de %SW53 est affecté.
 Pour affecter une autre date, créez un tableau d'entiers à deux éléments et saisissez la date au
format BCD.

Exemple :
Si l'entrée est :
 Date_ARRAY[1] = 16#0511
 Date_ARRAY[2] = 16#2006
Alors la sortie est :
 DATE_Variable = d#2006-05-11
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.
Représentation en FBD
33002520 09/2020
367
ARINT_TO_DATE
Représentation en LD
Représentation en IL
LD Date_ARRAY ARINT_TO_DATE ST DATE_Variable
Représentation en ST
DATE_Variable := ARINT_TO_DATE (Date_ARRAY) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
Date_ARRAY
ARRAY [n..m] OF
INT
Entier ARRAY de deux éléments
avec la date au format BCD :
 mois, jour (16#mmjj),
correspond à %SW52
 année (16#aaaa),
correspond à %SW53
Description des paramètres de sortie :
Paramètres
Type de données
Signification
DATE_Variable
DATE
Date affectée à l'entrée en tant que
variable DATE (d#) (si l'entrée est
valide).
Erreurs d'exécution
Si l'entrée Date_ARRAY est incorrecte, ENO = 0 et OUT reste inchangé.
368
33002520 09/2020
EcoStruxure™ Control Expert
ARINT_TO_DT
33002520 09/2020
Chapitre 114
ARINT_TO_DT: Conversion d'un tableau d'entiers avec date et heure en une variable DT
ARINT_TO_DT: Conversion d'un tableau d'entiers avec date et
heure en une variable DT
Description
Description de la fonction
La fonction convertit un tableau d'entiers avec la date et l'heure au format BCD en une variable
DATE_AND_TIME (dt#).
Vous avez deux options pour l'entrée :
Pour affecter l'heure système, attribuez %SW50 à l'entrée.
Dans ce cas, le contenu de %SW50 et de %SW53 est affecté.
 Pour affecter une autre heure, créez un tableau d'entiers à quatre éléments et entrez l'heure et
la date au format BCD.

Exemple :
Si l'entrée est :
DateAndTime_ARRAY[1] = 16#1600
 DateAndTime_ARRAY[2] = 16#1046
 DateAndTime_ARRAY[3] = 16#0511
 DateAndTime_ARRAY[4] = 16#2006

Alors la sortie est :
 DT_Variable = dt#2006-05-11-10:46:16
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.
Représentation en FBD
33002520 09/2020
369
ARINT_TO_DT
Représentation en LD
Représentation en IL
LD DateAndTime_ARRAY ARINT_TO_DT ST DT_Variable
Représentation en ST
DT_Variable := ARINT_TO_DT (DateAndTime_ARRAY) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
DateAndTime_ARRAY
ARRAY [n..m] OF
INT
Entier ARRAY de quatre éléments
avec la date et l'heure au format
BCD :
 secondes,-- (16#ss,--),
correspond à %SW50
 heure, minutes (16#hhmm),
correspond à %SW51
 mois, jour (16#mmjj),
correspond à %SW52
 année (16#aaaa),
correspond à %SW53
Description des paramètres de sortie :
Paramètres
Type de données
Signification
DT_Variable
DT
Date et heure affectées à l'entrée en
tant que variable DATE_AND_TIME
(dt#) (si l'entrée est valide).
Erreurs d'exécution
Si l'entrée DateAndTime_ARRAY est incorrecte, ENO = 0 et OUT reste inchangé.
370
33002520 09/2020
EcoStruxure™ Control Expert
ARINT_TO_TOD
33002520 09/2020
Chapitre 115
ARINT_TO_TOD: Conversion d'un tableau d'entiers avec Time Of Day (heure du jour) en une variable TOD
ARINT_TO_TOD: Conversion d'un tableau d'entiers avec Time
Of Day (heure du jour) en une variable TOD
Description
Description de la fonction
La fonction convertit un tableau d'entiers avec l'heure du jour au format BCD en une variable
TIME_OF_DAY (tod#).
Vous avez deux options pour l'entrée :
Pour affecter l'heure système, affectez %SW50 à l'entrée.
Dans ce cas, le contenu de %SW50 et de %SW51 est affecté.
 Pour affecter une autre heure, créez un tableau d'entiers à deux éléments et saisissez l'heure
du jour au format BCD.

Exemple :
Si l'entrée est :
Time_ARRAY[1] = 16#1600
 Time_ARRAY[2] = 16#1046

Alors la sortie est :
 TOD_Variable = tod#10:46:16
EN et ENO peuvent être configurés comme paramètres supplémentaires.
Représentation en FBD
33002520 09/2020
371
ARINT_TO_TOD
Représentation en LD
Représentation en IL
LD Time_ARRAY ARINT_TO_TOD ST TOD_Variable
Représentation en ST
TOD_Variable := ARINT_TO_TOD (Time_ARRAY) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
Time_ARRAY
ARRAY [n..m] OF
INT
Entier ARRAY de deux éléments
avec la date et l'heure au format
BCD :
 secondes,-- (16#ss,--),
correspond à %SW50
 heure, minutes (16#hhmm),
correspond à %SW51
Description des paramètres de sortie :
Paramètre
Type de données
Signification
TOD_Variable
TOD
Heure du jour affectée à l'entrée en
tant que variable TIME_OF_DAY
(tod#) (si l'entrée est valide).
Erreurs d'exécution
Si l'entrée Time_ARRAY est incorrecte, ENO = 0 et OUT reste inchangé.
372
33002520 09/2020
EcoStruxure™ Control Expert
ASCII_TO_STRING
33002520 09/2020
Chapitre 116
ASCII_TO_STRING : conversion de type
ASCII_TO_STRING : conversion de type
Description
Description de la fonction
Cette fonction copie le contenu (valeurs ASCII) du tableau INT à l'entrée (sans conversion) dans
la sortie de type données STRING.
Cette fonction permet de transférer des valeurs ASCII (16#01...16#FF). La seule exception est
16#00 (Valeur 0), qui est utilisée pour terminer l'opération de copie.
Etant donné que chaque valeur ASCII nécessite 1 octet, il est possible de transférer vers la sortie
2 valeurs ASCII pour chaque élément de type entier du tableau d'entrée. La séquence de transfert
suit le principe un octet de poids fort, un octet de poids faible.
Si un nombre impair de valeurs ASCII est transféré en sortie, seul l'octet de poids fort du dernier
élément est en principe nécessaire. Néanmoins, comme l'élément complet est toujours transféré,
la valeur 0 doit dans ce cas être entrée dans l'octet de poids faible (voir Exemple 2, page 375).
L'opération de copie se termine lorsque :
la fin du tableau d'entrée est atteinte ;
 la valeur 0 (16#00) est transférée ;
 la fin de la chaîne de sortie est atteinte.

EN et ENO sont projetés en tant que paramètres supplémentaires.
Représentation en FBD
Représentation :
33002520 09/2020
373
ASCII_TO_STRING
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD AsciiValueArray
ASCII_TO_STRING
ST StringOutput
Représentation en ST
Représentation :
StringOutput := ASCII_TO_STRING (AsciiValueArray) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
AsciiValueArray
Description
ARRAY [n..m] OF INT Tableau d'entiers avec des valeurs ASCII
Description des paramètres de sortie :
Paramètre
Type de données
Description
StringOutput
STRING
Chaîne de caractères ASCII
Erreur d'exécution
Si la taille des variables de chaîne en sortie est insuffisante pour représenter toutes les valeurs
ASCII du tableau d'entrée, ENO est défini sur 0 et le bit système %S15 est défini sur 1.
374
33002520 09/2020
ASCII_TO_STRING
Exemple 1
Dans l'exemple, 4 valeurs ASCII doivent être transférées dans une chaîne de 4 caractères. Cette
opération nécessite un tableau d'entiers avec 2 éléments.
Exemple 2
Dans l'exemple, 3 valeurs ASCII doivent être transférées dans une chaîne de 4 caractères. Cette
opération nécessite un tableau d'entiers avec 2 éléments ; l'octet de poids faible du deuxième
élément n'est pas obligatoire et contient donc la valeur 0.
Exemple 3
Dans l'exemple, 4 valeurs ASCII doivent être transférées dans une chaîne de 8 caractères. Cette
opération nécessite un tableau d'entiers avec 2 éléments. Dans ce cas, les 4 caractères inutiles
en sortie restent vides.
33002520 09/2020
375
ASCII_TO_STRING
Exemple 4
Dans l'exemple, les 4 premières valeurs ASCII d'un tableau d'entiers avec 8 éléments doivent être
transférées dans une chaîne de 4 caractères. L'octet de poids fort du troisième élément du tableau
d'entiers doit contenir la valeur 0 pour marquer la fin des caractères à transférer. Toutes les autres
valeurs ASCII ne sont plus prises en compte.
Exemple 5
Dans l'exemple, 16 valeurs ASCII doivent être transférées dans une chaîne de 4 caractères.
Comme la chaîne de sortie est trop petite, ENO est défini sur 0 et le bit système %S15 sur 1.
376
33002520 09/2020
EcoStruxure™ Control Expert
ASCII_TO_STRING_INV
33002520 09/2020
Chapitre 117
ASCII_TO_STRING_INV : conversion de type
ASCII_TO_STRING_INV : conversion de type
Description
Description de la fonction
La fonction copie le contenu (valeurs ASCII) du tableau INT en entrée (sans conversion) dans la
sortie de type de données STRING.
Cette fonction permet de transférer des valeurs ASCII (16#01...16#FF). La seule exception est
16#00 (Valeur 0), qui est utilisée pour terminer l'opération de copie.
Etant donné que chaque valeur ASCII nécessite 1 octet, il est possible de transférer vers la sortie
2 valeurs ASCII pour chaque élément de type entier du tableau d'entrée. La séquence de transfert
suit le principe un octet de poids faible, un octet de poids fort.
Si un nombre impair de valeurs ASCII est transféré en sortie, seul l'octet de poids faible du dernier
élément est en principe requis. Néanmoins, comme l'élément complet est toujours transféré, la
valeur 0 doit dans ce cas être entrée dans l'octet de poids fort (voir Exemple 2, page 379).
L'opération de copie se termine lorsque :
la fin du tableau d'entrée est atteinte ;
 la valeur 0 (16#00) est transférée ;
 la fin de la chaîne de sortie est atteinte.

EN et ENO sont projetés en tant que paramètres supplémentaires.
33002520 09/2020
377
ASCII_TO_STRING_INV
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD AsciiValueArray
ASCII_TO_STRING_INV
ST StringOutput
Représentation en ST
Représentation :
StringOutput := ASCII_TO_STRING_INV (AsciiValueArray) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Description
AsciiValueArray
ARRAY [n..m] OF INT Tableau d'entiers avec des valeurs ASCII
Description des paramètres de sortie :
378
Paramètre
Type de données
Description
StringOutput
STRING
Chaîne de caractères ASCII
33002520 09/2020
ASCII_TO_STRING_INV
Erreur d'exécution
Si la taille des variables de chaîne en sortie est insuffisante pour représenter toutes les valeurs
ASCII du tableau d'entrée, ENO est défini sur 0 et le bit système %S15 est défini sur 1.
Exemple 1
Dans l'exemple, 4 valeurs ASCII doivent être transférées dans une chaîne de 4 caractères. Cette
opération nécessite un tableau d'entiers avec 2 éléments.
Exemple 2
Dans l'exemple, 3 valeurs ASCII doivent être transférées dans une chaîne de 4 caractères. Cette
opération nécessite un tableau d'entiers avec 2 éléments ; l'octet de poids faible du deuxième
élément n'est pas obligatoire et contient donc la valeur 0.
33002520 09/2020
379
ASCII_TO_STRING_INV
Exemple 3
Dans l'exemple, 4 valeurs ASCII doivent être transférées dans une chaîne de 8 caractères. Cette
opération nécessite un tableau d'entiers avec 2 éléments. Dans ce cas, les 4 caractères inutiles
en sortie restent vides.
Exemple 4
Dans l'exemple, les 4 premières valeurs ASCII d'un tableau d'entiers avec 8 éléments doivent être
transférées dans une chaîne de 4 caractères. L'octet de poids fort du troisième élément du tableau
d'entiers doit contenir la valeur 0 pour marquer la fin des caractères à transférer. Toutes les autres
valeurs ASCII ne sont plus prises en compte.
380
33002520 09/2020
ASCII_TO_STRING_INV
Exemple 5
Dans l'exemple, 16 valeurs ASCII doivent être transférées dans une chaîne de 4 caractères.
Comme la chaîne de sortie est trop petite, ENO est défini sur 0 et le bit système %S15 sur 1.
33002520 09/2020
381
ASCII_TO_STRING_INV
382
33002520 09/2020
EcoStruxure™ Control Expert
BCD_TO_INT
33002520 09/2020
Chapitre 118
BCD_TO_INT : conversion d'un entier BCD en binaire pur
BCD_TO_INT : conversion d'un entier BCD en binaire pur
Description
Description de la fonction
La fonction BCD_TO_INT effectue la conversion d’un entier au format Binaire Codé Décimal (BCD)
en un entier codé binaire.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD BCD_Int
BCD_TO_INT
ST Result_Int
33002520 09/2020
383
BCD_TO_INT
Représentation en ST
Représentation :
Result_Int := BCD_TO_INT(BCD_Int);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
BCD_Int
INT
Entier au format BCD.
Exemple : BCD_Int = 16#99
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Result_Int
INT
Result_Int est un entier codé en binaire.
Exemple : avec la valeur d’exemple du tableau
précédent, Result_Int = 99
Erreurs d’exécution
Le bit %S18 est positionné à 1 lorsque la valeur à convertir n’est pas une valeur codée en BCD.
Le résultat de la fonction retourne alors la valeur du paramètre d’entrée.
384
33002520 09/2020
EcoStruxure™ Control Expert
BIT_TO_BYTE
33002520 09/2020
Chapitre 119
BIT_TO_BYTE : conversion de type
BIT_TO_BYTE : conversion de type
Description
Description du fonctionnement
La fonction convertit 8 valeurs d’entrée du type de données BOOL en 1 valeur de sortie du type de
données BYTE.
Les valeurs d'entrée sont affectées à la sortie aux différents bits de l'octet suivant l’ordre des
entrées.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
Formule du bloc :
33002520 09/2020
385
BIT_TO_BYTE
Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
386
33002520 09/2020
BIT_TO_BYTE
Représentation dans IL
Représentation :
LD InputBit0
BIT_TO_BYTE InputBit1, InputBit2, InputBit3, InputBit4,
InputBit5, InputBit6, InputBit7
ST OutputByte
Représentation dans ST
Représentation :
OutputByte := BIT_TO_BYTE (InputBit0, InputBit1,
InputBit2, InputBit3, InputBit4, InputBit5, InputBit6,
InputBit7) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
InputBit0
BOOL
Bit d'entrée 0
InputBit1
BOOL
Bit d'entrée 1
:
:
:
InputBit7
BOOL
Bit d'entrée 7
Description des paramètres de sortie :
Paramètres
Type de données
Signification
OutputByte
BYTE
Valeur de sortie
33002520 09/2020
387
BIT_TO_BYTE
388
33002520 09/2020
EcoStruxure™ Control Expert
BIT_TO_WORD
33002520 09/2020
Chapitre 120
BIT_TO_WORD : conversion de type
BIT_TO_WORD : conversion de type
Description
Description du fonctionnement
La fonction convertit 16 valeurs d’entrée du type de données BOOL en une valeur de sortie du type
de données WORD.
Les valeurs d'entrée sont affectées à la sortie aux différents bits du mot suivant l’ordre des entrées.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
Formule du bloc :
Représentation dans FBD
Représentation :
33002520 09/2020
389
BIT_TO_WORD
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
LD InputBit0
BIT_TO_WORD InputBit1, InputBit2, InputBit3, InputBit4,
InputBit5, InputBit6, InputBit7,InputBit8,
InputBit9, InputBit10, InputBit11, InputBit12,
InputBit13, InputBit14, InputBit15
ST WORD_Output
Représentation dans ST
Représentation :
WORD_Output := BIT_TO_WORD (InputBit0, InputBit1,
InputBit2, InputBit3, InputBit4, InputBit5,
InputBit6, InputBit7, InputBit8, InputBit9,
InputBit10, InputBit11, InputBit12, InputBit13,
InputBit14, InputBit15) ;
390
33002520 09/2020
BIT_TO_WORD
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
InputBit0
BOOL
Bit d'entrée 0
:
:
:
InputBit15
BOOL
Bit d'entrée 15
Description des paramètres de sortie :
Paramètres
Type de données
Signification
WORD_Output
WORD
Valeur de sortie
33002520 09/2020
391
BIT_TO_WORD
392
33002520 09/2020
EcoStruxure™ Control Expert
BOOL_TO_***
33002520 09/2020
Chapitre 121
BOOL_TO_*** : conversion de type
BOOL_TO_*** : conversion de type
Description
Description du fonctionnement
La fonction convertit une valeur d'entrée du type de données BOOL dans le type de données BYTE,
WORD, DWORD, INT, DINT, UINT, UDINT, REAL ou TIME.
La valeur d'entrée est écrite dans le bit de poids faible de la sortie. Tous les autres bits de la sortie
sont positionnés sur zéro.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
(la sortie ENO n'est pas utilisée avec BOOL_TO_REAL ; elle a toujours la valeur "1".)
Fonctions disponibles
Liste des fonctions disponibles :
 BOOL_TO_BYTE
 BOOL_TO_WORD
 BOOL_TO_DWORD
 BOOL_TO_INT
 BOOL_TO_DINT
 BOOL_TO_UINT
 BOOL_TO_UDINT
 BOOL_TO_REAL
 BOOL_TO_TIME
Représentation dans FBD
Représentation appliquée à un entier :
33002520 09/2020
393
BOOL_TO_***
Représentation dans LD
Représentation appliquée à un entier :
Représentation dans IL
Représentation appliquée à un entier :
LD BOOL_variable
BOOL_TO_INT
ST ConvertedVariable
Représentation dans ST
Représentation appliquée à un entier :
ConvertedVariable := BOOL_TO_INT (BOOL_variable) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
BOOL_variable
BOOL
Valeur d'entrée
Description des paramètres de sortie :
394
Paramètre
Type de données
Signification
ConvertedVariable
BYTE, WORD, DWORD,
INT, DINT, UINT,
UDINT, REAL, TIME
Valeur de sortie
33002520 09/2020
EcoStruxure™ Control Expert
BYTE_AS_WORD
33002520 09/2020
Chapitre 122
BYTE_AS_WORD : conversion de type
BYTE_AS_WORD : conversion de type
Description
Description de la fonction
La fonction convertit 2 valeurs d’entrée du type de données BYTE en une valeur de sortie du type
de données WORD.
Les valeurs d'entrée sont affectées au mot de sortie suivant l’ordre des entrées.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
Formule du bloc :
Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
33002520 09/2020
395
BYTE_AS_WORD
Représentation dans IL
Représentation :
LD BYTE_variable1
BYTE_AS_WORD BYTE_variable2
ST WORD_Output
Représentation dans ST
Représentation :
WORD_Output := BYTE_AS_WORD (BYTE_variable1,
BYTE_variable2) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
BYTE_variable1
BYTE
octet de poids faible
BYTE_variable2
BYTE
octet de poids fort
Description des paramètres de sortie :
396
Paramètres
Type de données
Signification
WORD_Output
WORD
Valeur de sortie
33002520 09/2020
EcoStruxure™ Control Expert
BYTE_TO_BIT
33002520 09/2020
Chapitre 123
BYTE_TO_BIT : conversion de type
BYTE_TO_BIT : conversion de type
Description
Description du fonctionnement
Cette procédure convertit une valeur d’entrée du type de données BYTE en huit valeurs de sortie
du type de données BOOL.
Les différents bits de l'octet à l'entrée sont affectés aux sorties suivant les noms de sorties.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation dans FBD
Représentation :
33002520 09/2020
397
BYTE_TO_BIT
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
LD BYTE_variable
BYTE_TO_BIT BOOL_variable1, BOOL_variable2, BOOL_variable3,
BOOL_variable4, BOOL_variable5, BOOL_variable6,
BOOL_variable7, BOOL_variable8
Représentation dans ST
Représentation :
BYTE_TO_BIT (BYTE_variable, BOOL_variable1, BOOL_variable2,
BOOL_variable3, BOOL_variable4, BOOL_variable5,
BOOL_variable6, BOOL_variable7, BOOL_variable8);
398
33002520 09/2020
BYTE_TO_BIT
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
BYTE_variable
BYTE
Entrée
Description des paramètres de sortie :
Paramètres
Type de données
Signification
BOOL_variable1
BOOL
Bit de sortie 0
BOOL_variable2
BOOL
Bit de sortie 1
:
:
:
BOOL_variable8
BOOL
Bit de sortie 7
33002520 09/2020
399
BYTE_TO_BIT
400
33002520 09/2020
EcoStruxure™ Control Expert
BYTE_TO_***
33002520 09/2020
Chapitre 124
BYTE_TO_*** : conversion de type
BYTE_TO_*** : conversion de type
Description
Description de la fonction
La fonction convertit une valeur d'entrée du type de données BYTE dans le type de données BOOL,
WORD, DWORD, INT, DINT, UINT, UDINT, REAL ou TIME.
Lors de la conversion du type de données BYTE en WORD, DWORD, INT, DINT, UINT, UDINT, REAL
ou TIME, le profil binaire d’entrée est transféré dans les bits de poids faible de la sortie. Les bits
de poids fort de la sortie sont positionnés sur zéro.
Lors de la conversion du type de données BYTE en type de données BOOL le bit de poids faible de
la valeur d’entrée est transféré à la sortie.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
(la sortie ENO n'est pas utilisée avec BYTE_TO_REAL ; elle a toujours la valeur "1".)
Fonctions disponibles
Liste des fonctions disponibles :
 BYTE_TO_BOOL
 BYTE_TO_WORD
 BYTE_TO_DWORD
 BYTE_TO_INT
 BYTE_TO_DINT
 BYTE_TO_UINT
 BYTE_TO_UDINT
 BYTE_TO_REAL
 BYTE_TO_TIME
Représentation en FBD
Représentation d'une application entière :
33002520 09/2020
401
BYTE_TO_***
Représentation en LD
Représentation d'une application entière :
Représentation en IL
Représentation d'une application entière :
LD BYTE_variable
BYTE_TO_INT
ST ConvertedVariable
Représentation en ST
Représentation d'une application entière :
ConvertedVariable := BYTE_TO_INT (BYTE_variable) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
BYTE_variable
BYTE
Valeur d’entrée
Description des paramètres de sortie :
Paramètres
Type de données
Signification
ConvertedVariable
BOOL, WORD, DWORD, INT, DINT,
UINT, UDINT, REAL, TIME
Valeur de sortie
Erreur d’exécution
La gestion des erreurs est liée à la fonction :
 BYTE_TO_REAL
Le bit système %S18 est réglé sur 1 et l'état devient %SW17 si un nombre à virgule flottante
non admis est généré lors de la conversion.
 toutes les autres fonctions
Le bit système %S18 et le mot système %SW17 ne sont pas utilisés.
402
33002520 09/2020
EcoStruxure™ Control Expert
DATE_TO_ARINT
33002520 09/2020
Chapitre 125
DATE_TO_ARINT: Conversion d'une variable DATE en tableau d'entiers
DATE_TO_ARINT: Conversion d'une variable DATE en
tableau d'entiers
Description
Description de la fonction
La fonction convertit une variable DATE (d#) en un tableau d'entiers à deux éléments avec la date
au format BCD.
Exemple :
Si l'entrée est :
DATE_Variable = d#2006-05-11

Alors la sortie est :
 Date_ARRAY[3] = 16#0511
 Date_ARRAY[4] = 16#2006
EN et ENO peuvent être configurés comme paramètres supplémentaires.
Représentation en FBD
Représentation en LD
Représentation en IL
LD DATE_Variable DATE_TO_ARINT ST Date_ARRAY
33002520 09/2020
403
DATE_TO_ARINT
Représentation en ST
Date_ARRAY := DATE_TO_ARINT (DATE_Variable) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
DATE_Variable
DATE
Date en tant que variable DATE (dt#).
Description des paramètres de sortie :
Paramètre
Type de données
Signification
Date_ARRAY
ARRAY [n..m] OF
INT
Entier ARRAY de deux éléments
avec la date au format BCD :
 mois, jour (16#mmjj)
correspond à %SW52
 année (16#aaaa)
correspond à %SW53
Erreurs d'exécution
Si la taille de la sortie Date_ARRAY est trop petite, ENO = 0 et OUT reste inchangé.
404
33002520 09/2020
EcoStruxure™ Control Expert
DATE_TO_STRING
33002520 09/2020
Chapitre 126
DATE_TO_STRING : conversion d'une variable au format DATE en une chaîne de caractères
DATE_TO_STRING : conversion d'une variable au format
DATE en une chaîne de caractères
Description
Description de la fonction
La fonction DATE_TO_STRING effectue la conversion d’une variable au format DATE en une
chaîne de caractères.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD Date1
DATE_TO_STRING
ST Result_Str
33002520 09/2020
405
DATE_TO_STRING
Représentation en ST
Représentation :
Result_Str := DATE_TO_STRING(Date1);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Date1
DATE
Date à convertir au format chaîne de caractères.
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Result_Str
STRING
Result_Str est une chaîne de 10 caractères qui
contient une date (sans les heures) au format suivant :
AAAA-MM-JJ.
Exemple : ‘2000-12-27’
Remarque : si la taille maximale de la chaîne
Result_Str est supérieure à 10, Result_Str est
complétée par des caractères de fin de chaîne (16#00).
Erreurs d’exécution
Si la chaîne Result_Str est trop courte pour contenir la date (longueur inférieure à
10 caractères), la date est tronquée et le bit %S15 est réglé sur 1.
Si Date1 n’est pas interprétable et cohérent en format DATE, le bit système %S18 est réglé sur 1
et Result_Str =’****-**-**’.
406
33002520 09/2020
EcoStruxure™ Control Expert
DBCD_TO_***
33002520 09/2020
Chapitre 127
DBCD_TO_*** : conversion d'un entier BCD double en binaire
DBCD_TO_*** : conversion d'un entier BCD double en binaire
Description
Description de la fonction
La fonction DBCD_TO_*** convertit un entier double au format Binaire Codé Décimal (DBCD) en
un entier double codé en binaire.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles sont les suivantes :
DBCD_TO_INT,
 DBCD_TO_DINT.

Représentation en FBD
Représentation appliquée à un entier :
Représentation en LD
Représentation appliquée à un entier :
33002520 09/2020
407
DBCD_TO_***
Représentation en IL
Représentation appliquée à un entier :
LD DBCD_Value
DBCD_TO_INT
ST Result_Value
Représentation en ST
Représentation appliquée à un entier :
Result_Value := DBCD_TO_INT(DBCD_Value);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
DBCD_Value
BYTE
Entier double codé au format BCD.
Exemple : DBCD_Value = 16#32767
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Result_Value
INT, DINT
Result_Value est un entier ou un entier double codé
en binaire.
Exemple : avec la valeur d’exemple du tableau
précédent, Result_Value = 32767
Erreurs d'exécution
Le bit %S18 est positionné à 1 lorsque :


408
la valeur à convertir n’est pas une valeur codée en BCD. Le résultat de la fonction retourne alors
la valeur du premier quartet qui fait défaut.
pour la fonction DBCD_TO_INT, la valeur à convertir est supérieure à 32767 en BCD. Le résultat
de la fonction est alors -1.
33002520 09/2020
EcoStruxure™ Control Expert
DEG_TO_RAD
33002520 09/2020
Chapitre 128
DEG_TO_RAD : conversion de degrés en radians
DEG_TO_RAD : conversion de degrés en radians
Description
Description de la fonction
La fonction DEG_TO_RAD convertit un angle exprimé en degré en radian.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
La formule est la suivante :
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33002520 09/2020
409
DEG_TO_RAD
Représentation en IL
Représentation :
LD Angle_in_Degree
DEG_TO_RAD
ST Angle_in_Radian
Représentation en ST
Représentation :
Angle_in_Radian := DEG_TO_RAD(Angle_in_Degree);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Angle_in_Degree
REAL
Angle exprimé en degré.
-737280.0 < Angle_in_Degree < +737280.0.
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Angle_in_Radian
REAL
Valeur de l’angle exprimé en radian.
-π ≤ Angle_in_Radian ≤ +π.
Erreurs d’exécution
Lorsque Angle_in_Degree est située en dehors de l’intervalle ]-737280.0, +73780.0[, le bit
système %S18 passe à 1, le mot système %SW17 indique le type du défaut et le résultat affiché
est 1.#NAN.
410
33002520 09/2020
EcoStruxure™ Control Expert
DINT_AS_WORD
33002520 09/2020
Chapitre 129
DINT_AS_WORD : conversion de type
DINT_AS_WORD : conversion de type
Description
Description du fonctionnement
Cette procédure convertit une valeur d’entrée du type de données DINT en deux valeurs de sortie
du type de données WORD.
Les différents mots de l'entrée DINT sont affectés aux sorties en fonction des noms des sorties.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
LD DINT_variable
DINT_AS_WORD LowWord, HighWord
33002520 09/2020
411
DINT_AS_WORD
Représentation dans ST
Représentation :
DINT_AS_WORD (DINT_variable, LowWord, HighWord);
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
DINT_variable
DINT
Entrée
Description des paramètres de sortie :
412
Paramètre
Type de données
Signification
LowWord
WORD
Mot de poids faible
HighWord
WORD
Mot de poids fort
33002520 09/2020
EcoStruxure™ Control Expert
DINT_TO_***
33002520 09/2020
Chapitre 130
DINT_TO_*** : conversion de type
DINT_TO_*** : conversion de type
Description
Description de la fonction
La fonction convertit une valeur d'entrée du type de données DINT dans le type de données BOOL,
BYTE, WORD, DWORD, INT, UINT UDINT, REAL ou TIME .
NOTE : La fonction procède à la conversion en respectant strictement les règles CEI. Cette
fonction étant réalisée en tant que fonction générique, il en résulte aussi quelques conversions
illogiques, par ex. DINT_TO_BOOL.
Lors de la conversion du type de données DINT en type de données BOOL, BYTE, WORD, INT ou
UINT, les bits de poids faible de la valeur d’entrée sont transmis à la sortie.
Les valeurs d’entrée négatives ne peuvent être converties en types de donnéesUINT, UDINT ou
TIME.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Liste des fonctions disponibles :
 DINT_TO_BOOL
 DINT_TO_BYTE
 DINT_TO_WORD
 DINT_TO_DWORD
 DINT_TO_INT
 DINT_TO_UINT
 DINT_TO_UDINT
 DINT_TO_REAL
 DINT_TO_TIME
Représentation en FBD
Représentation d'une application entière :
33002520 09/2020
413
DINT_TO_***
Représentation en LD
Représentation d'une application entière :
Représentation en IL
Représentation d'une application entière :
LD DINT_variable
DINT_TO_INT
ST ConvertedVariable
Représentation en ST
Représentation d'une application entière :
ConvertedVariable := DINT_TO_INT (DINT_variable) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
DINT_variable
DINT
Valeur d’entrée
Description des paramètres de sortie :
414
Paramètres
Type de données
Signification
ConvertedVariable
BOOL, BYTE, WORD,
DWORD, INT, UINT,
UDINT, REAL, TIME
Valeur de sortie
33002520 09/2020
DINT_TO_***
Erreur d’exécution
Le bit système %S18 est configuré sur 1 si
la plage des valeurs de sortie est dépassée (types de données numériques)
 une valeur d’entrée négative est susceptible d’être convertie en une valeur de sortie UDINT,
UINT ou TIME.
 lors de la conversion en type de donnéesREAL un nombre en virgule flottante non admis est
généré. De plus, dans ce cas, le statut devient %SW17.

Le bit système %S18 et le mot système %SW17 ne sont pas utilisés lors d'une conversion dans
les types de données :
 BOOL
 BYTE
 WORD
 DWORD
33002520 09/2020
415
DINT_TO_***
416
33002520 09/2020
EcoStruxure™ Control Expert
DINT_TO_DBCD
33002520 09/2020
Chapitre 131
DINT_TO_DBCD : conversion d'un entier codé en binaire double en un entier décimal codé en binaire double
DINT_TO_DBCD : conversion d'un entier codé en binaire
double en un entier décimal codé en binaire double
Description
Description de la fonction
La fonction DINT_TO_DBCD effectue la conversion d’un entier double codé binaire en un entier au
format Binaire Codé Double Décimal (DBCD).
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33002520 09/2020
417
DINT_TO_DBCD
Représentation en IL
Représentation :
LD D_Integer_1
DINT_TO_BCD
ST DBCD_Result
Représentation en ST
Représentation :
DBCD_Result := DINT_TO_BCD(D_Integer_1);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
D_Integer_1
DINT
Entier double codé binaire compris entre 0 et 99999999.
Exemple : D_Integer_1 = 888888
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
DBCD_Result
DINT
DBCD_Result est un entier double, codé BCD.
Exemple : avec la valeur d’exemple du tableau
précédent, DBCD_Result = 16#00888888
Erreurs d’exécution
Le bit %S18 est positionné à 1 lorsque la valeur à convertir n’est pas une valeur comprise entre 0
et 99999999. Le résultat de la fonction retourne alors la valeur du paramètre d’entrée.
418
33002520 09/2020
EcoStruxure™ Control Expert
DT_TO_ARINT
33002520 09/2020
Chapitre 132
DT_TO_ARINT: Conversion d'une variable DT en tableau d'entiers
DT_TO_ARINT: Conversion d'une variable DT en tableau
d'entiers
Description
Description de la fonction
La fonction convertit une variable DATE_AND_TIME (dt#) en un tableau d'entiers à quatre éléments
avec la date et l'heure au format BCD.
Exemple :
Si l'entrée est :
DT_Variable = dt#2006-05-11-10:46:16

Alors la sortie est :
 DateAndTime_ARRAY[1] = 16#1600
 DateAndTime_ARRAY[2] = 16#1046
 DateAndTime_ARRAY[3] = 16#0511
 DateAndTime_ARRAY[4] = 16#2006
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.
Représentation en FBD
Représentation en LD
33002520 09/2020
419
DT_TO_ARINT
Représentation en IL
LD DT_Variable DT_TO_ARINT ST DateAndTime_ARRAY
Représentation en ST
DateAndTime_ARRAY := DT_TO_ARINT (DT_Variable) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
DT_Variable
DT
Date et heure en tant que variable
DATE_AND_TIME (dt#).
Description des paramètres de sortie :
Paramètres
Type de données
Signification
DateAndTime_ARRAY
ARRAY [n..m] OF
INT
Entier ARRAY de quatre éléments
avec la date et l'heure au format
BCD :
 secondes,-- (16#ss,--)
correspond à %SW50
 heure, minutes (16#hhmm)
correspond à %SW51
 mois, jour (16#mmjj)
correspond à %SW52
 année (16#aaaa)
correspond à %SW53
Erreurs d'exécution
Si la taille de la sortie DateAndTime_ARRAY est trop petite, ENO = 0 et OUT reste inchangé.
420
33002520 09/2020
EcoStruxure™ Control Expert
DT_TO_STRING
33002520 09/2020
Chapitre 133
DT_TO_STRING : conversion d'une variable au format DT en une chaîne de caractères
DT_TO_STRING : conversion d'une variable au format DT en
une chaîne de caractères
Description
Description de la fonction
La fonction DT_TO_STRING effectue la conversion d’une variable au format DT en une chaîne de
caractères.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33002520 09/2020
421
DT_TO_STRING
Représentation en IL
Représentation :
LD Date1
DT_TO_STRING
ST Result_Str
Représentation en ST
Représentation :
Result_Str := DT_TO_STRING(Date1);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Date1
DT
Date à convertir au format chaîne de caractères.
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Result_Str
STRING
Result_Str est une chaîne de 19 caractères qui
contient une date (avec les heures) au format suivant :
YYYY-MM-DD-HH:MM.
Exemple : ‘2000-12-27-23:15’
Note : si la taille maximale de la chaîne Result_Str
est supérieure à 19, Result_Str est complétée par
des caractères de fin de chaîne (16#00).
Erreurs d’exécution
Si la chaîne Result_Str est trop courte pour contenir la date (longueur inférieure à 19
caractères), la date est tronquée et le bit %S15 est positionné à 1.
Si Date1 n’est pas interprétable et cohérent en format DT, le bit système %S18 est positionné à 1
et Result_Str =’****-**-**-**:**:**’.
422
33002520 09/2020
EcoStruxure™ Control Expert
DWORD_TO_***
33002520 09/2020
Chapitre 134
DWORD_TO_*** : conversion de type
DWORD_TO_*** : conversion de type
Description
Description de la fonction
La fonction convertit une valeur d'entrée du type de données DWORD dans un type de données
BOOL, BYTE, WORD, INT, DINT, UINT, UDINT, REAL ou TIME
NOTE : La fonction procède à la conversion en respectant strictement les règles CEI. cette fonction
étant exécutée en tant que fonction générique, il en résulte aussi quelques conversions illogiques,
par ex. DWORD_TO_BOOL.
Lors de la conversion du type de données DWORD en type de données BOOL, BYTE, WORD, INT ou
UINT, les bits de poids faible de la valeur d’entrée sont transmis à la sortie.
EN et ENO peuvent être configurés comme paramètres supplémentaires.
(La sortie ENO n'est pas utilisée avec DWORD_TO_REAL. Elle a toujours la valeur 1.)
Fonctions disponibles
Liste des fonctions disponibles :
 DWORD_TO_BOOL
 DWORD_TO_BYTE
 DWORD_TO_WORD
 DWORD_TO_INT
 DWORD_TO_DINT
 DWORD_TO_UINT
 DWORD_TO_UDINT
 DWORD_TO_REAL
 DWORD_TO_TIME
Représentation en FBD
Représentation d'une application entière :
33002520 09/2020
423
DWORD_TO_***
Représentation en LD
Représentation d'une application entière :
Représentation en IL
Représentation d'une application entière :
LD DWORD_variable
DWORD_TO_INT
ST ConvertedVariable
Représentation en ST
Représentation d'une application entière :
ConvertedVariable := DWORD_TO_INT (DWORD_variable) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
DWORD_variable
DWORD
Valeur d'entrée
Description des paramètres de sortie :
Paramètre
Type de données
Signification
ConvertedVariable
BOOL, BYTE, WORD, INT, DINT,
UINT, UDINT, REAL, TIME
Valeur de sortie
Erreur d'exécution
La gestion des erreurs est liée à la fonction :
 DWORD_TO_REAL
Le bit système %S18 est réglé sur 1 et l'état est stocké dans %SW17 si un nombre à virgule
flottante non admis est généré lors de la conversion.
 toutes les autres fonctions
Le bit système %S18 et le mot système %SW17 ne sont pas utilisés.
424
33002520 09/2020
EcoStruxure™ Control Expert
GRAY_TO_INT
33002520 09/2020
Chapitre 135
GRAY_TO_INT : conversion d'un entier codé en Gray en entier codé en binaire
GRAY_TO_INT : conversion d'un entier codé en Gray en entier
codé en binaire
Description
Description de la fonction
La fonction GRAY_TO_INT effectue la conversion d’un entier exprimé en code GRAY en un entier
codé binaire.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD GRAY_Int
GRAY_TO_INT
ST Result_Int
33002520 09/2020
425
GRAY_TO_INT
Représentation en ST
Représentation :
Result_Int := GRAY_TO_INT(GRAY_Int);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
GRAY_Int
INT
Entier exprimé en code GRAY.
Le tableau suivant décrit les paramètres de sortie :
426
Paramètre
Type
Commentaire
Result_Int
INT
Result_Int est un entier codé en binaire.
33002520 09/2020
EcoStruxure™ Control Expert
INT_AS_DINT
33002520 09/2020
Chapitre 136
INT_AS_DINT : concaténation de deux entiers pour former un entier double
INT_AS_DINT : concaténation de deux entiers pour former un
entier double
Description
Description de la fonction
La fonction INT_AS_DINT concatène deux entiers pour former un entier double.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD Low_Word
INT_AS_DINT High_Word
ST Double_Word
33002520 09/2020
427
INT_AS_DINT
Représentation en ST
Représentation :
Double_Word := INT_AS_DINT(Low_Word, High_Word);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Low_Word
INT
Entier qui doit devenir le poids faible de l’entier double
Double_Word.
Exemple : Low_Word contient 16#5678.
High_Word
INT
Entier qui doit devenir le poids fort de l’entier double
Double_Word.
Exemple : High_Word contient 16#1234.
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Double_Word
DINT
Entier double composé des deux entiers Low_Word
pour le poids faible et High_Word pour le poids fort.
Exemple : pour les valeurs d’exemple du tableau
précédent, Double_Word contient 16#12345678.
428
33002520 09/2020
EcoStruxure™ Control Expert
INT_TO_***
33002520 09/2020
Chapitre 137
INT_TO_*** : conversion de type
INT_TO_*** : conversion de type
Description
Description de la fonction
La fonction convertit une valeur d'entrée du type de données INT en une valeur de sortie du type
de données BOOL, BYTE, WORD, DWORD, DINT, UINT, UDINT, REAL ou TIME.
NOTE : La fonction procède à la conversion en respectant strictement les règles CEI. Cette
fonction étant réalisée en tant que fonction générique, il en résulte aussi quelques conversions
illogiques, par ex. INT_TO_BOOL.
Les valeurs d’entrée négatives ne peuvent être converties en types de donnéesUINT, UDINT ou
TIME.
Lors de la conversion d’une valeur d’entrée de type UINT en type WORD, le profil binaire d’entrée
est transmis à la sortie sans modification.
Lors de la conversion d’une valeur d’entrée du type de données INT en type BOOL ou BYTE, les
bits d’entrée de poids faible sont transmis à la sortie.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Liste des fonctions disponibles :
 INT_TO_BOOL
 INT_TO_BYTE
 INT_TO_WORD
 INT_TO_DWORD
 INT_TO_DINT
 INT_TO_UINT
 INT_TO_UDINT
 INT_TO_REAL
 INT_TO_TIME
33002520 09/2020
429
INT_TO_***
Représentation en FBD
Représentation d'une application Double Integer :
Représentation en LD
Représentation d'une application Double Integer :
Représentation en IL
Représentation d'une application Double Integer :
LD INT_variable
INT_TO_DINT
ST ConvertedVariable
Représentation en ST
Représentation d'une application Double Integer :
ConvertedVariable := INT_TO_DINT (INT_variable) ;
430
33002520 09/2020
INT_TO_***
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
INT_variable
INT
Valeur d’entrée
Description des paramètres de sortie :
Paramètres
Type de données
Signification
ConvertedVariable
BOOL, BYTE, DWORD,
WORD, DINT, UINT,
UDINT, REAL, TIME
Valeur de sortie
Erreur d’exécution
Le bit système %S18 est configuré sur 1 si
la plage des valeurs de sortie est dépassée (types de données numériques)
 une valeur d’entrée négative est susceptible d’être convertie en une valeur de sortie UDINT,
UINT ou TIME.
 lors de la conversion en type de donnéesREAL un nombre en virgule flottante non admis est
généré. De plus, dans ce cas, le statut devient %SW17.

Le bit système %S18 et le mot système %SW17 ne sont pas utilisés lors d'une conversion dans
les types de données :
 BOOL
 BYTE
 WORD
 DWORD
33002520 09/2020
431
INT_TO_***
432
33002520 09/2020
EcoStruxure™ Control Expert
INT_TO_BCD
33002520 09/2020
Chapitre 138
INT_TO_BCD : conversion d'un entier codé en binaire en un entier décimal codé en binaire
INT_TO_BCD : conversion d'un entier codé en binaire en un
entier décimal codé en binaire
Description
Description de la fonction
La fonction INT_TO_BCD effectue la conversion d’un entier codé binaire en un entier au format
Binaire Codé Décimal (BCD).
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33002520 09/2020
433
INT_TO_BCD
Représentation en IL
Représentation :
LD Integer_1
INT_TO_BCD
ST BCD_Result
Représentation en ST
Représentation :
BCD_Result := INT_TO_BCD(Integer_1);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Integer_1
INT
Entier codé binaire compris entre 0 et 9999.
Exemple : Integer_1 = 99
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
BCD_Result
INT
BCD_Result est un entier codé BCD.
Exemple : avec la valeur d’exemple du tableau
précédent, BCD_Result = 16#99
Erreurs d’exécution
Le bit %S18 est positionné à 1 lorsque la valeur à convertir n’est pas une valeur comprise entre 0
et 9999. Le résultat de la fonction retourne alors la valeur du paramètre d’entrée.
434
33002520 09/2020
EcoStruxure™ Control Expert
INT_TO_DBCD
33002520 09/2020
Chapitre 139
INT_TO_DBCD : conversion d'un entier codé en binaire en un entier décimal codé en binaire double
INT_TO_DBCD : conversion d'un entier codé en binaire en un
entier décimal codé en binaire double
Description
Description de la fonction
La fonction INT_TO_DBCD effectue la conversion d'un entier codé en binaire en format décimal
codé binaire double (DBCD). Elle convertit les nombres BCD jusqu'à 32767.
NOTE : Cette fonction est utile pour convertir les nombres supérieurs à 9999 (par rapport à la
fonction INT_TO_BCD).
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33002520 09/2020
435
INT_TO_DBCD
Représentation en IL
Représentation :
LD Integer_1
INT_TO_DBCD
ST DBCD_Result
Représentation en ST
Représentation :
DBCD_Result:= INT_TO_DBCD(Integer_1);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Integer_1
INT
Entier codé en binaire compris entre 0 et 32767.
Exemple : Integer_1 = 30000
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
DBCD_Result
DINT
DBCD_Result est un entier double au format BCD.
Exemple : avec la valeur fournie dans l'exemple du
tableau précédent, DBCD_Result = 16#00030000
Erreurs d'exécution
Le bit %S18 est défini sur 1 lorsque la valeur à convertir n'est pas comprise dans la plage de 0 à
32767. La fonction renvoie alors comme résultat la valeur du paramètre d'entrée.
436
33002520 09/2020
EcoStruxure™ Control Expert
RAD_TO_DEG
33002520 09/2020
Chapitre 140
RAD_TO_DEG : conversion de radians en degrés
RAD_TO_DEG : conversion de radians en degrés
Description
Description de la fonction
La fonction RAD_TO_DEG convertit un angle exprimé en radian en degré.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
La formule est la suivante :
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33002520 09/2020
437
RAD_TO_DEG
Représentation en IL
Représentation :
LD Angle_in_Radian
RAD_TO_DEG
ST Angle_in_Degree
Représentation en ST
Représentation :
Angle_in_Degree := RAD_TO_DEG(Angle_in_Radian);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Angle_in_Radian
REAL
Valeur de l’angle exprimé en radian.
-4096π ≤ Angle_in_Radian ≤ +4096π
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Angle_in_Degree
REAL
Angle exprimé en degré.
-360 < Angle_in_Degree < +360
Erreurs d’exécution
Lorsque Angle_in_Degree est située en dehors de l’intervalle ]-4096 π, 4096 π[, le bit système
%S18 passe à 1 et le mot système %SW17 indique le type du défaut.
438
33002520 09/2020
EcoStruxure™ Control Expert
REAL_AS_WORD
33002520 09/2020
Chapitre 141
REAL_AS_WORD : conversion de type
REAL_AS_WORD : conversion de type
Description
Description de la fonction
Cette procédure convertit une valeur d'entrée du type de données REAL en 2 valeurs de sortie du
type de données WORD.
Les différents mots de l'entrée REAL sont affectés aux sorties en fonction des noms de celles-ci.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation dans FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD REAL_variable
REAL_AS_WORD LowWord, HighWord
33002520 09/2020
439
REAL_AS_WORD
Représentation en ST
Représentation :
REAL_AS_WORD (REAL_variable, LowWord, HighWord) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
REAL_variable
REAL
Entrée
Description des paramètres de sortie :
Paramètres
Type de données
Signification
LowWord
WORD
mot de poids faible
HighWord
WORD
mot de poids fort
Erreur d’exécution
Le bit système %S18 est réglé sur 1 si un nombre à virgule flottante non admis est présent à
l'entrée.
440
33002520 09/2020
EcoStruxure™ Control Expert
REAL_TO_***
33002520 09/2020
Chapitre 142
REAL_TO_*** : conversion de type
REAL_TO_*** : conversion de type
Description
Description de la fonction
La fonction convertit une valeur d'entrée du type de données REAL dans le type de données BOOL,
BYTE, WORD , DWORD, INT, DINT, UINT, UDINT ou TIME.
NOTE : La fonction procède à la conversion en respectant strictement les règles CEI. Cette
fonction étant réalisée en tant que fonction générique, il en résulte aussi quelques conversions
illogiques, par ex. REAL_TO_BOOL.
Lors de la conversion en BOOL, BYTE, WORD, les bits de poids faible de la valeur d’entrée sont
transmis à la sortie. Aucun message d'erreur d'exécution n'est généré et ENO reste sur 1.
Lors de la conversion en INT, DINT, UINT, UDINT et TIME les valeurs sont arrondies
conformément aux règles spécifiées par CEI 559.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
(la sortie ENO n'est pas utilisée avec REAL_TO_BOOL, REAL_TO_BYTE, REAL_TO_WORD et
REAL_TO_DWORD ; elle a toujours la valeur "1")
Fonctions disponibles
Liste des fonctions disponibles :
 REAL_TO_BOOL
 REAL_TO_BYTE
 REAL_TO_WORD
 REAL_TO_DWORD
 REAL_TO_INT
 REAL_TO_DINT
 REAL_TO_UINT
 REAL_TO_UDINT
 REAL_TO_TIME
33002520 09/2020
441
REAL_TO_***
Exemple
L’exemple suivant montre la manière d’arrondir selon CEI 559.
1,4 -> 1
1,5 -> 2
2,5 -> 2
3,5 -> 4
4,5 -> 4
4,6 -> 5
Valeurs d'entrée négatives
Les valeurs d’entrée négatives ne peuvent être converties en types de donnéesUINT, UDINT ou
TIME.
Représentation en FBD
Représentation d'une application entière :
Représentation en LD
Représentation d'une application entière :
Représentation en IL
Représentation d'une application entière :
LD REAL_variable
REAL_TO_INT
ST ConvertedVariable
442
33002520 09/2020
REAL_TO_***
Représentation en ST
Représentation d'une application entière :
ConvertedVariable := REAL_TO_INT (REAL_variable) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
REAL_variable
REAL
Valeur d’entrée
Description des paramètres de sortie :
Paramètres
Type de données
Signification
ConvertedVariable
BOOL, BYTE, WORD,
DWORD, INT, DINT,
UINT, UDINT, TIME
Valeur de sortie
Erreur d’exécution
Le bit système %S18 est configuré sur 1 si
 un nombre en virgule flottante non admis est présent à l’entrée
 la plage des valeurs de sortie est dépassée (types de données numériques)
 une valeur d’entrée négative est susceptible d’être convertie en une valeur de sortie UDINT,
UINT ou TIME.
 lors de la conversion en type de donnéesREAL un nombre en virgule flottante non admis est
généré. De plus, dans ce cas, le statut devient %SW17.
Le bit système %S18 et le mot système %SW17 ne sont pas utilisés lors d'une conversion dans
les types de données :
 BOOL
 BYTE
 WORD
 DWORD
33002520 09/2020
443
REAL_TO_***
444
33002520 09/2020
EcoStruxure™ Control Expert
REAL_TRUNC_***
33002520 09/2020
Chapitre 143
REAL_TRUNC_*** : conversion de type
REAL_TRUNC_*** : conversion de type
Description
Description du fonctionnement
La fonction convertit (avec troncation à zéro) une valeur d’entrée du type de données REAL en une
valeur de sortie du type de données INT, DINT, UINT ou UDINT.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Liste des fonctions disponibles :
 REAL_TRUNC_INT
 REAL_TRUNC_DINT
 REAL_TRUNC_UINT
 REAL_TRUNC_UDINT
Exemple
L’exemple suivant montre la manière de convertir.
1,6 -> 1
-1,6 -> -1
1,4 -> 1
-1,4 -> -1
Type de données
Les valeurs d’entrée négatives ne peuvent être converties en types de données UDINT ou UINT.
Représentation dans FBD
Représentation d'une application entière :
33002520 09/2020
445
REAL_TRUNC_***
Représentation dans LD
Représentation d'une application entière :
Représentation dans IL
Représentation d'une application entière :
LD REAL_variable
REAL_TRUNC_INT
ST ConvertedVariable
Représentation dans ST
Représentation d'une application entière :
ConvertedVariable := REAL_TRUNC_INT (REAL_variable) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
REAL_variable
REAL
Valeur d'entrée
Description des paramètres de sortie :
Paramètre
Type de données
Signification
ConvertedVariable
INT, DINT, UINT,
UDINT
Valeur de sortie
Erreur d’exécution
Le bit système %S18 est réglé sur 1 et le statut devient %SW17, si


446
une valeur d’entrée négative est susceptible d’être convertie en une valeur de sortie UDINT ou
UINT
ou
un nombre en virgule flottante non admis est présent à l’entrée.
33002520 09/2020
EcoStruxure™ Control Expert
STRING_TO_ASCII
33002520 09/2020
Chapitre 144
STRING_TO_ASCII : conversion de type
STRING_TO_ASCII : conversion de type
Description
Description de la fonction
La fonction copie la chaîne à partir du type de données STRING en entrée (sans conversion) sous
forme de valeurs ASCII dans le tableau INT en sortie.
Cette fonction est utilisée pour transférer différents caractères (correspondant tous à des valeurs
ASCII de 16#01 à 16#FF). La seule exception est 16#00 (Valeur 0), qui est utilisée pour remplir
des bits vides (non utilisés).
Etant donné que chaque caractère ASCII n'a besoin que de 1 octet, il est possible de transférer
2 caractères ASCII pour chaque élément de type entier du tableau de sortie. La séquence de
transfert suit le principe un octet de poids fort, un octet de poids faible.
Lorsque les caractères ASCII de la chaîne d'entrée ne suffisent pas pour remplir le tableau
d'entiers avec des valeurs ASCII, les éléments restants sont remplis avec la valeur 0 (voir
Exemple 3, page 450).
L'opération de copie se termine lorsque :
la fin de la chaîne d'entrée est atteinte ;
 la fin du tableau de sortie est atteinte.

EN et ENO sont projetés en tant que paramètres supplémentaires.
33002520 09/2020
447
STRING_TO_ASCII
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD StringInput
STRING_TO_ASCII
ST AsciiValueArray
Représentation en ST
Représentation :
AsciiValueArray := STRING_TO_ASCII (StringInput) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Description
StringInput
STRING
Chaîne de caractères ASCII
Description des paramètres de sortie :
448
Paramètre
Type de données
AsciiValueArray
Description
ARRAY [n..m] OF INT Tableau d'entiers avec des valeurs ASCII
33002520 09/2020
STRING_TO_ASCII
Erreur d'exécution
Si la taille des variables de tableau en sortie est insuffisante pour représenter tous les caractères
ASCII de la chaîne d'entrée, ENO est défini sur 0 et le bit système %S15 est défini sur 1.
Exemple 1
Dans l'exemple, une chaîne de 4 caractères ASCII doit être transférée dans un tableau d'entiers.
Cette opération nécessite un tableau d'entiers avec 2 éléments.
Exemple 2
Dans l'exemple, une chaîne de 3 caractères ASCII doit être transférée dans un tableau d'entiers.
Cette opération nécessite un tableau d'entiers avec 2 éléments ; l'octet de poids faible du
deuxième élément n'est pas obligatoire et contient donc la valeur 0.
33002520 09/2020
449
STRING_TO_ASCII
Exemple 3
Lorsque les caractères ASCII de la chaîne d'entrée ne suffisent pas pour remplir le tableau
d'entiers avec des valeurs ASCII, les éléments restants sont remplis avec la valeur 0.
Exemple 4
Lorsqu'une chaîne vide est transférée, les éléments du tableau d'entiers sont remplis avec la
valeur 0.
450
33002520 09/2020
STRING_TO_ASCII
Exemple 5
Dans l'exemple, 8 caractères ASCII doivent être transférés. Comme le tableau de sortie est trop
petit, ENO est défini sur 0 et le bit système %S15 sur 1.
33002520 09/2020
451
STRING_TO_ASCII
452
33002520 09/2020
EcoStruxure™ Control Expert
STRING_TO_ASCII_INV
33002520 09/2020
Chapitre 145
STRING_TO_ASCII_INV : conversion de type
STRING_TO_ASCII_INV : conversion de type
Description
Description de la fonction
La fonction copie la chaîne à partir du type de données STRING en entrée (sans conversion) sous
forme de valeurs ASCII dans le tableau INT en sortie.
Cette fonction est utilisée pour transférer différents caractères (correspondant tous à des valeurs
ASCII de 16#01 à 16#FF). La seule exception est 16#00 (Valeur 0), qui est utilisée pour remplir
des bits vides (non utilisés).
Etant donné que chaque caractère ASCII n'a besoin que de 1 octet, il est possible de transférer
2 caractères ASCII pour chaque élément de type entier du tableau de sortie. La séquence de
transfert suit le principe un octet de poids faible, un octet de poids fort.
Lorsque les caractères ASCII de la chaîne d'entrée ne suffisent pas pour remplir le tableau
d'entiers avec des valeurs ASCII, les éléments restants sont remplis avec la valeur 0 (voir
Exemple 3, page 456).
L'opération de copie se termine lorsque :
la fin de la chaîne d'entrée est atteinte ;
 la fin du tableau de sortie est atteinte.

EN et ENO sont projetés en tant que paramètres supplémentaires.
33002520 09/2020
453
STRING_TO_ASCII_INV
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD StringInput
STRING_TO_ASCII_INV
ST AsciiValueArray
Représentation en ST
Représentation :
AsciiValueArray := STRING_TO_ASCII_INV (StringInput) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Description
StringInput
STRING
Chaîne de caractères ASCII
Description des paramètres de sortie :
454
Paramètre
Type de données
AsciiValueArray
Description
ARRAY [n..m] OF INT Tableau d'entiers avec des valeurs ASCII
33002520 09/2020
STRING_TO_ASCII_INV
Erreur d'exécution
Si la taille des variables de tableau en sortie est insuffisante pour représenter tous les caractères
ASCII de la chaîne d'entrée, ENO est défini sur 0 et le bit système %S15 est défini sur 1.
Exemple 1
Dans l'exemple, une chaîne de 4 caractères ASCII doit être transférée dans un tableau d'entiers.
Cette opération nécessite un tableau d'entiers avec 2 éléments.
Exemple 2
Dans l'exemple, une chaîne de 3 caractères ASCII doit être transférée dans un tableau d'entiers.
Cette opération nécessite un tableau d'entiers avec 2 éléments ; l'octet de poids fort du deuxième
élément n'est pas obligatoire et contient donc la valeur 0.
33002520 09/2020
455
STRING_TO_ASCII_INV
Exemple 3
Lorsque les caractères ASCII de la chaîne d'entrée ne suffisent pas pour remplir le tableau
d'entiers avec des valeurs ASCII, les éléments restants sont remplis avec la valeur 0.
Exemple 4
Lorsqu'une chaîne vide est transférée, les éléments du tableau d'entiers sont remplis avec la
valeur 0.
456
33002520 09/2020
STRING_TO_ASCII_INV
Exemple 5
Dans l'exemple, 8 caractères ASCII doivent être transférés. Comme le tableau de sortie est trop
petit, ENO est défini sur 0 et le bit système %S15 sur 1.
33002520 09/2020
457
STRING_TO_ASCII_INV
458
33002520 09/2020
EcoStruxure™ Control Expert
STRING_TO_***
33002520 09/2020
Chapitre 146
STRING_TO_*** : conversion d'une chaîne de caractères en un nombre de type INT, DINT ou REAL
STRING_TO_*** : conversion d'une chaîne de caractères en
un nombre de type INT, DINT ou REAL
Description
Description de la fonction
La fonction STRING_TO_*** convertit une chaîne de caractères en un entier à un ou deux chiffres
ou en un nombre réel.
Cette fonction est IEC 1131.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles sont les suivantes :
 STRING_TO_INT,
 STRING_TO_DINT,
 STRING_TO_REAL.
Représentation en FBD
Représentation appliquée à un entier :
33002520 09/2020
459
STRING_TO_***
Représentation en LD
Représentation appliquée à un entier :
Représentation en IL
Représentation appliquée à un entier :
LD String_1
STRING_TO_INT
ST Result_Value
Représentation en ST
Représentation appliquée à un entier :
Result_Value := STRING_TO_INT(String_1);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
String_1
STRING
Chaîne de caractères.
Exemple : String_1 = ‘-32500’
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Result_Value
INT, DINT,
REAL
Result_Value est un entier, un entier à deux chiffres
ou un réel selon la fonction utilisée. Ce résultat est la
conversion de la chaîne de caractères String_1 selon
les préconisations de la norme CEI 1131.
Exemple : avec la valeur de l’exemple dans le tableau
précédent, Result_Value = -32500.
460
33002520 09/2020
STRING_TO_***
Erreurs d’exécution
Le bit %S18 est positionné à 1 lorsque le contenu de la chaîne à convertir est situé au-delà des
limites du type choisi (INT, DINT ou REAL) ou lorsque l’un des caractères de la chaîne est erroné.
33002520 09/2020
461
STRING_TO_***
462
33002520 09/2020
EcoStruxure™ Control Expert
TIME_AS_WORD
33002520 09/2020
Chapitre 147
TIME_AS_WORD : conversion de type
TIME_AS_WORD : conversion de type
Description
Description de la fonction
Cette procédure convertit une valeur d'entrée du type de données TIME en 2 valeurs de sortie du
type de données WORD.
Les différents mots de l'entrée TIME sont affectés aux sorties en fonction des noms de celles-ci.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation dans FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD TIME_variable
TIME_AS_WORD LowWord, HighWord
33002520 09/2020
463
TIME_AS_WORD
Représentation en ST
Représentation :
TIME_AS_WORD (REAL_variable, LowWord, HighWord) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
TIME_variable
TIME
Entrée
Description des paramètres de sortie :
464
Paramètres
Type de données
Signification
LowWord
WORD
mot de poids faible
HighWord
WORD
mot de poids fort
33002520 09/2020
EcoStruxure™ Control Expert
TIME_TO_***
33002520 09/2020
Chapitre 148
TIME_TO_*** : conversion de type
TIME_TO_*** : conversion de type
Description
Description du fonctionnement
La fonction convertit une valeur d'entrée du type de données TIME dans le type de données BOOL,
BYTE, WORD, DWORD, INT, DINT, UINT, UDINT ou REAL.
NOTE : La fonction procède à la conversion en respectant strictement les règles CEI. Cette
fonction étant réalisée en tant que fonction générique, il en résulte aussi quelques conversions
illogiques, par ex. TIME_TO_BOOL.
Lors de la conversion d’une valeur d’entrée de type TIME en une valeur de sortie de type BOOL,
BYTE, WORD, INT ou UINT, les bits d’entrée de poids faible sont respectivement transmis à la
sortie.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Liste des fonctions disponibles :
 TIME_TO_BOOL
 TIME_TO_BYTE
 TIME_TO_WORD
 TIME_TO_DWORD
 TIME_TO_INT
 TIME_TO_DINT
 TIME_TO_UINT
 TIME_TO_UDINT
 TIME_TO_REAL
Représentation dans FBD
Représentation d'une application entière :
33002520 09/2020
465
TIME_TO_***
Représentation dans LD
Représentation d'une application entière :
Représentation dans IL
Représentation d'une application entière :
LD TIME_variable
TIME_TO_INT
ST ConvertedVariable
Représentation dans ST
Représentation d'une application entière :
ConvertedVariable := TIME_TO_INT (TIME_variable) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
TIME_variable
TIME
Valeur d'entrée
Description des paramètres de sortie :
Paramètre
Type de données
Signification
ConvertedVariable
BOOL, BYTE, WORD,
DWORD, INT, DINT,
UINT, UDINT, REAL
Valeur de sortie
Erreur d’exécution
Le bit système %S18 est configuré sur 1 si

466
au cours de l’exécution de la fonction, la plage de valeurs est dépassée en sortie.
33002520 09/2020
EcoStruxure™ Control Expert
TIME_TO_STRING
33002520 09/2020
Chapitre 149
TIME_TO_STRING : conversion d'une variable au format TIME en une chaîne de caractères
TIME_TO_STRING : conversion d'une variable au format TIME
en une chaîne de caractères
Description
Description de la fonction
La fonction TIME_TO_STRING effectue la conversion d’une variable au format TIME en une
chaîne de caractères.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD Time1
TIME_TO_STRING
ST Result_Str
33002520 09/2020
467
TIME_TO_STRING
Représentation en ST
Représentation :
Result_Str := TIME_TO_STRING(Time1);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Time1
TIME
Durée à convertir au format chaîne de caractères.
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Result_Str
STRING
Result_Str est une chaîne de 15 caractères qui
contient une durée au format suivant :
HHHHHH:MM:SS.D.
Exemple : ‘119304:38:49.5’
Note : si la taille maximale de la chaîne Result_Str
est supérieure à 15, Result_Str est complétée par
des caractères de fin de chaîne (16#00).
Erreurs d’exécution
Si la chaîne Result_Str est trop courte pour contenir la valeur convertie (longueur inférieure à
15 caractères), celle-ci est tronquée et le bit %S15 est positionné à 1.
468
33002520 09/2020
EcoStruxure™ Control Expert
TOD_TO_ARINT
33002520 09/2020
Chapitre 150
TOD_TO_ARINT: Conversion d'une variable TOD en tableau d'entiers
TOD_TO_ARINT: Conversion d'une variable TOD en tableau
d'entiers
Description
Description de la fonction
La fonction convertit une variable TIME_OF_DAY (tod#) en un tableau d'entiers à deux éléments
avec l'heure du jour au format BCD.
Exemple :
Si l'entrée est :
TOD_Variable = tod#10:46:16

Alors la sortie est :
 Time_ARRAY[1] = 16#1600
 Time_ARRAY[2] = 16#1046
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.
Représentation en FBD
Représentation en LD
Représentation en IL
LD TOD_Variable TOD_TO_ARINT ST Time_ARRAY
33002520 09/2020
469
TOD_TO_ARINT
Représentation en ST
Time_ARRAY := TOD_TO_ARINT (TOD_Variable) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
TOD_Variable
TIME_OF_DAY
Heure du jour en tant que variable
TIME_OF_DAY (tod#).
Description des paramètres de sortie :
Paramètres
Type de données
Signification
Time_ARRAY
ARRAY [n..m] OF
INT
Entier ARRAY de deux éléments
avec la date et l'heure au format
BCD :
 secondes,-- (16#ss,--),
correspond à %SW50
 heure, minutes (16#hhmm)
correspond à %SW51
Erreurs d'exécution
Si la taille de la sortie Time_ARRAY est trop petite, ENO = 0 et OUT reste inchangé.
470
33002520 09/2020
EcoStruxure™ Control Expert
TOD_TO_STRING
33002520 09/2020
Chapitre 151
TOD_TO_STRING : conversion d'une variable au format TOD en une chaîne de caractères
TOD_TO_STRING : conversion d'une variable au format TOD
en une chaîne de caractères
Description
Description de la fonction
La fonction TOD_TO_STRING effectue la conversion d’une variable au format TOD en une chaîne
de caractères.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD Time1
TOD_TO_STRING
ST Result_Str
33002520 09/2020
471
TOD_TO_STRING
Représentation en ST
Représentation :
Result_Str := =TOD_TO_STRING(Time1);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Commentaire
Time1
TOD
Heure du jour à convertir au format chaîne de
caractères.
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Result_Str
STRING
Result_Str est une chaîne de 8 caractères qui
contient une heure du jour au format suivant :
HH:MM:SS.
Exemple : ‘04:38:49’
Note : si la taille maximale de la chaîne Result_Str
est supérieure à 8, Result_Str est complétée par des
caractères de fin de chaîne (16#00).
Erreurs d’exécution
Si la chaîne Result_Str est trop courte pour contenir la valeur convertie (longueur inférieure à 8
caractères), celle-ci est tronquée et le bit %S15 est positionné à 1.
472
33002520 09/2020
EcoStruxure™ Control Expert
UDINT_AS_WORD
33002520 09/2020
Chapitre 152
UDINT_AS_WORD : conversion de type
UDINT_AS_WORD : conversion de type
Description
Description de la fonction
Cette procédure convertit une valeur d'entrée du type de données UDINT en 2 valeurs de sortie
du type de données WORD.
Les différents mots de l'entrée UDINT sont affectés aux sorties en fonction des noms de celles-ci.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation dans FBD
Représentation :
Représentation en LD
Représentation :
Représentation en IL
Représentation :
LD UDINT_variable
UDINT_AS_WORD LowWord, HighWord
33002520 09/2020
473
UDINT_AS_WORD
Représentation en ST
Représentation :
UDINT_AS_WORD (UDINT_variable, LowWord, HighWord) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
UDINT_variable
UDINT
Entrée
Description des paramètres de sortie :
474
Paramètres
Type de données
Signification
LowWord
WORD
mot de poids faible
HighWord
WORD
mot de poids fort
33002520 09/2020
EcoStruxure™ Control Expert
UDINT_TO_***
33002520 09/2020
Chapitre 153
UDINT_TO_*** : conversion de type
UDINT_TO_*** : conversion de type
Description
Description de la fonction
La fonction convertit une valeur d'entrée du type de données UDINT en une valeur de sortie du
type de données BOOL, BYTE, WORD, DWORD, INT, DINT, UINT, REAL ou TIME.
NOTE : La fonction procède à la conversion en respectant strictement les règles CEI. Cette
fonction étant réalisée en tant que fonction générique, il en résulte aussi quelques conversions
illogiques, par ex. UDINT_TO_BOOL.
Lors de la conversion du type de données UDINT en type de données BOOL, BYTE, WORD, INT ou
UINT, les bits de poids faible de la valeur d’entrée sont transmis à la sortie.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Liste des fonctions disponibles :
 UDINT_TO_BOOL
 UDINT_TO_BYTE
 UDINT_TO_WORD
 UDINT_TO_DWORD
 UDINT_TO_INT
 UDINT_TO_DINT
 UDINT_TO_UINT
 UDINT_TO_REAL
 UDINT_TO_TIME
Représentation en FBD
Représentation d'une application entière :
33002520 09/2020
475
UDINT_TO_***
Représentation en LD
Représentation d'une application entière :
Représentation en IL
Représentation d'une application entière :
LD UDINT_variable
UDINT_TO_INT
ST ConvertedVariable
Représentation en ST
Représentation d'une application entière :
ConvertedVariable := UDINT_TO_INT (UDINT_variable) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
UDINT_variable
UDINT
Valeur d’entrée
Description des paramètres de sortie :
476
Paramètres
Type de données
Signification
ConvertedVariable
BOOL, BYTE, WORD,
DWORD, INT, DINT,
UINT, REAL, TIME
Valeur de sortie
33002520 09/2020
UDINT_TO_***
Erreur d’exécution
Le bit système %S18 est configuré sur 1 si
la plage des valeurs de sortie est dépassée (types de données numériques)
 une valeur d’entrée négative est susceptible d’être convertie en une valeur de sortie UDINT,
UINT ou TIME.
 lors de la conversion en type de donnéesREAL un nombre en virgule flottante non admis est
généré. De plus, dans ce cas, le statut devient %SW17.

Le bit système %S18 et le mot système %SW17 ne sont pas utilisés lors d'une conversion dans
les types de données :
 BOOL
 BYTE
 WORD
 DWORD
33002520 09/2020
477
UDINT_TO_***
478
33002520 09/2020
EcoStruxure™ Control Expert
UINT_TO_***
33002520 09/2020
Chapitre 154
UINT_TO_*** : conversion de type
UINT_TO_*** : conversion de type
Description
Description de la fonction
La fonction convertit une valeur d'entrée du type de données UINT en une valeur de sortie du type
de données BOOL, BYTE, WORD, DWORD, INT, DINT, UDINT, REAL ou TIME.
NOTE : La fonction procède à la conversion en respectant strictement les règles CEI. Cette
fonction étant réalisée en tant que fonction générique, il en résulte aussi quelques conversions
illogiques, par ex. UINT_TO_BOOL.
Lors de la conversion d’une valeur d’entrée de type UINT en type WORD, le profil binaire d’entrée
est transmis à la sortie sans modification.
Lors de la conversion d’une valeur d’entrée du type de données UINT en type BOOL ou BYTE, les
bits d’entrée de poids faible sont transmis à la sortie.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Liste des fonctions disponibles :
 UINT_TO_BOOL
 UINT_TO_BYTE
 UINT_TO_WORD
 UINT_TO_DWORD
 UINT_TO_INT
 UINT_TO_DINT
 UINT_TO_UDINT
 UINT_TO_REAL
 UINT_TO_TIME
Représentation en FBD
Représentation d'une application entière :
33002520 09/2020
479
UINT_TO_***
Représentation en LD
Représentation d'une application entière :
Représentation en IL
Représentation d'une application entière :
LD UINT_variable
UINT_TO_INT
ST ConvertedVariable
Représentation en ST
Représentation d'une application entière :
ConvertedVariable := UINT_TO_INT (UINT_variable) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
UINT_variable
UINT
Valeur d’entrée
Description des paramètres de sortie :
480
Paramètres
Type de données
Signification
ConvertedVariable
BOOL, BYTE, WORD,
DWORD, INT, DINT,
UDINT, REAL, TIME
Valeur de sortie
33002520 09/2020
UINT_TO_***
Erreur d’exécution
Le bit système %S18 est configuré sur 1 si
la plage des valeurs de sortie est dépassée (types de données numériques)
 une valeur d’entrée négative est susceptible d’être convertie en une valeur de sortie UDINT,
UINT ou TIME.
 lors de la conversion en type de donnéesREAL un nombre en virgule flottante non admis est
généré. De plus, dans ce cas, le statut devient %SW17.

Le bit système %S18 et le mot système %SW17 ne sont pas utilisés lors d'une conversion dans
les types de données :
 BOOL
 BYTE
 WORD
 DWORD
33002520 09/2020
481
UINT_TO_***
482
33002520 09/2020
EcoStruxure™ Control Expert
WORD_AS_BYTE
33002520 09/2020
Chapitre 155
WORD_AS_BYTE : conversion de type
WORD_AS_BYTE : conversion de type
Description
Description du fonctionnement
Cette procédure convertit une valeur d’entrée du type de données WORD en deux valeurs de sortie
du type de données BYTE.
Les différents octets du mot à l'entrée sont affectés aux sorties en fonction des noms de sorties.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
LD WORD_variable
WORD_AS_BYTE LowByte, HighByte
33002520 09/2020
483
WORD_AS_BYTE
Représentation dans ST
Représentation :
WORD_AS_BYTE (WORD_variable, LowByte, HighByte);
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
WORD_variable
WORD
Entrée
Description des paramètres de sortie :
484
Paramètres
Type de données
Signification
LowByte
BYTE
octet d'ordre inférieur
HighByte
BYTE
octet d'ordre supérieur
33002520 09/2020
EcoStruxure™ Control Expert
WORD_AS_DINT
33002520 09/2020
Chapitre 156
WORD_AS_DINT : conversion de type
WORD_AS_DINT : conversion de type
Description
Description de la fonction
La fonction convertit deux valeurs d’entrée du type de données WORD en une valeur de sortie du
type de données DINT.
Les valeurs d'entrée sont affectées au mot à la sortie conformément aux noms d'entrée.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
Formule du bloc :
Représentation dans FBD
Représentation :
Représentation dans LD
Représentation :
33002520 09/2020
485
WORD_AS_DINT
Représentation dans IL
Représentation :
LD WORD_variable1
WORD_AS_DINT WORD_variable2
ST DINT_variable
Représentation dans ST
Représentation :
DINT_variable := WORD_AS_DINT (WORD_variable1,
WORD_variable2) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
WORD_variable1
WORD
Mot d'ordre inférieur
WORD_variable2
WORD
Mot d'ordre supérieur
Description des paramètres de sortie :
486
Paramètres
Type de données
Signification
DINT_variable
DINT
Valeur de sortie
33002520 09/2020
EcoStruxure™ Control Expert
WORD_AS_REAL
33002520 09/2020
Chapitre 157
WORD_AS_REAL : conversion de type
WORD_AS_REAL : conversion de type
Description
Description de la fonction
La fonction permet de convertir deux valeurs d'entrée du type de données WORD en valeurs de
sortie du type de données REAL.
Les valeurs d'entrée sont affectées au mot en sortie en fonction des noms des entrées.
EN et ENO peuvent être configurés en tant que paramètres supplémentaires.
Formule
Formule du bloc :
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33002520 09/2020
487
WORD_AS_REAL
Représentation en IL
Représentation :
LD WORD_variable1
WORD_AS_REAL WORD_variable2
ST REAL_Output
Représentation en ST
Représentation :
REAL_Output := WORD_AS_REAL (WORD_variable1, WORD_variable2);
Description des paramètres
Description des paramètres d'entrée :
Paramètre
Type de données
Signification
WORD_variable1
WORD
Octet de poids faible
WORD_variable2
WORD
Octet de poids fort
Description du paramètre de sortie :
Paramètre
Type de données
Signification
REAL_Output
REAL
Valeur de sortie
Erreur d'exécution
Le bit système %S18 est défini sur 1 si :
 un nombre à virgule flottante non autorisé est défini au niveau de l'entrée ;
 un nombre à virgule flottante non autorisé est créé au cours de la conversion en type de
données REAL. Dans ce cas, l'état apparaît également dans %SW17.
488
33002520 09/2020
EcoStruxure™ Control Expert
WORD_AS_TIME
33002520 09/2020
Chapitre 158
WORD_AS_TIME : conversion de type
WORD_AS_TIME : conversion de type
Description
Description de la fonction
La fonction convertit 2 valeurs d'entrée du type de données WORD en une valeur de sortie du type
de données TIME.
Les valeurs d'entrée sont affectées au mot en sortie en fonction des noms des entrées.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
Formule du bloc :
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33002520 09/2020
489
WORD_AS_TIME
Représentation en IL
Représentation :
LD WORD_variable1
WORD_AS_TIME WORD_variable2
ST TIME_Output
Représentation en ST
Représentation :
TIME_Output := WORD_AS_TIME (WORD_variable1,
WORD_variable2) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
WORD_variable1
WORD
octet de poids faible
WORD_variable2
WORD
octet de poids fort
Description des paramètres de sortie :
490
Paramètres
Type de données
Signification
TIME_Output
TIME
Valeur de sortie
33002520 09/2020
EcoStruxure™ Control Expert
WORD_AS_UDINT
33002520 09/2020
Chapitre 159
WORD_AS_UDINT : conversion de type
WORD_AS_UDINT : conversion de type
Description
Description de la fonction
La fonction convertit 2 valeurs d'entrée du type de données WORD en une valeur de sortie du type
de données UDINT.
Les valeurs d'entrée sont affectées au mot en sortie en fonction des noms des entrées.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Formule
Formule du bloc :
Représentation en FBD
Représentation :
Représentation en LD
Représentation :
33002520 09/2020
491
WORD_AS_UDINT
Représentation en IL
Représentation :
LD WORD_variable1
WORD_AS_UDINT WORD_variable2
ST UDINT_Output
Représentation en ST
Représentation :
UDINT_Output := WORD_AS_UDINT (WORD_variable1,
WORD_variable2) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
WORD_variable1
WORD
octet de poids faible
WORD_variable2
WORD
octet de poids fort
Description des paramètres de sortie :
492
Paramètres
Type de données
Signification
UDINT_Output
UDINT
Valeur de sortie
33002520 09/2020
EcoStruxure™ Control Expert
WORD_TO_BIT
33002520 09/2020
Chapitre 160
WORD_TO_BIT : conversion de type
WORD_TO_BIT : conversion de type
Description
Description du fonctionnement
Cette procédure convertit une valeur d’entrée du type de données WORD en seize valeurs de sortie
du type de données BOOL.
Les différents bits du mot d'entrée sont affectés aux sorties en fonction des noms de sorties.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Représentation dans FBD
Représentation :
33002520 09/2020
493
WORD_TO_BIT
Représentation dans LD
Représentation :
Représentation dans IL
Représentation :
LD WORD_variable
WORD_TO_BIT BOOL_variable1, BOOL_variable2,
BOOL_variable3, BOOL_variable4, BOOL_variable5,
BOOL_variable6, BOOL_variable7, BOOL_variable8,
BOOL_variable9, BOOL_variable10, BOOL_variable11,
BOOL_variable12, BOOL_variable13, BOOL_variable14,
BOOL_variable15, BOOL_variable16
Représentation dans ST
Représentation :
WORD_TO_BIT (WORD_variable, BOOL_variable1
BOOL_variable2, BOOL_variable3, BOOL_variable4,
BOOL_variable5, BOOL_variable6, BOOL_variable7,
BOOL_variable8, BOOL_variable9, BOOL_variable10,
BOOL_variable11, BOOL_variable12, BOOL_variable13,
BOOL_variable14, BOOL_variable15, BOOL_variable16);
494
33002520 09/2020
WORD_TO_BIT
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
WORD_variable
WORD
Entrée
Description des paramètres de sortie :
Paramètres
Type de données
Signification
BOOL_variable1
BOOL
Sortie BIT0
:
:
:
BOOL_variable16
BOOL
Sortie BIT15
33002520 09/2020
495
WORD_TO_BIT
496
33002520 09/2020
EcoStruxure™ Control Expert
WORD_TO_***
33002520 09/2020
Chapitre 161
WORD_TO_*** : conversion de type
WORD_TO_*** : conversion de type
Description
Description de la fonction
La fonction convertit une valeur d'entrée du type de données DWORD dans le type de données
BOOL, BYTE, WORD, INT, DINT, UINT, UDINT, REAL ou TIME.
Lors de la conversion du type de données WORD en type de données DWORD, DINT, UDINT, REAL
ou TIME, le profil binaire d’entrée est transféré dans les bits de poids faible de la sortie. Les bits
de poids fort de la sortie sont positionnés sur zéro.
Lors de la conversion du type de données WORD en type de données BOOL ou BYTE, les bits de
poids faible de la valeur d’entrée sont transmis à la sortie.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
(la sortie ENO n'est pas utilisée avec WORD_TO_REAL ; elle a toujours la valeur "1".)
Fonctions disponibles
Liste des fonctions disponibles :
 WORD_TO_BOOL
 WORD_TO_BYTE
 WORD_TO_DWORD
 WORD_TO_INT
 WORD_TO_DINT
 WORD_TO_UINT
 WORD_TO_UDINT
 WORD_TO_REAL
 WORD_TO_TIME
Représentation en FBD
Représentation d'une application entière :
33002520 09/2020
497
WORD_TO_***
Représentation en LD
Représentation d'une application entière :
Représentation en IL
Représentation d'une application entière :
LD WORD_variable
WORD_TO_INT
ST ConvertedVariable
Représentation en ST
Représentation d'une application entière :
ConvertedVariable := WORD_TO_INT (WORD_variable) ;
Description des paramètres
Description des paramètres d'entrée :
Paramètres
Type de données
Signification
WORD_variable
WORD
Valeur d’entrée
Description des paramètres de sortie :
Paramètres
Type de données
Signification
ConvertedVariable
BOOL, BYTE, DWORD,
INT, DINT, UINT,
UDINT, REAL, TIME
Valeur de sortie
Erreur d’exécution
Le bit système %S18 est réglé sur 1 et le statut devient %SW17, si

498
lors de la conversion en type de donnéesREAL un nombre en virgule flottante non admis est
généré.
33002520 09/2020
EcoStruxure™ Control Expert
***_TO_STRING
33002520 09/2020
Chapitre 162
***_TO_STRING : conversion d'une variable en une chaîne de caractères
***_TO_STRING : conversion d'une variable en une chaîne de
caractères
Description
Description de la fonction
La fonction ***_TO_STRING permet de convertir une variable INT, DINT ou REAL en une chaîne
de caractères.
Les paramètres supplémentaires EN et ENO peuvent être configurés.
Fonctions disponibles
Les fonctions disponibles sont les suivantes :
INT_TO_STRING
 DINT_TO_STRING
 REAL_TO_STRING.

Représentation en FBD
Représentation appliquée à une variable REAL :
Représentation en LD
Représentation appliquée à une variable REAL :
33002520 09/2020
499
***_TO_STRING
Représentation en IL
Représentation appliquée à une variable REAL :
LD Value1
REAL_TO_STRING
ST Result_Str
Représentation en ST
Représentation appliquée à une variable REAL :
Result_Str:= REAL_TO_STRING(Value1);
Description des paramètres
Le tableau suivant décrit les paramètres d’entrée :
Paramètre
Type
Value1
Commentaire
INT, DINT, Variable à convertir en chaîne de caractères.
REAL
Le tableau suivant décrit les paramètres de sortie :
Paramètre
Type
Commentaire
Result_Str
STRING
Result_Str est une chaîne de caractères dont la
longueur dépend du type du paramètre Value1 :
 5 chiffres plus le signe, ce qui donne 6 caractères
pour le type INT (exemple : '-00045'),
 10 chiffres plus le signe, ce qui donne 11 caractères
pour le type DINT (exemple : '-0000678911'),
Remarque : dans PL7, le résultat est de 11 chiffres
plus le signe, ce qui donne 12 caractères, pour le
type DINT (exemple : '-00006789110').
 14 caractères pour le type REAL (exemple :
‘-3.1234560e+25’).
Erreurs d'exécution
Si, durant la conversion d'une valeur de type REAL, le paramètre Value1 n'est pas compris entre
-3.402824e+38 et -1.175494e-38 ou entre +1.175494e-38 et +3.402824e+38, le bit %S18 est
défini sur 1 et le contenu de la chaîne Result_Str n'est pas significatif.
500
33002520 09/2020
EcoStruxure™ Control Expert
33002520 09/2020
Annexes
33002520 09/2020
501
502
33002520 09/2020
EcoStruxure™ Control Expert
Codes et valeurs d'erreur des EFB
33002520 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 de base.
Contenu de ce chapitre
Ce chapitre contient les sujets suivants :
Sujet
Page
Tableaux des codes d'erreur pour la bibliothèque de base
504
Erreurs courantes relatives aux valeurs à virgule flottante
507
33002520 09/2020
503
Codes et valeurs d'erreur des EFB
Tableaux des codes d'erreur pour la bibliothèque de base
Introduction
Les tableaux ci-dessous répertorient les codes et les valeurs d'erreur générés pour les EFB de la
bibliothèque de base.
Date & Durée
Tableau des codes et valeurs d'erreur générés pour les EFB de la famille Date & Durée.
Nom EFB
Code d'erreur
Etat
ENO en
cas
d'erreur
Valeur
d'erreur
(format
décimal)
DIVTIME
E_DIVIDE_BY_ZERO
F
-30 176
16#8A20
Division par zéro
DIVTIME
E_NEGATIVE_INPUT_
FOR_TIME_OPERATION
F
-30177
16#8A1F
Une valeur négative ne
peut être convertie en
données de type Durée
DIVTIME
E_ARITHMETIC_ ERROR
F
-30 170
16#8A26
Erreur arithmétique
DIVTIME
E_ERR_ARITHMETIC
F
-30 003
16#8ACD
Dépassement
arithmétique (%S18
activé)
DIVTIME
FP_ERROR
F
-
-
Voir tableau des Erreurs
MULTIME E_ERR_ARITHMETIC
F
-30 003
16#8ACD
Dépassement
arithmétique (%S18
activé)
MULTIME E_ARITHMETIC_ERROR_MUL_OV
F
-30 172
16#8A24
Erreur arithmétique /
Dépassement
multiplication
MULTIME E_ARITHMETIC_ERROR_ADD_OV
F
-30 173
16#8A23
Erreur arithmétique /
Dépassement addition
MULTIME E_ARITHMETIC_ERROR_BIG_PAR F
-30 171
16#8A25
Erreur arithmétique /
Paramètre dépassant la
plage
504
Valeur
d'erreur
(format
hexadécimal)
Description de l'erreur
courantes relatives aux
valeurs à virgule flottante,
page 507
33002520 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
(format
hexadécimal)
Description de l'erreur
MULTIME E_NEGATIVE_INPUT_FOR_TIME_
OPERATION
F
-30 177
16#8A1F
Une valeur négative ne
peut être convertie en
données de type Durée
MULTIME FP_ERROR
F
-
-
Voir tableau des Erreurs
courantes relatives aux
valeurs à virgule flottante,
page 507
Statistiques
Tableau des codes et valeurs d'erreur générés pour les EFB de la famille Statistiques.
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)
AVE
E_INPUT_VALUE_OUT_OF_RANGE
F
-30 183
16#8A19
Valeur d'entrée hors
limites
AVE
E_DIVIDE_BY_ZERO
F
-30 176
16#8A20
Division par zéro
AVE
FP_ERROR
F
-
-
Voir tableau des Erreurs
courantes relatives aux
valeurs à virgule flottante,
page 507
AVE
E_ARITHMETIC_ ERROR
F
-30 170
16#8A26
Erreur arithmétique
AVE
E_FP_STATUS_FAILED
F
-30 150
16#8A3A
Opération incorrecte de
virgule flottante
AVE
E_ARITHMETIC_ ERROR_MUL_OV
F
-30 172
16#8A24
Erreur arithmétique /
Dépassement
multiplication
AVE
E_ARITHMETIC_ ERROR_ADD_OV
F
-30 173
16#8A23
Erreur arithmétique /
Dépassement addition
AVE
E_ARITHMETIC_ ERROR_BIG_PAR
F
-30 171
16#8A25
Erreur arithmétique /
Paramètre dépassant la
plage
AVE
E_ARITHMETIC_ERROR_UNSIGN_OV F
-30 174
16#8A22
Erreur arithmétique /
Dépassement non signé
MAX
FP_ERROR
-
-
Voir tableau des Erreurs
courantes relatives aux
valeurs à virgule flottante,
page 507
33002520 09/2020
F
505
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
Description de l'erreur
d'erreur
(format
hexadécimal)
MIN
FP_ERROR
F
-
-
Voir tableau des Erreurs
courantes relatives aux
valeurs à virgule flottante,
page 507
MUX
E_SELECTOR_OUT_OF_RANGE
F
-30 175
16#8A21
Sélecteur hors limites
506
33002520 09/2020
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
33002520 09/2020
507
Codes et valeurs d'erreur des EFB
508
33002520 09/2020
EcoStruxure™ Control Expert
Glossaire
33002520 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 :
33002520 09/2020
509
Glossaire
ARRAY
Un ARRAY est un tableau d'éléments de même type.
La syntaxe est la suivante : ARRAY [<limites>] OF <Type>
Exemple :
ARRAY [1..2] OF BOOL est un tableau à une dimension composé de deux éléments de type
BOOL.
ARRAY [1..10, 1..20] OF INT est un tableau à deux dimensions composé de
10 x 20 éléments de type INT.
B
BCD
BCD est l'acronyme du format Binary Coded Decimal (décimal codé en binaire).
Le format BCD permet de représenter des nombres décimaux compris entre 0 et 9 à l'aide d'un
groupe de quatre bits (un demi-octet).
Dans ce format, les quatre bits employés pour coder les nombres décimaux ont une plage de
combinaisons inutilisée.
Exemple de codage BCD :
Le nombre 2 450
 est codé 0010 0100 0101 0000.

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
BYTE
8 bits constituent un octet (BYTE). La saisie d'un BYTE s'effectue soit en mode binaire, soit en
base 8.
Le type BYTE est codé dans un format 8 bits qui, au format hexadécimal, s'étend de 16#00 à
16#FF.
510
33002520 09/2020
Glossaire
D
DATE
Le type DATE, codé en BCD dans un format 32 bits, contient les informations suivantes :



l'année codée dans un champ de 16 bits ;
le mois codé dans un champ de 8 bits ;
le jour codé dans un champ de 8 bits.
Le type DATE doit être saisi comme suit : D#<Année>-<Mois>-<Jour>
Le tableau ci-après donne les limites inférieure/supérieure de chaque élément :
DBCD
Champ
Limites
Commentaire
Année
[1990,2099]
Année
Mois
[01,12]
Le 0 initial est toujours affiché ; il peut être omis lors de la
saisie.
Jour
[01,31]
Pour les mois 01/03/05/07/08/10/12
[01,30]
Pour les mois 04/06/09/11
[01,29]
Pour le mois 02 (années bissextiles)
[01,28]
Pour le mois 02 (années non bissextiles)
Représentation d'un entier double au format double BCD.
Le format BCD (Binary Coded Decimal) est utilisé pour représenter des nombres décimaux
compris entre 0 et 9 à l'aide d'un groupe de quatre bits.
Dans ce format, les quatre bits employés pour coder les nombres décimaux ont une plage de
combinaisons inutilisée.
Exemple de codage DBCD :
 Le nombre 78 993 016
 est codé 0111 1000 1001 1001 0011 0000 0001 0110.
DFB
DFB est l'acronyme de « Derived Function Block » (bloc fonction dérivé).
Les types DFB sont des blocs fonction programmables par l'utilisateur en langage ST, IL, LD ou
FBD.
L'utilisation de ces types DFB dans une application permet :




de simplifier la conception et la saisie du programme ;
d'accroître la lisibilité du programme ;
de faciliter sa mise au point ;
de diminuer le volume de code généré.
33002520 09/2020
511
Glossaire
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.
DT
DT est l'acronyme de « Date and Time » (date et heure).
Le type DT, codé en BCD dans un format 64 bits, contient les informations suivantes :






l'année codée dans un champ de 16 bits ;
le mois codé dans un champ de 8 bits ;
le jour codé dans un champ de 8 bits ;
l'heure codée dans un champ de 8 bits ;
les minutes codées dans un champ de 8 bits ;
les secondes codées dans un champ de 8 bits.
NOTE : les 8 bits de poids faible ne sont pas utilisés.
Le type DT doit être saisi comme suit :
DT#<Année>-<Mois>-<Jour>-<Heure>:<Minutes>:<Secondes>
Le tableau ci-après donne les limites inférieure/supérieure de chaque élément :
512
Champ
Limites
Commentaire
Année
[1990,2099]
Année
Mois
[01,12]
Le 0 initial est toujours affiché ; il peut être omis lors
de la saisie.
Jour
[01,31]
Pour les mois 01/03/05/07/08/10/12
[01,30]
Pour les mois 04/06/09/11
[01,29]
Pour le mois 02 (années bissextiles)
[01,28]
Pour le mois 02 (années non bissextiles)
Heure
[00,23]
Le 0 initial est toujours affiché ; il peut être omis lors
de la saisie.
Minute
[00,59]
Le 0 initial est toujours affiché ; il peut être omis lors
de la saisie.
Seconde
[00,59]
Le 0 initial est toujours affiché ; il peut être omis lors
de la saisie.
33002520 09/2020
Glossaire
DWORD
DWORD est l'acronyme de « Double Word » (mot double).
Le type DWORD est codé dans un format 32 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#FFFFFFFF
Octale
8#0
8#37777777777
Binaire
2#0
2#11111111111111111111111111111111
Exemples de représentation :
Données
Représentation dans l'une des bases
00000000000010101101110011011110
16#ADCDE
00000000000000010000000000000000
8#200000
00000000000010101011110011011110
2#10101011110011011110
E
EBOOL
EBOOL est l'acronyme du type Extended BOOLean (booléen étendu). Un type EBOOL possède une
valeur (0 pour FALSE ou 1 pour TRUE), mais également des fronts montants ou descendants et
des fonctions de forçage.
Une variable EBOOL occupe un octet de mémoire.
L'octet contient les informations suivantes :



un bit pour la valeur ;
un bit pour l'historique (chaque fois que l'objet change d'état, la valeur est copiée dans ce bit ) ;
un bit pour le forçage (égal à 0 si l'objet n'est pas forcé, égal à 1 s'il est forcé).
La valeur par défaut de chaque bit est 0 (FALSE).
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.
33002520 09/2020
513
Glossaire
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.
G
GRAY
Le code Gray, ou « binaire réfléchi », permet de coder une valeur numérique développée en une
chaîne de configurations binaires pouvant être différenciées par le changement d'état d'un seul bit.
Par exemple, ce code permet d'éviter l'événement aléatoire suivant : en code binaire pur, la
modification de la valeur 0111 en 1000 peut produire un nombre compris entre 0 et 1 000, sachant
que les bits ne changent pas tous de valeur en même temps.
Equivalence entre décimal, BCD et Gray :
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 :


514
inférieur à -3,402824e+38, le symbole -INF (pour - infini) est affiché ;
supérieur à +3,402824e+38, le symbole INF (pour + infini) est affiché ;
33002520 09/2020
Glossaire
INT
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.
N
NAN
Utilisé pour signifier que le résultat d'une opération n'est pas un nombre (NAN = Not A Number).
Exemple : calcul de la racine carrée d’un nombre négatif.
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).
33002520 09/2020
515
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.
S
STRING
Une variable de type STRING est une chaîne de caractères ASCII. La longueur maximale d'une
chaîne est de 65 534 caractères.
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
516
33002520 09/2020
Glossaire
TOD
TOD est l'abréviation de Time Of Day (heure de la journée).
Le type TOD, codé en BCD dans un format 32 bits, contient les informations suivantes :



l'heure codée dans un champ de 8 bits ;
les minutes codées dans un champ de 8 bits ;
les secondes codées dans un champ de 8 bits.
NOTE : les 8 bits de poids faible ne sont pas utilisés.
Le type TOD doit être saisi comme suit : TOD#<Heure>:<Minutes>:<Secondes>
Le tableau ci-après donne les limites inférieure/supérieure de chaque élément :
Champ
Limites
Commentaire
Heure
[00,23]
Le 0 initial est toujours affiché ; il peut être omis lors de la saisie.
Minute
[00,59]
Le 0 initial est toujours affiché ; il peut être omis lors de la saisie.
Seconde
[00,59]
Le 0 initial est toujours affiché ; il peut être omis lors de la saisie.
Exemple : TOD#23:59:45.
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.
33002520 09/2020
517
Glossaire
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
518
Données
Représentation dans l'une des bases
0000000011010011
16#D3
1010101010101010
8#125252
0000000011010011
2#11010011
33002520 09/2020
EcoStruxure™ Control Expert
Index
33002520 09/2020
Index
A
ABS, 235
ACOS, 237
ACOS_REAL, 237
ADD, 239
ADD_***_***, 45
ADD_***_TIME, 177
ADD_TIME, 243
AND, 197
AND_***_***, 49
ARINT_TO_DATE, 367
ARINT_TO_DT, 369
ARINT_TO_TOD, 371
ASCII_TO_STRING, 373
ASCII_TO_STRING_INV, 377
ASIN, 245
ASIN_REAL, 245
ATAN, 247
ATAN_REAL, 247
automate, instruction
informations générales, 129
PID_INT, 135
PWM_INT, 143
SERVO_INT, 147
AVE, 301
AVE_DINT, 301
AVE_INT, 301
AVE_REAL, 301
AVE_UDINT, 301
AVE_UINT, 301
C
codes d'erreur, 503
comparaison, instruction
EQ, 155
EQUAL_***, 61
EQUAL_STR, 329
FIND_EQ_***, 65
FIND_EQP_***, 69
FIND_GT_***, 73
FIND_LT_***, 77
GE, 157
GT, 161
LE, 165
LT, 169
NE, 173
OCCUR_***, 103
compteur, instruction
CTD, 351
CTD_***, 351
CTU, 353
CTU_***, 353
CTUD, 355
CTUD_***, 355
CONCAT_STR, 325
B
BCD_TO_INT, 383
BIT_TO_BYTE, 385
BIT_TO_WORD, 389
BOOL_TO_***, 393
BYTE_AS_WORD, 395
BYTE_TO_***, 401
BYTE_TO_BIT, 397
33002520 09/2020
519
Index
conversion, instruction
DATE_TO_STRING, 405
INT_AS_DINT, 427
RAD_TO_DEG, 437
ASCII_TO_STRING, 373
ASCII_TO_STRING_INV, 377
BCD_TO_INT, 383
BIT_TO_BYTE, 385
BIT_TO_WORD, 389
BOOL_TO_***, 393
BYTE_AS_WORD, 395
BYTE_TO_***, 401
BYTE_TO_BIT, 397
DBCD_TO_***, 407
DEG_TO_RAD, 409
DINT_AS_WORD, 411
DINT_TO_***, 413
DINT_TO_DBCD, 417
DINT_TO_STRING, 499
DT_TO_STRING, 421
DWORD_TO_***, 423
GRAY_TO_INT, 425
INT_TO_***, 429
INT_TO_BCD, 433
INT_TO_DBCD, 435
INT_TO_STRING, 499
MOVE_***_***, 95
REAL_AS_WORD, 439
REAL_TO_***, 441
REAL_TO_STRING, 499
REAL_TRUNC_***, 445
STRING_TO_***, 459
STRING_TO_ASCII, 447
STRING_TO_ASCII_INV, 453
TIME_AS_WORD, 463
TIME_TO_***, 465
TIME_TO_STRING, 467
TOD_TO_STRING, 471
UDINT_AS_WORD, 473
UDINT_TO_***, 475
UINT_TO_***, 479
WORD_AS_BYTE, 483
WORD_AS_DINT, 485
WORD_AS_REAL, 487
WORD_AS_TIME, 489
520
WORD_AS_UDINT, 491
WORD_TO_***, 497
WORD_TO_BIT, 493
conversion, instructions
ARINT_TO_DATE, 367
ARINT_TO_DT, 369
ARINT_TO_TOD, 371
DATE_TO_ARINT, 403
DT_TO_ARINT, 419
TOD_TO_ARINT, 469
COPY_***_***, 53
COS, 249
COS_REAL, 249
CTD, 351
CTD_***, 351
CTU, 353
CTU_***, 353
CTUD, 355
CTUD_***, 355
D
DATE_TO_ARINT, 403
DATE_TO_STRING, 405
DBCD_TO_***, 407
DEC, 251
DEG_TO_RAD, 409
DELETE_INT, 327
DINT_AS_WORD, 411
DINT_TO_***, 413
DINT_TO_DBCD, 417
DINT_TO_STRING, 499
disponibilité des instructions, 33
DIV, 253
DIV_***_***, 57
DIVMOD, 257
DIVTIME, 179
DT_TO_ARINT, 419
DT_TO_STRING, 421
DWORD_TO_***, 423
E
EQ, 155
EQUAL_***, 61
33002520 09/2020
Index
EQUAL_STR, 329
EXP, 259
EXP_REAL, 259
EXPT_REAL_***, 261
EXTRACT, 189, 193
extract - instructions
EXTRACT, 189
SIZEOF, 193
F
F_TRIG, 199
FE, 201
FIND_EQ_***, 65
FIND_EQP_***, 69
FIND_GT_***, 73
FIND_INT, 331
FIND_LT_***, 77
G
GE, 157
gestion de chaîne, instruction
ASCII_TO_STRING, 373
ASCII_TO_STRING_INV, 377
CONCAT_STR, 325
DATE_TO_STRING, 405
DELETE_INT, 327
DINT_TO_STRING, 499
EQUAL_STR, 329
FIND_INT, 331
INSERT_INT, 333
INT_TO_STRING, 499
LEFT_INT, 337
LEN_INT, 339
MID_INT, 341
REAL_TO_STRING, 499
REPLACE_INT, 343
RIGHT_INT, 347
STRING_TO_***, 459
STRING_TO_ASCII, 447
STRING_TO_ASCII_INV, 453
TIME_TO_STRING, 467
TOD_TO_STRING, 471
GRAY_TO_INT, 425
33002520 09/2020
GT, 161
I
INC, 265
INSERT_INT, 333
instructions
disponibilité, 33
INT_AS_DINT, 427
INT_TO_***, 429
INT_TO_BCD, 433
INT_TO_DBCD, 435
INT_TO_STRING, 499
L
LE, 165
LEFT_INT, 337
LEN_INT, 339
LENGTH_***, 81
LIMIT, 305
LIMIT_IND, 309
LN, 267
LN_REAL, 267
LOG, 269
LOG_REAL, 269
521
Index
logique, instruction
AND, 197
AND_***_***, 49
F_TRIG, 199
FE, 201
NOT, 203
NOT_***, 101
OR, 205
OR_***_***, 105
R_TRIG, 207
RE, 209
RESET, 211
ROL, 213
ROL_***, 109
ROR, 217
ROR_***, 111
RS, 219
SET, 221
SHL, 223
SHR, 225
SR, 227
TRIGGER, 229
XOR, 231
XOR_***_***, 123
LT, 169
522
M
mathématique, instruction
ABS, 235
ACOS, 237
ACOS_REAL, 237
ADD, 239
ADD_***_***, 45
ADD_***_TIME, 177
ADD_TIME, 243
affectation à des tableaux, 93
ASIN, 245
ASIN_REAL, 245
ATAN, 247
ATAN_REAL, 247
COS, 249
COS_REAL, 249
DEC, 251
DIV, 253
DIV_***_***, 57
DIVMOD, 257
DIVTIME, 179
EXP, 259
EXP_REAL, 259
EXPT_REAL_***, 261
INC, 265
LENGTH_***, 81
LIMIT, 305
LIMIT_IND, 309
LN, 267
LN_REAL, 267
LOG, 269
LOG_REAL, 269
MAX, 313
MAX_***, 85
MIN, 315
MIN_***, 87
MOD, 271
MOD_***_***, 89
MOVE, 273
MUL, 275
MUL_***_***, 97
MULTIME, 181
MUX, 317
NEG, 277
SEL, 321
33002520 09/2020
Index
SIGN, 283
SIN, 285
SIN_REAL, 285
SQRT_***, 291
SUB, 287
SUB_***_***, 115, 183
SUB_***_TIME, 185
SUB_TIME, 289
SUM_ARINT, 119
TAN, 293
TAN_REAL, 293
mathématiques - instructions
AVE, 301
SATURATION, 279
MAX, 313
MAX_***, 85
MID_INT, 341
MIN, 315
MIN_***, 87
MOD, 271
MOD_***_***, 89
MOVE, 273
MOVE_***_***, 93, 95
MUL, 275
MUL_***_***, 97
MULTIME, 181
MUX, 317
N
NE, 173
NEG, 277
NOT, 203
NOT_***, 101
O
OCCUR_***, 103
OR, 205
OR_***_***, 105
P
PID_INT, 135
PWM_INT, 143
33002520 09/2020
R
R_TRIG, 207
RAD_TO_DEG, 437
RE, 209
REAL_AS_WORD, 439
REAL_TO_***, 441
REAL_TO_STRING, 499
REAL_TRUNC_***, 445
REF, 297
REF - instructions
REF, 297
REPLACE_INT, 343
RESET, 211
RIGHT_INT, 347
ROL, 213
ROL_***, 109
ROR, 217
ROR_***, 111
RS, 219
S
SATURATION, 279
SEL, 321
SERVO_INT, 147
SET, 221
SHL, 223
SHR, 225
SIGN, 283
SIN, 285
SIN_REAL, 285
SORT_***, 113
SQRT_***, 291
SR, 227
STRING_TO_***, 459
STRING_TO_ASCII, 447
STRING_TO_ASCII_INV, 453
SUB, 287
SUB_***_***, 115, 183
SUB_***_TIME, 185
SUB_TIME, 289
SUM_***, 119
SWAP_***, 121
523
Index
T
tableau - instructions
COPY_***_***, 53
tableau, instruction
ADD_***_***, 45
AND_***_***, 49
DIV_***_***, 57
EQUAL_***, 61
FIND_EQ_***, 65
FIND_EQP_***, 69
FIND_GT_***, 73
FIND_LT_***, 77
LENGTH_***, 81
MAX_***, 85
MIN_***, 87
MOD_***_***, 89
MOVE_***_***, 93, 95
MUL_***_***, 97
NOT_***, 101
OCCUR_***, 103
OR_***_***, 105
ROL_***, 109
ROR_***, 111
SORT_***, 113
SUB_***_***, 115
SUM_***, 119
SWAP_***, 121
XOR_***_***, 123
tableau, instructions
ARINT_TO_DATE, 367
ARINT_TO_DT, 369
ARINT_TO_TOD, 371
DATE_TO_ARINT, 403
DT_TO_ARINT, 419
TOD_TO_ARINT, 469
TAN, 293
TAN_REAL, 293
temporisateur, instruction
TOF, 359
TON, 361
TP, 363
TIME_AS_WORD, 463
TIME_TO_***, 465
TIME_TO_STRING, 467
TOD_TO_ARINT, 469
524
TOD_TO_STRING, 471
TOF, 359
TON, 361
TP, 363
traitement en sortie, instruction
PWM_INT, 143
SERVO_INT, 147
TRIGGER, 229
U
UDINT_AS_WORD, 473
UDINT_TO_***, 475
UINT_TO_***, 479
W
WORD_AS_BYTE, 483
WORD_AS_DINT, 485
WORD_AS_REAL, 487
WORD_AS_TIME, 489
WORD_AS_UDINT, 491
WORD_TO_***, 497
WORD_TO_BIT, 493
X
XOR, 231
XOR_***_***, 123
33002520 09/2020

Manuels associés