Skip to main content

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 :

. Contrôles
  • Controller_Base: Bloc fonctionnel de base abstrait pour créer des contrôles individuels

  • Controller_P: Bloc fonctionnel pour implémenter une commande P

  • Controller_PD: Bloc fonctionnel pour la mise en œuvre d'un contrôle DP

  • Controller_PI: Bloc fonctionnel pour implémenter un contrôle PI

  • Controller_PID: Bloc fonctionnel pour implémenter un contrôle PID

. Approximation de l'intégrateur
  • Integrator_Base: Bloc fonctionnel de base pour créer des approximations intégrales individuelles

  • Integrator_ParabolicApproximation: Bloc fonctionnel pour approximer l'intégrale au moyen d'une parabole en utilisant les dernières valeurs

  • Integrator_RectangleApproximation: Bloc fonctionnel pour approximer l'intégrale au moyen d'un rectangle

  • Integrator_TrapezoidApproximation: Bloc fonctionnel pour approximer l'intégrale au moyen d'un trapèze

. Stratégie anti-liquidation

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 individuelles

  • AntiWindUp_Clamping: Bloc fonctionnel pour utiliser une stratégie anti-enroulement qui fixe la valeur de l'intégrateur au maximum défini

  • AntiWindUp_BackCalculation: Bloc fonctionnel permettant d'utiliser une stratégie anti-enroulement qui diminue la valeur de l'intégrateur au fil du temps

. Approximation du différenciateur
  • Differentiator_Base: Bloc fonctionnel de base abstrait pour créer des approximations de différentiateurs individuels

  • Differentiator_BackwardDifference: Bloc fonctionnel pour l'approximation linéaire de l'intégrale à l'aide de la dernière valeur

  • Differentiator_LinearAverageApproximation: Bloc fonctionnel pour l'approximation linéaire de l'intégrale à l'aide des dernières valeurs

  • Differentiator_LinearFourPointApproximation: Bloc fonctionnel pour l'approximation linéaire de l'intégrale à l'aide des dernières valeurs

  • Integrator_ParabolicApproximation: Bloc fonctionnel pour approximer le différentiel au moyen d'une parabole utilisant les dernières valeurs

. Commandes à deux points
  • BangBangController: Bloc fonctionnel pour implémenter une commande à deux points

  • BangBangControllerWithTimeHysteresis: Bloc fonctionnel pour la mise en œuvre d'une commande à deux points avec hystérésis basée sur le temps

  • BangBangControllerWithValueHysteresis: Bloc fonctionnel pour implémenter une commande à deux points avec hystérésis basée sur des valeurs

. Commandes à trois points
  • ThreePointController: Bloc fonctionnel pour la mise en œuvre d'une commande à trois points

  • ThreePointControllerWithValueHysteresis: Bloc fonctionnel pour implémenter une commande à trois points avec modulation basée sur des valeurs

. Filtres
  • Controller_Base: Bloc fonctionnel de base abstrait pour créer des filtres individuels

  • Filter_FIR: Bloc fonctionnel pour implémenter un filtre à réponse impulsionnelle finie

  • Filter_IIR: Bloc fonctionnel pour implémenter un filtre à réponse impulsionnelle infinie

  • Filter_SOS: Bloc fonctionnel pour implémenter un filtre de section de second ordre

. Génération PWM
  • PWM_CreatorBase: Bloc fonctionnel de base pour créer des signaux PWM individuels

  • PWM_Creator: Bloc fonctionnel pour créer un signal PWM

  • PWM_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

. Fonctions de transfert
  • DT1: Bloc fonctionnel pour écrire un DT1 membre transféré. Pour faciliter l'application, une configuration utilisant Differentiator_LinearAverageApproximation is set par défaut : DT1_LinearAverage

  • IT1: Bloc fonctionnel pour écrire un IT1 membre transféré. Pour faciliter l'application, une configuration utilisant Integrator_TrapezoidApproximation is set par défaut : IT1_Trapezoid

  • PT1: Bloc fonctionnel pour écrire un PT1 membre transféré. Pour faciliter l'application, une configuration utilisant Integrator_TrapezoidApproximation is set par défaut : PT1_Trapezoid

  • PT2: Bloc fonctionnel pour écrire un PT2 membre transféré. Pour faciliter l'application, une configuration utilisant deux Integrator_TrapezoidApproximation is set par défaut : PT2_Trapezoid