Handbuch. TC3 Temperature Controller. TwinCAT 3. Version: Datum: Bestell-Nr.: TF4110

Handbuch TC3 Temperature Controller TwinCAT 3 Version: 1.1 Datum: 18.08.2015 Bestell-Nr.: TF4110 Inhaltsverzeichnis Inhaltsverzeichnis 1 Vorwort...
Author: Norbert Hauer
2 downloads 3 Views 2MB Size
Handbuch

TC3 Temperature Controller

TwinCAT 3

Version: 1.1 Datum: 18.08.2015 Bestell-Nr.: TF4110

Inhaltsverzeichnis

Inhaltsverzeichnis 1 Vorwort ....................................................................................................................................................... 4 1.1

Hinweise zur Dokumentation ............................................................................................................  4

1.2

Sicherheitshinweise ..........................................................................................................................  5

2 Produktübersicht....................................................................................................................................... 6 3 Installation.................................................................................................................................................. 7 3.1

Systemvoraussetzungen ..................................................................................................................  7

3.2

Installation.........................................................................................................................................  7

3.3

Lizensierung ...................................................................................................................................  10

4 Konfiguration ........................................................................................................................................... 15 4.1

Prinzipschaltbild..............................................................................................................................  15

4.2

Sollwertaufbereitung .......................................................................................................................  15

4.3

Stellgrößenaufbereitung .................................................................................................................  17

4.4

Schrittweise Inbetriebnahme des Reglers ......................................................................................  17

5 SPS-Bibliotheken..................................................................................................................................... 21 5.1

Funktionsbaustein...........................................................................................................................  21 5.1.1 FB_CTRL_TempController ................................................................................................. 21 5.1.2 Definition der Strukturen ..................................................................................................... 23 5.1.3 old:FB_TempController....................................................................................................... 30 5.1.4 old:Definition der Strukturen ............................................................................................... 33 5.1.5 FB_CTRL_TempController_DistComp ............................................................................... 39 5.1.6 Definition der Strukturen (ST_CTRL_DistCompParameter) ............................................... 42

5.2

Globale Konstanten ........................................................................................................................  43 5.2.1 Version der Bibliothek ......................................................................................................... 43

6 Beispiel..................................................................................................................................................... 44 7 Anhang ..................................................................................................................................................... 45 7.1

Regelalgorithmus............................................................................................................................  45

7.2

Alarming..........................................................................................................................................  46

7.3

Selftuning........................................................................................................................................  46

7.4

Störgrößenkompensation ...............................................................................................................  47

TC3 Temperature Controller

Version: 1.1

3

Vorwort

1

Vorwort

1.1

Hinweise zur Dokumentation

Diese Beschreibung wendet sich ausschließlich an ausgebildetes Fachpersonal der Steuerungs- und Automatisierungstechnik, das mit den geltenden nationalen Normen vertraut ist. Zur Installation und Inbetriebnahme der Komponenten ist die Beachtung der nachfolgenden Hinweise und Erklärungen unbedingt notwendig. Das Fachpersonal hat sicherzustellen, dass die Anwendung bzw. der Einsatz der beschriebenen Produkte alle Sicherheitsanforderungen, einschließlich sämtlicher anwendbaren Gesetze, Vorschriften, Bestimmungen und Normen erfüllt.

Disclaimer Diese Dokumentation wurde sorgfältig erstellt. Die beschriebenen Produkte werden jedoch ständig weiter entwickelt. Deshalb ist die Dokumentation nicht in jedem Fall vollständig auf die Übereinstimmung mit den beschriebenen Leistungsdaten, Normen oder sonstigen Merkmalen geprüft. Falls sie technische oder redaktionelle Fehler enthält, behalten wir uns das Recht vor, Änderungen jederzeit und ohne Ankündigung vorzunehmen. Aus den Angaben, Abbildungen und Beschreibungen in dieser Dokumentation können keine Ansprüche auf Änderung bereits gelieferter Produkte geltend gemacht werden.

Marken Beckhoff®, TwinCAT®, EtherCAT®, Safety over EtherCAT®, TwinSAFE®, XFC®und XTS® sind eingetragene und lizenzierte Marken der Beckhoff Automation GmbH. Die Verwendung anderer in dieser Dokumentation enthaltenen Marken oder Kennzeichen durch Dritte kann zu einer Verletzung von Rechten der Inhaber der entsprechenden Bezeichnungen führen.

Patente Die EtherCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente: EP1590927, EP1789857, DE102004044764, DE102007017835 mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern. Die TwinCAT Technologie ist patentrechtlich geschützt, insbesondere durch folgende Anmeldungen und Patente: EP0851348, US6167425 mit den entsprechenden Anmeldungen und Eintragungen in verschiedenen anderen Ländern.

EtherCAT® ist eine eingetragene Marke und patentierte Technologie lizensiert durch die Beckhoff Automation GmbH, Deutschland

Copyright © Beckhoff Automation GmbH & Co. KG, Deutschland. Weitergabe sowie Vervielfältigung dieses Dokuments, Verwertung und Mitteilung seines Inhalts sind verboten, soweit nicht ausdrücklich gestattet. Zuwiderhandlungen verpflichten zu Schadenersatz. Alle Rechte für den Fall der Patent-, Gebrauchsmusteroder Geschmacksmustereintragung vorbehalten.

4

Version: 1.1

TC3 Temperature Controller

Vorwort

1.2

Sicherheitshinweise

Sicherheitsbestimmungen Beachten Sie die folgenden Sicherheitshinweise und Erklärungen! Produktspezifische Sicherheitshinweise finden Sie auf den folgenden Seiten oder in den Bereichen Montage, Verdrahtung, Inbetriebnahme usw.

Haftungsausschluss Die gesamten Komponenten werden je nach Anwendungsbestimmungen in bestimmten Hard- und SoftwareKonfigurationen ausgeliefert. Änderungen der Hard- oder Software-Konfiguration, die über die dokumentierten Möglichkeiten hinausgehen, sind unzulässig und bewirken den Haftungsausschluss der Beckhoff Automation GmbH & Co. KG.

Qualifikation des Personals Diese Beschreibung wendet sich ausschließlich an ausgebildetes Fachpersonal der Steuerungs-, Automatisierungs- und Antriebstechnik, das mit den geltenden Normen vertraut ist.

Erklärung der Symbole In der vorliegenden Dokumentation werden die folgenden Symbole mit einem nebenstehenden Sicherheitshinweis oder Hinweistext verwendet. Die Sicherheitshinweise sind aufmerksam zu lesen und unbedingt zu befolgen!

Akute Verletzungsgefahr! Wenn der Sicherheitshinweis neben diesem Symbol nicht beachtet wird, besteht unmittelbare Gefahr für Leben und Gesundheit von Personen! GEFAHR

Verletzungsgefahr! Wenn der Sicherheitshinweis neben diesem Symbol nicht beachtet wird, besteht Gefahr für Leben und Gesundheit von Personen! WARNUNG

Schädigung von Personen! Wenn der Sicherheitshinweis neben diesem Symbol nicht beachtet wird, können Personen geschädigt werden! VORSICHT

Schädigung von Umwelt oder Geräten Wenn der Hinweis neben diesem Symbol nicht beachtet wird, können Umwelt oder Geräte geschädigt werden. Achtung

Tipp oder Fingerzeig Dieses Symbol kennzeichnet Informationen, die zum besseren Verständnis beitragen. Hinweis

TC3 Temperature Controller

Version: 1.1

5

Produktübersicht

2

Produktübersicht

Der TwinCAT Temperature Controller ist ein universell einsetzbarer SPS-Baustein zum Überwachen und Regeln von verschiedensten temperaturabhängigen Prozessen. Der Regler lässt sich betreiben im • Automatik (Closed loop) und • Handbetrieb (Open loop). Die Stellgröße kann analog und digital abgegriffen werden. Der digitale Stellgröße ist pulsweitenmoduliert (PWM). Ein Zweipunkt- bzw. Dreipunktausgang steht auch zur Verfügung. Die Stellgröße ist begrenzt auf die zulässigen Minimal- bzw. Maximalwerte. Die Sollgröße ist auch auf zulässige Minimal- bzw. Maximalwerte begrenzt und kann weiterhin gerampt werden. Zur einfachen Umschaltung von Sollwert zu Standby-Sollwert steht ein Bit im Interface des Bausteins zur Verfügung. Zur Unterstützung des sogenannten Heater-Bakings kann ein Soft-Start parametriert werden. Hierzu wird der Sollwert (optional gerampt) auf einen niedrigen Sollwert hochgefahren, dort für eine gewisse Zeit gehalten und dann zum eigentlichen Sollwert (optional gerampt) hochgefahren. Die Istgröße kann digital gefiltert werden. Der Regelalgorithmus ist PID basiert. Zur Verringerung des Überschwingens kann zusätzlich ein Vorregler eingesetzt werden. Der Regler besitzt diverse parametrierbare Überwachungsfunktionen. Es gibt eine • Toleranzbandüberwachung (zwei unterschiedliche Toleranzbänder), • eine Absolutwertüberwachung, • eine Geberüberwachung (offen, Backvoltage, reverse) und • eine Heizstromüberwachung (offen, Kurzschluss, Leckstrom). Um die Inbetriebnahme des Reglers wesentlich zu vereinfachen, gibt es einen Algorithmus zur Ermittlung der optimalen Reglerparameter. Dieser Algorithmus wertet einen Sprung aus und ermittelt über die Wendetangentenmethode die maximale Geschwindigkeit und die Verzugszeit der Strecke. Mit diesen Angaben kann ein Regler nach den Regeln von Chien, Hrones und Reswick entworfen werden. Hier werden auch die Parameter des Vorreglers ermittelt. Sollten schon die Reglerparameter schon bekannt sein, so kann der Regler auch mit diesen externen Parametern betrieben werden. Die Ermittlung der Reglerparameter kann für Heiz- und Kühlstrecke getrennt ermittelt werden. Ein entsprechender Ablauf des Tuning Vorgangs kann vorgewählt werden. Sollte für das Kühlen kein getrennter Parametersatz ermittelt werden, dann ist es auch möglich den Heizparametersatz mittels eines freiwählbaren Skalierungsfaktors auch für die Kühlstrecke zu verwenden. Schrittweise Inbetriebnahme des Reglers [} 17]. Dokumentation des Funktionsblocks [} 21] und der notwendigen Strukturen.

6

Version: 1.1

TC3 Temperature Controller

Installation

3

Installation

3.1

