Schneider Electric EcoStruxure™ Control Expert - Standard, Bibliothèque de blocs Mode d'emploi
Ajouter à Mes manuels524 Des pages
▼
Scroll to page 2
of
524
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