CODESYS ControlElement Libraries
Présentation
CODESYS ControlElement Libraries comprend le Bibliothèque ControlLoop bibliothèque qui fournit des paramètres pour les commandes, les filtres et les fonctions de transfert pour le contrôle des processus et le traitement du signal.
Description du produit
Le Bibliothèque ControlLoop la bibliothèque inclut des blocs fonctionnels pour le contrôle des processus. Il se compose de différents éléments qui sont assemblés de manière flexible dans une structure de commande. Il s'agit notamment de divers différenciateurs et intégrateurs, pour lesquels différentes stratégies anti-enroulement sont disponibles. De cette manière, la structure du contrôle créé peut être dérivée à partir des composants sélectionnés. Certaines fonctions de transfert sont également réalisées selon ce schéma. Cette bibliothèque fournit également un exemple d'utilisation de blocs fonctionnels orientés objet imbriqués
La bibliothèque contient également plusieurs filtres numériques qui peuvent être utilisés pour le traitement du signal. Pour ce faire, il est nécessaire de déterminer vous-même les paramètres de notation.
Les blocs fonctionnels suivants sont inclus dans la bibliothèque :
Controller_Base: Bloc fonctionnel de base abstrait pour créer des contrôles individuelsController_P: Bloc fonctionnel pour implémenter une commande PController_PD: Bloc fonctionnel pour la mise en œuvre d'un contrôle DPController_PI: Bloc fonctionnel pour implémenter un contrôle PIController_PID: Bloc fonctionnel pour implémenter un contrôle PID
Integrator_Base: Bloc fonctionnel de base pour créer des approximations intégrales individuellesIntegrator_ParabolicApproximation: Bloc fonctionnel pour approximer l'intégrale au moyen d'une parabole en utilisant les dernières valeursIntegrator_RectangleApproximation: Bloc fonctionnel pour approximer l'intégrale au moyen d'un rectangleIntegrator_TrapezoidApproximation: Bloc fonctionnel pour approximer l'intégrale au moyen d'un trapèze
Ces blocs de fonctions proposent différentes stratégies pour éviter un débordement de l'intégrateur en cas de variance de contrôle prolongée.
AntiWindUp_Base: Bloc fonctionnel de base abstrait pour créer des stratégies anti-liquidation individuellesAntiWindUp_Clamping: Bloc fonctionnel pour utiliser une stratégie anti-enroulement qui fixe la valeur de l'intégrateur au maximum définiAntiWindUp_BackCalculation: Bloc fonctionnel permettant d'utiliser une stratégie anti-enroulement qui diminue la valeur de l'intégrateur au fil du temps
Differentiator_Base: Bloc fonctionnel de base abstrait pour créer des approximations de différentiateurs individuelsDifferentiator_BackwardDifference: Bloc fonctionnel pour l'approximation linéaire de l'intégrale à l'aide de la dernière valeurDifferentiator_LinearAverageApproximation: Bloc fonctionnel pour l'approximation linéaire de l'intégrale à l'aide des dernières valeursDifferentiator_LinearFourPointApproximation: Bloc fonctionnel pour l'approximation linéaire de l'intégrale à l'aide des dernières valeursIntegrator_ParabolicApproximation: Bloc fonctionnel pour approximer le différentiel au moyen d'une parabole utilisant les dernières valeurs
BangBangController: Bloc fonctionnel pour implémenter une commande à deux pointsBangBangControllerWithTimeHysteresis: Bloc fonctionnel pour la mise en œuvre d'une commande à deux points avec hystérésis basée sur le tempsBangBangControllerWithValueHysteresis: Bloc fonctionnel pour implémenter une commande à deux points avec hystérésis basée sur des valeurs
ThreePointController: Bloc fonctionnel pour la mise en œuvre d'une commande à trois pointsThreePointControllerWithValueHysteresis: Bloc fonctionnel pour implémenter une commande à trois points avec modulation basée sur des valeurs
Controller_Base: Bloc fonctionnel de base abstrait pour créer des filtres individuelsFilter_FIR: Bloc fonctionnel pour implémenter un filtre à réponse impulsionnelle finieFilter_IIR: Bloc fonctionnel pour implémenter un filtre à réponse impulsionnelle infinieFilter_SOS: Bloc fonctionnel pour implémenter un filtre de section de second ordre
PWM_CreatorBase: Bloc fonctionnel de base pour créer des signaux PWM individuelsPWM_Creator: Bloc fonctionnel pour créer un signal PWMPWM_Creator_FixedCycle: Bloc fonctionnel pour créer un signal PWM dont la durée de cycle peut différer de la durée du cycle de la tâche
DT1: Bloc fonctionnel pour écrire unDT1membre transféré. Pour faciliter l'application, une configuration utilisantDifferentiator_LinearAverageApproximation is setpar défaut :DT1_LinearAverageIT1: Bloc fonctionnel pour écrire unIT1membre transféré. Pour faciliter l'application, une configuration utilisantIntegrator_TrapezoidApproximation is setpar défaut :IT1_TrapezoidPT1: Bloc fonctionnel pour écrire unPT1membre transféré. Pour faciliter l'application, une configuration utilisantIntegrator_TrapezoidApproximation is setpar défaut :PT1_TrapezoidPT2: Bloc fonctionnel pour écrire unPT2membre transféré. Pour faciliter l'application, une configuration utilisant deuxIntegrator_TrapezoidApproximation is setpar défaut :PT2_Trapezoid