Systemvoraussetzungen

Die folgenden Systemvoraussetzungen müssen für eine ordnungsgemäße Funktion der TC3 Function Temperature Controller erfüllt sein.

Entwicklungsumgebung Eine Entwicklungsumgebung beschreibt einen Computer, auf dem SPS-Programme entwickelt, aber nicht ausgeführt werden. Auf einem Entwicklungscomputer muss folgendes installiert sein: • TwinCAT 3 XAE (Engineering) Build 4012 oder höher • TwinCAT 3 Function TF4110 Temperature Controller Version 3.3.0.0 oder höher • Bitte beachten Sie: Für die Entwicklungsumgebung kann (auch mehrfach) eine 7-Tage Testlizenz genutzt werden, siehe Lizensierung [} 10].

Laufzeitumgebung Eine Laufzeitumgebung beschreibt einen Computer, auf dem SPS-Programme ausgeführt werden. Auf einem Laufzeitcomputer muss folgendes installiert sein: • TwinCAT3 XAR build 4012 oder höher • Lizenzen für TC1200 PLC und TF4110 Temperature Controller • Bitte beachten Sie: Für Testzwecke kann eine 7-Tage Testlizenz genutzt werden, siehe Lizensierung [} 10].

Entwickler- und Laufzeit auf einem Computer Sollen auf einem Computer Laufzeit- und Entwicklungsumgebung laufen (z.B. um ein SPS-Programm zu testen, bevor es auf den Ziel-Computer geladen wird), müssen folgende Anforderungen erfüllt sein: • TwinCAT3 XAE (engineering installation) build 4012 or higher • Lizenzen für TC1200 PLC und TF4110 Temperature Controller • Bitte beachten Sie: Für Testzwecke kann eine 7-Tage Testlizenz genutzt werden, siehe Lizensierung [} 10].

3.2

Installation

Die Installation der TwinCAT 3 Function für Windows basierte Betriebssysteme erfolgt Schritt-für-Schritt. 1. Führen Sie einen Doppelklick auf die herunter geladene Datei „TFxxxx" aus. Hinweis: Bitte starten Sie die Installation unter Windows per „Als Administrator ausführen", indem Sie die Setup-Dateien mit der rechten Maus anklicken und die entsprechende Option im Kontextmenü auswählen.

TC3 Temperature Controller

Version: 1.1

7

Installation 2. Klicken Sie auf „Next" und akzeptieren Sie dann die Endbenutzervereinbarung

3. Geben Sie Ihre Benutzerdaten ein.

8

Version: 1.1

TC3 Temperature Controller

Installation 4. Für eine vollständige Installation wählen Sie „Complete" als Installationstyp. Alternativ können Sie jede Komponente separat installieren, indem Sie "Custom" wählen.

5. Wählen Sie „Next“ und „Install" um die Installation zu beginnen.

Das TwinCAT System muss gestoppt werden um mit der Installation fortzufahren.

TC3 Temperature Controller

Version: 1.1

9

Installation 6. Bestätigen Sie den Dialog mit „Yes“

7. Wählen Sie „Finish" um das Setup zu beenden.

ð Damit ist die Installation abgeschlossen. Der nächste Schritt nach einer erfolgreichen Installation ist die Lizensierung der TC3 Function [} 10].

3.3

Lizensierung

Die TwinCAT 3 Function ist zusätzlich zur Vollversion auch in einer 7-Tage Testversion freischaltbar. Beide Lizenztypen sind über TwinCAT XAE aktivierbar. Weitere Information zum TwinCAT 3 Lizensierungsverfahren finden Sie im TwinCAT 3 Hilfesystem. Das folgende Dokument beschreibt den Lizensierungsvorgang einer TwinCAT 3 Function und gliedert sich dabei in die folgenden beiden Unterkapitel: • Lizensierung einer 7-Tage Testversion [} 10] • Lizensierung einer Vollversion [} 12]

Lizensierung einer 7-Tage Testversion 1. Starten Sie TwinCAT XAE 2. Öffnen Sie ein bestehendes TwinCAT 3 Projekt, oder legen Sie ein neues Projekt an

10

Version: 1.1

TC3 Temperature Controller

Installation 3. Navigieren Sie im “Solution Explorer” zum Eintrag „System\License“

