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