CODESYS ControlElement Libraries
Einleitung
CODESYS ControlElement Libraries enthält die Bibliothek ControlLoopLibrary, die Parameter für Regler, Filter und Übertragungsfunktionen zur Prozessregelung und Signalverarbeitung bereitstellt.
Produktbeschreibung
Die Bibliothek ControlLoopLibrary enthält Funktionsbausteine für die Prozessregelung. Sie besteht aus verschiedenen Elementen, die flexibel zu einer Reglerstruktur zusammengebaut werden. Dazu zählen verschiedene Differentiatoren und Integratoren, für die wiederum diverse Anti-Windup-Strategien zur Auswahl stehen. Somit kann die Struktur des erstellten Reglers aus den gewählten Komponenten abgeleitet werden. Nach diesem Schema sind auch einige Übertragungsfunktionen realisiert. Damit stellt diese Bibliothek zudem ein Beispiel für die Verwendung von verschachtelten objektorientierten Funktionsbausteinen dar.
Daneben enthält die Bibliothek auch mehrere digitale Filter, die für die Signalverarbeitung verwendet werden können. Hierbei ist es notwendig, die Wichtungsparameter selbst zu bestimmen.
Folgende Funktionsbausteine sind in der Bibliothek enthalten:
Controller_Base: Abstrakter Basisfunktionsbaustein zum Erstellen von individuellen ReglernController_P: Funktionsbaustein zum Realisieren eines P-ReglersController_PD: Funktionsbaustein zum Realisieren eines PD-ReglersController_PI: Funktionsbaustein zum Realisieren eines PI-ReglersController_PID: Funktionsbaustein zum Realisieren eines PID-Reglers
Integrator_Base: Basisfunktionsbaustein zum Erstellen von individuellen IntegralabschätzungenIntegrator_ParabolicApproximation: Funktionsbaustein zum Abschätzen des Integrals mittels einer Parabel durch die letzten WerteIntegrator_RectangleApproximation: Funktionsbaustein zum Abschätzen des Integrals mittels eines RechteckesIntegrator_TrapezoidApproximation: Funktionsbaustein zum Abschätzen des Integrals mittels eines Trapezes
Diese Funktionsbausteine stellen unterschiedliche Strategien zur Verfügung, um ein Überlaufen des Integrators bei länger andauernder Regelabweichung zu vermeiden.
AntiWindUp_Base: Abstrakter Basisfunktionsbaustein zum Erstellen von individuellen Anti-Windup-StrategienAntiWindUp_Clamping: Funktionsbaustein zum Abschätzen des Integrals mittels einer Parabel durch die letzten WerteAntiWindUp_BackCalculation: Funktionsbaustein zur Anwendung einer Anti-Windup-Strategie, die den Integratorwert über die Zeit verringert
Differentiator_Base: Abstrakter Basisfunktionsbaustein zum Erstellen von individuellen AbleitungsabschätzungenDifferentiator_BackwardDifference: Funktionsbaustein zum linearen Abschätzen der Ableitung mittels des letzten WertsDifferentiator_LinearAverageApproximation: Funktionsbaustein zum linearen Abschätzen der Ableitung mittels der letzten WerteDifferentiator_LinearFourPointApproximation: Funktionsbaustein zum linearen Abschätzen der Ableitung mittels der letzten WerteDifferentiator_ParabolicApproximation: Funktionsbaustein zum Abschätzen der Ableitung mittels einer Parabel durch die letzten Werte
BangBangController: Funktionsbaustein zum Realisieren eines ZweipunktreglersBangBangControllerWithTimeHysteresis: Funktionsbaustein zum Realisieren eines Zweipunktreglers mit zeitlicher HystereseBangBangControllerWithValueHysteresis: Funktionsbaustein zum Realisieren eines Zweipunktreglers mit wertbasierter Hysterese
ThreePointController: Funktionsbaustein zum Realisieren eines DreipunktreglersThreePointControllerWithValueHysteresis: Funktionsbaustein zum Realisieren eines Dreipunktreglers mit wertbasierter Hysterese
Filter_Base: Abstrakter Basisfunktionsbaustein zum Erstellen von individuellen FilternFilter_FIR: Funktionsbaustein zum Realisieren eines Finite-Impulse-Response FiltersFilter_IIR: Funktionsbaustein zum Realisieren eines Infinite-Impulse-Response FiltersFilter_SOS: Funktionsbaustein zum Realisieren eines Second-Order-Section Filters
PWM_CreatorBase: Basisfunktionsbaustein zum individuellen Erstellen von PWM-SignalenPWM_Creator: Funktionsbaustein zum Erstellen eines PWM-SignalsPWM_Creator_FixedCycle: Funktionsbaustein zum Erstellen eines PWM-Signals, dessen Zykluszeit sich von der Task-Zykluszeit unterscheiden kann
DT1: Funktionsbaustein zum Beschreiben einesDT1-Übertragungsglieds. Zur einfacheren Anwendung ist eine Konfiguration unter Verwendung desDifferentiator_LinearAverageApproximationvorgegeben:DT1_LinearAverageIT1: Funktionsbaustein zum Beschreiben einesIT1-Übertragungsglieds. Zur einfacheren Anwendung ist eine Konfiguration unter Verwendung desIntegrator_TrapezoidApproximationvorgegeben:IT1_TrapezoidPT1: Funktionsbaustein zum Beschreiben einesPT1-Übertragungsglieds. Zur einfacheren Anwendung ist eine Konfiguration unter Verwendung desIntegrator_TrapezoidApproximationvorgegeben:PT1_TrapezoidPT2: Funktionsbaustein zum Beschreiben einesPT2-Übertragungsglieds. Zur einfacheren Anwendung ist eine Konfiguration unter Verwendung zweierIntegrator_TrapezoidApproximationvorgegeben:PT2_Trapezoid