4. Öffnen Sie die Registerkarte „Manage Licenses" und fügen Sie eine „Runtime License" für Ihr Produkt hinzu (in diesem Screenshot „TE1300: TC3 Scope View Professional")

5. Optional : Möchten Sie die Lizenz für ein Remote Gerät hinzufügen, müssen Sie sich zunächst mit diesem Gerät über die TwinCAT XAE Toolbar verbinden

6. Aktivieren Sie in der Registerkarte „Order Information" über den Button „Activate 7 Days Trial License..." eine Testversion

7. Starten Sie im Anschluss daran das TwinCAT 3 System einmal neu

TC3 Temperature Controller

Version: 1.1

11

Installation

Lizensierung einer Vollversion 8. Starten Sie TwinCAT XAE 9. Öffnen Sie ein bestehendes TwinCAT 3 Projekt oder legen Sie ein neues Projekt an 10. Navigieren Sie im "Solution Explorer" zum Eintrag „SYSTEM/License"

11. Öffnen Sie die Registerkarte „Manage Licenses" und fügen Sie eine „Runtime License" für Ihr Produkt hinzu (in diesem Screenshot " TE1300: TC3 Scope View Professional ").

12. Optional: Möchten Sie die Lizenz für ein Remote Gerät hinzufügen, müssen Sie sich zunächst mit diesem Gerät über die TwinCAT XAE Toolbar verbinden

13. Öffnen Sie die Registerkarte „Order Information" Die Felder „System-ID" und „HW Platform" können nicht geändert werden, sie beschreiben die zu lizensierende Plattform. Generell wird eine TwinCAT 3 Lizenz an zwei Kennzahlen gebunden: Die „System-ID" identifiziert Ihr Gerät eindeutig. Die „HW Platform" ist eine Kennzahl für die Performanz des Gerätes.

12

Version: 1.1

TC3 Temperature Controller

Installation 14. Tragen Sie optional eine eigene Bestellnummer und einen Kommentar für Ihre Zwecke ein

15. Generieren Sie in der Registerkarte „Order Information" über den Button „Generate License Request File..." eine Lizenzanforderungs-Datei, die durch einen Beckhoff-Lizenzserver validiert wird (wenn Ihnen Ihre „Beckhoff License ID“ nicht bekannt ist, wenden Sie sich an Ihren Ansprechpartner aus dem Beckhoff Vertrieb). 16. Nachdem Sie das „License Request File“ gespeichert haben, fragt das System, ob die Datei per Mail an den Beckhoff Lizenz Server geschickt werden soll:

17. Wenn Sie den Dialog mit „Yes" bestätigen, öffnet sich Ihr Standard E-Mail Client und erzeugt eine neue E-Mail für „[email protected]", die das „License Request File" enthält 18. Senden Sie diesen Activation Request an Beckhoff HINWEIS! das „License Response File“ wird an die dieselbe E-Mail Adresse versendet, die das „License Request File“ verschickt hat 19. Kurz darauf erhalten Sie vom Beckhoff-Lizenzserver eine Lizenzdatei, importieren Sie sie über den Button „Activate License Response File...“, um das Produkt zu aktivieren

TC3 Temperature Controller

Version: 1.1

13

Installation 20. Wählen Sie in Ihrem Ordnersystem das erhaltene „License Response File" aus

21. Das „License Response File" wird importiert und alle enthaltenen Lizenzen werden aktiviert, sämtliche betroffenen Demo-Lizenzen werden entfernt 22. Starten Sie TwinCAT neu, um die Lizenz zu aktivieren

HINWEIS! Das Lizenzfile wird automatisch auf Ihre lokale Festplatte unter „...\TwinCAT \3.1\Target\License" kopiert.

14

Version: 1.1

TC3 Temperature Controller

Konfiguration

4

Konfiguration

4.1

Prinzipschaltbild

Der TwinCAT Temperature Controller besteht aus einer Reihe von Funktionsbausteinen. Es gibt folgende Funktionsbausteine: • Selftuning Algorithmus (FB_Selftuner) • Regelalgorithmus (FB_ControlAlgorithm) • Sollwertgenerator (FB_SetpointConditioner) • Stellgrößengenerator (FB_ControlValueConditioner) • Alarming (FB_Alarming) Diese Funktionsbausteine rufen wiederum eine Reihe weiterer untergeordneter Funktionsbausteine auf.

Das Bild zeigt die einzelnen Funktionsbausteine.

4.2

Sollwertaufbereitung

Die Sollwerte können über ein Bit umgeschaltet werden. Neben dem eigentlichen Sollwert gibt es noch einen Standby-Sollwert. Mit dem Standby-Sollwert kann die Temperatur in Pausen auf einen niedrigeren Wert zur Energieeinsparung reduziert werden. Bei Bedarf können die Sollwertgrößensprünge verrampt werden. Im Parametersatz für die Sollwerte stehen ein Anstiegsgeschwindigkeit und eine Abfallgeschwindigkeit zur Verfügung. TC3 Temperature Controller

Version: 1.1

15

Konfiguration Die Sollwerte werden auf ihre Grenzen limitiert.

Um das sogenannte Heater-Baking zu ermöglichen, kann ein Softstart parametriert werden. Hier wird von Umgebungstemperatur zuerst auf einen niedrigen Sollwert (fWStartUp) gerampt. Die Temperatur wird dann für eine Zeit (tStartUp) gehalten und erst danach wird auf den eigentlichen Sollwert hochgerampt. Start-Up

16

Version: 1.1

TC3 Temperature Controller

Konfiguration

4.3

Stellgrößenaufbereitung

Die vom Regler berechnete Stellgröße (Control Value, CV) wird zunächst auf gültige Werte limitiert. Die Begrenzungswerte werden über die Stellgrößenstruktur an den Reglerbaustein übergeben. Es stehen drei verschiedene Möglichkeiten der Stellgröße zur Verfügung. Die Stellgröße kann einmal analog abgegriffen werden. Die gebräuchlichere Ausgabe dürfte allerdings die digitale Ausgabe als pulsweiten moduliertes Signal sein. Die für die Pulsweitenmodulation nötige Zykluszeit wird über die Stellgrößenstruktur an den Regler übergeben. Daneben kann auch ein Zweipunktregler-Ausgang (für Heizen oder Kühlen) und ein Dreipunktregler-Ausgang (für Heizen und Kühlen) abgegriffen werden.

4.4

Schrittweise Inbetriebnahme des Reglers

Folgende Schritte müssen durchgeführt werden: • Die Regler-Bibliothek ist über den Bibliotheksmanager in das Projekt einzufügen. Im Bibliotheksmanager ist die TcTempCtrl.lib einzufügen. • Mindestens eine Instanz des Reglers ist zu programmieren. Eine Instanz des Reglerbausteins FB_TempController ist anzulegen. Außerdem muss eine Instanz der Struktur ST_ControllerParameter angelegt werden. • Die notwendige äußere Beschaltung durchführen.

TC3 Temperature Controller

Version: 1.1

17

Konfiguration Name eCtrlMode

Beschaltung notwendig

bSelSetpoint

Beschaltung optional

fW1 fW2

Beschaltung notwendig Beschaltung optional

fX

Beschaltung notwendig

fYManual bOpenThermocouple

Beschaltung optional Beschaltung optional

bReverseThermocouple

Beschaltung optional

bBackVoltage

Beschaltung optional

bLeakage

Beschaltung optional

bShortCircuit

Beschaltung optional

bOpenCircuit

Beschaltung optional

sControllerParameter

Beschaltung notwendig

sParaControllerExternal

Beschaltung optional

Beschreibung Schaltet den Regler in eine Betriebsart (aktiv, passiv, tuning) Wählt einen von zwei möglichen Sollwerten aus. Mit FALSE wird der normale Sollwert gewählt, mit TRUE der Standby-Sollwert. Sollwert. Standby-Sollwert im Regelfall kleiner als fW1. Mit fSelSetpoint kann zwischen fW1 und fW2 umgeschaltet werden. Istwert. Dieser Wert muss auf LREAL konvertiert werden. Stellgröße im Handbetrieb. Mit TRUE ist das Thermoelement offen. Muss von der Hardware gemeldet werden (z.B. KLxxxx). Mit TRUE wird falsche Polarität des angeschlossenen Thermoelements gemeldet. Muss von der Hardware gemeldet werden. Bei TRUE wird eine zu hohe Eingangsspannung am Thermoelement angezeigt. Muss von der Hardware gemeldet werden. Mit TRUE wird ein Leckstrom zu Heizelement detektiert. Muss von der Hardware gemeldet werden. Mit TRUE wird ein Kurzschluss im Heizelement detektiert. Muss von der Hardware gemeldet werden. Mit TRUE wird ein offener Stromkreis im Heizelement detektiert. Muss von der Hardware gemeldet werden. In dieser Struktur werden generelle Parameter (Abtastzeiten usw.) an den Baustein übergeben. In dieser Struktur wird ein externer ReglerParametersatz an den Baustein übergeben.

• Die notwendige Parametrierung des Reglers über die Struktur durchführen. Die Parameter können über Initialwerte oder über Zuweisung festgelegt werden. Wenn die Zuweisung der Parameter über Initialwerte erfolgt, dann könnte es beispielhaft so aussehen: (* parameters *) sControllerParameter : ST_CTRL_TempCtrlParameter := ( (* base *) tCtrlCycleTime := t#1000ms, tTaskCycleTime := t#10ms, fYMin := -100, fYMax := 100, tPWMCycleTime := t#100ms , fYManual := 20, bFilter := FALSE, tFilter := t#100ms, bDeadband := FALSE, fEDeadband := 1.0, (* deadband *) fWMin := 15, fWMax := 60, fWStartUp := 20.0, 18

Version: 1.1

TC3 Temperature Controller

Konfiguration tStartUp := t#160s, fWVeloPos := 0.01, fWVeloNeg := 0.01, bStartUpRamping := FALSE, fWStartUpVeloPos := 0.1, fWStartUpVeloNeg := 0.1, iMode := eCTRL_ControlMode_HEATING, dwAlarmSupp := 16#FF_FF_FF_FF, bSelCtrlParameterSet:= FALSE, (* tuninig *) iTuningMode := eCTRL_TuneMode_heating, fYTuneHeating := 100.0, fYTuneCooling := -100.0, fEndTunePercentHeating := 80.0, (* switch to closed loop control when X > 0.8*W *) fEndTunePercentCooling := -70.0, (* switch to closed loop control when X < 0.2*W *) iReactionOnFailure := eCTRL_ReactionOnFailure_StopController, TempLow := -50.0, TempLowLow := -100.0, TempHigh := 100.0, TempHighHigh := 155.0, TempAbsoluteHigh := 150.0, TempAbsoluteLow := -95.0, bEnablePreController := FALSE, bEnableZones := FALSE, bEnableCVFilter := FALSE, iFilterType := eCTRL_FilterType_AVERAGE, iControllerType := eCTRL_ControllerType_PID ); Die Zuweisung im Code kann in ST folgendermassen aussehen: sControllerParameter.tPWMCycleTime := t#100ms;

• Festlegung der Reglerabtastzeit, der Taskzykluszeit und der PWM Zykluszeit Die Abtastzeit des Reglers muss der Strecke angepasst werden. Sie sollte kleiner oder gleich einem zehntel der dominierenden Streckenzeitkonstanten gewählt werden. Die Taskzykluszeit ist durch die SPS Task festgelegt in der der Reglerbaustein aufgerufen wird. Dieser Wert kann aus der Taskkonfiguration (Plc Control: Resourcen Taskkonfiguration) abgelesen werden. Die PWM Zykluszeit ist normalerweise gleich der Reglerzykluszeit. Wenn die Taskzykluszeit 10ms und die PWM Zykluszeit (=Reglerabtastzeit) zu 100ms gewählt wird, so stehen insgesamt 10 Stufen (PWM Zykluszeit/Taskzykluszeit) zur Verfügung. • TwinCAT Scope parametrieren Zur Kontrolle der Ergebnisse sollte auf jeden Fall vom Tuning Vorgang und vom Closed Loop Regelverhalten eine Scope-Aufnahme gemacht werden. Dazu ist das TwinCAT Scope View zu starten und zu parametrieren. Folgende Kanäle sollten aufgezeichnet werden: Sollwert (fW1 oder fW2), Istwert (fX) und analoge Stellgröße (fYAnalog). • Abschalten der Alarme während der Inbetriebnahmephase Während der Inbetriebnahmephase können die Alarme zeitweilig abgeschaltet werden. Dazu ist in dem Dword dwAlarmSupp eine entsprechende Bitmaske zu setzen. Ist in diesem Dword ein Bit gesetzt, so wird der entsprechende Alarm disabled. Die Belegung der einzelnen Alarme ist hier [} 33] beschrieben. Achtung: Nach der Erstinbetriebnahme sollten alle notwendigen Alarme wieder eingeschaltet werden! • Starten des Reglers mit Tuning Sollen die Reglerparameter mit Hilfe des Tuning ermittelt werden, so muss der Control-Mode auf eCTRL_MODE_TUNE eingestellt sein. Es läuft zunächst eine festeingestellte Wartezeit von 20s ab. In dieser Wartezeit wird geprüft, ob die Strecke innerhalb eines +-1°C Bandes bleibt. Sollte das Band verlassen werden, so wird die Wartezeit erneut gestartet. Dann erfolgt eine sprungförmige Anregung der Strecke mit einer Stellgröße von fYTune. Darauf reagiert die Strecke mit der Sprungantwort. Solange nicht 80% der

TC3 Temperature Controller

Version: 1.1

19

Konfiguration Sollgröße erreicht sind, werden die Parameter der Strecke über die Wendetangenten-Methode ermittelt. Aus Sicherheitsgründen wird nach Erreichen von 80% vom Sollwert auf die Regelung im geschlossenen Regelkreis umzuschalten. Sollte die Temperatur zu schnell (ohne ausgeprägten Wendepunkt) die 80% Marke erreichen, so ist der Wert fYTune zu reduzieren. Die ermittelten Parameter werden für den PID-Regler benutzt und stehen in einer Struktur am Ausgang des Reglers zur Verfügung.

[Sprunggröße beachten!] [Zum Tuning muss die Strecke mindestens einen Sprung von 40°C durchführen! Kleinere Sprünge können zur Ermittlung von falschen Parametern führen] Achtung

[Setzen des Control Modes!]

Achtung

[Nachdem das Tuning erfolgreich durchgeführt wurde, wird der eCtrlState auf eCTRL_STATE_TUNED gesetzt. Der Regler geht jetzt in Wartestellung. Nur durch Setzen des Control-Modes auf eCTRL_MODE_ACTIVE wird der Closed-Loop-Betrieb mit den geschätzten Parametern aktiviert]

• Verknüpfen der internen Reglerparameter mit externer Beschaltung Die durch das Tuning ermittelten Parameter des Reglers können wieder als externe Parameter auf den Regler aufgeschaltet werden. Das kann notwendig sein, wenn das Tuning nur ein einziges Mal (z.B. nur in der Inbetriebnahmephase) durchgeführt werden soll. Dazu ist die Struktur sParaControllerInternal auf den Eingang des Reglers sParaControllerExternal zurückzuführen und das Flag bSelCtrlParameterSet auf TRUE zu setzen. • Finetuning Die beim Tuning ermittelten Reglerparameter sind auf schnelles Einschwingen mit etwa 10% Überschwingen ausgelegt. Ist kein oder nur sehr geringes Überschwingen erlaubt, so kann mit den folgenden Parametern aus der ST_ControllerParameter Struktur ein fine tuning durchgeführt werden. Diese Werte sind als Anhaltswerte anzusehen. Verhalten Schnelles Einschwingen mit einem Überschwingen von 10%-20% Langsameres Einschwingen mit geringerem Überschwingen Nahezu asymptotische Einschwingen mit sehr geringen Überschwingen

fTuneKp 1.2

fTuneTn 2.0

fTuneTv 0.42

fTuneTd 0.25

1.0

2.5

0.42

0.25

0.5

3.0

1.0

0.25

Voraussetzungen Entwicklungsumgebung TwinCAT 3.1.4006

20

Zielplatform PC oder CX (x86)

Version: 1.1

Einzubindende SPS-Bibliotheken Tc2_TempController

TC3 Temperature Controller

SPS-Bibliotheken

5

SPS-Bibliotheken

5.1

Funktionsbaustein

5.1.1

FB_CTRL_TempController

Der Temperaturreglerbaustein FB_CTRL_TempController hat verschiedene Ein- und Ausgänge die im folgenden beschrieben werden. Alle Parameter des Reglers werden über Strukturen an den Regler übergeben. Die Definition der Strukturen und Enums ist hier [} 33] zu finden. Funktionsbaustein

VAR_INPUT   eCtrlMode               :   bSelSetpoint            :   fW1                     :   fW2                     :   fX                      :   fYManual                :   bOpenThermocouple       :   bReverseThermocouple    :   bBackVoltage            :   bLeakage                :   bShortCircuit           :   bOpenCircuit            :   sParaControllerExternal : END_VAR

E_CTRL_MODE; BOOL; LREAL; LREAL; LREAL; LREAL; BOOL; (* thermocouple *) BOOL; BOOL; BOOL; (* heating system *) BOOL; BOOL; ST_CTRL_ParaController

VAR_IN_OUT   sControllerParameter    : ST_CTRL_TempCtrlParameter; (* controller parameter set *) END_VAR VAR_OUTPUT   fYAnalog                :   bYPWMPos                :   bYPWMNeg                :   bYDigPos                :   bYDigNeg                :   dwAlarm                 :   fMaxOverShoot           :   tStartUpTime            :   eCtrlState              :   sParaControllerInternal :   bError                  :   eErrorId                : END_VAR

TC3 Temperature Controller

LREAL; BOOL; BOOL; BOOL; BOOL; DWORD; LREAL; TIME; E_CTRL_STATE := eCTRL_STATE_IDLE; ST_CTRL_ParaController; BOOL; E_CTRL_ErrorCodes;

Version: 1.1

21

SPS-Bibliotheken

Interface Tab. 1: Eingänge Name eControlMode bSelSetpoint

fW1 fW2

fX fYManual bOpenThermoc ouple bReverseTherm ocouple

Einheit 1 1

°C °C

Wertebereich E_CTRL_MODE [TRUE,FALSE]

LREAL LREAL

°C LREAL -100% - LREAL +100% 1 [TRUE,FALSE] 1

[TRUE,FALSE]

bBackVoltage

1

[TRUE,FALSE]

bLeakage

1

[TRUE,FALSE]

bShortCircuit

1

[TRUE,FALSE]

bOpenCircuit

1

[TRUE,FALSE]

sControllerPara meter sParaController External

22

keine

Struktur

keine

Struktur

Beschreibung Modeumschaltung. Wählt einen von zwei möglichen Sollwerten aus. Mit FALSE wird der normale Sollwert gewählt, mit TRUE der Standby-Sollwert. Sollwert. Standby-Sollwert im Regelfall kleiner als fW1. Mit fSelSetpoint kann zwischen fW1 und fW2 umgeschaltet werden. Istwert. Dieser Wert muss auf LREAL konvertiert werden. Stellgröße im Handbetrieb. Mit TRUE ist das Thermoelement offen. Muss von der Hardware gemeldet werden (z.B. KLxxxx). Mit TRUE wird falsche Polarität des angeschlossenen Thermoelements gemeldet. Muss von der Hardware gemeldet werden. Bei TRUE wird eine zu hohe Eingangsspannung am Thermoelement angezeigt. Muss von der Hardware gemeldet werden. Mit TRUE wird ein Leckstrom zu Heizelement detektiert. Muss von der Hardware gemeldet werden. Mit TRUE wird ein Kurzschluss im Heizelement detektiert. Muss von der Hardware gemeldet werden. Mit TRUE wird ein offener Stromkreis im Heizelement detektiert. Muss von der Hardware gemeldet werden. In dieser Struktur werden generelle Parameter (Abtastzeiten usw.) an den Baustein übergeben. In dieser Struktur wird ein externer Regler-Parametersatz an den Baustein übergeben.

Version: 1.1

TC3 Temperature Controller

SPS-Bibliotheken Tab. 2: Ausgänge Name fYAnalog bYPWMPos

Einheit keine keine

Wertebereich LREAL [TRUE,FALSE]

bYPWMNeg

keine

[TRUE,FALSE]

bYDigPos

keine

[TRUE,FALSE]

bYDigNeg

keine

[TRUE,FALSE]

dwAlarm fMaxOverShoot tStartUpTime

keine °C TIME

DWORD LREAL -

eCtrlState sParaControllerI nternal bError iErrorId

keine keine

E_CTRL_STATE Struktur

keine keine

[TRUE,FALSE] INT

Beschreibung Analoger Stellwert. Boolescher Ausgang pulsweitenmoduliert. Positiv/ Heizbetrieb Boolescher Ausgang pulsweitenmoduliert. Negativ/ Kühlbetrieb Boolscher Ausgang eines Dreipunktreglers (TRUE Stellgröße 100%, FALSE Stellgröße aus) Boolscher Ausgang eines Dreipunktreglers (TRUE Stellgröße -100%, FALSE Stellgröße aus) Alarmmeldungen (s. ENUM ...) max. Überschwingen in °C über/unter Sollwert. Anschwingzeit bis zum erstmaligen Erreichen des Sollwert. momentaner Status des Reglers (s. ENUM ...) In dieser Struktur wird der interne (durch das Tuning ermittelte) Regler-Parametersatz zur Verfügung gestellt. Liegt ein Fehler vor, so ist bError gleich TRUE. Ist bError gleich TRUE, so zeigt iErrorId einen Fehlercode an (s. ENUM ...)

Voraussetzungen Entwicklungsumgebung TwinCAT 3.1.4006

5.1.2

Zielplatform PC oder CX (x86)

Einzubindende SPS-Bibliotheken Tc2_TempController

Definition der Strukturen

ST_ControllerParameter TYPE ST_CTRL_TempCtrlParameter: STRUCT   (* general parameters *)   iMode                     : E_CTRL_ControlMode;   iReactionOnFailure        : E_CTRL_ReactionOnFailure;   bSelCtrlParameterSet      : BOOL;   dwAlarmSupp               : DWORD;   tCtrlCycleTime            : TIME;   tTaskCycleTime            : TIME;   (* tuning parameteer *)   iTuningMode               :   tTuneStabilisation        :   fEndTunePercentHeating    :   fYTuneHeating             :   fYStableHeating           :   fEndTunePercentCooling    :   fYTuneCooling             :   fYStableCooling           :   fScalingFactor            :

E_CTRL_TuneMode; TIME       := T#20S; LREAL      := 80.0; LREAL; LREAL; LREAL      := 20.0; LREAL; LREAL; LREAL      := 1.0;

  (* setpoint parameters *)   fWMin                     : LREAL;   fWMax                     : LREAL;   (* start up *)

TC3 Temperature Controller

Version: 1.1

23

SPS-Bibliotheken   bEnableSoftStart          :   bEnableRamping            :   fWStartUp                 :   tStartUp                  :   bStartUpRamping           :   fWStartUpVeloPos          :   fWStartUpVeloNeg          :   fWVeloPos                 :   fWVeloNeg                 :

BOOL; BOOL; LREAL; TIME; BOOL; LREAL; LREAL; LREAL; LREAL;

  (* actual value parameters *)   bFilter                   : BOOL;   tFilter                   : TIME;   (* deadband parameters *)   bDeadband                 : BOOL;   fEDeadband                : LREAL;   (* control value parameters   fYMin                     :   fYMax                     :   fYManual                  :   fYOnFailure               :   tPWMCycleTime             :   tPWMMinOffTime            :   tPWMMinOnTime             :   tPWMWaitingTime           :   fYThresholdOff            :   fYThresholdOn             :   nCyclesForSwitchOver      :

*) LREAL; LREAL; LREAL; LREAL; TIME; TIME; TIME; TIME; LREAL; LREAL; INT        := 100;

  (* controller settings *)   bEnablePreController      :   bEnableZones              :   bEnableCVFilter           :   iFilterType               :   iControllerType           :

BOOL; BOOL; BOOL; E_CTRL_FilterType; E_CTRL_ControllerType;

  (* min max temperatures *)   TempLow                   :   TempLowLow                :   TempHigh                  :   TempHighHigh              :   TempAbsoluteHigh          :   TempAbsoluteLow           :

LREAL; LREAL; LREAL; LREAL; LREAL; LREAL;

  (* internal tuning parameters *)   fTuneKp                   : LREAL     := 1.2;   fTuneTn                   : LREAL     := 2.0;   fTuneTv                   : LREAL     := 0.42;   fTuneTd                   : LREAL     := 0.25; END_STRUCT END_TYPE

24

Version: 1.1

TC3 Temperature Controller

SPS-Bibliotheken Tab. 3: Beschreibung

TC3 Temperature Controller

Version: 1.1

25

SPS-Bibliotheken Name Generelle Parameter iMode

Wertebereich

Beschreibung

keine

INT

iReactionOnFail ure bSelCtrlParamet erSet dwAlarmSupp tCtrlCycleTime

keine

INT

Reglerbetriebsmode (1 = heating, 2 = cooling, 3 = heating&cooling) (s.u.) Parametrierbare Reaktion auf Fehler (s.u.)

keine

BOOL

keine s

DWORD TIME

tTaskCycleTime

s

TIME

Tuning Parameter iTuningMode

K s

E_CTRL_TuneMod Festlegung der Tuning Reihenfolge (s.u.) e TIME Wartezeit bis Strecke stabil für Tuning Vorgang.

%

(L)REAL

K K keine

(L)REAL (L)REAL (L)REAL

K K keine

(L)REAL (L)REAL BOOL

Minimale Sollgröße. Maximale Sollgröße. FALSE = kein soft start, TRUE = soft start

keine

BOOL

FALSE = keine Verrampung, TRUE = Verrampung

K s keine

(L)REAL TIME [TRUE,FALSE]

Sollgröße beim Anfahren. Zeit mit Sollwert fWStartUp. Schaltet Verrampung während der StartUp-Phase ein.

K/s

(L)REAL

K/s

(L)REAL

K/s K/s

(L)REAL (L)REAL

Anstiegsgeschwindigkeit (Rampe) während der StartUpPhase. Abfallgeschwindigkeit (Rampe) während der StartUpPhase Anstiegsgeschwindigkeit (Rampe). Abfallgeschwindigkeit (Rampe).

tTuneStabilisatio n fEndTunePerce ntHeating fYTuneCooling fYStableCooling fScalingFactor Sollwert Parameter fWMin fWMax bEnableSoftStar t bEnableRampin g fWStartUp tStartUp bStartUpRampin g fWStartUpVeloP os fWStartUpVeloN eg fWVeloPos fWVeloNeg Istgrößen Parameter tFilter bFilter Totband Parameter bDeadband fEDeadband

26

Einheit

s

TIME

TRUE = externer Parametersatz, FALSE = interner Parametersatz (durch Tuning ermittelt) Maskiert die Alarme aus (s.u.) Abtastzeit des Reglers. Der Regler errechnet im Takt dieser Abtastzeit neue Werte für die Stellgröße. Zykluszeit der Task. Der FB wird im Takt der Task aufgerufen.

Prozentwert von Sollgröße ab der auf Closed Loop Control umgeschaltet wird. Stellgrößensprung beim Tuning. Stellgröße beim Umschalten auf Tuning beim Kühlen. Skalierungsfaktor für Parameterumschaltung, wenn kein Tuning für das Kühlen durchgeführt wird.

keine

[TRUE,FALSE]

Filterzeitkonstante des Istwertfilters (P-T1 Filter 1. Ordnung) Mit TRUE wird der Istwertfiler aktiviert.

keine K

[TRUE,FALSE] (L)REAL

TRUE = Totband ein, FALSE = Totband aus Größe des Totbandes in Grad.

Version: 1.1

TC3 Temperature Controller

SPS-Bibliotheken Name Einheit Stellgrößen Parameter fYMin keine fYMax keine fYManual keine fYOnFailure keine tPWMCycleTim s e tPWMMinOffTim s e tPWMMinOnTim s e tPWMWaitingTi s me fYThresholdOff % fYThresholdOn % nCyclesForSwit keine chOver Regler Parameter bEnablePreCont keine roller bEnableZones keine bEnableCVFilter keine iFilterType keine

Wertebereich

Beschreibung

(L)REAL (L)REAL (L)REAL (L)REAL TIME

Minimalwert der Stellgröße. Maximalwert der Stellgröße. Stellgröße im Handbetrieb. Stellgröße im Fehlerfall (parametrierbar). Zykluszeit des PWM Signals.

TIME

PWM: minimale Ausschaltzeit

TIME

PWM: minimale Einschaltzeit

TIME

PWM: Wartezeit beim Umschalten von Heizen nach Kühlen 3-Punkt: Ausschaltschwelle 3-Punkt: Einschaltschwelle Anzahl Zyklen für Übergang von einem Parametersatz zum anderen

iControllerType Alarming Parameter TempLow TempLowLow TempHigh TempHighHigh TempAbsoluteHi gh TempAbsoluteL ow Experten Parameter fTuneKp

keine

(L)REAL (L)REAL INT

[TRUE,FALSE]

Schaltet Vorregler ein.

[TRUE,FALSE] [TRUE,FALSE] ENUM ENUM

Schaltet OpenLoop Verhalten bis nahe Sollwert ein. Schaltet Stellgrößenfilter hinter Hauptregler ein. Wahl eines Filtertypes für den Stellgrößenfilter hinter dem Hauptregler (s.u.). Wahl eines Regelalgorithmus (s.u.)

K K K K K

(L)REAL (L)REAL (L)REAL (L)REAL (L)REAL

Relativer unterer Temperaturgrenzwert im ersten Band. Relativer unterer Temperaturgrenzwert im zweiten Band. Relativer oberer Temperaturgrenzwert im ersten Band. Relativer oberer Temperaturgrenzwert im zweiten Band. Absoluter oberer Temperaturgrenzwert.

K

(L)REAL

Absoluter unterer Temperaturgrenzwert.

keine

(L)REAL

fTuneTn

keine

(L)REAL

fTuneTv

keine

(L)REAL

fTuneTd

keine

(L)REAL

FineTuning Parameter für den PID Regler (nur für Experten) FineTuning Parameter für den PID Regler (nur für Experten) FineTuning Parameter für den PID Regler (nur für Experten) FineTuning Parameter für den PID Regler (nur für Experten)

TC3 Temperature Controller

Version: 1.1

27

SPS-Bibliotheken

Beschreibung ST_CTRL_ParaController TYPE ST_CTRL_ParaController : STRUCT   (* Controller parameter set - heating *)   KpHeat    : FLOAT;   TnHeat    : TIME;   TvHeat    : TIME;   TdHeat    : TIME;   (* Controller parameter set - cooling *)   KpCool    : FLOAT;   TnCool    : TIME;   TvCool    : TIME;   TdCool    : TIME; END_STRUCT END_TYPE

Tab. 4: Beschreibung Name KpHeat TnHeat TvHeat TdHeat KpCool TnCool TvCool TdCool

Einheit keine s s s keine s s s

Wertebereich (L)REAL TIME TIME TIME (L)REAL TIME TIME TIME

Beschreibung Verstärkungsfaktor für Hauptregler. Nachstellzeit für Hauptregler (I-Anteil). Vorhaltzeit für Hauptregler (D-Anteil). Dämpfungszeit für Hauptregler. Verstärkungsfaktor für Hauptregler. Nachstellzeit für Hauptregler (I-Anteil). Vorhaltzeit für Hauptregler (D-Anteil). Dämpfungszeit für Hauptregler.

ENUM: E_CTRL_ERRORCODES s. Dokumentation der TcControllerToolbox. Tab. 5: ENUM: E_CTRL_ReactionOnFailure Name eCTRL_ReactionOnFailure_NoFailure eCTRL_ReactionOnFailure_StopController eCTRL_ReactionOnFailure_SetManMode eCTRL_ReactionOnFailure_SetYMax eCTRL_ReactionOnFailure_SetYMin eCTRL_ReactionOnFailure_SetYMean

Beschreibung Kein Fehler. Wenn Fehler (Alarm), dann stoppe Regler. Wenn Fehler (Alarm), dann schalte Regler in Handbetrieb. Wenn Fehler (Alarm), dann setze Stellgröße auf maximalen Wert. Wenn Fehler (Alarm), dann setze Stellgröße auf minimalen Wert. Wenn Fehler (Alarm), dann setze Stellgröße auf Mittelwert (in Planung).

Tab. 6: ENUM: E_CTRL_ControllerStateInternal Name E_CTRL_ControllerStateInternalHeating E_CTRL_ControllerStateInternalCooling

Beschreibung intern intern

Tab. 7: ENUM: E_CTRL_ControlMode Name eCTRL_ControlMode_HEATING eCTRL_ControlMode_COOLING eCTRL_ControlMode_HEATING_COOLING 28

Beschreibung Nur Heizen. Nur Kühlen. Heizen und Kühlen. Version: 1.1

TC3 Temperature Controller

SPS-Bibliotheken

ENUM: E_CTRL_STATE s. Dokumentation der TcControllerToolbox. Tab. 8: ENUM: E_CTRL_STATE_TUNIG Name eCTRL_STATE_TUNING_INIT eCTRL_STATE_TUNING_IDLE eCTRL_STATE_TUNING_PULSE eCTRL_STATE_TUNING_STEP eCTRL_STATE_TUNING_READY eCTRL_STATE_TUNING_ERROR

Beschreibung Tuning: Initialisierung Tuning: Warten auf stabiles Eingangssignal (Regelgröße) Tuning: Anregung durch kurzen Puls (in Planung) Tuning: Anregung durch Sprung (Wendetangentenmethode) Tuning: Ermittlung der Parameter, Finalisierung Tuning: Fehler beim Tuning aufgetreten

Tab. 9: ENUM: E_CTRL_TuneMode Name eCTRL_TuneMode_HEATING eCTRL_TuneMode_COOLING eCTRL_TuneMode_HEATING_COOLING eCTRL_TuneMode_COOLING_HEATING eCTRL_TuneMode_OSCILLATION

Beschreibung Tuning: nur Heizen Tuning: nur Kühlen Tuning: erst Heizen, dann Kühlen Tuning: erst Kühlen, dann Heizen Tuning: on-the-fly Parameterschätzung durch Schwingungsanregung (in Planung)

Tab. 10: ENUM: E_CTRL_FilterType Name eCTRL_FilterType_FIRSTORDER eCTRL_FilterType_AVERAGE

Beschreibung Filter erster Ordnung. Mittelwertfilter.

Tab. 11: ENUM: E_CTRL_ControllerType Name eCTRL_ControllerType_PID eCTRL_ControllerType_PI eCTRL_ControllerType_PID_Pre eCTRL_ControllerType_PIDD2

Beschreibung Standard-PID Regelalgorithmus. Standard-PI Regelalgorithmus. Standard-PID Regelalgorithmus mit Vorregler (in Planung). serieller PID Regelalgorithmus (in Planung)

Bit-Masken für Alarme

TC3 Temperature Controller

Version: 1.1

29

SPS-Bibliotheken Name nAlarmOpenThermocouple nAlarmReverseThermocouple nAlarmBackVoltage nAlarmLeakageCurrent nAlarmShortCircuit nAlarmOpenCircuit nAlarmLimitLow nAlarmLimitLowLow nAlarmLimitHigh nAlarmLimitHighHigh nAlarmAbsoluteHigh nAlarmAbsoluteLow

Maske 2#0000_0000_0000_0000_0000_00 00_0000_0001 2#0000_0000_0000_0000_0000_00 00_0000_0010 2#0000_0000_0000_0000_0000_00 00_0000_0100 2#0000_0000_0000_0000_0000_00 00_0000_1000 2#0000_0000_0000_0000_0000_00 00_0001_0000 2#0000_0000_0000_0000_0000_00 00_0010_0000 2#0000_0000_0000_0000_0000_00 01_0000_0000 2#0000_0000_0000_0000_0000_00 10_0000_0000 2#0000_0000_0000_0000_0000_01 00_0000_0000 2#0000_0000_0000_0000_0000_10 00_0000_0000 2#0000_0000_0000_0000_0001_00 00_0000_0000 2#0000_0000_0000_0000_0010_00 00_0000_0000

Beschreibung Hardware: offener Temperaturfühler Hardware: verpolter Temperaturfühler Hardware: zu hohe Spannung am Temperaturfühler Hardware: Leckstrom gemessen Hardware: Kurzschluss Hardware: kein Strom Software: untere erste relative Temperatur unterschritten Software: untere zweite relative Temperatur unterschritten Software: obere erste relative Temperatur überschritten Software: obere zweite relative Temperatur überschritten Software: obere absolute Temperatur überschritten Software: untere absolute Temperatur unterschritten

Voraussetzungen Entwicklungsumgebung TwinCAT 3.1.4006

5.1.3

Zielplatform PC oder CX (x86)

Einzubindende SPS-Bibliotheken Tc2_TempController

old:FB_TempController

Der Temperaturreglerbaustein FB_TempController hat verschiedene Ein- und Ausgänge die im folgenden beschrieben werden. Alle Parameter des Reglers werden über Strukturen an den Regler übergeben. Die Definition der Strukturen und Enums ist hier [} 33] zu finden. Funktionsbaustein

30

Version: 1.1

TC3 Temperature Controller

SPS-Bibliotheken

Interface VAR_INPUT   bOn                       :   bInit                     :   bTune                     :   bManual                   :   bSelSetpoint              :   bSelCtrlParameterSe       :   bEnableSoftStart          :   bEnableRamping            :   fW1                       :   fW2                       :   fX                        :   bOpenThermocouple         :   bReverseThermocouple      :   bBackVoltage              :   bLeakage                  :   bShortCircuit             :   bOpenCircuit              :   sParaControllerExternal   :   sLogData                  : '' ); END_VAR

BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; LREAL; LREAL; LREAL; BOOL; BOOL; BOOL; BOOL; BOOL; BOOL; ST_ParaController; ST_LogData := (bLog := FALSE, strLogFileName :='', strLogString :=

VAR_IN_OUT   sControllerParameter      : ST_ControllerParameter; END_VAR VAR_OUTPUT   fYAnalog                  :   bYPWM                     :   bYDig                     :   bYDigPos                  :   bYDigNeg                  :   dwAlarm                   :   iState                    :   sParaControllerInternal   :   bError                    :   iErrorId                  : END_VAR

TC3 Temperature Controller

LREAL; BOOL; BOOL; BOOL; BOOL; DWORD; States        := TC_STATE_IDLE; ST_ParaController; BOOL; ErrorCodes;

Version: 1.1

31

SPS-Bibliotheken Tab. 12: Eingänge Name bOn bInit

Einheit 1 1

Wertebereich [TRUE,FALSE] [TRUE,FALSE]

bTune

1

[TRUE,FALSE]

bManual

1

[TRUE,FALSE]

bSelSetpoint

1

[TRUE,FALSE]

bSelCtrlParamet erSet

1

[TRUE,FALSE]

bEnableSoftStar t bEnableRampin g fW1 fW2

1

[TRUE,FALSE]

1

[TRUE,FALSE]

°C °C

LREAL LREAL

fX bOpenThermoc ouple bReverseTherm ocouple

°C 1

LREAL [TRUE,FALSE]

1

[TRUE,FALSE]

bBackVoltage

1

[TRUE,FALSE]

bLeakage

1

[TRUE,FALSE]

bShortCircuit

1

[TRUE,FALSE]

bOpenCircuit

1

[TRUE,FALSE]

sControllerPara meter sParaController External sLogData

32

keine

Struktur

keine

Struktur

keine

Struktur

Beschreibung Schaltet den Regler mit TRUE ein. Initialisierungsflag, das genau für den ersten Zyklus des Regleraufrufes anstehen muss (TRUE). Schaltet mit der steigenden Flanke das Selftuning ein. Wird während des Selftuning-Vorgangs auf FALSE geschaltet, so wird das Selftuning abgebrochen und mit den alten Parametern (sofern vorhanden) weitergemacht. Schaltet mit TRUE auf Handbetrieb um. Wird da Signal wieder FALSE, so wird in den Automatikmode zurückgeschaltet. Wählt einen von zwei möglichen Sollwerten aus. Mit FALSE wird der normale Sollwert gewählt, mit TRUE der Standby-Sollwert. Wählt einen von zwei Parametersätzen aus. Mit FALSE wird der interne (ermittelte) Parametersatz benutzt, mit TRUE ein von außen aufgeschalteter. Mit TRUE wird mit der Anfahrschaltung (Softstart) hochgefahren. Mit TRUE wird jeder Sollwertsprung gerampt ausgeführt. Sollwert. Standby-Sollwert im Regelfall kleiner als fW1. Mit fSelSetpoint kann zwischen fW1 und fW2 umgeschaltet werden. Istwert. Dieser Wert muss auf LREAL konvertiert werden. Mit TRUE ist das Thermoelement offen. Muss von der Hardware gemeldet werden (z.B. KLxxxx). Mit TRUE wird falsche Polarität des angeschlossenen Thermoelements gemeldet. Muss von der Hardware gemeldet werden. Bei TRUE wird eine zu hohe Eingangsspannung am Thermoelement angezeigt. Muss von der Hardware gemeldet werden. Mit TRUE wird ein Leckstrom zu Heizelement detektiert. Muss von der Hardware gemeldet werden. Mit TRUE wird ein Kurzschluss im Heizelement detektiert. Muss von der Hardware gemeldet werden. Mit TRUE wird ein offener Stromkreis im Heizelement detektiert. Muss von der Hardware gemeldet werden. In dieser Struktur werden generelle Parameter (Abtastzeiten usw.) an den Baustein übergeben. In dieser Struktur wird ein externer Regler-Parametersatz an den Baustein übergeben. In dieser Struktur werden Parameter (Dateinamen usw.) für das Logging an den Baustein übergeben.

Version: 1.1

TC3 Temperature Controller

SPS-Bibliotheken Tab. 13: Ausgänge Name fYAnalog bYPWM bYDig

Einheit keine keine keine

Wertebereich LREAL [TRUE,FALSE] [TRUE,FALSE]

bYDigPos

keine

[TRUE,FALSE]

bYDigNeg

keine

[TRUE,FALSE]

dwAlarm iState sParaControllerI nternal bError iErrorId

keine keine keine

DWORD INT Struktur

keine keine

[TRUE,FALSE] INT

Beschreibung Analoger Stellwert. Boolescher Ausgang pulsweitenmoduliert. Boolescher Ausgang eines Zweipunktreglers (TRUE Stellgröße 100%, FALSE Stellgröße aus) Boolescher Ausgang eines Dreipunktreglers (TRUE Stellgröße 100%, FALSE Stellgröße aus) Boolescher Ausgang eines Dreipunktreglers (TRUE Stellgröße -100%, FALSE Stellgröße aus) Alarmmeldungen (s. ENUM ...) momentaner Status des Reglers (s. ENUM ...) In dieser Struktur wird der interne (durch das Tuning ermittelte) Regler-Parametersatz zur Verfügung gestellt. Liegt ein Fehler vor, so ist bError gleich TRUE. Ist bError gleich TRUE, so zeigt iErrorId einen Fehlercode an (s. ENUM ...)

Voraussetzungen Entwicklungsumgebung TwinCAT 3.1.4006

5.1.4

Zielplatform PC oder CX (x86)

Einzubindende SPS-Bibliotheken Tc2_TempController

old:Definition der Strukturen

TYPE ST_ParaControlValue : STRUCT   (* general parameters *)   iMode                   : E_ControlMode;   iReactionOnFailure    : E_ReactionOnFailure;   fYTune                : LREAL;   fYStable              : LREAL;   dwAlarmSupp           : DWORD;   tCtrlCycleTime        : TIME;   tTaskCycleTime        : TIME;   (* setpoint parameters *)   fWMin                 : LREAL;   fWMax                 : LREAL;   (* start up *)   fWStartUp             :   tStartUp              :   bStartUpRamping       :   fWStartUpVeloPos      :   fWStartUpVeloNeg      :   fWVeloPos             :   fWVeloNeg             :

LREAL; TIME; BOOL; LREAL; LREAL; LREAL; LREAL;

  (* actual value parameters *)   bFilter               : BOOL;   tFilter               : TIME;   (* control value parameters *)   fYMin                 : LREAL;   fYMax                 : LREAL;   fYManual              : LREAL;   fYOnFailure           : LREAL;   tPWMCycleTime         : TIME;   (* controller settings *)   bEnablePreController  : BOOL;   bEnableZones          : BOOL;   bEnableCVFilter       : BOOL;   iFilterType           : E_FilterType;

TC3 Temperature Controller

Version: 1.1

33

SPS-Bibliotheken   iControllerType       : E_ControllerType;   (* min max temperatures   TempLow               :   TempLowLow            :   TempHigh              :   TempHighHigh          :   TempAbsoluteHigh      :   TempAbsoluteLow       :

*) LREAL; LREAL; LREAL; LREAL; LREAL; LREAL;

  (* internal tuning parameters   fTuneKp               : LREAL   fTuneTn               : LREAL   fTuneTv               : LREAL   fTuneTd               : LREAL END_STRUCT END_TYPE

34

*) := := := :=

1.2; 2.0; 0.42; 0.25;

Version: 1.1

TC3 Temperature Controller

SPS-Bibliotheken

ST_ControllerParameter Tab. 14: Beschreibung

TC3 Temperature Controller

Version: 1.1

35

SPS-Bibliotheken Name iMode

Einheit keine

Wertebereich INT

iReactionOnFail ure fYTune

keine

INT

keine

LREAL

fYStable

keine

LREAL

dwAlarmSupp tCtrlCycleTime

keine s

DWORD TIME

Stellgröße während der Selbsteinstellung (normalerweise 100%) Stellgröße während der Beruhigungsphase (normalerweise 0%) Maskiert die Alarme aus (s.u.) Abtastzeit des Reglers. Der Regler errechnet im Takt dieser Abtastzeit neue Werte für die Stellgröße. Zykluszeit der Task. Der FB wird im Takt der Task aufgerufen. Minimale Sollgröße. Maximale Sollgröße. Anstiegsgeschwindigkeit (Rampe). Abfallgeschwindigkeit (Rampe). Sollgröße beim Anfahren. Zeit mit Sollwert fWStartUp. Schaltet Verrampung während der StartUp-Phase ein.

tTaskCycleTime

s

fWMin fWMax fWVeloPos fWVeloNeg fWStartUp tStartUp bStartUpRampin g fWStartUpVeloP os fWStartUpVeloN eg fYMin fYMax fYManual fYOnFailure tPWMCycleTim e tFilter

K K K/s K/s K s keine

bFilter bEnablePreCont roller bEnableZones bEnableCVFilter iFilterType

keine keine

[TRUE,FALSE] [TRUE,FALSE]

keine keine keine

[TRUE,FALSE] [TRUE,FALSE] ENUM

iControllerType TempLow TempLowLow TempHigh TempHighHigh TempAbsoluteHi gh TempAbsoluteL ow fTuneKp

keine K K K K K

ENUM LREAL LREAL LREAL LREAL LREAL

Schaltet OpenLoop Verhalten bis nahe Sollwert ein. Schaltet Stellgrößenfilter hinter Hauptregler ein. Wahl eines Filtertypes für den Stellgrößenfilter hinter dem Hauptregler (s.u.). Wahl eines Regelalgorithmus (s.u.) Relativer unterer Temperaturgrenzwert im ersten Band. Relativer unterer Temperaturgrenzwert im zweiten Band. Relativer oberer Temperaturgrenzwert im ersten Band. Relativer oberer Temperaturgrenzwert im zweiten Band. Absoluter oberer Temperaturgrenzwert.

K

LREAL

Absoluter unterer Temperaturgrenzwert.

keine

LREAL

FineTuning Parameter für den PID Regler (nur für Experten)

36

TIME

Beschreibung Reglerbetriebsmode (1 = heating, 2 = cooling, 3 = heating&cooling) (s.u.) Parametrierbare Reaktion auf Fehler (s.u.)

LREAL LREAL LREAL LREAL LREAL TIME [TRUE,FALSE]

K/s

LREAL

K/s

LREAL

keine keine keine keine s

LREAL LREAL LREAL LREAL TIME

s

TIME

Anstiegsgeschwindigkeit (Rampe) während der StartUpPhase. Abfallgeschwindigkeit (Rampe) während der StartUpPhase Minimalwert der Stellgröße. Maximalwert der Stellgröße. Stellgröße im Handbetrieb. Stellgröße im Fehlerfall (parametrierbar). Zykluszeit des PWM Signals. Filterzeitkonstante des Istwertfilters (P-T1 Filter 1. Ordnung) Mit TRUE wird der Istwertfiler aktiviert. Schaltet Vorregler ein.

Version: 1.1

TC3 Temperature Controller

SPS-Bibliotheken Name fTuneTn

Einheit keine

Wertebereich LREAL

fTuneTv

keine

LREAL

fTuneTd

keine

LREAL

Beschreibung FineTuning Parameter für den PID Regler (nur für Experten) FineTuning Parameter für den PID Regler (nur für Experten) FineTuning Parameter für den PID Regler (nur für Experten)

Beschreibung ST_ParaController TYPE ST_ParaController : STRUCT   (* Main Controller parameter set *)   KpMain    : LREAL;   TnMain    : LREAL;   TvMain    : LREAL;   TdMain    : LREAL;   (* Pre Controller parameter set *)   KpPre     : LREAL;   TvPre     : LREAL;   TdPre     : LREAL; END_STRUCT END_TYPE

Tab. 15: Beschreibung Name KpMain TnMain TvMain TdMain KpPre TvPre TdPre

Einheit keine s s s keine s s

Wertebereich LREAL TIME TIME TIME LREAL TIME TIME

Beschreibung Verstärkungsfaktor für Hauptregler. Nachstellzeit für Hauptregler (I-Anteil). Vorhaltzeit für Hauptregler (D-Anteil). Dämpfungszeit für Hauptregler. Verstärkungsfaktor für Vorregler. Vorhaltzeit für Vorregler (D-Anteil). Dämpfungszeit für Vorregler.

Tab. 16: ENUM: Errorcodes Name TC_ERR_NOERROR TC_ERR_INVALIDPARAM TC_ERR_NO_INIT TC_ERR_NO_INFLECTION_POINT TC_ERR_INVALID_PARAM TC_ERR_INVALID_CYCLETIME TC_ERR_WRONG_TU

TC3 Temperature Controller

Beschreibung Kein Fehler. Ungültige Parameter. Baustein Initialisierung fehlt. Bei der Selbsteinstellung wurde kein Wendepunkt gefunden. Es konnten keine Parameter ermittelt werden. Ungültige Parameter. Ungültige Kombination von Zykluszeiten (Abtastzeiten und PWM Zykluszeiten). Es konnte durch eine fehlerhafte oder abgebrochene Selbsteinstellung kein gültiger Parameter Tu gefunden werden.

Version: 1.1

37

SPS-Bibliotheken Tab. 17: ENUM: ReactionOnFailure Name TC_OnFailureNoFailure TC_OnFailureStopController TC_OnFailureSetManMode TC_OnFailureSetYMax TC_OnFailureSetYMin

Beschreibung Kein Fehler. Wenn Fehler (Alarm), dann stoppe Regler. Wenn Fehler (Alarm), dann schalte Regler in Handbetrieb. Wenn Fehler (Alarm), dann setze Stellgröße auf maximalen Wert. Wenn Fehler (Alarm), dann setze Stellgröße auf minimalen Wert.

Tab. 18: ENUM: ST_ControlMode Name CTRLMODE_HEATING CTRLMODE_COOLING CTRLMODE_HEATING_COOLING

Beschreibung Nur Heizen. Nur Kühlen. Heizen und Kühlen.

Tab. 19: ENUM: states Name TC_STATE_IDLE TC_STATE_INIT TC_STATE_OFF TC_STATE_TUNE TC_STATE_MANUAL_OPERATION TC_STATE_CLOSED_LOOP TC_STATE_TUNE_IDLE TC_STATE_TUNE_PULSE TC_STATE_TUNE_STEP TC_STATE_TUNE_READY TC_STATE_ERROR

Beschreibung Regler abgeschaltet. Regler wird initialisiert. Regler ausgeschaltet, war vorher eingeschaltet. Regler im Tuning - Selbsteinstellungszustand. Regler im Handbetrieb. Regler im Automatikbetrieb. Tuning gestartet, aber noch nicht angelaufen. Abwarten von Ruhezustand. Puls zum Ermitteln der Totzeit. Sprung zum Ermitteln von Totzeit und max. Geschwindigkeit. Selbsteinstellung abgeschlossen. Fehler (logischer Fehler).

Tab. 20: ENUM: E_FilterType Name E_FilterType_FIRSTORDER E_FilterType_AVERAGE

Beschreibung Filter erster Ordnung. Mittelwertfilter.

Tab. 21: ENUM: E_ControllerType Name E_ControllerType_PID E_ControllerType_PIDD2

Beschreibung Standard-PID Regelalgorithmus. geplanter serieller PID Regelalgorithmus.

Bit-Masken für Alarme

38

Version: 1.1

TC3 Temperature Controller

SPS-Bibliotheken Name nAlarmOpenThermocouple nAlarmReverseThermocouple nAlarmBackVoltage nAlarmLeakageCurrent nAlarmShortCircuit nAlarmOpenCircuit nAlarmLimitLow nAlarmLimitLowLow nAlarmLimitHigh nAlarmLimitHighHigh nAlarmAbsoluteHigh nAlarmAbsoluteLow

Maske 2#0000_0000_0000_0000_0000_0 000_0000_0001 2#0000_0000_0000_0000_0000_0 000_0000_0010 2#0000_0000_0000_0000_0000_0 000_0000_0100 2#0000_0000_0000_0000_0000_0 000_0000_1000 2#0000_0000_0000_0000_0000_0 000_0001_0000 2#0000_0000_0000_0000_0000_0 000_0010_0000 2#0000_0000_0000_0000_0000_0 001_0000_0000 2#0000_0000_0000_0000_0000_0 010_0000_0000 2#0000_0000_0000_0000_0000_0 100_0000_0000 2#0000_0000_0000_0000_0000_1 000_0000_0000 2#0000_0000_0000_0000_0001_0 000_0000_0000 2#0000_0000_0000_0000_0010_0 000_0000_0000

Beschreibung Hardware: offener Temperaturfühler Hardware: verpolter Temperaturfühler Hardware: zu hohe Spannung am Temperaturfühler Hardware: Leckstrom gemessen

Zielplatform PC oder CX (x86)

Einzubindende SPS-Bibliotheken Tc2_TempController

Hardware: Kurzschluss Hardware: kein Strom Software: untere erste relative Temperatur unterschritten Software: untere zweite relative Temperatur unterschritten Software: obere erste relative Temperatur überschritten Software: obere zweite relative Temperatur überschritten Software: obere absolute Temperatur überschritten Software: untere absolute Temperatur unterschritten

Voraussetzungen Entwicklungsumgebung TwinCAT 3.1.4006

5.1.5

FB_CTRL_TempController_DistComp

Dieser Temperaturregler-Funktionsbaustein fügt den FB_CTRL_TempController Funktionsbausteinen eine Störgrößenkompensation hinzu. Die Struktur wird hier beschrieben.

TC3 Temperature Controller

Version: 1.1

39

SPS-Bibliotheken

Funktionsbaustein

Schnittstelle VAR_INPUT   eCtrlMode                     : E_CTRL_MODE;   bSelSetpoint                  : BOOL;   fW1                           : LREAL;   fW2                           : LREAL;   fX                            : LREAL;   fYManual                      : LREAL;   bOpenThermocouple             : BOOL;   bReverseThermocouple          : BOOL;   bBackVoltage                  : BOOL;   bLeakage                      : BOOL;   bShortCircuit                 : BOOL;   bOpenCircuit                  : BOOL;   fD                            : LREAL;   bCompensateDisturbance        : BOOL;   stParaControllerExternal      : ST_CTRL_ParaController; END_VAR VAR_IN_OUT   sControllerParameter          : ST_CTRL_TempCtrlParameter;   sCompensatorParameter         : ST_CTRL_DistCompParameter; END_VAR VAR_OUTPUT   fYAnalog                      : LREAL;   bYPWMPos                      : BOOL;   bYPWMPos                      : BOOL;   bYPWMNeg                      : BOOL;   bYDigPos                      : BOOL;   bYDigNeg                      : BOOL;   dwAlarm                       : DWORD;   fMaxOverShoot                 : LREAL;   tStartUpTime                  : TIME;   eCtrlState                    : E_CTRL_STATE;   sParaControllerInternal       : ST_CTRL_ParaController;   bError                        : BOOL;   eErrorId                      : E_CTRL_ErrorCodes; END_VAR

40

Version: 1.1

TC3 Temperature Controller

SPS-Bibliotheken

Eingänge Name eControlMode bSelSetpoint

Einheit Gegenstandslos Gegenstandslos

Bereich E_CTRL_MODE [True, False]

fW1 fW2

°C °C

LREAL LREAL

fX fYManual

°C %

LREAL [-100%, +100%]

bOpenThermocouple

Gegenstandslos

[True, False]

bReverseThermocouple

Gegenstandslos

[True, False]

bBackVoltage

Gegenstandslos

[True, False]

bLeakage

Gegenstandslos

[True, False]

bShortCircuit

Gegenstandslos

[True; False]

bOpenCircuit

Gegenstandslos

[True, False]

fD

Gegenstandslos

LREAL

bCompensateDisturbance Gegenstandslos

[True, False]

sParaControllerExternal

Struktur

Gegenstandslos

TC3 Temperature Controller

Version: 1.1

Beschreibung Wechselt Modus Wählt einen der beiden möglichen Sollwerte aus; TRUE wählt den StandbySollwert Sollwert Standby-Sollwert (normalerweise kleiner als fW1, bSelSetpoint wird für den Wechsel zwischen fW1 und fW2 verwendet) Istwert Stellgröße im manuellen Modus Das Thermoelement ist offen, wenn TRUE; muss von der Hardware angegeben werden Das Thermoelement ist mit falscher Polarität angeschlossen, wenn TRUE; muss von der Hardware angegeben werden Die Eingangsspannung am Thermoelement ist zu hoch, wenn TRUE; muss von der Hardware angegeben werden Ableitstrom wurde erkannt, wenn TRUE; muss von der Hardware angegeben werden Kurzschluss wurde erkannt, wenn TRUE; muss von der Hardware angegeben werden Drahtbruch wurde erkannt, wenn TRUE; muss von der Hardware angegeben werden Istwert der gemessenen Störgröße Störgrößenkompensation ist aktiviert, wenn TRUE Ein externer Reglerparametersatz wurde dem Regler übergeben

41

SPS-Bibliotheken

Ausgänge Name fYAnalog bYPWMPos

Einheit Gegenstandslos Gegenstandslos

Bereich LREAL [True, False]

bYPWMNeg

Gegenstandslos

[True, False]

bYDigPos

Gegenstandslos

[True, False]

bYDigNeg

Gegenstandslos

[True, False]

dWAlarm

Gegenstandslos

DWORD

fMaxOverShoot

°C

LREAL

tStartUpTime

Zeit

TIME

eCtrlState sParaControllerInternal

Gegenstandslos Gegenstandslos

E_CTRL_STATE Struktur

bError

Gegenstandslos

[True, False]

eErrorId

Gegenstandslos

Struktur

Beschreibung Analoge Stellgröße Digitaler Ausgang pulsweitenmoduliert Digitaler Ausgang; Negierung von bYPWMPos; pulsweitenmoduliert Digitalausgang von Dreipunktregler; TRUE bedeutet +100% Stellgröße und FALSE bedeutet Stellgröße aus Digitalausgang von Dreipunktregler; TRUE bedeutet -100% Stellgröße und FALSE bedeutet Stellgröße aus Alarmmeldungen (siehe Enum) Max. Überschwingen in °C unter/über Sollwert Anstiegszeit bis der Istwert das erste Mal den Sollwert erreicht Ist-Zustand des Reglers PID-Reglerparameter nach Optimierung Ein Fehler trat auf, wenn TRUE Fehlercode des aktuellen Fehlers

Voraussetzungen Entwicklungsumgebung TwinCAT 3.1.4006

5.1.6

Zielplatform PC oder CX (x86)

Einzubindende SPS-Bibliotheken Tc2_TempController

Definition der Strukturen (ST_CTRL_DistCompParameter)

ST_CTRL_DistCompParameter TYPE ST_CTRL_DistCompParameters STRUCT   fKd    : LREAL := 0;   tT1    : TIME  := T#0MS;   tT2    : TIME  := T#0MS; END_STRUCT END_TYPE

42

Version: 1.1

TC3 Temperature Controller

SPS-Bibliotheken Name fKd

Einheit Gegenstandslos

Bereich LREAL

tT1

Zeit

TIME

tT2

Zeit

TIME

5.2

Globale Konstanten

5.2.1

Version der Bibliothek

Beschreibung Proportionalverstärkung des Vor-/ Nacheilungskompensator s Erste Zeitkonstante des Vor-/ Nacheilungskompensator s Zweite Zeitkonstante des Vor-/ Nacheilungskompensator s

Alle Bibliotheken haben eine kennzeichnende Version. Diese Version ist auch im SPS BibliotheksRepository ersichtlich. Eine globale Konstante beinhaltet die Information der Bibliotheksversion: Global_Version VAR_GLOBAL CONSTANT     stLibVersion_Tc2_TempController : ST_LibVersion; END_VAR

Um die existierende Version mit einer benötigten Version zu vergleichen, wird die Funktion F_CmpLibVersion (definiert in der Bibliothek Tc2_System) angeboten. Hinweis: Alle anderen, aus TwinCAT2 bekannten, Möglichkeiten eine Bibliotheksversion abzufragen sind veraltet und sollten nicht mehr verwendet werden!

Voraussetzungen Entwicklungsumgebung TwinCAT 3.1.4006

TC3 Temperature Controller

Zielplatform PC oder CX (x86)

Version: 1.1

Einzubindende SPS-Bibliotheken Tc2_TempController

43

Beispiel

6

Beispiel

Das Beispielprogramm enthält die Einbindung in ein MAIN Programm. Die Regelstrecke wird durch ein PT2 Glied simuliert. Mit dem TwinCAT ScopeView kann eine Aufzeichnung der Werte gemacht werden.

Voraussetzungen Entwicklungsumgebung TwinCAT 3.1.4006

44

Zielplatform PC oder CX (x86)

Version: 1.1

Einzubindende SPS-Bibliotheken Tc2_TempController

TC3 Temperature Controller

Anhang

7

Anhang

7.1

Regelalgorithmus

Der TwinCAT Temperature Controller setzt im Kern auf einem Standard-PID Regler auf. Dieser Reglerkern unterstützt auch Anti-Reset-Windup Maßnahmen zur Begrenzung des I-Anteils, wenn die Stellgröße in die Begrenzung geht. Da der Regler durch das Einstellverfahren von Chien, Hrones und Reswick auf Störgrößenminimierung ausgelegt wurde, kann es bei Sollwertänderungen zum Überschwingen kommen. Um dieses Überschwingen zu reduzieren, kann bei Sollwertänderungen ein Vorregler vorgeschaltet werden. Dieser Vorregler hat ein D-T1 Verhalten und verringert das Überschwingen des Gesamtreglers. Da der Vorregler durch den D-Anteil eine Aufrauhung der Stellgröße zur Folge hat, ist der Einsatz des Vorreglers abzuwägen. Der Vorregler wird abgeschaltet, wenn die Istgröße für eine gewisse Zeit in einem Band um den Sollwert eingelaufen ist. Das Abschalten des Vorreglers erfolgt gerampt über einen längeren Zeitraums. Zur Minimierung der Stellgrößenoszillation kann optional ein Filter hinter dem Hauptregler aufgeschaltet werden. Als Filter stehen P-T1 und Moving Average Filter zur Verfügung.

Voraussetzungen Entwicklungsumgebung TwinCAT 3.1.4006

TC3 Temperature Controller

Zielplatform PC oder CX (x86)

Version: 1.1

Einzubindende SPS-Bibliotheken Tc2_TempController

45

Anhang

7.2

Alarming

Im Temperaturregler werden folgende Alarme ständig überwacht: • Absolute Temperaturen (high und low) • Relative Temperaturen (in zwei Bändern um den Sollwert) Außerdem können folgende sensorseitigen Hardware-Alarme mit dem Temperaturregler verbunden werden: • Open Thermocouple: Leitung zum Temperaturfühler ist unterbrochen • Back Voltage: am Temperaturfühler liegt eine unzulässig hohe Spannung an • Reverse Thermocouple: Temperaturfühler ist mit falscher Polarität angeschlossen Ist ein Stromsensor angeschlossen, so können folgende Signale mit dem Temperaturregler verbunden werden: • Kurzschluss • offener Stromkreis • Leckstrom

Voraussetzungen Entwicklungsumgebung TwinCAT 3.1.4006

7.3

Zielplatform PC oder CX (x86)

Einzubindende SPS-Bibliotheken Tc2_TempController

Selftuning

Der Selftuningalgorithmus basiert auf der klassischen Wendetangenten-Methode. Diese Methode stammt in den Anfängen von Ziegler und Nichols. Basis dieses Verfahrens ist die Voraussetzung einer linearen P-T1Strecke mit Totzeit. Während eines Sprungversuches wird die maximale Änderungsgeschwindigkeit ermittelt. 46

Version: 1.1

TC3 Temperature Controller

Anhang Dies geschieht über eine Differenzenbildung über mehrere Abtastzyklen. Zum Zeitpunkt der maximalen Änderungsgeschwindigkeit wird eine Wendetangente angelegt und der Schnittpunkt mit der Zeitachse bestimmt. Die Verzugszeit Tu ist die Zeit vom Beginn der Messung bis zum Schnittpunkt der Wendetangente mit der Zeitachse. Mit den Angaben von Tu und Vmax können über die Formeln von Chien, Hrones und Reswick die Reglerparameter für eine Störungsunterdrückung mit 20% Überschwingen ermittelt werden. Die Parameter des Vorreglers lassen mit heuristischen Formeln einfach aus den Parametern des Hauptreglers ableiten. Mit diesen Parametern wird nach dem Selftuning automatisch auf den Closed-Loop-Betrieb umgestellt.

Voraussetzungen Entwicklungsumgebung TwinCAT 3.1.4006

7.4

Zielplatform PC oder CX (x86)

Einzubindende SPS-Bibliotheken Tc2_TempController

Störgrößenkompensation

Störgrößenkompensation Ein Störsignal hat erheblichen Einfluss auf die Qualität des Reglers und gegebenenfalls auf den geregelten Prozess. Ein PID-Regler kann auf passive Weise der Wirkung eines Störsignals mittels Erhöhung des Reglerausgangs begegnen. Dies ist allerdings eine ineffiziente Art und Weise die Kompensation durchzuführen. Der Funktionsbaustein FB_CTRL_TempController_DistComp bietet eine zusätzliche Vor-/ Nacheilungskompensation um ein Störsignal aktiv auszugleichen. Es wird angenommen, dass das fragliche Störsignal gemessen und in den Funktionsbaustein eingespeist wird. Das nachfolgende Blockdiagramm erläutert den Aufbau der Störgrößenkompensation:

Die Störgrößenkompensation ist in der Tat ein Vor-/Nacheilungskompensator. Ein Vor-/ Nacheilungskompensator ist eine vielseitige Komponente, die bei sorgfältiger Auswahl der Verstärkungsund Zeitkonstanten dazu verwendet werden kann, I-, D-, PI-, PD- und PID-Kompensationen einzurichten. Mit Hilfe des Kompensators können bleibende Abweichungen und Spitzen verringert sowie das dynamische Verhalten bei Störungen verbessert werden. Hier finden Sie weitere Informationen über den Vor-/ Nacheilungskompensator.

TC3 Temperature Controller

Version: 1.1

47

Suggest Documents