pid-regelung · 2019-12-06 · pid-regelung funktionshandbuch, 11/2019, a5e35300226-ae 3 vorwort...

625
PID-Regelung

Upload: others

Post on 10-Mar-2020

5 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID-Regelung

Page 2: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

SIMATIC

S7-1200, S7-1500 PID-Regelung

Funktionshandbuch

11/2019 A5E35300226-AE

Vorwort

Wegweiser Dokumentation 1

Grundlagen zum Regeln 2 Projektieren eines Software-Reglers 3

PID_Compact einsetzen 4

PID_3Step einsetzen 5

PID_Temp einsetzen 6 PID Basisfunktionen einsetzen 7

Hilfsfunktionen 8

Anweisungen 9

Page 3: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Siemens AG Division Digital Factory Postfach 48 48 90026 NÜRNBERG DEUTSCHLAND

A5E35300226-AE Ⓟ 10/2019 Änderungen vorbehalten

Copyright © Siemens AG 2019. Alle Rechte vorbehalten

Rechtliche Hinweise Warnhinweiskonzept

Dieses Handbuch enthält Hinweise, die Sie zu Ihrer persönlichen Sicherheit sowie zur Vermeidung von Sachschäden beachten müssen. Die Hinweise zu Ihrer persönlichen Sicherheit sind durch ein Warndreieck hervorgehoben, Hinweise zu alleinigen Sachschäden stehen ohne Warndreieck. Je nach Gefährdungsstufe werden die Warnhinweise in abnehmender Reihenfolge wie folgt dargestellt.

GEFAHR bedeutet, dass Tod oder schwere Körperverletzung eintreten wird, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden.

WARNUNG bedeutet, dass Tod oder schwere Körperverletzung eintreten kann, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden.

VORSICHT bedeutet, dass eine leichte Körperverletzung eintreten kann, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden.

ACHTUNG bedeutet, dass Sachschaden eintreten kann, wenn die entsprechenden Vorsichtsmaßnahmen nicht getroffen werden.

Beim Auftreten mehrerer Gefährdungsstufen wird immer der Warnhinweis zur jeweils höchsten Stufe verwendet. Wenn in einem Warnhinweis mit dem Warndreieck vor Personenschäden gewarnt wird, dann kann im selben Warnhinweis zusätzlich eine Warnung vor Sachschäden angefügt sein.

Qualifiziertes Personal Das zu dieser Dokumentation zugehörige Produkt/System darf nur von für die jeweilige Aufgabenstellung qualifiziertem Personal gehandhabt werden unter Beachtung der für die jeweilige Aufgabenstellung zugehörigen Dokumentation, insbesondere der darin enthaltenen Sicherheits- und Warnhinweise. Qualifiziertes Personal ist auf Grund seiner Ausbildung und Erfahrung befähigt, im Umgang mit diesen Produkten/Systemen Risiken zu erkennen und mögliche Gefährdungen zu vermeiden.

Bestimmungsgemäßer Gebrauch von Siemens-Produkten Beachten Sie Folgendes:

WARNUNG Siemens-Produkte dürfen nur für die im Katalog und in der zugehörigen technischen Dokumentation vorgesehenen Einsatzfälle verwendet werden. Falls Fremdprodukte und -komponenten zum Einsatz kommen, müssen diese von Siemens empfohlen bzw. zugelassen sein. Der einwandfreie und sichere Betrieb der Produkte setzt sachgemäßen Transport, sachgemäße Lagerung, Aufstellung, Montage, Installation, Inbetriebnahme, Bedienung und Instandhaltung voraus. Die zulässigen Umgebungsbedingungen müssen eingehalten werden. Hinweise in den zugehörigen Dokumentationen müssen beachtet werden.

Marken Alle mit dem Schutzrechtsvermerk ® gekennzeichneten Bezeichnungen sind eingetragene Marken der Siemens AG. Die übrigen Bezeichnungen in dieser Schrift können Marken sein, deren Benutzung durch Dritte für deren Zwecke die Rechte der Inhaber verletzen kann.

Haftungsausschluss Wir haben den Inhalt der Druckschrift auf Übereinstimmung mit der beschriebenen Hard- und Software geprüft. Dennoch können Abweichungen nicht ausgeschlossen werden, so dass wir für die vollständige Übereinstimmung keine Gewähr übernehmen. Die Angaben in dieser Druckschrift werden regelmäßig überprüft, notwendige Korrekturen sind in den nachfolgenden Auflagen enthalten.

Page 4: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3

Vorwort

Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung und Programmierung von Reglungsaufgaben mit den Automatisierungssystemen S7-1200 und S7-1500.

Erforderliche Grundkenntnisse Zum Verständnis der Dokumentation sind folgende Kenntnisse erforderlich:

● Allgemeine Kenntnisse auf dem Gebiet der Automatisierungstechnik

● Kenntnisse des Industrieautomatisierungssystems SIMATIC

● Kenntnisse im Umgang mit STEP 7 (TIA Portal)

Gültigkeitsbereich der Dokumentation Diese Dokumentation gilt für den Einsatz von SW-Reglern auf den CPUs der Automatisierungssysteme S7-1200 und S7-1500 zusammen mit STEP 7 (TIA Portal). Für den Einsatz von S7-300 und S7-400 mit STEP 7 (TIA Portal) stehen weitere SW-Regler zur Verfügung, die nicht Gegenstand dieser Dokumentation sind. Das Kapitel Übersicht der Software-Regler (Seite 40) gibt einen Gesamtübersicht über alle SW-Regler in STEP 7 (TIA Portal) und deren Einsatzmöglichkeiten.

Konventionen Beachten Sie die folgendermaßen gekennzeichneten Hinweise:

Hinweis

Ein Hinweis enthält wichtige Informationen zum in der Dokumentation beschriebenen Produkt, zur Handhabung des Produkts oder zu dem Teil der Dokumentation, auf den besonders aufmerksam gemacht werden soll.

Weitere Unterstützung Das Angebot an technischer Dokumentation für die einzelnen SIMATIC Produkte und Automatisierungssysteme finden Sie im Internet (http://www.siemens.com/simatic-tech-doku-portal).

Page 5: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Vorwort

PID-Regelung 4 Funktionshandbuch, 11/2019, A5E35300226-AE

Siemens Industry Online Support Aktuelle Informationen erhalten Sie schnell und einfach zu folgenden Themen:

● Produkt-Support

Alle Informationen und umfangreiches Know-how rund um Ihr Produkt, Technische Daten, FAQs, Zertifikate, Downloads und Handbücher.

● Anwendungsbeispiele

Tools und Beispiele zur Lösung Ihrer Automatisierungsaufgabe – außerdem Funktionsbausteine, Performance-Aussagen und Videos.

● Services

Informationen zu Industry Services, Field Services, Technical Support, Ersatzteilen und Trainingsangeboten.

● Foren

Für Antworten und Lösungen rund um die Automatisierungstechnik.

● mySupport

Ihr persönlicher Arbeitsbereich im Siemens Industry Online Support für Benachrichtigungen, Support-Anfragen und konfigurierbare Dokumente.

Diese Informationen bietet Ihnen der Siemens Industry Online Support im Internet (https://support.industry.siemens.com).

Industry Mall Die Industry Mall ist das Katalog- und Bestellsystem der Siemens AG für Automatisierungs- und Antriebslösungen auf Basis von Totally Integrated Automation (TIA) und Totally Integrated Power (TIP).

Kataloge zu allen Produkten der Automatisierungs- und Antriebstechnik finden Sie im Internet (https://mall.industry.siemens.com) sowie im Information and Download Center (https://www.siemens.com/automation/infocenter).

Security-Hinweise Siemens bietet Produkte und Lösungen mit Industrial Security-Funktionen an, die den sicheren Betrieb von Anlagen, Systemen, Maschinen und Netzwerken unterstützen.

Um Anlagen, Systeme, Maschinen und Netzwerke gegen Cyber-Bedrohungen zu sichern, ist es erforderlich, ein ganzheitliches Industrial Security-Konzept zu implementieren (und kontinuierlich aufrechtzuerhalten), das dem aktuellen Stand der Technik entspricht. Die Produkte und Lösungen von Siemens formen nur einen Bestandteil eines solchen Konzepts.

Die Kunden sind dafür verantwortlich, unbefugten Zugriff auf ihre Anlagen, Systeme, Maschinen und Netzwerke zu verhindern. Diese Systeme, Maschinen und Komponenten sollten nur mit dem Unternehmensnetzwerk oder dem Internet verbunden werden, wenn und soweit dies notwendig ist und nur wenn entsprechende Schutzmaßnahmen (z.B. Firewalls und/oder Netzwerksegmentierung) ergriffen wurden.

Weiterführende Informationen zu möglichen Schutzmaßnahmen im Bereich Industrial Security finden Sie unter (http://www.siemens.com/industrialsecurity).

Page 6: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Vorwort

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 5

Die Produkte und Lösungen von Siemens werden ständig weiterentwickelt, um sie noch sicherer zu machen. Siemens empfiehlt ausdrücklich, Produkt-Updates anzuwenden, sobald sie zur Verfügung stehen und immer nur die aktuellen Produktversionen zu verwenden. Die Verwendung veralteter oder nicht mehr unterstützter Versionen kann das Risiko von Cyber-Bedrohungen erhöhen.

Um stets über Produkt-Updates informiert zu sein, abonnieren Sie den Siemens Industrial Security RSS Feed unter (http://www.siemens.com/industrialsecurity).

Page 7: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID-Regelung 6 Funktionshandbuch, 11/2019, A5E35300226-AE

Inhaltsverzeichnis

Vorwort ...................................................................................................................................................... 3

1 Wegweiser Dokumentation ...................................................................................................................... 14

2 Grundlagen zum Regeln .......................................................................................................................... 18

2.1 Regelkreis und Stellglieder .................................................................................................... 18

2.2 Regelstrecken ........................................................................................................................ 20

2.3 Kennwerte der Regelstrecke .................................................................................................. 22

2.4 Impulsregler ........................................................................................................................... 25

2.5 Führungs- und Störverhalten ................................................................................................. 29

2.6 Regelverhalten bei unterschiedlichen Rückführstrukturen .................................................... 30

2.7 Wahl der Reglerstruktur bei gegebener Regelstrecke ........................................................... 38

2.8 Einstellung der PID-Parameter .............................................................................................. 39

3 Projektieren eines Software-Reglers ........................................................................................................ 40

3.1 Übersicht der Software-Regler ............................................................................................... 40

3.2 Schritte für das Projektieren eines Software-Reglers ............................................................ 42

3.3 Technologieobjekte hinzufügen ............................................................................................. 42

3.4 Technologieobjekte konfigurieren .......................................................................................... 44

3.5 Anweisung im Anwenderprogramm aufrufen ......................................................................... 46

3.6 Technologieobjekte in Gerät laden ........................................................................................ 47

3.7 Software-Regler in Betrieb nehmen ....................................................................................... 49

3.8 Optimierte PID-Parameter im Projekt speichern .................................................................... 49

3.9 Arbeiten mit Multiinstanzobjekten .......................................................................................... 50

3.10 Werte vergleichen .................................................................................................................. 51 3.10.1 Vergleichsanzeige und Randbedingungen ............................................................................ 51 3.10.2 Werte vergleichen .................................................................................................................. 52

3.11 Parametersicht ....................................................................................................................... 54 3.11.1 Einführung in die Parametersicht ........................................................................................... 54 3.11.2 Aufbau der Parametersicht .................................................................................................... 56 3.11.2.1 Funktionsleiste ....................................................................................................................... 56 3.11.2.2 Navigation .............................................................................................................................. 57 3.11.2.3 Parametertabelle .................................................................................................................... 58 3.11.3 Parametersicht öffnen ............................................................................................................ 60 3.11.4 Voreinstellung der Parametersicht ......................................................................................... 61

Page 8: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Inhaltsverzeichnis

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 7

3.11.5 Arbeiten mit der Parametersicht ............................................................................................. 63 3.11.5.1 Übersicht ................................................................................................................................. 63 3.11.5.2 Parametertabelle filtern ........................................................................................................... 64 3.11.5.3 Parametertabelle sortieren ..................................................................................................... 65 3.11.5.4 Parameterdaten in andere Editoren übernehmen .................................................................. 65 3.11.5.5 Fehler anzeigen ...................................................................................................................... 66 3.11.5.6 Startwerte im Projekt bearbeiten ............................................................................................ 66 3.11.5.7 Status der Konfiguration (offline) ............................................................................................ 68 3.11.5.8 Werte in der Parametersicht online beobachten .................................................................... 69 3.11.5.9 Anzeigeformat des Werts umstellen ....................................................................................... 70 3.11.5.10 Momentaufnahme der Beobachtungswerte erstellen ............................................................. 72 3.11.5.11 Werte steuern ......................................................................................................................... 73 3.11.5.12 Werte vergleichen ................................................................................................................... 75 3.11.5.13 Werte aus dem Online-Programm als Startwerte übernehmen ............................................. 77 3.11.5.14 Einstellwerte im Online-Programm initialisieren ..................................................................... 78

3.12 Instanz-DB eines Technologieobjekts anzeigen ..................................................................... 79

4 PID_Compact einsetzen .......................................................................................................................... 80

4.1 Technologieobjekt PID_Compact ........................................................................................... 80

4.2 PID_Compact V2 .................................................................................................................... 81 4.2.1 PID_Compact V2 konfigurieren .............................................................................................. 81 4.2.1.1 Grundeinstellungen V2 ........................................................................................................... 81 4.2.1.2 Istwerteinstellungen V2 ........................................................................................................... 85 4.2.1.3 Erweiterte Einstellungen V2 .................................................................................................... 86 4.2.2 PID_Compact V2 in Betrieb nehmen ...................................................................................... 95 4.2.2.1 Erstoptimierung V2 ................................................................................................................. 95 4.2.2.2 Nachoptimierung V2 ............................................................................................................... 97 4.2.2.3 Betriebsart "Handbetrieb" V2 .................................................................................................. 99 4.2.3 Ablöseregelung mit PID_Compact V2 .................................................................................. 100 4.2.4 PID_Compact V2 mit PLCSIM simulieren............................................................................. 104

4.3 PID_Compact V1 .................................................................................................................. 105 4.3.1 PID_Compact V1 konfigurieren ............................................................................................ 105 4.3.1.1 Grundeinstellungen V1 ......................................................................................................... 105 4.3.1.2 Istwerteinstellung V1 ............................................................................................................. 109 4.3.1.3 Erweiterte Einstellungen V1 .................................................................................................. 110 4.3.2 PID_Compact V1 in Betrieb nehmen .................................................................................... 117 4.3.2.1 Inbetriebnahme V1................................................................................................................ 117 4.3.2.2 Erstoptimierung V1 ............................................................................................................... 118 4.3.2.3 Nachoptimierung V1 ............................................................................................................. 120 4.3.2.4 Betriebsart "Handbetrieb" V1 ................................................................................................ 122 4.3.3 PID_Compact V1 mit PLCSIM simulieren............................................................................. 123

Page 9: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Inhaltsverzeichnis

PID-Regelung 8 Funktionshandbuch, 11/2019, A5E35300226-AE

5 PID_3Step einsetzen ............................................................................................................................. 124

5.1 Technologieobjekt PID_3Step .............................................................................................. 124

5.2 PID_3Step V2 ....................................................................................................................... 125 5.2.1 PID_3Step V2 konfigurieren ................................................................................................. 125 5.2.1.1 Grundeinstellungen V2 ........................................................................................................ 125 5.2.1.2 Istwerteinstellungen V2 ........................................................................................................ 131 5.2.1.3 Stellgliedeinstellungen V2 .................................................................................................... 132 5.2.1.4 Erweiterte Einstellungen V2 ................................................................................................. 136 5.2.2 PID_3Step V2 in Betrieb nehmen ........................................................................................ 140 5.2.2.1 Erstoptimierung V2 .............................................................................................................. 140 5.2.2.2 Nachoptimierung V2 ............................................................................................................ 142 5.2.2.3 Mit manuellen PID-Parametern in Betrieb nehmen V2 ........................................................ 144 5.2.2.4 Motorstellzeit messen V2 ..................................................................................................... 145 5.2.3 PID_3Step V2 mit PLCSIM simulieren ................................................................................. 147

5.3 PID_3Step V1 ....................................................................................................................... 148 5.3.1 PID_3Step V1 konfigurieren ................................................................................................. 148 5.3.1.1 Grundeinstellungen V1 ........................................................................................................ 148 5.3.1.2 Istwerteinstellung V1 ............................................................................................................ 153 5.3.1.3 Stellgliedeinstellung V1 ........................................................................................................ 154 5.3.1.4 Erweiterte Einstellungen V1 ................................................................................................. 157 5.3.2 PID_3Step V1 in Betrieb nehmen ........................................................................................ 161 5.3.2.1 Inbetriebnahme V1 ............................................................................................................... 161 5.3.2.2 Erstoptimierung V1 .............................................................................................................. 162 5.3.2.3 Nachoptimierung V1 ............................................................................................................ 163 5.3.2.4 Mit manuellen PID-Parametern in Betrieb nehmen V1 ........................................................ 165 5.3.2.5 Motorstellzeit messen V1 ..................................................................................................... 166 5.3.3 PID_3Step V1 mit PLCSIM simulieren ................................................................................. 168

6 PID_Temp einsetzen ............................................................................................................................. 169

6.1 Technologieobjekt PID_Temp .............................................................................................. 169

6.2 PID_Temp konfigurieren ...................................................................................................... 170 6.2.1 Grundeinstellungen .............................................................................................................. 170 6.2.1.1 Einleitung ............................................................................................................................. 170 6.2.1.2 Regelungsart ........................................................................................................................ 171 6.2.1.3 Sollwert ................................................................................................................................ 172 6.2.1.4 Istwert ................................................................................................................................... 172 6.2.1.5 Ausgangswert Heizen und Kühlen ....................................................................................... 173 6.2.1.6 Kaskade ............................................................................................................................... 175 6.2.2 Istwerteinstellungen ............................................................................................................. 176 6.2.2.1 Istwertgrenzen ...................................................................................................................... 176 6.2.2.2 Istwert skalieren ................................................................................................................... 176 6.2.3 Ausgangseinstellungen ........................................................................................................ 177 6.2.3.1 Grundeinstellungen Ausgang ............................................................................................... 177 6.2.3.2 Ausgangswertgrenzen und -skalierung ............................................................................... 180 6.2.4 Erweiterte Einstellungen ...................................................................................................... 183 6.2.4.1 Istwertüberwachung ............................................................................................................. 183 6.2.4.2 PWM-Begrenzungen ............................................................................................................ 184 6.2.4.3 PID-Parameter ..................................................................................................................... 187

Page 10: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Inhaltsverzeichnis

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 9

6.3 PID_Temp in Betrieb nehmen ............................................................................................... 195 6.3.1 Inbetriebnahme ..................................................................................................................... 195 6.3.2 Erstoptimierung ..................................................................................................................... 196 6.3.3 Nachoptimierung ................................................................................................................... 199 6.3.4 Betriebsart "Handbetrieb" ..................................................................................................... 203 6.3.5 Ersatzsollwert ........................................................................................................................ 204 6.3.6 Kaskadeninbetriebnahme ..................................................................................................... 204

6.4 Kaskadenregelung mit PID_Temp ........................................................................................ 205 6.4.1 Einleitung .............................................................................................................................. 205 6.4.2 Programmerstellung .............................................................................................................. 207 6.4.3 Konfiguration ......................................................................................................................... 209 6.4.4 Inbetriebnahme ..................................................................................................................... 211 6.4.5 Ersatzsollwert ........................................................................................................................ 212 6.4.6 Betriebsarten und Fehlerreaktion ......................................................................................... 212

6.5 Mehrzonenregelung mit PID_Temp ...................................................................................... 213

6.6 Ablöseregelung mit PID_Temp ............................................................................................. 216

6.7 PID_Temp mit PLCSIM simulieren ....................................................................................... 220

7 PID Basisfunktionen einsetzen .............................................................................................................. 221

7.1 CONT_C ............................................................................................................................... 221 7.1.1 Technologieobjekt CONT_C ................................................................................................. 221 7.1.2 Regeldifferenz CONT_C konfigurieren ................................................................................. 222 7.1.3 Regelalgorithmus CONT_C konfigurieren ............................................................................ 223 7.1.4 Stellwert CONT_C konfigurieren ........................................................................................... 224 7.1.5 Impulsregler programmieren ................................................................................................. 225 7.1.6 CONT_C in Betrieb nehmen ................................................................................................. 226

7.2 CONT_S ................................................................................................................................ 227 7.2.1 Technologieobjekt CONT_S ................................................................................................. 227 7.2.2 Regeldifferenz CONT_S konfigurieren ................................................................................. 228 7.2.3 Regelalgorithmus CONT_S konfigurieren ............................................................................ 229 7.2.4 Stellwert CONT_S konfigurieren ........................................................................................... 229 7.2.5 CONT_S in Betrieb nehmen ................................................................................................. 230

7.3 TCONT_CP ........................................................................................................................... 231 7.3.1 Technologieobjekt TCONT_CP ............................................................................................ 231 7.3.2 TCONT_CP konfigurieren ..................................................................................................... 232 7.3.2.1 Regeldifferenz ....................................................................................................................... 232 7.3.2.2 Regelalgorithmus .................................................................................................................. 233 7.3.2.3 Stellwert kontinuierlicher Regler ........................................................................................... 235 7.3.2.4 Stellwert Impulsregler ........................................................................................................... 236 7.3.3 TCONT_CP in Betrieb nehmen ............................................................................................ 238 7.3.3.1 Optimierung TCONT_CP ...................................................................................................... 238 7.3.3.2 Voraussetzungen für eine Optimierung ................................................................................ 240 7.3.3.3 Möglichkeiten der Optimierung ............................................................................................. 242 7.3.3.4 Ergebnis der Optimierung ..................................................................................................... 245 7.3.3.5 Parallele Optimierung von Reglerkanälen ............................................................................ 246 7.3.3.6 Fehlerbilder und Abhilfemaßnahmen .................................................................................... 247 7.3.3.7 Erstoptimierung durchführen ................................................................................................ 251 7.3.3.8 Nachoptimierung durchführen .............................................................................................. 251 7.3.3.9 Abbruch der Erst- oder Nachoptimierung ............................................................................. 252

Page 11: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Inhaltsverzeichnis

PID-Regelung 10 Funktionshandbuch, 11/2019, A5E35300226-AE

7.3.3.10 Manuelle Nachoptimierung im Regelbetrieb ........................................................................ 252 7.3.3.11 Manuelle Nachoptimierung durchführen .............................................................................. 254

7.4 TCONT_S ............................................................................................................................. 255 7.4.1 Technologieobjekt TCONT_S .............................................................................................. 255 7.4.2 Regeldifferenz TCONT_S konfigurieren .............................................................................. 255 7.4.3 Regelalgorithmus TCONT_S konfigurieren ......................................................................... 257 7.4.4 Stellwert TCONT_S konfigurieren ........................................................................................ 257 7.4.5 TCONT_S in Betrieb nehmen .............................................................................................. 258

8 Hilfsfunktionen ....................................................................................................................................... 259

8.1 Polyline ................................................................................................................................. 259

8.2 SplitRange ............................................................................................................................ 259

8.3 RampFunction ...................................................................................................................... 260

8.4 Filter_PT1 ............................................................................................................................. 260

8.5 Filter_PT2 ............................................................................................................................. 261

8.6 Filter_DT1 ............................................................................................................................. 261

9 Anweisungen ......................................................................................................................................... 262

9.1 PID_Compact ....................................................................................................................... 262 9.1.1 Neuerungen PID_Compact .................................................................................................. 262 9.1.2 Kompatibilität mit CPU und FW ........................................................................................... 266 9.1.3 CPU-Bearbeitungszeit und Speicherbedarf PID_Compact V2.x ......................................... 267 9.1.4 PID_Compact V2.................................................................................................................. 268 9.1.4.1 Beschreibung PID_Compact V2 .......................................................................................... 268 9.1.4.2 Arbeitsweise PID_Compact V2 ............................................................................................ 271 9.1.4.3 Eingangsparameter PID_Compact V2 ................................................................................. 274 9.1.4.4 Ausgangsparameter PID_Compact V2 ................................................................................ 276 9.1.4.5 Durchgangsparameter PID_Compact V2 ............................................................................ 277 9.1.4.6 Statische Variablen PID_Compact V2 ................................................................................. 278 9.1.4.7 Änderungen der Schnittstelle PID_Compact V2 .................................................................. 287 9.1.4.8 Parameter State und Mode V2 ............................................................................................ 289 9.1.4.9 Parameter ErrorBits V2 ........................................................................................................ 293 9.1.4.10 Variable ActivateRecoverMode V2 ...................................................................................... 295 9.1.4.11 Variable Warning V2 ............................................................................................................ 297 9.1.4.12 Variable IntegralResetMode V2 ........................................................................................... 298 9.1.4.13 Beispielprogramm für PID_Compact ................................................................................... 300 9.1.5 PID_Compact V1.................................................................................................................. 306 9.1.5.1 Beschreibung PID_Compact V1 .......................................................................................... 306 9.1.5.2 Eingangsparameter PID_Compact V1 ................................................................................. 310 9.1.5.3 Ausgangsparameter PID_Compact V1 ................................................................................ 311 9.1.5.4 Statische Variablen PID_Compact V1 ................................................................................. 312 9.1.5.5 Parameter State und sRet.i_Mode V1 ................................................................................. 318 9.1.5.6 Parameter Error V1 .............................................................................................................. 322 9.1.5.7 Parameter Reset V1 ............................................................................................................ 323 9.1.5.8 Variable sd_warning V1 ....................................................................................................... 325 9.1.5.9 Variable i_Event_SUT V1 ..................................................................................................... 325 9.1.5.10 Variable i_Event_TIR V1 ...................................................................................................... 326

Page 12: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Inhaltsverzeichnis

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 11

9.2 PID_3Step ............................................................................................................................. 327 9.2.1 Neuerungen PID_3Step ........................................................................................................ 327 9.2.2 Kompatibilität mit CPU und FW ............................................................................................ 329 9.2.3 CPU-Bearbeitungszeit und Speicherbedarf PID_3Step V2.x ............................................... 330 9.2.4 PID_3Step V2 ....................................................................................................................... 331 9.2.4.1 Beschreibung PID_3Step V2 ................................................................................................ 331 9.2.4.2 Arbeitsweise PID_3Step V2 .................................................................................................. 336 9.2.4.3 Änderungen der Schnittstelle PID_3Step V2 ........................................................................ 340 9.2.4.4 Eingangsparameter PID_3Step V2 ....................................................................................... 341 9.2.4.5 Ausgangsparameter PID_3Step V2 ...................................................................................... 344 9.2.4.6 Durchgangsparameter PID_3Step V2 .................................................................................. 346 9.2.4.7 Statische Variablen PID_3Step V2 ....................................................................................... 347 9.2.4.8 Parameter State und Mode V2 ............................................................................................. 359 9.2.4.9 Parameter ErrorBits V2 ......................................................................................................... 365 9.2.4.10 Variable ActivateRecoverMode V2 ....................................................................................... 368 9.2.4.11 Variable Warning V2 ............................................................................................................. 370 9.2.5 PID_3Step V1 ....................................................................................................................... 371 9.2.5.1 Beschreibung PID_3Step V1 ................................................................................................ 371 9.2.5.2 Arbeitsweise PID_3Step V1 .................................................................................................. 376 9.2.5.3 Eingangsparameter PID_3Step V1 ....................................................................................... 379 9.2.5.4 Ausgangsparameter PID_3Step V1 ...................................................................................... 381 9.2.5.5 Statische Variablen PID_3Step V1 ....................................................................................... 383 9.2.5.6 Parameter State und Retain.Mode V1 .................................................................................. 392 9.2.5.7 Parameter ErrorBits V1 ......................................................................................................... 399 9.2.5.8 Parameter Reset V1 ............................................................................................................. 401 9.2.5.9 Variable ActivateRecoverMode V1 ....................................................................................... 402 9.2.5.10 Variable Warning V1 ............................................................................................................. 404 9.2.5.11 Variable SUT.State V1 .......................................................................................................... 405 9.2.5.12 Variable TIR.State V1 ........................................................................................................... 405

9.3 PID_Temp ............................................................................................................................. 406 9.3.1 Neuerungen PID_Temp ........................................................................................................ 406 9.3.2 Kompatibilität mit CPU und FW ............................................................................................ 406 9.3.3 CPU-Bearbeitungszeit und Speicherbedarf PID_Temp V1 .................................................. 407 9.3.4 PID_Temp ............................................................................................................................. 408 9.3.4.1 Beschreibung PID_Temp ...................................................................................................... 408 9.3.4.2 Arbeitsweise PID_Temp ....................................................................................................... 413 9.3.4.3 Eingangsparameter PID_Temp ............................................................................................ 419 9.3.4.4 Ausgangsparameter PID_Temp ........................................................................................... 421 9.3.4.5 Durchgangsparameter PID_Temp ........................................................................................ 423 9.3.4.6 Statische Variablen PID_Temp ............................................................................................. 425 9.3.4.7 Parameter State und Mode PID_Temp ................................................................................. 461 9.3.4.8 Parameter ErrorBits PID_Temp ............................................................................................ 469 9.3.4.9 Variable ActivateRecoverMode PID_Temp .......................................................................... 472 9.3.4.10 Variable Warning PID_Temp ................................................................................................ 474 9.3.4.11 Variable PwmPeriode ........................................................................................................... 475 9.3.4.12 Variable IntegralResetMode ................................................................................................. 477

Page 13: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Inhaltsverzeichnis

PID-Regelung 12 Funktionshandbuch, 11/2019, A5E35300226-AE

9.4 PID Basisfunktionen ............................................................................................................. 479 9.4.1 CONT_C ............................................................................................................................... 479 9.4.1.1 Beschreibung CONT_C ....................................................................................................... 479 9.4.1.2 Arbeitsweise CONT_C ......................................................................................................... 480 9.4.1.3 Blockschaltbild CONT_C ...................................................................................................... 481 9.4.1.4 Eingangsparameter CONT_C .............................................................................................. 482 9.4.1.5 Ausgangsparameter CONT_C ............................................................................................. 484 9.4.2 CONT_S ............................................................................................................................... 485 9.4.2.1 Beschreibung CONT_S ........................................................................................................ 485 9.4.2.2 Arbeitsweise CONT_S ......................................................................................................... 486 9.4.2.3 Blockschaltbild CONT_S ...................................................................................................... 487 9.4.2.4 Eingangsparameter CONT_S .............................................................................................. 488 9.4.2.5 Ausgangsparameter CONT_S ............................................................................................. 489 9.4.3 PULSEGEN .......................................................................................................................... 490 9.4.3.1 Beschreibung PULSEGEN .................................................................................................. 490 9.4.3.2 Arbeitsweise PULSEGEN .................................................................................................... 491 9.4.3.3 Betriebsarten PULSEGEN ................................................................................................... 494 9.4.3.4 Dreipunktregelung ................................................................................................................ 495 9.4.3.5 Zweipunktregelung ............................................................................................................... 498 9.4.3.6 Eingangsparameter PULSEGEN ......................................................................................... 499 9.4.3.7 Ausgangsparameter PULSEGEN ........................................................................................ 500 9.4.4 TCONT_CP .......................................................................................................................... 501 9.4.4.1 Beschreibung TCONT_CP ................................................................................................... 501 9.4.4.2 Arbeitsweise TCONT_CP .................................................................................................... 502 9.4.4.3 Arbeitsweise Pulsgenerator ................................................................................................. 511 9.4.4.4 Blockschaltbild TCONT_CP ................................................................................................. 514 9.4.4.5 Eingangsparameter TCONT_CP ......................................................................................... 516 9.4.4.6 Ausgangsparameter TCONT_CP ........................................................................................ 516 9.4.4.7 Durchgangsparameter TCONT_CP ..................................................................................... 517 9.4.4.8 Statische Variablen TCONT_CP .......................................................................................... 518 9.4.4.9 Parameter STATUS_H ......................................................................................................... 523 9.4.4.10 Parameter STATUS_D ......................................................................................................... 524 9.4.5 TCONT_S ............................................................................................................................. 525 9.4.5.1 Beschreibung TCONT_S ..................................................................................................... 525 9.4.5.2 Arbeitsweise TCONT_S ....................................................................................................... 527 9.4.5.3 Blockschaltbild TCONT_S .................................................................................................... 531 9.4.5.4 Eingangsparameter TCONT_S ............................................................................................ 533 9.4.5.5 Ausgangsparameter TCONT_S ........................................................................................... 534 9.4.5.6 Durchgangsparameter TCONT_S ........................................................................................ 534 9.4.5.7 Statische Variablen TCONT_S ............................................................................................ 535 9.4.6 Integrierte Systemfunktionen ............................................................................................... 536 9.4.6.1 CONT_C_SF ........................................................................................................................ 536 9.4.6.2 CONT_S_SF ........................................................................................................................ 536 9.4.6.3 PULSEGEN_SF ................................................................................................................... 537

9.5 Polyline ................................................................................................................................. 538 9.5.1 Kompatibilität mit CPU und FW ........................................................................................... 538 9.5.2 Beschreibung Polyline ......................................................................................................... 538 9.5.3 Arbeitsweise Polyline ........................................................................................................... 542 9.5.4 Eingangsparameter Polyline ................................................................................................ 545 9.5.5 Ausgangsparameter Polyline ............................................................................................... 546 9.5.6 Statische Variablen Polyline ................................................................................................ 546 9.5.7 Parameter ErrorBits ............................................................................................................. 548

Page 14: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Inhaltsverzeichnis

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 13

9.6 SplitRange ............................................................................................................................ 552 9.6.1 Kompatibilität mit CPU und FW ............................................................................................ 552 9.6.2 Beschreibung SplitRange ..................................................................................................... 552 9.6.3 Eingangsparameter SplitRange ............................................................................................ 555 9.6.4 Ausgangsparameter SplitRange ........................................................................................... 555 9.6.5 Statische Variablen SplitRange ............................................................................................ 556 9.6.6 Parameter ErrorBits .............................................................................................................. 556

9.7 RampFunction ....................................................................................................................... 559 9.7.1 Kompatibilität mit CPU und FW ............................................................................................ 559 9.7.2 Beschreibung RampFunction ............................................................................................... 559 9.7.3 Arbeitsweise RampFunction ................................................................................................. 564 9.7.4 Eingangsparameter RampFunction ...................................................................................... 567 9.7.5 Ausgangsparameter RampFunction ..................................................................................... 568 9.7.6 Statische Variablen RampFunction ...................................................................................... 568 9.7.7 Parameter ErrorBits .............................................................................................................. 570

9.8 Filter_PT1 .............................................................................................................................. 574 9.8.1 Kompatibilität mit CPU und FW ............................................................................................ 574 9.8.2 Beschreibung Filter_PT1 ...................................................................................................... 574 9.8.3 Arbeitsweise Filter_PT1 ........................................................................................................ 581 9.8.4 Eingangsparameter Filter_PT1 ............................................................................................. 583 9.8.5 Ausgangsparameter Filter_PT1 ............................................................................................ 583 9.8.6 Statische Variablen Filter_PT1 ............................................................................................. 584 9.8.7 Parameter ErrorBits .............................................................................................................. 585

9.9 Filter_PT2 .............................................................................................................................. 590 9.9.1 Kompatibilität mit CPU und FW ............................................................................................ 590 9.9.2 Beschreibung Filter_PT2 ...................................................................................................... 590 9.9.3 Arbeitsweise Filter_PT2 ........................................................................................................ 598 9.9.4 Eingangsparameter Filter_PT2 ............................................................................................. 599 9.9.5 Ausgangsparameter Filter_PT2 ............................................................................................ 600 9.9.6 Statische Variablen Filter_PT2 ............................................................................................. 600 9.9.7 Parameter ErrorBits .............................................................................................................. 601

9.10 Filter_DT1 ............................................................................................................................. 606 9.10.1 Kompatibilität mit CPU und FW ............................................................................................ 606 9.10.2 Beschreibung Filter_DT1 ...................................................................................................... 606 9.10.3 Arbeitsweise Filter_DT1 ........................................................................................................ 614 9.10.4 Eingangsparameter Filter_DT1 ............................................................................................. 616 9.10.5 Ausgangsparameter Filter_DT1 ............................................................................................ 616 9.10.6 Statische Variablen Filter_DT1 ............................................................................................. 617 9.10.7 Parameter ErrorBits .............................................................................................................. 618

Index ...................................................................................................................................................... 623

Page 15: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID-Regelung 14 Funktionshandbuch, 11/2019, A5E35300226-AE

Wegweiser Dokumentation 1

Die Dokumentation für das Automatisierungssystem SIMATIC S7-1500, für die auf SIMATIC S7-1500 basierende CPU 1516pro-2 PN und die Dezentralen Peripheriesysteme SIMATIC ET 200MP, ET 200SP und ET 200AL gliedert sich in drei Bereiche. Die Aufteilung bietet Ihnen die Möglichkeit, gezielt auf die gewünschten Inhalte zuzugreifen.

Basisinformationen

Systemhandbücher und Getting Started beschreiben ausführlich die Projektierung, Montage, Verdrahtung und Inbetriebnahme der Systeme SIMATIC S7-1500, ET 200MP, ET 200SP und ET 200AL, für CPU 1516pro-2 PN nutzen Sie die entsprechenden Betriebsanleitungen. Die Online-Hilfe von STEP 7 unterstützt Sie bei der Projektierung und Programmierung.

Geräteinformationen

Gerätehandbücher enthalten eine kompakte Beschreibung der modulspezifischen Informationen wie Eigenschaften, Anschlussbilder, Kennlinien, Technische Daten.

Übergreifende Informationen

In den Funktionshandbüchern finden Sie ausführliche Beschreibungen zu übergreifenden Themen, z. B. Diagnose, Kommunikation, Motion Control, Webserver, OPC UA.

Die Dokumentation finden Sie zum kostenlosen Download im Internet (http://w3.siemens.com/mcms/industrial-automation-systems-simatic/de/handbuchuebersicht/Seiten/Default.aspx).

Page 16: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Wegweiser Dokumentation

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 15

Änderungen und Ergänzungen zu den Handbüchern werden in Produktinformationen dokumentiert.

Sie finden die Produktinformationen im Internet:

● S7-1500/ET 200MP (https://support.industry.siemens.com/cs/de/de/view/68052815)

● ET 200SP (https://support.industry.siemens.com/cs/de/de/view/73021864)

● ET 200AL (https://support.industry.siemens.com/cs/de/de/view/99494757)

Manual Collections Die Manual Collections beinhalten die vollständige Dokumentation zu den Systemen zusammengefasst in einer Datei.

Sie finden die Manual Collections im Internet:

● S7-1500/ET 200MP (https://support.industry.siemens.com/cs/ww/de/view/86140384)

● ET 200SP (https://support.industry.siemens.com/cs/ww/de/view/84133942)

● ET 200AL (https://support.industry.siemens.com/cs/ww/de/view/95242965)

"mySupport" Mit "mySupport", Ihrem persönlichen Arbeitsbereich, machen Sie das Beste aus Ihrem Industry Online Support.

In "mySupport" können Sie Filter, Favoriten und Tags ablegen, CAx-Daten anfordern und sich im Bereich Dokumentation Ihre persönliche Bibliothek zusammenstellen. Des Weiteren sind in Support-Anfragen Ihre Daten bereits vorausgefüllt und Sie können sich jederzeit einen Überblick über Ihre laufenden Anfragen verschaffen.

Um die volle Funktionalität von "mySupport" zu nutzen, müssen Sie sich einmalig registrieren.

Sie finden "mySupport" im Internet (https://support.industry.siemens.com/My/ww/de/).

"mySupport" - Dokumentation In "mySupport" haben Sie im Bereich Dokumentation die Möglichkeit ganze Handbücher oder nur Teile daraus zu Ihrem eigenen Handbuch zu kombinieren. Sie können das Handbuch als PDF-Datei oder in einem nachbearbeitbaren Format exportieren.

Sie finden "mySupport" - Dokumentation im Internet (http://support.industry.siemens.com/My/ww/de/documentation).

Page 17: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Wegweiser Dokumentation

PID-Regelung 16 Funktionshandbuch, 11/2019, A5E35300226-AE

"mySupport" - CAx-Daten In "mySupport" haben Sie im Bereich CAx-Daten die Möglichkeit auf aktuelle Produktdaten für Ihr CAx- oder CAe-System zuzugreifen.

Mit wenigen Klicks konfigurieren Sie Ihr eigenes Download-Paket.

Sie können dabei wählen:

● Produktbilder, 2D-Maßbilder, 3D-Modelle, Geräteschaltpläne, EPLAN-Makrodateien

● Handbücher, Kennlinien, Bedienungsanleitungen, Zertifikate

● Produktstammdaten

Sie finden "mySupport" - CAx-Daten im Internet (http://support.industry.siemens.com/my/ww/de/CAxOnline).

Anwendungsbeispiele Die Anwendungsbeispiele unterstützen Sie mit verschiedenen Tools und Beispielen bei der Lösung Ihrer Automatisierungsaufgaben. Dabei werden Lösungen im Zusammenspiel mehrerer Komponenten im System dargestellt - losgelöst von der Fokussierung auf einzelne Produkte.

Sie finden die Anwendungsbeispiele im Internet (https://support.industry.siemens.com/sc/ww/de/sc/2054).

TIA Selection Tool Mit dem TIA Selection Tool können Sie Geräte für Totally Integrated Automation (TIA) auswählen, konfigurieren und bestellen. Es ist der Nachfolger des SIMATIC Selection Tools und fasst die bereits bekannten Konfiguratoren für die Automatisierungstechnik in einem Werkzeug zusammen. Mit dem TIA Selection Tool erzeugen Sie aus Ihrer Produktauswahl oder Produktkonfiguration eine vollständige Bestellliste.

Sie finden das TIA Selection Tool im Internet (http://w3.siemens.com/mcms/topics/de/simatic/tia-selection-tool).

SIMATIC Automation Tool Mit dem SIMATIC Automation Tool können Sie unabhängig vom TIA Portal gleichzeitig an verschiedenen SIMATIC S7-Stationen Inbetriebsetzungs- und Servicetätigkeiten als Massenoperation ausführen.

Das SIMATIC Automation Tool bietet eine Vielzahl von Funktionen:

● Scannen eines PROFINET/Ethernet Anlagennetzes und Identifikation aller verbundenen CPUs

● Adresszuweisung (IP, Subnetz, Gateway) und Stationsname (PROFINET Device) zu einer CPU

● Übertragung des Datums und der auf UTC-Zeit umgerechneten PG/PC-Zeit auf die Baugruppe

● Programm-Download auf CPU

Page 18: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Wegweiser Dokumentation

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 17

● Betriebsartenumstellung RUN/STOP

● CPU-Lokalisierung mittels LED-Blinken

● Auslesen von CPU-Fehlerinformation

● Lesen des CPU Diagnosepuffers

● Rücksetzen auf Werkseinstellungen

● Firmwareaktualisierung der CPU und angeschlossener Module

Sie finden das SIMATIC Automation Tool im Internet (https://support.industry.siemens.com/cs/ww/de/view/98161300).

PRONETA Mit SIEMENS PRONETA (PROFINET Netzwerk-Analyse) analysieren Sie im Rahmen der Inbetriebnahme das Anlagennetz. PRONETA verfügt über zwei Kernfunktionen:

● Die Topologie-Übersicht scannt selbsttätig das PROFINET und alle angeschlossenen Komponenten.

● Der IO-Check ist ein schneller Test der Verdrahtung und des Modulausbaus einer Anlage.

Sie finden SIEMENS PRONETA im Internet (https://support.industry.siemens.com/cs/ww/de/view/67460624).

SINETPLAN SINETPLAN, der Siemens Network Planner, unterstützt Sie als Planer von Automatisierungsanlagen und -netzwerken auf Basis von PROFINET. Das Tool erleichtert Ihnen bereits in der Planungsphase die professionelle und vorausschauende Dimensionierung Ihrer PROFINET-Installation. Weiterhin unterstützt Sie SINETPLAN bei der Netzwerkoptimierung und hilft Ihnen, Netzwerkressourcen bestmöglich auszuschöpfen und Reserven einzuplanen. So vermeiden Sie Probleme bei der Inbetriebnahme oder Ausfälle im Produktivbetrieb schon im Vorfeld eines geplanten Einsatzes. Dies erhöht die Verfügbarkeit der Produktion und trägt zur Verbesserung der Betriebssicherheit bei.

Die Vorteile auf einen Blick

● Netzwerkoptimierung durch portgranulare Berechnung der Netzwerklast

● höhere Produktionsverfügbarkeit durch Onlinescan und Verifizierung bestehender Anlagen

● Transparenz vor Inbetriebnahme durch Import und Simulierung vorhandener STEP7 Projekte

● Effizienz durch langfristige Sicherung vorhandener Investitionen und optimale Ausschöpfung der Ressourcen

Sie finden SINETPLAN im Internet (https://www.siemens.com/sinetplan).

Page 19: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID-Regelung 18 Funktionshandbuch, 11/2019, A5E35300226-AE

Grundlagen zum Regeln 2 2.1 Regelkreis und Stellglieder

Regelkreis Ein einfaches Beispiel für einen Regelkreis ist die Regelung der Raumtemperatur durch eine Heizung. Die Raumtemperatur wird mit einem Sensor gemessen und einem Regler zugeführt. Dieser vergleicht die aktuelle Raumtemperatur mit einem Sollwert und berechnet einen Ausgangswert (Stellwert) für die Ansteuerung der Heizung.

Ein korrekt eingestellter PID-Regler erreicht den Sollwert möglichst schnell und hält ihn dann konstant. Nach einer Änderung des Ausgangswerts ändert sich der Istwert häufig erst zeitlich verzögert. Dieses Verhalten soll durch den Regler ausgeglichen werden.

Stellglieder Das Stellglied ist Bestandteil des Regelkreises und wird vom Regler beeinflusst. Dadurch wird ein Masse- oder Energiefluss verändert.

Die folgende Tabelle gibt einen Überblick über den Einsatz der Stellglieder Einsatz für Stellglied flüssigen und gasförmigen Massefluss Ventil, Klappe, Schieber festen Massefluss, z. B. Schüttgüter Abzugschieber, Förderband, Vibratorrinne elektrischen Energiefluss Schaltkontakt, Schaltschütz, Relais, Thyristor

Stellwiderstand, Stelltransformator, Transistor

Page 20: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Grundlagen zum Regeln 2.1 Regelkreis und Stellglieder

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 19

Stellglieder werden folgendermaßen unterschieden:

● Proportionale Stellglieder mit stetigem Stellsignal

Proportional zum Ausgangswert werden Öffnungsgrade, Drehwinkel oder Positionen eingenommen. Der Ausgangswert wirkt innerhalb des Stellbereiches in analoger Weise auf den Prozess ein.

Zu den Stellgliedern dieser Gruppe gehören federbelastete pneumatische Antriebe, aber auch motorische Antriebe mit Stellungsrückmeldung, bei denen ein Stellungsregelkreis gebildet wird.

Der Ausgangswert wird von einem kontinuierlichen Regler erzeugt, z. B. PID_Compact.

● Proportionale Stellglieder mit pulsweitenmoduliertem Signal

Bei diesen Stellgliedern wird im Takt der Abtastzeit ein Impuls ausgegeben, dessen Länge proportional zum Ausgangswert ist. Das Stellglied - z. B. ein Heizwiderstand oder ein Kühlaggregat - wird taktsynchron je nach Ausgangswert unterschiedlich lange eingeschaltet.

Das Stellsignal kann entweder unipolar die Zustände "Ein" oder "Aus" annehmen oder bipolar z. B. die Werte "Auf/Zu", "Vorwärts/Rückwärts", "Beschleunigen/Bremsen" usw. repräsentieren.

Der Ausgangswert wird von einem Zweipunktregler erzeugt, z. B. PID_Compact mit Pulsweitenmodulation.

● Integral wirkende Stellglieder mit Dreipunktstellsignal

Häufig werden Stellglieder durch Motoren betätigt, bei denen die Einschaltdauer proportional zum Verstellweg des Drosselorgans ist. Dazu zählen z. B. Ventile, Klappen und Schieber. Trotz unterschiedlichster Bauformen ist diesen Stellgliedern gemeinsam, dass sie der Wirkung eines I-Anteils am Streckeneingang entsprechen.

Der Ausgangswert wird von einem Schrittregler erzeugt, z. B. PID_3Step.

Page 21: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Grundlagen zum Regeln 2.2 Regelstrecken

PID-Regelung 20 Funktionshandbuch, 11/2019, A5E35300226-AE

2.2 Regelstrecken Die Eigenschaften einer Regelstrecke sind durch verfahrenstechnische und maschinentechnische Gegebenheiten festgelegt und kaum zu beeinflussen. Ein gutes Regelergebnis kann nur erreicht werden durch Auswahl eines für diese Regelstrecke geeigneten Reglertyps und dessen Anpassung an das Zeitverhalten der Regelstrecke. Genaue Kenntnisse des Typs und der Kenndaten der Regelstrecke sind deshalb für die Konfiguration von P-, I- und D-Anteil des Reglers unerlässlich.

Regelstreckentypen Regelstrecken werden klassifiziert anhand Ihres Zeitverhaltens auf die sprunghafte Veränderung des Ausgangswerts.

Folgende Regelstrecken werden unterschieden:

● Regelstrecken mit Ausgleich

– P-Regelstrecken

– PT1-Regelstrecken

– PT2-Regelstrecken

● Regelstrecken ohne Ausgleich

● Regelstrecken mit und ohne Totzeit

Regelstrecken mit Ausgleich P-Regelstrecken

Bei Proportionalstrecken folgt der Istwert nahezu unverzögert dem Ausgangswert. Das Verhältnis von Istwert zu Ausgangswert wird angegeben durch den Proportionalbeiwert Gain der Regelstrecke.

Beispiele:

● Ventilschieber in einem Rohrsystem

● Spannungsteiler

● Untersetzung in Hydrauliksystemen

PT1-Regelstrecken

Bei einer PT1-Regelstrecke ändert sich der Istwert zunächst proportional zur Änderung des Ausgangswerts. Mit der Zeit ändert sich der Istwert langsamer - also verzögert - bis ein Endwert erreicht ist.

Beispiele:

● Feder-Dämpfer-System

● Ladung von RC-Gliedern

● Wasserbehälter, der mit Dampf aufgeheizt wird.

Häufig gelten gleiche Zeitkonstanten für Heiz- und Kühlvorgänge oder Lade- und Entladekurven. Unterscheiden sich die die Zeitkonstanten, wird die Regelung deutlich schwieriger.

Page 22: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Grundlagen zum Regeln 2.2 Regelstrecken

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 21

PT2-Regelstrecken

Bei einer PT2-Regelstrecke ändert sich der Istwert bei einem Ausgangswertsprung zunächst nicht, steigt dann mit zunehmender Steigung an und strebt danach mit abnehmender Steigung dem Sollwert zu. Die Regelstrecke zeigt ein proportionales Übertragungsverhalten mit Verzögerung 2. Ordnung.

Beispiele:

● Druckregelung

● Durchflussregelung

● Temperaturregelung

Regelstrecken ohne Ausgleich Regelstrecken ohne Ausgleich zeigen integrales Verhalten. Der Istwert strebt einen unendlich großen Wert an.

Beispiel:

● Zufluss einer Flüssigkeit in einen Behälter

Regelstrecken mit Totzeit Eine Totzeit ist immer die Lauf- oder Transportzeit, bis eine Änderung am Systemeingang am Systemausgang gemessen werden kann.

Bei Regelstrecken mit Totzeit ändert sich der Istwert um die Totzeit verspätet.

Beispiel:

Förderband

Page 23: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Grundlagen zum Regeln 2.3 Kennwerte der Regelstrecke

PID-Regelung 22 Funktionshandbuch, 11/2019, A5E35300226-AE

2.3 Kennwerte der Regelstrecke

Ermitteln des Zeitverhaltens aus der Sprungantwort Das Zeitverhalten der Regelstrecke kann durch den zeitlichen Verlauf des Istwerts x nach sprunghafter Änderung des Ausgangswerts y ermittelt werden. Die meisten Regelstrecken sind Regelstrecken mit Ausgleich.

Das Zeitverhalten lässt sich näherungsweise durch die Größen Verzugszeit Tu, Ausgleichszeit Tg und Maximalwert Xmax festlegen. Die Größen werden durch Anlegen von Tangenten an den Maximalwert und an den Wendepunkt der Sprungantwort ermittelt. Die Aufnahme der Übergangsfunktion bis zum Maximalwert ist in vielen Fällen nicht möglich, weil der Istwert bestimmte Werte nicht überschreiten darf. Dann wird die Anstiegsgeschwindigkeit vmax zur Identifikation der Regelstrecke verwendet (vmax = Δx/Δt).

Page 24: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Grundlagen zum Regeln 2.3 Kennwerte der Regelstrecke

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 23

Die Regelbarkeit der Regelstrecke lässt sich abschätzen aus dem Verhältnis Tu/Tg bzw. Tu × vmax/Xmax Es gilt:

Streckentyp Tu / Tg Regelbarkeit der Regelstrecke I < 0,1 gut regelbar II 0,1 bis 0,3 noch regelbar III > 0,3 schwer regelbar

Einfluss der Totzeit auf die Regelbarkeit einer Regelstrecke Eine Regelstrecke mit Totzeit und Ausgleich zeigt folgendes Verhalten auf einen Sprung des Ausgangswerts.

Tt Totzeit Tu Verzugszeit Tg Ausgleichszeit y Ausgangswert x Istwert

Die Regelbarkeit einer Regelstrecke mit Totzeit und Ausgleich wird durch das Verhältnis von Tt zu Tg bestimmt. Tt muss klein sein gegenüber Tg. Es muss gelten:

Tt/Tg ≤ 1

Reaktionsgeschwindigkeit von Regelstrecken Nach folgenden Werten lassen sich Regelstrecken beurteilen:

Tu < 0,5 min, Tg < 5 min = schnelle Regelstrecke

Tu > 0,5 min, Tg > 5 min = langsame Regelstrecke

Page 25: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Grundlagen zum Regeln 2.3 Kennwerte der Regelstrecke

PID-Regelung 24 Funktionshandbuch, 11/2019, A5E35300226-AE

Kennwerte einiger Regelstrecken

Physikalische Größe

Regelstrecke Verzugszeit Tu Ausgleichszeit Tg Anstiegsge-schwindigkeit vmax

Temperatur kleiner, elektrisch beheizter Ofen 0,5 bis 1 min 5 bis 15 min bis 60 K/min großer, elektrisch beheizter Glühofen 1 bis 5 min 10 bis 20 min bis 20 K/min großer, gasbeheizter Glühofen 0,2 bis 5 min 3 bis 60 min 1 bis 30 K/min Destillationskolonne 1 bis 7 min 40 bis 60 min 0,1 bis 0,5 °C/s Autoklaven (2,5 m3) 0,5 bis 0,7 min 10 bis 20 min keine Angabe Hochdruck-Autoklaven 12 bis 15 min 200 bis 300 min keine Angabe Dampfüberhitzer 30 s bis 2,5 min 1 bis 4 min 2 °C/s Spritzgießmaschinen 0,5 bis 3 min 3 bis 30 min 5 bis 20 K/min Extruder 1 bis 6 min 5 bis 60 min Verpackungsmaschinen 0,5 bis 4 min 3 bis 40 min 2 bis 35 K/min Raumbeheizung 1 bis 5 min 10 bis 60 min 1 °C/min

Durchfluss Rohrleitung mit Gas 0 bis 5 s 0,2 bis 10 s nicht relevant Rohrleitung mit Flüssigkeit keine keine

Druck Gasrohrleitung keine 0,1 s nicht relevant Trommelkessel mit Gas– oder Ölfeuerung keine 150 s nicht relevant Trommelkessel mit Schlägermühlen 1 bis 2 min 2 bis 5 min nicht relevant

Behälterstand (Niveau)

Trommelkessel 0,6 bis 1 min keine Angabe 0,1 bis 0,3 cm/s

Drehzahl Kleiner elektrischer Antrieb keine 0,2 bis 10 s nicht relevant Großer elektrischer Antrieb keine 5 bis 40 s nicht relevant Dampfturbine keine keine Angabe 50 min–1

Elektrische Spannung

Kleine Generatoren keine 1 bis 5 s nicht relevant Große Generatoren keine 5 bis 10 s nicht relevant

Page 26: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Grundlagen zum Regeln 2.4 Impulsregler

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 25

2.4 Impulsregler

Zweipunktregler ohne Rückführung Zweipunktregler haben als Schaltfunktion den Zustand "EIN" und "AUS". Dies entspricht 100 % bzw. 0 % Leistung. Durch dieses Verhalten tritt eine Dauerschwingung des Istwerts x um den Sollwert w auf.

Amplitude und Periodendauer der Schwingung wachsen mit dem Verhältnis von Verzugszeit Tu zur Ausgleichszeit Tg der Regelstrecke. Diese Regler werden hauptsächlich für einfache Temperaturregelungen (z. B. für elektrisch direktbeheizte Öfen) oder als Grenzwertmelder eingesetzt.

Die folgende Grafik zeigt die Kennlinie eines Zweipunktreglers

① EIN ② AUS Yh Stellbereich w Sollwert

Page 27: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Grundlagen zum Regeln 2.4 Impulsregler

PID-Regelung 26 Funktionshandbuch, 11/2019, A5E35300226-AE

Die folgende Grafik zeigt die Regelfunktion eines Zweipunktreglers

① Übergangsfunktion ohne Regler ② Übergangsfunktion mit Zweipunktregler Tu Verzugszeit Tg Ausgleichszeit XSd Schaltdifferenz

Page 28: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Grundlagen zum Regeln 2.4 Impulsregler

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 27

Zweipunktregler mit Rückführung Das Verhalten von Zweipunktreglern bei Regelstrecken mit größeren Verzugszeiten, z. B. Öfen, bei denen der Nutzraum von der Heizung getrennt ist, lässt sich durch elektronische Rückführungen verbessern.

Durch die Rückführung wird die Schaltfrequenz des Reglers erhöht, wodurch sich die Amplitude des Istwerts verkleinert. Außerdem können die Regelergebnisse im dynamischen Betrieb wesentlich verbessert werden. Die Grenze für die Schaltfrequenz ist durch die Ausgangsstufe gesetzt. Sie sollte bei mechanischen Stellgliedern wie Relais und Schützen 1 bis 5 Schaltungen pro Minute nicht überschreiten. Bei binären Spannungs- und Stromausgängen mit nachgeschalteten Thyristor- oder Triacstellern können hohe Schaltfrequenzen gewählt werden, die weit über der Grenzfrequenz der Regelstrecke liegen.

Da die Schaltimpulse am Ausgang der Regelstrecke nicht mehr feststellbar sind, erhält man vergleichbare Ergebnisse wie mit kontinuierlichen Reglern.

Der Ausgangswert wird durch Pulsweitenmodulation des Ausgangswerts eines kontinuierlichen Reglers erzeugt

Zweipunktregler mit Rückführung werden zur Temperaturregelung in Öfen, an Verarbeitungsmaschinen der Kunststoff-, Textil-, Papier-, Gummi- und Lebensmittelindustrie sowie für Heiz- und Kühlgeräte eingesetzt.

Dreipunktregler Dreipunktregler werden für Heizen/Kühlen eingesetzt. Diese Regler haben als Ausgang zwei Schaltpunkte. Durch elektronische Rückführstrukturen werden die Regelergebnisse optimiert. Einsatzgebiete für derartige Regler sind Wärme-, Kälte-, Klimakammern und Werkzeugbeheizungen für kunststoffverarbeitende Maschinen.

Page 29: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Grundlagen zum Regeln 2.4 Impulsregler

PID-Regelung 28 Funktionshandbuch, 11/2019, A5E35300226-AE

Die folgende Grafik zeigt die Kennlinie eines Dreipunktreglers

y Ausgangswert, z. B.

y11 = 100 % Heizung y12 = 0 % Heizung y21 = 0 % Kühlung y22 = 100 % Kühlung

x Physikalische Größe des Istwerts, z. B. Temperatur in °C w Sollwert xSh Abstand zwischen Schaltpunkt 1 und Schaltpunkt 2

Page 30: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Grundlagen zum Regeln 2.5 Führungs- und Störverhalten

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 29

2.5 Führungs- und Störverhalten

Führungsverhalten Der Istwert soll einer Änderung des Sollwerts möglichst schnell folgen. Das Führungsverhalten ist umso besser, je kürzer die Zeit, in der der neue Sollwert erreicht wird und je geringer die Schwankung des Istwerts ist.

x Istwert w Sollwert

Page 31: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Grundlagen zum Regeln 2.6 Regelverhalten bei unterschiedlichen Rückführstrukturen

PID-Regelung 30 Funktionshandbuch, 11/2019, A5E35300226-AE

Störverhalten Der Sollwert wird durch Störgrößen beeinflusst. Der Regler muss die dadurch auftretende Regeldifferenz möglichst schnell beseitigen. Das Störverhalten ist umso besser, je kürzer die Zeit, in der der Sollwert wieder erreicht wird und je geringer die Schwankung des Istwerts.

x Istwert w Sollwert ① Einwirken einer Störgröße

Eine Störgröße wird durch Regler mit I–Anteil ausgeglichen. Die Qualität der Regelung wird durch eine konstant wirkende Störgröße nicht verringert, da die Regeldifferenz relativ konstant ist. Eine dynamische Störgröße beeinflusst die Qualität der Regelung stärker, da die Regeldifferenz schwankt. Erst über den sich langsam aufbauenden I-Anteil wird die Regeldifferenz wieder abgebaut.

Eine messbare Störgröße kann in den Regelkreis einfließen. Die Reaktion des Reglers kann dadurch erheblich beschleunigt werden.

2.6 Regelverhalten bei unterschiedlichen Rückführstrukturen

Regler-Verhaltensweisen Je genauer der Regler an das Zeitverhalten der Regelstrecke angepasst ist, desto genauer stellt er den Sollwert ein und reagiert optimal auf Störgrößen.

Die Rückführschaltung kann Proportional-Verhalten (P), Proportional-Differential-Verhalten (PD), Proportional-Integral-Verhalten (PI) oder Proportional-Integral-Differential-Verhalten (PID) haben.

Wenn eine Sprungfunktion auf die Regeldifferenz gegeben wird, entstehen je nach Regler unterschiedliche Sprungantworten.

Page 32: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Grundlagen zum Regeln 2.6 Regelverhalten bei unterschiedlichen Rückführstrukturen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 31

Sprungantwort eines P-Reglers

① Regeldifferenz ② Ausgangswert eines kontinuierlichen Reglers ③ Ausgangswert eines Impulsreglers

Formel für P-Regler

Ausgangswert und Regeldifferenz sind direkt proportional, d. h.:

Ausgangswert = Proportionalbeiwert × Regeldifferenz

y = GAIN × x

Page 33: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Grundlagen zum Regeln 2.6 Regelverhalten bei unterschiedlichen Rückführstrukturen

PID-Regelung 32 Funktionshandbuch, 11/2019, A5E35300226-AE

Sprungantwort eines PD-Reglers

① Regeldifferenz ② Ausgangswert eines kontinuierlichen Reglers ③ Ausgangswert eines Impulsreglers TM_LAG Verzögerung des D-Anteils

Page 34: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Grundlagen zum Regeln 2.6 Regelverhalten bei unterschiedlichen Rückführstrukturen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 33

Formel für PD-Regler

Für die Sprungantwort des PD-Reglers im Zeitbereich gilt:

t = Zeitdauer seit dem Sprung der Regeldifferenz

Der D-Anteil erzeugt einen Ausgangswert in Abhängigkeit von der Geschwindigkeit, mit der sich der Istwert ändert. Ein reiner D-Anteil ist nicht zur Regelung geeignet, da nur eine Änderung des Istwerts eine Änderung des Ausgangswerts bewirkt. Wenn der Istwert konstant bleibt, ändert sich auch der Ausgangswert nicht mehr.

In Verbindung mit einem P-Anteil verbessert der D-Anteil das Störverhalten. Störungen werden nicht vollkommen ausgeregelt. Vorteilhaft ist das gute dynamische Verhalten. Beim Anfahren und bei der Sollwertänderung wird ein gut gedämpfter, schwingungsfreier Übergang erreicht.

Ein Regler mit D-Anteil ist nicht angebracht, wenn eine Regelstrecke pulsierende Messgrößen hat, z. B. bei Druck- oder Durchflussregelungen.

Page 35: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Grundlagen zum Regeln 2.6 Regelverhalten bei unterschiedlichen Rückführstrukturen

PID-Regelung 34 Funktionshandbuch, 11/2019, A5E35300226-AE

Sprungantwort eines PI-Reglers

① Regeldifferenz ② Ausgangswert eines kontinuierlichen Reglers ③ Ausgangswert eines Impulsreglers

Ein I-Anteil im Regler summiert die Regeldifferenz über die Zeit. Dadurch wird der Regler so lange nachstellen, bis die Regeldifferenz aufgehoben ist. Bei einem reinen P-Regler tritt eine dauerhafte Regeldifferenz auf. Diese kann durch einen I-Anteil im Regler behoben werden.

In der Praxis ist, je nach Anforderung an das Regelverhalten, eine Kombination aus P-Anteil, I-Anteil und D-Anteil ideal. Das Zeitverhalten der einzelnen Anteile lässt sich durch die Reglerparameter Proportionalbeiwert GAIN, Nachstellzeit TI (I-Anteil) und Vorhaltezeit TD (D-Anteil) beschreiben.

Page 36: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Grundlagen zum Regeln 2.6 Regelverhalten bei unterschiedlichen Rückführstrukturen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 35

Formel für PI-Regler

Für die Sprungantwort des PI-Reglers im Zeitbereich gilt:

t = Zeitdauer seit dem Sprung der Regeldifferenz

Page 37: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Grundlagen zum Regeln 2.6 Regelverhalten bei unterschiedlichen Rückführstrukturen

PID-Regelung 36 Funktionshandbuch, 11/2019, A5E35300226-AE

Sprungantwort eines PID-Reglers

① Regeldifferenz ② Ausgangswert eines kontinuierlichen Reglers ③ Ausgangswert eines Impulsreglers TM_LAG Verzögerung des D-Anteils Ti Integrationszeit

Page 38: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Grundlagen zum Regeln 2.6 Regelverhalten bei unterschiedlichen Rückführstrukturen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 37

Formel für PID-Regler

Für die Sprungantwort des PID-Reglers im Zeitbereich gilt:

t = Zeitdauer seit dem Sprung der Regeldifferenz

Verhalten einer Regelstrecke bei verschiedenen Reglerstrukturen Die meisten in der Verfahrenstechnik vorkommenden Regelungen lassen sich mit einem Regler mit PI-Verhalten beherrschen. Bei langsamen Regelstrecken mit großer Verzugszeit, z. B. Temperaturregelungen, lässt sich das Regelergebnis durch einen Regler mit PID-Verhalten verbessern.

① Kein Regler ② PID-Regler ③ PD-Regler w Sollwert x Istwert

Regler mit PI- und PID-Verhalten haben den Vorteil, dass nach dem Einschwingen der Istwert keine Abweichung zum Sollwert zeigt. Der Istwert schwingt beim Anfahren über den Sollwert.

Page 39: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Grundlagen zum Regeln 2.7 Wahl der Reglerstruktur bei gegebener Regelstrecke

PID-Regelung 38 Funktionshandbuch, 11/2019, A5E35300226-AE

2.7 Wahl der Reglerstruktur bei gegebener Regelstrecke

Auswahl der geeigneten Reglerstrukturen Sie erhalten nur dann ein optimales Regelergebnis, wenn Sie eine Reglerstruktur wählen, die zur Regelstrecke passt und sich innerhalb bestimmter Grenzen an die Regelstrecke anpassen lässt.

Die folgende Tabelle gibt einen Überblick, welche Reglerstruktur für welche Regelstrecke geeignet ist.

Regelstrecke Reglerstruktur

P PD PI PID

nur mit Totzeit ungeeignet ungeeignet geeignet ungeeignet

PT1 mit Totzeit ungeeignet ungeeignet gut geeignet gut geeignet

PT2 mit Totzeit ungeeignet bedingt geeignet gut geeignet gut geeignet

höhere Ordnung ungeeignet ungeeignet bedingt geeignet gut geeignet

ohne Ausgleich gut geeignet gut geeignet gut geeignet gut geeignet

Die folgende Tabelle gibt einen Überblick, welche Reglerstruktur für welche physikalische Größe geeignet ist.

Physikalische Größe

Reglerstruktur

P PD PI PID

bleibende Regeldifferenz keine bleibende Regeldifferenz Temperatur für geringe An-

sprüche und bei P-Strecken mit Tu/Tg < 0,1

gut geeignet für gehobene Ansprüche die am bes-ten geeigneten Reglerstrukturen (von besonders angepassten Spezialreglern abgesehen)

Druck geeignet, wenn keine nennens-werte Verzugszeit

ungeeignet für gehobene Ansprüche die am bes-ten geeigneten Reglerstrukturen (von besonders angepassten Spezialreglern abgesehen)

Durchfluss ungeeignet, weil erforderlicher GAIN-Bereich meist zu groß

ungeeignet brauchbar, aber I-Regler allein oft besser

kaum erforderlich

Page 40: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Grundlagen zum Regeln 2.8 Einstellung der PID-Parameter

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 39

2.8 Einstellung der PID-Parameter

Faustformel für die Parametereinstellung

Reglerstruktur Einstellung P GAIN ≈ vmax × Tu [ °C ] PI GAIN ≈ 1,2 × vmax × Tu [ °C ]

TI ≈ 4 × Tu [ min ] PD GAIN ≈ 0,83 × vmax × Tu [ °C ]

TD ≈ 0,25 × vmax × Tu [ min ] TM_LAG ≈ 0,5 × TD[ min ]

PID GAIN ≈ 0,83 × vmax × Tu [ °C ] TI ≈ 2 × Tu [ min ] TD ≈ 0,4 × Tu [ min ] TM_LAG ≈ 0,5 × TD[ min ]

PD/PID GAIN ≈ 0,4 × vmax × Tu [ °C ] TI ≈ 2 × Tu [ min ] TD ≈ 0,4 × Tu [ min ] TM_LAG ≈ 0,5 × TD[ min ]

Statt vmax = ∆x / ∆t kann Xmax / Tg eingesetzt werden.

Bei Reglern mit PID-Struktur ist die Einstellung von Nachstellzeit und Vorhaltezeit meist miteinander gekoppelt.

Das Verhältnis TI / TD liegt zwischen 4 und 5 und ist für die meisten Regelstrecken optimal.

Das Nichteinhalten der Vorhaltezeit TD ist bei PD-Reglern unkritisch.

Bei PI- oder PID-Reglern treten Regelschwingungen auf, wenn die Nachstellzeit TI um mehr als die Hälfte zu klein gewählt wurde.

Eine zu große Nachstellzeit verlangsamt das Ausregeln von Störungen. Man kann nicht erwarten, dass die Regelkreise nach den ersten Parametereinstellungen "optimal" arbeiten. Erfahrungsgemäß ist ein Nachjustieren immer dann erforderlich, wenn eine "schwer regelbare" Strecke mit Tu / Tg > 0,3 vorliegt.

Page 41: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID-Regelung 40 Funktionshandbuch, 11/2019, A5E35300226-AE

Projektieren eines Software-Reglers 3 3.1 Übersicht der Software-Regler

Für die Projektierung eines Software-Reglers benötigen Sie eine Anweisung mit dem Regelalgorithmus und ein Technologieobjekt. Das Technologieobjekt für einen Software-Regler entspricht dem Instanz-DB der Anweisung. Im Technologieobjekt wird die Konfiguration des Reglers gespeichert. Im Unterschied zu den Instanz-DBs anderer Anweisungen, werden Technologieobjekte nicht bei den Programmresourcen ablegt, sondern unter CPU > Technologieobjekte.

Technologieobjekte und Anweisungen CPU Bibliothek Anweisung Technologieob-

jekt Beschreibung

S7-1200 Compact PID PID_Compact V1.x

PID_Compact V1.x

Universeller PID-Regler mit integrierter Op-timierung

S7-1200 PID_3Step V1.x PID_3Step V1.x PID-Regler für Ventile mit integrierter Opti-mierung

S7-1500 S7-1200 V4.x

PID_Compact V2.x

PID_Compact V2.x

Universeller PID-Regler mit integrierter Op-timierung

S7-1500 S7-1200 V4.x

PID_3Step V2.x PID_3Step V2.x PID-Regler für Ventile mit integrierter Opti-mierung

S7-1500 ≥ V1.7 S7-1200 ≥ V4.1

PID_Temp V1.x PID_Temp V1.x Universeller PID-Temperaturregler mit inte-grierter Optimierung

S7-1500/300/400 PID Basisfunkti-onen

CONT_C CONT_C Kontinuierlicher Regler S7-1500/300/400 CONT_S CONT_S Schrittregler für integrierende Stellglieder S7-1500/300/400 PULSEGEN - Pulsgenerator für proportional wirkende

Stellglieder S7-1500/300/400 TCONT_CP TCONT_CP Kontinuierlicher Temperaturregler mit Puls-

generator S7-1500/300/400 TCONT_S TCONT_S Temperaturregler für integrierende Stellglie-

der S7-300/400 PID Self-Tuner TUN_EC TUN_EC Optimierung eines kontinuierlichen Reglers S7-300/400 TUN_ES TUN_ES Optimierung eines Schrittreglers

Page 42: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.1 Übersicht der Software-Regler

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 41

CPU Bibliothek Anweisung Technologieob-jekt

Beschreibung

S7-300/400 Standard PID Control (Options-paket PID Professional)

PID_CP PID_CP Kontinuierlicher Regler mit Pulsegenerator S7-300/400 PID_ES PID_ES Schrittregler für integrierende Stellglieder S7-300/400 LP_SCHED - Regleraufrufe verteilen

S7-300/400 Modular PID Control (Op-tionspaket PID Professional)

A_DEAD_B - Störsignale aus Regeldifferenz filtern S7-300/400 CRP_IN - Analoges Eingangssignal skalieren S7-300/400 CRP_OUT - Analoges Ausgangssignal skalieren S7-300/400 DEAD_T - Eingangssignal verzögert ausgeben S7-300/400 DEADBAND - Kleine Schwankungen des Istwerts unter-

drücken S7-300/400 DIF - Eingangssignal über die Zeit differenzieren S7-300/400 ERR_MON Regeldifferenz überwachen S7-300/400 INTEG - Eingangssignal über die Zeit integrieren S7-300/400 LAG1ST - Verzögerungsglied 1. Ordnung S7-300/400 LAG2ND - Verzögerungsglied 2. Ordnung S7-300/400 LIMALARM - Grenzwerte melden S7-300/400 LIMITER - Stellwert begrenzen S7-300/400 LMNGEN_C - Stellwert für kontinuierlichen Regler ermitteln S7-300/400 LMNGEN_S - Stellwert für Schrittregler ermitteln S7-300/400 NONLIN - Gebersignal linearisieren S7-300/400 NORM - Istwert physikalisch normieren S7-300/400 OVERRIDE - Stellwerte von 2 PID-Reglern auf 1 Stellglied

schalten S7-300/400 PARA_CTL - Parametersätze umschalten S7-300/400 PID - PID Algorithmus S7-300/400 PUSLEGEN_M - Pulse für proportional wirkende Stellglieder

generieren S7-300/400 RMP_SOAK - Sollwerte nach Zeitplan vorgeben S7-300/400 ROC_LIM - Änderungsgeschwindigkeit begrenzen S7-300/400 SCALE_M - Istwert skalieren S7-300/400 SP_GEN - Sollwert manuell vorgeben S7-300/400 SPLT_RAN - Stellwertbereiche aufteilen S7-300/400 SWITCH - Analogwerte schalten S7-300/400 LP_SCHED_M - Regleraufrufe verteilen

Page 43: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.2 Schritte für das Projektieren eines Software-Reglers

PID-Regelung 42 Funktionshandbuch, 11/2019, A5E35300226-AE

3.2 Schritte für das Projektieren eines Software-Reglers Alle SW-Regler projektieren Sie nach demselben Schema: Schritt Beschreibung 1 Technologieobjekt hinzufügen (Seite 42) 2 Technologieobjekt konfigurieren (Seite 44) 3 Anweisung im Anwenderprogramm aufrufen (Seite 46) 4 Technologieobjekt in Gerät laden (Seite 47) 5 Software-Regler in Betrieb nehmen (Seite 49) 6 Optimierte PID-Parameter im Projekt speichern (Seite 49) 7 Werte vergleichen (Seite 52) 8 Instanzen eines Technologieobjektes anzeigen (Seite 79)

3.3 Technologieobjekte hinzufügen

Technologieobjekt im Projektnavigator hinzufügen Beim Hinzufügen eines Technologieobjekts wird ein Instanz-DB der Anweisung zu diesem Technologieobjekt erzeugt. In diesem Instanz-DB wird die Konfiguration des Technologieobjekts hinterlegt.

Voraussetzung Ein Projekt mit einer CPU ist angelegt.

Vorgehen Um ein Technologieobjekt hinzuzufügen, gehen Sie folgendermaßen vor:

1. Öffnen Sie in der Projektnavigation den Ordner der CPU.

2. Öffnen Sie den Ordner "Technologieobjekte".

3. Doppelklicken Sie "Neues Objekt hinzufügen". Der Dialog "Neues Objekt hinzufügen" wird geöffnet.

4. Klicken Sie auf die Schaltfläche "PID-Regler". Alle verfügbaren PID-Regler für diese CPU werden angezeigt.

5. Wählen Sie die Anweisung für das Technologieobjekt, z. B. PID_Compact.

6. Geben Sie im Eingabefeld "Name" einen individuellen Namen für das Technologieobjekt ein.

7. Wählen Sie die Option "manuell", falls Sie die vorgeschlagene Datenbausteinnummer des Instanz-DB ändern möchten.

8. Klicken Sie auf "Weitere Informationen", wenn Sie eigene Informationen zum Technologieobjekt hinterlegen möchten.

9. Bestätigen Sie mit "OK".

Page 44: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.3 Technologieobjekte hinzufügen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 43

Ergebnis Das neue Technologieobjekt wird erzeugt und in der Projektnavigation im Ordner "Technologieobjekte" abgelegt. Das Technologieobjekt wird verwendet, wenn die Anweisung zu diesem Technologieobjekt in einem Weckalarm-OB aufgerufen wird.

Hinweis

Sie können im unteren Bereich des Dialogfelds das Optionskästchen "Neu hinzufügen und öffnen" aktivieren. Dadurch wird die Konfiguration des Technologieobjekts nach dem Hinzufügen geöffnet.

Page 45: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.4 Technologieobjekte konfigurieren

PID-Regelung 44 Funktionshandbuch, 11/2019, A5E35300226-AE

3.4 Technologieobjekte konfigurieren Die Eigenschaften eines Technologieobjekts auf einer S7-1200 CPU können Sie auf zwei Arten konfigurieren.

● Im Inspektorfenster des Programmiereditors

● Im Konfigurationseditor

Die Eigenschaften eines Technologieobjekts auf einer S7-300/400 CPU können Sie nur im Konfigurationseditor konfigurieren.

Inspektorfenster des Programmiereditors Im Inspektorfenster des Programmiereditors können Sie nur die Parameter konfigurieren, die für den Betrieb notwendig sind.

Auch im Online-Modus werden die Offline-Werte der Parameter angezeigt. Sie können die Online-Werte nur in Fenster Inbetriebnahme ändern.

Um das Inspektorfenster eines Technologieobjekts zu öffnen, gehen Sie folgendermaßen vor:

1. Öffnen Sie in der Projektnavigation den Ordner "Programmbausteine".

2. Doppelklicken Sie den Baustein (Weckalarm-OB), in welchem Sie die Anweisung des SW-Reglers aufrufen. Der Baustein wird im Arbeitsbereich geöffnet.

3. Klicken Sie auf die Anweisung des SW-Reglers.

4. Wählen Sie im Inspektorfenster nacheinander die Register "Eigenschaften" und "Konfiguration".

Konfigurationsfenster Für jedes Technologieobjekt gibt es ein spezifisches Konfigurationsfenster, in dem Sie alle Eigenschaften konfigurieren.

Um das Konfigurationsfenster eines Technologieobjekts zu öffnen, gehen Sie folgendermaßen vor:

1. Öffnen Sie in der Projektnavigation den Ordner "Technologieobjekte".

2. Öffnen Sie in der Projektnavigation das Technologieobjekt.

3. Doppelklicken Sie das Objekt "Konfiguration".

Page 46: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.4 Technologieobjekte konfigurieren

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 45

Symbole Symbole in der Bereichsnavigation des Konfigurations- und Inspektorfensters zeigen weitere Details zur Vollständigkeit der Konfiguration:

Die Konfiguration enthält Voreinstellungswerte und ist vollständig. Die Konfiguration enthält ausschließlich Voreinstellungswerte. Mit diesen Voreinstellungswerten ist der Einsatz des Technologieobjekts ohne weitere Änderung möglich.

Die Konfiguration enthält vom Anwender definierte oder automatisch angepasste Werte und ist vollständig Alle Eingabefelder der Konfiguration enthalten gültige Werte, und mindestens ein Voreinstel-lungswert wurde geändert.

Die Konfiguration ist unvollständig oder fehlerhaft Mindestens ein Eingabefeld oder eine Klappliste enthält keinen oder einen ungültigen Wert. Das entsprechende Feld oder die Klappliste wird rot hinterlegt. Beim Anklicken zeigt Ihnen die Roll-out-Fehlermeldung die Fehlerursache an.

Die Eigenschaften eines Technologieobjekts sind detailliert im Kapitel für das Technologieobjekt beschrieben.

Page 47: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.5 Anweisung im Anwenderprogramm aufrufen

PID-Regelung 46 Funktionshandbuch, 11/2019, A5E35300226-AE

3.5 Anweisung im Anwenderprogramm aufrufen Die Anweisung des Software-Reglers muss in einem Weckalarm-OB aufgerufen werden. Die Abtastzeit des Software-Reglers wird durch den zeitlichen Abstand der Aufrufe im Weckalarm-OB bestimmt.

Voraussetzung Der Weckalarm-OB ist angelegt und die Zykluszeit des Weckalarm-OBs ist korrekt konfiguriert.

Vorgehen Um die Anweisung im Anwenderprogramm aufzurufen, gehen Sie folgendermaßen vor:

1. Öffnen Sie in der Projektnavigation den Ordner der CPU.

2. Öffnen Sie den Ordner "Programmbausteine".

3. Doppelklicken Sie den Weckalarm-OB. Der Baustein wird im Arbeitsbereich geöffnet.

4. Öffnen Sie im Fenster "Anweisungen" die Gruppe "Technologie" und den Ordner "PID Control". Der Ordner enthält alle Anweisungen für Software-Regler, die auf der CPU projektiert werden können.

5. Wählen Sie eine Anweisung und ziehen Sie diese per Drag & Drop in Ihren Weckalarm-OB. Der Dialog "Aufrufoptionen" wird geöffnet.

6. Wählen Sie aus der Liste "Name" ein Technologieobjekt oder geben Sie den Namen für ein neues Technologieobjekt ein.

Ergebnis Wenn das Technologieobjekt noch nicht besteht, wird es hinzugefügt. Die Anweisung wird in den Weckalarm-OB eingefügt. Das Technologieobjekt ist diesem Aufruf der Anweisung zugeordnet.

Page 48: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.6 Technologieobjekte in Gerät laden

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 47

3.6 Technologieobjekte in Gerät laden Eine neue oder geänderte Konfiguration des Technologieobjekts muss für den Onlinebetrieb in die CPU geladen werden. Beim Laden remanenter Daten gelten folgende Besonderheiten:

● Software (nur Änderungen)

– S7-1200, S7-1500: Remanente Daten bleiben erhalten.

– S7-300/400: Remanente Daten werden sofort aktualisiert. Die CPU geht nicht in Stop.

● PLC-Programm in Gerät laden und zurücksetzen

– S7-1200, S7-1500: Remanente Daten werden beim nächsten Übergang von Stop in RUN aktualisiert. Das PLC-Programm kann nur vollständig geladen werden.

– S7-300/400: Remanente Daten werden beim nächsten Übergang von Stop in RUN aktualisiert.

Remanente Daten auf eine CPU S7-1200 oder S7-1500 laden

Hinweis

Das Laden und zurücksetzen des PLC-Programms bei laufendem Anlagenbetrieb kann bei Funktionsstörungen oder Programmfehlern schwere Sach- und Personenschäden verursachen!

Vergewissern Sie sich, dass keine gefährlichen Zustände eintreten können, bevor Sie das PLC-Programm laden und zurücksetzen!

Um remanente Daten zu laden, gehen Sie folgendermaßen vor:

1. Selektieren Sie den Eintrag der CPU in der Projektnavigation.

2. Wählen Sie im Menü "Online" den Befehl "PLC-Programm in Gerät laden und zurücksetzen".

– Falls Sie bisher noch keine Online-Verbindung hergestellt hatten, wird der Dialog "Erweitertes Laden" geöffnet. Stellen Sie in diesem Fall alle notwendigen Parameter für die Verbindung ein und klicken Sie auf "Laden".

– Wurde die Online-Verbindung definiert, werden die Projektdaten übersetzt, wenn dies erforderlich ist und der Dialog "Vorschau laden" wird geöffnet. In diesem Dialog werden Ihnen Meldungen angezeigt und für das Laden notwendige Aktionen vorgeschlagen.

3. Kontrollieren Sie die Meldungen.

Sobald das Laden möglich ist, wird die Schaltfläche "Laden" aktiv.

4. Klicken Sie auf "Laden".

Das vollständige PLC-Programm wird geladen und der Dialog "Ergebnisse laden" geöffnet. Dieser Dialog zeigt Ihnen den Status und die Aktionen nach dem Ladevorgang an.

Page 49: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.6 Technologieobjekte in Gerät laden

PID-Regelung 48 Funktionshandbuch, 11/2019, A5E35300226-AE

5. Wenn die Baugruppen nach dem Laden direkt wieder gestartet werden sollen, aktivieren Sie das Optionskästchen "Alle starten".

6. Schließen Sie den Dialog "Ergebnisse laden" mit "Fertig stellen".

Ergebnis Das komplette PLC-Programm wird in das Gerät geladen. Bausteine, die nur online im Gerät existieren, werden gelöscht. Durch das Laden aller betroffenen Bausteine und das Löschen nicht benötigter Bausteine im Gerät werden Inkonsistenzen zwischen den Bausteinen im Anwenderprogramm vermieden.

Ob der Ladevorgang erfolgreich war, können Sie an den Meldungen im Inspektorfenster unter "Info > Allgemein" erkennen.

Page 50: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.7 Software-Regler in Betrieb nehmen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 49

3.7 Software-Regler in Betrieb nehmen

Vorgehen Um den Arbeitsbereich "Inbetriebnahme" eines Technologieobjekts zu öffnen, gehen Sie folgendermaßen vor:

1. Öffnen Sie in der Projektnavigation den Ordner "Technologieobjekte".

2. Öffnen Sie in der Projektnavigation das Technologieobjekt.

3. Doppelklicken Sie das Objekt "Inbetriebnahme".

Die Funktionen zur Inbetriebnahme sind für jeden Regler spezifisch und dort beschrieben.

3.8 Optimierte PID-Parameter im Projekt speichern Der Software-Regler wird in der CPU optimiert. Dadurch stimmen die Werte im Instanz-DB auf der CPU nicht mehr mit denen im Projekt überein.

Um die PID-Parameter im Projekt mit den optimierten PID-Parametern in der CPU zu aktualisieren, gehen Sie folgendermaßen vor:

Voraussetzung ● Eine Onlineverbindung zur CPU ist aufgebaut und die CPU befindet sich im

Betriebzustand "RUN".

● Die Funktionen des Inbetriebnahmefensters sind mit der Schaltfläche "Start" freigegeben.

Vorgehen 1. Öffnen Sie in der Projektnavigation den Ordner der CPU.

2. Öffnen Sie den Ordner "Technologieobjekte".

3. Öffnen Sie ein Technologieobjekt.

4. Doppelklicken Sie auf "Inbetriebnahme".

5. Klicken Sie auf das Symbol "PID-Parameter laden".

6. Speichern Sie das Projekt.

Ergebnis Die aktuell wirkenden PID-Parameter werden in den Projektdaten gesichert. Beim erneuten Laden der Projektdaten in die CPU werden die optimierten Parameter verwendet.

Page 51: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.9 Arbeiten mit Multiinstanzobjekten

PID-Regelung 50 Funktionshandbuch, 11/2019, A5E35300226-AE

3.9 Arbeiten mit Multiinstanzobjekten Wenn ein Funktionsbaustein (FB) einen weiteren FB aufruft, können seine Instanzdaten auch im Instanz-DB des aufrufenden FB gespeichert werden. Diese Art des Bausteinaufrufs wird als Multiinstanz bezeichnet. Die PID-Software-Regler unterstützen diese Art des Aufrufs und können als Multiinstanz verwendet werden.

Vorteile Die Verwendung von Multiinstanzen bietet folgende Vorteile: ● Gute Strukturierungsmöglichkeit ● Geringere Zahl von Instanz-DBs ● Individuell konfigurierte FBs als Vorlage für einen Software-Regler, die Sie beliebig oft

instanziieren können

Nachteile Die Verwendung von Multiinstanzen für PID-Software-Regler bietet folgende Nachteile gegenüber der Verwendung als Einzelinstanz: ● Keine Unterstützung von Openess für PID Multiinstanzobjekte ● Kein Vergleich von PID Multiinstanzobjekten in einem Vergleichseditor. Der Vergleich ist

nur über den Block möglich, in dem die Multiinstanzobjekte enthalten sind. ● Kein technologieobjektspezifisches Inspektorfenster des Programmiereditors für den

Aufruf der Anweisungen PID_Compact, PID_3Step und PID_Temp

Konfiguration von Multiinstanzobjekten Die Konfiguration von PID Multiinstanzobjekten wird nicht über "Geräte" geöffnet, wie dies bei Einzelinstanzobjekten der Fall ist.

Um die Konfiguration von Multiinstanzobjekten zu öffnen, gehen Sie folgendermaßen vor: 1. Wählen Sie in der Projektnavigation den FB oder Instanz-DB mit dem Multiinstanzobjekt. 2. Klicken Sie in der Detailansicht auf die Registerkarte "Technologieobjekte". 3. Öffnen Sie die Konfiguration des Multiinstanzobjekts.

Hinweis

Der Konfigurationseditor bietet für Multiinstanzobjekte in einem FB keine Online-Funktionalität. Diese Einschränkung gibt es bei Instanz-DBs nicht.

Inbetriebnahme von Multiinstanzobjekten Die Inbetriebnahme von Multiinstanzobjekten funktioniert wie die Konfiguration. 1. Wählen Sie in der Projektnavigation den Instanz-DB mit dem Multiinstanzobjekt. 2. Klicken Sie in der Detailansicht auf die Registerkarte "Technologieobjekte". 3. Öffnen Sie die Inbetriebnahme des Multiinstanzobjekts.

Diese Funktionalität gibt es bei FBs nicht.

Page 52: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.10 Werte vergleichen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 51

3.10 Werte vergleichen

3.10.1 Vergleichsanzeige und Randbedingungen Die Funktion "Werte vergleichen" bietet folgende Möglichkeiten:

● Vergleich der konfigurierten Startwerte des Projekts mit den Startwerten in der CPU und den Aktualwerten

● Direktes Bearbeiten der Aktualwerte und der Startwerte des Projekts

● Sofortiges Erkennen und Anzeigen von Eingabefehlern mit Hilfestellungen zur Korrektur

● Sicherung der Aktualwerte im Projekt

● Übertragen der Startwerte des Projekts in die CPU als Aktualwerte

Symbole und Bedienelemente Folgende Symbole und Bedienelemente stehen zur Verfügung: Symbol Funktion

Startwert in CPU ist gleich dem konfigurierten Startwert im Projekt

Startwert in CPU ist ungleich dem konfigurierten Startwert im Projekt

Der Vergleich Startwert in CPU und konfiguriertem Startwert im Projekt kann nicht durchgeführt werden

Mindestens einer der beiden Vergleichswerte ist technologisch oder syntaktisch falsch.

Momentaufnahme der Beobachtungswerte erstellen und Einstellwerte dieser Moment-aufnahme als Startwerte übernehmen

Startwerte als Aktualwerte laden (Einstellwerte initialisieren)

Dialog "Werte vergleichen" wird geöffnet

Randbedingungen Die Funktion "Werte vergleichen" ist uneingeschränkt verfügbar für S7-1200 und S7-1500.

Für S7-300 und S7-400 gilt folgende Einschränkung:

Im Beobachtungsmodus kann eine S7-300/S7-400 die Startwerte nicht in dIe CPU übertragen. Diese Werte können mit "Werte vergleichen" nicht online angezeigt werden.

Die Aktualwerte des Technologieobjekts werden angezeigt und sind direkt veränderbar.

Page 53: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.10 Werte vergleichen

PID-Regelung 52 Funktionshandbuch, 11/2019, A5E35300226-AE

3.10.2 Werte vergleichen Im Folgenden wird das Vorgehen am Beispiel der "PID-Parameter" gezeigt.

Voraussetzungen ● Ein Projekt mit einem Software-Regler ist konfiguriert.

● Das Projekt ist in die CPU geladen.

● Im Projektnavigator ist der Konfigurationsdialog geöffnet.

Vorgehen 1. Öffnen Sie in der Projektnavigation den gewünschten Software-Regler.

2. Doppelklicken Sie auf das Objekt "Konfiguration".

3. Navigieren Sie im Konfigurationsfenster zum Dialog "PID-Parameter".

4. Klicken Sie auf das Symbol , um den Beobachtungsmodus zu aktivieren.

Die Symbole und Bedienelemente (Seite 51) der Funktion "Werte vergleichen" werden hinter den Parametern angezeigt.

5. Klicken Sie in das Eingabefeld des gewünschten Parameters und ändern Sie die Parameterwerte manuell durch direkte Eingabe.

– Wenn der Hintergrund des Eingabefelds grau ist, sind die Werte nur lesbar, nicht änderbar.

– Um im Dialog "PID-Parameter" die Werte zu ändern, aktivieren Sie vorher die manuelle Eingabe durch Anklicken des Optionskästchens "Manuelle Eingabe aktivieren".

6. Klicken Sie auf das Symbol , um den Dialog der Startwerte zu öffnen.

Dieser Dialog zeigt zwei Werte des Parameters an:

– Startwert in CPU: Im oberen Teil wird der Startwert in der CPU angezeigt.

– Startwert im Projekt: Im unteren Teil wird der konfigurierte Startwert im Projekt angezeigt.

7. Tragen Sie den gewünschten Wert in das Eingabefeld für das Projekt ein.

Page 54: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.10 Werte vergleichen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 53

Fehlererkennung Die Eingabe von fehlerhaften Werten wird erkannt. In diesem Fall werden Hilfestellungen zur Korrektur angeboten.

Wenn Sie einen syntaktisch falschen Wert eingeben, wird unter dem Parameter ein Rollout mit der entsprechenden Fehlermeldung geöffnet. Der falsche Wert wird nicht übernommen.

Wenn Sie einen technologisch falschen Wert eingeben, wird ein Dialog geöffnet, in dem der Fehler gemeldet und eine Korrekturinformation angezeigt wird:

● Durch Klicken auf "Nein" können Sie die Korrektur annehmen und Ihre Eingabe korrigieren.

● Durch Klicken auf "OK" übernehmen Sie den falschen Wert.

ACHTUNG

Fehlfunktion des Regler

Technologisch falsche Werte können zu Fehlfunktionen des Reglers führen.

Aktualwerte sichern Durch Klicken auf das Symbol übertragen Sie die Aktualwerte des Reglers in die Startwerte Ihres konfigurierten Projekts.

Projektwerte in die CPU übertragen Durch Klicken auf das Symbol übertragen Sie die konfigurierten Werte Ihres Projekts in die CPU.

VORSICHT

Personen- und Sachschäden verhindern!

Das Laden und Zurücksetzen des Anwenderprogramms bei laufendem Anlagenbetrieb kann bei Funktionsstörungen oder Programmfehlern schwere Sach- und Personenschäden verursachen!

Vergewissern Sie sich, dass keine gefährlichen Zustände eintreten können, bevor Sie das Anwenderprogramm laden und zurücksetzen!

Page 55: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.11 Parametersicht

PID-Regelung 54 Funktionshandbuch, 11/2019, A5E35300226-AE

3.11 Parametersicht

3.11.1 Einführung in die Parametersicht Die Parametersicht bietet Ihnen eine Gesamtübersicht über alle relevanten Parameter eines Technologieobjektes. Sie erhalten einen Überblick über die Parametereinstellungen und können diese komfortabel im Offline- und Online-Betrieb ändern.

① Register "Parametersicht"

② Funktionsleiste (Seite 56)

③ Navigation (Seite 57)

④ Parametertabelle (Seite 58)

Funktionsumfang Um die Parameter der Technologieobjekte zu analysieren und gezielt beobachten und steuern zu können, stehen folgende Funktionen zu Verfügung.

Anzeigefunktionen:

● Anzeige der Parameterwerte im Offline- und Online-Betrieb

● Anzeige von Statusinformationen der Parameter

● Anzeige von Werteabweichungen und Möglichkeit der direkten Korrektur

● Anzeige von Konfigurationsfehlern

● Anzeige von Wertänderungen in Folge von Parameterabhängigkeiten

Page 56: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.11 Parametersicht

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 55

● Anzeige aller Speicherwerte eines Parameters: Startwert in CPU, Startwert im Projekt, Beobachtungswert

● Anzeige des Parametervergleichs der Speicherwerte eines Parameters

Bedienfunktionen:

● Navigation, um schnell zwischen den Parametern und Parameterstrukturen zu wechseln.

● Text-Filter, um bestimmte Parameter schneller zu finden.

● Sortierfunktion, um die Reihenfolge von Parameter und Parametergruppen dem Bedarf anzupassen.

● Speicherfunktion, um strukturelle Einstellungen der Parametersicht zu sichern.

● Parameterwerte online beobachten und steuern.

● Anzeigeformat des Werts umstellen.

● Momentaufnahme von Parameterwerten der CPU speichern, um kurzzeitige Situationen abzubilden und darauf zu reagieren.

● Momentaufnahme von Parameterwerten als Startwerte übernehmen.

● Geänderte Startwerte in die CPU laden.

● Vergleichsfunktionen, um Parameterwerte miteinander zu vergleichen.

Gültigkeit Die hier beschriebene Parametersicht steht für folgende Technologieobjekte zur Verfügung:

● PID_Compact

● PID_3Step

● PID_Temp

● CONT_C (nur S7-1500)

● CONT_S (nur S7-1500)

● TCONT_CP (nur S7-1500)

● TCONT_S (nur S7-1500)

● TO_Axis_PTO (S7-1200 Motion Control)

● TO_Positioning_Axis (S7-1200 Motion Control)

● TO_CommandTable_PTO (S7-1200 Motion Control)

● TO_CommandTable (S7-1200 Motion Control)

Page 57: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.11 Parametersicht

PID-Regelung 56 Funktionshandbuch, 11/2019, A5E35300226-AE

3.11.2 Aufbau der Parametersicht

3.11.2.1 Funktionsleiste In der Funktionsleiste der Parametersicht sind folgende Funktionen anwählbar:

Symbol Funktion Erläuterung

Alle beobachten Startet das Beobachten der sichtbaren Parameter in der aktiven

Parametersicht (Online-Betrieb).

Momentaufnahme der Beobachtungswerte erstellen und Einstell-werte dieser Moment-aufnahme als Startwerte übernehmen

Übernimmt die aktuellen Beobachtungswerte in die Spalte “Moment-aufnahme“ und aktualisiert die Startwerte im Projekt. Nur im Online-Betrieb bei PID_Compact, PID_3Step und PID_Temp.

Startwerte der Einstell-werte als Aktualwerte laden (Einstellwerte initialisieren)

Überträgt die im Projekt aktualisierten Startwerte in die CPU. Nur im Online-Betrieb bei PID_Compact, PID_3Step und PID_Temp.

Momentaufnahme der Beobachtungswerte erstellen

Übernimmt die aktuellen Beobachtungswerte in die Spalte “Moment-aufnahme“. Nur im Online-Betrieb.

Alle ausgewählten Pa-rameter sofort und ein-malig steuern

Dieser Befehl wird einmalig und schnellstmöglich ausgeführt, ohne Bezug zu einer bestimmten Stelle im Anwenderprogramm. Nur im Online-Betrieb.

Navigationsstruktur auswählen

Wechselt zwischen der Funktionsorientierten Navigation und Daten-orientierten Navigation.

Textfilter... Nach Eingabe einer Zeichenkette: Anzeige aller Parameter, die die

eingegebene Zeichenkette in einer der aktuell sichtbaren Spalten enthalten.

Vergleichswerte aus-wählen

Auswahl, welche Parameterwerte im Online-Betrieb miteinander verglichen werden sollen (Startwert im Projekt, Startwert in CPU, Momentaufnahme) Nur im Online-Betrieb.

Anordnung merken Speichert Ihre vorgenommenen Anzeigeeinstellungen der Parame-tersicht (z.B. ausgewählte Navigationsstruktur, aktivierte Tabellen-spalten, usw.)

Page 58: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.11 Parametersicht

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 57

3.11.2.2 Navigation Innerhalb des Registers "Parametersicht" sind folgende Navigationsstrukturen alternativ anwählbar:

Navigation Erläuterung Funktionsorien-tierte Navigation

In der Funktionsorientierten Navigation basiert die Struktur der Parameter auf der Struktur im Konfigurationsdialog (Register "Funktionssicht"), Inbetriebnahmedialog und Diagnosedialog. Die letzte Gruppe "Andere Parameter" enthält alle übrigen Para-meter des Technologieobjektes.

Datenorientierte Navigation

In der Datenorientierten Navigation basiert die Struktur der Para-meter auf der Struktur im Instanz-DB/Technologie-DB. Die letzte Gruppe "Andere Parameter" enthält diejenigen Parame-ter, die nicht im Instanz-DB/Technologie-DB enthalten sind.

Über die Klappliste "Navigationsstruktur auswählen" können Sie die Navigationsstruktur umstellen.

Page 59: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.11 Parametersicht

PID-Regelung 58 Funktionshandbuch, 11/2019, A5E35300226-AE

3.11.2.3 Parametertabelle Die folgende Tabelle zeigt die Bedeutung der einzelnen Spalten der Parametertabelle. Die Spalten können Sie bei Bedarf ein- oder ausblenden.

● Spalte "Offline" = X: Spalte ist im Offline-Betrieb sichtbar.

● Spalte "Online"= X: Spalte ist im Online-Betrieb sichtbar (Online-Verbindung zur CPU).

Spalte Erläuterung Offline Online Name in Funktions-sicht

Name des Parameters in der Funktionssicht. Das Anzeigefeld ist leer bei Parametern, die nicht über das Technologieobjekt konfiguriert werden.

X X

Vollständiger Name im DB

Vollständiger Pfad des Parameters im Instanz-DB/Technologie-DB. Das Anzeigefeld ist leer bei Parametern, die nicht im Instanz-DB/Technologie-DB enthalten sind.

X X

Name im DB Name des Parameters im Instanz-DB/Technologie-DB. Wenn der Parameter Teil einer Struktur oder UDT ist, dann ist der Präfix ". ./" hinzugefügt. Das Anzeigefeld ist leer bei Parametern, die nicht im Instanz-DB/technologie-DB enthalten sind.

X X

Status der Konfigu-ration

Anzeige der Vollständigkeit der Konfiguration durch Statussymbole. siehe Status der Konfiguration (offline) (Seite 68)

X

Vergleichsergebnis Ergebnis der Funktion "Werte vergleichen".

Diese Spalte wird eingeblendet, wenn eine Online-Verbindung besteht und die Schaltfläche "Alles beobachten" angewählt ist.

X

Startwert im Projekt Konfigurierter Startwert im Projekt. Fehleranzeige bei syntaktisch oder technologisch falsch eingegebenen Wer-ten.

X X

Defaultwert Wert, mit dem der Parameter vorbelegt ist. Das Anzeigefeld ist leer bei Parametern, die nicht im Instanz-DB/Technologie-DB enthalten sind.

X X

Momentaufnahme Momentaufnahme der aktuellen Werte in der CPU (Beobachtungswerte). Fehleranzeige bei technologisch falschen Werten.

X X

Startwert in CPU Startwert in der CPU.

Diese Spalte wird eingeblendet, wenn eine Online-Verbindung besteht und die Schaltfläche "Alles beobachten" angewählt ist. Fehleranzeige bei technologisch falschen Werten.

X

Beobachtungswert Aktueller Wert in der CPU.

Diese Spalte wird eingeblendet, wenn eine Online-Verbindung besteht und die Schaltfläche "Alles beobachten" angewählt ist. Fehleranzeige bei technologisch falschen Werten.

X

Page 60: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.11 Parametersicht

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 59

Spalte Erläuterung Offline Online Steuerwert Wert, mit dem der Beobachtungswert geändert werden soll.

Diese Spalte wird eingeblendet, wenn eine Online-Verbindung besteht und die Schaltfläche "Alles beobachten" angewählt ist. Fehleranzeige bei syntaktisch oder technologisch falsch eingegebenen Wer-ten.

X

Auswahl Steuerwert

Auswahl der Steuerwerte, die mit Hilfe der Schaltfläche "Alle ausgewählten Parameter sofort und einmalig steuern" übertragen werden sollen. Diese Spalte wird zusammen mit der Spalte "Steuerwert" eingeblendet.

X

Minimalwert Technologisch kleinster Wert des Parameters. Ist der Minimalwert von anderen Parametern abhängig, dann wird er be-stimmt: • Offline: Von den Startwerten im Projekt. • Online: Von den Beobachtungswerten.

X X

Maximalwert Technologisch höchster Wert des Parameters. Ist der Maximalwert von anderen Parametern abhängig, dann wird er be-stimmt: • Offline: Von den Startwerten im Projekt. • Online: Von den Beobachtungswerten.

X X

Einstellwert Kennzeichnet den Parameter als Einstellwert. Diese Parameter können online initialisiert werden.

X X

Datentyp Datentyp des Parameters. Das Anzeigefeld ist leer bei Parametern, die nicht im Instanz-DB/Technologie enthalten sind.

X X

Remanenz Kennzeichnet den Wert als remanent. Die Werte remanenter Parameter bleiben auch nach Ausschalten der Versor-gungsspannung erhalten.

X X

Erreichbar aus HMI Zeigt an, ob HMI zur Laufzeit auf diesen Parameter zugreifen kann. X X Sichtbar in HMI Zeigt an, ob der Parameter in der Auswahlliste von HMI per Voreinstellung

sichtbar ist. X X

Kommentar Kurzbeschreibung des Parameters. X X

Siehe auch Werte vergleichen (Seite 51)

Page 61: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.11 Parametersicht

PID-Regelung 60 Funktionshandbuch, 11/2019, A5E35300226-AE

3.11.3 Parametersicht öffnen

Voraussetzung Das Technologieobjekt ist im Projektnavigator hinzufügt, d.h. der zugehörige Instanz-DB/Technologie-DB der Anweisung ist erzeugt.

Vorgehen 1. Öffnen Sie in der Projektnavigation den Ordner "Technologieobjekte".

2. Öffnen Sie in der Projektnavigation das Technologieobjekt.

3. Doppelklicken Sie das Objekt "Konfiguration".

4. Wählen Sie in der rechten oberen Ecke das Register "Parametersicht".

Ergebnis Die Parametersicht wird geöffnet. In der Parametertabelle wird jeder angezeigte Parameter durch eine Tabellenzeile repräsentiert.

Die anzeigbaren Parametereigenschaften (Tabellenspalten) sind abhängig davon, ob die Parametersicht im Offline- oder Online-Betrieb arbeitet.

Zusätzlich können Sie gezielt einzelne Tabellenspalten ein- und ausblenden.

Siehe auch Voreinstellung der Parametersicht (Seite 61)

Page 62: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.11 Parametersicht

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 61

3.11.4 Voreinstellung der Parametersicht

Voreinstellungen Für ein effektives Arbeiten mit der Parametersicht können Sie die Parameterdarstellung anpassen und die vorgenommen Einstellungen speichern.

Es sind folgende Anpassungen möglich und speicherbar:

● Spalten ein- und ausblenden

● Spaltenbreite ändern

● Reihenfolge der Spalten ändern

● Navigation umschalten

● Parametergruppe in der Navigation wählen

● Vergleichswerte auswählen

Spalten ein- und ausblenden Um Spalten in der Parametertabelle ein- oder auszublenden, gehen Sie folgendermaßen vor:

1. Positionieren Sie den Mauszeiger in der Kopfzeile der Parametertabelle.

2. Wählen Sie im Kontextmenü den Befehl "Anzeigen/Verbergen". Die Auswahl der verfügbaren Spalten wird angezeigt.

3. Um eine Spalte einzublenden, aktivieren Sie das Optionskästchen der Spalte.

4. Um eine Spalte auszublenden, deaktivieren Sie das Optionskästchen der Spalte.

oder

1. Positionieren Sie den Mauszeiger in der Kopfzeile der Parametertabelle.

2. Wählen Sie im Kontextmenü den Befehl "Alle Spalten anzeigen", wenn alle Spalten des Offline- oder Online-Betriebes angezeigt werden sollen.

Einige Spalten können nur im Online-Betrieb eingeblendet werden: siehe Parametertabelle (Seite 58).

Page 63: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.11 Parametersicht

PID-Regelung 62 Funktionshandbuch, 11/2019, A5E35300226-AE

Spaltenbreite ändern Um die Breite einer Spalte dem Inhalt anzupassen, so dass alle Texte in den Zeilen lesbar sind, gehen Sie folgendermaßen vor:

1. Positionieren Sie den Mauszeiger in der Kopfzeile der Parametertabelle rechts neben der zu optimierenden Spalte, bis der Mauszeiger die Form eines Kreuzes annimmt.

2. Doppelklicken Sie auf diese Stelle.

oder

1. Öffnen Sie das Kontextmenü auf der Kopfzeile der Parametertabelle.

2. Klicken Sie auf

– "Spaltenbreite optimieren" oder

– "Breite aller Spalten optimieren".

Bei zu schmal eingestellten Spalten wird der komplette Inhalt einzelner Felder eingeblendet, wenn Sie den Mauszeiger über dem betreffenden Feld kurze Zeit stehen lassen.

Reihenfolge der Spalten ändern Die Spalten der Parametertabelle sind beliebig platzierbar.

Um die Reihenfolge der Spalten zu ändern, gehen Sie folgendermaßen vor:

1. Klicken Sie auf den Spaltenkopf und ziehen Sie ihn per Drag&Drop an die gewünschte Stelle.

Wenn Sie die Maustaste loslassen, wird die Spalte an der neuen Position verankert.

Navigation umschalten Um die Anzeigestruktur der Parameter umzuschalten, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste “Navigationsstruktur auswählen“ die gewünschte Navigation aus:

– Datenorientierte Navigation

– Funktionsorientierte Navigation

Siehe auch Navigation (Seite 57).

Parametergruppe in der Navigation wählen Innerhalb der gewählten Navigation können Sie wählen zwischen der Anzeige “Alle Parameter“ oder der Anzeige einer gewünschten unterlagerten Parametergruppe.

1. Klicken Sie in der Navigation auf die gewünschte Parametergruppe.

In der Parametertabelle werden nur die Parameter der Parametergruppe angezeigt.

Page 64: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.11 Parametersicht

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 63

Vergleichswerte auswählen (online) Um die Vergleichswerte für die Funktion “Werte vergleichen“ einzustellen, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste “Vergleichswerte auswählen“ die gewünschten Vergleichswerte aus:

– Startwert im Projekt / Startwert in CPU

– Startwert im Projekt / Momentaufnahme

– Startwert in CPU / Momentaufnahme

Defaultmäßig ist die Option “Startwert im Projekt / Startwert in CPU“ eingestellt.

Voreinstellung der Parametersicht speichern Um obige Anpassungen der Parametersicht zu speichern, gehen Sie folgendermaßen vor:

1. Passen Sie die Parametersicht nach Ihren Bedürfnissen an.

2. Klicken Sie auf die Schaltfläche “Anordnung merken“ rechts oben in der Parametersicht.

3.11.5 Arbeiten mit der Parametersicht

3.11.5.1 Übersicht Die folgende Tabelle gibt einen Überblick über die nachfolgend beschriebenen Funktionen der Parametersicht im Online- und Offline-Betrieb.

● Spalte "Offline" = X: Diese Funktion ist im Offline-Betrieb möglich.

● Spalte "Online" = X: Diese Funktion ist im Online-Betrieb möglich.

Funktion/Aktion Offline Online Parametertabelle filtern (Seite 64) X X Parametertabelle sortieren (Seite 65) X X Parameterdaten in andere Editoren übernehmen (Seite 65) X X Fehler anzeigen (Seite 66) X X Startwerte im Projekt bearbeiten (Seite 66) X X Status der Konfiguration (offline) (Seite 68) X Werte in der Parametersicht online beobachten (Seite 69) X Momentaufnahme der Beobachtungswerte erstellen (Seite 72) X Werte steuern (Seite 73) X Werte vergleichen (Seite 75) X Werte aus dem Online-Programm als Startwerte übernehmen (Seite 77) X Einstellwerte im Online-Programm initialisieren (Seite 78) X

Page 65: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.11 Parametersicht

PID-Regelung 64 Funktionshandbuch, 11/2019, A5E35300226-AE

3.11.5.2 Parametertabelle filtern Die Parameter in der Parametertabelle können Sie auf folgende Arten filtern:

● Mit dem Textfilter

● Mit den Untergruppen der Navigation

Beide Filtermethoden sind gleichzeitig anwendbar.

Mit dem Textfilter Gefiltert werden kann nach Texten, die in der Parametertabelle sichtbar sind. D.h. es kann nur nach Texten in angezeigten Parameterzeilen und eingeblendeten Spalten gefiltert werden.

1. Geben Sie im Eingabefeld “Textfilter...“ die gewünschte Zeichenkette ein, nach der gefiltert werden soll.

Die Parametertabelle zeigt nur noch diejenigen Parameter an, in denen die Zeichenkette enthalten ist.

Die Textfilterung wird zurückgesetzt:

● Bei Anwahl einer anderen Parametergruppe in der Navigation.

● Bei Wechsel zwischen Datenorientierter und Funktionsorientierter Navigation.

Mit den Untergruppen der Navigation 1. Klicken Sie in der Navigation auf die gewünschte Parametergruppe, z.B. "Static".

In der Parametertabelle werden nur noch die Static-Parameter angezeigt. Sie können bei einigen Gruppen der Navigation weitere Untergruppen anwählen.

2. Klicken Sie in der Navigation auf “Alle Parameter“, wenn alle Parameter wieder angezeigt werden sollen.

Page 66: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.11 Parametersicht

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 65

3.11.5.3 Parametertabelle sortieren Die Werte der Parameter sind zeilenweise angeordnet. Die Parametertabelle ist nach jeder angezeigten Spalte sortierbar.

● In Spalten mit numerischen Werten wird nach der Höhe des numerischen Wertes sortiert.

● In Text-Spalten wird alphabetisch sortiert.

Spaltenweise sortieren 1. Positionieren Sie den Mauszeiger in der Kopfzelle der gewünschten Spalte.

Der Hintergrund dieser Zelle wird blau markiert.

2. Klicken Sie auf den Spaltenkopf.

Ergebnis Die ganze Parametertabelle wird nach der markierten Spalte sortiert. Im Spaltenkopf erscheint ein Dreieck mit Spitze nach oben.

Durch wiederholtes Klicken auf den Spaltenkopf wird die Sortierung wie folgt geändert:

● Symbol “▲”: Parametertabelle wird aufsteigend sortiert.

● Symbol “▼”: Parametertabelle wird absteigend sortiert.

● Kein Symbol: Die Sortierung wird wieder aufgehoben. Die Parametertabelle nimmt die defaultmäßige Anzeige an.

Bei der Sortierung wird der Präfix “../“ in der Spalte “Name im DB“ ignoriert.

3.11.5.4 Parameterdaten in andere Editoren übernehmen Nach Anwahl einer ganzen Parameterzeile der Parametertabelle können Sie mit

● Drag&Drop

● <Strg+C>/<Strg+V>

● Kopieren/Einfügen per Kontextmenü

Parameter in folgende Editoren des TIA-Portals übernehmen:

● In den Programmeditor

● In die Beobachtungstabelle

● In die Signaltabelle für Trace

Der Parameter wird mit vollständigen Namen eingefügt: vgl. Angabe in Spalte “Vollständiger Name im DB“.

Page 67: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.11 Parametersicht

PID-Regelung 66 Funktionshandbuch, 11/2019, A5E35300226-AE

3.11.5.5 Fehler anzeigen

Fehleranzeige Parametrierfehler, die zu Übersetzungsfehlern führen (z.B. Grenzwertüberschreitung), werden in der Parametersicht angezeigt.

Bei jeder Eingabe eines Wertes in der Parametersicht wird die technologische und syntaktische Korrektheit sofort überprüft und angezeigt.

Fehlerhafte Werte werden angezeigt durch:

● Rotes Fehlersymbol in den Spalten "Status der Konfiguration" (Offline-Betrieb) bzw. "Vergleichsergebnis" (Online-Betrieb, abhängig von der gewählten Vergleichsart)

und/oder

● Tabellenfeld mit rotem Hintergrund

Bei Klick auf das fehlerhafte Feld: Roll-out-Fehlermeldung mit Angabe des zulässigen Wertebereiches oder der erforderlichen Syntax (Format)

Übersetzungsfehler Von der Fehlermeldung des Compilers kann direkt die Parametersicht (Funktionsorientierte Navigation) mit dem fehlerverursachenden Parameter geöffnet werden, bei denjenigen Parametern, die nicht im Konfigurationsdialog angezeigt werden.

3.11.5.6 Startwerte im Projekt bearbeiten Mit der Parametersicht können Sie im Offline-Betrieb und Online-Betrieb die Startwerte im Projekt bearbeiten:

● Wertänderungen nehmen Sie in der Spalte “Startwert im Projekt“ der Parametertabelle vor.

● In der Spalte “Status der Konfiguration“ der Parametertabelle wird der Fortschritt der Konfiguration durch die bekannten Statussymbole aus dem Konfigurationsdialog des Technologieobjektes angezeigt.

Randbedingungen ● Wenn vom Parameter, dessen Startwert geändert wurde, andere Parameter abhängen,

dann wird der Startwert der abhängigen Parameter ebenfalls angepasst.

● Wenn ein Parameter eines Technologieobjektes nicht editierbar ist, dann ist er auch in der Parametersicht nicht editierbar. Die Editierbarkeit eines Parameters kann auch von den Werten anderer Parameter abhängen.

Page 68: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.11 Parametersicht

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 67

Neue Startwerte definieren Um Startwerte für Parameter in der Parametersicht festzulegen, gehen Sie folgendermaßen vor:

1. Öffnen Sie die Parametersicht des Technologieobjektes.

2. Tragen Sie in die Spalte "Startwert im Projekt" die gewünschten Startwerte ein. Der Wert muss dem Datentyp des Parameters entsprechen und darf den Wertebereich des Parameters nicht überschreiten. In den Spalten “Maximalwert“ und “Minimalwert“ sind die Grenzwerte des Wertebereichs sichtbar.

In der Spalte "Status der Konfiguration" wird der “Fortschritt“ der Konfiguration durch farbliche Symbole angezeigt.

Siehe auch Status der Konfiguration (offline) (Seite 68)

Nach der Anpassung der Startwerte und dem Laden des Technologieobjekts in die CPU, nehmen die Parameter beim Anlauf den definierten Wert ein, sofern sie nicht als remanent deklariert sind (Spalte “Remanenz“).

Fehleranzeige Bei Eingabe eines Startwertes wird die technologische und syntaktische Korrektheit sofort überprüft und angezeigt:

Fehlerhafte Startwerte werden angezeigt durch

● Rotes Fehlersymbol in den Spalten "Status der Konfiguration" (Offline-Betrieb) bzw. "Vergleichsergebnis" (Online-Betrieb, abhängig von der gewählten Vergleichsart)

und/oder

● Roten Hintergrund im Feld “Startwert im Projekt“ Bei Klick auf das fehlerhafte Feld: Roll-out-Fehlermeldung mit Angabe des zulässigen Wertebereiches oder der notwendigen Syntax (Format)

Fehlerhafte Startwerte korrigieren 1. Korrigieren Sie fehlerhafte Startwerte mit Hilfe der Informationen aus der Roll-out-

Fehlermeldung.

Rotes Fehlersymbol, roter Feldhintergrund und Roll-out-Fehlermeldung werden nicht mehr angezeigt.

Nur mit fehlerfreien Startwerten kann das Projekt erfolgreich übersetzt werden.

Page 69: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.11 Parametersicht

PID-Regelung 68 Funktionshandbuch, 11/2019, A5E35300226-AE

3.11.5.7 Status der Konfiguration (offline) Der Status der Konfiguration wird durch Symbole angezeigt:

● In Spalte “Status der Konfiguration“ in der Parametertabelle

● In der Navigationsstruktur der Funktionsorientierten Navigation bzw. Datenorientierten Navigation

Symbol in Spalte “Status der Konfiguration“ Symbol Bedeutung

Der Startwert des Parameters entspricht dem Defaultwert und ist gültig. Es wurde noch kein Startwert vom Anwender definiert.

Der Startwert des Parameters enthält einen vom Anwender definierten oder automa-tisch angepassten Wert. Der Startwert unterscheidet sich vom Defaultwert. Der Start-wert ist fehlerfrei und gültig.

Der Startwert des Parameters ist ungültig (syntaktischer oder technologischer Fehler). Das Eingabefeld ist rot hinterlegt. Beim Anklicken zeigt Ihnen die Roll-out-Fehlermeldung die Fehlerursache an.

Nur bei S7-1200 Motion Control: Der Startwert des Parameters ist gültig, enthält jedoch Warnhinweise. Das Eingabefeld ist gelb hinterlegt.

Der Parameter ist in der aktuellen Konfiguration nicht relevant.

Symbol in der Navigation Die Symbole in der Navigation zeigen den “Fortschritt“ der Konfiguration in gleicher Weise an wie im Konfigurationsdialog des Technologieobjektes.

Siehe auch Technologieobjekte konfigurieren (Seite 44)

Page 70: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.11 Parametersicht

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 69

3.11.5.8 Werte in der Parametersicht online beobachten Sie können die Werte, die die Parameter des Technologieobjektes aktuell in der CPU einnehmen (Beobachtungswerte), direkt in der Parametersicht beobachten.

Voraussetzungen ● Eine Online-Verbindung besteht.

● Das Technologieobjekt ist in die CPU geladen.

● Die Programmbearbeitung ist aktiv (CPU im "RUN").

● Der Parametersicht des Technologieobjekt ist geöffnet.

Vorgehen

1. Starten Sie die Beobachtung, indem Sie auf das Symbol klicken.

Sobald die Parametersicht online ist, werden folgende Spalten zusätzlich angezeigt:

– Vergleichsergebnis

– Startwert in CPU

– Beobachtungswert

– Steuerwert

– Auswahl Steuerwert

Die Spalte "Beobachtungswert" zeigt die aktuellen Parameterwerte auf der CPU an.

Bedeutung der weiteren Spalten: siehe Parametertabelle (Seite 58)

2. Sie beenden die Beobachtung, indem Sie erneut auf das Symbol klicken.

Anzeige Alle ausschließlich online verfügbaren Spalten haben einen orangen Hintergrund:

● Werte in den hellorangen Zellen sind änderbar.

● Werte in Zellen mit dunklorangem Hintergrund sind nicht änderbar.

Page 71: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.11 Parametersicht

PID-Regelung 70 Funktionshandbuch, 11/2019, A5E35300226-AE

3.11.5.9 Anzeigeformat des Werts umstellen Das Anzeigeformat des Werts ist über das Kontextmenü einer Tabellenzeile in der Parametersicht des Technologieobjekts auswählbar.

Das Anzeigeformat der folgenden Werte kann sowohl im Online- als auch im Offline-Betrieb umgestellt werden:

● Startwert im Projekt

● Startwert in CPU

● Maximalwert

● Minimalwert

● Momentaufnahme

● Beobachtungswert

● Defaultwert

● Steuerwert

Das eingestellte Anzeigeformat gilt für alle Werte der Tabellenzeile.

Folgende Anzeigeformate des Werts sind änderbar:

● Voreinstellung

● Hex

● Oktal

● Bin

● Dec (+/-)

● DEC

Abhängig von dem in der Parametersicht ausgewählten Parameter sind nur die unterstützten Anzeigeformate auswählbar.

Page 72: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.11 Parametersicht

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 71

Voraussetzungen ● Die Parametersicht des Technologieobjekts ist geöffnet.

Vorgehen Um das Anzeigeformat des Werts umzustellen, gehen Sie folgendermaßen vor:

1. Selektieren Sie eine oder mehrere Tabellenzeilen, in der Sie das Anzeigeformat umstellen möchten.

2. Wählen Sie im Kontextmenü den Befehl "Anzeigeformat".

3. Wählen Sie das gewünschte Anzeigeformat aus.

Hinweis

Um das Anzeigeformat eines bestimmten Datentyps in mehreren Tabellenzeilen zu ändern, sortieren Sie die Parametersicht nach diesem Datentyp. Anschließend selektieren Sie die erste und letzte Tabellenzeile mit diesem Datentyp bei gedrückter <Shift>-Taste und ändern das Anzeigeformat für die selektierten Tabellenzeilen.

Page 73: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.11 Parametersicht

PID-Regelung 72 Funktionshandbuch, 11/2019, A5E35300226-AE

3.11.5.10 Momentaufnahme der Beobachtungswerte erstellen Sie können die aktuellen Werte des Technologieobjektes auf der CPU (Beobachtungswerte) sichern und in der Parametersicht anzeigen.

Voraussetzungen ● Eine Online-Verbindung besteht.

● Das Technologieobjekt ist in die CPU geladen.

● Die Programmbearbeitung ist aktiv (CPU im "RUN").

● Die Parametersicht des Technologieobjekts ist geöffnet.

● Die Schaltfläche “Alle beobachten“ ist aktiviert.

Vorgehen Um die aktuellen Parameterwerte anzuzeigen, gehen Sie folgendermaßen vor:

1. Klicken Sie in der Parametersicht auf das Symbol “Momentaufnahme der Beobachtungswerte erstellen".

Ergebnis Die aktuellen Beobachtungswerte werden einmalig in die Spalte "Momentaufnahme" der Parametertabelle übernommen.

Sie können die so "eingefrorenen" Werte analysieren, während die Beobachtungswerte in der Spalte "Beobachtungswerte" weiterhin aktualisiert werden.

Page 74: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.11 Parametersicht

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 73

3.11.5.11 Werte steuern Mit der Parametersicht können Sie Werte des Technologieobjektes in der CPU steuern.

Sie können dem Parameter einmalig Werte zuweisen (Steuerwert) und diese sofort steuern. Beim Ausführen wird der Steuerauftrag schnellstmöglich durchgeführt, ohne Bezug zu einer bestimmten Stelle im Anwenderprogramm.

GEFAHR

Gefahr beim Steuern:

Ein Verändern der Parameterwerte bei laufendem Anlagenbetrieb kann bei Funktionsstörungen oder Programmfehlern schwere Sach- und Personenschäden verursachen!

Vergewissern Sie sich, dass keine gefährlichen Zustände eintreten können, bevor Sie die Funktion "Steuern" ausführen.

Voraussetzungen ● Eine Online-Verbindung besteht.

● Das Technologieobjekt ist in die CPU geladen.

● Die Programmbearbeitung ist aktiv (CPU im "RUN").

● Die Parametersicht des Technologieobjekts ist geöffnet.

● Die Schaltfläche “Alle beobachten“ ist aktiviert.

● Der Parameter kann gesteuert werden (zugehöriges Feld in der Spalte "Steuerwert" hat hellorangen Hintergrund).

Vorgehen Um Parameter sofort zu steuern, gehen Sie folgendermaßen vor:

1. Tragen Sie die gewünschten Steuerwerte in die Spalte “Steuerwerte“ der Parametertabelle ein.

2. Prüfen Sie, ob das Optionskästchen für das Steuern in der Spalte "Auswahl Steuerwert" aktiviert ist.

Die Steuerwerte und zugehörige Optionskästchen abhängiger Parameter werden automatisch mit angepasst.

3. Klicken Sie auf das Symbol “Alle ausgewählten Parameter sofort und einmalig steuern".

Die ausgewählten Parameter werden einmalig und sofort mit den vorgegebenen Werten gesteuert und können in der Spalte "Bebachtungswerte" beobachtet werden. Die Optionskästchen für das Steuern in der Spalte "Auswahl Steuerwert" werden nach Durchführung des Steuerauftrags automatisch deaktiviert.

Page 75: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.11 Parametersicht

PID-Regelung 74 Funktionshandbuch, 11/2019, A5E35300226-AE

Fehleranzeige Bei Eingabe eines Steuerwertes wird die technologische und syntaktische Korrektheit sofort überprüft und angezeigt:

Fehlerhafte Steuerwerte werden angezeigt durch

● Roten Hintergrund im Feld “Steuerwert“

und

● Bei Klick auf das fehlerhafte Feld: Roll-out-Fehlermeldung mit Angabe des zulässigen Wertebereiches oder der notwendigen Syntax (Format)

Fehlerhafte Steuerwerte ● Technologisch falsche Steuerwerte können übertragen werden.

● Syntaktisch falsche Steuerwerte können nicht übertragen werden.

Page 76: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.11 Parametersicht

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 75

3.11.5.12 Werte vergleichen Über Vergleichsfunktionen können Sie die folgenden Speicherwerte eines Parameters vergleichen:

● Startwert im Projekt

● Startwert in CPU

● Momentaufnahme

Voraussetzungen ● Eine Online-Verbindung besteht.

● Das Technologieobjekt ist in die CPU geladen.

● Die Programmbearbeitung ist aktiv (CPU im "RUN").

● Die Parametersicht des Technologieobjekts ist geöffnet.

● Die Schaltfläche “Alle beobachten“ ist aktiviert.

Vorgehen Um die Startwerte auf den verschiedenen Zielsystemen zu vergleichen, gehen Sie folgendermaßen vor:

1. Klicken Sie auf das Symbol "Vergleichswerte auswählen".

Eine Auswahlliste mit den Vergleichsoptionen wird geöffnet:

– Startwert im Projekt - Startwert in CPU (Defaulteinstellung)

– Startwert im Projekt - Momentaufnahme

– Startwert in CPU - Momentaufnahme

2. Wählen Sie die gewünschte Vergleichsoption.

Die gewählte Vergleichsoption wird wie folgt ausgeführt:

– In den Kopfzellen der beiden zum Vergleich ausgewählten Spalten erscheint ein Waage-Zeichen.

– In der Spalte "Vergleichsergebnis" wird das Ergebnis des Vergleichs der gewählten Spalten durch Symbole angezeigt.

Page 77: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.11 Parametersicht

PID-Regelung 76 Funktionshandbuch, 11/2019, A5E35300226-AE

Symbol in Spalte "Vergleichsergebnis" Symbol Bedeutung

Die Vergleichswerte sind gleich und fehlerfrei.

Die Vergleichswerte sind ungleich und fehlerfrei.

Mindestens einer der beiden Vergleichswerte ist technologisch oder syntaktisch falsch.

Der Vergleich kann nicht durchgeführt werden. Mindestens einer der beiden Ver-gleichswerte ist nicht verfügbar (z.B. Momentaufnahme).

Der Wert ist nicht sinnvoll vergleichbar, da er in einer der Konfigurationen nicht relevant ist.

Symbol in der Navigation Die Symbole werden in gleicher Weise in der Navigation angezeigt, wenn mindestens für einen der Parameter unterhalb der angezeigten Navigationsstruktur das Vergleichsergebnis zutrifft.

Page 78: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.11 Parametersicht

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 77

3.11.5.13 Werte aus dem Online-Programm als Startwerte übernehmen Um in einem Schritt optimierte Werte aus der CPU als Startwerte in das Projekt zu übernehmen, erzeugen Sie eine Momentaufnahme der Beobachtungswerte. Als "Einstellwert" markierte Werte der Momentaufnahme werden anschließend als Startwerte in das Projekt übernommen.

Voraussetzungen ● Das Technologieobjekt ist vom Typ "PID_Compact", "PID_3Step" oder "PID_Temp".

● Eine Online-Verbindung besteht.

● Das Technologieobjekt ist in die CPU geladen.

● Die Programmbearbeitung ist aktiv (CPU im "RUN").

● Die Parametersicht des Technologieobjekts ist geöffnet.

● Die Schaltfläche “Alle beobachten“ ist aktiviert.

Vorgehen Um optimierte Werte aus der CPU zu übernehmen, gehen Sie folgendermaßen vor:

1. Klicken Sie auf das Symbol "Momentaufnahme der Beobachtungswerte erstellen und Einstellwerte dieser Momentaufnahme als Startwerte übernehmen".

Ergebnis Die aktuellen Beobachtungswerte werden in die Spalte "Momentaufnahme" übernommen und deren Einstellwerte als neue Startwerte in die Spalte "Startwert im Projekt" kopiert.

Hinweis Werte einzelner Parameter übernehmen

Sie können auch die Werte einzelner Parameter, die nicht als Einstellwert markiert sind, aus der Spalte "Momentaufnahme" in die Spalte "Startwerte im Projekt" übernehmen. Kopieren Sie dazu die Werte mit Hilfe der Befehle "Kopieren" und "Einfügen" aus dem Kontextmenü und fügen Sie sie in die Spalte "Startwert im Projekt" ein.

Page 79: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.11 Parametersicht

PID-Regelung 78 Funktionshandbuch, 11/2019, A5E35300226-AE

3.11.5.14 Einstellwerte im Online-Programm initialisieren Sie können alle Parameter, die in der Parametersicht als "Einstellwert" markiert sind, in einem Schritt in der CPU mit neuen Werten initialisieren. Dabei werden die Startwerte aus dem Projekt in die CPU geladen. Die CPU bleibt im Betriebszustand "RUN".

Um Datenverlust auf der CPU bei Kaltstart oder Neustart (Warmstart) zu vermeiden, müssen Sie zusätzlich noch das Technologieobjekt in die CPU laden.

GEFAHR

Gefahr beim Ändern von Parameterwerten

Ein Verändern der Parameterwerte bei laufendem Anlagenbetrieb kann bei Funktionsstörungen oder Programmfehlern schwere Sach- und Personenschäden verursachen!

Vergewissern Sie sich, dass keine gefährlichen Zustände eintreten können, bevor Sie die Einstellwerte neu initialisieren.

Voraussetzungen ● Das Technologieobjekt ist vom Typ "PID_Compact", "PID_3Step" oder "PID_Temp".

● Eine Online-Verbindung besteht.

● Das Technologieobjekt ist in die CPU geladen.

● Die Programmbearbeitung ist aktiv (CPU im "RUN").

● Die Parametersicht des Technologieobjekts ist geöffnet.

● Die Schaltfläche “Alle beobachten“ ist aktiviert.

● Die Parameter, die als " markiert sind, verfügen über einen technologisch und syntaktisch fehlerfreien "Startwert im Projekt".

Vorgehen Um alle Einstellwerte zu initialisieren, gehen Sie folgendermaßen vor:

1. Tragen Sie die gewünschten Werte in die Spalte "Startwert im Projekt" ein.

Achten Sie darauf, dass die Startwerte technologisch und syntaktisch fehlerfrei sind.

2. Klicken Sie auf das Symbol "Startwerte der Einstellwerte als Aktualwerte laden".

Ergebnis Die Einstellwerte in der CPU werden mit den Startwerten aus dem Projekt initialisiert.

Page 80: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Projektieren eines Software-Reglers 3.12 Instanz-DB eines Technologieobjekts anzeigen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 79

3.12 Instanz-DB eines Technologieobjekts anzeigen Zu jedem Technologieobjekt wird ein Instanz-DB angelegt, in dem die Parameter und statischen Variablen gespeichert sind.

Vorgehen Um den Instanz-DB eines Technologieobjekts anzuzeigen, gehen Sie folgendermaßen vor:

1. Öffnen Sie in der Projektnavigation den Ordner der CPU.

2. Öffnen Sie den Ordner "Technologieobjekte".

3. Markieren Sie ein Technologieobjekt.

4. Wählen Sie im Kontextmenü den Befehl "Öffnen im Editor".

Page 81: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID-Regelung 80 Funktionshandbuch, 11/2019, A5E35300226-AE

PID_Compact einsetzen 4 4.1 Technologieobjekt PID_Compact

Das Technologieobjekt PID_Compact stellt einen kontinuierlichen PID-Regler mit integrierter Optimierung zur Verfügung. Alternativ können Sie einen Impulsregler konfigurieren. Es sind Hand- und Automatikbetrieb möglich.

PID-Compact erfasst innerhalb eines Regelkreises fortlaufend den gemessenen Istwert und vergleicht diesen mit dem gewünschten Sollwert. Aus der sich ergebenden Regeldifferenz errechnet die Anweisung PID_Compact einen Ausgangswert, durch den der Istwert möglichst schnell und stabil an den Sollwert angeglichen wird. Der Ausgangswert setzt sich beim PID-Regler aus drei Anteilen zusammen:

● P-Anteil

Der P-Anteil des Ausgangswerts steigt proportional zur Regeldifferenz.

● I-Anteil

Der I-Anteil des Ausgangswerts steigt solange bis die Regeldifferenz ausgeglichen ist.

● D-Anteil

Der D-Anteil steigt mit wachsender Änderungsgeschwindigkeit der Regeldifferenz. Der Istwert wird möglichst schnell an den Sollwert angeglichen. Nimmt die Änderungsgeschwindigkeit der Regeldifferenz wieder ab, so verringert sich der D-Anteil wieder.

Die Anweisung PID_Compact berechnet die P-, I-, und D-Parameter für Ihre Regelstrecke selbstständig während der Erstoptimierung. Die Parameter können über eine Nachoptimierung weiter optimiert werden. Sie brauchen die Parameter nicht manuell ermitteln.

Weitere Informationen ● Übersicht der Software-Regler (Seite 40)

● Technologieobjekte hinzufügen (Seite 42)

● Technologieobjekte konfigurieren (Seite 44)

● PID_Compact V2 konfigurieren (Seite 81)

● PID_Compact V1 konfigurieren (Seite 105)

FAQ Weitere Informationen hierzu finden Sie im folgenden FAQ im Siemens Industry Online Support:

● Beitrags-ID 79047707 (https://support.industry.siemens.com/cs/ww/de/view/79047707)

Page 82: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.2 PID_Compact V2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 81

4.2 PID_Compact V2

4.2.1 PID_Compact V2 konfigurieren

4.2.1.1 Grundeinstellungen V2

Einleitung V2 Konfigurieren Sie im Inspektorfenster, bzw. im Konfigurationsfenster in den "Grundeinstellungen" folgende Eigenschaften des Technologieobjekts PID_Compact:

● Physikalische Größe

● Regelsinn

● Anlaufverhalten nach Reset

● Sollwert (nur im Inspektorfenster)

● Istwert (nur im Inspektorfenster)

● Ausgangswert (nur im Inspektorfenster)

Sollwert, Istwert und Ausgangswert Sollwert, Istwert und Ausgangswert können Sie nur im Inspektorfenster des Programmiereditors konfigurieren. Für jeden Wert wählen Sie die Quelle:

● Instanz-DB

Es wird der Wert verwendet der im Instanz-DB gespeichert ist.

Wert muss im Instanz-DB vom Anwenderprogramm aktualisiert werden.

An der Anweisung darf kein Wert stehen.

Änderung über HMI möglich.

● Anweisung

Es wird der Wert verwendet, der an der Anweisung verschaltet ist. Bei jedem Aufruf der Anweisung wird der Wert in den Instanz-DB geschrieben.

Änderung über HMI nicht möglich.

Page 83: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.2 PID_Compact V2

PID-Regelung 82 Funktionshandbuch, 11/2019, A5E35300226-AE

Regelungsart V2

Physikalische Größe Wählen Sie in der Gruppe "Regelungsart" die physikalische Größe und Einheit für Sollwert, Istwert und Störgröße. Sollwert, Istwert und Störgröße werden in dieser Einheit angezeigt.

Regelsinn Meist soll mit einer Erhöhung des Ausgangswerts eine Erhöhung des Istwerts erreicht werden. In diesem Fall spricht man von einem normalen Regelsinn.

PID_Compact arbeitet nicht mit negativer Proportionalverstärkung. Um durch einen höheren Ausgangswert den Istwert zu verringern, aktiveren Sie das Optionskästchen "Invertieren des Regelsinns".

Beispiele

● Durch Öffnen eines Ablaufventils sinkt der Füllstand eines Behälters.

● Durch eine höhere Kühlleistung sinkt die Temperatur.

Anlaufverhalten 1. Um nach Neustart der CPU in die Betriebsart "Inaktiv" zu wechseln, deaktivieren Sie das

Optionskästchen "Nach CPU Neustart Mode aktivieren".

Um nach Neustart der CPU in die Betriebsart zu wechseln, die an Mode gespeichert ist, aktivieren Sie das Optionskästchen "Nach CPU Neustart Mode aktivieren".

2. Wählen Sie in der Klappliste "Mode setzen auf" die Betriebsart aus, die nach einem vollständigen Laden in Gerät aktiviert werden soll.

Nach einem vollständigen Laden in Gerät startet PID_Compact in der gewählten Betriebsart. Bei jedem weiteren Neustart, startet PID_Compact in der Betriebsart, die zuletzt an Mode gespeichert war.

Beispiel

Sie haben das Optionskästchen "Nach CPU Neustart Mode aktivieren" aktiviert und in der Liste "Mode setzen auf" den Eintrag "Erstoptimierung" gewählt. Nach einem vollständigen Laden in Gerät startet PID_Compact in der Betriebsart "Erstoptimierung". Wenn die Erstoptimierung noch aktiv ist, startet PID_Compact nach dem Neustart der CPU wieder in der Betriebsart "Erstoptimierung". Wenn die Erstoptimierung erfolgreich beendet wurde und der Automatikbetrieb aktiv ist, startet PID_Compact nach dem Neustart der CPU im "Automatikbetrieb".

Page 84: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.2 PID_Compact V2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 83

Sollwert V2

Vorgehen Um einen festen Sollwert vorzugeben, gehen Sie folgendermaßen vor:

1. Wählen Sie "Instanz-DB".

2. Geben Sie einen Sollwert ein, z. B. 80 °C.

3. Löschen Sie ggf. einen Eintrag an der Anweisung.

Um einen variablen Sollwert vorzugeben, gehen Sie folgendermaßen vor:

1. Wählen Sie "Anweisung".

2. Geben Sie den Namen der REAL-Variablen ein, in der der Sollwert gespeichert ist.

Die REAL-Variable können Sie programmgesteuert mit unterschiedlichen Werten belegen, z. B. um den Sollwert Zeit gesteuert zu ändern.

Istwert V2 Wenn Sie den Wert des Analogeingangs direkt verwenden, skaliert PID_Compact den Wert des Analogeingangs in die physikalische Größe.

Wenn Sie den Wert des Analogeingangs erst aufbereiten wollen, müssen Sie ein eigenes Programm für die Aufbereitung schreiben. Zum Beispiel ist der Istwert nicht direkt proportional zum Wert am Analogeingang. Der aufbereitete Istwert muss im Gleitpunktformat vorliegen.

Vorgehen Um den Wert des Analogeingangs direkt zu verwenden, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Input" den Eintrag "Input_PER".

2. Wählen Sie als Quelle "Anweisung".

3. Geben Sie die Adresse des Analogeingangs ein.

Um den aufbereiteten Istwert im Gleitpunktformat zu verwenden, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Input" den Eintrag "Input".

2. Wählen Sie als Quelle "Anweisung".

3. Geben Sie den Namen der Variablen ein, in der der aufbereitete Istwert gespeichert ist.

Page 85: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.2 PID_Compact V2

PID-Regelung 84 Funktionshandbuch, 11/2019, A5E35300226-AE

Ausgangswert V2 PID_Compact stellt drei Ausgangswerte zur Verfügung. Welchen Ausgangswert Sie verwenden, hängt von Ihrem Stellglied ab.

● Output_PER

Das Stellglied wird über einen analogen Ausgang angesprochen und mit einem kontinuierlichen Signal gesteuert, z. B. 0...10V, 4...20mA.

● Output

Der Ausgangswert muss über das Anwenderprogramm aufbereitet werden, z.B. weil das Stellglied nichtlineares Verhalten zeigt.

● Output_PWM

Das Stellglied wird über einen Digitalausgang gesteuert. Über eine Pulsweitenmodulation werden variable Ein- und Ausschaltzeiten gebildet.

Vorgehen Um den analogen Ausgangswert zu verwenden, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Output" den Eintrag "Output_PER (analog)".

2. Wählen Sie "Anweisung".

3. Geben Sie die Adresse des Analogausgangs ein.

Um den Ausgangswert über das Anwenderprogramm aufzubereiten, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Output" den Eintrag "Output".

2. Wählen Sie "Instanz-DB".

Der berechnete Ausgangswert wird im Instanz-DB gespeichert.

3. Verwenden Sie für die Aufbereitung des Ausgangswerts den Ausgangsparameter Output.

4. Übertragen Sie den aufbereiteten Ausgangswert über einen Digital- oder Analogausgang der CPU zum Stellglied.

Um den digitalen Ausgangswert zu verwenden, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Output" den Eintrag "Output_PWM".

2. Wählen Sie "Anweisung".

3. Geben Sie die Adresse des Digitalausgangs ein.

Page 86: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.2 PID_Compact V2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 85

4.2.1.2 Istwerteinstellungen V2

Istwert skalieren V2 Wenn Sie in der Grundeinstellung die Verwendung von Input_PER konfiguriert haben, dann müssen Sie den Wert des Analogeingangs in die physikalische Größe des Istwerts umrechnen. Im Anzeigefeld Input_PER wird die aktuelle Konfiguration angezeigt.

Wenn der Istwert direkt proportional zum Wert des Analogeingangs ist, wird Input_PER anhand eines unteren und oberen Wertepaars skaliert.

Vorgehen Um den Istwert zu skalieren, gehen Sie folgendermaßen vor:

1. Geben Sie in den Eingabefeldern "Skalierter unterer Istwert" und "Unten" das untere Wertepaar ein.

2. Geben Sie in den Eingabefeldern "Skalierter oberer Istwert" und "Oben" das obere Wertepaar ein.

In der HW-Konfiguration sind Voreinstellungen für die Wertepaare hinterlegt. Um die Wertepaare aus der HW-Konfiguration zu verwenden, gehen Sie folgendermaßen vor:

1. Markieren Sie im Programmiereditor die Anweisung PID_Compact.

2. Verschalten Sie in den Grundeinstellungen Input_PER mit einem Analogeingang.

3. Klicken Sie in den Istwerteinstellungen auf die Schaltfläche "Automatische Einstellung".

Die bestehenden Werte werden mit den Werten aus der HW-Konfiguration überschrieben.

Istwertgrenzen V2 Als Grenzwerte müssen Sie für Ihre Regelstrecke eine sinnvolle absolute Ober- und Untergrenze des Istwerts festlegen. Sobald diese Grenzen über- oder unterschritten werden, tritt ein Fehler auf (ErrorBits = 0001h). Die Optimierung wird abgebrochen, wenn die Istwertgrenzen übrschritten werden. Wie PID_Compact im Fehlerfall im Automatikbetrieb reagiert, konfigurieren Sie bei den Ausgangswerteinstellungen.

Page 87: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.2 PID_Compact V2

PID-Regelung 86 Funktionshandbuch, 11/2019, A5E35300226-AE

4.2.1.3 Erweiterte Einstellungen V2

Istwertüberwachung V2 Konfigurieren Sie im Konfigurationsfenster "Istwertüberwachung" eine untere und eine obere Warngrenze des Istwerts. Wird im Betrieb eine der Warngrenzen über oder unterschritten, so wird an der Anweisung PID_Compact eine Warnung angezeigt:

● Am Ausgangsparameter InputWarning_H, wenn die obere Warngrenze überschritten wurde

● Am Ausgangsparameter InputWarning_L, wenn die untere Warngrenze unterschritten wurde

Die Warngrenzen müssen innerhalb der Ober- und Untergrenze Istwert liegen.

Wenn Sie keine Werte eingeben, werden die Ober- und Untergrenze Istwert verwendet.

Beispiel Obergrenze Istwert = 98 °C ; Obere Warngrenze = 90 °C

Untere Warngrenze = 10 °C ; Untergrenze Istwert = 0 °C

PID_Compact verhält sich folgendermaßen: Istwert InputWarning_H InputWarning_L ErrorBits Betriebsart > 98 °C TRUE FALSE 0001h Inaktiv oder

Ersatzausgangs-wert mit Fehlerüberwa-chung

≤ 98 °C und > 90 °C TRUE FALSE 0000h Automatikbetrieb ≤ 90 °C und ≥ 10 °C FALSE FALSE 0000h Automatikbetrieb < 10°C und ≥ 0 °C FALSE TRUE 0000h Automatikbetrieb < 0 °C FALSE TRUE 0001h Inaktiv oder

Ersatzausgangs-wert mit Fehlerüberwa-chung

Wie PID_Compact beim Über- bzw. Unterschreiten der Ober- oder Untergrenze Istwert reagiert, konfigurieren Sie bei den Ausgangswerteinstellungen.

Siehe auch Parameter State und Mode V2 (Seite 289)

Page 88: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.2 PID_Compact V2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 87

PWM-Begrenzungen V2 Über eine Pulsweitenmodulation wird der Wert am Ausgangsparameter Output in eine Impulsfolge transformiert, die am Ausgangsparameter Output_PWM ausgegeben wird.

Output wird in der Abtastzeit PID-Algorithmus berechnet. Die Abtastzeit wird als Periodendauer der Pulsweitenmodulation verwendet.

Die Abtastzeit PID-Algorithmus wird während der Erst- oder Nachoptimierung ermittelt. Wenn Sie die PID-Parameter manuell einstellen, müssen Sie dort auch die Abtastzeit PID-Algorithmus konfigurieren.

Output_PWM wird in der Abtastzeit PID_Compact ausgegeben. Die Abtastzeit PID_Compact entspricht der Zykluszeit des aufrufenden OBs.

Die Impulsdauer ist proportional zum Wert an Output und beträgt stets ein ganzzahliges Vielfaches der Abtastzeit PID_Compact.

① Abtastzeit PID_Compact ② Abtastzeit PID-Algorithmus ③ Impulsdauer ④ Pausendauer

Die "Minimale Einschaltzeit" und die "Minimale Ausschaltzeit" werden auf ein ganzzahliges Vielfaches der Abtastzeit PID_Compact gerundet.

Ein Impuls oder eine Pause wird nie kürzer als die minimale Ein- oder Ausschaltzeiten. Die Ungenauigkeiten, die sich dadurch ergeben, werden aufsummiert und im nächsten Zyklus ausgeglichen.

Page 89: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.2 PID_Compact V2

PID-Regelung 88 Funktionshandbuch, 11/2019, A5E35300226-AE

Beispiel

Abtastzeit PID_Compact (entspricht der Zykluszeit des aufrufenden OB) = 100 ms

Abtastzeit PID-Algorithmus (entspricht der Periodendauer)= 1000 ms

Minimale Einschaltzeit = 200 ms

Output beträgt konstant 15 %. Der kleinste Impuls, den PID_Compact ausgeben kann, entspricht 20%. Im ersten Zyklus wird kein Impuls ausgegeben. Im zweiten Zyklus wird der nicht ausgegebene Impuls des ersten Zyklus zum Impuls des zweiten Zyklus addiert.

① Abtastzeit PID_Compact ② Abtastzeit PID-Algorithmus ⑤ Minimale Einschaltzeit

Um die Schalthäufigkeit zu verringern und das Stellglied zu schonen, verlängern Sie die minimalen Ein- und Ausschaltzeiten.

Wenn Sie "Output" oder "Output_PER" verwenden, müssen Sie die minimale Einschaltzeit und die minimale Ausschaltzeit auf den Wert 0.0 konfigurieren.

Hinweis

Die minimalen Ein- und Ausschaltzeiten wirken nur auf den Ausgangsparameter Output_PWM und werden nicht für evtl. in der CPU integrierte Impulsgeneratoren verwendet.

Page 90: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.2 PID_Compact V2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 89

Ausgangswert V2

Ausgangswertgrenzen Konfigurieren Sie im Konfigurationsfenster "Ausgangswertgrenzen" die absoluten Grenzen Ihres Ausgangswerts in Prozent. Absolute Ausgangswertgrenzen werden weder im Handbetrieb noch im Automatikbetrieb über- oder unterschritten. Wird im Handbetrieb ein Ausgangswert außerhalb der Grenzen vorgegeben, so wird der effektive Wert in der CPU auf die konfigurierten Grenzen begrenzt.

Die Ausgangswertgrenzen müssen zum Regelsinn passen.

Die gültigen Werte für die Ausgangswertgrenzen hängen vom verwendeten Output ab. Output -100.0 bis 100.0 % Output_PER -100.0 bis 100.0 % Output_PWM 0.0 bis 100.0 %

Verhalten im Fehlerfall

ACHTUNG

Ihre Anlage kann beschädigt werden.

Wenn Sie im Fehlerfall "Aktueller Wert für die Fehlerdauer" oder "Ersatzausgangswert für die Fehlerdauer" ausgeben, bleibt PID_Compact im Automatikbetrieb. Dadurch können die Istwertgrenzen überschritten und Ihre Anlage beschädigt werden.

Konfigurieren Sie für Ihre Regelstrecke ein Verhalten im Fehlerfall, das Ihre Anlage vor Beschädigung schützt.

PID_Compact ist so voreingestellt, dass im Fehlerfall die Regelung in den meisten Fällen aktiv bleibt. Wenn im Regelbetrieb häufig Fehler auftreten, wird durch diese Voreinstellung das Regelverhalten verschlechtert. Überprüfen Sie dann den Parameter Errorbits und beheben Sie die Fehlerursache.

Im Fehlerfall gibt PID_Compact einen konfigurierbaren Ausgangswert aus:

● Null (Inaktiv)

PID_Compact gibt bei allen Fehlern 0.0 als Ausgangswert aus und schaltet in die Betriebsart "Inaktiv". Der Regler wird erst durch eine fallende Flanke an Reset oder eine steigende Flanke an ModeActivate reaktiviert.

Page 91: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.2 PID_Compact V2

PID-Regelung 90 Funktionshandbuch, 11/2019, A5E35300226-AE

● Aktuellen Wert für die Fehlerdauer

Wenn im Automatikbetrieb folgende Fehler aufgetreten sind, kehrt PID_Compact in den Automatikbetrieb zurück, sobald die Fehler nicht mehr anstehen.

Wenn einer oder mehrere der folgenden Fehler auftreten, bleibt PID_Compact im Automatikbetrieb:

– 0001h: Der Parameter "Input" ist außerhalb der Istwertgrenzen.

– 0800h: Abtastzeitfehler

– 40000h: Ungültiger Wert am Parameter Disturbance.

Wenn im Automatikbetrieb einer oder mehrere der folgenden Fehler auftreten, wechselt PID_Compact in die Betriebsart "Ersatzausgangswert mit Fehlerüberwachung" und gibt den letzten gültigen Ausgangswert aus:

– 0002h: Ungültiger Wert am Parameter Input_PER.

– 0200h: Ungültiger Wert am Parameter Input.

– 0400h: Berechnung des Ausgangswerts fehlgeschlagen.

– 1000h: Ungültiger Wert am Parameter Setpoint.

Wenn im Handbetrieb ein Fehler auftritt, verwendet PID_Compact weiterhin den Handwert als Ausgangswert. Wenn der Handwert ungültig ist, wird der Ersatzausgangswert verwendet. Wenn Handwert und Ersatzausgangswert ungültig sind, wird die Untergrenze Ausgangswert verwendet.

Wenn während einer Erst- oder Nachoptimierung der folgende Fehler auftritt, bleibt PID_Compact in der aktiven Betriebsart:

– 0020h: Die Erstoptimierung ist während der Nachoptimierung nicht erlaubt.

Bei allen anderen Fehlern bricht PID_Compact die Optimierung ab und wechselt in die Betriebsart, aus der die Optimierung gestartet wurde.

Sobald keine Fehler nicht mehr anstehen, kehrt PID_Compact in den Automatikbetrieb zurück.

● Ersatzausgangswert für die Fehlerdauer

PID_Compact gibt den Ersatzausgangswert aus.

Wenn der folgende Fehler auftritt, bleibt PID_Compact in der Betriebsart "Ersatzausgangswert mit Fehlerüberwachung" und gibt die Untergrenze Ausgangswert aus:

– 20000h: Ungültiger Wert an der Variablen SubstituteOutput.

Bei allen anderen Fehler verhält sich PID_Compact wie bei "Aktuellen Wert für die Fehlerdauer" beschrieben.

Siehe auch Parameter State und Mode V2 (Seite 289)

Page 92: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.2 PID_Compact V2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 91

PID-Parameter V2 Im Konfigurationsfenster "PID-Parameter" werden die PID-Parameter angezeigt. Während der Optimierung werden die PID-Parameter an Ihre Regelstrecke angepasst. Sie brauchen die PID-Parameter nicht manuell eingeben.

Hinweis

Die aktuell wirksamen PID-Parameter befinden sich bei PID_Compact V1 in der Struktur sRet und bei PID_Compact V2 in der Struktur Retain.CtrlParams.

Um ein Fehlverhalten des PID-Reglers zu vermeiden, ändern Sie online die aktuell wirksamen PID-Parameter nur in der Betriebsart "inaktiv".

Wenn Sie die PID-Parameter in den Betriebsarten "Automatikbetrieb" oder "Handbetrieb" online ändern möchten, dann ändern Sie die PID-Parameter folgendermaßen: • PID_Compact V1: Ändern Sie die PID-Parameter in der Struktur sBackUp und

übernehmen Sie diese Änderungen per sPid_Cmpt.b_LoadBackUp = TRUE in die Struktur sRet.

• PID_Compact V2: Ändern Sie die PID-Parameter in der Struktur CtrlParamsBackUp und übernehmen Sie diese Änderungen per LoadBackUp = TRUE in die Struktur Retain.CtrlParams.

Online Änderungen an den PID-Parametern in der Betriebsart "Automatikbetrieb" können zu Sprüngen am Ausgangswert führen.

Der PID-Algorithmus arbeitet nach folgender Formel:

y Ausgangswert des PID-Algorithmus Kp Proportionalverstärkung s Laplace-Operator b Gewichtung des P-Anteils w Sollwert x Istwert TI Integrationszeit a Koeffizient Differenzierverzug (Differenzierverzug T1 = a ×TD) TD Differenzierzeit c Gewichtung des D-Anteils

Page 93: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.2 PID_Compact V2

PID-Regelung 92 Funktionshandbuch, 11/2019, A5E35300226-AE

Die folgende Grafik zeigt, wie die Parameter in den PID-Algorithmus einfließen:

Alle PID-Parameter sind remanent. Wenn Sie die PID-Parameter manuell eingeben, müssen Sie PID_Compact vollständig laden.

Technologieobjekte in Gerät laden (Seite 47)

Proportionalverstärkung Der Wert gibt die Proportionalverstärkung des Reglers an. PID_Compact arbeitet nicht mit einer negativen Proportionalverstärkung. Den Regelsinn invertieren Sie unter Grundeinstellungen > Regelungsart.

Integrationszeit Die Integrationszeit bestimmt das Zeitverhalten des I-Anteils. Abschalten des I-Anteils erfolgt mit Integrationszeit = 0.0. Wenn die Integrationszeit in der Betriebsart "Automatikbetrieb" von einem anderen Wert auf 0.0 online geändert wird, dann wird der bisherige I-Anteil gelöscht und es erfolgt ein Sprung des Ausgangswerts.

Differenzierzeit Die Differenzierzeit bestimmt das Zeitverhalten des D-Anteils. Abschalten des D-Anteils erfolgt mit Differenzierzeit = 0.0.

Page 94: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.2 PID_Compact V2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 93

Koeffizient Differenzierverzug Die Wirkung des D-Anteils wird durch den Koeffizent Differenzierverzug verzögert.

Differenzierverzug = Differenzierzeit × Koeffizient Differenzierverzug

● 0.0: D-Anteil wirkt nur für einen Zyklus und ist damit fast nicht wirksam.

● 0.5: Dieser Wert hat sich in der Praxis für Regelstrecken mit einer dominierenden Zeitkonstanten bewährt.

● > 1.0: Je größer der Koeffizient, desto stärker wird die Wirkung des D-Anteils verzögert.

Gewichtung des P-Anteils Sie können bei Sollwertänderungen den P-Anteil abschwächen.

Sinnvoll sind Werte von 0.0 bis 1.0.

● 1.0: P-Anteil bei Sollwertänderung voll wirksam

● 0.0: P-Anteil bei Sollwertänderung nicht wirksam

Bei Änderung des Istwerts ist der P-Anteil immer voll wirksam.

Gewichtung des D-Anteils Sie können bei Sollwertänderungen den D-Anteil abschwächen.

Sinnvoll sind Werte von 0.0 bis 1.0.

● 1.0: D-Anteil bei Sollwertänderung voll wirksam

● 0.0: D-Anteil bei Sollwertänderung nicht wirksam

Bei Änderung des Istwerts ist der D-Anteil immer voll wirksam.

Abtastzeit PID-Algorithmus Da die Regelstrecke eine gewisse Zeit benötigt, um auf eine Änderung des Ausgangswerts zu reagieren, ist es sinnvoll, den Ausgangswert nicht in jedem Zyklus zu berechnen. Die Abtastzeit PID-Algorithmus ist die Zeit zwischen zwei Ausgangswertberechnungen. Sie wird während der Optimierung ermittelt und auf ein Vielfaches der Zykluszeit gerundet. Alle anderen Funktionen von PID_Compact werden bei jedem Aufruf durchgeführt.

Wenn Sie Output_PWM verwenden, wird die Abtastzeit des PID-Algorithmus als Periodendauer der Pulsweitenmodulation verwendet. Die Genauigkeit des Ausgangssignals wird bestimmt durch das Verhältnis von Abtastzeit des PID-Algorithmus zu Zykluszeit des OB. Deshalb ist empfohlen, dass die Zykluszeit höchstens ein Zehntel der Abtastzeit des PID-Algorithmus beträgt.

Page 95: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.2 PID_Compact V2

PID-Regelung 94 Funktionshandbuch, 11/2019, A5E35300226-AE

Regel für Optimierung Wählen Sie in der Klappliste "Reglerstruktur" aus, ob PI oder PID-Parameter berechnet werden.

● PID

Berechnet während der Erst- und Nachoptimierung PID-Parameter

● PI

Berechnet während der Erst- und Nachoptimierung PI-Parameter

● Benutzerdefiniert

Wenn Sie über ein Anwenderprogramm unterschiedliche Reglerstrukturen für Erst- und Nachoptimierung eingestellt haben, wird "Benutzerdefiniert" in der Klappliste angezeigt.

Page 96: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.2 PID_Compact V2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 95

4.2.2 PID_Compact V2 in Betrieb nehmen

4.2.2.1 Erstoptimierung V2 Die Erstoptimierung ermittelt die Prozessantwort auf einen Sprung des Ausgangswerts und sucht den Wendepunkt. Aus der maximalen Steigung und der Totzeit der Regelstrecke werden die PID-Parameter berechnet. Die besten PID-Parameter erhalten Sie, wenn Sie Erst- und Nachoptimierung durchführen.

Je stabiler der Istwert ist, desto leichter und genauer können die PID-Parameter ermittelt werden. Ein Rauschen des Istwerts ist solange akzeptabel, wie der Anstieg des Istwerts signifikant größer ist als das Rauschen. Dies ist am ehesten in den Betriebsarten "Inaktiv" oder "Handbetrieb" gegeben. Die PID-Parameter werden gesichert bevor sie neu berechnet werden.

Voraussetzung ● Die Anweisung "PID_Compact" wird in einem Weckalarm-OB aufgerufen.

● ManualEnable = FALSE

● Reset = FALSE

● PID_Compact befindet sich in der Betriebsart "Handbetrieb", "Inaktiv" oder "Automatikbetrieb".

● Der Sollwert und der Istwert befinden sich innerhalb der konfigurierten Grenzen (siehe Konfiguration "Istwertüberwachung").

● Die Differenz zwischen Sollwert und Istwert ist größer als 30 % der Differenz zwischen Obergrenze Istwert und Untergrenze Istwert.

● Der Abstand zwischen Sollwert und Istwert ist > 50% des Sollwerts.

Page 97: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.2 PID_Compact V2

PID-Regelung 96 Funktionshandbuch, 11/2019, A5E35300226-AE

Vorgehen Um die "Erstoptimierung" durchzuführen gehen Sie folgendermaßen vor:

1. Doppelklicken Sie in der Projektnavigation auf den Eintrag "PID_Compact > Inbetriebnahme".

2. Wählen Sie in der Klappliste "Optimierungsart" den Eintrag "Erstoptimierung".

3. Klicken Sie auf das Symbol "Start".

– Eine Online-Verbindung wird aufgebaut.

– Die Aufzeichnung der Werte wird gestartet.

– Die Erstoptimierung wird gestartet.

– Im Feld "Status" werden Ihnen die aktuellen Arbeitsschritte und evtl. auftretende Fehler angezeigt. Der Fortschrittsbalken zeigt den Fortschritt des aktuellen Arbeitsschritts an.

Hinweis

Klicken Sie auf das Symbol "Stop", wenn der Fortschrittsbalken 100% erreicht hat und von einer Blockade der Optimierung ausgegangen werden muss. Prüfen Sie die Konfiguration des Technologieobjekts und starten Sie ggf. die Optimierung erneut.

Ergebnis Wurde die Erstoptimierung ohne Fehlermeldung durchlaufen, so wurden die PID-Parameter optimiert. PID_Compact wechselt in den Automatikbetrieb und verwendet die optimierten Parameter. Die optimierten PID-Parameter bleiben bei Netz-AUS und Neustart der CPU erhalten.

Wenn eine Erstoptimierung nicht möglich ist, verhält sich PID_Compact wie unter Verhalten im Fehlerfall konfiguriert.

Siehe auch Parameter State und Mode V2 (Seite 289)

Page 98: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.2 PID_Compact V2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 97

4.2.2.2 Nachoptimierung V2 Die Nachoptimierung generiert eine konstante, begrenzte Schwingung des Istwertes. Aus Amplitude und Frequenz dieser Schwingung werden die PID-Parameter für den Arbeitspunkt optimiert. Aus den Ergebnissen werden alle PID-Parameter neu berechnet. Die PID-Parameter aus der Nachoptimierung zeigen meist ein besseres Führungs- und Störverhalten als die PID-Parameter aus der Erstoptimierung. Die besten PID-Parameter erhalten Sie, wenn Sie Erst- und Nachoptimierung durchführen.

PID_Compact versucht automatisch eine Schwingung zu erzeugen, die größer ist als das Rauschen des Istwerts. Die Nachoptimierung wird nur geringfügig von der Stabilität des Istwerts beeinflusst. Die PID-Parameter werden gesichert bevor sie neu berechnet werden.

Voraussetzung ● Die Anweisung PID_Compact wird in einem Weckalarm-OB aufgerufen.

● ManualEnable = FALSE

● Reset = FALSE

● Der Sollwert und der Istwert befinden sich innerhalb der konfigurierten Grenzen.

● Der Regelkreis ist am Arbeitspunkt eingeschwungen. Der Arbeitspunkt ist erreicht, wenn der Istwert dem Sollwert entspricht.

● Es werden keine Störungen erwartet.

● PID_Compact befindet sich in der Betriebsart Inaktiv, Automatikbetrieb oder Handbetrieb.

Ablauf abhängig von Startsituation Die Nachoptimierung können Sie aus den Betriebsarten "Inaktiv", "Automatikbetrieb" oder "Handbetrieb" starten. Die Nachoptimierung verläuft folgendermaßen beim Start aus:

● Automatikbetrieb

Wenn Sie die vorhandenen PID-Parameter durch die Optimierung verbessern wollen, starten Sie die Nachoptimierung aus dem Automatikbetrieb.

PID_Compact regelt solange mit den vorhandenen PID-Parametern, bis der Regelkreis eingeschwungen ist und die Voraussetzungen für eine Nachoptimierung erfüllt sind. Erst dann startet die Nachoptimierung.

● Inaktiv oder Handbetrieb

Wenn die Voraussetzungen für eine Erstoptimierung erfüllt sind, wird eine Erstoptimierung gestartet. Mit den ermittelten PID-Parametern wird solange geregelt, bis der Regelkreis eingeschwungen ist und die Voraussetzungen für eine Nachoptimierung erfüllt sind. Erst dann startet die Nachoptimierung. Ist die Erstoptimierung nicht möglich, verhält sich PID_Compact wie unter Verhalten im Fehlerfall konfiguriert.

Wenn sich der Istwert für eine Erstoptimierung bereits zu nah am Sollwert befindet, wird versucht den Sollwert mit minimalem oder maximalem Ausgangswert zu erreichen. Das kann ein erhöhtes Überschwingen verursachen.

Page 99: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.2 PID_Compact V2

PID-Regelung 98 Funktionshandbuch, 11/2019, A5E35300226-AE

Vorgehen Um die "Nachoptimierung" durchzuführen gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Optimierungsart" den Eintrag "Nachoptimierung".

2. Klicken Sie auf das Symbol "Start".

– Eine Online-Verbindung wird aufgebaut.

– Die Aufzeichnung der Werte wird gestartet.

– Der Ablauf der Nachoptimierung wird gestartet.

– Im Feld "Status" werden Ihnen die aktuellen Arbeitsschritte und evtl. auftretende Fehler angezeigt. Der Fortschrittsbalken zeigt den Fortschritt des aktuellen Arbeitsschritts an.

Hinweis

Klicken Sie in der Gruppe "Optimierungsart" auf das Symbol "Stop", wenn der Fortschrittbalken 100% erreicht hat und von einer Blockade der Optimierung ausgegangen werden muss. Prüfen Sie die Konfiguration des Technologieobjekts und starten Sie ggf. die Optimierung erneut.

Ergebnis Wenn während der Nachoptimierung keine Fehler auftraten, wurden die PID-Parameter optimiert. PID_Compact wechselt in den Automatikbetrieb und verwendet die optimierten Parameter. Die optimierten PID-Parameter bleiben bei Netz-AUS und Neustart der CPU erhalten.

Wenn während der "Nachoptimierung" Fehler auftraten, verhält sich PID_Compact wie unter Verhalten im Fehlerfall konfiguriert.

Siehe auch Parameter State und Mode V2 (Seite 289)

Page 100: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.2 PID_Compact V2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 99

4.2.2.3 Betriebsart "Handbetrieb" V2 Im Folgenden wird beschrieben, wie Sie die Betriebsart "Handbetrieb" im Inbetriebnahmefenster des Technologieobjekts "PID_Compact" nutzen können. Der Handbetrieb ist auch möglich, wenn ein Fehler ansteht.

Voraussetzung ● Die Anweisung "PID_Compact" wird in einem Weckalarm-OB aufgerufen.

● Es wurde eine Onlineverbindung zur CPU aufgebaut und die CPU befindet sich im Betriebzustand "RUN".

Vorgehen Verwenden Sie im Inbetriebnahmefenster "Handbetrieb", wenn Sie die Regelstrecke durch Vorgabe eines Handwerts testen möchten. Um einen Handwert vorzugeben, gehen Sie folgendermaßen vor:

1. Klicken Sie auf das Symbol "Start".

2. Aktivieren Sie im Bereich "Online-Zustand des Reglers" das Kontrollkästchen "Handbetrieb".

PID_Compact arbeitet im Handbetrieb. Der zuletzt aktuelle Ausgangswert bleibt aktiv.

3. Tragen Sie im Feld "Output" den Handwert in der Einheit % ein.

4. Klicken Sie auf das Symbol .

Ergebnis Der Handwert wird in die CPU geschrieben und ist sofort wirksam.

Deaktivieren Sie das Kontrollkästchen "Handbetrieb", wenn der Ausgangswert wieder durch den PID-Regler vorgegeben werden soll. Der Wechsel in den Automatikbetrieb erfolgt stoßfrei.

Siehe auch Parameter State und Mode V2 (Seite 289)

Page 101: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.2 PID_Compact V2

PID-Regelung 100 Funktionshandbuch, 11/2019, A5E35300226-AE

4.2.3 Ablöseregelung mit PID_Compact V2

Ablöseregelung Bei einer Ablöseregelung teilen sich zwei oder mehr Regler ein gemeinsames Stellglied. Zu jedem Zeitpunkt hat nur ein Regler Zugriff auf das Stellglied und wirkt auf den Prozess.

Eine Logik entscheidet welcher Regler Zugriff auf das Stellglied erhält. Häufig erfolgt diese Entscheidung anhand eines Vergleichs der Ausgangswerte aller Regler z. B. erhält bei einer Maximalauswahl der Regler mit dem größten Ausgangswert den Zugriff auf das Stellglied.

Die Auswahl anhand des Ausgangswerts macht es notwendig, dass alle Regler im Automatikbetrieb arbeiten. Die Regler, die nicht auf das Stellglied wirken, werden nachgeführt. Dies ist notwendig um Windup-Effekte und deren negative Auswirkungen auf das Regelverhalten und die Umschaltung zwischen den Reglern zu vermeiden.

PID_Compact unterstützt ab Version 2.3 Ablöseregelungen indem der Regler ein einfaches Verfahren zum Nachführen der nicht aktiven Regler bietet:

● Über die Variablen OverwriteInitialOutputValue und PIDCtrl.PIDInit können Sie den I-Anteil des Reglers im Automatikbetrieb so vorbelegen lassen, als ob der PID-Algorithmus im letzten Zyklus für den Ausgangswert Output = OverwriteInititalOutputValue berechnet hätte.

● OverwriteInitialOutputValue wird dazu mit dem Ausgangswert des Reglers verschaltet, der gerade Zugriff auf das Stellglied hat.

● Durch Setzen des Bit PIDCtrl.PIDInit stoßen Sie die Vorbelegung des I-Anteils an, sowie den Neustart des Reglertakts und der PWM-Periode.

● Die anschließende Berechnung des Ausgangswerts im aktuellen Zyklus erfolgt anhand des vorbelegten (und für alle Regler angeglichenen) I-Anteils sowie des P- und I-Anteils aus der aktuellen Regeldifferenz.

● Der D-Anteil ist während des Aufrufs mit PIDCtrl.PIDInit = TRUE nicht aktiv und trägt damit nicht zum Ausgangswert bei.

Dieses Verfahren stellt sicher, dass die Berechnung des aktuellen Ausgangswerts und damit die Entscheidung welcher Regler Zugriff auf das Stellglied erhält, nur anhand des aktuellen Prozesszustands und der PI-Parameter erfolgt. Windup-Effekte bei den nicht aktiven Reglern und damit falsche Entscheidungen der Umschaltlogik werden somit verhindert.

Page 102: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.2 PID_Compact V2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 101

Voraussetzungen ● PIDCtrl.PIDInit ist nur wirksam, wenn der I-Anteil aktiviert ist (Variable

Retain.CtrlParams.Ti > 0.0).

● Sie müssen PIDCtrl.PIDInit und OverwriteInitialOutputValue in Ihrem Anwenderprogramm selbst belegen (siehe Beispiel unten). PID_Compact nimmt keine automatische Änderung an diesen Variablen vor.

● PIDCtrl.PIDInit ist nur wirksam, wenn sich PID_Compact im Automatikbetrieb (Parameter State = 3) befindet.

● Falls möglich, wählen Sie die Abtastzeit des PID-Algorithmus (Variable Retain.CtrlParams.Cycle) so, dass sie für alle Regler identisch ist und rufen Sie alle Regler im gleichen Weckalarm-OB auf. Auf diese Weise stellen Sie sicher, dass die Umschaltung nicht innerhalb eines Reglertakts bzw. einer PWM-Periode erfolgt.

Hinweis Ständige Adaption der Ausgangswertgrenzen

Statt dem hier beschriebenen aktiven Nachführen der Regler ohne Zugriff auf das Stellglied wird dies bei anderen Reglersystemen alternativ über eine ständige Adaption der Ausgangswertgrenzen realisiert.

Dies ist mit PID_Compact nicht möglich, da eine Änderung der Ausgangswertgrenzen im Automatikbetrieb nicht unterstützt wird.

Beispiel: Regelung einer Gas-Pipeline PID_Compact wird für die Regelung einer Gas-Pipeline eingesetzt.

Hauptziel ist, den Durchfluss Input1 zu regeln. Hierfür wird der Regler PID_Compact_1 eingesetzt. Zusätzlich soll mit dem Begrenzungsregler PID_Compact_2 der Druck Input2 (gemessen in Strömungsrichtung vor dem Ventil) unterhalb einer Obergrenze gehalten werden.

Durchfluss und Druck werden über ein einziges Magnetventil beeinflusst. Der Ausgangswert der Regler entspricht der Ventilöffnung: Steigt der Ausgangswert, wird das Ventil geöffnet. Dadurch steigt der Durchfluss (normaler Regelsinn) während der Druck fällt (invertierter Regelsinn).

Page 103: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.2 PID_Compact V2

PID-Regelung 102 Funktionshandbuch, 11/2019, A5E35300226-AE

Das Ventil wird über den Ausgangswert von PID_Compact im Peripherieformat (Parameter Output_PER) angesteuert, indem die Programmvariable ActuatorInput beschrieben wird.

Die Vorgabe des Sollwerts für den Durchfluss erfolgt an Parameter PID_Compact_1.Setpoint.

Die Druckobergrenze wird als Sollwert am Parameter PID_Compact_2.Setpoint vorgegeben.

Beiden Reglern steht nur das eine Ventil als gemeinsames Stellglied zur Verfügung. Die Logik zur Entscheidung welcher Regler Zugriff auf das Stellglied erhält wird hier über eine Maximalauswahl des Ausgangswerts (im Real-Format, Parameter Output) realisiert. Da der Ausgangswert der Öffnung des Ventils entspricht, erhält somit der Regler die Kontrolle, der die größere Ventilöffnung fordert.

Hinweis Invertierung des Regelsinns aktivieren

Da beim Druckregler PID_Compact_2 mit einer Erhöhung des Ausgangswerts (Ventilöffnung) eine Verringerung des Istwerts (Druck) erreicht werden soll, muss die Invertierung des Regelsinns aktiviert werden: PID_Compact_2.Config.InvertControl = TRUE.

Im Normalbetrieb der Anlage entspricht der Istwert des Durchflusses dem Sollwert. Der Durchflussregler PID_Compact_1 hat sich auf einen stationären Ausgangswert PID_Compact_1.Output eingeschwungenen. Der Istwert des Drucks liegt im Normalbetrieb deutlich unter der Obergrenze, die als Sollwert für PID_Compact_2 vorgegeben ist. Deshalb möchte der Druckregler das Ventil weiter schließen, um den Druck zu erhöhen, d. h. er wird einen Ausgangswert PID_Compact_2.Output berechnen der kleiner ist, als der des Durchflussreglers PID_Compact_1.Output. Die Maximalauswahl der Umschaltlogik lässt deshalb den Durchflussregler PID_Compact_1 weiter auf das Stellglied zugreifen. Zusätzlich wird über die Zuweisungen PID_Compact_2.OverwriteInitialOutputValue = PID_Compact_1.Output und PID_Compact_2.PIDCtrl.PIDInit = TRUE sichergestellt, dass PID_Compact_2 nachgeführt wird.

Page 104: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.2 PID_Compact V2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 103

Nähert sich nun der Druck der Obergrenze an oder überschreitet diese, z. B. auf Grund einer Störung, wird der Druckregler PID_Compact_2 einen höheren Ausgangswert berechnen, um das Ventil weiter zu öffnen und so den Druck zu reduzieren. Ist PID_Compact_2.Output größer als PID_Compact_1.Output erhält der Druckregler PID_Compact_2 über die Maximalauswahl Zugriff auf das Stellglied und öffnet dieses. Über die Zuweisungen PID_Compact_1.OverwriteInitialOutputValue = PID_Compact_2.Output und PID_Compact_1.PIDCtrl.PIDInit = TRUE wird sichergestellt, dass PID_Compact_1 nachgeführt wird.

Der Druck wird reduziert, während der Durchfluss ansteigt und nicht mehr am Sollwert gehalten werden kann.

Steht die Störung nicht mehr an, wird der Druck weiter fallen und die Öffnung des Ventils wird durch den Druckregler verringert. Berechnet der Durchflussregler eine größere Öffnung als Ausgangswert, kehrt die Anlage in den Normalbetrieb zurück, sodass der Durchflussregler PID_Compact_1 wieder Zugriff auf das Stellglied erhält.

Dieses Beispiel kann mit folgendem SCL-Programmcode realisiert werden: "PID Compact 1"(Input := "Input1"); "PID Compact 2"(Input := "Input2"); IF "PID Compact 1".Output >= "PID Compact 2".Output THEN "ActuatorInput" := "PID_Compact_1".Output_PER;

"PID_Compact_1".PIDCtrl.PIDInit := FALSE;

"PID_Compact_2".PIDCtrl.PIDInit := TRUE;

"PID_Compact_2".OverwriteInitialOutputValue := "PID_Compact_1".Output; ELSE "ActuatorInput" := "PID_Compact_2".Output_PER;

"PID_Compact_1".PIDCtrl.PIDInit := TRUE;

"PID_Compact_2".PIDCtrl.PIDInit := FALSE;

"PID_Compact_1".OverwriteInitialOutputValue := "PID_Compact_2".Output; END IF;

Page 105: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.2 PID_Compact V2

PID-Regelung 104 Funktionshandbuch, 11/2019, A5E35300226-AE

4.2.4 PID_Compact V2 mit PLCSIM simulieren

Hinweis Simulation mit PLCSIM

Die Simulation von PID_Compact V2.x mit PLCSIM für CPU S7-1200 wird nicht unterstützt.

PID_Compact V2.x kann nur für CPU S7-1500 mit PLCSIM simuliert werden.

Bei der Simulation mit PLCSIM ist das zeitliche Verhalten der simulierten PLC nicht exakt identisch zu einer "echten" PLC. Der tatsächliche Zeittakt eines Weckalarm-OB kann bei einer simulierten PLC größere Schwankungen aufweisen als bei "echten" PLCs.

In der Standardkonfiguration ermittelt PID_Compact die Zeit zwischen den Aufrufen automatisch und überwacht diese auf Schwankungen.

Bei der Simulation von PID_Compact mit PLCSIM kann deshalb ein Abtastzeitfehler (ErrorBits = DW#16#00000800) erkannt werden.

Dies führt zum Abbruch von laufenden Optimierungen.

Die Reaktion im Automatikbetrieb ist abhängig vom Wert der Variable ActivateRecoverMode.

Um dies zu verhindern, sollten Sie PID_Compact bei Simulation mit PLCSIM wie folgt konfigurieren: • CycleTime.EnEstimation = FALSE • CycleTime.EnMonitoring = FALSE • CycleTime.Value: Weisen Sie dieser Variablen den Zeittakt des aufrufenden Weckalarm-

OB in der Einheit Sekunden zu.

Page 106: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.3 PID_Compact V1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 105

4.3 PID_Compact V1

4.3.1 PID_Compact V1 konfigurieren

4.3.1.1 Grundeinstellungen V1

Einleitung V1 Konfigurieren Sie im Inspektorfenster, bzw. im Konfigurationsfenster in den "Grundeinstellungen" folgende Eigenschaften des Technologieobjekts PID_Compact:

● Physikalische Größe

● Regelsinn

● Anlaufverhalten nach Reset

● Sollwert (nur im Inspektorfenster)

● Istwert (nur im Inspektorfenster)

● Ausgangswert (nur im Inspektorfenster)

Sollwert, Istwert und Ausgangswert Sollwert, Istwert und Ausgangswert können Sie nur im Inspektorfenster des Programmiereditors konfigurieren. Für jeden Wert wählen Sie die Quelle:

● Instanz-DB

Es wird der Wert verwendet der im Instanz-DB gespeichert ist.

Wert muss im Instanz-DB vom Anwenderprogramm aktualisiert werden.

An der Anweisung darf kein Wert stehen.

Änderung über HMI möglich.

● Anweisung

Es wird der Wert verwendet, der an der Anweisung verschaltet ist. Bei jedem Aufruf der Anweisung wird der Wert in den Instanz-DB geschrieben.

Änderung über HMI nicht möglich.

Page 107: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.3 PID_Compact V1

PID-Regelung 106 Funktionshandbuch, 11/2019, A5E35300226-AE

Regelungsart V1

Physikalische Größe Wählen Sie in der Gruppe "Regelungsart" die physikalische Größe und Einheit für Soll- und Istwert. Soll- und Istwert werden in dieser Einheit angezeigt.

Regelsinn Meist soll mit einer Erhöhung des Ausgangswerts eine Erhöhung des Istwerts erreicht werden. In diesem Fall spricht man von einem normalen Regelsinn.

PID_Compact arbeitet nicht mit negativer Proportionalverstärkung. Um durch einen höheren Ausgangswert den Istwert zu verringern, aktiveren Sie das Optionskästchen "Invertieren des Regelsinns".

Beispiele

● Durch Öffnen eines Ablaufventils sinkt der Füllstand eines Behälters.

● Durch eine höhere Kühlleistung sinkt die Temperatur.

Anlaufverhalten nach Reset Um nach Neustart der CPU sofort in die zuletzt aktive Betriebsart zu wechseln, aktivieren Sie das Optionskästchen "Nach CPU Neustart letzte Betriebsart aktivieren".

Wenn das Optionskästchen deaktiviert ist, bleibt PID_Compact in der Betriebsart "Inaktiv".

Sollwert V1

Vorgehen Um einen festen Sollwert vorzugeben, gehen Sie folgendermaßen vor:

1. Wählen Sie "Instanz-DB".

2. Geben Sie einen Sollwert ein, z. B. 80 °C.

3. Löschen Sie ggf. einen Eintrag an der Anweisung.

Um einen variablen Sollwert vorzugeben, gehen Sie folgendermaßen vor:

1. Wählen Sie "Anweisung".

2. Geben Sie den Namen der REAL-Variablen ein, in der der Sollwert gespeichert ist.

Die REAL-Variable können Sie programmgesteuert mit unterschiedlichen Werten belegen, z. B. um den Sollwert Zeit gesteuert zu ändern.

Istwert V1 Wenn Sie den Wert des Analogeingangs direkt verwenden, skaliert PID_Compact den Wert des Analogeingangs in die physikalische Größe.

Wenn Sie den Wert des Analogeingangs erst aufbereiten wollen, müssen Sie ein eigenes Programm für die Aufbereitung schreiben. Zum Beispiel ist der Istwert nicht direkt proportional zum Wert am Analogeingang. Der aufbereitete Istwert muss im Gleitpunktformat vorliegen.

Page 108: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.3 PID_Compact V1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 107

Vorgehen Um den Wert des Analogeingangs direkt zu verwenden, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Input" den Eintrag "Input_PER".

2. Wählen Sie als Quelle "Anweisung".

3. Geben Sie die Adresse des Analogeingangs ein.

Um den aufbereiteten Istwert im Gleitpunktformat zu verwenden, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Input" den Eintrag "Input".

2. Wählen Sie als Quelle "Anweisung".

3. Geben Sie den Namen der Variablen ein, in der der aufbereitete Istwert gespeichert ist.

Ausgangswert V1 PID_Compact stellt drei Ausgangswerte zur Verfügung. Welchen Ausgangswert Sie verwenden, hängt von Ihrem Stellglied ab.

● Output_PER

Das Stellglied wird über einen analogen Ausgang angesprochen und mit einem kontinuierlichen Signal gesteuert, z. B. 0...10V, 4...20mA.

● Output

Der Ausgangswert muss über das Anwenderprogramm aufbereitet werden, z.B. weil das Stellglied nichtlineares Verhalten zeigt.

● Output_PWM

Das Stellglied wird über einen Digitalausgang gesteuert. Über eine Pulsweitenmodulation werden variable Ein- und Ausschaltzeiten gebildet.

Vorgehen Um den analogen Ausgangswert zu verwenden, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Output" den Eintrag "Output_PER (analog)".

2. Wählen Sie "Anweisung".

3. Geben Sie die Adresse des Analogausgangs ein.

Um den Ausgangswert über das Anwenderprogramm aufzubereiten, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Output" den Eintrag "Output".

2. Wählen Sie "Instanz-DB".

Der berechnete Ausgangswert wird im Instanz-DB gespeichert.

3. Verwenden Sie für die Aufbereitung des Ausgangswerts den Ausgangsparameter Output.

4. Übertragen Sie den aufbereiteten Ausgangswert über einen Digital- oder Analogausgang der CPU zum Stellglied.

Page 109: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.3 PID_Compact V1

PID-Regelung 108 Funktionshandbuch, 11/2019, A5E35300226-AE

Um den digitalen Ausgangswert zu verwenden, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Output" den Eintrag "Output_PWM".

2. Wählen Sie "Anweisung".

3. Geben Sie die Adresse des Digitalausgangs ein.

Page 110: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.3 PID_Compact V1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 109

4.3.1.2 Istwerteinstellung V1 Konfigurieren Sie im Konfigurationsfenster "Istwerteinstellungen" die Normierung Ihres Istwerts und legen Sie die absoluten Istwertgrenzen fest.

Istwert skalieren Wenn Sie in der Grundeinstellung die Verwendung von Input_PER konfiguriert haben, dann müssen Sie den Wert des Analogeingangs in die physikalische Größe des Istwerts umrechnen. Im Anzeigefeld Input_PER wird die aktuelle Konfiguration angezeigt. Wenn der Istwert direkt proportional zum Wert des Analogeingangs ist, wird Input_PER anhand eines unteren und oberen Wertepaars skaliert. 1. Geben Sie in den Eingabefeldern "Skalierter unterer Istwert" und "Unten" das untere

Wertepaar ein. 2. Geben Sie in den Eingabefeldern "Skalierter oberer Istwert" und "Oben" das obere

Wertepaar ein. In der HW-Konfiguration sind Voreinstellungen für die Wertepaare hinterlegt. Um die Wertepaare aus der HW-Konfiguration zu verwenden, gehen Sie folgendermaßen vor: 1. Markieren Sie im Programmiereditor die Anweisung PID_Compact. 2. Verschalten Sie in den Grundeinstellungen Input_PER mit einem Analogeingang. 3. Klicken Sie in den Istwerteinstellungen auf die Schaltfläche "Automatische Einstellung". Die bestehenden Werte werden mit den Werten aus der HW-Konfiguration überschrieben.

Istwert überwachen Legen Sie die absolute Ober- und Untergrenze des Istwerts fest. Sobald im Betrieb diese Grenzen über oder unterschritten werden, so schaltet die Regelung ab und der Ausgangswert wird auf 0% gesetzt. Als Grenzwerte müssen Sie für Ihre Regelstrecke sinnvolle Werte eingeben. Während der Optimierung sind sinnvolle Grenzwerte wichtig, um optimale PID-Parameter zu erhalten. Die Vorbelegung der "Obergrenze Istwert" beträgt 120 %. Am Peripherie-Eingang kann der Istwert maximal 18 % über dem Normbereich (Übersteuerungsbereich) liegen. Wegen einer Überschreitung der "Obergrenze Istwert" wird keine Fehler mehr gemeldet. Nur Drahtbruch und Kurzschluss werden erkannt und PID_Compact wechselt in die Betriebsart "Inaktiv".

WARNUNG

Wenn Sie als Istwertgrenzen sehr hohe Werte (z. B. -3,4*1038...+3,4*1038) einstellen, wird die Überwachung des Istwerts deaktiviert. Dann kann es durch einen Fehler zu Schäden an Ihrer Anlage kommen.

Siehe auch Istwertüberwachung V1 (Seite 110)

PWM-Begrenzungen V1 (Seite 111)

Ausgangswertgrenzen V1 (Seite 113)

PID-Parameter V1 (Seite 113)

Page 111: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.3 PID_Compact V1

PID-Regelung 110 Funktionshandbuch, 11/2019, A5E35300226-AE

4.3.1.3 Erweiterte Einstellungen V1

Istwertüberwachung V1 Konfigurieren Sie im Konfigurationsfenster "Istwertüberwachung" eine untere und eine obere Warngrenze des Istwerts. Wird im Betrieb eine der Warngrenzen über oder unterschritten, so wird an der Anweisung PID_Compact eine Warnung angezeigt:

● Am Ausgangsparameter InputWarning_H, wenn die obere Warngrenze überschritten wurde

● Am Ausgangsparameter InputWarning_L, wenn die untere Warngrenze unterschritten wurde

Die Warngrenzen müssen innerhalb der Ober- und Untergrenze Istwert liegen.

Wenn Sie keine Werte eingeben, werden die Ober- und Untergrenze Istwert verwendet.

Beispiel Obergrenze Istwert = 98 °C ; Obere Warngrenze = 90 °C

Untere Warngrenze = 10 °C ; Untergrenze Istwert = 0 °C

PID_Compact verhält sich folgendermaßen: Istwert InputWarning_H InputWarning_L Betriebsart > 98 °C TRUE FALSE Inaktiv ≤ 98 °C und > 90 °C TRUE FALSE Automatikbetrieb ≤ 90 °C und ≥ 10 °C FALSE FALSE Automatikbetrieb < 10°C und ≥ 0 °C FALSE TRUE Automatikbetrieb < 0 °C FALSE TRUE Inaktiv

Siehe auch Istwerteinstellung V1 (Seite 109)

PWM-Begrenzungen V1 (Seite 111)

Ausgangswertgrenzen V1 (Seite 113)

PID-Parameter V1 (Seite 113)

Page 112: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.3 PID_Compact V1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 111

PWM-Begrenzungen V1 Über eine Pulsweitenmodulation wird der Wert am Ausgangsparameter Output in eine Impulsfolge transformiert, die am Ausgangsparameter Output_PWM ausgegeben wird.

Output wird in der Abtastzeit PID-Algorithmus berechnet. Die Abtastzeit wird als Periodendauer der Pulsweitenmodulation verwendet.

Die Abtastzeit PID-Algorithmus wird während der Erst- oder Nachoptimierung ermittelt. Wenn Sie die PID-Parameter manuell einstellen, müssen Sie dort auch die Abtastzeit PID-Algorithmus konfigurieren.

Output_PWM wird in der Abtastzeit PID_Compact ausgegeben. Die Abtastzeit PID_Compact entspricht der Zykluszeit des aufrufenden OBs.

Die Impulsdauer ist proportional zum Wert an Output und beträgt stets ein ganzzahliges Vielfaches der Abtastzeit PID_Compact.

① Abtastzeit PID_Compact ② Abtastzeit PID-Algorithmus ③ Impulsdauer ④ Pausendauer

Die "Minimale Einschaltzeit" und die "Minimale Ausschaltzeit" werden auf ein ganzzahliges Vielfaches der Abtastzeit PID_Compact gerundet.

Ein Impuls oder eine Pause wird nie kürzer als die minimale Ein- oder Ausschaltzeiten. Die Ungenauigkeiten, die sich dadurch ergeben, werden aufsummiert und im nächsten Zyklus ausgeglichen.

Page 113: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.3 PID_Compact V1

PID-Regelung 112 Funktionshandbuch, 11/2019, A5E35300226-AE

Beispiel Abtastzeit PID_Compact (entspricht der Zykluszeit des aufrufenden OB) = 100 ms Abtastzeit PID-Algorithmus (entspricht der Periodendauer)= 1000 ms Minimale Einschaltzeit = 200 ms

Output beträgt konstant 15 %. Der kleinste Impuls, den PID_Compact ausgeben kann, entspricht 20%. Im ersten Zyklus wird kein Impuls ausgegeben. Im zweiten Zyklus wird der nicht ausgegebene Impuls des ersten Zyklus zum Impuls des zweiten Zyklus addiert.

① Abtastzeit PID_Compact ② Abtastzeit PID-Algorithmus ⑤ Minimale Einschaltzeit Um die Schalthäufigkeit zu verringern und das Stellglied zu schonen, verlängern Sie die minimalen Ein- und Ausschaltzeiten. Wenn Sie "Output" oder "Output_PER" verwenden, müssen Sie die minimale Einschaltzeit und die minimale Ausschaltzeit auf den Wert 0.0 konfigurieren.

Hinweis

Die minimalen Ein- und Ausschaltzeiten wirken nur auf den Ausgangsparameter Output_PWM und werden nicht für evtl. in der CPU integrierte Impulsgeneratoren verwendet.

Siehe auch Istwerteinstellung V1 (Seite 109)

Istwertüberwachung V1 (Seite 110)

Ausgangswertgrenzen V1 (Seite 113)

PID-Parameter V1 (Seite 113)

Page 114: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.3 PID_Compact V1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 113

Ausgangswertgrenzen V1 Konfigurieren Sie im Konfigurationsfenster "Ausgangswertgrenzen" die absoluten Grenzen Ihres Ausgangswerts in Prozent. Absolute Ausgangswertgrenzen werden weder im Handbetrieb noch im Automatikbetrieb über- oder unterschritten. Wird im Handbetrieb ein Ausgangswert außerhalb der Grenzen vorgegeben, so wird der effektive Wert in der CPU auf die konfigurierten Grenzen begrenzt.

Die gültigen Werte für die Ausgangswertgrenzen hängen vom verwendeten Output ab. Output -100.0 bis 100.0 Output_PER -100.0 bis 100.0 Output_PWM 0.0 bis 100.0

Im Fehlerfall setzt PID_Compact den Ausgangswert auf 0.0. Daher muss 0.0 immer innerhalb der Ausgangswertgrenzen liegen. Um eine Untergrenze Ausgangswert größer 0.0 zu erhalten, müssen Sie im Anwenderprogramm zu Output und Output_PER einen Offset addieren.

Siehe auch Istwerteinstellung V1 (Seite 109)

Istwertüberwachung V1 (Seite 110)

PWM-Begrenzungen V1 (Seite 111)

PID-Parameter V1 (Seite 113)

PID-Parameter V1 Im Konfigurationsfenster "PID-Parameter" werden die PID-Parameter angezeigt. Während der Optimierung werden die PID-Parameter an Ihre Regelstrecke angepasst. Sie brauchen die PID-Parameter nicht manuell eingeben.

Hinweis

Die aktuell wirksamen PID-Parameter befinden sich bei PID_Compact V1 in der Struktur sRet und bei PID_Compact V2 in der Struktur Retain.CtrlParams.

Um ein Fehlverhalten des PID-Reglers zu vermeiden, ändern Sie online die aktuell wirksamen PID-Parameter nur in der Betriebsart "inaktiv".

Wenn Sie die PID-Parameter in den Betriebsarten "Automatikbetrieb" oder "Handbetrieb" online ändern möchten, dann ändern Sie die PID-Parameter folgendermaßen: • PID_Compact V1: Ändern Sie die PID-Parameter in der Struktur sBackUp und

übernehmen Sie diese Änderungen per sPid_Cmpt.b_LoadBackUp = TRUE in die Struktur sRet.

• PID_Compact V2: Ändern Sie die PID-Parameter in der Struktur CtrlParamsBackUp und übernehmen Sie diese Änderungen per LoadBackUp = TRUE in die Struktur Retain.CtrlParams.

Online Änderungen an den PID-Parametern in der Betriebsart "Automatikbetrieb" können zu Sprüngen am Ausgangswert führen.

Page 115: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.3 PID_Compact V1

PID-Regelung 114 Funktionshandbuch, 11/2019, A5E35300226-AE

Der PID-Algorithmus arbeitet nach folgender Formel:

y Ausgangswert des PID-Algorithmus Kp Proportionalverstärkung s Laplace-Operator b Gewichtung des P-Anteils w Sollwert x Istwert TI Integrationszeit a Koeffizient Differenzierverzug (Differenzierverzug T1 = a ×TD) TD Differenzierzeit c Gewichtung des D-Anteils

Die folgende Grafik zeigt, wie die Parameter in den PID-Algorithmus einfließen:

Alle PID-Parameter sind remanent. Wenn Sie die PID-Parameter manuell eingeben, müssen Sie PID_Compact vollständig laden.

Technologieobjekte in Gerät laden (Seite 47)

Proportionalverstärkung Der Wert gibt die Proportionalverstärkung des Reglers an. PID_Compact arbeitet nicht mit einer negativen Proportionalverstärkung. Den Regelsinn invertieren Sie unter Grundeinstellungen > Regelungsart.

Page 116: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.3 PID_Compact V1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 115

Integrationszeit Die Integrationszeit bestimmt das Zeitverhalten des I-Anteils. Abschalten des I-Anteils erfolgt mit Integrationszeit = 0.0. Wenn die Integrationszeit in der Betriebsart "Automatikbetrieb" von einem anderen Wert auf 0.0 online geändert wird, dann wird der bisherige I-Anteil gelöscht und es erfolgt ein Sprung des Ausgangswerts.

Differenzierzeit Die Differenzierzeit bestimmt das Zeitverhalten des D-Anteils. Abschalten des D-Anteils erfolgt mit Differenzierzeit = 0.0.

Koeffizient Differenzierverzug Die Wirkung des D-Anteils wird durch den Koeffizent Differenzierverzug verzögert.

Differenzierverzug = Differenzierzeit × Koeffizient Differenzierverzug

● 0.0: D-Anteil wirkt nur für einen Zyklus und ist damit fast nicht wirksam.

● 0.5: Dieser Wert hat sich in der Praxis für Regelstrecken mit einer dominierenden Zeitkonstanten bewährt.

● > 1.0: Je größer der Koeffizient, desto stärker wird die Wirkung des D-Anteils verzögert.

Gewichtung des P-Anteils Sie können bei Sollwertänderungen den P-Anteil abschwächen.

Sinnvoll sind Werte von 0.0 bis 1.0.

● 1.0: P-Anteil bei Sollwertänderung voll wirksam

● 0.0: P-Anteil bei Sollwertänderung nicht wirksam

Bei Änderung des Istwerts ist der P-Anteil immer voll wirksam.

Gewichtung des D-Anteils Sie können bei Sollwertänderungen den D-Anteil abschwächen.

Sinnvoll sind Werte von 0.0 bis 1.0.

● 1.0: D-Anteil bei Sollwertänderung voll wirksam

● 0.0: D-Anteil bei Sollwertänderung nicht wirksam

Bei Änderung des Istwerts ist der D-Anteil immer voll wirksam.

Page 117: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.3 PID_Compact V1

PID-Regelung 116 Funktionshandbuch, 11/2019, A5E35300226-AE

Abtastzeit PID-Algorithmus Da die Regelstrecke eine gewisse Zeit benötigt, um auf eine Änderung des Ausgangswerts zu reagieren, ist es sinnvoll, den Ausgangswert nicht in jedem Zyklus zu berechnen. Die Abtastzeit PID-Algorithmus ist die Zeit zwischen zwei Ausgangswertberechnungen. Sie wird während der Optimierung ermittelt und auf ein Vielfaches der Zykluszeit gerundet. Alle anderen Funktionen von PID_Compact werden bei jedem Aufruf durchgeführt.

Wenn Sie Output_PWM verwenden, wird die Abtastzeit des PID-Algorithmus als Periodendauer der Pulsweitenmodulation verwendet. Die Genauigkeit des Ausgangssignals wird bestimmt durch das Verhältnis von Abtastzeit des PID-Algorithmus zu Zykluszeit des OB. Deshalb ist empfohlen, dass die Zykluszeit höchstens ein Zehntel der Abtastzeit des PID-Algorithmus beträgt.

Regel für Optimierung Wählen Sie in der Klappliste "Reglerstruktur" aus, ob PI oder PID-Parameter berechnet werden.

● PID

Berechnet während der Erst- und Nachoptimierung PID-Parameter

● PI

Berechnet während der Erst- und Nachoptimierung PI-Parameter

● Benutzerdefiniert

Wenn Sie über ein Anwenderprogramm unterschiedliche Reglerstrukturen für Erst- und Nachoptimierung eingestellt haben, wird "Benutzerdefiniert" in der Klappliste angezeigt.

Page 118: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.3 PID_Compact V1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 117

4.3.2 PID_Compact V1 in Betrieb nehmen

4.3.2.1 Inbetriebnahme V1 Das Inbetriebnahmefenster hilft Ihnen bei der Inbetriebnahme des PID-Reglers. In der Kurvenanzeige können Sie die Werte für Sollwert, Istwert und Ausgangswert entlang der Zeitachse beobachten. Folgende Funktionen werden im Inbetriebnahmefenster unterstützt:

● Erstoptimierung des Reglers

● Nachoptimierung des Reglers

Verwenden Sie die Nachoptimierung, wenn Sie eine Feinjustage der PID-Parameter wünschen.

● Beobachtung der laufenden Regelung im Kurvenfenster

● Test der Regelstrecke durch Vorgabe eines manuellen Ausgangswerts

Für alle Funktionen muss eine Onlineverbindung zur CPU aufgebaut sein.

Grundsätzliche Bedienung ● Wählen Sie in der Klappliste "Aktualisierungszeit" die gewünschte Aktualisierungszeit

aus.

Alle Werte im Inbetriebnahmefenster werden in der ausgewählten Aktualisierungszeit aktualisiert.

● Klicken Sie auf das Symbol "Start" in der Gruppe Messung, wenn Sie die Inbetriebnahmefunktionen nutzen möchten.

Die Aufzeichnung der Werte wird gestartet. In der Kurvenanzeige werden die aktuellen Werte für Sollwert, Istwert und Ausgangswert eingetragen. Die Bedienung des Inbetriebnahmefensters wird freigegeben.

● Klicken Sie auf das Symbol "Stop", wenn Sie die Inbetriebnahmefunktionen beenden möchten.

Die in der Kurvenanzeige aufgezeichneten Werte können weiterhin analysiert werden.

Mit Schließen des Inbetriebnahmefensters wird die Aufzeichnung in der Kurvenanzeige beendet und die aufgezeichneten Werte werden gelöscht.

Siehe auch Erstoptimierung V1 (Seite 118)

Nachoptimierung V1 (Seite 120)

Betriebsart "Handbetrieb" V1 (Seite 122)

Page 119: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.3 PID_Compact V1

PID-Regelung 118 Funktionshandbuch, 11/2019, A5E35300226-AE

4.3.2.2 Erstoptimierung V1 Die Erstoptimierung ermittelt die Prozessantwort auf einen Sprung des Ausgangswerts und sucht den Wendepunkt. Aus der maximalen Steigung und der Totzeit der Regelstrecke werden die optimalen PID-Parameter berechnet.

Je stabiler der Istwert ist, desto leichter und genauer können die PID-Parameter ermittelt werden. Ein Rauschen des Istwerts ist solange akzeptabel, wie der Anstieg des Istwerts signifikant größer ist als das Rauschen. Die PID-Parameter werden gesichert bevor sie neu berechnet werden.

Voraussetzung ● Die Anweisung "PID_Compact" wird in einem Weckalarm-OB aufgerufen.

● ManualEnable = FALSE

● PID_Compact befindet sich in der Betriebsart "Inaktiv" oder "Handbetrieb".

● Der Sollwert darf während der Optimierung nicht geändert werden. Sonst wird PID_Compact deaktiviert.

● Der Sollwert und der Istwert befinden sich innerhalb der konfigurierten Grenzen (siehe Konfiguration "Istwertüberwachung").

● Die Differenz zwischen Sollwert und Istwert ist größer als 30 % der Differenz Obergrenze Istwert und Untergrenze Istwert.

● Der Abstand zwischen Sollwert und Istwert ist > 50% des Sollwerts.

Vorgehen Um die "Erstoptimierung" durchzuführen gehen Sie folgendermaßen vor:

1. Doppelklicken Sie in der Projektnavigation auf den Eintrag "PID_Compact > Inbetriebnahme".

2. Wählen Sie in der Klappliste "Optimierungsart" den Eintrag "Erstoptimierung".

3. Klicken Sie auf das Symbol "Start".

– Eine Online-Verbindung wird aufgebaut.

– Die Aufzeichnung der Werte wird gestartet.

– Die Erstoptimierung wird gestartet.

– Im Feld "Status" werden Ihnen die aktuellen Arbeitsschritte und evtl. auftretende Fehler angezeigt. Der Fortschrittsbalken zeigt den Fortschritt des aktuellen Arbeitsschritts an.

Hinweis

Klicken Sie auf das Symbol "Stop", wenn der Fortschrittbalken 100% erreicht hat und von einer Blockade der Optimierung ausgegangen werden muss. Prüfen Sie die Konfiguration des Technologieobjekts und starten Sie ggf. die Optimierung erneut.

Page 120: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.3 PID_Compact V1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 119

Ergebnis Wurde die Erstoptimierung ohne Fehlermeldung durchlaufen, so wurden die PID-Parameter optimiert. PID_Compact wechselt in den Automatikbetrieb und verwendet die optimierten Parameter. Die optimierten PID-Parameter bleiben bei Netz-AUS und Neustart der CPU erhalten.

Wenn eine Erstoptimierung nicht möglich ist, wechselt PID_Compact in die Betriebsart "Inaktiv".

Siehe auch Parameter State und sRet.i_Mode V1 (Seite 318)

Inbetriebnahme V1 (Seite 117)

Nachoptimierung V1 (Seite 120)

Betriebsart "Handbetrieb" V1 (Seite 122)

Page 121: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.3 PID_Compact V1

PID-Regelung 120 Funktionshandbuch, 11/2019, A5E35300226-AE

4.3.2.3 Nachoptimierung V1 Die Nachoptimierung generiert eine konstante, begrenzte Schwingung des Istwertes. Aus Amplitude und Frequenz dieser Schwingung werden die PID-Parameter für den Arbeitspunkt optimiert. Aus den Ergebnissen werden alle PID-Parameter neu berechnet. Die PID-Parameter aus der Nachoptimierung zeigen meist ein besseres Führungs- und Störverhalten als die PID-Parameter aus der Erstoptimierung.

PID_Compact versucht automatisch eine Schwingung zu erzeugen, die größer ist als das Rauschen des Istwerts. Die Nachoptimierung wird nur geringfügig von der Stabilität des Istwerts beeinflusst. Die PID-Parameter werden gesichert bevor sie neu berechnet werden.

Voraussetzung ● Die Anweisung PID_Compact wird in einem Weckalarm-OB aufgerufen.

● ManualEnable = FALSE

● Der Sollwert und der Istwert befinden sich innerhalb der konfigurierten Grenzen (siehe Konfiguration "Istwertüberwachung").

● Der Regelkreis ist am Arbeitspunkt eingeschwungen. Der Arbeitspunkt ist erreicht, wenn der Istwert dem Sollwert entspricht.

● Es werden keine Störungen erwartet.

● Der Sollwert darf während der Optimierung nicht geändert werden.

● PID_Compact befindet sich in der Betriebsart Inaktiv, Automatikbetrieb oder Handbetrieb.

Ablauf abhängig von Startsituation Die Nachoptimierung können Sie aus den Betriebsarten "Inaktiv", "Automatikbetrieb" oder "Handbetrieb" starten. Die Nachoptimierung verläuft folgendermaßen beim Start aus:

● Automatikbetrieb

Wenn Sie die vorhandenen PID-Parameter durch die Optimierung verbessern wollen, starten Sie die Nachoptimierung aus dem Automatikbetrieb.

PID_Comact regelt solange mit den vorhandenen PID-Parametern, bis der Regelkreis eingeschwungen ist und die Voraussetzungen für eine Nachoptimierung erfüllt sind. Erst dann startet die Nachoptimierung.

● Inaktiv oder Handbetrieb

Wenn die Voraussetzungen für eine Erstoptimierung erfüllt sind, wird eine Erstoptimierung gestartet. Mit den ermittelten PID-Parametern wird solange geregelt, bis der Regelkreis eingeschwungen ist und die Voraussetzungen für eine Nachoptimierung erfüllt sind. Erst dann startet die Nachoptimierung. Ist die Erstoptimierung nicht möglich, wechselt PID_Compact in die Betriebsart "Inaktiv".

Wenn sich der Istwert für eine Erstoptimierung bereits zu nah am Sollwert befindet, wird versucht den Sollwert mit minimalem oder maximalem Ausgangswert zu erreichen. Das kann ein erhöhtes Überschwingen verursachen.

Page 122: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.3 PID_Compact V1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 121

Vorgehen Um die "Nachoptimierung" durchzuführen gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Optimierungsart" den Eintrag "Nachoptimierung".

2. Klicken Sie auf das Symbol "Start".

– Eine Online-Verbindung wird aufgebaut.

– Die Aufzeichnung der Werte wird gestartet.

– Der Ablauf der Nachoptimierung wird gestartet.

– Im Feld "Status" werden Ihnen die aktuellen Arbeitsschritte und evtl. auftretende Fehler angezeigt. Der Fortschrittsbalken zeigt den Fortschritt des aktuellen Arbeitsschritts an.

Hinweis

Klicken Sie in der Gruppe "Optimierungsart" auf das Symbol "Stop", wenn der Fortschrittbalken 100% erreicht hat und von einer Blockade der Optimierung ausgegangen werden muss. Prüfen Sie die Konfiguration des Technologieobjekts und starten Sie ggf. die Optimierung erneut.

Ergebnis Wurde die Nachoptimierung ohne Fehlermeldung durchlaufen, so wurden die PID-Parameter optimiert. PID_Compact wechselt in den Automatikbetrieb und verwendet die optimierten Parameter. Die optimierten PID-Parameter bleiben bei Netz-AUS und Neustart der CPU erhalten.

Wenn während der "Nachoptimierung" Fehler auftraten, wechselt PID_Compact in die Betriebsart "Inaktiv".

Siehe auch Parameter State und sRet.i_Mode V1 (Seite 318)

Inbetriebnahme V1 (Seite 117)

Erstoptimierung V1 (Seite 118)

Betriebsart "Handbetrieb" V1 (Seite 122)

Page 123: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.3 PID_Compact V1

PID-Regelung 122 Funktionshandbuch, 11/2019, A5E35300226-AE

4.3.2.4 Betriebsart "Handbetrieb" V1 Im Folgenden wird beschrieben, wie Sie die Betriebsart "Handbetrieb" im Inbetriebnahmefenster des Technologieobjekts "PID Compact" nutzen können.

Voraussetzung ● Die Anweisung "PID_Compact" wird in einem Weckalarm-OB aufgerufen.

● Es wurde eine Onlineverbindung zur CPU aufgebaut und die CPU befindet sich im Betriebzustand "RUN".

● Die Funktionen des Inbetriebnahmefensters sind über das Symbol "Messung Ein" freigegeben.

Vorgehen Verwenden Sie im Inbetriebnahmefenster "Handbetrieb", wenn Sie die Regelstrecke durch Vorgabe eines Handwerts testen möchten. Um einen Handwert vorzugeben, gehen Sie folgendermaßen vor:

1. Aktivieren Sie im Bereich "Online-Zustand des Relgers" das Kontrollkästchen "Handbetrieb".

PID_Compact arbeitet im Handbetrieb. Der zuletzt aktuelle Ausgangswert bleibt aktiv.

2. Tragen Sie im Feld "Output" den Handwert in der Einheit % ein.

3. Klicken Sie auf das Steuersymbol .

Ergebnis Der Handwert wird in die CPU geschrieben und ist sofort wirksam.

Hinweis

PID_Compact überwacht den Istwert weiterhin. Wenn die Istwertgrenzen überschritten werden, wird PID_Compact deaktiviert.

Deaktivieren Sie das Kontrollkästchen "Handbetrieb", wenn der Ausgangswert wieder durch den PID-Regler vorgegeben werden soll. Der Wechsel in den Automatikbetrieb erfolgt stoßfrei.

Siehe auch Parameter State und sRet.i_Mode V1 (Seite 318)

Inbetriebnahme V1 (Seite 117)

Erstoptimierung V1 (Seite 118)

Nachoptimierung V1 (Seite 120)

Page 124: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Compact einsetzen 4.3 PID_Compact V1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 123

4.3.3 PID_Compact V1 mit PLCSIM simulieren

Hinweis Simulation mit PLCSIM

Bei der Simulation mit PLCSIM ist das zeitliche Verhalten der simulierten PLC nicht exakt identisch zu einer "echten" PLC. Der tatsächliche Zeittakt eines Weckalarm-OB kann bei einer simulierten PLC größere Schwankungen aufweisen als bei "echten" PLCs.

In der Standardkonfiguration ermittelt PID_Compact die Zeit zwischen den Aufrufen automatisch und überwacht diese auf Schwankungen.

Bei der Simulation von PID_Compact mit PLCSIM kann deshalb ein Abtastzeitfehler (ErrorBits = DW#16#00000800) erkannt werden.

PID_Compact wechselt in diesem Fall in die Betriebsart Inaktiv (State = 0)..

Um dies zu verhindern, sollten Sie PID_Compact bei Simulation mit PLCSIM wie folgt konfigurieren: • sb_EnCyclEstimation = FALSE • sb_EnCyclMonitoring = FALSE • sPid_Calc.r_Cycle: Weisen Sie dieser Variablen den Zeittakt des aufrufenden

Weckalarm-OB in der Einheit Sekunden zu.

Page 125: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID-Regelung 124 Funktionshandbuch, 11/2019, A5E35300226-AE

PID_3Step einsetzen 5 5.1 Technologieobjekt PID_3Step

Das Technologieobjekt PID_3Step stellt einen PID-Regler mit Optimierung für Ventile oder Stellglieder mit integrierendem Verhalten zur Verfügung. Sie können folgende Regler konfigurieren: ● Dreipunktschrittregler mit Stellungsrückmeldung ● Dreipunktschrittregler ohne Stellungsrückmeldung

● Ventilregler mit analogem Ausgangswert PID_3Step erfasst innerhalb eines Regelkreises fortlaufend den gemessenen Istwert und vergleicht diesen mit dem Sollwert. Aus der sich ergebenden Regeldifferenz errechnet PID_3Step einen Ausgangswert, durch den der Istwert den Sollwert möglichst schnell und stabil erreicht. Der Ausgangswert setzt sich beim PID-Regler aus drei Anteilen zusammen: ● P-Anteil

Der P-Anteil des Ausgangswerts steigt proportional zur Regeldifferenz. ● I-Anteil

Der I-Anteil des Ausgangswerts steigt solange bis die Regeldifferenz ausgeglichen ist. ● D-Anteil

Der D-Anteil steigt mit wachsender Änderungsgeschwindigkeit der Regeldifferenz. Der Istwert wird möglichst schnell an den Sollwert angeglichen. Nimmt die Änderungsgeschwindigkeit der Regeldifferenz wieder ab, so verringert sich der D-Anteil wieder.

Die Anweisung PID_3Step berechnet die P-, I-, und D-Parameter für Ihre Regelstrecke selbstständig während der Erstoptimierung. Die Parameter können über eine Nachoptimierung weiter optimiert werden. Sie brauchen die Parameter nicht manuell ermitteln.

Weitere Informationen ● Übersicht der Software-Regler (Seite 40) ● Technologieobjekte hinzufügen (Seite 42) ● Technologieobjekte konfigurieren (Seite 44) ● PID_3Step V2 konfigurieren (Seite 125) ● PID_3Step V1 konfigurieren (Seite 148)

Prinzip Weitere Informationen hierzu finden Sie im folgenden FAQ im Siemens Industry Online Support:

● Beitrags-ID 68011827 (https://support.industry.siemens.com/cs/ww/de/view/68011827)

Page 126: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.2 PID_3Step V2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 125

5.2 PID_3Step V2

5.2.1 PID_3Step V2 konfigurieren

5.2.1.1 Grundeinstellungen V2

Einleitung V2 Konfigurieren Sie im Inspektorfenster, bzw. im Konfigurationsfenster in den "Grundeinstellungen" folgende Eigenschaften des Technologieobjekts PID_3Step:

● Physikalische Größe

● Regelsinn

● Anlaufverhalten nach Reset

● Sollwert (nur im Inspektorfenster)

● Istwert (nur im Inspektorfenster)

● Ausgangswert (nur im Inspektorfenster)

● Stellungsrückmeldung (nur im Inspektorfenster)

Sollwert, Istwert, Ausgangswert und Stellungsrückmeldung Sollwert, Istwert, Ausgangswert und Stellungsrückmeldung können Sie nur im Inspektorfenster des Programmiereditors konfigurieren. Für jeden Wert wählen Sie die Quelle:

● Instanz-DB

Es wird der Wert verwendet der im Instanz-DB gespeichert ist.

Wert muss im Instanz-DB vom Anwenderprogramm aktualisiert werden.

An der Anweisung darf kein Wert stehen.

Änderung über HMI möglich.

● Anweisung

Es wird der Wert verwendet, der an der Anweisung verschaltet ist. Bei jedem Aufruf der Anweisung wird der Wert in den Instanz-DB geschrieben.

Änderung über HMI nicht möglich.

Page 127: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.2 PID_3Step V2

PID-Regelung 126 Funktionshandbuch, 11/2019, A5E35300226-AE

Regelungsart V2

Physikalische Größe Wählen Sie in der Gruppe "Regelungsart" die physikalische Größe und Einheit für Sollwert, Istwert und Störgröße. Sollwert, Istwert und Störgröße werden in dieser Einheit angezeigt.

Regelsinn Meist soll mit einer Erhöhung des Ausgangswerts eine Erhöhung des Istwerts erreicht werden. In diesem Fall spricht man von einem normalen Regelsinn.

PID_3Step arbeitet nicht mit negativer Proportionalverstärkung. Um durch einen höheren Ausgangswert den Istwert zu verringern, aktiveren Sie das Optionskästchen "Invertieren des Regelsinns".

Beispiele

● Durch Öffnen eines Ablaufventils sinkt der Füllstand eines Behälters.

● Durch eine höhere Kühlleistung sinkt die Temperatur.

Anlaufverhalten 1. Um nach Neustart der CPU in die Betriebsart "Inaktiv" zu wechseln, deaktivieren Sie das

Optionskästchen "Nach CPU Neustart Mode aktivieren".

Um nach Neustart der CPU in die Betriebsart zu wechseln, die an Mode gespeichert ist, aktivieren Sie das Optionskästchen "Nach CPU Neustart Mode aktivieren".

2. Wählen Sie in der Klappliste "Mode setzen auf" die Betriebsart aus, die nach einem vollständigen Laden in Gerät aktiviert werden soll.

Nach einem vollständigen Laden in Gerät startet PID_3Step in der gewählten Betriebsart. Bei jedem weiteren Neustart, startet PID_3Step in der Betriebsart, die zuletzt an Mode gespeichert war.

Beispiel

Sie haben das Optionskästchen "Nach CPU Neustart Mode aktivieren" aktiviert und in der Liste "Mode setzen auf" den Eintrag "Erstoptimierung" gewählt. Nach einem vollständigen Laden in Gerät startet PID_3Step in der Betriebsart "Erstoptimierung". Wenn die Erstoptimierung noch aktiv ist, startet PID_3Step nach dem Neustart der CPU wieder in der Betriebsart "Erstoptimierung". Wenn die Erstoptimierung erfolgreich beendet wurde und der Automatikbetrieb aktiv ist, startet PID_3Step nach dem Neustart der CPU im "Automatikbetrieb".

Page 128: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.2 PID_3Step V2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 127

Sollwert V2

Vorgehen Um einen festen Sollwert vorzugeben, gehen Sie folgendermaßen vor:

1. Wählen Sie "Instanz-DB".

2. Geben Sie einen Sollwert ein, z. B. 80 °C.

3. Löschen Sie ggf. einen Eintrag an der Anweisung.

Um einen variablen Sollwert vorzugeben, gehen Sie folgendermaßen vor:

1. Wählen Sie "Anweisung".

2. Geben Sie den Namen der REAL-Variablen ein, in der der Sollwert gespeichert ist.

Die REAL-Variable können Sie programmgesteuert mit unterschiedlichen Werten belegen, z. B. um den Sollwert Zeit gesteuert zu ändern.

Istwert V2 Wenn Sie den Wert des Analogeingangs direkt verwenden, skaliert PID_3Step den Wert des Analogeingangs in die physikalische Größe.

Wenn Sie den Wert des Analogeingangs erst aufbereiten wollen, müssen Sie ein eigenes Programm für die Aufbereitung schreiben. Zum Beispiel ist der Istwert nicht direkt proportional zum Wert am Analogeingang. Der aufbereitete Istwert muss im Gleitpunktformat vorliegen.

Vorgehen Um den Wert des Analogeingangs direkt zu verwenden, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Input" den Eintrag "Input_PER".

2. Wählen Sie als Quelle "Anweisung".

3. Geben Sie die Adresse des Analogeingangs ein.

Um den aufbereiteten Istwert im Gleitpunktformat zu verwenden, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Input" den Eintrag "Input".

2. Wählen Sie als Quelle "Anweisung".

3. Geben Sie den Namen der Variablen ein, in der der aufbereitete Istwert gespeichert ist.

Page 129: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.2 PID_3Step V2

PID-Regelung 128 Funktionshandbuch, 11/2019, A5E35300226-AE

Stellungsrückmeldung V2 Die Konfiguration der Stellungsrückmeldung ist abhängig vom eingesetzten Stellglied.

● Stellglied ohne Stellungsrückmeldung

● Stellglied mit digitalen Anschlagssignalen

● Stellglied mit analoger Stellungsrückmeldung

● Stellglied mit analoger Stellungsrückmeldung und Anschlagssignalen

Stellglied ohne Stellungsrückmeldung Um PID_3Step für ein Stellglied ohne Stellungsrückmeldung zu konfigurieren, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Feedback" den Eintrag "Kein Feedback".

Stellglied mit digitalen Anschlagssignalen Um PID_3Step für ein Stellglied mit Anschlagssignalen zu konfigurieren, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Feedback" den Eintrag "Kein Feedback".

2. Aktivieren Sie das Optionskästchen "Anschlagsignale Stellglied".

3. Wählen Sie für Actuator_H und Actuator_L als Quelle "Anweisung".

4. Geben Sie für Actuator_H und Actuator_L die Adressen der Digitaleingänge ein.

Stellglied mit analoger Stellungsrückmeldung Um PID_3Step für ein Stellglied mit analoger Stellungsrückmeldung zu konfigurieren, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Feedback" den Eintrag "Feedback" oder "Feedback_PER".

– Bei Feedback_PER verwenden Sie den Wert des Analogeingangs direkt. Die Skalierung von Feedback_PER konfigurieren Sie in den Stellgliedeinstellungen.

– Bei Feedback bereiten Sie den Wert des Analogeingangs über Ihr Anwenderprogramm auf.

2. Wählen Sie als Quelle "Anweisung".

3. Geben Sie die Adresse des Analogeingangs oder die Variable Ihres Anwenderprogramms ein.

Page 130: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.2 PID_3Step V2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 129

Stellglied mit analoger Stellungsrückmeldung und Anschlagssignalen Um PID_3Step für ein Stellglied mit analoger Stellungsrückmeldung und Anschlagssignalen zu konfigurieren, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Feedback" den Eintrag "Feedback" oder "Feedback_PER".

2. Wählen Sie als Quelle "Anweisung".

3. Geben Sie die Adresse des Analogeingangs oder die Variable Ihres Anwenderprogramms ein.

4. Aktivieren Sie das Optionskästchen "Anschlagsignale Stellglied".

5. Wählen Sie für Actuator_H und Actuator_L als Quelle "Anweisung".

6. Geben Sie für Actuator_H und Actuator_L die Adressen der Digitaleingänge ein.

Ausgangswert V2 PID_3Step stellt einen analogen Ausgangswert (Output_PER) und digitale Ausgangswerte (Output_UP, Output_DN) zur Verfügung. Welchen Ausgangswert Sie verwenden, hängt von Ihrem Stellglied ab.

● Output_PER

Das Stellglied verfügt über eine relevante Motorstellzeit und wird über einen analogen Ausgang angesprochen und mit einem kontinuierlichen Signal gesteuert, z. B. 0...10 V oder 4...20 mA. Der Wert an Output_PER entspricht der Zielstellung des Ventils z. B. Output_PER = 13824, wenn das Ventil zu 50 % geöffnet werden soll.

PID_3Step berücksichtigt z. B. für Selbstoptimierung und Anti-Windup-Verhalten, dass der analoge Ausgangswert wegen der Motorstellzeit erst verzögert auf den Prozess wirkt. Ist in Ihrem Prozess keine relevante Motorstellzeit wirksam (z. B. bei Magnetventilen), sodass der Ausgangswert direkt und in vollem Umfang auf den Prozess wirkt, so verwenden Sie stattdessen PID_Compact.

● Output_UP, Output_DN

Das Stellglied verfügt über eine relevante Motorstellzeit und wird über zwei Digitalausgänge gesteuert. Output_UP verfährt das Ventil in Richtung geöffneter Zustand. Output_DN verfährt das Ventil in Richtung geschlossener Zustand.

Die Motorstellzeit wird sowohl bei der Berechnung des analogen Ausgangswerts als auch bei der Berechnung der digitalen Ausgangswerte berücksichtigt. Sie ist vor allem bei der Selbstoptimierung und dem Anti-Windup-Verhalten für eine korrekte Arbeitsweise notwendig. Konfigurieren Sie deshalb die Motorstellzeit unter "Stellgliedeinstellungen" mit dem Wert, den der Motor benötigt, um das Stellglied vom geschlossenen in den geöffneten Zustand zu bewegen.

Page 131: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.2 PID_3Step V2

PID-Regelung 130 Funktionshandbuch, 11/2019, A5E35300226-AE

Vorgehen Um den analogen Ausgangswert zu verwenden, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Output" den Eintrag "Output (analog)".

2. Wählen Sie "Anweisung".

3. Geben Sie die Adresse des Analogausgangs ein.

Um den digitalen Ausgangswert zu verwenden, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Output" den Eintrag "Output (digital)".

2. Wählen Sie für Output_UP und Output_DN "Anweisung".

3. Geben Sie die Adressen der Digitalausgänge ein.

Um den Ausgangswert über das Anwenderprogramm aufzubereiten, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Output" den zum Stellglied passenden Eintrag.

2. Wählen Sie "Anweisung".

3. Geben Sie den Namen der Variablen an, die Sie für die Aufbereitung des Ausgangswerts verwenden.

4. Übertragen Sie den aufbereiteten Ausgangswert über einen Analog- oder Digitalausgang der CPU zum Stellglied.

Page 132: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.2 PID_3Step V2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 131

5.2.1.2 Istwerteinstellungen V2

Istwert skalieren V2 Wenn Sie in der Grundeinstellung die Verwendung von Input_PER konfiguriert haben, dann müssen Sie den Wert des Analogeingangs in die physikalische Größe des Istwerts umrechnen. Im Anzeigefeld Input_PER wird die aktuelle Konfiguration angezeigt.

Wenn der Istwert direkt proportional zum Wert des Analogeingangs ist, wird Input_PER anhand eines unteren und oberen Wertepaars skaliert.

Vorgehen Um den Istwert zu skalieren, gehen Sie folgendermaßen vor:

1. Geben Sie in den Eingabefeldern "Skalierter unterer Istwert" und "Unten" das untere Wertepaar ein.

2. Geben Sie in den Eingabefeldern "Skalierter oberer Istwert" und "Oben" das obere Wertepaar ein.

In der HW-Konfiguration sind Voreinstellungen für die Wertepaare hinterlegt. Um die Wertepaare aus der HW-Konfiguration zu verwenden, gehen Sie folgendermaßen vor:

1. Markieren Sie im Programmiereditor die Anweisung PID_3Step.

2. Verschalten Sie in den Grundeinstellungen Input_PER mit einem Analogeingang.

3. Klicken Sie in den Istwerteinstellungen auf die Schaltfläche "Automatische Einstellung".

Die bestehenden Werte werden mit den Werten aus der HW-Konfiguration überschrieben.

Istwertgrenzen V2 Als Grenzwerte müssen Sie für Ihre Regelstrecke eine sinnvolle absolute Ober- und Untergrenze des Istwerts festlegen. Sobald diese Grenzen über- oder unterschritten werden, tritt ein Fehler auf (ErrorBits = 0001h). Die Optimierung wird abgebrochen, wenn die Istwertgrenzen übrschritten werden. Wie PID_3Step im Fehlerfall im Automatikbetrieb reagiert, legen Sie bei den Stellgliedeinstellungen fest.

Page 133: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.2 PID_3Step V2

PID-Regelung 132 Funktionshandbuch, 11/2019, A5E35300226-AE

5.2.1.3 Stellgliedeinstellungen V2

Stellglied V2

Stellglied spezifische Zeiten Um das Stellglied vor Beschädigung zu schützen, konfigurieren Sie die Motorstellzeit, die minimale Einschaltzeit und die minimale Ausschaltzeit. Die Daten finden Sie im Datenblatt des Stellglieds.

Die Motorstellzeit ist die Zeit in Sekunden, die der Motor benötigt, um das Stellglied vom geschlossenen in den geöffneten Zustand zu bewegen. Die Motorstellzeit kann während der Inbetriebnahme ermittelt werden.

Die Motorstellzeit wird sowohl bei der Berechnung des analogen Ausgangswerts als auch bei der Berechnung der digitalen Ausgangswerte berücksichtigt. Sie ist vor allem bei der Selbstoptimierung und beim Anti-Windup-Verhalten für eine korrekte Arbeitsweise erforderlich.

Ist in Ihrem Prozess keine relevante Motorstellzeit wirksam (z. B. bei Magnetventilen), sodass der Ausgangswert direkt und in vollem Umfang auf den Prozess wirkt, so verwenden Sie stattdessen PID_Compact.

Die Motorstellzeit ist remanent. Wenn Sie die Motorstellzeit manuell ändern, müssen Sie PID_3Step vollständig laden.

Technologieobjekte in Gerät laden (Seite 47)

Wenn Sie Output_UP und Output_DN verwenden, verringern Sie die Schalthäufigkeit mit der minimalen Ein- und Ausschaltzeit.

Im Automatikbetrieb werden die berechneten Ein- oder Ausschaltzeiten summiert und erst wirksam, wenn die Summe größer oder gleich der minimalen Ein- oder Ausschaltzeit ist.

Im Handbetrieb wird das Stellglied durch Manual_UP = TRUE oder Manual_DN = TRUE mindestens um die minimale Ein- oder Ausschaltzeit angesteuert.

Falls Sie in den Grundeinstellungen den analogen Ausgangswert Output_PER gewählt haben, werden die minimale Einschaltzeit und die minimale Ausschaltzeit nicht ausgewertet und sind nicht änderbar.

Page 134: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.2 PID_3Step V2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 133

Verhalten im Fehlerfall PID_3Step ist so voreingestellt, dass im Fehlerfall die Regelung in den meisten Fällen aktiv bleibt. Wenn im Regelbetrieb häufig Fehler auftreten, wird durch diese Voreinstellung das Regelverhalten verschlechtert. Überprüfen Sie dann den Parameter Errorbits und beheben Sie die Fehlerursache.

ACHTUNG

Ihre Anlage kann beschädigt werden.

Wenn Sie im Fehlerfall "Aktueller Wert für die Fehlerdauer" oder "Ersatzausgangswert für die Fehlerdauer " ausgeben, bleibt PID_3Step auch beim Überschreiten der Istwertgrenzen im Automatikbetrieb. Dadurch kann Ihre Anlage beschädigt werden.

Konfigurieren Sie für Ihre Regelstrecke ein Verhalten im Fehlerfall, das Ihre Anlage vor Beschädigung schützt.

Im Fehlerfall gibt PID_3Step einen konfigurierbaren Ausgangswert aus:

● Aktueller Wert

PID_3Step ist ausgeschaltet und verändert die Position des Stellglieds nicht mehr.

● Aktueller Wert für die Fehlerdauer

Die Reglerfunktionen von PID_3Step sind ausgeschaltet und die Position des Stellglieds wird nicht mehr verändert.

Wenn im Automatikbetrieb folgende Fehler aufgetreten sind, kehrt PID_3Step in den Automatikbetrieb zurück, sobald die Fehler nicht mehr anstehen.

– 0002h: Ungültiger Wert am Parameter Input_PER.

– 0200h: Ungültiger Wert am Parameter Input.

– 0400h: Berechnung des Ausgangswerts fehlgeschlagen.

– 1000h: Ungültiger Wert am Parameter Setpoint.

– 2000h: Ungültiger Wert am Parameter Feedback_PER.

– 4000h: Ungültiger Wert am Parameter Feedback.

– 8000h: Fehler bei der digitalen Stellungsrückmeldung.

– 20000h: Ungültiger Wert an der Variablen SavePosition.

Page 135: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.2 PID_3Step V2

PID-Regelung 134 Funktionshandbuch, 11/2019, A5E35300226-AE

Wenn einer oder mehrere der folgenden Fehler auftreten, bleibt PID_3Step im Automatikbetrieb:

– 0001h: Der Parameter Input ist außerhalb der Istwertgrenzen.

– 0800h: Abtastzeitfehler

– 40000h: Ungültiger Wert am Parameter Disturbance.

Wenn im Handbetrieb ein Fehler auftritt, bleibt PID_3Step im Handbetrieb.

Wenn während der Optimierung oder Stellzeitmessung ein Fehler auftritt, wechselt PID_3Step in die Betriebsart, aus der die Optimierung oder Stellzeitmessung gestartet wurde. Nur bei folgendem Fehler wird die Optimierung nicht abgebrochen:

– 0020h: Die Erstoptimierung ist während der Nachoptimierung nicht erlaubt.

● Ersatzausgangswert

PID_3Step fährt das Stellglied auf den Ersatzausgangswert und schaltet sich aus.

● Ersatzausgangswert für die Fehlerdauer

PID_3Step fährt das Stellglied auf den Ersatzausgangswert. Nach dem Erreichen des Ersatzausgangswerts verhält sich PID_3Step wie bei "Aktueller Wert für die Fehlerdauer" beschrieben.

Den Ersatzausgangswert tragen Sie in "%" ein.

Bei Stellgliedern ohne analoge Stellungsrückmeldung können nur die Ersatzausgangswerte 0 % und 100 % exakt angefahren werden. Ein Ersatzausgangswert ungleich 0 % oder 100 % wird über eine intern simulierte Stellungsrückmeldung angefahren. Mit diesem Verfahren kann der Ersatzausgangswert aber nie exakt angefahren werden.

Bei Stellgliedern mit analoger Stellungsrückmeldung können alle Ersatzausgangswerte exakt angefahren werden.

Page 136: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.2 PID_3Step V2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 135

Stellungsrückmeldung skalieren V2

Stellungsrückmeldung skalieren Wenn Sie in der Grundeinstellung die Verwendung von Feedback_PER konfiguriert haben, dann müssen Sie den Wert des Analogeingangs in % umrechnen. Im Anzeigefeld "Feedback" wird die aktuelle Konfiguration angezeigt.

Feedback_PER wird anhand eines unteren und oberen Wertepaars skaliert.

1. Geben Sie in den Eingabefeldern "Unterer Anschlag" und "Unten" das untere Wertepaar ein.

2. Geben Sie in den Eingabefeldern "Oberer Anschlag" und "Oben" das obere Wertepaar ein.

"Unterer Anschlag" muss kleiner sein als "Oberer Anschlag"; "Unten" muss kleiner sein als "Oben".

Die gültigen Werte für "Oberer Anschlag" und "Unterer Anschlag" hängen ab von:

● Kein Feedback, Feedback, Feedback_PER

● Output (analog), Output (digital)

Output Feedback Unterer Anschlag Oberer Anschlag Output (digital) Kein Feedback nicht einstellbar (0.0 %) nicht einstellbar (100.0 %) Output (digital) Feedback -100.0 % oder 0.0 % 0.0 % oder +100.0 % Output (digital) Feedback_PER -100.0 % oder 0.0 % 0.0 % oder +100.0 % Output (analog) Kein Feedback nicht einstellbar (0.0 %) nicht einstellbar (100.0 %) Output (analog) Feedback -100.0 % oder 0.0 % 0.0 % oder +100.0 % Output (analog) Feedback_PER -100.0 % oder 0.0 % 0.0 % oder +100.0 %

Ausgangswertgrenzen V2

Ausgangswert begrenzen Während der Stellzeitmessung und bei Mode = 10 können die Ausgangswertgrenzen über- oder unterschritten werden. In allen anderen Betriebsarten wird der Ausgangswert auf diese Werte begrenzt.

Geben Sie in den Eingabefeldern "Obergrenze Ausgangswert" und "Untergrenze Ausgangswert" die absoluten Ausgangswertgrenzen ein. Die Ausgangswertgrenzen müssen innerhalb "Unterer Anschlag" und "Oberer Anschlag" liegen.

Wenn kein Feedback vorhanden ist und Output (digital) eingestellt ist, können Sie den Ausgangswert nicht begrenzen. Output_UP und Output_DN werden dann bei Actuator_H = TRUE oder Actuator_L = TRUE zurück gesetzt. Wenn keine Anschlagsignale vorhanden sind, werden Output_UP und Output_DN nach einer Verfahrzeit von 150% der Motorstellzeit zurück gesetzt.

Der Default-Wert 150% kann über die Variable Config.VirtualActuatorLimit angepasst werden. Ab PID_3Step Version 2.3 kann die Überwachung und Begrenzung der Verfahrzeit mit Config.VirtualActuatorLimit = 0.0 deaktiviert werden.

Page 137: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.2 PID_3Step V2

PID-Regelung 136 Funktionshandbuch, 11/2019, A5E35300226-AE

5.2.1.4 Erweiterte Einstellungen V2

Istwertüberwachung V2 Konfigurieren Sie im Konfigurationsfenster "Istwertüberwachung" eine untere und eine obere Warngrenze des Istwerts. Wird im Betrieb eine der Warngrenzen über oder unterschritten, so wird an der Anweisung PID_3Step eine Warnung angezeigt:

● Am Ausgangsparameter InputWarning_H, wenn die obere Warngrenze überschritten wurde

● Am Ausgangsparameter InputWarning_L, wenn die untere Warngrenze unterschritten wurde

Die Warngrenzen müssen innerhalb der Ober- und Untergrenze Istwert liegen.

Wenn Sie keine Werte eingeben, werden die Ober- und Untergrenze Istwert verwendet.

Beispiel Obergrenze Istwert = 98 °C ; Obere Warngrenze = 90 °C

Untere Warngrenze = 10 °C ; Untergrenze Istwert = 0 °C

PID_3Step verhält sich folgendermaßen: Istwert InputWarning_H InputWarning_L ErrorBits Betriebsart > 98 °C TRUE FALSE 0001h Wie konfiguriert ≤ 98 °C und > 90 °C TRUE FALSE 0000h Automatikbetrieb ≤ 90 °C und ≥ 10 °C FALSE FALSE 0000h Automatikbetrieb < 10°C und ≥ 0 °C FALSE TRUE 0000h Automatikbetrieb < 0 °C FALSE TRUE 0001h Wie konfiguriert

Wie PID_3Step beim Über- oder Unterschreiten der Obergrenze bzw. Untergrenze Istwert reagiert, konfigurieren Sie bei den Stellgliedeinstellungen.

Page 138: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.2 PID_3Step V2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 137

PID-Parameter V2 Im Konfigurationsfenster "PID-Parameter" werden die PID-Parameter angezeigt. Während der Optimierung werden die PID-Parameter an Ihre Regelstrecke angepasst. Sie brauchen die PID-Parameter nicht manuell eingeben.

Hinweis

Die aktuell wirksamen PID-Parameter befinden sich in der Struktur Retain.CtrlParams.

Um ein Fehlverhalten des PID-Reglers zu vermeiden, ändern Sie online die aktuell wirksamen PID-Parameter nur in der Betriebsart "inaktiv".

Wenn Sie die PID-Parameter in den Betriebsarten "Automatikbetrieb" oder "Handbetrieb" online ändern möchten, dann ändern Sie die PID-Parameter in der Struktur CtrlParamsBackUp und übernehmen diese Änderungen in die Struktur Retain.CtrlParams folgendermaßen: • PID_3Step V1: Übernehmen Sie die Änderungen per Config.LoadBackUp = TRUE • PID_3Step V2: Übernehmen Sie die Änderungen per LoadBackUp = TRUE

Online Änderungen an den PID-Parametern in der Betriebsart "Automatikbetrieb" können zu Sprüngen am Ausgangswert führen.

Der PID-Algorithmus arbeitet nach folgender Formel:

Δy Ausgangswert des PID-Algorithmus Kp Proportionalverstärkung s Laplace-Operator b Gewichtung des P-Anteils w Sollwert x Istwert TI Integrationszeit a Koeffizient für den Differenzierverzug (Differenzierverzug T1 = a × TD) TD Differenzierzeit c Gewichtung des D-Anteils

Page 139: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.2 PID_3Step V2

PID-Regelung 138 Funktionshandbuch, 11/2019, A5E35300226-AE

Die folgende Grafik zeigt, wie die Parameter in den PID-Algorithmus einfließen:

Alle PID-Parameter sind remanent. Wenn Sie die PID-Parameter manuell eingeben, müssen Sie PID_3Step vollständig laden.

Technologieobjekte in Gerät laden (Seite 47)

Proportionalverstärkung Der Wert gibt die Proportionalverstärkung des Reglers an. PID_3Step arbeitet nicht mit einer negativen Proportionalverstärkung. Den Regelsinn invertieren Sie unter Grundeinstellungen > Regelungsart.

Integrationszeit Die Integrationszeit bestimmt das Zeitverhalten des I-Anteils. Abschalten des I-Anteils erfolgt mit Integrationszeit = 0.0. Wenn die Integrationszeit in der Betriebsart "Automatikbetrieb" von einem anderen Wert auf 0.0 online geändert wird, dann wird der bisherige I-Anteil gelöscht und es erfolgt ein Sprung des Ausgangswerts.

Differenzierzeit Die Differenzierzeit bestimmt das Zeitverhalten des D-Anteils. Abschalten des D-Anteils erfolgt mit Differenzierzeit = 0.0.

Page 140: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.2 PID_3Step V2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 139

Koeffizient Differenzierverzug Die Wirkung des D-Anteils wird durch den Koeffizent Differenzierverzug verzögert.

Differenzierverzug = Differenzierzeit × Koeffizient Differenzierverzug

● 0.0: D-Anteil wirkt nur für einen Zyklus und ist damit fast nicht wirksam.

● 0.5: Dieser Wert hat sich in der Praxis für Regelstrecken mit einer dominierenden Zeitkonstanten bewährt.

● > 1.0: Je größer der Koeffizient, desto stärker wird die Wirkung des D-Anteils verzögert.

Gewichtung des P-Anteils Sie können bei Sollwertänderungen den P-Anteil abschwächen.

Sinnvoll sind Werte von 0.0 bis 1.0.

● 1.0: P-Anteil bei Sollwertänderung voll wirksam

● 0.0: P-Anteil bei Sollwertänderung nicht wirksam

Bei Änderung des Istwerts ist der P-Anteil immer voll wirksam.

Gewichtung des D-Anteils Sie können bei Sollwertänderungen den D-Anteil abschwächen.

Sinnvoll sind Werte von 0.0 bis 1.0.

● 1.0: D-Anteil bei Sollwertänderung voll wirksam

● 0.0: D-Anteil bei Sollwertänderung nicht wirksam

Bei Änderung des Istwerts ist der D-Anteil immer voll wirksam.

Abtastzeit PID-Algorithmus Da die Regelstrecke eine gewisse Zeit benötigt, um auf eine Änderung des Ausgangswerts zu reagieren, ist es sinnvoll, den Ausgangswert nicht in jedem Zyklus zu berechnen. Die Abtastzeit PID-Algorithmus ist die Zeit zwischen zwei Ausgangswertberechnungen. Sie wird während der Optimierung ermittelt und auf ein Vielfaches der Abtastzeit PID_3Step gerundet. Alle anderen Funktionen von PID_3Step werden bei jedem Aufruf durchgeführt.

Totzonenbreite Die Totzone unterdrückt die Rauschanteile im eingeschwungenen Reglerzustand. Die Totzonenbreite gibt die Größe der Totzone an. Bei einer Totzonenbreite von 0.0 ist die Totzone abgeschaltet.

Falls für die Gewichtung des P-Anteils oder die Gewichtung des D-Anteils Werte ungleich 1.0 konfiguriert sind, wirken sich Sollwertänderungen auch innerhalb der Totzone auf den Ausgangswert aus. Istwertänderungen innerhalb der Totzone wirken sich unabhängig von den Gewichtungen nicht auf den Ausgangswert aus.

Page 141: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.2 PID_3Step V2

PID-Regelung 140 Funktionshandbuch, 11/2019, A5E35300226-AE

5.2.2 PID_3Step V2 in Betrieb nehmen

5.2.2.1 Erstoptimierung V2 Die Erstoptimierung ermittelt die Prozessantwort auf einen Impuls des Ausgangswerts und sucht den Wendepunkt. Aus der maximalen Steigung und der Totzeit der Regelstrecke werden die optimalen PID-Parameter berechnet. Die besten PID-Parameter erhalten Sie, wenn Sie Erst- und Nachoptimierung durchführen.

Je stabiler der Istwert ist, desto leichter und genauer können die PID-Parameter ermittelt werden. Ein Rauschen des Istwerts ist solange akzeptabel, wie der Anstieg des Istwerts signifikant größer ist als das Rauschen. Dies ist am ehesten in den Betriebsarten "Inaktiv" oder "Handbetrieb" gegeben. Die PID-Parameter werden gesichert bevor sie neu berechnet werden.

Der Sollwert wird während der Erstoptimierung eingefroren.

Voraussetzung ● Die Anweisung PID_3Step wird in einem Weckalarm-OB aufgerufen.

● ManualEnable = FALSE

● Reset = FALSE

● Die Motorstellzeit ist konfiguriert oder gemessen.

● PID_3Step befindet sich in der Betriebsart "Inaktiv", "Handbetrieb" oder "Automatikbetrieb".

● Der Sollwert und der Istwert befinden sich innerhalb der konfigurierten Grenzen (siehe Konfiguration "Istwerteinstellungen").

Page 142: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.2 PID_3Step V2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 141

Vorgehen Um die Erstoptimierung durchzuführen, gehen Sie folgendermaßen vor:

1. Doppelklicken Sie in der Projektnavigation auf den Eintrag "PID_3Step > Inbetriebnahme".

2. Wählen Sie im Arbeitsbereich "Optimierung" in der Klappliste "Optimierungsart" den Eintrag "Erstoptimierung".

3. Klicken Sie auf das Symbol "Start".

– Eine Online-Verbindung wird aufgebaut.

– Die Aufzeichnung der Werte wird gestartet.

– Die Erstoptimierung wird gestartet.

– Im Feld "Status" werden Ihnen die aktuellen Arbeitsschritte und evtl. auftretende Fehler angezeigt. Der Fortschrittsbalken zeigt den Fortschritt des aktuellen Arbeitsschritts an.

Hinweis

Klicken Sie auf das Symbol "Stop", wenn der Fortschrittbalken 100% erreicht hat und von einer Blockade der Optimierung ausgegangen werden muss. Prüfen Sie die Konfiguration des Technologieobjekts und starten Sie ggf. die Optimierung erneut.

Ergebnis Wurde die Erstoptimierung ohne Fehlermeldung durchlaufen, so wurden die PID-Parameter optimiert. PID_3Step wechselt in den Automatikbetrieb und verwendet die optimierten Parameter. Die optimierten PID-Parameter bleiben bei Netz-AUS und Neustart der CPU erhalten.

Wenn eine Erstoptimierung nicht möglich ist, verhält sich PID_3Step wie unter Verhalten im Fehlerfall konfiguriert.

Page 143: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.2 PID_3Step V2

PID-Regelung 142 Funktionshandbuch, 11/2019, A5E35300226-AE

5.2.2.2 Nachoptimierung V2 Die Nachoptimierung generiert eine konstante, begrenzte Schwingung des Istwertes. Aus Amplitude und Frequenz dieser Schwingung werden die PID-Parameter für den Arbeitspunkt optimiert. Aus den Ergebnissen werden alle PID-Parameter neu berechnet. Die PID-Parameter aus der Nachoptimierung zeigen meist ein besseres Führungs- und Störverhalten als die PID-Parameter aus der Erstoptimierung. Die besten PID-Parameter erhalten Sie, wenn Sie Erst- und Nachoptimierung durchführen.

PID_3Step versucht automatisch eine Schwingung zu erzeugen, die größer ist als das Rauschen des Istwerts. Die Nachoptimierung wird nur geringfügig von der Stabilität des Istwerts beeinflusst. Die PID-Parameter werden gesichert bevor sie neu berechnet werden.

Der Sollwert wird während der Nachoptimierung eingefroren.

Voraussetzung ● Die Anweisung PID_3Step wird in einem Weckalarm-OB aufgerufen.

● ManualEnable = FALSE

● Reset = FALSE

● Die Motorstellzeit ist konfiguriert oder gemessen.

● Der Sollwert und der Istwert befinden sich innerhalb der konfigurierten Grenzen (siehe Konfiguration "Istwerteinstellungen").

● Der Regelkreis ist am Arbeitspunkt eingeschwungen. Der Arbeitspunkt ist erreicht, wenn der Istwert dem Sollwert entspricht.

● Es werden keine Störungen erwartet.

● PID_3Step befindet sich in der Betriebsart Inaktiv, Automatikbetrieb oder Handbetrieb.

Ablauf abhängig von Startsituation Die Nachoptimierung verläuft folgendermaßen beim Start aus:

● Automatikbetrieb

Wenn Sie die vorhandenen PID-Parameter durch die Optimierung verbessern wollen, starten Sie die Nachoptimierung aus dem Automatikbetrieb.

PID_3Step regelt solange mit den vorhandenen PID-Parametern, bis der Regelkreis eingeschwungen ist und die Voraussetzungen für eine Nachoptimierung erfüllt sind. Erst dann startet die Nachoptimierung.

● Inaktiv oder Handbetrieb

Zuerst wird immer eine Erstoptimierung gestartet. Mit den ermittelten PID-Parametern wird solange geregelt, bis der Regelkreis eingeschwungen ist und die Voraussetzungen für eine Nachoptimierung erfüllt sind. Erst dann startet die Nachoptimierung.

Page 144: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.2 PID_3Step V2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 143

Vorgehen Um die "Nachoptimierung" durchzuführen gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Optimierungsart" den Eintrag "Nachoptimierung".

2. Klicken Sie auf das Symbol "Start".

– Eine Online-Verbindung wird aufgebaut.

– Die Aufzeichnung der Werte wird gestartet.

– Der Ablauf der Nachoptimierung wird gestartet.

– Im Feld "Status" werden Ihnen die aktuellen Arbeitsschritte und evtl. auftretende Fehler angezeigt. Der Fortschrittsbalken zeigt den Fortschritt des aktuellen Arbeitsschritts an.

Hinweis

Klicken Sie in der Gruppe "Optimierungsart" auf das Symbol "Stop", wenn der Fortschrittbalken 100% erreicht hat und von einer Blockade der Optimierung ausgegangen werden muss. Prüfen Sie die Konfiguration des Technologieobjekts und starten Sie ggf. die Optimierung erneut.

Ergebnis Wenn während der Nachoptimierung keine Fehler auftraten, wurden die PID-Parameter optimiert. PID_3Step wechselt in den Automatikbetrieb und verwendet die optimierten Parameter. Die optimierten PID-Parameter bleiben bei Netz-AUS und Neustart der CPU erhalten.

Wenn während der Nachoptimierung Fehler auftraten, verhält sich PID_3Step wie unter Verhalten im Fehlerfall konfiguriert.

Page 145: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.2 PID_3Step V2

PID-Regelung 144 Funktionshandbuch, 11/2019, A5E35300226-AE

5.2.2.3 Mit manuellen PID-Parametern in Betrieb nehmen V2

Voraussetzung ● Die Anweisung PID_3Step wird in einem Weckalarm-OB aufgerufen.

● ManualEnable = FALSE

● Reset = FALSE

● Die Motorstellzeit ist konfiguriert oder gemessen.

● PID_3Step befindet sich in der Betriebsart "Inaktiv".

● Der Sollwert und der Istwert befinden sich innerhalb der konfigurierten Grenzen (siehe Konfiguration "Istwerteinstellungen").

Vorgehen Um PID_3Step mit manuellen PID-Parametern in Betrieb zu nehmen, gehen Sie folgendermaßen vor:

1. Doppelklicken Sie in der Projektnavigation auf den Eintrag "PID_3Step > Konfiguration".

2. Klicken Sie im Konfigurationsfenster auf "Erweiterte Einstellungen > PID-Parameter".

3. Aktivieren Sie das Optionskästchen "Manuelle Eingabe aktivieren".

4. Geben Sie die PID-Parameter ein.

5. Doppelklicken Sie in der Projektnavigation auf den Eintrag "PID_3Step > Inbetriebnahme".

6. Stellen Sie eine Online-Verbindung zur CPU her.

7. Laden Sie die PID-Parameter auf die CPU.

8. Klicken Sie auf das Symbol "Start PID_3Step".

Ergebnis PID_3Step wechselt in den Automatikbetrieb und regelt mit den aktuellen PID-Parametern.

Siehe auch PID-Parameter V2 (Seite 137)

Page 146: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.2 PID_3Step V2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 145

5.2.2.4 Motorstellzeit messen V2

Einleitung PID_3Step benötigt die Motorstellzeit so genau wie möglich, um ein gutes Regelergebnis zu erreichen. Die Angaben in der Dokumentation des Stellglieds sind gemittelte Werte für diesen Typ Stellglieder. Für das konkret verwendete Stellglied kann der Wert variieren. Wenn Sie Stellglieder mit Stellungsrückmeldung oder mit Anschlagsignalen verwenden, können Sie während der Inbetriebnahme die Motorstellzeit messen. Die Ausgangswertgrenzen werden während der Motorstellzeitmessung nicht berücksichtigt. Dass Stellglied kann bis zum oberen oder unteren Anschlag verfahren werden. Wenn weder eine Stellungsrückmeldung noch Anschlagsignale verfügbar sind, kann die Motorstellzeit nicht gemessen werden.

Stellglieder mit analoger Stellungsrückmeldung Um die Motorstellzeit mit Stellungsrückmeldung zu messen, gehen Sie folgendermaßen vor:

Voraussetzung

● In den Grundeinstellungen ist Feedback oder Feedback_PER ausgewählt und das Signal ist verschaltet.

● Eine Online-Verbindung zur CPU ist aufgebaut.

1. Aktivieren Sie das Optionsfeld "Stellungsrückmeldung verwenden".

2. Geben Sie im Eingabefeld "Zielstellung" ein, wohin das Stellglied bewegt werden soll.

Die aktuelle Stellungsrückmeldung (Startstellung) wird angezeigt. Die Differenz zwischen "Zielstellung" und "Stellungsrückmeldung" muss mindestens 50 % des zulässigen Ausgangswertbereichs sein.

3. Klicken Sie auf das Symbol "Start".

Ergebnis Das Stellglied wird von der Startstellung in die Zielstellung gefahren. Die Zeitmessung startet sofort und endet, wenn das Stellglied die Zielstellung erreicht hat. Die Motorstellzeit wird berechnet nach der Formel: Motorstellzeit = (Obergrenze Ausgangswert – Untergrenze Ausgangswert) × Messzeit / BETRAG(Zielstellung – Startstellung). Fortschritt und Status der Stellzeitmessung werden angezeigt. Die gemessene Stellzeit wird im Instanz-Datenbaustein auf der CPU gespeichert und im Feld "gemessene Stellzeit" angezeigt. Wenn die Stellzeitmessung beendet ist und ActivateRecoverMode = TRUE ist, wechselt PID_3Step in die Betriebsart, aus der die Stellzeitmessung gestartet wurde. Wenn die Stellzeitmessung beendet ist und ActivateRecoverMode = FALSE ist, wechselt PID_3Step in die Betriebsart "Inaktiv".

Hinweis

Um die gemessene Motorstellzeit in das Projekt zu übernehmen, klicken Sie auf das Symbol "Gemessene Stellzeit laden".

Page 147: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.2 PID_3Step V2

PID-Regelung 146 Funktionshandbuch, 11/2019, A5E35300226-AE

Stellglieder mit Anschlagsignalen Um die Stellzeit von Stellgliedern mit Anschlagsignalen zu messen, gehen Sie folgendermaßen vor:

Voraussetzung

● In den Grundeinstellungen ist das Optionskästchen "Anschlagsignale" aktiviert und Actuator_H und Actuator_L sind verschaltet.

● Eine Online-Verbindung zur CPU ist aufgebaut.

Um die Motorstellzeit mit Anschlagsignalen zu messen, gehen Sie folgendermaßen vor:

1. Aktivieren Sie das Optionsfeld "Anschlagsignale des Stellglieds verwenden".

2. Wählen Sie die Richtung, in die das Stellglied bewegt werden soll.

– Öffnen - Schließen - Öffnen

Das Stellglied wird zuerst bis zum oberen Anschlag gefahren, dann zum unteren Anschlag und erneut zum oberen Anschlag.

– Schließen - Öffnen - Schließen

Das Stellglied wird zuerst bis zum unteren Anschlag gefahren, dann zum oberen Anschlag und erneut zum unteren Anschlag.

3. Klicken Sie auf das Symbol "Start".

Ergebnis Das Stellglied wird in der gewählten Richtung bewegt. Die Zeitmessung startet, wenn das Stellglied den ersten Anschlag erreicht hat und endet, wenn das Stellglied diesen Anschlag zum zweiten Mal erreicht. Die gemessene Zeit geteilt durch zwei ergibt die Motorstellzeit.

Fortschritt und Status der Stellzeitmessung werden angezeigt. Die gemessene Stellzeit wird im Instanz-Datenbaustein auf der CPU gespeichert und im Feld "gemessene Stellzeit" angezeigt. Wenn die Stellzeitmessung beendet ist und ActivateRecoverMode = TRUE ist, wechselt PID_3Step in die Betriebsart, aus der die Stellzeitmessung gestartet wurde. Wenn die Stellzeitmessung beendet ist und ActivateRecoverMode = FALSE ist, wechselt PID_3Step in die Betriebsart "Inaktiv".

Stellzeitmessung abbrechen Wenn Sie die Stellzeitmessung mit der Schaltfläche Stop abbrechen, wechselt PID_3Step in die Betriebsart "Inaktiv".

Page 148: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.2 PID_3Step V2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 147

5.2.3 PID_3Step V2 mit PLCSIM simulieren

Hinweis Simulation mit PLCSIM

Die Simulation von PID_3Step V2.x mit PLCSIM für CPU S7-1200 wird nicht unterstützt.

PID_3Step V2.x kann nur für CPU S7-1500 mit PLCSIM simuliert werden.

Bei der Simulation mit PLCSIM ist das zeitliche Verhalten der simulierten PLC nicht exakt identisch zu einer "echten" PLC. Der tatsächliche Zeittakt eines Weckalarm-OB kann bei einer simulierten PLC größere Schwankungen aufweisen als bei "echten" PLCs.

In der Standardkonfiguration ermittelt PID_3Step die Zeit zwischen den Aufrufen automatisch und überwacht diese auf Schwankungen.

Bei der Simulation von PID_3Step mit PLCSIM kann deshalb ein Abtastzeitfehler (ErrorBits = DW#16#00000800) erkannt werden.

Dies führt zum Abbruch von laufenden Optimierungen.

Die Reaktion im Automatikbetrieb ist abhängig vom Wert der Variable ActivateRecoverMode.

Um dies zu verhindern, sollten Sie PID_3Step bei Simulation mit PLCSIM wie folgt konfigurieren: • CycleTime.EnEstimation = FALSE • CycleTime.EnMonitoring = FALSE • CycleTime.Value: Weisen Sie dieser Variablen den Zeittakt des aufrufenden Weckalarm-

OB in der Einheit Sekunden zu.

Page 149: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.3 PID_3Step V1

PID-Regelung 148 Funktionshandbuch, 11/2019, A5E35300226-AE

5.3 PID_3Step V1

5.3.1 PID_3Step V1 konfigurieren

5.3.1.1 Grundeinstellungen V1

Einleitung V1 Konfigurieren Sie im Inspektorfenster, bzw. im Konfigurationsfenster in den "Grundeinstellungen" folgende Eigenschaften des Technologieobjekts PID_3Step:

● Physikalische Größe

● Regelsinn

● Anlaufverhalten nach Reset

● Sollwert (nur im Inspektorfenster)

● Istwert (nur im Inspektorfenster)

● Ausgangswert (nur im Inspektorfenster)

● Stellungsrückmeldung (nur im Inspektorfenster)

Sollwert, Istwert, Ausgangswert und Stellungsrückmeldung Sollwert, Istwert, Ausgangswert und Stellungsrückmeldung können Sie nur im Inspektorfenster des Programmiereditors konfigurieren. Für jeden Wert wählen Sie die Quelle:

● Instanz-DB

Es wird der Wert verwendet der im Instanz-DB gespeichert ist.

Wert muss im Instanz-DB vom Anwenderprogramm aktualisiert werden.

An der Anweisung darf kein Wert stehen.

Änderung über HMI möglich.

● Anweisung

Es wird der Wert verwendet, der an der Anweisung verschaltet ist. Bei jedem Aufruf der Anweisung wird der Wert in den Instanz-DB geschrieben.

Änderung über HMI nicht möglich.

Page 150: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.3 PID_3Step V1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 149

Regelungsart V1

Physikalische Größe Wählen Sie in der Gruppe "Regelungsart" die physikalische Größe und Einheit für Soll- und Istwert. Soll- und Istwert werden in dieser Einheit angezeigt.

Regelsinn Meist soll mit einer Erhöhung des Ausgangswerts eine Erhöhung des Istwerts erreicht werden. In diesem Fall spricht man von einem normalen Regelsinn.

PID_3Step arbeitet nicht mit negativer Proportionalverstärkung. Um durch einen höheren Ausgangswert den Istwert zu verringern, aktiveren Sie das Optionskästchen "Invertieren des Regelsinns".

Beispiele

● Durch Öffnen eines Ablaufventils sinkt der Füllstand eines Behälters.

● Durch eine höhere Kühlleistung sinkt die Temperatur.

Anlaufverhalten nach Reset Um nach Neustart der CPU sofort in die zuletzt aktive Betriebsart zu wechseln, aktivieren Sie das Optionskästchen "Nach CPU Neustart letzte Betriebsart aktivieren".

Wenn das Optionskästchen deaktiviert ist, bleibt der PID_3Step in der Betriebsart "Inaktiv".

Sollwert V1

Vorgehen Um einen festen Sollwert vorzugeben, gehen Sie folgendermaßen vor:

1. Wählen Sie "Instanz-DB".

2. Geben Sie einen Sollwert ein, z. B. 80 °C.

3. Löschen Sie ggf. einen Eintrag an der Anweisung.

Um einen variablen Sollwert vorzugeben, gehen Sie folgendermaßen vor:

1. Wählen Sie "Anweisung".

2. Geben Sie den Namen der REAL-Variablen ein, in der der Sollwert gespeichert ist.

Die REAL-Variable können Sie programmgesteuert mit unterschiedlichen Werten belegen, z. B. um den Sollwert Zeit gesteuert zu ändern.

Page 151: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.3 PID_3Step V1

PID-Regelung 150 Funktionshandbuch, 11/2019, A5E35300226-AE

Istwert V1 Wenn Sie den Wert des Analogeingangs direkt verwenden, skaliert PID_3Step den Wert des Analogeingangs in die physikalische Größe.

Wenn Sie den Wert des Analogeingangs erst aufbereiten wollen, müssen Sie ein eigenes Programm für die Aufbereitung schreiben. Zum Beispiel ist der Istwert nicht direkt proportional zum Wert am Analogeingang. Der aufbereitete Istwert muss im Gleitpunktformat vorliegen.

Vorgehen Um den Wert des Analogeingangs direkt zu verwenden, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Input" den Eintrag "Input_PER".

2. Wählen Sie als Quelle "Anweisung".

3. Geben Sie die Adresse des Analogeingangs ein.

Um den aufbereiteten Istwert im Gleitpunktformat zu verwenden, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Input" den Eintrag "Input".

2. Wählen Sie als Quelle "Anweisung".

3. Geben Sie den Namen der Variablen ein, in der der aufbereitete Istwert gespeichert ist.

Stellungsrückmeldung V1 Die Konfiguration der Stellungsrückmeldung ist abhängig vom eingesetzten Stellglied.

● Stellglied ohne Stellungsrückmeldung

● Stellglied mit digitalen Anschlagssignalen

● Stellglied mit analoger Stellungsrückmeldung

● Stellglied mit analoger Stellungsrückmeldung und Anschlagssignalen

Stellglied ohne Stellungsrückmeldung Um PID_3Step für ein Stellglied ohne Stellungsrückmeldung zu konfigurieren, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Feedback" den Eintrag "Kein Feedback".

Page 152: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.3 PID_3Step V1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 151

Stellglied mit digitalen Anschlagssignalen Um PID_3Step für ein Stellglied mit Anschlagssignalen zu konfigurieren, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Feedback" den Eintrag "Kein Feedback".

2. Aktivieren Sie das Optionskästchen "Anschlagsignale Stellglied".

3. Wählen Sie für Actuator_H und Actuator_L als Quelle "Anweisung".

4. Geben Sie für Actuator_H und Actuator_L die Adressen der Digitaleingänge ein.

Stellglied mit analoger Stellungsrückmeldung Um PID_3Step für ein Stellglied mit analoger Stellungsrückmeldung zu konfigurieren, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Feedback" den Eintrag "Feedback" oder "Feedback_PER".

– Bei Feedback_PER verwenden Sie den Wert des Analogeingangs direkt. Die Skalierung von Feedback_PER konfigurieren Sie in den Stellgliedeinstellungen.

– Bei Feedback bereiten Sie den Wert des Analogeingangs über Ihr Anwenderprogramm auf.

2. Wählen Sie als Quelle "Anweisung".

3. Geben Sie die Adresse des Analogeingangs oder die Variable Ihres Anwenderprogramms ein.

Stellglied mit analoger Stellungsrückmeldung und Anschlagssignalen Um PID_3Step für ein Stellglied mit analoger Stellungsrückmeldung und Anschlagssignalen zu konfigurieren, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Feedback" den Eintrag "Feedback" oder "Feedback_PER".

2. Wählen Sie als Quelle "Anweisung".

3. Geben Sie die Adresse des Analogeingangs oder die Variable Ihres Anwenderprogramms ein.

4. Aktivieren Sie das Optionskästchen "Anschlagsignale Stellglied".

5. Wählen Sie für Actuator_H und Actuator_L als Quelle "Anweisung".

6. Geben Sie für Actuator_H und Actuator_L die Adressen der Digitaleingänge ein.

Page 153: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.3 PID_3Step V1

PID-Regelung 152 Funktionshandbuch, 11/2019, A5E35300226-AE

Ausgangswert V1 PID_3Step stellt einen analogen Ausgangswert (Output_PER) und digitale Ausgangswerte (Output_UP, Output_DN) zur Verfügung. Welchen Ausgangswert Sie verwenden, hängt von Ihrem Stellglied ab. ● Output_PER

Das Stellglied verfügt über eine relevante Motorstellzeit und wird über einen analogen Ausgang angesprochen und mit einem kontinuierlichen Signal gesteuert, z. B. 0...10 V oder 4...20 mA. Der Wert an Output_PER entspricht der Zielstellung des Ventils z. B. Output_PER = 13824, wenn das Ventil zu 50 % geöffnet werden soll. PID_3Step berücksichtigt z. B. für Selbstoptimierung und Anti-Windup-Verhalten, dass der analoge Ausgangswert wegen der Motorstellzeit erst verzögert auf den Prozess wirkt. Ist in Ihrem Prozess keine relevante Motorstellzeit wirksam (z. B. bei Magnetventilen), sodass der Ausgangswert direkt und in vollem Umfang auf den Prozess wirkt, so verwenden Sie stattdessen PID_Compact.

● Output_UP, Output_DN Das Stellglied verfügt über eine relevante Motorstellzeit und wird über zwei Digitalausgänge gesteuert. Output_UP verfährt das Ventil in Richtung geöffneter Zustand. Output_DN verfährt das Ventil in Richtung geschlossener Zustand.

Die Motorstellzeit wird sowohl bei der Berechnung des analogen Ausgangswerts als auch bei der Berechnung der digitalen Ausgangswerte berücksichtigt. Sie ist vor allem bei der Selbstoptimierung und dem Anti-Windup-Verhalten für eine korrekte Arbeitsweise notwendig. Konfigurieren Sie deshalb die Motorstellzeit unter "Stellgliedeinstellungen" mit dem Wert, den der Motor benötigt, um das Stellglied vom geschlossenen in den geöffneten Zustand zu bewegen.

Vorgehen Um den analogen Ausgangswert zu verwenden, gehen Sie folgendermaßen vor: 1. Wählen Sie in der Klappliste "Output" den Eintrag "Output (analog)". 2. Wählen Sie "Anweisung". 3. Geben Sie die Adresse des Analogausgangs ein.

Um den digitalen Ausgangswert zu verwenden, gehen Sie folgendermaßen vor: 1. Wählen Sie in der Klappliste "Output" den Eintrag "Output (digital)". 2. Wählen Sie für Output_UP und Output_DN "Anweisung". 3. Geben Sie die Adressen der Digitalausgänge ein.

Um den Ausgangswert über das Anwenderprogramm aufzubereiten, gehen Sie folgendermaßen vor: 1. Wählen Sie in der Klappliste "Output" den zum Stellglied passenden Eintrag. 2. Wählen Sie "Anweisung". 3. Geben Sie den Namen der Variablen an, die Sie für die Aufbereitung des Ausgangswerts

verwenden. 4. Übertragen Sie den aufbereiteten Ausgangswert über einen Analog- oder Digitalausgang

der CPU zum Stellglied.

Page 154: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.3 PID_3Step V1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 153

5.3.1.2 Istwerteinstellung V1 Konfigurieren Sie im Konfigurationsfenster "Istwerteinstellungen" die Normierung Ihres Istwerts und legen Sie die absoluten Istwertgrenzen fest.

Istwert skalieren Wenn Sie in der Grundeinstellung die Verwendung von Input_PER konfiguriert haben, dann müssen Sie den Wert des Analogeingangs in die physikalische Größe des Istwerts umrechnen. Im Anzeigefeld Input_PER wird die aktuelle Konfiguration angezeigt.

Wenn der Istwert direkt proportional zum Wert des Analogeingangs ist, wird Input_PER anhand eines unteren und oberen Wertepaars skaliert.

1. Geben Sie in den Eingabefeldern "Skalierter unterer Istwert" und "Unten" das untere Wertepaar ein.

2. Geben Sie in den Eingabefeldern "Skalierter oberer Istwert" und "Oben" das obere Wertepaar ein.

In der HW-Konfiguration sind Voreinstellungen für die Wertepaare hinterlegt. Um die Wertepaare aus der HW-Konfiguration zu verwenden, gehen Sie folgendermaßen vor:

1. Markieren Sie im Programmiereditor die Anweisung PID_3Step.

2. Verschalten Sie in den Grundeinstellungen Input_PER mit einem Analogeingang.

3. Klicken Sie in den Istwerteinstellungen auf die Schaltfläche "Automatische Einstellung".

Die bestehenden Werte werden mit den Werten aus der HW-Konfiguration überschrieben.

Istwert überwachen Legen Sie die absolute Ober- und Untergrenze des Istwerts fest. Als Grenzwerte müssen Sie für Ihre Regelstrecke sinnvolle Werte eingeben. Während der Optimierung sind sinnvolle Grenzwerte wichtig, um optimale PID-Parameter zu erhalten. Die Vorbelegung der "Obergrenze Istwert" beträgt 120 %. Am Peripherie-Eingang kann der Istwert maximal 18 % über dem Normbereich (Übersteuerungsbereich) liegen. Wegen einer Überschreitung der "Obergrenze Istwert" wird mit dieser Einstellung kein Fehler mehr gemeldet. Nur Drahtbruch und Kurzschluss werden erkannt und PID_3Step verhält sich wie unter Verhalten im Fehlerfall konfiguriert.

ACHTUNG

Ihre Anlage kann beschädigt werden.

Wenn Sie als Istwertgrenzen sehr hohe Werte (z. B. -3,4*1038...+3,4*1038) einstellen, wird die Überwachung des Istwerts deaktiviert. Dann kann es durch einen Fehler zu Schäden an Ihrer Anlage kommen. Konfigurieren Sie für Ihre Regelstrecke sinnvolle Istwertgrenzen.

Page 155: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.3 PID_3Step V1

PID-Regelung 154 Funktionshandbuch, 11/2019, A5E35300226-AE

5.3.1.3 Stellgliedeinstellung V1

Stellglied spezifische Zeiten Um das Stellglied vor Beschädigung zu schützen, konfigurieren Sie die Motorstellzeit, die minimale Einschaltzeit und die minimale Ausschaltzeit. Die Daten finden Sie im Datenblatt des Stellglieds.

Die Motorstellzeit ist die Zeit in Sekunden, die der Motor benötigt, um das Stellglied vom geschlossenen in den geöffneten Zustand zu bewegen. Das Stellglied wird maximal 110 % der Motorstellzeit in eine Richtung bewegt. Die Motorstellzeit können Sie während der Inbetriebnahme messen.

Die Motorstellzeit wird sowohl bei der Berechnung des analogen Ausgangswerts als auch bei der Berechnung der digitalen Ausgangswerte berücksichtigt. Sie ist vor allem bei der Selbstoptimierung und beim Anti-Windup-Verhalten für eine korrekte Arbeitsweise erforderlich.

Ist in Ihrem Prozess keine relevante Motorstellzeit wirksam (z. B. bei Magnetventilen), sodass der Ausgangswert direkt und in vollem Umfang auf den Prozess wirkt, so verwenden Sie stattdessen PID_Compact.

Wenn Sie Output_UP und Output_DN verwenden, verringern Sie die Schalthäufigkeit mit der minimalen Ein- und Ausschaltzeit.

Im Automatikbetrieb werden die berechneten Ein- oder Ausschaltzeiten summiert und erst wirksam, wenn die Summe größer oder gleich der minimalen Ein- oder Ausschaltzeit ist.

Im Handbetrieb wird durch eine steigende Flanke an Manual_UP oder Manual_DN das Stellglied mindestens um die minimale Ein- oder Ausschaltzeit angesteuert.

Falls Sie in den Grundeinstellungen den analogen Ausgangswert Output_PER gewählt haben, werden die minimale Einschaltzeit und die minimale Ausschaltzeit nicht ausgewertet und sind nicht änderbar.

Page 156: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.3 PID_3Step V1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 155

Verhalten im Fehlerfall PID_3Step ist so voreingestellt, dass im Fehlerfall die Regelung in den meisten Fällen aktiv bleibt. Wenn im Regelbetrieb häufig Fehler auftreten, wird durch diese Voreinstellung das Regelverhalten verschlechtert. Überprüfen Sie dann den Parameter Errorbits und beheben Sie die Fehlerursache.

Im Fehlerfall gibt PID_3Step einen konfigurierbaren Ausgangswert aus:

● Aktueller Wert

PID_3Step ist ausgeschaltet und verändert die Position des Stellglieds nicht mehr.

● Aktueller Wert für die Fehlerdauer

Die Reglerfunktionen von PID_3Step sind ausgeschaltet und die Position des Stellglieds wird nicht mehr verändert.

Wenn im Automatikbetrieb folgende Fehler aufgetreten sind, kehrt PID_3Step in den Automatikbetrieb zurück, sobald die Fehler nicht mehr anstehen.

– 0002h: Ungültiger Wert am Parameter Input_PER.

– 0200h: Ungültiger Wert am Parameter Input.

– 0800h: Abtastzeitfehler

– 1000h: Ungültiger Wert am Parameter Setpoint.

– 2000h: Ungültiger Wert am Parameter Feedback_PER.

– 4000h: Ungültiger Wert am Parameter Feedback.

– 8000h: Fehler bei der digitalen Stellungsrückmeldung.

Wenn im Handbetrieb einer dieser Fehler auftritt, bleibt PID_3Step im Handbetrieb.

Wenn während der Optimierung oder Stellzeitmessung ein Fehler auftritt, wird PID_3Step ausgeschaltet.

● Ersatzausgangswert

PID_3Step fährt das Stellglied auf den Ersatzausgangswert und schaltet sich aus.

● Ersatzausgangswert für die Fehlerdauer

PID_3Step fährt das Stellglied auf den Ersatzausgangswert. Nach dem Erreichen des Ersatzausgangswerts verhält sich PID_3Step wie bei "Aktueller Wert für die Fehlerdauer" beschrieben.

Den Ersatzausgangswert tragen Sie in "%" ein.

Bei Stellgliedern ohne analoge Stellungsrückmeldung können nur die Ersatzausgangswerte 0 % und 100 % exakt angefahren werden. Damit der obere oder untere Anschlag erreicht wird, wird das Stellglied mit 110% der Motorstellzeit in eine Richtung gefahren. Die Anschlagsignale werden vorrangig berücksichtig. Ein Ersatzausgangswert ungleich 0 % oder 100 % wird über eine intern simulierte Stellungsrückmeldung angefahren. Mit diesem Verfahren kann der Ersatzausgangswert aber nie exakt angefahren werden.

Bei Stellgliedern mit analoger Stellungsrückmeldung können alle Ersatzausgangswerte exakt angefahren werden.

Page 157: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.3 PID_3Step V1

PID-Regelung 156 Funktionshandbuch, 11/2019, A5E35300226-AE

Stellungsrückmeldung skalieren Wenn Sie in der Grundeinstellung die Verwendung von Feedback_PER konfiguriert haben, dann müssen Sie den Wert des Analogeingangs in % umrechnen. Im Anzeigefeld "Feedback" wird die aktuelle Konfiguration angezeigt.

Feedback_PER wird anhand eines unteren und oberen Wertepaars skaliert.

1. Geben Sie in den Eingabefeldern "Unterer Anschlag" und "Unten" das untere Wertepaar ein.

2. Geben Sie in den Eingabefeldern "Oberer Anschlag" und "Oben" das obere Wertepaar ein.

"Unterer Anschlag" muss kleiner sein als "Oberer Anschlag"; "Unten" muss kleiner sein als "Oben".

Die gültigen Werte für "Oberer Anschlag" und "Unterer Anschlag" hängen ab von:

● Kein Feedback, Feedback, Feedback_PER

● Output (analog), Output (digital)

Output Feedback Unterer Anschlag Oberer Anschlag Output (digital) Kein Feedback nicht einstellbar (0.0 %) nicht einstellbar (100.0 %) Output (digital) Feedback -100.0 % oder 0.0 % 0.0 % oder +100.0 % Output (digital) Feedback_PER -100.0 % oder 0.0 % 0.0 % oder +100.0 % Output (analog) Kein Feedback nicht einstellbar (0.0 %) nicht einstellbar (100.0 %) Output (analog) Feedback -100.0 % oder 0.0 % 0.0 % oder +100.0 % Output (analog) Feedback_PER -100.0 % oder 0.0 % 0.0 % oder +100.0 %

Ausgangswert begrenzen Nur während der Stellzeitmessung können die Ausgangswertgrenzen über- oder unterschritten werden. In allen anderen Betriebsarten wird der Ausgangswert auf diese Werte begrenzt.

Geben Sie in den Eingabefeldern "Obergrenze Ausgangswert" und "Untergrenze Ausgangswert" die absoluten Ausgangswertgrenzen ein. Die Ausgangswertgrenzen müssen innerhalb "Unterer Anschlag" und "Oberer Anschlag" liegen.

Wenn kein Feedback vorhanden ist und Output (digital) eingestellt ist, können Sie den Ausgangswert nicht begrenzen. Die Digitalausgänge entweder bei Actuator_H = TRUE oder Actuator_L = TRUE oder nach einer Verfahrzeit von 110% der Motorstellzeit zurück gesetzt.

Page 158: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.3 PID_3Step V1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 157

5.3.1.4 Erweiterte Einstellungen V1

Istwertüberwachung V1 Konfigurieren Sie im Konfigurationsfenster "Istwertüberwachung" eine untere und eine obere Warngrenze des Istwerts. Wird im Betrieb eine der Warngrenzen über oder unterschritten, so wird an der Anweisung PID_3Step eine Warnung angezeigt:

● Am Ausgangsparameter InputWarning_H, wenn die obere Warngrenze überschritten wurde

● Am Ausgangsparameter InputWarning_L, wenn die untere Warngrenze unterschritten wurde

Die Warngrenzen müssen innerhalb der Ober- und Untergrenze Istwert liegen.

Wenn Sie keine Werte eingeben, werden die Ober- und Untergrenze Istwert verwendet.

Beispiel Obergrenze Istwert = 98 °C ; Obere Warngrenze = 90 °C

Untere Warngrenze = 10 °C ; Untergrenze Istwert = 0 °C

PID_3Step verhält sich folgendermaßen: Istwert InputWarning_H InputWarning_L Betriebsart > 98 °C TRUE FALSE Inaktiv ≤ 98 °C und > 90 °C TRUE FALSE Automatikbetrieb ≤ 90 °C und ≥ 10 °C FALSE FALSE Automatikbetrieb < 10°C und ≥ 0 °C FALSE TRUE Automatikbetrieb < 0 °C FALSE TRUE Inaktiv

Page 159: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.3 PID_3Step V1

PID-Regelung 158 Funktionshandbuch, 11/2019, A5E35300226-AE

PID-Parameter V1 Im Konfigurationsfenster "PID-Parameter" werden die PID-Parameter angezeigt. Während der Optimierung werden die PID-Parameter an Ihre Regelstrecke angepasst. Sie brauchen die PID-Parameter nicht manuell eingeben.

Hinweis

Die aktuell wirksamen PID-Parameter befinden sich in der Struktur Retain.CtrlParams.

Um ein Fehlverhalten des PID-Reglers zu vermeiden, ändern Sie online die aktuell wirksamen PID-Parameter nur in der Betriebsart "inaktiv".

Wenn Sie die PID-Parameter in den Betriebsarten "Automatikbetrieb" oder "Handbetrieb" online ändern möchten, dann ändern Sie die PID-Parameter in der Struktur CtrlParamsBackUp und übernehmen diese Änderungen in die Struktur Retain.CtrlParams folgendermaßen: • PID_3Step V1: Übernehmen Sie die Änderungen per Config.LoadBackUp = TRUE • PID_3Step V2: Übernehmen Sie die Änderungen per LoadBackUp = TRUE

Online Änderungen an den PID-Parametern in der Betriebsart "Automatikbetrieb" können zu Sprüngen am Ausgangswert führen.

Der PID-Algorithmus arbeitet nach folgender Formel:

Δy Ausgangswert des PID-Algorithmus Kp Proportionalverstärkung s Laplace-Operator b Gewichtung des P-Anteils w Sollwert x Istwert TI Integrationszeit a Koeffizient für den Differenzierverzug (Differenzierverzug T1 = a × TD) TD Differenzierzeit c Gewichtung des D-Anteils

Page 160: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.3 PID_3Step V1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 159

Die folgende Grafik zeigt, wie die Parameter in den PID-Algorithmus einfließen:

Alle PID-Parameter sind remanent. Wenn Sie die PID-Parameter manuell eingeben, müssen Sie PID_3Step vollständig laden.

Technologieobjekte in Gerät laden (Seite 47)

Proportionalverstärkung Der Wert gibt die Proportionalverstärkung des Reglers an. PID_3Step arbeitet nicht mit einer negativen Proportionalverstärkung. Den Regelsinn invertieren Sie unter Grundeinstellungen > Regelungsart.

Integrationszeit Die Integrationszeit bestimmt das Zeitverhalten des I-Anteils. Abschalten des I-Anteils erfolgt mit Integrationszeit = 0.0. Wenn die Integrationszeit in der Betriebsart "Automatikbetrieb" von einem anderen Wert auf 0.0 online geändert wird, dann wird der bisherige I-Anteil gelöscht und es erfolgt ein Sprung des Ausgangswerts.

Differenzierzeit Die Differenzierzeit bestimmt das Zeitverhalten des D-Anteils. Abschalten des D-Anteils erfolgt mit Differenzierzeit = 0.0.

Page 161: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.3 PID_3Step V1

PID-Regelung 160 Funktionshandbuch, 11/2019, A5E35300226-AE

Koeffizient Differenzierverzug Die Wirkung des D-Anteils wird durch den Koeffizent Differenzierverzug verzögert.

Differenzierverzug = Differenzierzeit × Koeffizient Differenzierverzug

● 0.0: D-Anteil wirkt nur für einen Zyklus und ist damit fast nicht wirksam.

● 0.5: Dieser Wert hat sich in der Praxis für Regelstrecken mit einer dominierenden Zeitkonstanten bewährt.

● > 1.0: Je größer der Koeffizient, desto stärker wird die Wirkung des D-Anteils verzögert.

Gewichtung des P-Anteils Sie können bei Sollwertänderungen den P-Anteil abschwächen.

Sinnvoll sind Werte von 0.0 bis 1.0.

● 1.0: P-Anteil bei Sollwertänderung voll wirksam

● 0.0: P-Anteil bei Sollwertänderung nicht wirksam

Bei Änderung des Istwerts ist der P-Anteil immer voll wirksam.

Gewichtung des D-Anteils Sie können bei Sollwertänderungen den D-Anteil abschwächen.

Sinnvoll sind Werte von 0.0 bis 1.0.

● 1.0: D-Anteil bei Sollwertänderung voll wirksam

● 0.0: D-Anteil bei Sollwertänderung nicht wirksam

Bei Änderung des Istwerts ist der D-Anteil immer voll wirksam.

Abtastzeit PID-Algorithmus Da die Regelstrecke eine gewisse Zeit benötigt, um auf eine Änderung des Ausgangswerts zu reagieren, ist es sinnvoll, den Ausgangswert nicht in jedem Zyklus zu berechnen. Die Abtastzeit PID-Algorithmus ist die Zeit zwischen zwei Ausgangswertberechnungen. Sie wird während der Optimierung ermittelt und auf ein Vielfaches der Abtastzeit PID_3Step gerundet. Alle anderen Funktionen von PID_3Step werden bei jedem Aufruf durchgeführt.

Totzonenbreite Die Totzone unterdrückt die Rauschanteile im eingeschwungenen Reglerzustand. Die Totzonenbreite gibt die Größe der Totzone an. Bei einer Totzonenbreite von 0.0 ist die Totzone abgeschaltet.

Falls für die Gewichtung des P-Anteils oder die Gewichtung des D-Anteils Werte ungleich 1.0 konfiguriert sind, wirken sich Sollwertänderungen auch innerhalb der Totzone auf den Ausgangswert aus. Istwertänderungen innerhalb der Totzone wirken sich unabhängig von den Gewichtungen nicht auf den Ausgangswert aus.

Page 162: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.3 PID_3Step V1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 161

5.3.2 PID_3Step V1 in Betrieb nehmen

5.3.2.1 Inbetriebnahme V1 Im Arbeitsbereich "Optimierung" können Sie Sollwert, Istwert und Ausgangswert in Abhängigkeit von der Zeit beobachten. Folgende Funktionen zur Inbetriebnahme werden im Kurvenschreiber unterstützt:

● Erstoptimierung des Reglers

● Nachoptimierung des Reglers

● Beobachtung der laufenden Regelung im Kurvenfenster

Für alle Funktionen muss eine Onlineverbindung zur CPU aufgebaut sein.

Grundsätzliche Bedienung ● Wählen Sie in der Klappliste "Aktualisierungszeit" die gewünschte Aktualisierungszeit

aus.

Alle Werte im Arbeitsbereich Optimierung werden in der ausgewählten Aktualisierungszeit aktualisiert.

● Klicken Sie auf das Symbol "Start" in der Gruppe Messung, wenn Sie die Inbetriebnahmefunktionen nutzen möchten.

Die Aufzeichnung der Werte wird gestartet. In der Kurvenanzeige werden die aktuellen Werte für Sollwert, Istwert und Ausgangswert eingetragen. Die Bedienung des Inbetriebnahmefensters wird freigegeben.

● Klicken Sie auf das Symbol "Stop", wenn Sie die Inbetriebnahmefunktionen beenden möchten.

Die in der Kurvenanzeige aufgezeichneten Werte können weiterhin analysiert werden.

● Mit Schließen des Inbetriebnahmefensters wird die Aufzeichnung in der Kurvenanzeige beendet und die aufgezeichneten Werte werden gelöscht.

Page 163: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.3 PID_3Step V1

PID-Regelung 162 Funktionshandbuch, 11/2019, A5E35300226-AE

5.3.2.2 Erstoptimierung V1 Die Erstoptimierung ermittelt die Prozessantwort auf einen Impuls des Ausgangswerts und sucht den Wendepunkt. Aus der maximalen Steigung und der Totzeit der Regelstrecke werden die optimalen PID-Parameter berechnet.

Je stabiler der Istwert ist, desto leichter und genauer können die PID-Parameter ermittelt werden. Ein Rauschen des Istwerts ist solange akzeptabel, wie der Anstieg des Istwerts signifikant größer ist als das Rauschen. Die PID-Parameter werden gesichert bevor sie neu berechnet werden.

Der Sollwert wird während der Erstoptimierung eingefroren.

Voraussetzung ● Die Anweisung PID_3Step wird in einem Weckalarm-OB aufgerufen. ● ManualEnable = FALSE ● PID_3Step befindet sich in der Betriebsart "Inaktiv" oder "Handbetrieb". ● Der Sollwert und der Istwert befinden sich innerhalb der konfigurierten Grenzen (siehe

Konfiguration "Istwerteinstellungen").

Vorgehen Um die Erstoptimierung durchzuführen, gehen Sie folgendermaßen vor:

1. Doppelklicken Sie in der Projektnavigation auf den Eintrag "PID_3Step > Inbetriebnahme".

2. Wählen Sie im Arbeitsbereich "Optimierung" in der Klappliste "Optimierungsart" den Eintrag "Erstoptimierung".

3. Klicken Sie auf das Symbol "Start".

– Eine Online-Verbindung wird aufgebaut.

– Die Aufzeichnung der Werte wird gestartet.

– Die Erstoptimierung wird gestartet.

– Im Feld "Status" werden Ihnen die aktuellen Arbeitsschritte und evtl. auftretende Fehler angezeigt. Der Fortschrittsbalken zeigt den Fortschritt des aktuellen Arbeitsschritts an.

Hinweis

Klicken Sie auf das Symbol "Stop" wenn der Fortschrittbalken 100% erreicht hat und von einer Blockade der Optimierung ausgegangen werden muss. Prüfen Sie die Konfiguration des Technologieobjekts und starten Sie ggf. die Optimierung erneut.

Ergebnis Wurde die Erstoptimierung ohne Fehlermeldung durchlaufen, so wurden die PID-Parameter optimiert. PID_3Step wechselt in den Automatikbetrieb und verwendet die optimierten Parameter. Die optimierten PID-Parameter bleiben bei Netz-AUS und Neustart der CPU erhalten.

Wenn eine Erstoptimierung nicht möglich ist, wechselt PID_3Step in die Betriebsart "Inaktiv".

Page 164: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.3 PID_3Step V1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 163

5.3.2.3 Nachoptimierung V1 Die Nachoptimierung generiert eine konstante, begrenzte Schwingung des Istwertes. Aus Amplitude und Frequenz dieser Schwingung werden die PID-Parameter für den Arbeitspunkt optimiert. Aus den Ergebnissen werden alle PID-Parameter neu berechnet. Die PID-Parameter aus der Nachoptimierung zeigen meist ein besseres Führungs- und Störverhalten als die PID-Parameter aus der Erstoptimierung.

PID_3Step versucht automatisch eine Schwingung zu erzeugen, die größer ist als das Rauschen des Istwerts. Die Nachoptimierung wird nur geringfügig von der Stabilität des Istwerts beeinflusst. Die PID-Parameter werden gesichert bevor sie neu berechnet werden.

Der Sollwert wird während der Nachoptimierung eingefroren.

Voraussetzung ● Die Anweisung PID_3Step wird in einem Weckalarm-OB aufgerufen.

● ManualEnable = FALSE

● Die Motorstellzeit ist konfiguriert oder gemessen.

● Der Sollwert und der Istwert befinden sich innerhalb der konfigurierten Grenzen (siehe Konfiguration "Istwerteinstellungen").

● Der Regelkreis ist am Arbeitspunkt eingeschwungen. Der Arbeitspunkt ist erreicht, wenn der Istwert dem Sollwert entspricht.

● Es werden keine Störungen erwartet.

● PID_3Step befindet sich in der Betriebsart Inaktiv, Automatikbetrieb oder Handbetrieb.

Ablauf abhängig von Startsituation Die Nachoptimierung verläuft folgendermaßen beim Start aus:

● Automatikbetrieb

Wenn Sie die vorhandenen PID-Parameter durch die Optimierung verbessern wollen, starten Sie die Nachoptimierung aus dem Automatikbetrieb.

PID_3Step regelt solange mit den vorhandenen PID-Parametern, bis der Regelkreis eingeschwungen ist und die Voraussetzungen für eine Nachoptimierung erfüllt sind. Erst dann startet die Nachoptimierung.

● Inaktiv oder Handbetrieb

Zuerst wird immer eine Erstoptimierung gestartet. Mit den ermittelten PID-Parametern wird solange geregelt, bis der Regelkreis eingeschwungen ist und die Voraussetzungen für eine Nachoptimierung erfüllt sind. Erst dann startet die Nachoptimierung.

Page 165: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.3 PID_3Step V1

PID-Regelung 164 Funktionshandbuch, 11/2019, A5E35300226-AE

Vorgehen Um die "Nachoptimierung" durchzuführen gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Optimierungsart" den Eintrag "Nachoptimierung".

2. Klicken Sie auf das Symbol "Start".

– Eine Online-Verbindung wird aufgebaut.

– Die Aufzeichnung der Werte wird gestartet.

– Der Ablauf der Nachoptimierung wird gestartet.

– Im Feld "Status" werden Ihnen die aktuellen Arbeitsschritte und evtl. auftretende Fehler angezeigt. Der Fortschrittsbalken zeigt den Fortschritt des aktuellen Arbeitsschritts an.

Hinweis

Klicken Sie in der Gruppe "Optimierungsart" auf das Symbol "Stop", wenn der Fortschrittbalken 100% erreicht hat und von einer Blockade der Optimierung ausgegangen werden muss. Prüfen Sie die Konfiguration des Technologieobjekts und starten Sie ggf. die Optimierung erneut.

Ergebnis Wurde die Nachoptimierung ohne Fehlermeldung durchlaufen, so wurden die PID-Parameter optimiert. PID_3Step wechselt in den Automatikbetrieb und verwendet die optimierten Parameter. Die optimierten PID-Parameter bleiben bei Netz-AUS und Neustart der CPU erhalten.

Wenn während der Nachoptimierung Fehler auftraten, wechselt PID_3Step in die Betriebsart "Inaktiv".

Page 166: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.3 PID_3Step V1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 165

5.3.2.4 Mit manuellen PID-Parametern in Betrieb nehmen V1

Vorgehen Um PID_3Step mit manuellen PID-Parametern in Betrieb zu nehmen, gehen Sie folgendermaßen vor:

1. Doppelklicken Sie in der Projektnavigation auf den Eintrag "PID_3Step > Konfiguration".

2. Klicken Sie im Konfigurationsfenster auf "Erweiterte Einstellungen > PID-Parameter".

3. Aktivieren Sie das Optionskästchen "Manuelle Eingabe aktivieren".

4. Geben Sie die PID-Parameter ein.

5. Doppelklicken Sie in der Projektnavigation auf den Eintrag "PID_3Step > Inbetriebnahme".

6. Stellen Sie eine Online-Verbindung zur CPU her.

7. Laden Sie die PID-Parameter auf die CPU.

8. Klicken Sie auf das Symbol "Regler aktivieren".

Ergebnis PID_3Step wechselt in den Automatikbetrieb und regelt mit den aktuellen PID-Parametern.

Page 167: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.3 PID_3Step V1

PID-Regelung 166 Funktionshandbuch, 11/2019, A5E35300226-AE

5.3.2.5 Motorstellzeit messen V1

Einleitung PID_3Step benötigt die Motorstellzeit so genau wie möglich, um ein gutes Regelergebnis zu erreichen. Die Angaben in der Dokumentation des Stellglieds sind gemittelte Werte für diesen Typ Stellglieder. Für das konkret verwendete Stellglied kann der Wert variieren.

Wenn Sie Stellglieder mit Stellungsrückmeldung oder mit Anschlagsignalen verwenden, können Sie während der Inbetriebnahme die Motorstellzeit messen. Die Ausgangswertgrenzen werden während der Motorstellzeitmessung nicht berücksichtigt. Dass Stellglied kann bis zum oberen oder unteren Anschlag verfahren werden.

Wenn weder eine Stellungsrückmeldung noch Anschlagsignale verfügbar sind, kann die Motorstellzeit nicht gemessen werden.

Stellglieder mit analoger Stellungsrückmeldung Um die Motorstellzeit mit Stellungsrückmeldung zu messen, gehen Sie folgendermaßen vor:

Voraussetzung

● In den Grundeinstellungen ist Feedback oder Feedback_PER ausgewählt und das Signal ist verschaltet.

● Eine Online-Verbindung zur CPU ist aufgebaut.

1. Aktivieren Sie das Optionsfeld "Stellungsrückmeldung verwenden".

2. Geben Sie im Eingabefeld "Zielstellung" ein, wohin das Stellglied bewegt werden soll.

Die aktuelle Stellungsrückmeldung (Startstellung) wird angezeigt. Die Differenz zwischen "Zielstellung" und "Stellungsrückmeldung" muss mindestens 50 % des zulässigen Ausgangswertbereichs sein.

3. Klicken Sie auf das Symbol "Stellzeitmessung starten".

Ergebnis Das Stellglied wird von der Startstellung in die Zielstellung gefahren. Die Zeitmessung startet sofort und endet, wenn das Stellglied die Zielstellung erreicht hat. Die Motorstellzeit wird berechnet nach der Formel:

Motorstellzeit = (Obergrenze Ausgangswert – Untergrenze Ausgangswert) × Messzeit / BETRAG(Zielstellung – Startstellung).

Fortschritt und Status der Stellzeitmessung werden angezeigt. Die gemessene Stellzeit wird im Instanz-Datenbaustein auf der CPU gespeichert und im Feld "gemessene Stellzeit" angezeigt. Wenn die Stellzeitmessung beendet ist, wechselt PID_3Step in die Betriebsart "Inaktiv".

Hinweis

Um die gemessene Motorstellzeit in das Projekt zu übernehmen, klicken Sie auf das Symbol "Gemessene Stellzeit laden".

Page 168: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.3 PID_3Step V1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 167

Stellglieder mit Anschlagsignalen Um die Stellzeit von Stellgliedern mit Anschlagsignalen zu messen, gehen Sie folgendermaßen vor:

Voraussetzung

● In den Grundeinstellungen ist das Optionskästchen "Anschlagsignale" aktiviert und Actuator_H und Actuator_L sind verschaltet.

● Eine Online-Verbindung zur CPU ist aufgebaut.

Um die Motorstellzeit mit Anschlagsignalen zu messen, gehen Sie folgendermaßen vor:

1. Aktivieren Sie das Optionsfeld "Anschlagsignale des Stellglieds verwenden".

2. Wählen Sie die Richtung, in die das Stellglied bewegt werden soll.

– Öffnen - Schließen - Öffnen

Das Stellglied wird zuerst bis zum oberen Anschlag gefahren, dann zum unteren Anschlag und erneut zum oberen Anschlag.

– Schließen - Öffnen - Schließen

Das Stellglied wird zuerst bis zum unteren Anschlag gefahren, dann zum oberen Anschlag und erneut zum unteren Anschlag.

3. Klicken Sie auf das Symbol "Stellzeitmessung starten".

Ergebnis Das Stellglied wird in der gewählten Richtung bewegt. Die Zeitmessung startet, wenn das Stellglied den ersten Anschlag erreicht hat und endet, wenn das Stellglied diesen Anschlag zum zweiten Mal erreicht. Die gemessene Zeit geteilt durch zwei ergibt die Motorstellzeit.

Fortschritt und Status der Stellzeitmessung werden angezeigt. Die gemessene Stellzeit wird im Instanz-Datenbaustein auf der CPU gespeichert und im Feld "gemessene Stellzeit" angezeigt. Wenn die Stellzeitmessung beendet ist, wechselt PID_3Step in die Betriebsart "Inaktiv".

Stellzeitmessung abbrechen Wenn Sie die Stellzeitmessung abbrechen, wechselt PID_3Step sofort in die Betriebsart "Inaktiv". Das Stellglied wird nicht mehr bewegt. Sie können PID-3Step im Kurvenschreiber wieder aktivieren.

Page 169: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_3Step einsetzen 5.3 PID_3Step V1

PID-Regelung 168 Funktionshandbuch, 11/2019, A5E35300226-AE

5.3.3 PID_3Step V1 mit PLCSIM simulieren

Hinweis Simulation mit PLCSIM

Bei der Simulation mit PLCSIM ist das zeitliche Verhalten der simulierten PLC nicht exakt identisch zu einer "echten" PLC. Der tatsächliche Zeittakt eines Weckalarm-OB kann bei einer simulierten PLC größere Schwankungen aufweisen als bei "echten" PLCs.

In der Standardkonfiguration ermittelt PID_3Step die Zeit zwischen den Aufrufen automatisch und überwacht diese auf Schwankungen.

Bei der Simulation von PID_3Step mit PLCSIM kann deshalb ein Abtastzeitfehler (ErrorBits = DW#16#00000800) erkannt werden.

Dies führt zum Abbruch von laufenden Optimierungen.

Die Reaktion im Automatikbetrieb ist abhängig vom Wert der Variable ActivateRecoverMode.

Um dies zu verhindern, sollten Sie PID_3Step bei Simulation mit PLCSIM wie folgt konfigurieren: • CycleTime.EnEstimation = FALSE • CycleTime.EnMonitoring = FALSE • CycleTime.Value: Weisen Sie dieser Variablen den Zeittakt des aufrufenden Weckalarm-

OB in der Einheit Sekunden zu.

Page 170: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 169

PID_Temp einsetzen 6 6.1 Technologieobjekt PID_Temp

Das Technologieobjekt PID_Temp stellt einen kontinuierlichen PID-Regler mit integrierter Optimierung zur Verfügung. PID_Temp ist speziell für Temperaturregelung ausgelegt und eignet sich für Heizen- oder Heizen/Kühlen-Anwendungen. Dafür stehen zwei Ausgänge zur Verfügung, je einer für Heizen und einer für Kühlen. Zusätzlich kann PID_Temp auch für andere Regelungsaufgaben verwendet werden. PID_Temp ist kaskadierbar und kann in Hand- oder Automatikbetrieb eingesetzt werden.

PID_Temp erfasst innerhalb eines Regelkreises fortlaufend den gemessenen Istwert und vergleicht diesen mit dem eingestellten Sollwert. Aus den sich ergebenden Regeldifferenzen errechnet die Anweisung PID_Temp den Ausgangswert für Heizen und/oder Kühlen, durch die der Istwert an den Sollwert angeglichen wird. Die Ausgangswerte setzen sich beim PID-Regler aus drei Anteilen zusammen:

● P-Anteil

Der P-Anteil des Ausgangswerts steigt proportional zur Regeldifferenz.

● I-Anteil

Der I-Anteil des Ausgangswerts steigt, solange bis die Regeldifferenz ausgeglichen ist.

● D-Anteil

Der D-Anteil steigt mit wachsender Änderungsgeschwindigkeit der Regeldifferenz. Der Istwert wird möglichst schnell an den Sollwert angeglichen. Nimmt die Änderungsgeschwindigkeit der Regeldifferenz wieder ab, so verringert sich der D-Anteil wieder.

Die Anweisung PID_Temp berechnet die P-, I-, und D-Parameter für Ihre Regelstrecke selbstständig während der "Erstoptimierung". Die Parameter können über eine "Nachoptimierung" weiter optimiert werden. Sie brauchen die Parameter nicht manuell ermitteln.

Für Heizen/Kühlen-Anwendungen kann entweder ein fester Kühlfaktor oder zwei PID-Parametersätze verwendet werden.

Weitere Informationen ● Übersicht der Software-Regler (Seite 40)

● Technologieobjekte hinzufügen (Seite 42)

● Technologieobjekte konfigurieren (Seite 44)

● PID_Temp konfigurieren (Seite 170)

Page 171: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.2 PID_Temp konfigurieren

PID-Regelung 170 Funktionshandbuch, 11/2019, A5E35300226-AE

6.2 PID_Temp konfigurieren

6.2.1 Grundeinstellungen

6.2.1.1 Einleitung Konfigurieren Sie im Inspektorfenster, bzw. im Konfigurationsfenster in den "Grundeinstellungen" folgende Eigenschaften des Technologieobjekts PID_Temp:

● Physikalische Größe

● Anlaufverhalten nach Reset

● Quelle und Eingabe des Sollwerts (nur im Inspektorfenster)

● Auswahl des Istwerts

● Quelle und Eingabe des Istwerts (nur im Inspektorfenster)

● Auswahl des Ausgangswerts Heizen

● Quelle und Eingabe des Ausgangswerts Heizen (nur im Inspektorfenster)

● Aktivierung und Auswahl des Ausgangswerts Kühlen

● Quelle und Eingabe des Ausgangswerts Kühlen (nur im Inspektorfenster)

● PID_Temp als Master oder Slave einer Kaskade aktivieren

● Anzahl der Slaves

● Auswahl des Master (nur im Inspektorfenster)

Sollwert, Istwert, Ausgangswert Heizen und Ausgangswert Kühlen Für Sollwert, Istwert, Ausgangswert Heizen und Ausgangswert Kühlen können Sie im Inspektorfenster des Programmiereditors die Quelle auswählen und Werte bzw. Variablen eingeben.

Für jeden Wert wählen Sie die Quelle:

● Instanz-DB:

Es wird der Wert verwendet, der im Instanz-DB gespeichert ist. Der Wert muss im Instanz-DB vom Anwenderprogramm aktualisiert werden. An der Anweisung darf kein Wert stehen. Änderung über HMI möglich.

● Anweisung:

Es wird der Wert verwendet, der an der Anweisung verschaltet ist. Bei jedem Aufruf der Anweisung wird der Wert in den Instanz-DB geschrieben. Änderung über HMI nicht möglich.

Page 172: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.2 PID_Temp konfigurieren

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 171

6.2.1.2 Regelungsart

Physikalische Größe Wählen Sie in der Gruppe "Regelungsart" die physikalische Größe und Einheit für Soll- und Istwert. Soll- und Istwert werden in dieser Einheit angezeigt.

Anlaufverhalten 1. Um nach Neustart der CPU in die Betriebsart "Inaktiv" zu wechseln, deaktivieren Sie das

Optionskästchen "Nach CPU Neustart Mode aktivieren".

Um nach Neustart der CPU in die Betriebsart zu wechseln, die an Mode gespeichert ist, aktivieren Sie das Optionskästchen "Nach CPU Neustart Mode aktivieren".

2. Wählen Sie in der Klappliste "Mode setzen auf" die Betriebsart aus, die nach einem vollständigen Laden in Gerät aktiviert werden soll.

Nach einem vollständigen "Laden in Gerät" startet PID_Temp in der gewählten Betriebsart. Bei jedem weiteren Neustart, startet PID_Temp in der Betriebsart, die zuletzt an Mode gespeichert war.

Bei der Wahl von Erstoptimierung oder Nachoptimierung müssen Sie zusätzlich die Variablen Heat.EnableTuning und Cool.EnableTuning setzen bzw. rücksetzen, um zwischen Optimierung für Heizen und Optimierung für Kühlen zu wählen.

Beispiel:

Sie haben das Optionskästchen "Nach CPU Neustart Mode aktivieren" aktiviert und in der Liste "Mode setzen auf" den Eintrag "Erstoptimierung" gewählt. Nach einem vollständigen "Laden in Gerät" startet PID_Temp in der Betriebsart "Erstoptimierung". Falls die Erstoptimierung noch aktiv ist, startet PID_Temp nach dem Neustart der CPU wieder in der Betriebsart "Erstoptimierung" (Heizen/Kühlen abhängig von den Variablen Heat.EnableTuning und Cool.EnableCooling). Falls die Erstoptimierung erfolgreich beendet wurde und der Automatikbetrieb aktiv ist, startet PID_Temp nach dem Neustart der CPU im "Automatikbetrieb".

Page 173: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.2 PID_Temp konfigurieren

PID-Regelung 172 Funktionshandbuch, 11/2019, A5E35300226-AE

6.2.1.3 Sollwert

Vorgehen Um einen festen Sollwert vorzugeben, gehen Sie wie folgt vor:

1. Wählen Sie "Instanz-DB".

2. Geben Sie einen Sollwert ein, z. B. 80°C.

3. Löschen Sie ggf. einen Eintrag an der Anweisung.

Um einen variablen Sollwert vorzugeben, gehen Sie wie folgt vor:

1. Wählen Sie "Anweisung".

2. Geben Sie den Namen der REAL-Variablen ein, in der der Sollwert gespeichert ist.

Die REAL-Variable können Sie programmgesteuert mit unterschiedlichen Werten belegen, z. B. um den Sollwert zeitgesteuert zu ändern.

6.2.1.4 Istwert Wenn Sie den Wert des Analogeingangs direkt verwenden, skaliert PID_Temp den Wert des Analogeingangs in die physikalische Größe.

Wenn Sie den Wert des Analogeingangs erst aufbereiten wollen, müssen Sie ein eigenes Programm für die Aufbereitung schreiben. Zum Beispiel ist der Istwert nicht direkt proportional zum Wert am Analogeingang. Der aufbereitete Istwert muss im Gleitpunktformat vorliegen.

Vorgehen Um den Wert des Analogeingangs direkt zu verwenden, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Input" den Eintrag "Input_PER".

2. Wählen Sie als Quelle "Anweisung".

3. Geben Sie die Adresse des Analogeingangs ein.

Um den aufbereiteten Istwert im Gleitpunktformat zu verwenden, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "Input" den Eintrag "Input".

2. Wählen Sie als Quelle "Anweisung".

3. Geben Sie den Namen der Variablen ein, in der der aufbereitete Istwert gespeichert ist.

Page 174: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.2 PID_Temp konfigurieren

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 173

6.2.1.5 Ausgangswert Heizen und Kühlen Die Anweisung PID_Temp stellt einen PID-Regler mit integrierter Optimierung für Temperaturprozesse zur Verfügung. PID_Temp eignet sich für Heizen- oder Heizen/Kühlen-Anwendungen.

PID_Temp stellt folgende Ausgangswerte zur Verfügung. Welchen Ausgangswert Sie verwenden, hängt von Ihrem Stellglied ab.

● OutputHeat

Ausgangswert Heizen (Gleitpunktformat): Der Ausgangswert für Heizen muss über das Anwenderprogramm aufbereitet werden, z. B. weil das Stellglied nichtlineares Verhalten zeigt.

● OutputHeat_PER

Analoger Ausgangswert Heizen: Das Stellglied für Heizen wird über einen analogen Ausgang angesprochen und mit einem kontinuierlichen Signal gesteuert, z. B. 0...10 V, 4...20 mA.

● OutputHeat_PWM

Pulsweitenmodulierter Ausgangswert Heizen: Das Stellglied für Heizen wird über einen Digitalausgang gesteuert. Über eine Pulsweitenmodulation werden variable Ein- und Ausschaltzeiten gebildet.

● OutputCool

Ausgangswert Kühlen (Gleitpunktformat): Der Ausgangswert für Kühlen muss über das Anwenderprogramm aufbereitet werden, z. B. weil das Stellglied nichtlineares Verhalten zeigt.

● OutputCool_PER

Analoger Ausgangswert Kühlen: Das Stellglied für Kühlen wird über einen analogen Ausgang angesprochen und mit einem kontinuierlichen Signal gesteuert, z. B. 0...10 V, 4...20 mA.

● OutputCool_PWM

Pulsweitenmodulierter Ausgangswert Kühlen: Das Stellglied für Kühlen wird über einen Digitalausgang gesteuert. Über eine Pulsweitenmodulation werden variable Ein- und Ausschaltzeiten gebildet.

Der Kühlausgang ist nur verfügbar, falls er über das Optionskästchen "Kühlung aktivieren" aktiviert wurde.

● Ist das Optionskästchen deaktiviert, wird der Ausgangswert des PID-Algorithmus (PidOutputSum) skaliert und an den Ausgängen für Heizen ausgegeben.

Page 175: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.2 PID_Temp konfigurieren

PID-Regelung 174 Funktionshandbuch, 11/2019, A5E35300226-AE

● Ist das Optionskästchen aktiviert, werden positive Ausgangswerte des PID-Algorithmus (PidOutputSum) skaliert und an den Ausgängen für Heizen ausgegeben. Negative Ausgangswerte des PID-Algorithmus werden skaliert und an den Ausgängen für Kühlen ausgegeben. In den Ausgangseinstellungen kann zwischen zwei Methoden zur Ausgangswertberechnung gewählt werden.

Hinweis Beachten Sie folgendes: • Die Ausgänge OutputHeat_PWM, OutputHeat_PER, OutputCool_PWM, OutputCool_PER

werden nur berechnet, falls Sie diese in der Klappliste entsprechend auswählen. • Der Ausgang OutputHeat wird immer berechnet. • Der Ausgang OutputCool wird berechnet, falls das Optionskästchen für die Kühlung

aktiviert ist. • Das Optionskästchen "Kühlung aktivieren" ist nur verfügbar, falls der Regler nicht als

Master in einer Kaskade konfiguriert ist.

Vorgehen Um den analogen Ausgangswert zu verwenden, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "OutputHeat" bzw. "OutputCool" den Eintrag "OutputHeat_PER" bzw. "OutputCool_PER".

2. Wählen Sie "Anweisung".

3. Geben Sie die Adresse des Analogausgangs ein.

Um den pulsweitenmodulierten Ausgangswert zu verwenden, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "OutputHeat" bzw. "OutputCool" den Eintrag "OutputHeat_PWM" bzw. "OutputCool_PWM".

2. Wählen Sie "Anweisung".

3. Geben Sie die Adresse des Digitalausgangs ein.

Um den Ausgangswert über das Anwenderprogramm aufzubereiten, gehen Sie folgendermaßen vor:

1. Wählen Sie in der Klappliste "OutputHeat" bzw. "OutpuCool" den Eintrag "OutputHeat" bzw. "OutputCool".

2. Wählen Sie "Anweisung".

3. Geben Sie den Namen der Variablen an, die Sie für die Aufbereitung des Ausgangswerts verwenden.

4. Übertragen Sie den aufbereiteten Ausgangswert über einen Analog- oder Digitalausgang der CPU zum Stellglied.

Page 176: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.2 PID_Temp konfigurieren

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 175

6.2.1.6 Kaskade Erhält eine PID_Temp-Instanz ihren Sollwert von einem übergeordneten Master-Regler und gibt ihren Ausgangswert selbst an einen untergeordneten Slave-Regler weiter, ist diese PID_Temp-Instanz sowohl Master-Regler als auch Slave-Regler zur gleichen Zeit. Für eine solche PID_Temp-Instanz sind dann beide unten aufgeführte Konfigurationen vorzunehmen. Dies ist zum Beispiel für die mittlere PID_Temp-Instanz bei einer Kaskadenregelung mit drei verketteten Messgrößen und drei PID_Temp-Instanzen der Fall.

Regler als Master in einer Kaskade konfigurieren Ein Master-Regler gibt mit seinem Ausgang den Sollwert eines Slave-Reglers vor. Um PID_Temp als Master in einer Kaskade zu verwenden, müssen Sie in den Grundeinstellungen die Kühlung deaktivieren. Um diese PID_Temp Instanz als Master-Regler in einer Kaskade zu konfigurieren, aktivieren Sie das Optionskästchen "Regler ist Master". Die Auswahl des Ausgangswerts für Heizen wird dabei automatisch auf OutputHeat gesetzt. OutputHeat_PWM und OutputHeat_PER können bei einem Master in einer Kaskade nicht verwendet werden. Geben Sie anschließend die Anzahl direkt untergeordneter Slave-Regler an, die ihren Sollwert von diesem Master-Regler erhalten. Wird bei der Zuweisung des Parameter OutputHeat des Master auf den Parameter Setpoint des Slave keine eigene Skalierungsfunktion eingesetzt, kann es notwendig sein, die Ausgangswertgrenzen und die Ausgangsskalierung des Master an den Sollwert-/Istwertbereich des Slave anzupassen. Dies können Sie in den Ausgangseinstellungen des Master im Bereich "OutputHeat / OutputCool" vornehmen.

Regler als Slave in einer Kaskade konfigurieren Ein Slave-Regler erhält seinen Sollwert (Parameter Setpoint) vom Ausgang seines Master-Reglers (Parameter OutputHeat). Um diese PID_Temp Instanz als Slave-Regler in einer Kaskade zu konfigurieren, aktivieren Sie in den Grundeinstellungen das Optionskästchen "Regler ist Slave". Wählen Sie anschließend im Inspektorfenster des Programmiereditors die PID_Temp-Instanz aus, die als Master-Regler für diesen Slave-Regler verwendet werden soll. Durch die Auswahl werden die Parameter Master und Setpoint des Slave-Reglers mit dem gewählten Master-Regler verschaltet (bisherige Verschaltungen an diesen Parametern werden überschrieben). Diese Verschaltung ermöglicht den Informationsaustausch und die Sollwertvorgabe zwischen Master und Slave. Bei Bedarf können Sie die Verschaltung am Parameter Setpoint des Slave-Reglers nachträglich ändern z .B. um ein zusätzliches Filter einzufügen. Die Verschaltung an Parameter Master darf nachträglich nicht verändert werden. Am ausgewählten Master-Regler muss das Optionskästchen "Regler ist Master" aktiviert und die Anzahl der Slaves korrekt konfiguriert sein. Der Master-Regler muss vor dem Slave-Regler im gleichen Weckalarm-OB aufgerufen werden.

Weitere Informationen Weitere Informationen zur Programmerstellung, Konfiguration und Inbetriebnahme beim Einsatz von PID_Temp in Kaskadenregelungen finden Sie unter Kaskadenregelung mit PID_Temp (Seite 205).

Page 177: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.2 PID_Temp konfigurieren

PID-Regelung 176 Funktionshandbuch, 11/2019, A5E35300226-AE

6.2.2 Istwerteinstellungen

6.2.2.1 Istwertgrenzen Als Grenzwerte müssen Sie für Ihre Regelstrecke eine sinnvolle absolute Ober- und Untergrenze des Istwerts festlegen. Sobald diese Grenzen über- oder unterschritten werden, tritt ein Fehler auf (ErrorBits = 0001h). Die Optimierung wird abgebrochen, wenn die Istwertgrenzen überschritten werden. Die Reaktion von PID_Temp im Fehlerfall im Automatikbetrieb legen Sie bei den Ausgangseinstellungen fest.

6.2.2.2 Istwert skalieren Wenn Sie in der Grundeinstellung die Verwendung von Input_PER konfiguriert haben, dann müssen Sie den Wert des Analogeingangs in die physikalische Größe des Istwerts umrechnen. Im Anzeigefeld Input_PER wird die aktuelle Konfiguration angezeigt.

Wenn der Istwert direkt proportional zum Wert des Analogeingangs ist, wird Input_PER anhand eines unteren und oberen Wertepaars skaliert.

Vorgehen Um den Istwert zu skalieren, gehen Sie folgendermaßen vor:

1. Geben Sie in den Eingabefeldern "Skalierter unterer Istwert" und "Unten" das untere Wertepaar ein.

2. Geben Sie in den Eingabefeldern "Skalierter oberer Istwert" und "Oben" das obere Wertepaar ein.

In der HW-Konfiguration sind Voreinstellungen für die Wertepaare hinterlegt. Um die Wertepaare aus der HW-Konfiguration zu verwenden, gehen Sie folgendermaßen vor:

1. Markieren Sie im Programmiereditor die Anweisung PID_Temp.

2. Verschalten Sie in den Grundeinstellungen Input_PER mit einem Analogeingang.

3. Klicken Sie in den Istwerteinstellungen auf die Schaltfläche "Automatische Einstellung".

Die bestehenden Werte werden mit den Werten aus der HW-Konfiguration überschrieben.

Page 178: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.2 PID_Temp konfigurieren

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 177

6.2.3 Ausgangseinstellungen

6.2.3.1 Grundeinstellungen Ausgang

Methode für Heizen und Kühlen Falls die Kühlung in den Grundeinstellungen aktiviert ist, stehen für die Berechnung des PID Ausgangswerts zwei Methoden zur Verfügung:

● PID-Parameterumschaltung (Config.AdvancedCooling = TRUE):

Die Ausgangswertberechnung für Kühlen erfolgt über einen eigenen PID-Parametersatz. Der PID-Algorithmus entscheidet anhand des berechneten Ausgangswerts und der Regeldifferenz, ob die PID-Parameter für Heizen oder Kühlen verwendet werden. Diese Methode ist geeignet, falls Heiz- und Kühlstellglied unterschiedliches Zeitverhalten und unterschiedliche Verstärkungen aufweisen.

Nur bei Wahl dieser Methode stehen Erstoptimierung und Nachoptimierung für Kühlen zur Verfügung.

● Kühlfaktor (Config.AdvancedCooling = FALSE):

Die Ausgangswertberechnung für Kühlen erfolgt mit den PID-Parametern für Heizen unter Berücksichtigung des konfigurierbaren Kühlfaktors Config.CoolFactor. Diese Methode ist geeignet, falls Heiz- und Kühlstellglied ähnliches Zeitverhalten aber unterschiedliche Verstärkungen aufweisen. Bei Wahl dieser Methode stehen Erstoptimierung und Nachoptimierung für Kühlen sowie der PID-Parametersatz für Kühlen nicht zur Verfügung. Es können nur die Optimierungen für Heizen ausgeführt werden.

Kühlfaktor Falls als Methode für Heizen/Kühlen der Kühlfaktor gewählt ist, wird dieser als Faktor in der Berechnung des Ausgangswerts für Kühlen berücksichtigt. Auf diese Weise können unterschiedliche Verstärkungen von Heiz- und Kühlstellglied berücksichtigt werden.

Der Kühlfaktor wird nicht automatisch eingestellt oder während der Optimierung angepasst. Sie müssen den Kühlfaktor manuell mit dem Verhältnis "Verstärkung Heizstellglied / Verstärkung Kühlstellglied" korrekt konfigurieren.

Beispiel: Kühlfaktor = 2.0 bedeutet, dass die Verstärkung des Heizstellglieds doppelt so stark wie die Verstärkung des Kühlstellglieds ist.

Der Kühlfaktor ist nur wirksam und veränderbar, falls "Kühlfaktor" als Methode für Heizen / Kühlen gewählt ist.

Page 179: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.2 PID_Temp konfigurieren

PID-Regelung 178 Funktionshandbuch, 11/2019, A5E35300226-AE

Verhalten im Fehlerfall

ACHTUNG

Ihre Anlage kann beschädigt werden.

Falls Sie im Fehlerfall "Aktueller Wert für die Fehlerdauer" oder "Ersatzausgangswert für die Fehlerdauer" ausgeben, bleibt PID_Temp im Automatikbetrieb bzw. im Handbetrieb. Dadurch können die Istwertgrenzen überschritten und Ihre Anlage beschädigt werden.

Konfigurieren Sie für Ihre Regelstrecke ein Verhalten im Fehlerfall, das Ihre Anlage vor Beschädigung schützt.

PID_Temp ist so voreingestellt, dass im Fehlerfall die Regelung in den meisten Fällen aktiv bleibt.

Falls im Regelbetrieb häufig Fehler auftreten, wird durch diese Voreinstellung das Regelverhalten verschlechtert. Überprüfen Sie dann den Parameter ErrorBits und beheben Sie die Fehlerursache.

Im Fehlerfall gibt PID_Temp einen konfigurierbaren Ausgangswert aus:

● Null (Inaktiv)

PID_Temp schaltet bei allen Fehlern in die Betriebsart "Inaktiv" und gibt folgendes aus:

– 0.0 als PID Ausgangswert (PidOutputSum)

– 0.0 als Ausgangswert für Heizen (OutputHeat) und Ausgangswert für Kühlen (OutputCool)

– 0 als analoger Ausgangswert für Heizen (OutputHeat_PER) und analoger Ausgangswert für Kühlen (OutputCool_PER)

– FALSE als PWM Ausgangswert für Heizen (OutputHeat_PWM) und PWM Ausgangswert für Kühlen (OutputCool_PWM)

Dies ist unabhängig von den konfigurierten Ausgangswertgrenzen und der -skalierung. Der Regler wird erst durch eine fallende Flanke an Reset oder eine steigende Flanke an ModeActivate reaktiviert.

● Aktuellen Wert für die Fehlerdauer

Die Fehlerreaktion ist abhängig vom auftretenden Fehler und der Betriebsart.

Falls im Automatikbetrieb einer oder mehrere der folgenden Fehler auftreten, bleibt PID_Temp im Automatikbetrieb:

– 0000001h: Der Parameter Input ist außerhalb der Istwertgrenzen.

– 0000800h: Abtastzeitfehler

– 0040000h: Ungültiger Wert am Parameter Disturbance.

– 8000000h: Fehler während der Berechnung der PID Parameter.

Page 180: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.2 PID_Temp konfigurieren

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 179

Falls im Automatikbetrieb einer oder mehrere der folgenden Fehler auftreten, wechselt PID_Temp in die Betriebsart "Ersatzausgangswert mit Fehlerüberwachung" und gibt den letzten gültigen PID Ausgangswert (PidOutputSum) aus:

– 0000002h: Ungültiger Wert am Parameter Input_PER.

– 0000200h: Ungültiger Wert am Parameter Input.

– 0000400h: Berechnung des Ausgangswerts fehlgeschlagen.

– 0001000h: Ungültiger Wert am Parameter Setpoint oder SubstituteSetpoint.

Die aus dem PID Ausgangswert resultierenden Werte an den Ausgängen für Heizen und Kühlen ergeben sich aus der konfigurierten Ausgangsskalierung.

Sobald die Fehler nicht mehr anstehen, wechselt PID_Temp wieder in den Automatikbetrieb.

Falls im Handbetrieb ein Fehler auftritt, bleibt PID_Temp im Handbetrieb und verwendet weiterhin den Handwert als PID Ausgangswert.

Falls der Handwert ungültig ist, wird der konfigurierte Ersatzausgangswert verwendet.

Falls Handwert und Ersatzausgangswert ungültig sind, wird die Untergrenze PID Ausgangswert für Heizen (Config.Output.Heat.PidLowerLimit) verwendet.

Falls während einer Erst- oder Nachoptimierung folgender Fehler auftritt, bleibt PID_Temp in der aktiven Betriebsart:

– 0000020h: Die Erstoptimierung ist während der Nachoptimierung nicht erlaubt.

Bei allen anderen Fehlern bricht PID_Temp die Optimierung ab und wechselt in die Betriebsart, aus der die Optimierung gestartet wurde.

● Ersatzausgangswert für die Fehlerdauer

PID_Temp verhält sich wie bei "Aktuellen Wert für die Fehlerdauer" beschrieben, gibt aber in der Betriebsart "Ersatzausgangswert mit Fehlerüberwachung" den konfigurierten Ersatzausgangswert (SubstituteOutput) als PID Ausgangswert (PidOutputSum) aus.

Die aus dem PID Ausgangswert resultierenden Werte an den Ausgängen für Heizen und Kühlen ergeben sich aus der konfigurierten Ausgangsskalierung.

Für Regler mit aktiviertem Kühlausgang (Config.ActivateCooling = TRUE) geben Sie,

– um den Wert an den Ausgängen für Heizen auszugeben, einen positiven Ersatzausgangswert ein.

– um den Wert an den Ausgängen für Kühlen auszugeben, einen negativen Ersatzausgangswert ein.

Falls folgender Fehler auftritt, bleibt PID_Temp in der Betriebsart "Ersatzausgangswert mit Fehlerüberwachung" und gibt die Untergrenze PID Ausgangswert für Heizen (Config.Output.Heat.PidLowerLimit) aus:

– 0020000h: Ungültiger Wert an der Variablen SubstituteOutput.

Page 181: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.2 PID_Temp konfigurieren

PID-Regelung 180 Funktionshandbuch, 11/2019, A5E35300226-AE

6.2.3.2 Ausgangswertgrenzen und -skalierung Der PID Ausgangswert (PidOutputSum) wird je nach Betriebsart durch den PID-Algorithmus automatisch berechnet oder durch den Handwert (ManualValue) oder den konfigurierten Ersatzausgangswert (SubstituteOutput) vorgegeben.

Der PID Ausgangswert wird abhängig von der Konfiguration begrenzt:

● Ist die Kühlung in den Grundeinstellungen deaktiviert (Config.ActivateCooling = FALSE), wird der Wert auf die Obergrenze PID Ausgangswert (Heizen) (Config.Output.Heat.PidUpperLimit) und die Untergrenze PID Ausgangswert (Heizen) (Config.Output.Heat.PidLowerLimit) begrenzt.

Beide Grenzwerte können Sie im Abschnitt "OutputHeat / OutputCool" an der horizontalen Achse der Skalierungskennlinie konfigurieren. In den Abschnitten "OutputHeat_PWM / OutputCool_PWM" und "OutputHeat_PER / OutputCool_PER" werden diese angezeigt, können aber nicht verändert werden.

● Ist die Kühlung in den Grundeinstellungen aktiviert (Config.ActivateCooling = TRUE), wird der Wert auf die Obergrenze PID Ausgangswert (Config.Output.Heat.PidUpperLimit) und die Untergrenze PID Ausgangswert (Kühlen) (Config.Output.Cool.PidLowerLimit) begrenzt.

Beide Grenzwerte können Sie im Abschnitt „OutputHeat / OutputCool“ an der horizontalen Achse der Skalierungskennlinie konfigurieren. In den Abschnitten "OutputHeat_PWM / OutputCool_PWM" und "OutputHeat_PER / OutputCool_PER" werden diese angezeigt, können aber nicht verändert werden.

Die Untergrenze PID Ausgangswert (Heizen) (Config.Output.Heat.PidLowerLimit) und die Obergrenze PID Ausgangswert (Kühlen) (Config.Output.Cool.PidUpperLimit) können nicht verändert werden und müssen mit dem Wert 0.0 belegt sein.

Der PID Ausgangswert wird skaliert und an den Ausgängen für Heizen und Kühlen ausgegeben. Die Skalierung kann für jeden Ausgang getrennt vorgegeben werden und wird über je 2 Wertepaare, bestehend aus einem Grenzwert des PID Ausgangswerts und einem Skalierungswert, festgelegt: Ausgang Wertepaar Parameter OutputHeat Wertepaar 1 Obergrenze PID Ausgangswert (Heizen)

Config.Output.Heat.PidUpperLimit, Skalierter oberer Ausgangswert (Heizen) Con-fig.Output.Heat.UpperScaling

Wertepaar 2 Untergrenze PID Ausgangswert (Heizen) Config.Output.Heat.PidLowerLimit, Skalierter unterer Ausgangswert (Heizen) Con-fig.Output.Heat.LowerScaling

OutputHeat_PWM Wertepaar 1 Obergrenze PID Ausgangswert (Heizen) Config.Output.Heat.PidUpperLimit, Skalierter oberer PWM Ausgangswert (Heizen) Config.Output.Heat.PwmUpperScaling

Wertepaar 2 Untergrenze PID Ausgangswert (Heizen) Config.Output.Heat.PidLowerLimit, Skalierter unterer PWM Ausgangswert (Heizen) Config.Output.Heat.PwmLowerScaling

Page 182: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.2 PID_Temp konfigurieren

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 181

Ausgang Wertepaar Parameter OutputHeat_PER Wertepaar 1 Obergrenze PID Ausgangswert (Heizen)

Config.Output.Heat.PidUpperLimit, Skalierter oberer analoger Ausgangswert (Heizen) Config.Output.Heat.PerUpperScaling

Wertepaar 2 Untergrenze PID Ausgangswert (Heizen) Config.Output.Heat.PidLowerLimit, Skalierter unterer analoger Ausgangswert (Heizen) Config.Output.Heat.PerLowerScaling

OutputCool Wertepaar 1 Untergrenze PID Ausgangswert (Kühlen) Config.Output.Cool.PidLowerLimit, Skalierter oberer Ausgangswert (Kühlen) Config.Output.Cool.UpperScaling

Wertepaar 2 Obergrenze PID Ausgangswert (Kühlen) Config.Output.Cool.PidUpperLimit, Skalierter unterer Ausgangswert (Kühlen) Config.Output.Cool.LowerScaling

OutputCool_PWM Wertepaar 1 Untergrenze PID Ausgangswert (Kühlen) Config.Output.Cool.PidLowerLimit, Skalierter oberer PWM Ausgangswert (Kühlen) Config.Output.Cool.PwmUpperScaling

Wertepaar 2 Obergrenze PID Ausgangswert (Kühlen) Config.Output.Cool.PidUpperLimit, Skalierter unterer PWM Ausgangswert (Kühlen) Config.Output.Cool.PwmLowerScaling

OutputCool_PER Wertepaar 1 Untergrenze PID Ausgangswert (Kühlen) Config.Output.Cool.PidLowerLimit, Skalierter oberer analoger Ausgangswert (Kühlen) Config.Output.Cool.PerUpperScaling

Wertepaar 2 Obergrenze PID Ausgangswert (Kühlen) Config.Output.Cool.PidUpperLimit, Skalierter unterer analoger Ausgangswert (Kühlen) Config.Output.Cool.PerLowerScaling

Die Untergrenze PID Ausgangswert (Heizen) (Config.Output.Heat.PidLowerLimit) muss den Wert 0.0 haben, falls die Kühlung aktiviert ist (Config.ActivateCooling = TRUE).

Die Obergrenze PID Ausgangswert (Kühlen) (Config.Output.Cool.PidUpperLimit) muss immer den Wert 0.0 haben.

Page 183: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.2 PID_Temp konfigurieren

PID-Regelung 182 Funktionshandbuch, 11/2019, A5E35300226-AE

Beispiel: Ausgangsskalierung bei Verwendung von Ausgang OutputHeat (Kühlung deaktiviert; die Untergrenze PID Ausgangswert (Heizen) (Config.Output.Heat.PidLowerLimit) darf ungleich 0.0 sein):

Beispiel: Ausgangsskalierung bei Verwendung von Ausgang OutputHeat_PWM und OutputCool_PER (Kühlung aktiviert; die Untergrenze PID Ausgangswert (Heizen) (Config.Output.Heat.PidLowerLimit) muss 0.0 sein):

Mit Ausnahme der Betriebsart "Inaktiv", liegt der Wert an einem Ausgang immer zwischen seinem skalierten oberen Ausgangswert und skalierten unteren Ausgangswert z. B. für OutputHeat immer zwischen dem skalierten oberen Ausgangswert (Heizen) (Config.Output.Heat.UpperScaling) und dem skalierten unteren Ausgangswert (Heizen) (Config.Output.Heat.LowerScaling). Falls Sie den Wert an dem zugehörigen Ausgang begrenzen wollen, müssen Sie daher auch diese Skalierungswerte anpassen. Die Skalierungswerte eines Ausgangs können Sie an den vertikalen Achsen der Skalierungskennlinie konfigurieren. Jeder Ausgang verfügt über zwei eigene Skalierungswerte. Für OutputHeat_PWM, OutputCool_PWM, OutputHeat_PER und OutputCool_PER sind diese nur änderbar, falls der entsprechende Ausgang in den Grundeinstellungen ausgewählt ist. Bei allen Ausgängen für Kühlen muss zusätzlich die Kühlung in den Grundeinstellungen aktiviert sein. Die Kurvenanzeige im Inbetriebnahmedialog zeichnet nur die Werte von OutputHeat und OutputCool auf, unabhängig vom gewählten Ausgang in den Grundeinstellungen. Passen Sie daher bei Bedarf auch die Skalierungswerte für OutputHeat bzw. OutputCool an, falls Sie OutputHeat_PWM oder OutputHeat_PER bzw. OutputCool_PWM oder OutputCool_PER verwenden und die Kurvenanzeige im Inbetriebnahmedialog nutzen wollen.

Page 184: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.2 PID_Temp konfigurieren

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 183

6.2.4 Erweiterte Einstellungen

6.2.4.1 Istwertüberwachung Konfigurieren Sie im Konfigurationsfenster "Istwertüberwachung" eine untere und eine obere Warngrenze des Istwerts. Wird im Betrieb eine der Warngrenzen über- oder unterschritten, so wird an der Anweisung PID_Temp eine Warnung angezeigt:

● Am Ausgangsparameter InputWarning_H, wenn die obere Warngrenze überschritten wurde

● Am Ausgangsparameter InputWarning_L, wenn die untere Warngrenze unterschritten wurde

Die Warngrenzen müssen innerhalb der Ober- und Untergrenze Istwert liegen.

Wenn Sie keine Werte eingeben, werden die Ober- und Untergrenze Istwert verwendet.

Beispiel Obergrenze Istwert = 98 °C ; Obere Warngrenze = 90 °C

Untere Warngrenze = 10 °C ; Untergrenze Istwert = 0 °C

PID_Temp verhält sich folgendermaßen: Istwert InputWarning_H InputWarning_L ErrorBits > 98 °C TRUE FALSE 0001h ≤ 98 °C und > 90 °C TRUE FALSE 0000h ≤ 90 °C und ≥ 10 °C FALSE FALSE 0000h < 10°C und ≥ 0 °C FALSE TRUE 0000h < 0 °C FALSE TRUE 0001h

Wie PID_Temp beim Über- oder Unterschreiten der Obergrenze bzw. Untergrenze Istwert reagiert, konfigurieren Sie bei den Ausgangseinstellungen.

Page 185: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.2 PID_Temp konfigurieren

PID-Regelung 184 Funktionshandbuch, 11/2019, A5E35300226-AE

6.2.4.2 PWM-Begrenzungen Der PID Ausgangswert PidOutputSum wird skaliert und über eine Pulsweitenmodulation in eine Impulsfolge transformiert, die am Ausgangsparameter OutputHeat_PWM bzw. OutputCool_PWM ausgegeben wird. Die "Abtastzeit PID-Algorithmus" ist der Abstand zwischen zwei Berechnungen des PID Ausgangswerts. Die Abtastzeit wird als Periodendauer der Pulsweitenmodulation verwendet. Während des Heizens, wird der PID Ausgangswert immer in der "Abtastzeit PID-Algorithmus für Heizen" berechnet. Die Berechnung des PID Ausgangswerts während des Kühlens hängt von der in "Grundeinstellungen Ausgang" gewählten Art der Kühlung ab:

● Wird der Kühlfaktor verwendet, gilt die "Abtastzeit PID-Algorithmus für Heizen".

● Wird PID-Parameterumschaltung verwendet, gilt die "Abtastzeit PID-Algorithmus für Kühlen".

Die Abtastzeit PID-Algorithmus für Heizen bzw. Kühlen wird während der Erst- oder Nachoptimierung ermittelt. Falls Sie die PID-Parameter manuell einstellen, müssen Sie dort auch die Abtastzeit PID-Algorithmus für Heizen bzw. Kühlen konfigurieren. OutputHeat_PWM und OutputCool_PWM werden in der Abtastzeit PID_Temp ausgegeben. Die Abtastzeit PID_Temp entsricht der Zykluszeit des aufrufenden OB. Die Impulsdauer ist proportional zum PID Ausgangswert·und beträgt stets ein ganzzahliges Vielfaches der Abtastzeit PID_Temp.

Beispiel für OutputHeat_PWM

① Abtastzeit PID_Temp ② Abtastzeit PID-Algorithmus für Heizen ③ Impulsdauer ④ Pausendauer

Page 186: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.2 PID_Temp konfigurieren

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 185

Die "Minimale Einschaltzeit" und die "Minimale Ausschaltzeit" können, gerundet auf ein ganzzahliges Vielfaches der Abtastzeit PID_Temp, für Heizen und Kühlen getrennt eingestellt werden.

Ein Impuls oder eine Pause wird nie kürzer als die minimale Ein- oder Ausschaltzeiten. Die Ungenauigkeiten, die sich dadurch ergeben, werden aufsummiert und im nächsten Zyklus ausgeglichen.

Beispiel für OutputHeat_PWM

Abtastzeit PID_Temp (entspricht der Zykluszeit des aufrufenden OB) = 100 ms

Abtastzeit PID-Algorithmus (entspricht der Periodendauer) = 1000 ms

Minimale Einschaltzeit = 200 ms

Der PID Ausgangswert PidOutputSum beträgt konstant 15 %. Der kleinste Impuls, den PID_Temp ausgeben kann, entspricht 20 %. Im ersten Zyklus wird kein Impuls ausgegeben. Im zweiten Zyklus wird der nicht ausgegebene Impuls des ersten Zyklus zum Impuls des zweiten Zyklus addiert.

① Abtastzeit PID_Temp ② Abtastzeit PID-Algorithmus für Heizen ⑤ Minimale Einschaltzeit

Page 187: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.2 PID_Temp konfigurieren

PID-Regelung 186 Funktionshandbuch, 11/2019, A5E35300226-AE

Um die Schalthäufigkeit zu verringern und das Stellglied zu schonen, verlängern Sie die minimalen Ein- und Ausschaltzeiten.

Falls Sie in den Grundeinstellungen als Ausgang OutputHeat bzw. OutputCool oder OutputHeat_PER bzw. OutputCool_PER gewählt haben, werden die minimale Einschaltzeit und die minimale Ausschaltzeit nicht ausgewertet und sind nicht änderbar.

Ist bei Verwendung von OutputHeat_PWM bzw. OutputCool_PWM die "Abtastzeit PID-Algorithmus" (Retain.CtrlParams.Heat.Cycle bzw. Retain.CtrlParams.Cool.Cycle) und damit die Periodendauer der Pulsweitenmodulation sehr groß, können Sie, um die Glattheit des Istwerts zu verbessern, an den Parametern Config.Output.Heat.PwmPeriode bzw. Config.Output.Cool.PwmPeriode eine abweichende kürzere Periodendauer vorgeben (siehe auch Variable PwmPeriode (Seite 475)).

Hinweis

Die minimalen Ein- und Ausschaltzeiten wirken nur auf die Ausgangsparameter OutputHeat_PWM bzw. OutputCool_PWM und werden nicht für evtl. in der CPU integrierte Impulsgeneratoren verwendet.

Page 188: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.2 PID_Temp konfigurieren

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 187

6.2.4.3 PID-Parameter Im Konfigurationsfenster "PID-Parameter" werden die PID-Parameter angezeigt.

Falls in den Grundeinstellungen die Kühlung aktiviert und in den Ausgangseinstellungen PID-Parameterumschaltung als Methode für Heizen/Kühlen gewählt ist, stehen zwei Parametersätze zur Verfügung: einer für Heizen und einer für Kühlen.

In diesem Fall entscheidet der PID-Algorithmus anhand des berechneten Ausgangswerts und der Regeldifferenz, ob die PID-Parameter für Heizen oder Kühlen verwendet werden.

Falls die Kühlung deaktiviert oder Kühlfaktor als Methode für Heizen/Kühlen gewählt ist, wird immer der Parametersatz für Heizen verwendet.

Während der Optimierung werden die PID-Parameter an Ihre Regelstrecke angepasst, mit Ausnahme der Totzonenbreite, die manuell konfiguriert werden muss.

Hinweis

Die aktuell wirksamen PID-Parameter befinden sich in der Struktur Retain.CtrlParams.

Um ein Fehlverhalten des PID-Reglers zu vermeiden, ändern Sie online die aktuell wirksamen PID-Parameter nur in der Betriebsart "inaktiv".

Wenn Sie die PID-Parameter in den Betriebsarten "Automatikbetrieb" oder "Handbetrieb" online ändern möchten, dann ändern Sie die PID-Parameter in der Struktur CtrlParamsBackUp und übernehmen diese Änderungen per LoadBackUp = TRUE in die Struktur Retain.CtrlParams.

Online Änderungen an den PID-Parametern in der Betriebsart „Automatikbetrieb“ können zu Sprüngen am Ausgangswert führen.

PID_Temp ist ein PIDT1-Regler mit Anti-Windup und Gewichtung des P- und D-Anteils.

Der PID-Algorithmus arbeitet nach folgender Formel (Regelzone und Totzone deaktiviert):

Symbol Beschreibung Zugehörige Parameter der Anweisung

PID_Temp y Ausgangswert des PID-Algorithmus - Kp Proportionalverstärkung Retain.CtrlParams.Heat.Gain

Retain.CtrlParams.Cool.Gain CoolFactor

s Laplace-Operator - b Gewichtung des P-Anteils Retain.CtrlParams.Heat.PWeighting

Retain.CtrlParams.Cool.PWeighting w Sollwert CurrentSetpoint x Istwert ScaledInput TI Integrationszeit Retain.CtrlParams.Heat.Ti

Retain.CtrlParams.Cool.Ti

Page 189: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.2 PID_Temp konfigurieren

PID-Regelung 188 Funktionshandbuch, 11/2019, A5E35300226-AE

Symbol Beschreibung Zugehörige Parameter der Anweisung PID_Temp

TD Differenzierzeit Retain.CtrlParams.Heat.Td Retain.CtrlParams.Cool.Td

a Koeffizient für den Differenzierverzug (Differenzierverzug T1 = a × TD)

Retain.CtrlParams.Heat.TdFiltRatio Retain.CtrlParams.Cool.TdFiltRatio

c Gewichtung des D-Anteils Retain.CtrlParams.Heat.DWeighting Retain.CtrlParams.Cool.DWeighting

DeadZone Totzonenbreite Retain.CtrlParams.Heat.DeadZone Retain.CtrlParams.Cool.DeadZone

ControlZone Regelzonenbreite Retain.CtrlParams.Heat.ControlZone Retain.CtrlParams.Cool.ControlZone

Die folgende Grafik zeigt, wie die Parameter in den PID-Algorithmus einfließen:

Alle PID-Parameter sind remanent. Falls Sie die PID-Parameter manuell eingeben, müssen Sie PID_Temp vollständig laden (Technologieobjekte in Gerät laden (Seite 47)).

Page 190: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.2 PID_Temp konfigurieren

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 189

Blockschaltbild PID_Temp Das folgende Blockdiagramm zeigt, wie der PID-Algorithmus in PID_Temp integriert ist.

Page 191: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.2 PID_Temp konfigurieren

PID-Regelung 190 Funktionshandbuch, 11/2019, A5E35300226-AE

Proportionalverstärkung Der Wert gibt die Proportionalverstärkung des Reglers an. PID_Temp arbeitet nicht mit einer negativen Proportionalverstärkung und unterstützt nur normalen Regelsinn d. h. mit einer Erhöhung des PID-Ausgangswerts (PidOutputSum) soll eine Erhöhung des Istwerts erreicht werden.

Integrationszeit Die Integrationszeit bestimmt das Zeitverhalten des I-Anteils. Abschalten des I-Anteils erfolgt mit Integrationszeit = 0.0. Wenn die Integrationszeit in der Betriebsart "Automatikbetrieb" von einem anderen Wert auf 0.0 online geändert wird, dann wird der bisherige I-Anteil gelöscht und es erfolgt ein Sprung des Ausgangswerts.

Differenzierzeit Die Differenzierzeit bestimmt das Zeitverhalten des D-Anteils. Abschalten des D-Anteils erfolgt mit Differenzierzeit = 0.0.

Koeffizient Differenzierverzug Die Wirkung des D-Anteils wird durch den Koeffizient Differenzierverzug verzögert.

Differenzierverzug = Differenzierzeit × Koeffizient Differenzierverzug

● 0.0: D-Anteil wirkt nur für einen Zyklus und ist damit fast nicht wirksam.

● 0.5: Dieser Wert hat sich in der Praxis für Regelstrecken mit einer dominierenden Zeitkonstanten bewährt.

● > 1.0: Je größer der Koeffizient, desto stärker wird die Wirkung des D-Anteils verzögert.

Gewichtung des P-Anteils Sie können bei Sollwertänderungen den P-Anteil abschwächen.

Sinnvoll sind Werte von 0.0 bis 1.0.

● 1.0: P-Anteil bei Sollwertänderung voll wirksam

● 0.0: P-Anteil bei Sollwertänderung nicht wirksam

Bei Änderung des Istwerts ist der P-Anteil immer voll wirksam.

Gewichtung des D-Anteils Sie können bei Sollwertänderungen den D-Anteil abschwächen.

Sinnvoll sind Werte von 0.0 bis 1.0.

● 1.0: D-Anteil bei Sollwertänderung voll wirksam

● 0.0: D-Anteil bei Sollwertänderung nicht wirksam

Bei Änderung des Istwerts ist der D-Anteil immer voll wirksam.

Page 192: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.2 PID_Temp konfigurieren

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 191

Abtastzeit PID-Algorithmus Da die Regelstrecke eine gewisse Zeit benötigt, um auf eine Änderung des Ausgangswerts zu reagieren, ist es sinnvoll, den Ausgangswert nicht in jedem Zyklus zu berechnen. Die Abtastzeit "PID-Algorithmus" ist der Abstand zwischen zwei Berechnungen des PID Ausgangswerts. Sie wird während der Optimierung ermittelt und auf ein Vielfaches der Abtastzeit PID_Temp (Zykluszeit des Weckalarm-OB) gerundet. Alle anderen Funktionen von PID_Temp werden bei jedem Aufruf durchgeführt.

Falls Sie OutputHeat_PWM bzw. OutputCool_PWM verwenden, wird die Abtastzeit des PID-Algorithmus als Periodendauer der Pulsweitenmodulation verwendet. Die Genauigkeit des Ausgangssignals wird bestimmt durch das Verhältnis von Abtastzeit des PID-Algorithmus zu Zykluszeit des OB. Die Zykluszeit sollte höchstens ein Zehntel der Abtastzeit des PID-Algorithmus betragen.

Welche Abtastzeit des PID-Algorithmus als Periodendauer der Pulsweitenmodulation bei OutputCool_PWM verwendet wird, hängt von der in "Grundeinstellungen Ausgang" gewählten Methode für Heizen/Kühlen ab:

● Wird der Kühlfaktor verwendet, gilt auch für OutputCool_PWM die "Abtastzeit PID-Algorithmus für Heizen".

● Wird PID-Parameterumschaltung verwendet, gilt die "Abtastzeit PID-Algorithmus für Kühlen" als Periodendauer für OutputCool_PWM.

Ist bei Verwendung von OutputHeat_PWM bzw. OutputCool_PWM die Abtastzeit des PID-Algorithmus und damit die Periodendauer der Pulsweitenmodulation sehr groß, können Sie, um die Glattheit des Istwerts zu verbessern, an den Parametern Config.Output.Heat.PwmPeriode bzw. Config.Output.Cool.PwmPeriode eine abweichende kürzere Periodendauer vorgeben.

Totzonenbreite Falls der Istwert verrauscht ist, wirkt sich der Rauschanteil auch am Ausgangswert aus. Bei hoher Reglerverstärkung und eingeschaltetem D-Anteil kann der Ausgangswert stark schwanken. Liegt der Istwert innerhalb der Totzone um den Sollwert, wird die Regeldifferenz unterdrückt, sodass der PID-Algorithmus nicht reagiert und unnötige Schwankungen des Ausgangswerts reduziert werden.

Die Totzonenbreite für Heizen bzw. Kühlen wird nicht automatisch während der Optimierung eingestellt. Sie müssen die Totzonenbreite manuell korrekt konfigurieren. Das Abschalten der Totzone erfolgt mit Totzonenbreite = 0.0.

Bei eingeschalteter Totzone kann sich eine dauerhafte Regeldifferenz (Abweichung zwischen Sollwert und Istwert) einstellen. Dies kann sich negativ auf die Durchführung einer Nachoptimierung auswirken.

Ist die Kühlung in den Grundeinstellungen aktiviert und die PID-Parameterumschaltung in den Ausgangseinstellungen als Methode für Heizen/Kühlen gewählt, liegt die Totzone zwischen "Sollwert - Totzonenbreite (Heizen)" und "Sollwert + Totzonenbreite (Kühlen)".

Ist die Kühlung in den Grundeinstellungen deaktiviert oder wird der Kühlfaktor verwendet, so liegt die Totzone symmetrisch zwischen "Sollwert - Totzonenbreite (Heizen)" und "Sollwert + Totzonenbreite (Heizen)".

Page 193: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.2 PID_Temp konfigurieren

PID-Regelung 192 Funktionshandbuch, 11/2019, A5E35300226-AE

Falls für die Gewichtung des P-Anteils oder die Gewichtung des D-Anteils Werte ungleich 1.0 konfiguriert sind, wirken sich Sollwertänderungen auch innerhalb der Totzone auf den Ausgangswert aus. Istwertänderungen innerhalb der Totzone wirken sich unabhängig von den Gewichtungen nicht auf den Ausgangswert aus.

Totzone mit deaktivierter Kühlung oder Kühlfaktor (links) bzw. aktivierter Kühlung und PID-Parameterumschaltung (rechts). Die x / horizontale Achse zeigt die Regeldifferenz = Sollwert - Istwert. Die y / vertikale Achse zeigt das Ausgangssignal der Totzone, das an den PID-Algorithmus weitergegeben wird.

Regelzonenbreite Verlässt der Istwert die Regelzone um den Sollwert, wird der minimale oder maximale Ausgangswert ausgegeben. Dadurch erreicht der Istwert den Sollwert schneller.

Liegt der Istwert innerhalb der Regelzone um den Sollwert, wird der Ausgangswert vom PID-Algorithmus berechnet.

Die Regelzonenbreite für Heizen bzw. Kühlen wird nur während der Erstoptimierung automatisch eingestellt, falls als Reglerstruktur für Heizen bzw. Kühlen "PID (Temperatur)" gewählt ist.

Das Abschalten der Regelzone erfolgt mit Regelzonenbreite = 3.402822e+38.

Ist die Kühlung in den Grundeinstellungen deaktiviert oder wird der Kühlfaktor verwendet, liegt die Regelzone symmetrisch zwischen "Sollwert - Regelzonenbreite (Heizen)" und "Sollwert + Regelzonenbreite (Heizen)".

Page 194: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.2 PID_Temp konfigurieren

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 193

Ist die Kühlung in den Grundeinstellungen aktiviert und die PID-Parameterumschaltung in den Ausgangseinstellungen als Methode für Heizen/Kühlen gewählt, liegt die Regelzone zwischen "Sollwert - Regelzonenbreite (Heizen)" und "Sollwert + Regelzonenbreite (Kühlen)".

Regelzone mit deaktivierter Kühlung oder Kühlfaktor.

Regelzone mit aktivierter Kühlung und PID-Parameterumschaltung.

Page 195: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.2 PID_Temp konfigurieren

PID-Regelung 194 Funktionshandbuch, 11/2019, A5E35300226-AE

Regel für Optimierung Wählen Sie in der Klappliste "Reglerstruktur" aus, ob PI oder PID-Parameter berechnet werden. Sie können die Regeln für Optimierung für Heizen und Optimierung für Kühlen getrennt vorgeben.

● PID (Temperatur)

Berechnet während der Erst- und Nachoptimierung PID-Parameter.

Die Erstoptimierung ist dabei für Temperaturprozesse ausgelegt und führt zu einem langsameren und eher asymptotischen Regelverhalten mit geringerem Überschwinger als mit der Option "PID". Die Nachoptimierung ist identisch zur Option "PID".

Nur bei Wahl dieser Option wird die Regelzonenbreite während der Erstoptimierung automatisch ermittelt.

● PID

Berechnet während der Erst- und Nachoptimierung PID-Parameter.

● PI

Berechnet während der Erst- und Nachoptimierung PI-Parameter.

● Benutzerdefiniert

Falls Sie über ein Anwenderprogramm oder die Parametersicht unterschiedliche Reglerstrukturen für Erst- und Nachoptimierung eingestellt haben, wird "Benutzerdefiniert" in der Klappliste angezeigt.

Page 196: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.3 PID_Temp in Betrieb nehmen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 195

6.3 PID_Temp in Betrieb nehmen

6.3.1 Inbetriebnahme Das Inbetriebnahmefenster hilft Ihnen bei der Inbetriebnahme des PID-Reglers. In der Kurvenanzeige können Sie die Werte für Sollwert, Istwert und die Ausgangswerte für Heizen und Kühlen entlang der Zeitachse beobachten. Folgende Funktionen werden im Inbetriebnahmefenster unterstützt:

● Erstoptimierung des Reglers

● Nachoptimierung des Reglers

Verwenden Sie die Nachoptimierung, wenn Sie eine Feinjustage der PID-Parameter wünschen.

● Beobachtung der laufenden Regelung im Kurvenfenster

● Test der Regelstrecke durch Vorgabe eines manuellen PID Ausgangswerts und eines Ersatzsollwerts

● Sichern der Aktualwerte der PID-Parameter ins Offline-Projekt.

Für alle Funktionen muss eine Onlineverbindung zur CPU aufgebaut sein.

Über die Schaltflächen "Alle beobachten" oder "Start" der Kurvenanzeige wird die Onlineverbindung zur CPU, sofern nicht bereits vorhanden, aufgebaut und die Bedienung des Inbetriebnahmefensters freigegeben.

Bedienung der Kurvenanzeige ● Wählen Sie in der Klappliste "Abtastzeit" die gewünschte Abtastzeit aus.

Alle Werte in der Kurvenanzeige werden in der ausgewählten Abtastzeit aktualisiert.

● Klicken Sie auf das Symbol "Start" in der Gruppe Messung, falls Sie die Kurvenanzeige nutzen möchten.

Die Aufzeichnung der Werte wird gestartet. In der Kurvenanzeige werden die aktuellen Werte für Sollwert, Istwert und Ausgangswerte für Heizen und Kühlen eingetragen.

● Klicken Sie auf das Symbol "Stop", falls Sie die Kurvenanzeige beenden möchten.

Die in der Kurvenanzeige aufgezeichneten Werte können weiterhin analysiert werden.

Mit Schließen des Inbetriebnahmefensters wird die Aufzeichnung in der Kurvenanzeige beendet und die aufgezeichneten Werte werden gelöscht.

Page 197: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.3 PID_Temp in Betrieb nehmen

PID-Regelung 196 Funktionshandbuch, 11/2019, A5E35300226-AE

6.3.2 Erstoptimierung Die Erstoptimierung ermittelt die Prozessantwort auf einen Sprung des Ausgangswerts und sucht den Wendepunkt. Aus der maximalen Steigung und der Totzeit der Regelstrecke werden die optimalen PID-Parameter berechnet. Die besten PID-Parameter erhalten Sie, wenn Sie Erst- und Nachoptimierung durchführen.

Je stabiler der Istwert ist, desto leichter und genauer können die PID-Parameter ermittelt werden. Ein Rauschen des Istwerts ist solange akzeptabel, wie der Anstieg des Istwerts signifikant größer ist als das Rauschen. Dies ist am ehesten in den Betriebsarten "Inaktiv" oder "Handbetrieb" gegeben. Die PID-Parameter werden gesichert bevor sie neu berechnet werden.

PID_Temp bietet abhängig von der Konfiguration verschiedene Erstoptimierungsarten:

● Erstoptimierung Heizen

Es wird ein Sprung am Ausgangswert Heizen ausgegeben, die PID-Parameter für Heizen werden berechnet und anschließend wird im Automatikbetrieb auf den Sollwert geregelt.

● Erstoptimierung Heizen und Kühlen

Es wird ein Sprung am Ausgangswert Heizen ausgegeben.

Sobald sich der Istwert in der Nähe des Sollwerts befindet, wird ein Sprung am Ausgangswert Kühlen ausgegeben.

Die PID-Parameter für Heizen (Struktur Retain.CtrlParams.Heat) und Kühlen (Struktur Retain.CtrlParams.Cool) werden berechnet und anschließend wird im Automatikbetrieb auf den Sollwert geregelt.

● Erstoptimierung Kühlen

Es wird ein Sprung am Ausgangswert Kühlen ausgegeben.

Die PID-Parameter für Kühlen werden berechnet und anschließend wird im Automatikbetrieb auf den Sollwert geregelt.

Falls Sie die PID-Parameter für Heizen und Kühlen optimieren wollen, können Sie bei Durchführung einer "Erstoptimierung Heizen" und anschließender "Erstoptimierung Kühlen" ein besseres Regelverhalten erwarten als bei Durchführung einer "Erstoptimierung Heizen und Kühlen". Die Durchführung der Erstoptimierung in zwei Schritten erfordert jedoch mehr Zeit.

Allgemeine Voraussetzungen ● Die Anweisung PID_Temp wird in einem Weckalarm-OB aufgerufen.

● ManualEnable = FALSE

● Reset = FALSE

● PID_Temp befindet sich in der Betriebsart "Inaktiv", "Handbetrieb" oder "Automatikbetrieb".

● Der Sollwert und der Istwert befinden sich innerhalb der konfigurierten Grenzen (siehe Konfiguration Istwertüberwachung (Seite 183)).

Page 198: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.3 PID_Temp in Betrieb nehmen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 197

Voraussetzungen für Erstoptimierung Heizen ● Die Differenz zwischen Sollwert und Istwert ist größer als 30 % der Differenz zwischen

Obergrenze Istwert und Untergrenze Istwert.

● Der Abstand zwischen Sollwert und Istwert ist größer als 50 % des Sollwerts.

● Der Sollwert ist größer als der Istwert.

Voraussetzungen für Erstoptimierung Heizen und Kühlen ● Der Kühlausgang in den "Grundeinstellungen" ist aktiviert (Config.ActivateCooling =

TRUE).

● Die PID-Parameterumschaltung in den "Grundeinstellungen Ausgangswert" ist aktiviert (Config.AdvancedCooling = TRUE).

● Die Differenz zwischen Sollwert und Istwert ist größer als 30 % der Differenz zwischen Obergrenze Istwert und Untergrenze Istwert.

● Der Abstand zwischen Sollwert und Istwert ist größer als 50 % des Sollwerts.

● Der Sollwert ist größer als der Istwert.

Voraussetzungen für Erstoptimierung Kühlen ● Der Kühlausgang in den "Grundeinstellungen" ist aktiviert (Config.ActivateCooling =

TRUE).

● Die PID-Parameterumschaltung in den "Grundeinstellungen Ausgangswert" ist aktiviert (Config.AdvancedCooling = TRUE).

● Eine "Erstoptimierung Heizen" oder "Erstoptimierung Heizen und Kühlen" wurde erfolgreich durchgeführt (PIDSelfTune.SUT.ProcParHeatOk = TRUE). Für alle Optimierungen sollte der gleiche Sollwert verwendet werden.

● Die Differenz zwischen Sollwert und Istwert ist kleiner als 5 % der Differenz zwischen Obergrenze Istwert und Untergrenze Istwert.

Page 199: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.3 PID_Temp in Betrieb nehmen

PID-Regelung 198 Funktionshandbuch, 11/2019, A5E35300226-AE

Vorgehen Um eine Erstoptimierung durchzuführen, gehen Sie folgendermaßen vor:

1. Doppelklicken Sie in der Projektnavigation auf den Eintrag "PID_Temp > Inbetriebnahme".

2. Aktivieren Sie die Schaltfläche "Alle beobachten" oder Starten Sie die Kurvenanzeige.

Eine Online-Verbindung wird aufgebaut.

3. Wählen Sie in der Klappliste "Optimierungsart" den gewünschten Erstoptimierungseintrag aus.

4. Klicken Sie auf das Symbol "Start".

– Die Erstoptimierung wird gestartet.

– Im Feld "Status" werden Ihnen die aktuellen Arbeitsschritte und evtl. auftretende Fehler angezeigt. Der Fortschrittsbalken zeigt den Fortschritt des aktuellen Arbeitsschritts an.

Hinweis

Klicken Sie auf das Symbol "Stop", wenn der Fortschrittsbalken (Variable "Progress") sich lange Zeit nicht verändert und von einer Blockade der Optimierung ausgegangen werden muss. Prüfen Sie die Konfiguration des Technologieobjekts und starten Sie ggf. die Optimierung erneut.

Ergebnis Wurde die Erstoptimierung ohne Fehlermeldung durchlaufen, so wurden die PID-Parameter optimiert. PID_Temp wechselt in den Automatikbetrieb und verwendet die optimierten Parameter. Die optimierten PID-Parameter bleiben bei Netz-AUS und Neustart der CPU erhalten.

Falls eine Erstoptimierung nicht möglich ist, verhält sich PID_Temp wie unter Verhalten im Fehlerfall konfiguriert.

Page 200: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.3 PID_Temp in Betrieb nehmen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 199

6.3.3 Nachoptimierung Die Nachoptimierung generiert eine konstante, begrenzte Schwingung des Istwertes. Aus Amplitude und Frequenz dieser Schwingung werden die PID-Parameter für den Arbeitspunkt optimiert. Aus den Ergebnissen werden die PID-Parameter neu berechnet. Die PID-Parameter aus der Nachoptimierung zeigen meist ein besseres Führungs- und Störverhalten als die PID-Parameter aus der Erstoptimierung. Die besten PID-Parameter erhalten Sie, wenn Sie Erst- und Nachoptimierung durchführen.

PID_Temp versucht automatisch eine Schwingung zu erzeugen, die größer ist als das Rauschen des Istwerts. Die Nachoptimierung wird nur geringfügig von der Stabilität des Istwerts beeinflusst. Die PID-Parameter werden gesichert bevor sie neu berechnet werden.

PID_Temp bietet abhängig von der Konfiguration verschiedene Nachoptimierungsarten:

● Nachoptimierung Heizen:

PID_Temp erzeugt mit periodischen Änderungen am Ausgangswert Heizen eine Schwingung des Istwerts und berechnet die PID-Parameter für Heizen.

● Nachoptimierung Kühlen:

PID_Temp erzeugt mit periodischen Änderungen am Ausgangswert Kühlen eine Schwingung des Istwerts und berechnet die PID-Parameter für Kühlen.

Vorübergehender Optimierungsoffset für Heizkühlregler Wird PID_Temp als Heizkühlregler eingesetzt (Config.ActivateCooling = TRUE), muss der PID Ausgangswert (PidOutputSum) am Sollwert folgende Voraussetzung erfüllen, damit eine Istwertschwingung erzeugt und die Nachoptimierung erfolgreich durchgeführt werden kann:

● Positiver PID Ausgangswert für Nachoptimierung Heizen

● Negativer PID Ausgangswert für Nachoptimierung Kühlen

Ist diese Voraussetzung nicht erfüllt, können Sie einen vorübergehenden Offset für die Nachoptimierung vorgeben, der am entgegengesetzt wirkenden Ausgang ausgegeben wird.

● Offset für Kühlausgang (PIDSelfTune.TIR.OutputOffsetCool) bei Nachoptimierung Heizen.

Geben Sie vor dem Start der Optimierung einen negativen Optimierungsoffset Kühlen vor, der kleiner ist als der PID Ausgangswert (PidOutputSum) am Sollwert im stationären Zustand.

● Offset für Heizausgang (PIDSelfTune.TIR.OutputOffsetHeat) bei Nachoptimierung Kühlen

Geben Sie vor dem Start der Optimierung einen positiven Optimierungsoffset Heizen vor, der größer ist als der PID Ausgangswert (PidOutputSum) am Sollwert im stationären Zustand.

Der vorgegebene Offset wird dann vom PID-Algorithmus ausgeglichen, sodass der Istwert am Sollwert verbleibt. Durch die Höhe des Offsets kann somit der PID Ausgangswert entsprechend angepasst werden, damit er oben genannte Voraussetzung erfüllt.

Um größere Überschwinger des Istwerts bei Vorgabe des Offsets zu vermeiden, kann dieser auch in mehreren Schritten erhöht werden.

Verlässt PID_Temp die Betriebsart Nachoptimierung, wird der Optimierungsoffset zurückgesetzt.

Page 201: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.3 PID_Temp in Betrieb nehmen

PID-Regelung 200 Funktionshandbuch, 11/2019, A5E35300226-AE

Beispiel: Vorgabe eines Offset für Nachoptimierung Kühlen ● Ohne Offset

– Sollwert (Setpoint) = Istwert (ScaledInput) = 80 °C

– PID Ausgangswert (PidOutputSum) = 30.0

– Ausgangswert Heizen (OutputHeat) = 30.0

– Ausgangswert Kühlen (OutputCool) = 0.0

Eine Schwingung des Istwerts um den Sollwert kann mit dem Kühlausgang alleine nicht erzeugt werden. Die Nachoptimierung würde hier fehlschlagen.

● Mit Offset für Heizausgang (PIDSelfTune.TIR.OutputOffsetHeat) = 80.0

– Sollwert (Setpoint) = Istwert (ScaledInput) = 80 °C

– PID Ausgangswert (PidOutputSum) = -50.0

– Ausgangswert Heizen (OutputHeat) = 80.0

– Ausgangswert Kühlen (OutputCool) = -50.0

Durch die Vorgabe eines Offset für den Heizausgang kann der Kühlausgang nun eine Schwingung des Istwerts um den Sollwert erzeugen. Die Nachoptimierung kann somit erfolgreich durchgeführt werden.

Allgemeine Voraussetzungen ● Die Anweisung PID_Temp wird in einem Weckalarm-OB aufgerufen.

● ManualEnable = FALSE

● Reset = FALSE

● Der Sollwert und der Istwert befinden sich innerhalb der konfigurierten Grenzen (siehe Konfiguration "Istwerteinstellungen").

● Der Regelkreis ist am Arbeitspunkt eingeschwungen. Der Arbeitspunkt ist erreicht, wenn der Istwert dem Sollwert entspricht.

Bei eingeschalteter Totzone kann sich eine dauerhafte Regeldifferenz (Abweichung zwischen Sollwert und Istwert) einstellen. Dies kann sich negativ auf die Durchführung der Nachoptimierung auswirken.

● Es werden keine Störungen erwartet.

● PID_Temp befindet sich in der Betriebsart Inaktiv, Automatikbetrieb oder Handbetrieb.

Voraussetzungen für Nachoptimierung Heizen ● Heat.EnableTuning = TRUE

● Cool.EnableTuning = FALSE

● Falls PID_Temp als Heizkühlregler konfiguriert ist (Config.ActivateCooling = TRUE), muss am Arbeitspunkt, an dem die Optimierung durchgeführt werden soll, der Heizausgang aktiv sein.

PidOutputSum > 0.0 (siehe Optimierungsoffset)

Page 202: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.3 PID_Temp in Betrieb nehmen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 201

Voraussetzungen für Nachoptimierung Kühlen ● Heat.EnableTuning = FALSE

● Cool.EnableTuning = TRUE

● Der Kühlausgang ist aktiviert (Config.ActivateCooling = TRUE).

● Die PID-Parameterumschaltung ist aktiviert (Config.AdvancedCooling = TRUE).

● Der Kühlausgang muss am Arbeitspunkt, an dem die Optimierung durchgeführt werden soll, aktiv sein.

PidOutputSum < 0.0 (siehe Optimierungsoffset)

Ablauf abhängig von Startsituation Die Nachoptimierung können Sie aus den Betriebsarten "Inaktiv", "Automatikbetrieb" oder "Handbetrieb" starten.

Die Nachoptimierung verläuft folgendermaßen beim Start aus:

● Automatikbetrieb mit PIDSelfTune.TIR.RunIn = FALSE (Vorbelegung)

Falls Sie die vorhandenen PID-Parameter durch die Optimierung verbessern wollen, starten Sie die Nachoptimierung aus dem Automatikbetrieb.

PID_Temp regelt so lange mit den vorhandenen PID-Parametern, bis der Regelkreis eingeschwungen ist und die Voraussetzungen für eine Nachoptimierung erfüllt sind. Erst dann startet die Nachoptimierung.

● Inaktiv, Handbetrieb oder Automatikbetrieb mit PIDSelfTune.TIR.RunIn = TRUE

Es wird versucht den Sollwert mit minimalem oder maximalem Ausgangswert (Zwei-Punkt-Regelung) zu erreichen:

– mit minimalem oder maximalem Ausgangswert Heizen bei Nachoptimierung Heizen.

– mit minimalem oder maximalem Ausgangswert Kühlen bei Nachoptimierung Kühlen.

Dies kann ein erhöhtes Überschwingen verursachen. Ist der Sollwert erreicht startet die Nachoptimierung.

Falls der Sollwert nicht erreicht werden kann, bricht PID_Temp die Optimierung nicht automatisch ab.

Page 203: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.3 PID_Temp in Betrieb nehmen

PID-Regelung 202 Funktionshandbuch, 11/2019, A5E35300226-AE

Vorgehen Um die "Nachoptimierung" durchzuführen gehen Sie folgendermaßen vor:

1. Doppelklicken Sie in der Projektnavigation auf den Eintrag "PID_Temp > Inbetriebnahme".

2. Aktivieren Sie die Schaltfläche "Alle beobachten" oder Starten Sie die Kurvenanzeige.

Eine Online-Verbindung wird aufgebaut.

3. Wählen Sie in der Klappliste "Optimierungsart" den gewünschten Nachoptimierungseintrag aus.

4. Geben Sie bei Bedarf (siehe Optimierungsoffset) einen Optimierungsoffset vor und warten Sie, bis der stationäre Zustand wieder erreicht ist.

5. Klicken Sie auf das Symbol "Start".

– Der Ablauf der Nachoptimierung wird gestartet.

– Im Feld "Status" werden Ihnen die aktuellen Arbeitsschritte und evtl. auftretende Fehler angezeigt.

Der Fortschrittsbalken zeigt den Fortschritt des aktuellen Arbeitsschritts an.

Hinweis

Klicken Sie in der Gruppe "Optimierungsart" auf das Symbol "Stop", falls der Fortschrittsbalken (Variable "Progress") sich lange Zeit nicht verändert und von einer Blockade der Optimierung ausgegangen werden muss. Prüfen Sie die Konfiguration des Technologieobjekts und starten Sie ggf. die Optimierung erneut.

Insbesondere in folgenden Phasen erfolgt kein automatischer Abbruch der Optimierung, falls der Sollwert nicht erreicht werden kann. • "Versuchen Sollwert mit Zwei-Punkt-Regelung Heizen zu erreichen." • "Versuchen Sollwert mit Zwei-Punkt-Regelung Kühlen zu erreichen."

Ergebnis Wenn während der Nachoptimierung keine Fehler auftraten, wurden die PID-Parameter optimiert. PID_Temp wechselt in den Automatikbetrieb und verwendet die optimierten Parameter. Die optimierten PID-Parameter bleiben bei Netz-AUS und Neustart der CPU erhalten.

Wenn während der Nachoptimierung Fehler auftraten, verhält sich PID_Temp wie unter Verhalten im Fehlerfall konfiguriert.

Page 204: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.3 PID_Temp in Betrieb nehmen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 203

6.3.4 Betriebsart "Handbetrieb" Im Folgenden wird beschrieben, wie Sie die Betriebsart "Handbetrieb" im Inbetriebnahmefenster des Technologieobjekts "PID_Temp" nutzen können.

Der Handbetrieb ist auch möglich, wenn ein Fehler ansteht.

Voraussetzung ● Die Anweisung "PID_Temp" wird in einem Weckalarm-OB aufgerufen.

● Eine Onlineverbindung zur CPU ist aufgebaut.

● Die CPU befindet sich im Betriebszustand "RUN".

Vorgehen Falls Sie die Regelstrecke durch Vorgabe eines Handwerts testen möchten, verwenden Sie im Inbetriebnahmefenster "Handbetrieb".

Um einen Handwert vorzugeben, gehen Sie wie folgt vor:

1. Doppelklicken Sie in der Projektnavigation auf den Eintrag "PID_Temp > Inbetriebnahme".

2. Aktivieren sie die Schaltfläche "Alle beobachten" oder starten Sie die Kurvenanzeige.

Eine Online-Verbindung wird aufgebaut.

3. Aktivieren Sie im Bereich "Online-Zustand des Reglers" das Kontrollkästchen "Handbetrieb".

PID_Temp arbeitet im Handbetrieb. Der zuletzt aktuelle Ausgangswert bleibt aktiv.

4. Tragen Sie im editierbaren Feld den Handwert in der Einheit % ein.

Ist die Kühlung in den Grundeinstellungen aktiviert, geben Sie den Handwert wie folgt ein:

– um den Wert an den Ausgängen für Heizen auszugeben, geben Sie einen positiven Handwert ein.

– um den Wert an den Ausgängen für Kühlen auszugeben, geben Sie einen negativen Handwert ein.

5. Klicken Sie auf das Symbol .

Ergebnis Der Handwert wird in die CPU geschrieben und ist sofort wirksam.

Deaktivieren Sie das Kontrollkästchen "Handbetrieb", wenn der Ausgangswert wieder durch den PID-Regler vorgegeben werden soll.

Der Wechsel in den Automatikbetrieb erfolgt stoßfrei.

Page 205: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.3 PID_Temp in Betrieb nehmen

PID-Regelung 204 Funktionshandbuch, 11/2019, A5E35300226-AE

6.3.5 Ersatzsollwert Im Folgenden wird beschrieben, wie Sie den Ersatzsollwert im Inbetriebnahmefenster des Technologieobjekts "PID_Temp" nutzen können.

Voraussetzung ● Die Anweisung "PID_Temp" wird in einem Weckalarm-OB aufgerufen.

● Eine Onlineverbindung zur CPU ist aufgebaut.

● Die CPU befindet sich im Betriebszustand "RUN".

Vorgehen Falls Sie vorübergehend einen anderen Wert als den an Parameter "Setpoint" als Sollwert verwenden möchten (z. B. um einen Slave in einer Kaskade zu optimieren), verwenden Sie im Inbetriebnahmefenster den Ersatzsollwert.

Um einen Ersatzsollwert vorzugeben, gehen Sie wie folgt vor:

1. Doppelklicken Sie in der Projektnavigation auf den Eintrag "PID_Temp > Inbetriebnahme".

2. Aktivieren sie die Schaltfläche "Alle beobachten" oder starten Sie die Kurvenanzeige.

Eine Online-Verbindung wird aufgebaut.

3. Aktivieren Sie im Bereich "Online-Zustand des Reglers" das Kontrollkästchen "Subst.Setpoint".

Der Ersatzsollwert (Variable SubstituteSetpoint) wird mit dem zuletzt aktuellen Sollwert initialisiert und nun verwendet.

4. Tragen Sie im editierbaren Feld den Ersatzsollwert ein.

5. Klicken Sie auf das Symbol .

Ergebnis Der Ersatzsollwert wird in die CPU geschrieben und ist sofort wirksam.

Deaktivieren Sie das Kontrollkästchen "Subst.Setpoint", wenn als Sollwert wieder der Wert am Parameter "Setpoint" verwendet werden soll.

Der Wechsel erfolgt nicht stoßfrei.

6.3.6 Kaskadeninbetriebnahme Informationen zur Kaskadeninbetriebnahme mit PID_Temp finden Sie unter Inbetriebnahme (Seite 211).

Page 206: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.4 Kaskadenregelung mit PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 205

6.4 Kaskadenregelung mit PID_Temp

6.4.1 Einleitung Bei der Kaskadenregelung werden mehrere Regelkreise ineinander geschachtelt. Slaves erhalten dabei ihren Sollwert (Setpoint) aus dem Ausgangswert (OutputHeat) des jeweils überlagerten Master.

Voraussetzung für den Aufbau einer Kaskadenregelung ist, dass sich die Regelstrecke in Teilstrecken mit jeweils einer eigenen Messgröße unterteilen lässt.

Die Sollwertvorgabe für die Regelgröße wird am äußersten Master vorgenommen.

Der Ausgangswert des innersten Slave wird auf das Stellglied gegeben und wirkt damit auf die Regelstrecke.

Folgende wesentliche Vorteile ergeben sich durch den Einsatz einer Kaskadenregelung im Vergleich zum einschleifigen Regelkreis:

● Durch die zusätzlichen unterlagerten Regelkreise werden Störungen, die dort auftreten, schnell ausgeregelt. Ihr Einfluss auf die Regelgröße wird dadurch stark reduziert. Das Störverhalten wird somit verbessert.

● Die unterlagerten Regelkreise wirken linearisierend. Die negativen Auswirkungen solcher Nichtlinearitäten auf die Regelgröße werden dadurch abgemildert.

PID_Temp bietet folgende Funktionalität speziell für den Einsatz in Kaskadenregelungen:

● Vorgabe eines Ersatzsollwertes

● Austausch von Statusinformationen zwischen Master und Slave (z. B. aktuelle Betriebsart)

● Verschiedene Anti-Wind-Up Modi (Reaktion des Master auf Begrenzung seiner Slaves)

Page 207: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.4 Kaskadenregelung mit PID_Temp

PID-Regelung 206 Funktionshandbuch, 11/2019, A5E35300226-AE

Beispiel Das folgende Blockschaltbild zeigt eine Kaskadenregelung mit PID_Temp am vereinfachten Beispiel einer Schokoladenschmelze:

Der Master PID_Temp_1 vergleicht den Istwert der Schokoladentemperatur (TempChocolate) mit der Sollwertvorgabe durch den Anwender an seinem Parameter Setpoint. Sein Ausgangswert OutputHeat bildet den Sollwert des Slave PID_Temp_2.

PID_Temp_2 versucht den Istwert der Wasserbadtemperatur (TempWater) auf diesen Sollwert zu regeln. Der Ausgangswert von PID_Temp_2 wird direkt auf das Stellglied der Regelstrecke (Heizung des Wasserbades) gegeben und beeinflusst so die Wasserbadtemperatur. Die Wasserbadtemperatur wirkt wiederum auf die Schokoladentemperatur.

FAQ Weitere Informationen hierzu finden Sie im folgenden FAQ im Siemens Industry Online Support:

● Beitrags-ID 103526819 (https://support.industry.siemens.com/cs/ww/de/view/103526819)

Siehe auch Programmerstellung (Seite 207)

Page 208: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.4 Kaskadenregelung mit PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 207

6.4.2 Programmerstellung Beachten Sie folgende Punkte bei der Programmerstellung:

● Anzahl der PID_Temp-Instanzen

Es müssen so viele verschiedene PID_Temp-Instanzen in einem Weckalarm-OB aufgerufen werden, wie verkettete Messgrößen im Prozess vorhanden sind.

Im Beispiel sind zwei verkettete Messgrößen vorhanden: TempChocolate und TempWater. Daher sind zwei PID_Temp-Instanzen notwendig.

● Aufrufreihenfolge

Ein Master muss vor seinen Slaves im gleichen Weckalarm-OB aufgerufen werden.

Der äußerste Master, an dem der Anwendersollwert vorgegeben wird, wird zuerst aufgerufen.

Der Slave, der seinen Sollwert vom äußersten Master vorgegeben bekommt, wird als nächstes aufgerufen usw.

Der innerste Slave, der mit seinem Ausgangswert auf das Stellglied des Prozesses wirkt, wird als letztes aufgerufen.

Im Beispiel wird PID_Temp_1 vor PID_Temp_2 aufgerufen.

● Verschaltung der Messgrößen

Der äußerste Master wird mit der äußersten Messgröße verschaltet, die auf den Anwendersollwert geregelt werden soll.

Der innerste Slave wird mit der innersten Messgröße verschaltet, die direkt vom Stellglied beeinflusst wird.

Die Verschaltung der Messgrößen mit PID_Temp erfolgt mit den Parametern Input oder Input_PER.

Im Beispiel wird die äußere Messgröße TempChocolate mit PID_Temp_1 und die innere Messgröße TempWater mit PID_Temp_2 verschaltet.

● Verschaltung des Ausgangswerts des Master auf den Sollwert des Slave

Der Ausgangswert (OutputHeat) eines Master muss auf den Sollwert (Setpoint) seines Slave zugewiesen werden.

Diese Verschaltung können Sie manuell im Programmiereditor vornehmen oder automatisch im Inspektorfenster des Slave in den Grundeinstellungen über die Auswahl des Master vornehmen lassen.

Bei Bedarf können Sie eigene Filter- oder Skalierungsfunktionen einfügen z .B. um den Ausgangswertbereich des Master an den Sollwert-/Istwertbereich des Slave anzupassen.

Im Beispiel wird OutputHeat von PID_Temp_1 auf Setpoint von PID_Temp_2 zugewiesen.

Page 209: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.4 Kaskadenregelung mit PID_Temp

PID-Regelung 208 Funktionshandbuch, 11/2019, A5E35300226-AE

● Verschaltung der Schnittstelle zum Informationsaustausch zwischen Master und Slave

Der Parameter "Slave" eines Master muss bei all seinen direkt untergeordneten Slaves (die ihren Sollwert von diesem Master erhalten) auf deren Parameter "Master" zugewiesen werden. Um die Verschaltung eines Master mit mehreren Slaves und die Anzeige der Verschaltung im Inspektorfenster des Slave in den Grundeinstellungen zu ermöglichen, sollte die Zuweisung über die Schnittstelle des Slave vorgenommen werden.

Diese Verschaltung können Sie manuell im Programmiereditor vornehmen oder automatisch im Inspektorfenster des Slave in den Grundeinstellungen über die Auswahl des Master vornehmen lassen.

Nur falls diese Verschaltung vorgenommen ist, können die Anti-Wind-Up-Funktionalität und die Auswertung der Slave-Betriebsarten beim Master korrekt arbeiten.

Im Beispiel wird Parameter "Slave" von PID_Temp_1 auf Parameter "Master" von PID_Temp_2 zugewiesen.

Programmcode des Beispiels in der Sprache SCL (ohne Zuweisung des Ausgangswerts des Slave auf das Stellglied):

"PID_Temp_1"(Input:="TempChocolate");

"PID_Temp_2"(Input:="TempWater", Master := "PID_Temp_1".Slave, Setpoint :=

"PID_Temp_1".OutputHeat);

Siehe auch Variable ActivateRecoverMode PID_Temp (Seite 472)

Page 210: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.4 Kaskadenregelung mit PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 209

6.4.3 Konfiguration Die Konfiguration können Sie über Ihr Anwenderprogramm, den Konfigurationseditor oder das Inspektorfenster des PID_Temp Aufrufes durchführen.

Achten Sie beim Einsatz von PID_Temp in einer Kaskadenregelung auf die korrekte Konfiguration der im Folgenden erläuterten Einstellungen.

Erhält eine PID_Temp-Instanz ihren Sollwert von einem übergeordneten Master und gibt diese ihren Ausgangswert an einen untergeordneten Slave weiter, ist diese PID_Temp-Instanz gleichzeitig sowohl Master als auch Slave. Für eine solche PID_Temp-Instanz sind beide unten aufgeführte Konfigurationen vorzunehmen. Dies ist zum Beispiel für die mittlere PID_Temp-Instanz bei einer Kaskadenregelung mit drei verketteten Messgrößen und drei PID_Temp-Instanzen der Fall.

Konfiguration eines Master Einstellung im Konfigurationseditor oder Inspektorfenster

DB-Parameter Erläuterung

Grundeinstellungen → Kaskade: Optionskästchen "Regler ist Master" aktivieren

Config.Cascade.IsMaster = TRUE Aktiviert diesen Regler als Master in einer Kaskade

Grundeinstellungen → Kaskade: Anzahl der Slaves

Config.Cascade.CountSlaves Anzahl der direkt untergeordneten Slaves, die ihren Sollwert von diesem Master erhal-ten

Grundeinstellungen → Eingangs-/Ausgangsparameter: Auswahl des Ausgangswerts (Heizen) = OutputHeat

Config.Output.Heat.Select = 0 Der Master verwendet nur den Ausgangspa-rameter OutputHeat. OutputHeat_PWM und OutputHeat_PER sind deaktiviert.

Grundeinstellungen → Eingangs-/Ausgangsparameter: Optionskästchen "Kühlung aktivieren" deaktivieren

Config.ActivateCooling = FALSE Bei einem Master muss die Kühlung deakti-viert sein.

Page 211: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.4 Kaskadenregelung mit PID_Temp

PID-Regelung 210 Funktionshandbuch, 11/2019, A5E35300226-AE

Einstellung im Konfigurationseditor oder Inspektorfenster

DB-Parameter Erläuterung

Ausgangseinstellungen → Ausgangs-wertgrenzen und –skalierung → Out-putHeat / OutputCool: Untergrenze PID Ausgangswert (Hei-zen), Obergrenze PID Ausgangswert (Hei-zen), skalierter unterer Ausgangswert (Hei-zen), skalierter oberer Ausgangswert (Hei-zen)

Config.Output.Heat.PidLowerLimit, Config.Output.Heat.PidUpperLimit, Config.Output.Heat.LowerScaling, Config.Output.Heat.UpperScaling

Wird bei der Zuweisung von OutputHeat des Master auf Setpoint des Slave keine eigene Skalierungsfunktion eingesetzt, kann es notwendig sein, die Ausgangswertgrenzen und –skalierung des Master an den Soll-wert-/Istwertbereich des Slave anzupassen.

Diese Variable ist nicht im Inspek-torfenster oder in der Funktionssicht des Konfigurationseditors verfügbar. Sie können sie über die Parametersicht des Konfigurationseditors verändern.

Config.Cascade.AntiWindUpMode Der Anti-Wind-Up-Modus bestimmt, wie der I-Anteil dieses Master behandelt wird, falls direkt untergeordnete Slaves ihre Aus-gangswertgrenzen erreichen. Möglich sind: • AntiWindUpMode = 0:

Die AntiWindUp Funktionalität ist deakti-viert. Der Master reagiert nicht auf Be-grenzung seiner Slaves.

• AntiWindUpMode = 1 (default):

Der I-Anteil des Master wird im Verhält-nis "Slaves in Begrenzung / Anzahl der Slaves" reduziert. Dadurch werden die Auswirkungen der Begrenzung auf das Regelverhalten verringert.

• AntiWindUpMode = 2:

Der I-Anteil des Master wird gehalten, sobald sich ein Slave in Begrenzung be-findet.

Konfiguration eines Slave Einstellung im Konfigurationseditor oder Inspektorfenster

DB-Parameter Erläuterung

Grundeinstellungen → Kaskade: Optionskästchen "Regler ist Slave" aktivieren

Config.Cascade.IsSlave = TRUE

Aktiviert diesen Regler als Slave in einer Kas-kade

Page 212: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.4 Kaskadenregelung mit PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 211

6.4.4 Inbetriebnahme Nach dem Übersetzen und Laden des Programms können Sie die Inbetriebnahme der Kaskadenregelung starten. Beginnen Sie bei der Inbetriebnahme (Durchführung einer Optimierung oder Wechsel in den Automatikbetrieb mit vorhandenen PID-Parametern) mit dem innersten Slave und fahren Sie nach außen fort, bis der äußerste Master erreicht ist. Im obigen Beispiel startet die Inbetriebnahme mit PID_Temp_2 und wird anschließend mit PID_Temp_1 fortgeführt.

Optimierung des Slave Die Optimierung von PID_Temp erfordert einen konstanten Sollwert. Aktivieren Sie daher für die Optimierung eines Slave dessen Ersatzsollwert (Variablen SubstituteSetpoint und SubstituteSetpointOn) oder versetzen Sie den zugehörigen Master in den Handbetrieb mit entsprechendem Handwert. Auf diese Weise ist sichergestellt, dass der Sollwert des Slave während der Optimierung konstant bleibt.

Optimierung des Master Damit ein Master den Prozess beeinflussen oder eine Optimierung durchführen kann, müssen sich alle nachfolgenden Slaves im Automatikbetrieb befinden und den Ersatzsollwert deaktiviert haben. Über die Schnittstelle zum Informationsaustausch zwischen Master und Slave (Parameter Master und Parameter Slave) wertet ein Master diese Bedingungen aus und zeigt den aktuellen Zustand an den Variablen AllSlaveAutomaticState und NoSlaveSubstituteSetpoint an. Im Inbetriebnahmeeditor werden entsprechende Statusmeldungen ausgegeben.

Statusmeldung im Inbetriebnahmeedi-tor des Master

DB-Parameter des Master Behebung

Ein oder mehrere Slaves sind nicht im Automatikbetrieb.

AllSlaveAutomaticState = FALSE, NoSlaveSubstituteSetpoint = TRUE

Führen Sie zuerst die Inbetriebnahme aller nachfolgenden Slaves durch. Stellen Sie sicher, dass folgende Bedingun-gen erfüllt sind, bevor Sie eine Optimierung durchführen oder Handbetrieb oder Automa-tikbetrieb des Master aktivieren: • Alle nachfolgenden Slaves befinden sich

im Automatikbetrieb (State = 3). • Alle nachfolgenden Slaves haben den

Ersatzsollwert deaktiviert (Substitute-SetpointOn = FALSE).

Ein oder mehrere Slaves haben den Ersatzsollwert aktiviert.

AllSlaveAutomaticState = TRUE, NoSlaveSubstituteSetpoint = FALSE

Ein oder mehrere Slaves sind nicht im Automatikbetrieb und haben den Er-satzsollwert aktiviert.

AllSlaveAutomaticState = FALSE, NoSlaveSubstituteSetpoint = FALSE

Wird für einen Master eine Erstoptimierung oder Nachoptimierung gestartet, bricht PID_Temp in folgenden Fällen die Optimierung ab und zeigt einen Fehler mit ErrorBits = DW#16#0200000 an:

● ein oder mehrere Slaves sind nicht im Automatikbetrieb (AllSlaveAutomaticState = FALSE)

● ein oder mehrere Slaves haben den Ersatzsollwert aktiviert (NoSlaveSubstituteSetpoint = FALSE).

Der anschließende Betriebsartenwechsel ist abhängig von ActivateRecoverMode.

Page 213: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.4 Kaskadenregelung mit PID_Temp

PID-Regelung 212 Funktionshandbuch, 11/2019, A5E35300226-AE

6.4.5 Ersatzsollwert Für die Vorgabe eines Sollwerts bietet PID_Temp, zusätzlich zum Parameter Setpoint, einen Ersatzsollwert an der Variablen SubstituteSetpoint. Dieser kann mit SubstituteSetpointOn = TRUE oder durch Aktivieren des entsprechenden Optionskästchens im Inbetriebnahmeeditor aktiviert werden.

Mit dem Ersatzsollwert können Sie den Sollwert vorübergehend direkt am Slave vorgeben, z. B. für die Inbetriebnahme oder Optimierung.

Dabei muss die, für den normalen Betrieb der Kaskadenregelung erforderliche, Verschaltung des Ausgangswerts des Master auf den Sollwert des Slave im Programm nicht verändert werden

Damit ein Master den Prozess beeinflussen oder eine Optimierung durchführen kann, müssen alle nachfolgenden Slave den Ersatzsollwert deaktiviert haben.

Den aktuell wirksamen Sollwert, wie er vom PID-Algorithmus zur Berechnung verwendet wird, können Sie an der Variablen CurrentSetpoint beobachten.

6.4.6 Betriebsarten und Fehlerreaktion Master oder Slave einer PID_Temp-Instanz verändern die Betriebsart dieser PID_Temp-Instanz nicht.

Falls bei einem seiner Slaves ein Fehler auftritt, bleibt der Master in seiner aktuellen Betriebsart.

Falls bei seinem Master ein Fehler auftritt, bleibt der Slave in seiner aktuellen Betriebsart. Jedoch hängt der weitere Betrieb des Slave dann vom Fehler und von der konfigurierten Fehlerreaktion des Master ab, da der Ausgangswert des Master als Sollwert des Slave verwendet wird:

● Ist beim Master ActivateRecoverMode = TRUE konfiguriert und der Fehler verhindert die Berechnung von OutputHeat nicht, wirkt sich der Fehler nicht auf den Slave aus.

● Ist beim Master ActivateRecoverMode = TRUE konfiguriert und der Fehler verhindert die Berechnung von OutputHeat, gibt der Master abhängig von SetSubstituteOutput den letzten gültigen Ausgangswert oder den konfigurierten Ersatzausgangswert SubstituteOutput aus. Dieser wird dann vom Slave als Sollwert verwendet.

PID_Temp ist so voreingestellt, dass in diesem Fall der Ersatzausgangswert 0.0 ausgegeben wird (ActivateRecoverMode = TRUE, SetSubstituteOutput = TRUE, SubstituteOutput = 0.0). Konfigurieren Sie für Ihre Anwendung einen passenden Ersatzausgangswert oder aktivieren Sie die Verwendung des letzten gültigen PID Ausgangswerts (SetSubstituteOutput = FALSE).

● Ist beim Master ActivateRecoverMode = FALSE konfiguriert, wechselt der Master im Fehlerfall in die Betriebsart "Inaktiv" und gibt OutputHeat = 0.0 aus. Der Slave verwendet dann 0.0 als Sollwert.

Die Fehlerreaktion finden Sie in den Ausgangseinstellungen im Konfigurationseditor.

Page 214: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.5 Mehrzonenregelung mit PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 213

6.5 Mehrzonenregelung mit PID_Temp

Einleitung Bei einer Mehrzonenregelung werden mehrere Teilbereiche, sogenannte Zonen, einer Anlage gleichzeitig auf unterschiedliche Temperaturen geregelt. Kennzeichnend für die Mehrzonenregelung ist die gegenseitige Beeinflussung der Temperaturzonen durch thermische Kopplung d. h. der Istwert einer Zone kann den Istwert einer anderen Zone durch Wärmekopplung beeinflussen. Wie stark sich diese Beeinflussung auswirkt, ist abhängig vom Aufbau der Anlage und den gewählten Arbeitspunkten der Zonen.

Beispiel: Extrusionsanlage, wie sie unter anderem in der Kunststoffverarbeitung eingesetzt wird.

Das Stoffgemisch, das den Extruder durchläuft, muss für eine optimale Verarbeitung auf unterschiedliche Temperaturen geregelt werden. So können an der Befüllung des Extruders andere Temperaturen gefordert sein als an seiner Auslassdüse. Die einzelnen Temperaturzonen beeinflussen sich dabei durch Wärmekopplung gegenseitig.

Beim Einsatz von PID_Temp in Mehrzonenregelungen wird jede Temperaturzone von einer eigenen PID_Temp-Instanz geregelt.

Beachten Sie die folgenden Erläuterungen, falls Sie PID_Temp in einer Mehrzonenregelung einsetzen.

Getrennte Erstoptimierung für Heizen und Kühlen Die Erstinbetriebnahme einer Anlage beginnt in der Regel mit der Durchführung einer Erstoptimierung, um eine erste Einstellung der PID-Parameter vorzunehmen und zum Arbeitspunkt zu regeln. Die Erstoptimierung für Mehrzonenregelungen wird dabei häufig gleichzeitig für alle Zonen vorgenommen.

PID_Temp bietet für Regler mit aktivierter Kühlung und PID-Parameterumschaltung als Methode für Heizen/Kühlen (Config.ActivateCooling = TRUE, Config.AdvancedCooling = TRUE) die Möglichkeit die Erstoptimierung für Heizen und Kühlen in einem Schritt durchzuführen (Mode = 1, Heat.EnableTuning = TRUE, Cool.EnableTuning = TRUE).

Es wird jedoch empfohlen diese Optimierung bei gleichzeitiger Erstoptimierung mehrerer PID_Temp-Instanzen in einer Mehrzonenregelung nicht zu verwenden. Führen Sie stattdessen die Erstoptimierung für Heizen (Mode = 1, Heat.EnableTuning = TRUE, Cool.EnableTuning = FALSE) und die Erstoptimierung für Kühlen (Mode = 1, Heat.EnableTuning = FALSE, Cool.EnableTuning = TRUE) getrennt aus.

Die Erstoptimierung für Kühlen sollte erst gestartet werden, wenn alle Zonen die Erstoptimierung für Heizen abgeschlossen und ihren Arbeitspunkt erreicht haben.

Auf diese Weise werden gegenseitige Beeinflussungen durch thermische Kopplungen zwischen den Zonen während der Optimierung vermindert.

Page 215: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.5 Mehrzonenregelung mit PID_Temp

PID-Regelung 214 Funktionshandbuch, 11/2019, A5E35300226-AE

Anpassung der Verzugszeit Wird PID_Temp in einer Mehrzonenregelung mit starken thermischen Kopplungen zwischen den Zonen eingesetzt, sollten Sie sicherstellen, dass die Anpassung der Verzugszeit für die Erstoptimierung mit PIDSelfTune.SUT.AdaptDelayTime = 0 deaktiviert ist. Sonst kann die Ermittlung der Verzugszeit verfälscht werden, wenn während der Anpassung der Verzugszeit (Heizung ist in dieser Phase deaktiviert) die Abkühlung dieser Zone durch Wärmezufluss von anderen Zonen verhindert wird.

Vorübergehende Abschaltung der Kühlung PID_Temp bietet die Möglichkeit für Regler mit aktivierter Kühlung (Config.ActivateCooling = TRUE) die Kühlung im Automatikbetrieb vorübergehend zu deaktivieren, indem DisableCooling = TRUE gesetzt wird.

Auf diese Weise können Sie während der Inbetriebnahme verhindern, dass dieser Regler im Automatikbetrieb kühlt, während die Regler anderer Zonen die Optimierung der Heizung noch nicht abgeschlossen haben. Auf Grund der thermischen Kopplung zwischen den Zonen kann sonst die Optimierung negativ beeinflusst werden.

Vorgehen Bei der Inbetriebnahme von Mehrzonenregelungen mit relevanten thermischen Kopplungen können Sie wie folgt vorgehen:

1. Setzen Sie für alle Regler mit aktivierter Kühlung DisableCooling = TRUE.

2. Setzen Sie für alle Regler PIDSelfTune.SUT.AdaptDelayTime = 0.

3. Geben Sie die gewünschten Sollwerte vor (Parameter Setpoint) und starten Sie für alle Regler gleichzeitig die Erstoptimierung für Heizen (Mode = 1, Heat.EnableTuning = TRUE, Cool.EnableTuning = FALSE).

4. Warten Sie bis alle Regler die Erstoptimierung Heizen abgeschlossen haben.

5. Setzen Sie für alle Regler mit aktivierter Kühlung DisableCooling = FALSE.

6. Warten Sie bis die Istwerte aller Zonen stetig und nahe dem jeweilgen Sollwert sind.

Kann für eine Zone der Sollwert dauerhaft nicht erreicht werden, ist das Heiz- bzw. Kühlstellglied zu schwach ausgelegt.

Page 216: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.5 Mehrzonenregelung mit PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 215

7. Starten Sie für alle Regler mit aktivierter Kühlung die Erstoptimierung für Kühlen (Mode = 1, Heat.EnableTuning = FALSE, Cool.EnableTuning = TRUE).

Hinweis Grenzwertüberschreitung des Istwerts

Wird die Kühlung im Automatikbetrieb mit DisableCooling = TRUE deaktiviert, kann dies dazu führen, dass der Istwert den Sollwert und die Istwertgrenzen überschreitet solange DisableCooling = TRUE. Beobachten Sie die Istwerte und und greifen Sie ggf. ein, falls Sie DisableCooling nutzen.

Hinweis Mehrzonenregelungen

Bei Mehrzonenregelungen können die thermischen Kopplungen zwischen den Zonen zu verstärkten Überschwingern, dauerhaftem oder vorübergehendem Überschreiten von Grenzwerten und dauerhaften oder vorübergehenden Regelabweichungen während der Inbetriebnahme und im laufenden Betrieb führen. Beobachten Sie die Istwerte und seien Sie bereit einzugreifen. Je nach Anlage kann es notwendig sein, von der oben beschriebenen Vorgehensweise abzuweichen.

Synchronisierung mehrerer Nachoptimierungen Wird die Nachoptimierung aus dem Automatikbetrieb heraus mit PIDSelfTune.TIR.RunIn = FALSE gestartet, versucht PID_Temp den Sollwert mit PID-Regelung und den aktuellen PID-Parametern zu erreichen. Erst wenn der Sollwert erreicht ist, startet die eigentliche Optimierung. Die Zeit, die zum Erreichen des Sollwerts notwendig ist, kann für die einzelnen Zonen einer Mehrzonenregelung unterschiedlich sein. Falls Sie die Nachoptimierung für mehrere Zonen gleichzeitig durchführen wollen, bietet PID_Temp die Möglichkeit diese zu synchronisieren, indem nach Erreichen des Sollwerts mit den weiteren Optimierungsschritten gewartet wird.

Vorgehen Auf diese Weise können Sie sicherstellen, dass alle Regler ihren Sollwert erreicht haben, wenn die eigentlichen Optimierungsschritte starten. Dadurch werden gegenseitige Beeinflussungen durch thermische Kopplungen zwischen den Zonen während der Optimierung vermindert. Gehen Sie bei Reglern, für deren Zonen Sie die Nachoptimierung gleichzeitig durchführen wollen, wie folgt vor: 1. Setzen Sie PIDSelfTune.TIR.WaitForControlIn = TRUE für alle Regler.

Diese Regler müssen sich im Automatikbetrieb mit PIDSelfTune.TIR.RunIn = FALSE befinden.

2. Geben Sie die gewünschten Sollwerte vor (Parameter Setpoint) und starten Sie die Nachoptimierung für alle Regler.

3. Warten Sie bis PIDSelfTune.TIR.ControlInReady = TRUE bei allen Reglern gesetzt ist. 4. Setzen Sie PIDSelfTune.TIR.FinishControlIn = TRUE für alle Regler. Alle Regler starten somit gleichzeitig die eigentliche Optimierung.

Page 217: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.6 Ablöseregelung mit PID_Temp

PID-Regelung 216 Funktionshandbuch, 11/2019, A5E35300226-AE

6.6 Ablöseregelung mit PID_Temp

Ablöseregelung Bei einer Ablöseregelung teilen sich zwei oder mehr Regler ein gemeinsames Stellglied. Zu jedem Zeitpunkt hat nur ein Regler Zugriff auf das Stellglied und wirkt auf den Prozess. Eine Logik entscheidet welcher Regler Zugriff auf das Stellglied erhält. Häufig erfolgt diese Entscheidung anhand eines Vergleichs der Ausgangswerte aller Regler z. B. erhält bei einer Maximalauswahl der Regler mit dem größten Ausgangswert den Zugriff auf das Stellglied. Die Auswahl anhand des Ausgangswerts macht es notwendig, dass alle Regler im Automatikbetrieb arbeiten. Die Regler, die nicht auf das Stellglied wirken, werden nachgeführt. Dies ist notwendig um Windup-Effekte und deren negative Auswirkungen auf das Regelverhalten und die Umschaltung zwischen den Reglern zu vermeiden. PID_Temp unterstützt ab Version 1.1 Ablöseregelungen indem der Regler ein einfaches Verfahren zum Nachführen der nicht aktiven Regler bietet: Über die Variablen OverwriteInitialOutputValue und PIDCtrl.PIDInit können Sie den I-Anteil des Reglers im Automatikbetrieb so vorbelegen lassen, als ob der PID-Algorithmus im letzten Zyklus für den PID Ausgangswert PidOutputSum = OverwriteInititalOutputValue berechnet hätte. OverwriteInitialOutputValue wird dazu mit dem PID Ausgangswert des Reglers verschaltet, der gerade Zugriff auf das Stellglied hat. Durch Setzen des Bits PIDCtrl.PIDInit stoßen Sie die Vorbelegung des I-Anteils an, sowie den Neustart des Reglertakts und der PWM-Periode. Die anschließende Berechnung des PID Ausgangswerts im aktuellen Zyklus erfolgt anhand des vorbelegten (und für alle Regler angeglichenen) I-Anteils sowie des P- und I-Anteils aus der aktuellen Regeldifferenz. Der D-Anteil ist während des Aufrufs mit PIDCtrl.PIDInit = TRUE nicht aktiv und trägt damit nicht zum Ausgangswert bei. Dieses Verfahren stellt sicher, dass die Berechnung des aktuellen PID Ausgangswerts und damit die Entscheidung welcher Regler Zugriff auf das Stellglied erhält, nur anhand des aktuellen Prozesszustands und der PI-Parameter erfolgt. Windup-Effekte bei den nicht aktiven Reglern und damit falsche Entscheidungen der Umschaltlogik werden somit verhindert.

Voraussetzung ● PIDCtrl.PIDInit ist nur wirksam, wenn der I-Anteil aktiviert ist (Variablen

Retain.CtrlParams.Heat.Ti und Retain.CtrlParams.Cool.Ti > 0.0).

● Sie müssen PIDCtrl.PIDInit und OverwriteInitialOutputValue in Ihrem Anwenderprogramm selbst belegen (siehe Beispiel unten). PID_Temp nimmt keine automatische Änderung an diesen Variablen vor.

● PIDCtrl.PIDInit ist nur wirksam, wenn sich PID_Temp im Automatikbetrieb (Parameter State = 3) befindet.

Page 218: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.6 Ablöseregelung mit PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 217

● Falls möglich, wählen Sie die Abtastzeit PID-Algorithmus (Variablen Retain.CtrlParams.Heat.Cycle und Retain.CtrlParams.Cool.Cycle) so, dass sie für alle Regler identisch ist und rufen Sie alle Regler im gleichen Weckalarm-OB auf. Auf diese Weise stellen Sie sicher, dass die Umschaltung nicht innerhalb eines Reglertakts bzw. einer PWM-Periode erfolgt.

Hinweis Ständige Adaption der Ausgangswertgrenzen

Statt dem hier beschriebenen aktiven Nachführen der Regler ohne Zugriff auf das Stellglied wird dies bei anderen Reglersystemen alternativ über eine ständige Adaption der Ausgangswertgrenzen realisiert.

Dies ist mit PID_Temp nicht möglich, da eine Änderung der Ausgangswertgrenzen im Automatikbetrieb nicht unterstützt wird.

Beispiel: Regelung eines großen Kessels PID_Temp wird für die Regelung eines großen Kessels eingesetzt.

Hauptziel ist, die Temperatur Input1 zu regeln. Hierfür wird der Regler PID_Temp_1 eingesetzt. Zusätzlich soll mit dem Begrenzungsregler PID_Temp_2 die Temperatur Input2 an einer zusätzlichen Messstelle unterhalb einer Obergrenze gehalten werden.

Beide Temperaturen werden über eine einzige Heizung beeinflusst. Der Ausgangswert der Regler entspricht der Heizleistung.

Page 219: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.6 Ablöseregelung mit PID_Temp

PID-Regelung 218 Funktionshandbuch, 11/2019, A5E35300226-AE

Die Heizung wird über den pulsweitenmodulierten Ausgangswert von PID_Temp (Parameter OutputHeat_PWM) angesteuert, indem die Programmvariable ActuatorInput beschrieben wird. Die Vorgabe des Sollwerts für die Temperatur Input1 erfolgt an Parameter PID_Temp_1.Setpoint. Die Temperaturobergrenze für die zusätzliche Messstelle wird als Sollwert am Parameter PID_Temp_2.Setpoint vorgegeben.

Beiden Reglern steht nur eine Heizung als gemeinsames Stellglied zur Verfügung. Die Logik zur Entscheidung, welcher Regler Zugriff auf das Stellglied erhält, wird hier über eine Minimalauswahl des PID Ausgangswerts (im Real-Format, Parameter PidOutputSum) realisiert. Da der PID Ausgangswert der Heizleistung entspricht, erhält somit der Regler die Kontrolle, der die kleinere Heizleistung fordert.

Im Normalbetrieb der Anlage entspricht der Istwert der Hauptregelgröße dem Sollwert. Der Hauptregler PID_Temp_1 hat sich auf einen stationären PID Ausgangswert PID_Temp_1.PidOutputSum eingeschwungenen. Der Istwert des Begrenzungsreglers Input2 liegt im Normalbetrieb deutlich unter der Obergrenze, die als Sollwert für PID_Temp_2 vorgegeben ist. Deshalb möchte der Begrenzungsregler die Heizleistung steigern, um seinen Istwert zu erhöhen, d. h. er wird einen PID Ausgangswert PID_Temp_2.PidOutputSum berechnen der größer ist als der des Hauptreglers PID_Temp_1.PidOutputSum. Die Minimalauswahl der Umschaltlogik lässt deshalb den Hauptregler PID_Temp_1 weiter auf das Stellglied zugreifen. Zusätzlich wird über die Zuweisungen PID_Temp_2.OverwriteInitialOutputValue = PID_Temp_1.PidOutputSum und PID_Temp_2.PIDCtrl.PIDInit = TRUE sichergestellt, dass PID_Temp_2 nachgeführt wird.

Nähert sich nun Input2 der Obergrenze an oder überschreitet diese, z. B. auf Grund einer Störung, wird der Begrenzungsregler PID_Temp_2 einen kleineren PID Ausgangswert berechnen, um die Heizleistung zu drosseln und so Input2 zu reduzieren. Ist PID_Temp_2.PidOutputSum kleiner als PID_Temp_1.PidOutputSum, erhält der Begrenzungsregler PID_Temp_2 über die Minimalauswahl Zugriff auf das Stellglied und reduziert die Heizleistung. Über die Zuweisungen PID_Temp_1.OverwriteInitialOutputValue = PID_Temp_2.PidOutputSum und PID_Temp_1.PIDCtrl.PIDInit = TRUE wird sichergestellt, dass PID_Temp_1 nachgeführt wird.

Page 220: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.6 Ablöseregelung mit PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 219

Die Temperatur an der zusätzlichen Messstelle Input2 fällt. Die Temperatur der Hauptregelgröße Input1 fällt ebenfalls und kann nicht mehr am Sollwert gehalten werden.

Steht die Störung nicht mehr an, wird Input2 weiter fallen und die Heizleistung vom Begrenzungsregler wird weiter erhöht. Sobald der Hauptregler eine kleinere Heizleistung als Ausgangswert berechnet, kehrt die Anlage in den Normalbetrieb zurück, sodass der Hauptregler PID_Temp_1 wieder Zugriff auf das Stellglied erhält. Dieses Beispiel kann mit folgendem SCL-Programmcode realisiert werden:

"PID Temp 1"(Input := "Input1"); "PID Temp 2"(Input := "Input2"); IF "PID Temp 1".PidOutputSum <= "PID Temp 2".PidOutputSum THEN "ActuatorInput" := "PID_Temp_1".OutputHeat_PWM;

"PID_Temp_1".PIDCtrl.PIDInit := FALSE;

"PID_Temp_2".PIDCtrl.PIDInit := TRUE;

"PID_Temp_2".OverwriteInitialOutputValue := "PID_Temp_1".PidOutputSum; ELSE "ActuatorInput" := "PID_Temp_2".OutputHeat_PWM;

"PID_Temp_1".PIDCtrl.PIDInit := TRUE;

"PID_Temp_2".PIDCtrl.PIDInit := FALSE;

"PID_Temp_1".OverwriteInitialOutputValue := "PID_Temp_2".PidOutputSum; END IF;

Page 221: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID_Temp einsetzen 6.7 PID_Temp mit PLCSIM simulieren

PID-Regelung 220 Funktionshandbuch, 11/2019, A5E35300226-AE

6.7 PID_Temp mit PLCSIM simulieren

Hinweis Simulation mit PLCSIM

Die Simulation von PID_Temp mit PLCSIM für CPU S7-1200 wird nicht unterstützt.

PID_Temp kann nur für CPU S7-1500 mit PLCSIM simuliert werden.

Bei der Simulation mit PLCSIM ist das zeitliche Verhalten der simulierten PLC nicht exakt identisch zu einer "echten" PLC. Der tatsächliche Zeittakt eines Weckalarm-OB kann bei einer simulierten PLC größere Schwankungen aufweisen als bei "echten" PLCs.

In der Standardkonfiguration ermittelt PID_Temp die Zeit zwischen den Aufrufen automatisch und überwacht diese auf Schwankungen.

Bei der Simulation von PID_Temp mit PLCSIM kann deshalb ein Abtastzeitfehler (ErrorBits = DW#16#00000800) erkannt werden.

Dies führt zum Abbruch von laufenden Optimierungen.

Die Reaktion im Automatikbetrieb ist abhängig vom Wert der Variable ActivateRecoverMode.

Um dies zu verhindern, sollten Sie PID_Temp bei Simulation mit PLCSIM wie folgt konfigurieren: • CycleTime.EnEstimation = FALSE • CycleTime.EnMonitoring = FALSE • CycleTime.Value: Weisen Sie dieser Variablen den Zeittakt des aufrufenden Weckalarm-

OB in der Einheit Sekunden zu.

Page 222: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 221

PID Basisfunktionen einsetzen 7 7.1 CONT_C

7.1.1 Technologieobjekt CONT_C Das Technologieobjekt CONT_C stellt einen kontinuierlichen PID-Regler für Automatik- und Handbetrieb zur Verfügung. Es entspricht dem Instanz-Datenbaustein der Anweisung CONT_C. Mit der Anweisung PULSEGEN können Sie einen Impulsregler konfigurieren.

Der Proportional-, Integral (INT) und Differentialanteil (DIF) sind parallel geschaltet und einzeln zu- und abschaltbar. Damit lassen sich P-, I, PI-, PD- und PID-Regler parametrieren.

S7-1500 Alle Parameter und Variablen des Technologieobjekts sind remanent und können beim Laden in Gerät nur geändert werden, wenn Sie CONT_C vollständig laden.

Siehe auch Übersicht der Software-Regler (Seite 40)

Technologieobjekte hinzufügen (Seite 42)

Technologieobjekte konfigurieren (Seite 44)

Technologieobjekte in Gerät laden (Seite 47)

CONT_C (Seite 479)

Page 223: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.1 CONT_C

PID-Regelung 222 Funktionshandbuch, 11/2019, A5E35300226-AE

7.1.2 Regeldifferenz CONT_C konfigurieren

Istwert Peripherie verwenden Um den Istwert im Peripherieformat am Eingangsparameter PV_PER zu verwenden gehen Sie folgendermaßen vor:

1. Aktivieren Sie das Kontrollkästchen "Peripherie einschalten".

2. Wenn der Istwert als physikalische Größe vorliegt, erfassen Sie Faktor und Offset für die Normierung auf Prozent. Der Istwert wird dann nach folgender Formel bestimmt: PV = PV_PER × PV_FAC + PV_OFF

Internen Istwert verwenden Um den Istwert im Gleitpunktformat am Eingangsparameter PV_IN zu verwenden gehen Sie folgendermaßen vor:

1. Deaktivieren Sie das Kontrollkästchen " Peripherie einschalten ".

Regeldifferenz Sie stellen unter folgender Voraussetzung eine Totzonenbreite ein:

● Das Istwert-Signal ist verrauscht.

● Die Reglerverstärkung ist hoch.

● Der D-Anteil ist aktiviert.

Der Rauschanteil des Istwerts verursacht in diesem Fall starke Schwankungen des Stellwerts. Die Totzone unterdrückt die Rauschanteile im eingeschwungenen Reglerzustand. Die Totzonenbreite gibt die Größe der Totzone an. Bei einer Totzonenbreite von 0.0 ist die Totzone abgeschaltet.

Siehe auch Arbeitsweise CONT_C (Seite 480)

Page 224: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.1 CONT_C

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 223

7.1.3 Regelalgorithmus CONT_C konfigurieren

Allgemein Um festzulegen, welche Anteile des Regelalgorithmus aktiviert sind, gehen Sie folgendermaßen vor:

1. Wählen Sie aus der Liste "Reglerstruktur" einen Eintrag. Sie können nur die für die gewählte Reglerstruktur benötigten Parameter eingeben.

P-Anteil 1. Wenn die Reglerstruktur einen P-Anteil enthält, geben Sie die "Proportionalverstärkung"

ein.

I-Anteil 1. Wenn die Reglerstruktur einen I-Anteil enthält, geben Sie die Integrationszeit ein.

2. Um den I-Anteil mit einem Initialisierungswert zu belegen, aktivieren Sie das Optionskästchen "I-Anteil initialisieren und geben Sie den Initalisierungswert ein.

3. Um den I-Anteil permanent auf diesem Initalisierungswert einzustellen, aktivieren Sie das Optionskästchen "I-Anteil anhalten".

D-Anteil 1. Wenn die Reglerstruktur einen D-Anteil enthält, geben Sie die Differenzierzeit, die

Gewichtung D-Anteil und die Verzögerungszeit ein.

Siehe auch Arbeitsweise CONT_C (Seite 480)

Page 225: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.1 CONT_C

PID-Regelung 224 Funktionshandbuch, 11/2019, A5E35300226-AE

7.1.4 Stellwert CONT_C konfigurieren

Allgemein Sie können CONT_C im Hand- oder im Automatikbetrieb einsetzen.

1. Um einen Handstellwert vorzugeben, aktivieren Sie das Optionskästchen "Handbetrieb aktivieren". Sie können am Eingangsparameter MAN einen Handstellwert vorgeben.

Stellwertgrenzen Der Stellwert wird nach oben und untern begrenzt, damit er nur gültige Werte annehmen kann. Sie können die Begrenzung nicht abschalten. Das Überschreiten der Grenzen wird durch die Ausgangsparameter QLMN_HLM und QLMN_LLM angezeigt.

1. Geben Sie einen Wert für die obere und untere Stellwertgrenze ein. Wenn der Stellwert eine physikalische Größe ist, müssen die Einheiten für obere und untere Stellwertgrenze übereinstimmen.

Normierung Der Stellwert kann für die Ausgabe als Gleitpunkt- und Peripheriewert über einen Faktor und ein Offset nach folgender Formel normiert werden.

Normierter Stellwert = Stellwert × Faktor + Offset

Vorbelegt sind ein Faktor von 1.0 und ein Offset von 0.0.

1. Geben Sie einen Wert für Faktor und Offset ein.

Siehe auch Arbeitsweise CONT_C (Seite 480)

Page 226: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.1 CONT_C

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 225

7.1.5 Impulsregler programmieren Mit dem kontinuierlichen Regler CONT_C und dem Impulsformer PULSEGEN kann ein Festwertregler mit schaltendem Ausgang für proportionale Stellglieder realisiert werden. Das folgende Bild zeigt den prinzipiellen Signalverlauf des Regelkreises.

Der kontinuierliche Regler CONT_C bildet den Stellwert LMN, der vom Impulsformer PULSEGEN in Puls-Pausesignale QPOS_P bzw. QNEG_P gewandelt wird.

Siehe auch PULSEGEN (Seite 490)

Page 227: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.1 CONT_C

PID-Regelung 226 Funktionshandbuch, 11/2019, A5E35300226-AE

7.1.6 CONT_C in Betrieb nehmen

Voraussetzungen ● Die Anweisung und das Technologieobjekt sind auf die CPU geladen.

Vorgehen Um manuell die optimalen PID-Parameter zu ermitteln, gehen Sie folgendermaßen vor:

1. Klicken Sie auf das Symbol "Start".

Wenn noch keine Online-Verbindung besteht, wird diese aufgebaut. Die aktuellen Werte für Sollwert, Istwert und Stellwert werden aufgezeichnet.

2. Geben Sie in den Feldern "P", "I", "D" und "Verzögerungszeit" neue PID-Parameter ein.

3. Klicken Sie in der Gruppe "Optimierung" auf das Symbol "Parameter an CPU senden".

4. Aktivieren Sie in der Gruppe "Aktuelle Werte" das Optionskästchen "Sollwert vorgeben".

5. Geben Sie einen neuen Sollwert ein und klicken Sie in der Gruppe "Aktuelle Werte" auf das Symbol .

6. Deaktivieren Sie ggf. das Optionskästchen "Handbetrieb".

Der Regler arbeitet mit den neuen PID-Parametern und regelt auf den neuen Sollwert.

7. Kontrollieren Sie anhand der Kurvenverläufe die Qualität der PID-Parameter.

8. Wiederholen Sie die Schritte 2 bis 6, bis Sie mit dem Regelergebnis zufrieden sind.

Page 228: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.2 CONT_S

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 227

7.2 CONT_S

7.2.1 Technologieobjekt CONT_S Das Technologieobjekt CONT_S stellt einen Schrittregler für Stellglieder mit integrierendem Verhalten zur Verfügung und dient zum Regeln von technischen Temperatur-Prozessen mit binären Stellwertausgangssignalen. Das Technologieobjekt entspricht dem Instanz-Datenbaustein der Anweisung CONT_S. Die Arbeitsweise basiert auf dem PI-Regelalgorithmus des Abtastreglers. Der Schrittregler arbeitet ohne Stellungsrückmeldung. Es sind Hand- und Automatikbetrieb möglich.

S7-1500 Alle Parameter und Variablen des Technologieobjekts sind remanent und können beim Laden in Gerät nur geändert werden, wenn Sie CONT_S vollständig laden.

Siehe auch Übersicht der Software-Regler (Seite 40)

Technologieobjekte hinzufügen (Seite 42)

Technologieobjekte konfigurieren (Seite 44)

Technologieobjekte in Gerät laden (Seite 47)

CONT_S (Seite 485)

Page 229: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.2 CONT_S

PID-Regelung 228 Funktionshandbuch, 11/2019, A5E35300226-AE

7.2.2 Regeldifferenz CONT_S konfigurieren

Istwert Peripherie verwenden Um den Istwert im Peripherieformat am Eingangsparameter PV_PER zu verwenden gehen Sie folgendermaßen vor:

1. Aktivieren Sie das Kontrollkästchen "Peripherie einschalten".

2. Wenn der Istwert als physikalische Größe vorliegt, erfassen Sie Faktor und Offset für die Normierung auf Prozent. Der Istwert wird dann nach folgender Formel bestimmt: PV = PV_PER × PV_FAC + PV_OFF

Internen Istwert verwenden Um den Istwert im Gleitpunktformat am Eingangsparameter PV_IN zu verwenden gehen Sie folgendermaßen vor:

1. Deaktivieren Sie das Kontrollkästchen "Peripherie einschalten".

Regeldifferenz Sie stellen unter folgender Voraussetzung eine Totzonenbreite ein:

● Das Istwert-Signal ist verrauscht.

● Die Reglerverstärkung ist hoch.

● Der D-Anteil ist aktiviert.

Der Rauschanteil des Istwerts verursacht in diesem Fall starke Schwankungen des Stellwerts. Die Totzone unterdrückt die Rauschanteile im eingeschwungenen Reglerzustand. Die Totzonenbreite gibt die Größe der Totzone an. Bei einer Totzonenbreite von 0.0 ist die Totzone abgeschaltet.

Siehe auch Arbeitsweise CONT_S (Seite 486)

Page 230: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.2 CONT_S

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 229

7.2.3 Regelalgorithmus CONT_S konfigurieren

PI-Algorithmus 1. Geben Sie die "Proportionalverstärkung" für den P-Anteil ein.

2. Geben Sie die Integrationszeit für das Zeitverhalten des I-Anteils ein. Bei einer Integrationszeit von 0.0 ist der I-Anteil ausgeschaltet.

Siehe auch Arbeitsweise CONT_S (Seite 486)

7.2.4 Stellwert CONT_S konfigurieren

Allgemein Sie können CONT_S im Hand- oder im Automatikbetrieb einsetzen.

1. Um einen Handstellwert vorzugeben, aktivieren Sie das Optionskästchen "Handbetrieb aktivieren". An den Eingangsparametern LMNUP und LMNDN geben Sie einen Handstellwert vor.

Pulsegenerator 1. Geben Sie die Mindestimpulsdauer und die Mindestpausendauer ein.

Die Werte müssen größer oder gleich der Zykluszeit am Eingangsparameter CYCLE sein. Dadurch wird die Schalthäufigkeit reduziert.

2. Geben Sie die Motorstellzeit ein. Der Wert muss größer oder gleich der Zykluszeit am Eingangsparameter CYCLE sein.

Siehe auch Arbeitsweise CONT_S (Seite 486)

Page 231: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.2 CONT_S

PID-Regelung 230 Funktionshandbuch, 11/2019, A5E35300226-AE

7.2.5 CONT_S in Betrieb nehmen

Voraussetzungen ● Die Anweisung und das Technologieobjekt sind auf die CPU geladen.

Vorgehen Um manuell die optimalen PID-Parameter zu ermitteln, gehen Sie folgendermaßen vor:

1. Klicken Sie auf das Symbol "Start".

Wenn noch keine Online-Verbindung besteht, wird diese aufgebaut. Die aktuellen Werte für Sollwert, Istwert und Stellwert werden aufgezeichnet.

2. Geben Sie in den Feldern "P" und "I" einen neuen Proportionalbeiwert und eine neue Integrationszeit ein.

3. Klicken Sie in der Gruppe "Optimierung" auf das Symbol "Parameter an CPU senden".

4. Aktivieren Sie in der Gruppe "Aktuelle Werte" das Optionskästchen "Sollwert vorgeben".

5. Geben Sie einen neuen Sollwert ein und klicken Sie in der Gruppe "Aktuelle Werte" auf das Symbol .

6. Deaktivieren Sie ggf. das Optionskästchen "Handbetrieb".

Der Regler arbeitet mit den neuen Parametern und regelt auf den neuen Sollwert.

7. Kontrollieren Sie anhand der Kurvenverläufe die Qualität der PID-Parameter.

8. Wiederholen Sie die Schritte 2 bis 6, bis Sie mit dem Regelergebnis zufrieden sind.

Page 232: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.3 TCONT_CP

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 231

7.3 TCONT_CP

7.3.1 Technologieobjekt TCONT_CP Das Technologieobjekt TCONT_CP stellt einen kontinuierlichen Temperaturregler mit Pulsgenerator zur Verfügung. Es entspricht dem Instanz-Datenbaustein der Anweisung TCONT_CP. Die Arbeitsweise basiert auf dem PID-Regelalgorithmus des Abtastreglers. Es sind Hand- und Automatikbetrieb möglich.

Die Anweisung TCONT_CP berechnet die P-, I-, und D-Parameter für Ihre Regelstrecke selbstständig während der "Erstoptimierung". Die Parameter können über eine "Nachoptimierung" weiter optimiert werden. Alternativ können Sie die PID-Parameter manuell ermitteln.

S7-1500 Alle Parameter und Variablen des Technologieobjekts sind remanent und können beim Laden in Gerät nur geändert werden, wenn Sie TCONT_CP vollständig laden.

Siehe auch Übersicht der Software-Regler (Seite 40)

Technologieobjekte hinzufügen (Seite 42)

Technologieobjekte konfigurieren (Seite 44)

Technologieobjekte in Gerät laden (Seite 47)

TCONT_CP (Seite 501)

Page 233: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.3 TCONT_CP

PID-Regelung 232 Funktionshandbuch, 11/2019, A5E35300226-AE

7.3.2 TCONT_CP konfigurieren

7.3.2.1 Regeldifferenz

Istwert Peripherie verwenden Um den Eingangsparameter PV_PER zu verwenden gehen Sie folgendermaßen vor:

1. Wählen Sie aus der Liste "Quelle" den Eintrag "Peripherie".

2. Wählen Sie den "Sensortyp". Je nach Sensortyp wird der Istwert nach unterschiedlichen Formeln normiert.

– Standard Thermoelemente; PT100/NI100

PV = 0.1 × PV_PER × PV_FAC + PV_OFFS

– Klima; PT100/NI100

PV = 0.01 × PV_PER × PV_FAC + PV_OFFS

– Strom/Spannung

PV = 100/27648 × PV_PER × PV_FAC + PV_OFFS

3. Erfassen Sie Faktor und Offset für die Normierung des Istwerts Peripherie.

Internen Istwert verwenden Um den Eingangsparameter PV_IN zu verwenden gehen Sie folgendermaßen vor:

1. Wählen Sie aus der Liste "Quelle" den Eintrag "Intern".

Regeldifferenz Sie stellen unter folgender Voraussetzung eine Totzonenbreite ein:

● Das Istwert-Signal ist verrauscht.

● Die Reglerverstärkung ist hoch.

● Der D-Anteil ist aktiviert.

Der Rauschanteil des Istwerts verursacht in diesem Fall starke Schwankungen des Stellwerts. Die Totzone unterdrückt die Rauschanteile im eingeschwungenen Reglerzustand. Die Totzonenbreite gibt die Größe der Totzone an. Bei einer Totzonenbreite von 0.0 ist die Totzone abgeschaltet.

Siehe auch Arbeitsweise TCONT_CP (Seite 502)

Page 234: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.3 TCONT_CP

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 233

7.3.2.2 Regelalgorithmus

Allgemein 1. Geben Sie die "Abtastzeit PID-Algorithmus" ein.

Die Regler-Abtastzeit sollte 10 % der ermittelten Integrationszeit des Reglers (TI) nicht übersteigen.

2. Wenn die Reglerstruktur einen P-Anteil enthält, geben Sie die "Proportionalverstärkung" ein. Eine negative Proportionalverstärkung invertiert den Regelsinn.

P-Anteil Bei Änderungen des Sollwerts kann es durch den P-Anteil zu Überschwingern kommen. Über die Gewichtung P-Anteil können Sie wählen, wie stark der P-Anteil bei Sollwertänderungen wirken soll. Die Abschwächung des P-Anteils wird durch eine Kompensation am I-Anteil erreicht.

1. Um den P-Anteil bei Sollwertänderungen abzuschwächen, geben Sie die "Gewichtung P-Anteil" ein.

– 1.0: P-Anteil bei Sollwertänderung voll wirksam

– 0.0: P-Anteil bei Sollwertänderung nicht wirksam

I-Anteil Bei Begrenzung des Stellwerts wird der I-Anteil angehalten. Bei einer Regeldifferenz, die den I-Anteil in Richtung innerer Stellbereich bewegt, wird der I-Anteil wieder freigegeben.

1. Wenn die Reglerstruktur einen I-Anteil enthält, geben Sie die "Integrationszeit" ein. Bei einer Integrationszeit von 0.0 ist der I-Anteil ausgeschaltet.

2. Um den I-Anteil mit einem Initialisierungswert zu belegen, aktivieren Sie das Optionskästchen "I-Anteil initialisieren" und geben Sie den "Initalisierungswert" ein. Bei Neustart oder COM_RST = TRUE wird der I-Anteil auf diesen Wert gesetzt.

D-Anteil 1. Wenn die Reglerstruktur einen D-Anteil enthält, geben Sie die Differenzierzeit (TD) und

den Koeffizienten DT1 (D_F) ein. Bei zugeschaltetem D-Anteil sollte folgende Gleichung eingehalten werden: TD = 0.5 × CYCLE× D_F. Daraus wird die Verzögerungszeit berechnet nach der Formel: Verzögerungszeit = TD/D_F

Page 235: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.3 TCONT_CP

PID-Regelung 234 Funktionshandbuch, 11/2019, A5E35300226-AE

PD-Regler mit Arbeitspunkt parametrieren 1. Geben Sie die Integrationszeit 0.0 ein.

2. Aktivieren Sie das Optionskästchen "I-Anteil initialisieren".

3. Geben Sie als Initialisierungswert den Arbeitspunkt ein.

P-Regler mit Arbeitspunkt parametrieren 1. Parametrieren Sie einen PD-Regler mit Arbeitspunkt.

2. Geben Sie die Differenzierzeit 0.0 ein. Der D-Anteil wird deaktiviert.

Regelzone Die Regelzone begrenzt den Wertebereich der Regeldifferenz. Wenn die Regeldifferenz außerhalb dieses Wertebereichs liegt, werden die Stellwertgrenzen verwendet.

Beim Eintritt in die Regelzone führt der zugeschaltete D-Anteil zu einem sehr schnellen Reduzieren der Stellgröße. Daher ist die Regelzone nur bei eingeschaltetem D-Anteil sinnvoll. Ohne Regelzone würde im Wesentlichen nur der sich reduzierende P-Anteil die Stellgröße reduzieren. Die Regelzone führt zu einem schnelleren Einschwingen ohne Über-/Unterschwingen, wenn die ausgegebene minimale oder maximale Stellgröße weit von der für den neuen Arbeitspunkt stationär notwendigen Stellgröße entfernt ist.

1. Aktivieren Sie in der Gruppe "Regelzone" das Optionskästchen "Aktivieren".

2. Geben Sie im Eingabefeld "Breite" einen Wert ein, den der Istwert nach oben und unten vom Sollwert abweichen darf.

Siehe auch Arbeitsweise TCONT_CP (Seite 502)

Page 236: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.3 TCONT_CP

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 235

7.3.2.3 Stellwert kontinuierlicher Regler

Stellwertgrenzen Der Stellwert wird nach oben und untern begrenzt, damit er nur gültige Werte annehmen kann. Sie können die Begrenzung nicht abschalten. Das Überschreiten der Grenzen wird durch die Ausgangsparameter QLMN_HLM und QLMN_LLM angezeigt.

1. Geben Sie einen Wert für die obere und untere Stellwertgrenze ein.

Normierung Der Stellwert kann für die Ausgabe als Gleitpunkt- und Peripheriewert über einen Faktor und ein Offset nach folgender Formel normiert werden.

Normierter Stellwert = Stellwert × Faktor + Offset

Vorbelegt sind ein Faktor von 1.0 und ein Offset von 0.0.

1. Geben Sie einen Wert für Faktor und Offset ein.

Pulsegenerator Für einen kontinuierlichen Regler muss der Pulsgenerator ausgeschaltet sein.

1. Deaktivieren Sie in der Gruppe "Pulsgenerator" das Optionskästchen "Aktivieren".

Siehe auch Arbeitsweise TCONT_CP (Seite 502)

Page 237: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.3 TCONT_CP

PID-Regelung 236 Funktionshandbuch, 11/2019, A5E35300226-AE

7.3.2.4 Stellwert Impulsregler

Pulsegenerator Der analoge Stellwert (LmnN) kann durch Pulsweitenmodulation am Ausgangsparameter QPULSE als eine Impulsfolge ausgegeben werden. Um den Pulsgenerator zu verwenden, gehen Sie folgendermaßen vor:

1. Aktivieren Sie in der Gruppe "Pulsgenerator" das Optionskästchen "Aktivieren".

2. Geben Sie die "Abtastzeit Pulsgenerator", die "Mindestimpuls-/Pausendauer" und die "Periodendauer" ein.

Die folgenden Grafiken verdeutlichen den Zusammenhang zwischen der "Abtastzeit Pulsgenerator" (CYCLE_P), der "Mindestimpuls-/Pausendauer" (P_B_TM) und der "Periodendauer" (PER_TM):

Page 238: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.3 TCONT_CP

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 237

Abtastzeit Pulsgenerator Die Abtastzeit Pulsgenerator muss mit dem Zeittakt des aufrufenden Weckalarm-OB übereinstimmen. Die Dauer des erzeugten Impulses beträgt stets ein ganzzahliges Vielfaches dieses Wertes. Für eine hinreichend genaue Stellwertauflösung sollte folgende Beziehung gelten: CYCLE_P ≤ PER_TM/50

Mindestimpuls-/Pausendauer Durch die Mindestimpuls-/Pausendauer werden kurze Ein- oder Ausschaltzeiten am Stellglied vermeiden. Ein Impuls kleiner als P_B_TM wird unterdrückt.

Empfohlen sind Werte P_B_TM ≤ 0.1 × PER_TM.

Periodendauer Die Periodendauer sollte 20 % der ermittelten Integrationszeit des Reglers (TI) nicht übersteigen: PER_TM ≤ TI/5

Beispiel für die Wirkung der Parameter CYCLE_P, CYCLE und PER_TM: Periodendauer PER_TM = 10 s

Abtastzeit PID-Algorithmus CYCLE = 1 s

Abtastzeit Pulsgenerator CYCLE_P = 100 ms.

Alle Sekunde wird ein neuer Stellwert berechnet, alle 100 ms erfolgt der Vergleich des Stellwertes mit der bislang ausgegebenen Impulslänge bzw. Pausenlänge.

● Wenn ein Impuls ausgegeben wird, gibt es 2 Möglichkeiten:

– Der berechnete Stellwert ist größer ist als die bisherige Impulslänge/PER_TM. Dann wird der Impuls verlängert.

– Der berechnete Stellwert ist kleiner oder gleich der bisherigen Impulslänge/PER_TM. Dann wird kein Impulssignal mehr ausgegeben.

● Wenn kein Impuls ausgegeben wird, gibt es auch 2 Möglichkeiten:

– Der Wert (100 % - berechneter Stellwert) ist größer als die bisherige Pausenlänge/ PER_TM. Dann wird die Pause verlängert.

– Der Wert (100 % - berechneter Stellwert) ist kleiner oder gleich der bisherigen Pausenlänge/ PER_TM. Dann wird ein Impulssignal ausgegeben.

Siehe auch Arbeitsweise TCONT_CP (Seite 502)

Arbeitsweise Pulsgenerator (Seite 511)

Page 239: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.3 TCONT_CP

PID-Regelung 238 Funktionshandbuch, 11/2019, A5E35300226-AE

7.3.3 TCONT_CP in Betrieb nehmen

7.3.3.1 Optimierung TCONT_CP

Einsatzmöglichkeiten Die Regleroptimierung ist für reine Heiz- oder reine Kühlprozesse vom Streckentyp I anwendbar. Aber auch für Strecken höherer Ordnung Streckentyp II oder III können Sie den Baustein einsetzen.

Die PI/-PID-Parameter werden automatisch ermittelt und eingestellt. Der Reglerentwurf ist auf optimales Störverhalten ausgelegt. Die daraus resultierenden "scharfen" Parameter führen bei Sollwertsprüngen zu Überschwingern von 10 % bis 40 % der Sprunghöhe.

Phasen der Regleroptimierung Bei der Regleroptimierung werden einzelne Phasen durchlaufen, die Sie am Parameter PHASE ablesen können.

PHASE = 0 Es läuft keine Optimierung. TCONT_CP arbeitet im Automatik- oder Handbetrieb.

Während PHASE = 0 sorgen Sie dafür, dass die Regelstrecke die Vorrausetzungen für eine Optimierung erfüllt.

Am Ende der Optimierung wechselt TCONT_CP wieder in PHASE = 0.

PHASE = 1 TCONT_CP befindet sich in Optimierbereitschaft. PHASE = 1 darf nur gestartet werden, wenn die Vorrausetzungen für eine Optimierung erfüllt sind.

Während PHASE = 1 werden folgende Werte ermittelt:

● Istwert-Rauschen NOISE_PV

● Anfangssteigung PVDT0

● Mittelwert des Stellwerts

● Abtastzeit PID-Algorithmus CYCLE

● Abtastzeit Pulsgenerator CYCLE_P

Page 240: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.3 TCONT_CP

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 239

PHASE = 2 In Phase 2 wird bei konstantem Stellwert der Wendepunkt des Istwerts gesucht. Das Verfahren verhindert, dass durch Rauschen von PV der Wendepunkt zu früh erkannt wird: Beim Impulsregler wird PV über N Impulszyklen gemittelt und dann dem Reglerteil zur Verfügung gestellt. Im Reglerteil findet eine weitere Mittelung von PV statt: Zu Beginn ist diese Mittelung inaktiv, d. h. es wird nur immer über 1 Zyklus gemittelt. Solange das Rauschen ein bestimmtes Maß überschreitet, wird die Anzahl der Zyklen verdoppelt. Die Periodendauer und die Amplitude des Rauschens werden ermittelt. Erst wenn der Gradient während der geschätzten Periodendauer immer kleiner als die maximale Steigung ist, wird die Wendepunktsuche abgebrochen und Phase 2 verlassen. TU und T_P_INF werden jedoch am tatsächlichen Wendepunkt berechnet. Die Optimierung wird jedoch erst dann beendet, wenn auch die folgenden beiden Bedingungen erfüllt sind:

1. Der Istwert ist weiter als 2*NOISE_PV vom Wendepunkt entfernt.

2. Der Istwert hat den Wendepunkt um 20 % überschritten.

Hinweis

Bei Anregung über Sollwertsprung wird die Optimierung spätestens beendet, wenn der Istwert 75 % des Sollwertsprunges (SP_INT-PV0) durchlaufen hat (siehe unten).

PHASE = 3, 4, 5 Die Phasen 3, 4 und 5 dauern jeweils 1 Zyklus. In Phase 3 werden die vor der Optimierung gültigen PI-/PID-Parameter gespeichert und die Prozess-Parameter berechnet. In Phase 4 werden die neuen PI-/PID-Parameter berechnet. In Phase 5 wird der neue Stellwert berechnet und auf die Regelstrecke gegeben.

PHASE = 7 Der Streckentyp wird in Phase 7 überprüft, da TCONT_CP nach der Optimierung immer in den Automatikbetrieb wechselt. Der Automatikbetrieb startet mit LMN = LMN0 + 0.75*TUN_DLMN als Stellwert. Die Überprüfung des Streckentyps findet im Automatikbetrieb mit den gerade neu berechneten Reglerparametern statt und endet spätestens 0,35*TA (Ausgleichszeit) nach dem Wendepunkt. Weicht die Prozessordnung stärker vom geschätzten Wert ab, werden die Reglerparameter neu berechnet und STATUS_D um 1 hochgezählt, ansonsten bleiben die Reglerparameter unverändert. Dann ist der Optimierbetrieb beendet und TCONT_CP befindet sich wieder in PHASE = 0. Am Parameter STATUS_H erkennen Sie, ob die Optimierung erfolgreich beendet wurde.

Vorzeitiger Abbruch der Optimierung In Phase 1, 2 oder 3 können Sie durch Rücksetzen von TUN_ON = FALSE die Optimierung abbrechen ohne dass neue Parameter berechnet werden. Der Regler startet im Automatikbetrieb mit LMN = LMN0 + TUN_DLMN. War der Regler vor der Optimierung im Handbetrieb, wird der alte Handstellwert ausgegeben. Wird in Phase 4, 5 oder 7 mit TUN_ON = FALSE die Optimierung abgebrochen, bleiben die bis dahin ermittelten Regelparameter erhalten.

Page 241: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.3 TCONT_CP

PID-Regelung 240 Funktionshandbuch, 11/2019, A5E35300226-AE

7.3.3.2 Voraussetzungen für eine Optimierung

Einschwingverhalten Der Prozess muss ein stabiles, verzugsbehaftetes, asymptotisches Einschwingverhalten zeigen.

Nach einem Sprung der Stellgröße muss der Istwert in einen stationären Zustand übergehen. Ausgeschlossen sind damit Prozesse, die schon ohne Regelung ein oszillatorisches Verhalten zeigen, sowie Regelstrecken ohne Ausgleich (Integrator in der Regelstrecke).

WARNUNG

Es kann Tod, schwere Körperverletzung oder erheblicher Sachschaden eintreten.

Während einer Optimierung ist der Parameter MAN_ON nicht wirksam. Hierdurch können Stellwert oder Istwert ungewünschte –auch extreme- Werte annehmen.

Der Stellwert wird durch die Optimierung vorgegeben. Um die Optimierung abzubrechen müssen Sie zuerst TUN_ON = FALSE setzen. Damit ist auch MAN_ON wieder wirksam.

Sicherstellen eines quasi-stationären Anfangszustandes (Phase 0) Bei niederfrequenten Schwingungen des Istwerts, z. B. auf Grund falscher Reglerparameter, ist der Regler vor dem Start der Optimierung auf Handbetrieb zu stellen und das Abklingen der Schwingung abzuwarten. Alternativ könnte auch auf einen "sanft" eingestellten PI-Regler (kleine Kreisverstärkung, große Integrationszeit) umgeschaltet werden.

Nun müssen Sie warten, bis der stationäre Zustand erreicht ist, d. h. bis Istwert und Stellwert eingeschwungen sind. Zulässig ist auch ein asymptotisches Einschwingen bzw. langsames Driften des Istwertes (quasi-stationärer Zustand, siehe nachfolgendes Bild). Die Stellgröße muss konstant sein bzw. um einen konstanten Mittelwert schwanken.

Hinweis

Vermeiden Sie, die Stellgröße kurz vor Start der Optimierung zu verändern. Eine Änderung der Stellgröße kann auch unbeabsichtigt durch das Herstellen der Versuchsbedingungen erfolgen (z. B. Schließen einer Ofentür)! Sollte dies doch geschehen sein, müssen Sie mindestens warten, bis der Istwert wieder asymptotisch in einen stationären Zustand einschwingt. Bessere Reglerparameter erzielen Sie jedoch, wenn Sie warten bis der Einschwingvorgang vollständig abgeklungen ist.

Page 242: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.3 TCONT_CP

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 241

Im folgenden Bild ist das Einschwingen in den stationären Zustand dargestellt:

Linearität und Arbeitsbereich Der Prozess muss ein lineares Verhalten über dem Arbeitsbereich zeigen. Ein nichtlineares Verhalten tritt z. B. bei einem Wechsel eines Aggregatszustandes auf. Die Optimierung muss in einem linearen Teil des Arbeitsbereiches stattfinden.

Das heißt, dass sowohl für die Optimierung als auch für den normalen Regelungsbetrieb nichtlineare Effekte innerhalb dieses Arbeitsbereichs vernachlässigbar klein sein müssen. Allerdings ist es möglich, beim Wechsel des Arbeitspunktes den Prozess neu zu optimieren, wenn die Optimierung wieder in einer kleinen Umgebung des neuen Arbeitspunktes durchgeführt wird und während der Optimierung die Nichtlinearität nicht durchfahren wird.

Wenn bestimmte statische Nichtlinearitäten (z. B. Ventilkennlinien) bekannt sind, ist es in jedem Fall sinnvoll, sie vorab mit einem Polygonzug zu kompensieren, um das Prozessverhalten zu linearisieren.

Störeinflüsse bei Temperaturprozessen Störeinflüsse wie die Wärmeübertragung an benachbarten Zonen dürfen den Gesamttemperaturprozess nicht zu stark beeinflussen. Z. B. müssen bei der Optimierung von Zonen eines Extruders alle Zonen gleichzeitig aufgeheizt werden.

Page 243: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.3 TCONT_CP

PID-Regelung 242 Funktionshandbuch, 11/2019, A5E35300226-AE

7.3.3.3 Möglichkeiten der Optimierung Es gibt die folgenden Möglichkeiten zur Optimierung:

● Erstoptimierung

● Nachoptimierung

● Manuelle Nachoptimierung im Regelbetrieb

Erstoptimierung Während dieser Optimierung wird der Arbeitspunkt aus dem kalten Zustand durch einen Sollwertsprung angefahren.

Mit TUN_ON = TRUE stellen Sie die Optimierbereitschaft her. Der Regler wechselt von PHASE = 0 nach PHASE = 1.

Die Optimierungs-Stellgröße (LMN0 + TUN_DLMN) wird durch Sollwertänderung aufgeschaltet (Übergang Phase 1 -> 2). Der Sollwert wird erst bei Erreichen des Wendepunktes wirksam (erst dann wird in den Automatikbetrieb geschaltet).

Sie legen das Delta der Stellanregung (TUN_DLMN) entsprechend der zulässigen Istwertänderung in Eigenverantwortung fest. Das Vorzeichen von TUN_DLMN muss entsprechend der beabsichtigten Istwertänderung sein (Regelsinn berücksichtigen).

Der Sollwertsprung und TUN_DLMN müssen aufeinander abgestimmt sein. Ein zu großes TUN_DLMN birgt die Gefahr, dass der Wendepunkt nicht innerhalb von 75 % des Sollwertsprunges gefunden wird.

TUN_DLMN muss aber so groß sein, dass der Istwert mindestens 22 % des Sollwertsprunges erreicht. Sonst bleibt das Verfahren im Optimierbetrieb (Phase 2).

Page 244: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.3 TCONT_CP

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 243

Abhilfe: Verringern des Sollwerts während der Wendepunktsuche.

Hinweis

Bei stark verzögerten Prozessen ist es ratsam, den Zielsollwert bei einer Optimierung etwas tiefer zu legen als den gewünschten Arbeitspunkt und die Statusbits sowie PV genau zu beobachten (Gefahr des Überschwingens).

Optimierung nur im linearen Bereich:

Bestimmte Regelstrecken (z. B. Zink- oder Magnesium-Schmelztiegel) durchlaufen kurz vor dem Arbeitspunkt einen nichtlinearen Bereich (Änderung des Aggregatzustands).

Durch geschickte Wahl des Sollwertsprunges kann die Optimierung auf den linearen Bereich begrenzt werden. Hat der Istwert 75 % des Sollwertsprungs (SP_INT-PV0) durchlaufen, wird die Optimierung beendet.

Parallel dazu sollte TUN_DLMN so weit reduziert werden, damit der Wendepunkt mit Sicherheit vor Erreichen von 75 % des Sollwertsprunges gefunden wird.

Nachoptimierung Während dieser Optimierung wird der Prozess bei konstantem Sollwert durch einen Stellwertsprung angeregt.

Page 245: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.3 TCONT_CP

PID-Regelung 244 Funktionshandbuch, 11/2019, A5E35300226-AE

Die Optimierungs-Stellgröße (LMN0 + TUN_DLMN) wird durch Setzen des Start-Bits TUN_ST aufgeschaltet (Übergang Phase 1 -> 2). Wenn Sie den Sollwert verändern, wird der neue Sollwert erst bei Erreichen des Wendepunktes wirksam (erst dann wird in den Automatikbetrieb geschaltet).

Sie legen das Delta der Stellanregung (TUN_DLMN) entsprechend der zulässigen Istwertänderung in Eigenverantwortung fest. Das Vorzeichen von TUN_DLMN muss entsprechend der beabsichtigten Istwertänderung sein (Regelsinn berücksichtigen).

ACHTUNG

Bei Anregung über TUN_ST gibt es kein Sicherheitsabschalten bei 75 %. Die Optimierung wird bei Erreichen des Wendepunktes beendet. Bei rauschbehafteten Strecken kann jedoch der Wendepunkt deutlich überschritten werden.

Manuelle Nachoptimierung im Regelbetrieb Um ein überschwingfreies Sollwertverhalten zu erreichen, können Sie folgende Maßnahmen ergreifen:

● Regelzone anpassen

● Führungsverhalten optimieren

● Regelparameter dämpfen

● Regelparameter ändern

Page 246: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.3 TCONT_CP

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 245

7.3.3.4 Ergebnis der Optimierung Die linke Ziffer von STATUS_H zeigt den Optimierungsstatus STATUS_H Ergebnis 0 Default bzw. keine oder noch keine neuen Reglerparameter gefunden. 10000 Geeignete Regel-Parameter gefunden 2xxxx Regel-Parameter über Schätzwerte gefunden; Überprüfen Sie das Regelver-

halten bzw. schauen Sie nach der Diagnosemeldung STATUS_H und wieder-holen Sie die Regleroptimierung.

3xxxx Bedien-Fehler aufgetreten; Schauen Sie nach der Diagnosemeldung STATUS_H und wiederholen Sie die Regleroptimierung.

In Phase 1 wurden schon die Abtastzeiten CYCLE und CYCLE_P geprüft.

Die folgenden Regel-Parameter werden an TCONT_CP aktualisiert:

● P (Proportionalbeiwert GAIN)

● I (Integrationszeit TI)

● D (Differenzierzeit TD)

● Gewichtung des P-Anteils PFAC_SP

● Koeffizient DT1 (D_F)

● Regelzone ein/aus CONZ_ON

● Regelzonenbreite CON_ZONE

Die Regelzone wird nur bei passendem Streckentyp (Streckentyp I und II) und PID-Regler aktiviert (CONZ_ON = TRUE).

Abhängig von PID_ON wird entweder mit PI- oder PID-Regler geregelt. Die alten Reglerparameter werden gesichert und können über UNDO_PAR wieder aktiviert werden. Ferner werden ein PI- und ein PID-Parametersatz in den Strukturen PI_CON und PID_CON gespeichert. Über LOAD_PID und ein entsprechendes Setzen von PID_ON kann auch später noch zwischen den optimierten PI- oder PID-Parametern gewechselt werden.

Page 247: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.3 TCONT_CP

PID-Regelung 246 Funktionshandbuch, 11/2019, A5E35300226-AE

7.3.3.5 Parallele Optimierung von Reglerkanälen

Nachbar-Zonen (starke Wärmekopplung) Regeln zwei oder mehrere Regler die Temperatur z. B. auf einer Platte (d. h. zwei Heizungen und zwei gemessene Istwerte mit starker Wärmekopplung), gehen Sie folgendermaßen vor:

1. Verodern Sie die beiden Ausgänge QTUN_RUN.

2. Verschalten Sie die beiden TUN_KEEP Eingänge jeweils mit dem Ausgang des Oder-Gliedes.

3. Starten Sie beide Regler durch gleichzeitige Vorgabe eines Sollwertsprunges oder gleichzeitiges Setzen von TUN_ST.

In folgendem Bild ist die parallele Optimierung von Reglerkanälen dargestellt:

Vorteil:

Beide Regler geben solange LMN0 + TUN_DLMN aus, bis beide Regler Phase 2 verlassen haben. Damit wird vermieden, dass der Regler, der die Optimierung früher beendet, durch die Änderung seiner Stellgröße das Optimierungsergebnis des anderen Reglers verfälscht.

ACHTUNG

Das Erreichen von 75 % des Sollwertsprunges führt zu einem Verlassen der Phase 2 und damit zu einem Zurücksetzen des Ausgangs QTUN_RUN. Der Automatikbetrieb wird jedoch erst begonnen, wenn auch TUN_KEEP 0 wird.

Nachbar-Zonen (schwache Wärmekopplung) Generell gilt, dass man so optimieren sollte, wie man später regelt. Werden im Produktionsbetrieb die Zonen gemeinsam parallel verfahren, so dass die Temperaturunterschiede zwischen den Zonen gleich bleiben, sollte man auch bei der Optimierung das Temperaturniveau der Nachbarzonen entsprechend mit anheben.

Die Temperaturunterschiede zu Beginn des Versuchs spielen keine Rolle, da sie durch eine entsprechende Anfangsheizung ausgeglichen werden (→ Anfangssteigung = 0).

Page 248: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.3 TCONT_CP

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 247

7.3.3.6 Fehlerbilder und Abhilfemaßnahmen

Abfangen von Bedienfehlern Bedienfehler STATUS und Maßnahme Kommentar Gleichzeitiges Setzen von TUN_ON und Sollwertsprung bzw. TUN_ST

Übergang in Phase 1, je-doch kein Optimierungsstart. • SP_INT = SPalt bzw. • TUN_ST = FALSE

Die Sollwertänderung wird zurück-genommen. Dadurch wird verhin-dert, dass der Regler auf den neuen Sollwert einregelt und unnö-tig den stationären Arbeitspunkt verlässt.

Effektives TUN_DLMN < 5 % (Ende von Phase 1)

STATUS_H = 30002 • Übergang in Phase 0 • TUN_ON = FALSE • SP = SPalt

Abbruch der Optimierung. Die Sollwertänderung wird zurück-genommen. Dadurch wird verhin-dert, dass der Regler auf den neuen Sollwert einregelt und unnö-tig den stationären Arbeitspunkt verlässt.

Wendepunkt nicht erreicht (nur bei Anregung durch Sollwertsprung) Die Optimierung wird spätestens beendet, wenn der Istwert 75 % des Sollwertsprunges (SP-INT-PV0) durchlaufen hat. Dies wird durch "Wendepunkt nicht erreicht" in STATUS_H (2xx2x) signalisiert.

Dabei gilt immer der momentan eingestellte Sollwert. Durch ein Reduzieren des Sollwertes kann also im Nachhinein ein früheres Beenden der Optimierung herbeigeführt werden.

Bei typischen Temperaturstrecken reicht der Optimierungsabbruch bei 75 % des Sollwertsprunges in der Regel aus, um ein Überschwingen zu verhindern. Vor allem bei stärker verzögerten Strecken (TU/TA > 0.1, Streckentyp III) ist jedoch Vorsicht geboten. Bei zu starker Stellanregung im Vergleich zum Sollwertsprung kann der Istwert stark überschwingen (bis zu Faktor 3).

Ist bei Strecken höherer Ordnung nach Erreichen von 75 % des Sollwertsprunges der Wendepunkt noch in weiter Ferne, gibt es ein deutliches Überschwingen. Außerdem sind die Reglerparameter zu scharf. Schwächen Sie dann die Reglerparameter ab oder wiederholen Sie den Versuch.

Page 249: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.3 TCONT_CP

PID-Regelung 248 Funktionshandbuch, 11/2019, A5E35300226-AE

Im folgenden Bild ist das Überschwingen des Istwertes bei zu starker Anregung (Streckentyp III) dargestellt:

Bei typischen Temperaturstrecken ist ein Abbruch kurz vor Erreichen des Wendepunkts unkritisch bezüglich der Reglerparameter.

Falls Sie den Versuch wiederholen, reduzieren Sie TUN_DLMN oder erhöhen Sie den Sollwertsprung.

Prinzip: Der Optimierungs-Stellwert muss zum Sollwertsprung passen.

Schätzfehler bei Verzugszeit oder Ordnung Die Verzugszeit (STATUS_H = 2x1xx oder 2x3xx) oder die Ordnung (STATUS_H = 21xxx oder 22xxx) konnten nicht korrekt erfasst werden. Es wird mit einem Schätzwert weitergearbeitet, der zu nicht optimalen Reglerparametern führen kann.

Wiederholen Sie die Optimierung und achten Sie darauf, dass keine Störungen am Istwert auftreten.

Hinweis

Der Sonderfall einer reinen PT1-Strecke wird auch durch STATUS_H = 2x1xx (TU <= 3*CYCLE) signalisiert. Ein Wiederholen des Versuchs ist dann nicht notwendig. Schwächen Sie die Reglerparameter ab, falls die Regelung schwingt.

Page 250: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.3 TCONT_CP

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 249

Qualität der Messsignale (Mess-Rauschen, niederfrequente Störungen) Das Optimierungsergebnis kann durch Messrauschen oder durch niederfrequente Störungen beeinträchtigt worden sein. Beachten Sie hierbei Folgendes:

● Wählen Sie bei Messrauschen die Abtastfrequenz eher höher als niedriger. Dabei sollte innerhalb einer Rauschperiode der Istwert mindestens zwei Mal abgetastet werden. Bei Impulsbetrieb ist dabei die integrierte Mittelwertfilterung hilfreich. Sie setzt allerdings voraus, dass der Istwert PV im schnellen Impulszyklus der Anweisung übergeben wird. Das Rauschmaß sollte 5 % der Nutzsignaländerung nicht übersteigen.

● Hochfrequente Störungen können nicht mehr durch TCONT_CP weggefiltert werden. Diese sollten bereits im Messwertaufnehmer gefiltert worden sein, um den sogenannten Aliasing-Effekt zu verhindern.

In folgendem Bild ist der Aliasing-Effekt bei zu großer Abtastzeit dargestellt:

● Bei niederfrequenten Störungen ist es relativ leicht, eine genügend hohe Abtastrate

sicherzustellen. Andererseits muss dann der TCONT_CP durch ein großes Intervall der Mittelwertfilterung sich ein gleichmäßiges Messsignal erzeugen. Eine Mittelwertfilterung muss sich dabei über mindestens zwei Rauschperioden erstrecken. Intern im Baustein entstehen somit schnell größere Abtastzeiten, so dass die Genauigkeit der Optimierung beeinträchtigt wird. Eine genügend große Genauigkeit ist bei mindestens 40 Rauschperioden bis zum Wendepunkt sichergestellt.

Mögliche Maßnahme bei Wiederholung des Versuchs:

Erhöhen von TUN_DLMN.

Page 251: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.3 TCONT_CP

PID-Regelung 250 Funktionshandbuch, 11/2019, A5E35300226-AE

Überschwingen In folgenden Situationen kann Überschwingen auftreten: Situation Ursache Abhilfe Optimierungs-ende

• Anregung durch zu starke Stellwer-tänderung im Vergleich zum Sollwert-sprung (siehe oben).

• PI-Regler durch PID_ON = FALSE aktiviert.

• Sollwertsprung erhöhen oder Stell-wertsprung verringern

• Wenn der Prozess einen PID-Regler zulässt, starten Sie die Optimierung mit PID_ON = TRUE.

Optimierung in Phase 7

Es wurden zunächst sanftere Regler-parameter ermittelt (Streckentyp III), die zu einem Überschwingen in Phase 7 führen können.

-

Regelbetrieb PI-Regler und mit PFAC_SP = 1.0 für Streckentyp I.

Wenn der Prozess einen PID-Regler zulässt, starten Sie die Optimierung mit PID_ON = TRUE.

Page 252: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.3 TCONT_CP

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 251

7.3.3.7 Erstoptimierung durchführen

Voraussetzungen ● Die Anweisung und das Technologieobjekt sind auf die CPU geladen.

Vorgehen Um bei der ersten Inbetriebnahme die optimalen PID-Parameter zu ermitteln, gehen Sie folgendermaßen vor:

1. Klicken Sie auf das Symbol "Start".

Wenn noch keine Online-Verbindung besteht, wird diese aufgebaut. Die aktuellen Werte für Sollwert, Istwert und Stellwert werden aufgezeichnet.

2. Wählen Sie in der Liste "Modus" den Eintrag "Erstoptimierung".

TCONT_CP ist in Optimierbereitschaft.

3. Geben Sie im Feld "Stellwertsprung" ein, um welchen Wert der Stellwert erhöht werden soll.

4. Geben Sie im Feld "Sollwert" einen Sollwert ein. Erst durch einen anderen Sollwert wird der Stellwertsprung wirksam.

5. Klicken Sie auf das Symbol "Optimierung starten".

Die Erstoptimierung startet. Der Status der Optimierung wird angezeigt.

7.3.3.8 Nachoptimierung durchführen

Voraussetzungen ● Die Anweisung und das Technologieobjekt sind auf die CPU geladen.

Vorgehen Um am Arbeitspunkt die optimalen PID-Parameter zu ermitteln, gehen Sie folgendermaßen vor:

1. Klicken Sie auf das Symbol "Start".

Wenn noch keine Online-Verbindung besteht, wird diese aufgebaut. Die aktuellen Werte für Sollwert, Istwert und Stellwert werden aufgezeichnet.

2. Wählen Sie in der Liste "Modus" den Eintrag "Nachoptimierung".

TCONT_CP ist in Optimierbereitschaft.

3. Geben Sie im Feld "Stellwertsprung" ein, um welchen Wert der Stellwert erhöht werden soll.

4. Klicken Sie auf das Symbol "Optimierung starten".

Die Nachoptimierung startet. Der Status der Optimierung wird angezeigt.

Page 253: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.3 TCONT_CP

PID-Regelung 252 Funktionshandbuch, 11/2019, A5E35300226-AE

7.3.3.9 Abbruch der Erst- oder Nachoptimierung Um eine Erst- oder Nachoptimierung abzubrechen, klicken Sie auf das Symbol "Optimierung stoppen".

Wenn die PID-Parameter noch nicht berechnet und gespeichert wurden, startet TCONT_CP im Automatikbetrieb mit LMN = LMN0 + TUN_DLMN. War der Regler vor der Optimierung im Handbetrieb, wird der alte Handstellwert ausgegeben.

Wenn die berechneten PID-Parameter bereits gespeichert sind, startet TCONT_CP im Automatikbetrieb und arbeitet mit den bis dahin ermittelten PID-Parametern.

7.3.3.10 Manuelle Nachoptimierung im Regelbetrieb Um ein überschwingfreies Sollwertverhalten zu erreichen, können Sie nachfolgend beschriebene Maßnahmen ergreifen:

Regelzone anpassen Bei der Optimierung wird eine Regelzone CON_ZONE von TCONT_CP ermittelt und bei passendem Streckentyp (Streckentyp I und II) und PID-Regler aktiviert (CONZ_ON = TRUE). Sie können im Regelbetrieb die Regelzone ändern oder ganz abschalten (mit CONZ_ON = FALSE).

Hinweis

Aktivieren Sie die Regelzone bei Strecken höherer Ordnung (Streckentyp III), bringt dies in der Regel keinen Vorteil, da die Regelzone dann größer ist als der mit 100 % Stellgröße erzielbare Regelbereich. Auch ein Aktivieren der Regelzone für PI-Regler bringt keinen Vorteil.

Stellen Sie vor dem händischen Einschalten der Regelzone sicher, dass die Regelzonenbreite nicht zu klein eingestellt ist. Bei zu klein eingestellter Regelzonenbreite treten Schwingungen im Verlauf der Stellgröße und des Istwertverlaufs auf.

Page 254: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.3 TCONT_CP

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 253

Führungsverhalten mit PFAC_SP kontinuierlich abschwächen Das Führungsverhalten können Sie mit dem Parameter PFAC_SP abschwächen. Dieser Parameter legt fest, zu welchem Anteil der P-Anteil bei Sollwertsprüngen wirksam wird.

PFAC_SP wird unabhängig vom Streckentyp durch die Optimierung auf 0.8 voreingestellt, Sie können den Wert anschließend verändern. Um das Überschwingen bei Sollwertsprüngen (bei sonst korrekten Reglerparametern) auf etwa 2 % zu begrenzen, sind folgende Werte für PFAC_SP ausreichend: Streckentyp I Streckentyp II Streckentyp III Typische Temperaturstre-

cke Übergangsbereich Temperaturstrecke höherer Ordnung

PI 0.8 0.82 0.8 PID 0.6 0.75 0.96

Passen Sie den voreingestellten Faktor (0.8) insbesondere in folgenden Fällen an:

● Streckentyp I mit PID (0.8 -> 0.6): Sollwertsprünge innerhalb der Regelzone führen mit PFAC_SP = 0.8 noch zu ca. 18 % Überschwingen.

● Streckentyp III mit PID (0.8 -> 0.96): Sollwertsprünge mit PFAC_SP = 0.8 werden zu stark gedämpft. Man verschenkt deutlich Einregelzeit.

Regelparameter dämpfen Treten im geschlossenen Regelkreis Schwingungen auf oder sind Überschwinger nach Sollwertsprüngen vorhanden, können Sie die Reglerverstärkung GAIN zurückdrehen (z. B. auf 80 % des ursprünglichen Werts) und die Integrationszeit TI vergrößern (z. B. auf 150 % des ursprünglichen Werts). Wird der analoge Stellwert des kontinuierlichen Reglers mit einem Impulsformer in binäre Stellsignale gewandelt, können durch Quantisierungseffekte kleine Dauerschwingungen auftreten. Sie können diese durch Vergrößern der Reglertotzone DEADB_W eliminieren.

Regelparameter ändern Wenn Sie Ihre Reglerparameter ändern wollen, gehen Sie folgendermaßen vor:

1. Speichern Sie die aktuellen Parameter mit SAVE_PAR.

2. Ändern Sie die Parameter.

3. Testen Sie das Regelverhalten.

Falls die neuen Parameter schlechter sein sollten als die alten, stellen Sie mit UNDO_PAR die alten Parameter wieder ein.

Page 255: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.3 TCONT_CP

PID-Regelung 254 Funktionshandbuch, 11/2019, A5E35300226-AE

7.3.3.11 Manuelle Nachoptimierung durchführen

Voraussetzungen ● Die Anweisung und das Technologieobjekt sind auf die CPU geladen.

Vorgehen Um manuell die optimalen PID-Parameter zu ermitteln, gehen Sie folgendermaßen vor:

1. Klicken Sie auf das Symbol "Start".

Wenn noch keine Online-Verbindung besteht, wird diese aufgebaut. Die aktuellen Werte für Sollwert, Istwert und Stellwert werden aufgezeichnet.

2. Wählen Sie in der Liste "Modus" den Eintrag "Manuell".

3. Geben Sie die neuen PID-Parameter ein.

4. Klicken Sie in der Gruppe "Optimierung" auf das Symbol "Parameter an CPU senden".

5. Aktivieren Sie in der Gruppe "Aktuelle Werte" das Optionskästchen "Sollwert vorgeben".

6. Geben Sie einen neuen Sollwert ein und klicken Sie in der Gruppe "Aktuelle Werte" auf das Symbol .

7. Deaktivieren Sie ggf. das Optionskästchen "Handbetrieb".

Der Regler arbeitet mit den neuen PID-Parametern und regelt auf den neuen Sollwert.

8. Kontrollieren Sie anhand der Kurvenverläufe die Qualität der PID-Parameter.

9. Wiederholen Sie die Schritte 3 bis 8, bis Sie mit dem Regelergebnis zufrieden sind.

Page 256: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.4 TCONT_S

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 255

7.4 TCONT_S

7.4.1 Technologieobjekt TCONT_S Das Technologieobjekt TCONT_S stellt einen Schrittregler für Stellglieder mit integrierendem Verhalten zur Verfügung und dient zum Regeln von technischen Temperatur-Prozessen mit binären Stellwertausgangssignalen. Das Technologieobjekt entspricht dem Instanz-Datenbaustein der Anweisung TCONT_S. Die Arbeitsweise basiert auf dem PI-Regelalgorithmus des Abtastreglers. Der Schrittregler arbeitet ohne Stellungsrückmeldung. Es sind Hand- und Automatikbetrieb möglich.

S7-1500 Alle Parameter und Variablen des Technologieobjekts sind remanent und können beim Laden in Gerät nur geändert werden, wenn Sie TCONT_S vollständig laden.

Siehe auch Übersicht der Software-Regler (Seite 40)

Technologieobjekte hinzufügen (Seite 42)

Technologieobjekte konfigurieren (Seite 44)

Technologieobjekte in Gerät laden (Seite 47)

TCONT_S (Seite 525)

7.4.2 Regeldifferenz TCONT_S konfigurieren

Istwert Peripherie verwenden Um den Eingangsparameter PV_PER zu verwenden gehen Sie folgendermaßen vor:

1. Wählen Sie aus der Liste "Quelle" den Eintrag "Peripherie".

2. Wählen Sie den "Sensortyp". Je nach Sensortyp wird der Istwert nach unterschiedlichen Formeln normiert.

– Standard Thermoelemente; PT100/NI100

PV = 0.1 × PV_PER × PV_FAC + PV_OFFS

– Klima; PT100/NI100

PV = 0.01 × PV_PER × PV_FAC + PV_OFFS

– Strom/Spannung

PV = 100/27648 × PV_PER × PV_FAC + PV_OFFS

3. Erfassen Sie Faktor und Offset für die Normierung des Istwerts Peripherie.

Page 257: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.4 TCONT_S

PID-Regelung 256 Funktionshandbuch, 11/2019, A5E35300226-AE

Internen Istwert verwenden Um den Eingangsparameter PV_IN zu verwenden gehen Sie folgendermaßen vor:

1. Wählen Sie aus der Liste "Quelle" den Eintrag "Intern".

Regeldifferenz Sie stellen unter folgender Voraussetzung eine Totzonenbreite ein:

● Das Istwert-Signal ist verrauscht.

● Die Reglerverstärkung ist hoch.

● Der D-Anteil ist aktiviert.

Der Rauschanteil des Istwerts verursacht in diesem Fall starke Schwankungen des Stellwerts. Die Totzone unterdrückt die Rauschanteile im eingeschwungenen Reglerzustand. Die Totzonenbreite gibt die Größe der Totzone an. Bei einer Totzonenbreite von 0.0 ist die Totzone abgeschaltet.

Siehe auch Arbeitsweise TCONT_S (Seite 527)

Page 258: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.4 TCONT_S

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 257

7.4.3 Regelalgorithmus TCONT_S konfigurieren

Allgemein 1. Geben Sie die "Abtastzeit PID-Algorithmus" ein.

Die Regler-Abtastzeit sollte 10 % der ermittelten Integrationszeit des Reglers (TI) nicht übersteigen.

2. Wenn die Reglerstruktur einen P-Anteil enthält, geben Sie die "Proportionalverstärkung" ein. Eine negative Proportionalverstärkung invertiert den Regelsinn.

P-Anteil Bei Änderungen des Sollwerts kann es durch den P-Anteil zu Überschwingern kommen. Über die Gewichtung P-Anteil können Sie wählen, wie stark der P-Anteil bei Sollwertänderungen wirken soll. Die Abschwächung des P-Anteils wird durch eine Kompensation am I-Anteil erreicht.

1. Um den P-Anteil bei Sollwertänderungen abzuschwächen, geben Sie die "Gewichtung P-Anteil" ein.

– 1.0: P-Anteil bei Sollwertänderung voll wirksam

– 0.0: P-Anteil bei Sollwertänderung nicht wirksam

I-Anteil 1. Wenn die Reglerstruktur einen I-Anteil enthält, geben Sie die "Integrationszeit" ein.

Bei einer Integrationszeit von 0.0 ist der I-Anteil ausgeschaltet.

Siehe auch Arbeitsweise TCONT_S (Seite 527)

7.4.4 Stellwert TCONT_S konfigurieren

Pulsegenerator 1. Geben Sie die Mindestimpulsdauer und die Mindestpausendauer ein.

Die Werte müssen größer oder gleich der Zykluszeit am Eingangsparameter CYCLE sein. Dadurch wird die Schalthäufigkeit reduziert.

2. Geben Sie die Motorstellzeit ein. Der Wert muss größer oder gleich der Zykluszeit am Eingangsparameter CYCLE sein.

Siehe auch Arbeitsweise TCONT_S (Seite 527)

Page 259: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID Basisfunktionen einsetzen 7.4 TCONT_S

PID-Regelung 258 Funktionshandbuch, 11/2019, A5E35300226-AE

7.4.5 TCONT_S in Betrieb nehmen

Voraussetzungen ● Die Anweisung und das Technologieobjekt sind auf die CPU geladen.

Vorgehen Um manuell die optimalen PID-Parameter zu ermitteln, gehen Sie folgendermaßen vor:

1. Klicken Sie auf das Symbol "Start".

Wenn noch keine Online-Verbindung besteht, wird diese aufgebaut. Die aktuellen Werte für Sollwert, Istwert und Stellwert werden aufgezeichnet.

2. Geben Sie in den Feldern "P", "I" und Gewichtung P-Anteil die neuen PI-Parameter ein.

3. Klicken Sie in der Gruppe "Optimierung" auf das Symbol "Parameter an CPU senden".

4. Aktivieren Sie in der Gruppe "Aktuelle Werte" das Optionskästchen "Sollwert vorgeben".

5. Geben Sie einen neuen Sollwert ein und klicken Sie in der Gruppe "Aktuelle Werte" auf das Symbol .

6. Deaktivieren Sie ggf. das Optionskästchen "Handbetrieb".

Der Regler arbeitet mit den neuen Parametern und regelt auf den neuen Sollwert.

7. Kontrollieren Sie anhand der Kurvenverläufe die Qualität der PID-Parameter.

8. Wiederholen Sie die Schritte 2 bis 6, bis Sie mit dem Regelergebnis zufrieden sind.

Page 260: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 259

Hilfsfunktionen 8 8.1 Polyline

Polyline Die Anweisung Polyline stellt eine Funktion mit der Kennlinie des Polygonzugs zur Verfügung, mit dessen Stützpunkten z. B. das Verhalten von nicht linearen Sensoren linearisiert werden kann.

Die Anweisung Polyline ist mit S7-1500 CPU ab Firmware 2.0 und S7-1200 CPU ab Firmware 4.2 einsetzbar.

Weitere Informationen Beschreibung Polyline (Seite 538)

Arbeitsweise Polyline (Seite 542)

Eingangsparameter Polyline (Seite 545)

Ausgangsparameter Polyline (Seite 546)

Statische Variablen Polyline (Seite 546)

Parameter ErrorBits (Seite 548)

8.2 SplitRange

SplitRange Die Anweisung SplitRange teilt den Ausgangswertebereich des PID-Reglers in mehrere Unterbereiche auf. Diese Unterbereiche ermöglichen die Regelung eines Prozesses, den mehrere Aktoren beeinflussen.

Die Anweisung SplitRange ist mit S7-1500 CPU ab Firmware 2.0 und S7-1200 CPU ab Firmware 4.2 einsetzbar.

Weitere Informationen Beschreibung SplitRange (Seite 552)

Eingangsparameter SplitRange (Seite 555)

Statische Variablen SplitRange (Seite 556)

Ausgangsparameter SplitRange (Seite 555)

Parameter ErrorBits (Seite 556)

Page 261: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Hilfsfunktionen 8.3 RampFunction

PID-Regelung 260 Funktionshandbuch, 11/2019, A5E35300226-AE

8.3 RampFunction

RampFunction Die Anweisung RampFunction begrenzt die Änderungsgeschwindigkeit eines Signals. Ein Signalsprung am Eingang wird als Rampenfunktion des Ausgangswerts ausgegeben, um z. B. ein sanfteres Führungsverhalten zu erreichen, ohne Beeinflussung des Störverhaltens.

Die Anweisung RampFunction ist mit S7-1500 CPU ab Firmware 2.0 und S7-1200 CPU ab Firmware 4.2 einsetzbar.

Weitere Informationen Beschreibung RampFunction (Seite 559)

Arbeitsweise RampFunction (Seite 564)

Eingangsparameter RampFunction (Seite 567)

Ausgangsparameter RampFunction (Seite 568)

Statische Variablen RampFunction (Seite 568)

Parameter ErrorBits (Seite 570)

8.4 Filter_PT1

Filter_PT1 Die Anweisung Filter_PT1 ist ein proportionales Übertragungsglied mit einer Verzögerung erster Ordnung. Sie können Filter_PT1 als Tiefpassfilter, Verzögerungsglied oder Prozess-Simulationsblock verwenden.

Die Anweisung Filter_PT1 ist mit S7-1500 CPU ab Firmware 2.0 und S7-1200 CPU ab Firmware 4.2 einsetzbar.

Weitere Informationen Beschreibung Filter_PT1 (Seite 574)

Arbeitsweise Filter_PT1 (Seite 581)

Eingangsparameter Filter_PT1 (Seite 583)

Ausgangsparameter Filter_PT1 (Seite 583)

Statische Variablen Filter_PT1 (Seite 584)

Parameter ErrorBits (Seite 585)

Page 262: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Hilfsfunktionen 8.5 Filter_PT2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 261

8.5 Filter_PT2

Filter_PT1 Die Anweisung Filter_PT2 ist ein proportionales Übertragungsglied mit einer Verzögerung zweiter Ordnung. Sie können Filter_PT2 als Tiefpassfilter, Verzögerungsglied oder Prozess-Simulationsblock verwenden.

Die Anweisung Filter_PT2 ist mit S7-1500 CPU ab Firmware 2.0 und S7-1200 CPU ab Firmware 4.2 einsetzbar.

Weitere Informationen Beschreibung Filter_PT2 (Seite 590)

Arbeitsweise Filter_PT2 (Seite 598)

Eingangsparameter Filter_PT2 (Seite 599)

Ausgangsparameter Filter_PT2 (Seite 600)

Statische Variablen Filter_PT2 (Seite 600)

Parameter ErrorBits (Seite 601)

8.6 Filter_DT1

Filter_PT1 Die Anweisung Filter_DT1 ist ein Differenzierglied mit einer Verzögerung erster Ordnung. Sie können Filter_DT1 als Hochpassfilter, Differenzierglied oder Störgrößenaufschaltung verwenden.

Die Anweisung Filter_DT1 ist mit S7-1500 CPU ab Firmware 2.0 und S7-1200 CPU ab Firmware 4.2 einsetzbar.

Weitere Informationen Beschreibung Filter_DT1 (Seite 606)

Arbeitsweise Filter_DT1 (Seite 614)

Eingangsparameter Filter_DT1 (Seite 616)

Ausgangsparameter Filter_DT1 (Seite 616)

Statische Variablen Filter_DT2 (Seite 617)

Parameter ErrorBits (Seite 618)

Page 263: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID-Regelung 262 Funktionshandbuch, 11/2019, A5E35300226-AE

Anweisungen 9 9.1 PID_Compact

9.1.1 Neuerungen PID_Compact

PID_Compact V2.4 ● Initialisierung des Integral-Anteils

PID_Compact initialisiert den Integral-Anteil nun korrekt, wenn Sie OverwriteInitialOutputValue zusammen mit invertiertem Regelsinn verwenden.

Falls Sie bisher OverwriteInitialOutputValue zusammen mit invertiertem Regelsinn verwenden, beachten Sie, dass sich mit PID_Compact V2.4 das Vorzeichen des Ausgangswerts ändert.

PID_Compact V2.3 ● Reaktion des Ausgangswerts beim Wechsel von der Betriebsart "Inaktiv" in

"Automatikbetrieb"

Die neue Option IntegralResetMode = 4 wurde hinzugefügt und als Vorbelegung festgelegt. Mit IntegralResetMode = 4 wird der I-Anteil, beim Wechsel von der Betriebsart "Inaktiv" in "Automatikbetrieb", automatisch so vorbelegt, dass eine Regeldifferenz zu einem Sprung des Ausgangswerts mit identischem Vorzeichen führt.

● Initialisierung des Integral-Anteils im Automatikbetrieb

Der Integral-Anteil kann im Automatikbetrieb mithilfe der Variablen OverwriteInitialOutputValue und PIDCtrl.PIDInit initialisiert werden. Dies vereinfacht den Einsatz von PID_Compact für Ablöseregelungen.

PID_Compact V2.2 ● Einsatz mit S7-1200

Ab PID_Compact V2.2 ist die Anweisung mit V2-Funktionalität auch auf einer S7-1200 ab der Firmware-Version 4.0 einsetzbar.

Page 264: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 263

PID_Compact V2.0 ● Verhalten im Fehlerfall

Das Verhalten im Fehlerfall wurde grundlegend überarbeitet. PID_Compact verhält sich in der Default-Einstellung Fehler toleranter. Dieses Verhalten wird beim Kopieren von PID_Compact V1.X von einer S7-1200 CPU auf eine S7-1500 CPU eingestellt.

ACHTUNG

Ihre Anlage kann beschädigt werden.

Wenn Sie die Default-Einstellung verwenden, bleibt PID_Compact beim Überschreiten der Istwertgrenzen im Automatikbetrieb. Dadurch kann Ihre Anlage beschädigt werden.

Konfigurieren Sie für Ihre Regelstrecke ein Verhalten im Fehlerfall, das Ihre Anlage vor Beschädigung schützt.

Der Parameter Error zeigt, ob aktuell ein Fehler ansteht. Wenn der Fehler nicht mehr ansteht, wird Error = FALSE. Der Parameter ErrorBits zeigt, welche Fehler aufgetreten sind. Mit ErrorAck quittieren Sie die Fehler und Warnungen, ohne den Regler neu zu starten oder den I-Anteil zu löschen. Durch einen Wechsel der Betriebsart werden nicht mehr anstehende Fehler nicht mehr gelöscht.

Sie konfigurieren das Verhalten im Fehlerfall mit SetSubstituteOutput und ActivateRecoverMode.

● Ersatzausgangswert

Sie können einen Ersatzausgangswert konfigurieren, der im Fehlerfall ausgegeben wird.

● Wechsel der Betriebsarten

Die Betriebsart geben Sie am Durchgangsparameter Mode vor und starten diese über eine steigende Flanke an ModeActivate. Die Variable sRet.i_Mode ist entfallen.

● Multiinstanzfähigkeit

Sie können PID_Compact als Multiinstanz-DB aufrufen. Dann wird kein Technologieobjekt angelegt und es steht Ihnen keine Parametrier- und Inbetriebnahmeoberfläche zur Verfügung. Sie müssen PID_Compact direkt im Multiinstanz-DB parametrieren und über eine Beobachtungstabelle in Betrieb nehmen.

● Anlaufverhalten

Die an Mode vorgegebene Betriebsart wird auch gestartet bei einer fallenden Flanke an Reset und bei Kaltstart der CPU, wenn RunModeByStartup = TRUE ist.

● ENO-Verhalten

ENO wird in Abhängigkeit von der Betriebsart gesetzt.

Wenn State = 0 ist, dann ist ENO = FALSE.

Wenn State ≠ 0 ist, dann ist ENO = TRUE.

● Sollwertvorgabe während der Optimierung

Die erlaubte Schwankung des Sollwerts während der Optimierung konfigurieren Sie an der Variable CancelTuningLevel.

Page 265: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 264 Funktionshandbuch, 11/2019, A5E35300226-AE

● Wertebereich für Ausgangswertgrenzen

Der Wert 0.0 muss nicht mehr innerhalb der Ausgangswertgrenzen liegen.

● I-Anteil vorbelegen

Mit den Variablen IntegralResetMode und OverwriteInitialOutputValue bestimmen Sie, wie der I-Anteil beim Wechsel von der Betriebsart "Inaktiv" in "Automatikbetrieb" vorbelegt wird.

● Aufschalten einer Störgröße

Sie können am Parameter Disturbance eine Störgröße aufschalten.

● Vorbelegung der PID-Parameter

Folgende Vorbelegungen wurden geändert:

– Gewichtung des P-Anteils (PWeighting) von 0.0 auf 1.0

– Gewichtung des D-Anteils (DWeighting) von 0.0 auf 1.0

– Koeffizient für den Differenzierverzug (TdFiltRatio) von 0.0 auf 0.2

● Umbenennung der Variablen

Die statischen Variablen wurden kompatibel zu PID_3Step neu benannt.

PID_Compact V1.2 ● Handbetrieb beim Anlauf der CPU

Wenn beim Start der CPU ManualEnable = TRUE, startet PID_Compact im Handbetrieb. Eine steigende Flanke an ManualEnable ist nicht notwendig.

● Erstoptimierung

Wenn die CPU während der Erstoptimierung ausgeschaltet wird, wird die Erstoptimierung beim Einschalten der CPU erneut gestartet.

PID_Compact V1.1 ● Handbetrieb beim Anlauf der CPU

Beim Start der CPU schaltet PID_Compact nur bei einer steigenden Flanke an ManualEnable in den Handbetrieb. Ohne steigende Flanke startet PID_Compact in der letzten Betriebsart bei der ManualEnable FALSE war.

● Verhalten bei Reset

Durch eine steigende Flanke an Reset werden Fehler und Warnungen zurückgesetzt und der I-Anteil gelöscht. Durch eine fallende Flanke an Reset wird in die zuletzt aktive Betriebsart gewechselt.

● Vorbelegung der Obergrenze Istwert

Die Vorbelegung von r_Pv_Hlm wurde zu 120.0 geändert.

Page 266: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 265

● Überwachung der Abtastzeit

– Es wird kein Fehler mehr ausgegeben, wenn aktuelle Abtastzeit ≥ 1,5 x aktueller Mittelwert oder Aktuelle Abtastzeit ≤ 0,5 x aktueller Mittelwert. Im Automatikbetrieb darf die Abtastzeit stärker abweichen.

– PID_Compact ist kompatibel mit FW ab V2.0.

● Zugriff auf Variablen

Die folgenden Variablen können jetzt im Anwenderprogramm verwendet werden.

– i_Event_SUT

– i_Event_TIR

– r_Ctrl_Ioutv

● Fehlerbehebung

PID_Compact gibt jetzt korrekte Impulse aus, wenn die kleinste Einschaltzeit ungleich der kleinsten Ausschaltzeit ist.

Page 267: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 266 Funktionshandbuch, 11/2019, A5E35300226-AE

9.1.2 Kompatibilität mit CPU und FW Die folgende Tabelle zeigt, auf welcher CPU Sie welche Version von PID_Compact einsetzen können. CPU FW PID_Compact S7-1200 ab V4.2 V2.3

V2.2 V1.2

V4.0 bis V4.1 V2.2 V1.2

V3.x V1.2 V1.1

V2.x V1.2 V1.1

V1.x V1.0 S7-1500 ab V2.5 V2.4

V2.3 V2.2 V2.1 V2.0

V2.0 und V2.1 V2.3 V2.2 V2.1 V2.0

V1.5 bis V1.8 V2.2 V2.1 V2.0

V1.1 V2.1 V2.0

V1.0 V2.0

Page 268: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 267

9.1.3 CPU-Bearbeitungszeit und Speicherbedarf PID_Compact V2.x

CPU-Bearbeitungszeit Typische CPU-Bearbeitungszeiten des Technologieobjekts PID_Compact ab der Version V2.0 in Abhängigkeit vom CPU-Typ. CPU typ. CPU-Bearbeitungszeit PID_Compact V2.x CPU 1211C ≥ V4.0 300 µs CPU 1215C ≥ V4.0 300 µs CPU 1217C ≥ V4.0 300 µs CPU 1505S ≥ V1.0 45 µs CPU 1510SP-1 PN ≥ V1.6 85 µs CPU 1511-1 PN ≥ V1.5 85 µs CPU 1512SP-1 PN ≥ V1.6 85 µs CPU 1516-3 PN/DP ≥ V1.5 50 µs CPU 1518-4 PN/DP ≥ V1.5 4 µs

Speicherbedarf Speicherbedarf eines Instanz-DB des Technologieobjekts PID_Compact ab der Version V2.0. Speicherbedarf Speicherbedarf des Instanz-DB von

PID_Compact V2.x Ladespeicherbedarf ca. 12000 Bytes Gesamter Arbeitsspeicherbedarf 788 Bytes Remanenter Arbeitsspeicherbedarf 44 Bytes

Page 269: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 268 Funktionshandbuch, 11/2019, A5E35300226-AE

9.1.4 PID_Compact V2

9.1.4.1 Beschreibung PID_Compact V2

Beschreibung Die Anweisung PID_Compact stellt einen PID-Regler mit integrierter Optimierung für proportional wirkende Stellglieder zur Verfügung.

Folgende Betriebsarten sind möglich:

● Inaktiv

● Erstoptimierung

● Nachoptimierung

● Automatikbetrieb

● Handbetrieb

● Ersatzausgangswert mit Fehlerüberwachung

Die Betriebsarten sind detailliert beschrieben beim Parameter State.

PID-Algorithmus PID_Compact ist ein PIDT1-Regler mit Anti-Windup und Gewichtung des P- und D-Anteils. Der PID-Algorithmus arbeitet nach folgender Formel:

Symbol Beschreibung y Ausgangswert des PID-Algorithmus Kp Proportionalverstärkung s Laplace-Operator b Gewichtung des P-Anteils w Sollwert x Istwert TI Integrationszeit TD Differenzierzeit a Koeffizient für den Differenzierverzug (Differenzierverzug T1 = a × TD) c Gewichtung des D-Anteils

Page 270: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 269

Blockschaltbild PID_Compact

Blockschaltbild PIDT1 mit Anti-Windup

Page 271: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 270 Funktionshandbuch, 11/2019, A5E35300226-AE

Aufruf PID_Compact wird im konstanten Zeitraster eines Weckalarm-OBs aufgerufen.

Wenn Sie PID_Compact als Multiinstanz-DB aufrufen, wird kein Technologieobjekt angelegt. Es steht Ihnen keine Parametrier- und Inbetriebnahmeoberfläche zur Verfügung. Sie müssen PID_Compact direkt im Multiinstanz-DB parametrieren und über eine Beobachtungstabelle in Betrieb nehmen.

Laden in Gerät Die Aktualwerte remanenter Variablen werden nur aktualisiert, wenn Sie PID_Compact vollständig laden.

Technologieobjekte in Gerät laden (Seite 47)

Anlauf Bei Anlauf der CPU startet PID_Compact in der Betriebsart, die am Durchgangsparameter Mode gespeichert ist. Um beim Anlauf in die Betriebsart "Inaktiv" zu wechseln, setzen Sie RunModeByStartup = FALSE.

Verhalten im Fehlerfall Im Automatikbetrieb und während der Inbetriebnahme hängt das Verhalten im Fehlerfall von den Variablen SetSubstituteOutput und ActivateRecoverMode ab. Im Handbetrieb ist das Verhalten unabhängig von SetSubstituteOutput und ActivateRecoverMode. Wenn ActivateRecoverMode = TRUE ist, hängt das Verhalten zusätzlich vom aufgetretenen Fehler ab.

SetSubstitute-Output

Activa-teRecover-Mode

Konfigurationseditor > Ausgangswert > Output setzen auf

Verhalten

nicht relevant FALSE Null (Inaktiv) Wechsel in Betriebsart "Inaktiv" (State = 0) Der Wert 0.0 0 wird an das Stellglied übertragen.

FALSE TRUE Aktuellen Ausgangswert für die Fehlerdauer

Wechsel in Betriebsart "Ersatzausgangswert mit Fehlerüberwachung" (State = 5) Der aktuelle Ausgangswert wird für die Fehler-dauer an das Stellglied übertragen.

TRUE TRUE Ersatzausgangswert für die Fehler-dauer

Wechsel in Betriebsart "Ersatzausgangswert mit Fehlerüberwachung" (State = 5) Der Wert an SubstituteOutput wird für die Fehler-dauer an das Stellglied übertragen.

PID_Compact verwendet im Handbetrieb ManualValue als Ausgangswert, außer ManualValue ist ungültig. Wenn ManualValue ungültig ist, wird SubstituteOutput verwendet. Wenn ManualValue und SubstituteOutput ungültig sind, wird Config.OutputLowerLimit verwendet.

Der Parameter Error zeigt, ob aktuell ein Fehler ansteht. Wenn der Fehler nicht mehr ansteht, wird Error = FALSE. Der Parameter ErrorBits zeigt, welche Fehler aufgetreten sind. ErrorBits wird durch eine steigende Flanke an Reset oder ErrorAck zurückgesetzt.

Page 272: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 271

9.1.4.2 Arbeitsweise PID_Compact V2

Istwertgrenzen überwachen In den Variablen Config.InputUpperLimit und Config.InputLowerLimit legen Sie eine Ober- und Untergrenze des Istwerts fest. Wenn der Istwert außerhalb dieser Grenzen liegt, tritt ein Fehler auf (ErrorBits = 0001h).

In den Variablen Config.InputUpperWarning und Config.InputLowerWarning legen Sie eine obere und untere Warngrenze des Istwerts fest. Wenn der Istwert außerhalb dieser Warngrenzen liegt, tritt eine Warnung auf (Warning = 0040h) und der Ausgangsparameter InputWarning_H oder InputWarning_L wird TRUE.

Sollwert begrenzen In den Variablen Config.SetpointUpperLimit und Config.SetpointLowerLimit legen Sie eine Ober- und Untergrenze des Sollwerts fest. PID_Compact begrenzt den Sollwert automatisch auf die Istwertgrenzen. Sie können den Sollwert auf einen kleineren Bereich begrenzen. PID_Compact prüft, ob dieser Bereich innerhalb der Istwertgrenzen liegt. Wenn der Sollwert außerhalb dieser Grenzen liegt, wird die Ober- oder Untergrenze als Sollwert verwendet und der Ausgangsparameter SetpointLimit_H oder SetpointLimit_L wird TRUE.

Der Sollwert wird in allen Betriebsarten begrenzt.

Ausgangswert begrenzen In den Variablen Config.OutputUpperLimit und Config.OutputLowerLimit legen Sie eine Ober- und Untergrenze des Ausgangswerts fest. Output, ManualValue und SubstituteOutput werden auf diese Werte begrenzt. Die Ausgangswertgrenzen müssen zum Regelsinn passen.

Die gültigen Werte für die Ausgangswertgrenzen hängen vom verwendeten Output ab. Output -100.0 bis 100.0 % Output_PER -100.0 bis 100.0 % Output_PWM 0.0 bis 100.0 %

Es muss gelten:

OutputUpperLimit > OutputLowerLimit

Hinweis Einsatz mit zwei oder mehr Stellgliedern

PID_Compact ist nicht für den Einsatz mit zwei oder mehr Stellgliedern (z. B. in Heizen-/Kühlen-Anwendungen) geeignet, da unterschiedliche Stellglieder auch unterschiedliche PID-Parameter benötigen, um ein gutes Regelverhalten zu erzielen. Verwenden Sie für Anwendungen mit zwei entgegengesetzt wirkenden Stellgliedern PID_Temp.

Page 273: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 272 Funktionshandbuch, 11/2019, A5E35300226-AE

Ersatzausgangswert PID_Compact kann im Fehlerfall einen Ersatzausgangswert ausgeben, den Sie an der Variablen SubstituteOutput vorgeben. Der Ersatzausgangswert muss innerhalb der Ausgangswertgrenzen liegen.

Gültigkeit der Signale überwachen Die Werte der folgenden Parameter werden bei Verwendung auf Gültigkeit überwacht:

● Setpoint

● Input

● Input_PER

● Disturbance

● ManualValue

● SubstituteOutput

● Output

● Output_PER

● Output_PWM

Überwachung der Abtastzeit PID_Compact Die Abtastzeit entspricht im Idealfall der Zykluszeit des aufrufenden OB. Die Anweisung PID_Compact misst jeweils den Zeitabstand zwischen zwei Aufrufen. Das ist die aktuelle Abtastzeit. Bei jedem Wechsel der Betriebsart und bei Erstanlauf wird der Mittelwert der ersten 10 Abtastzeiten gebildet. Wenn die aktuelle Abtastzeit zu stark von diesem Mittelwert abweicht, tritt ein Fehler auf (Error = 0800h).

Während der Optimierung tritt der Fehler auf, wenn gilt:

● Neuer Mittelwert >= 1,1 x alter Mittelwert

● Neuer Mittelwert <= 0,9 x alter Mittelwert

Im Automatikbetrieb tritt der Fehler auf, wenn gilt:

● Neuer Mittelwert >= 1,5 x alter Mittelwert

● Neuer Mittelwert <= 0,5 x alter Mittelwert

Wenn Sie die Überwachung der Abtastzeit ausschalten (CycleTime.EnMonitoring = FALSE), können Sie PID_Compact auch im OB1 aufrufen. Sie müssen dann aufgrund der schwankenden Abtastzeit eine schlechtere Regelqualität akzeptieren.

Page 274: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 273

Abtastzeit des PID-Algorithmus Da die Regelstrecke eine gewisse Zeit benötigt, um auf eine Änderung des Ausgangswerts zu reagieren, ist es sinnvoll, den Ausgangswert nicht in jedem Zyklus zu berechnen. Die Abtastzeit PID-Algorithmus ist die Zeit zwischen zwei Ausgangswertberechnungen. Sie wird während der Optimierung ermittelt und auf ein Vielfaches der Zykluszeit gerundet. Alle anderen Funktionen von PID_Compact werden bei jedem Aufruf durchgeführt.

Wenn Sie Output_PWM verwenden, wird die Abtastzeit des PID-Algorithmus als Periodendauer der Pulsweitenmodulation verwendet. Die Genauigkeit des Ausgangssignals wird bestimmt durch das Verhältnis von Abtastzeit des PID-Algorithmus zu Zykluszeit des OB. Deshalb ist empfohlen, dass die Zykluszeit höchstens ein Zehntel der Abtastzeit des PID-Algorithmus beträgt.

Regelsinn Meist soll mit einer Erhöhung des Ausgangswerts eine Erhöhung des Istwerts erreicht werden. In diesem Fall spricht man von einem normalen Regelsinn. Für Kühlungen und Abflussregelungen kann es notwendig sein, den Regelsinn zu invertieren. PID_Compact arbeitet nicht mit negativer Proportionalverstärkung. Wenn InvertControl = TRUE, bewirkt eine steigende Regeldifferenz eine Verringerung des Ausgangswerts. Der Regelsinn wird auch während Erst- und Nachoptimierung berücksichtigt.

Page 275: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 274 Funktionshandbuch, 11/2019, A5E35300226-AE

9.1.4.3 Eingangsparameter PID_Compact V2

Parameter Datentyp Vorbelegung Beschreibung Setpoint REAL 0.0 Sollwert des PID-Reglers im Automatikbetrieb Input REAL 0.0 Eine Variable des Anwenderprogramms wird als Quel-

le des Istwerts verwendet. Wenn Sie den Parameter Input verwenden, muss Config.InputPerOn = FALSE sein.

Input_PER INT 0 Ein Analogeingang wird als Quelle des Istwerts ver-wendet. Wenn Sie den Parameter Input_PER verwenden, muss Config.InputPerOn = TRUE sein.

Disturbance REAL 0.0 Störgröße oder Vorsteuerungswert ManualEnable BOOL FALSE • Flanke FALSE -> TRUE aktiviert die Betriebsart

"Handbetrieb", State = 4, Mode bleibt unverändert.

Solange ManualEnable = TRUE ist, können Sie die Betriebsart nicht über eine steigende Flanke an ModeActivate ändern und den Inbetriebnahme-dialog nicht nutzen.

• Flanke TRUE -> FALSE aktiviert die Betriebsart, die durch Mode vorgegeben wird.

Es wird empfohlen, die Betriebsart nur über ModeAc-tivate zu ändern.

ManualValue REAL 0.0 Handwert Dieser Wert wird im Handbetrieb als Ausgangswert verwendet. Zulässig sind Werte von Config.OutputLowerLimit bis Config.OutputUpperLimit

ErrorAck BOOL FALSE • Flanke FALSE -> TRUE

ErrorBits und Warning werden zurückgesetzt.

Page 276: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 275

Parameter Datentyp Vorbelegung Beschreibung Reset BOOL FALSE Führt einen Neustart des Reglers durch.

• Flanke FALSE -> TRUE – Wechsel in Betriebsart "Inaktiv" – ErrorBits und Warnings werden zurückgesetzt.

• Solange Reset = TRUE ist, – bleibt PID_Compact in der Betriebsart "Inaktiv"

(State = 0). – können Sie die Betriebsart nicht über Mode

und ModeActivate oder ManualEnable ändern. – können Sie den Inbetriebnahmedialog nicht

nutzen. • Flanke TRUE -> FALSE

– Falls ManualEnable = FALSE, wechselt PID_Compact in die Betriebsart, die an Mode gespeichert ist.

– Falls Mode = 3, wird der I-Anteil behandelt wie durch die Variable IntegralResetMode konfigu-riert.

ModeActivate BOOL FALSE • Flanke FALSE -> TRUE

PID_Compact wechselt in die Betriebsart, die an Mode gespeichert ist.

Page 277: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 276 Funktionshandbuch, 11/2019, A5E35300226-AE

9.1.4.4 Ausgangsparameter PID_Compact V2

Parameter Datentyp Vorbelegung Beschreibung ScaledInput REAL 0.0 Skalierter Istwert Die Ausgänge "Output", "Output_PER" und "Output_PWM" können parallel genutzt werden. Output REAL 0.0 Ausgangswert im REAL-Format Output_PER INT 0 Analoger Ausgangswert Output_PWM BOOL FALSE Pulsweitenmodulierter Ausgangswert

Der Ausgangswert wird über variable Ein- und Ausschalt-zeiten gebildet.

SetpointLimit_H BOOL FALSE Wenn SetpointLimit_H = TRUE, ist die absolute Obergren-ze des Sollwerts erreicht (Set-point ≥ Config.SetpointUpperLimit). Der Sollwert wird auf Config.SetpointUpperLimit begrenzt.

SetpointLimit_L BOOL FALSE Wenn SetpointLimit_L = TRUE, ist die absolute Untergren-ze des Sollwerts erreicht (Setpoint ≤ Con-fig.SetpointLowerLimit). Der Sollwert wird auf Config.SetpointLowerLimit begrenzt.

InputWarning_H BOOL FALSE Wenn InputWarning_H = TRUE, ist die obere Warngrenze des Istwerts erreicht oder überschritten.

InputWarning_L BOOL FALSE Wenn InputWarning_L = TRUE, ist die untere Warngrenze des Istwerts erreicht oder unterschritten.

State INT 0 Der Parameter State (Seite 289) zeigt die aktuelle Be-triebsart des PID-Reglers. Sie ändern die Betriebsart mit dem Eingangsparameter Mode und einer steigenden Flan-ke an ModeActivate. • State = 0: Inaktiv • State = 1: Erstoptimierung • State = 2: Nachoptimierung • State = 3: Automatikbetrieb • State = 4: Handbetrieb • State = 5: Ersatzausgangswert mit Fehlerüberwachung

Error BOOL FALSE Wenn Error = TRUE, liegt in diesem Takt mindestens eine Fehlermeldungen vor.

ErrorBits DWORD DW#16#0 Der Parameter ErrorBits (Seite 293) zeigt, welche Fehler-meldungen vorliegen. ErrorBits ist remanent und wird bei einer steigenden Flanke an Reset oder ErrorAck zurück-gesetzt.

Page 278: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 277

9.1.4.5 Durchgangsparameter PID_Compact V2

Parameter Datentyp Vorbelegung Beschreibung Mode INT 4 An Mode geben Sie die Betriebsart vor, in

die PID_Compact wechseln soll. Möglich sind: • Mode = 0: Inaktiv • Mode = 1: Erstoptimierung • Mode = 2: Nachoptimierung • Mode = 3: Automatikbetrieb • Mode = 4: Handbetrieb Die Betriebsart wird aktiviert durch: • Steigende Flanke an ModeActivate • Fallende Flanke an Reset • Fallende Flanke an ManualEnable • Kaltstart der CPU, wenn RunModeBy-

Startup = TRUE Mode ist remanent. Eine detaillierte Beschreibung der Betriebs-arten finden Sie unter Parameter State und Mode V2 (Seite 289) .

Siehe auch Parameter State und Mode V2 (Seite 289)

Page 279: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 278 Funktionshandbuch, 11/2019, A5E35300226-AE

9.1.4.6 Statische Variablen PID_Compact V2

Hinweis

Ändern Sie die mit (1) gekennzeichneten Variablen nur in der Betriebsart "Inaktiv", um ein Fehlverhalten des PID-Reglers zu vermeiden.

Variable Datentyp Vorbelegung Beschreibung IntegralResetMode INT bis V2.2: 1,

ab V2.3: 4 Die Variable IntegralResetMode V2 (Seite 298) be-stimmt, wie der I-Anteil PIDCtrl.IntegralSum beim Wechsel von der Betriebsart "Inaktiv" in "Automatikbe-trieb" vorbelegt wird. Diese Einstellung wirkt nur für einen Zyklus. Möglich sind: • IntegralResetMode = 0: Glätten • IntegralResetMode = 1: Löschen • IntegralResetMode = 2: Halten • IntegralResetMode = 3: Vorbelegen • IntegralResetMode = 4: Wie Sollwertänderung (nur

für PID_Compact mit Version ≥ 2.3)

OverwriteInitialOutputValue REAL 0.0 Falls eine der folgenden Bedingungen erfüllt ist, wird der Integral-Anteil PIDCtrl.IntegralSum automatisch so vorbelegt, als ob im vorherigen Zyklus Output = OverwriteInitialOutputValue gewesen wäre: • IntegralResetMode = 3 beim Wechsel von Be-

triebsart "Inaktiv" in "Automatikbetrieb • Flanke TRUE -> FALSE an Parameter Reset und

Parameter Mode = 3 • PIDCtrl.PIDInit = TRUE im “Automatikbetrieb” (ab

PID_Compact Version 2.3 verfügbar)

RunModeByStartup BOOL TRUE Nach CPU Neustart Betriebsart an Mode aktivieren Wenn RunModeByStartup = TRUE, startet PID_Compact nach CPU-Anlauf in der Betriebsart, die an Mode gespeichert ist. Wenn RunModeByStartup = FALSE, bleibt PID_Compact nach CPU-Anlauf in der Betriebsart "Inaktiv".

LoadBackUp BOOL FALSE Wenn LoadBackUp = TRUE, wird der letzte Satz PID-Parameter wieder geladen. Der Satz wurde vor der letzten Optimierung gespeichert. LoadBackUp wird automatisch wieder auf FALSE gesetzt.

PhysicalUnit INT 0 Physikalische Einheit des Ist- und Sollwerts, z. B. ºC oder ºF.

PhysicalQuantity INT 0 Physikalische Größe des Ist- und Sollwerts, z. B. Temperatur.

Page 280: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 279

Variable Datentyp Vorbelegung Beschreibung ActivateRecoverMode BOOL TRUE Die Variable ActivateRecoverMode V2 (Seite 295)

bestimmt das Verhalten im Fehlerfall. Warning DWORD 0 Die Variable Warning V2 (Seite 297) zeigt die War-

nungen seit Reset = TRUE oder ErrorAck =TRUE. Warning ist remanent.

Progress REAL 0.0 Fortschritt der Optimierung in Prozent (0.0 - 100.0) CurrentSetpoint REAL 0.0 CurrentSetpoint zeigt immer den aktuellen Sollwert an.

Dieser Wert wird während der Optimierung eingefro-ren.

CancelTuningLevel REAL 10.0 Zulässige Schwankung des Sollwerts während der Optimierung. Die Optimierung wird erst abgebrochen, wenn gilt: • Setpoint > CurrentSetpoint + CancelTuningLevel

oder • Setpoint < CurrentSetpoint - CancelTuningLevel

SubstituteOutput REAL 0.0 Ersatzausgangswert Wenn die folgenden Bedingungen erfüllt sind, wird der Ersatzausgangswert verwendet: • Im Automatikbetrieb ist ein Fehler aufgetreten. • SetSubstituteOutput = TRUE • ActivateRecoverMode = TRUE

SetSubstituteOutput BOOL TRUE Wenn SetSubstituteOutput = TRUE und Activa-teRecoverMode = TRUE sind, wird der konfigurierte Ersatzausgangswert ausgegeben, solange ein Fehler ansteht. Wenn SetSubstituteOutput = FALSE und Activa-teRecoverMode = TRUE sind, bleibt das Stellglied auf dem aktuellen Ausgangswert, solange ein Fehler an-steht. Wenn ActivateRecoverMode = FALSE ist, wirkt sich SetSubstituteOutput nicht aus. Wenn SubstituteOutput ungültig ist (ErrorBits = 20000h), kann der Ersatzausgangswert nicht ausge-geben werden.

Config.InputPerOn(1) BOOL TRUE Wenn InputPerOn = TRUE, wird der Parameter In-put_PER verwendet. Wenn InputPerOn = FALSE, wird der Parameter Input verwendet.

Config.InvertControl(1) BOOL FALSE Invertieren des Regelsinns Wenn InvertControl = TRUE, bewirkt eine steigende Regeldifferenz eine Verringerung des Ausgangswerts.

Page 281: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 280 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Datentyp Vorbelegung Beschreibung Config.InputUpperLimit(1) REAL 120.0 Obergrenze des Istwert

Input und Input_PER werden auf die Einhaltung dieser Grenze überwacht. Am Peripherie-Eingang kann der Istwert maximal 18 % über dem Normbereich (Übersteuerungsbereich) lie-gen. Wegen einer Überschreitung der "Obergrenze Istwert" wird mit der Voreinstellung kein Fehler mehr gemeldet. Nur Drahtbruch und Kurzschluss werden erkannt und PID_Compact verhält sich wie unter Ver-halten im Fehlerfall konfiguriert. InputUpperLimit > InputLowerLimit

Config.InputLowerLimit(1) REAL 0.0 Untergrenze des Istwerts Input und Input_PER werden auf die Einhaltung dieser Grenze überwacht. InputLowerLimit < InputUpperLimit

Config.InputUpperWarning(1) REAL 3.402822e+38 Obere Warngrenze des Istwerts Wenn Sie InputUpperWarning außerhalb der Istwert-grenzen konfigurieren, wird die konfigurierte absolute Obergrenze Istwert als obere Warngrenze verwendet. Wenn Sie InputUpperWarning innerhalb der Istwert-grenzen konfigurieren, wird dieser Wert als Obere Warngrenze verwendet. InputUpperWarning > InputLowerWarning InputUpperWarning ≤ InputUpperLimit

Config.InputLowerWarning(1) REAL -3.402822e+38

Untere Warngrenze des Istwerts Wenn Sie InputLowerWarning außerhalb der Istwert-grenzen konfigurieren, wird die konfigurierte absolute Untergrenze Istwert als untere Warngrenze verwendet. Wenn Sie InputLowerWarning innerhalb der Istwert-grenzen konfigurieren, wird dieser Wert als Untere Warngrenze verwendet. InputLowerWarning < InputUpperWarning InputLowerWarning ≥ InputLowerLimit

Config.OutputUpperLimit(1) REAL 100.0 Obergrenze des Ausgangswerts Details siehe OutputLowerLimit OutputUpperLimit > OutputLowerLimit

Config.OutputLowerLimit(1) REAL 0.0 Untergrenze des Ausgangswerts Für Output und Output_PER gilt der Wertebereich von -100.0 bis +100.0 einschließlich Null. Bei -100.0 be-trägt Output_PER = -27648; bei +100.0 beträgt Out-put_PER = 27648. Für Output_PWM gilt der Wertebereich 0.0 bis +100.0. Die Ausgangswertgrenzen müssen zum Regelsinn passen. OutputLowerLimit < OutputUpperLimit

Page 282: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 281

Variable Datentyp Vorbelegung Beschreibung Config.SetpointUpperLimit(1) REAL 3.402822e+38 Obergrenze des Sollwerts

Wenn Sie SetpointUpperLimit außerhalb der Istwert-grenzen konfigurieren, wird die konfigurierte absolute Istwertobergrenze als Obergrenze Sollwert verwendet. Wenn Sie SetpointUpperLimit innerhalb der Istwert-grenzen konfigurieren, wird dieser Wert als Obergren-ze Sollwert verwendet.

Config.SetpointLowerLimit(1) REAL -3.402822e+38

Untergrenze des Sollwerts Wenn Sie SetpointLowerLimit außerhalb der Istwert-grenzen konfigurieren, wird die konfigurierte absolute Istwertuntergrenze als Untergrenze Sollwert verwen-det. Wenn Sie SetpointLowerLimit innerhalb der Istwert-grenzen konfigurieren, wird dieser Wert als Untergren-ze Sollwert verwendet.

Config.MinimumOnTime(1) REAL 0.0 Minimale Einschaltzeit der Pulsweitenmodulation in Sekunden wird gerundet auf MinimumOnTime = n×CycleTime.Value

Config.MinimumOffTime(1) REAL 0.0 Minimale Ausschaltzeit der Pulsweitenmodulation in Sekunden wird gerundet auf MinimumOffTime = n×CycleTime.Value

Config.InputScaling.UpperPointIn(1) REAL 27648.0 Skalierung Input_PER Oben Anhand der zwei Wertepaare UpperPointOut, Upper-PointIn und LowerPointOut, LowerPointIn wird In-put_PER in Prozent umgerechnet.

Config.InputScaling.LowerPointIn(1) REAL 0.0 Skalierung Input_PER Unten Anhand der zwei Wertepaare UpperPointOut, Upper-PointIn und LowerPointOut, LowerPointIn wird In-put_PER in Prozent umgerechnet.

Config.InputScaling.UpperPointOut(1) REAL 100.0 Skalierter oberer Istwert Anhand der zwei Wertepaare UpperPointOut, Upper-PointIn und LowerPointOut, LowerPointIn wird In-put_PER in Prozent umgerechnet.

Config.InputScaling.LowerPointOut(1) REAL 0.0 Skalierter unterer Istwert Anhand der zwei Wertepaare UpperPointOut, Upper-PointIn und LowerPointOut, LowerPointIn wird In-put_PER in Prozent umgerechnet.

CycleTime.StartEstimation BOOL TRUE Wenn CycleTime.StartEstimation = TRUE, wird die automatische Ermittlung der Zykluszeit gestartet. Nach Abschluss der Messung wird CycleTi-me.StartEstimation = FALSE.

CycleTime.EnEstimation BOOL TRUE Wenn CycleTime.EnEstimation = TRUE, wird die Ab-tastzeit PID_Compact berechnet. Wenn CycleTime.EnEstimation = FALSE, wird die Abtastzeit PID_Compact nicht berechnet und Sie müs-sen CycleTime.Value manuell korrekt konfigurieren.

Page 283: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 282 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Datentyp Vorbelegung Beschreibung CycleTime.EnMonitoring BOOL TRUE Wenn CycleTime.EnMonitoring = FALSE, wird die

Abtastzeit PID_Compact nicht überwacht. Wenn PID_Compact nicht innerhalb der Abtastzeit ausge-führt werden kann, wird kein Fehler (ErrorBits=0800h) ausgegeben und PID_Compact wechselt nicht in die Betriebsart "Inaktiv".

CycleTime.Value(1) REAL 0.1 Abtastzeit PID_Compact in Sekunden CycleTime.Value wird automatisch ermittelt und ent-spricht normalerweise der Zykluszeit des aufrufenden OB.

CtrlParamsBackUp.Gain REAL 1.0 gespeicherte Proportionalverstärkung Werte aus der Struktur CtrlParamsBackUp können mit LoadBackUp = TRUE wieder geladen werden.

CtrlParamsBackUp.Ti REAL 20.0 gespeicherte Integrationszeit [s] CtrlParamsBackUp.Td REAL 0.0 gespeicherte Differenzierzeit [s] CtrlParamsBackUp.TdFiltRatio REAL 0.2 gespeicherter Koeffizient Differenzierverzug CtrlParamsBackUp.PWeighting REAL 1.0 gespeicherter Gewichtungsfaktor des P-Anteils CtrlParamsBackUp.DWeighting REAL 1.0 gespeicherter Gewichtungsfaktor des D-Anteils CtrlParamsBackUp.Cycle REAL 1.0 gespeicherte Abtastzeit PID-Algorithmus PIDSelfTune.SUT.CalculateParams BOOL FALSE Die Eigenschaften der Regelstrecke werden bei der

Optimierung gespeichert. Wenn SUT.CalculateParams = TRUE, werden anhand dieser Eigenschaften die Parameter für die Erstoptimierung neu berechnet. Dadurch kann die Methode für die Parameterberech-nung geändert werden, ohne die Optimierung zu wie-derholen. SUT.CalculateParams wird nach der Berechnung auf FALSE gesetzt.

PIDSelfTune.SUT.TuneRule INT 0 Parameter während Erstoptimierung berechnen nach Methode: • SUT.TuneRule = 0: PID nach Chien, Hrones und

Reswick • SUT.TuneRule = 1: PI nach Chien, Hrones und

Reswick

PIDSelfTune.SUT.State INT 0 Die Variable SUT.State zeigt die aktuelle Phase der Erstoptimierung: • State = 0: Erstoptimierung initialisieren • State = 100: Standardabweichung berechnen • State = 200: Wendepunkt ermitteln • State = 9900: Erstoptimierung erfolgreich • State = 1: Erstoptimierung nicht erfolgreich

Page 284: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 283

Variable Datentyp Vorbelegung Beschreibung PIDSelfTune.TIR.RunIn BOOL FALSE Mit der Variable RunIn können Sie festlegen, dass

eine Nachoptimierung auch ohne Erstoptimierung durchgeführt wird. • RunIn = FALSE

Wenn die Nachoptimierung aus der Betriebsart In-aktiv oder Handbetrieb gestartet wird, wird eine Er-stoptimierung gestartet. Wenn die Voraussetzungen für Erstoptimierung nicht erfüllt sind, verhält sich PID_Compact wie bei RunIn = TRUE.

Wenn die Nachoptimierung aus dem Automatikbe-trieb gestartet wird, wird mit den vorhandenen PID-Parametern auf den Sollwert geregelt.

Erst dann startet die Nachoptimierung. Ist die Er-stoptimierung nicht möglich, wechselt PID_Compact in die Betriebsart, aus der die Opti-mierung gestartet wurde.

• RunIn = TRUE

Die Erstoptimierung wird übersprungen. PID_Compact versucht den Sollwert mit minima-lem oder maximalen Ausgangswert zu erreichen. Das kann ein erhöhtes Überschwingen verursa-chen. Die Nachoptimierung startet anschließend automatisch.

RunIn wird nach der Nachoptimierung auf FALSE gesetzt.

PIDSelfTune.TIR.CalculateParams BOOL FALSE Die Eigenschaften der Regelstrecke werden bei der Optimierung gespeichert. Wenn TIR.CalculateParams = TRUE, werden anhand dieser Eigenschaften die Parameter für die Nachoptimierung neu berechnet. Dadurch kann die Methode für die Parameterberech-nung geändert werden, ohne die Optimierung zu wie-derholen. TIR.CalculateParams wird nach der Berechnung auf FALSE gesetzt.

Page 285: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 284 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Datentyp Vorbelegung Beschreibung PIDSelfTune.TIR.TuneRule INT 0 Parameter während Nachoptimierung berechnen nach

Methode: • TIR.TuneRule = 0: PID automatisch • TIR.TuneRule = 1: PID schnell (schnelleres Regel-

verhalten mit höheren Amplituden des Ausgangs-werts als mit TIR.TuneRule = 2)

• TIR.TuneRule = 2: PID langsam (langsameres Regelverhalten mit geringeren Amplituden des Ausgangswerts als mit TIR.TuneRule = 1)

• TIR.TuneRule = 3: Ziegler-Nichols PID • TIR.TuneRule = 4: Ziegler-Nichols PI • TIR.TuneRule = 5: Ziegler-Nichols P Um die Berechnung der PID-Parameter mit TIR.CalculateParams und TIR.TuneRule = 0,1 oder 2 wiederholen zu können, muss auch die vorhergehende Nachoptimierung mit TIR.TuneRule = 0,1 oder 2 aus-geführt worden sein. Ist dies nicht der Fall, wird TIR.TuneRule = 3 verwen-det. Die erneute Berechnung der PID-Parameter mit TIR.CalculateParams und TIR.TuneRule = 3, 4 oder 5 ist immer möglich.

PIDSelfTune.TIR.State INT 0 Die Variable TIR.State zeigt die aktuelle Phase der "Nachoptimierung": • State = -100 Die Nachoptimierung ist nicht mög-

lich. Es wird erst eine Erstoptimierung durchge-führt.

• State = 0: Nachoptimierung initialisieren • State = 200: Standardabweichung berechnen • State = 300: Versuchen Sollwert zu erreichen • State = 400: Versuchen Sollwert mit vorhandenen

PID-Parametern zu erreichen (wenn Erstoptimierung erfolgreich war)

• State = 500: Oszillation ermitteln und Parameter berechnen

• State = 9900: Nachoptimierung erfolgreich • State = 1: Nachoptimierung nicht erfolgreich

PIDCtrl.IntegralSum(1) REAL 0.0 Aktueller I-Anteil PIDCtrl.PIDInit BOOL FALSE PIDCtrl.PIDInit ist ab PID_Compact Version 2.3 ver-

fügbar. Falls im "Automatikbetrieb" PIDCtrl.PIDInit = TRUE, wird der Integral-Anteil PIDCtrl.IntegralSum automa-tisch so vorbelegt, als ob im vorherigen Zyklus Output = OverwriteInitialOutputValue gewesen wäre. Dies kann für eine Ablöseregelung mit PID_Compact V2 (Seite 100) genutzt werden.

Page 286: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 285

Variable Datentyp Vorbelegung Beschreibung Retain.CtrlParams.Gain(1) REAL 1.0 Aktive Proportionalverstärkung

Verwenden Sie zum Invertieren des Regelsinns die Variable Config.InvertControl. Negative Werte an Gain invertieren den Regelsinn ebenfalls. Es wird empfoh-len den Regelsinn nur über InvertControl einzustellen. Wenn InvertControl = TRUE und Gain < 0.0 sind, ist der Regelsinn auch invertiert. Gain ist remanent.

Retain.CtrlParams.Ti(1) REAL 20.0 • CtrlParams.Ti > 0.0: Aktive Integrationszeit • CtrlParams.Ti = 0.0: I-Anteil ist ausgeschaltet Ti ist remanent.

Retain.CtrlParams.Td(1) REAL 0.0 • CtrlParams.Td > 0.0: Aktive Differenzierzeit • CtrlParams.Td = 0.0: D-Anteil ist ausgeschaltet Td ist remanent.

Retain.CtrlParams.TdFiltRatio(1) REAL 0.2 Aktiver Koeffizient Differenzierverzug Die Wirkung des D-Anteils wird durch den Koeffizient Differenzierverzug verzögert. Differenzierverzug = Differenzierzeit × Koeffizient Differenzierverzug • 0.0: D-Anteil wirkt nur für einen Zyklus und ist

damit fast nicht wirksam. • 0.5: Dieser Wert hat sich in der Praxis für Regel-

strecken mit einer dominierenden Zeitkonstanten bewährt.

• > 1.0: Je größer der Koeffizient, desto stärker wird die Wirkung des D-Anteils verzögert.

TdFiltRatio ist remanent. Retain.CtrlParams.PWeighting(1) REAL 1.0 Aktive Gewichtung des P-Anteils

Sie können bei Sollwertänderungen den P-Anteil ab-schwächen. Sinnvoll sind Werte von 0.0 bis 1.0. • 1.0: P-Anteil bei Sollwertänderung voll wirksam • 0.0: P-Anteil bei Sollwertänderung nicht wirksam Bei Änderung des Istwerts ist der P-Anteil immer voll wirksam. PWeighting ist remanent.

Page 287: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 286 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Datentyp Vorbelegung Beschreibung Retain.CtrlParams.DWeighting(1) REAL 1.0 Aktive Gewichtung des D-Anteils

Sie können bei Sollwertänderungen den D-Anteil ab-schwächen. Sinnvoll sind Werte von 0.0 bis 1.0. • 1.0: D-Anteil bei Sollwertänderung voll wirksam • 0.0: D-Anteil bei Sollwertänderung nicht wirksam Bei Änderung des Istwerts ist der D-Anteil immer voll wirksam. DWeighting ist remanent.

Retain.CtrlParams.Cycle(1) REAL 1.0 Aktive Abtastzeit des PID-Algorithmus CtrlParams.Cycle wird während der Optimierung ermit-telt und zu einem ganzzahligen Vielfachen von Cycle-Time.Value aufgerundet. CtrlParams.Cycle wird als Periodendauer der Pulswei-tenmodulation verwendet. Cycle ist remanent.

Siehe auch Variable ActivateRecoverMode V2 (Seite 295)

Variable Warning V2 (Seite 297)

Technologieobjekte in Gerät laden (Seite 47)

Page 288: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 287

9.1.4.7 Änderungen der Schnittstelle PID_Compact V2 Die folgende Tabelle zeigt, was sich an der Schnittstelle der Anweisung PID_Compact geändert hat.

PID_Compact V1 PID_Compact V2 Änderung Input_PER Input_PER Datentyp von Word zu Int Disturbance Neu ErrorAck Neu ModeActivate Neu Output_PER Output_PER Datentyp von Word zu Int Error ErrorBits Umbenannt Error Neu Mode Neu sb_RunModeByStartup RunModeByStartup Funktion IntegralResetMode OverwriteInitialOutputValue Neu SetSubstituteOutput Neu CancelTuningLevel Neu SubstituteOutput Neu

Die folgende Tabelle zeigt, welche Variablen umbenannt wurden. PID_Compact V1.x PID_Compact V2 sb_GetCycleTime CycleTime.StartEstimation sb_EnCyclEstimation CycleTime.EnEstimation sb_EnCyclMonitoring CycleTime.EnMonitoring sb_RunModeByStartup RunModeByStartup si_Unit PhysicalUnit si_Type PhysicalQuantity sd_Warning Warning sBackUp.r_Gain CtrlParamsBackUp.Gain sBackUp.r_Ti CtrlParamsBackUp.Ti sBackUp.r_Td CtrlParamsBackUp.Td sBackUp.r_A CtrlParamsBackUp.TdFiltRatio sBackUp.r_B CtrlParamsBackUp.PWeighting sBackUp.r_C CtrlParamsBackUp.DWeighting sBackUp.r_Cycle CtrlParamsBackUp.Cycle sPid_Calc.r_Cycle CycleTime.Value sPid_Calc.b_RunIn PIDSelfTune.TIR.RunIn sPid_Calc.b_CalcParamSUT PIDSelfTune.SUT.CalculateParams sPid_Calc.b_CalcParamTIR PIDSelfTune.TIR.CalculateParams sPid_Calc.i_CtrlTypeSUT PIDSelfTune.SUT.TuneRule sPid_Calc.i_CtrlTypeTIR PIDSelfTune.TIR.TuneRule sPid_Calc.r_Progress Progress

Page 289: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 288 Funktionshandbuch, 11/2019, A5E35300226-AE

PID_Compact V1.x PID_Compact V2 sPid_Cmpt.r_Sp_Hlm Config.SetpointUpperLimit sPid_Cmpt.r_Sp_Llm Config.SetpointLowerLimit sPid_Cmpt.r_Pv_Norm_IN_1 Config.InputScaling.LowerPointIn sPid_Cmpt.r_Pv_Norm_IN_2 Config.InputScaling.UpperPointIn sPid_Cmpt.r_Pv_Norm_OUT_1 Config.InputScaling.LowerPointOut sPid_Cmpt.r_Pv_Norm_OUT_2 Config.InputScaling.UpperPointOut sPid_Cmpt.r_Lmn_Hlm Config.OutputUpperLimit sPid_Cmpt.r_Lmn_Llm Config.OutputLowerLimit sPid_Cmpt.b_Input_PER_On Config.InputPerOn sPid_Cmpt.b_LoadBackUp LoadBackUp sPid_Cmpt.b_InvCtrl Config.InvertControl sPid_Cmpt.r_Lmn_Pwm_PPTm Config.MinimumOnTime sPid_Cmpt.r_Lmn_Pwm_PBTm Config.MinimumOffTime sPid_Cmpt.r_Pv_Hlm Config.InputUpperLimit sPid_Cmpt.r_Pv_Llm Config.InputLowerLimit sPid_Cmpt.r_Pv_HWrn Config.InputUpperWarning sPid_Cmpt.r_Pv_LWrn Config.InputLowerWarning sParamCalc.i_Event_SUT PIDSelfTune.SUT.State sParamCalc.i_Event_TIR PIDSelfTune.TIR.State sRet.i_Mode sRet.i_Mode ist entfallen. Die Betriebsart wird

durch Mode und ModeActivate gewechselt. sRet.r_Ctrl_Gain Retain.CtrlParams.Gain sRet.r_Ctrl_Ti Retain.CtrlParams.Ti sRet.r_Ctrl_Td Retain.CtrlParams.Td sRet.r_Ctrl_A Retain.CtrlParams.TdFiltRatio sRet.r_Ctrl_B Retain.CtrlParams.PWeighting sRet.r_Ctrl_C Retain.CtrlParams.DWeighting sRet.r_Ctrl_Cycle Retain.CtrlParams.Cycle

Page 290: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 289

9.1.4.8 Parameter State und Mode V2

Zusammenhang der Parameter Der Parameter State zeigt die aktuelle Betriebsart des PID-Reglers. Sie können den Parameter State nicht ändern.

Mit einer steigenden Flanke an ModeActivate wechselt PID_Compact in die Betriebsart, die am Durchgangsparameter Mode gespeichert ist.

Wenn die CPU eingeschaltet wird oder von Stopp in RUN wechselt, startet PID_Compact in der Betriebsart, die an Mode gespeichert ist. Um PID_Compact in der Betriebsart "Inaktiv" zu belassen, setzen Sie RunModeByStartup = FALSE.

Bedeutung der Werte State / Mode Beschreibung der Betriebsart 0 Inaktiv

In der Betriebsart "Inaktiv" wird immer der Ausgangswert 0.0 ausgegeben, unabhängig von Con-fig.OutputUpperLimit und Config.OutputLowerLimit. Die Pulsweitenmodulation ist ausgeschaltet.

1 Erstoptimierung Die Erstoptimierung ermittelt die Prozessantwort auf einen Sprung des Ausgangswerts und sucht den Wendepunkt. Aus der maximalen Steigung und der Totzeit der Regelstrecke werden die PID-Parameter berechnet. Die besten PID-Parameter erhalten Sie, wenn Sie Erst- und Nachoptimierung durchführen. Voraussetzungen für die Erstoptimierung: • Betriebsart Inaktiv (State = 0), Handbetrieb (State = 4) oder Automatikbetrieb (State = 3) • ManualEnable = FALSE • Reset = FALSE • Der Istwert darf nicht zu nah am Sollwert sein.

|Setpoint - Input| > 0.3 * | Config.InputUpperLimit - Config.InputLowerLimit| und

|Setpoint - Input| > 0.5 * |Setpoint| • Der Sollwert und der Istwert befinden sich innerhalb der konfigurierten Grenzen. Je stabiler der Istwert ist, desto leichter und genauer können die PID-Parameter ermittelt werden. Ein Rau-schen des Istwerts ist solange akzeptabel, wie der Anstieg des Istwerts signifikant größer ist als das Rau-schen. Der Sollwert wird in der Variablen CurrentSetpoint eingefroren. Die Optimierung wird abgebrochen, wenn gilt: • Setpoint > CurrentSetpoint + CancelTuningLevel

oder • Setpoint < CurrentSetpoint - CancelTuningLevel Bevor die PID-Parameter neu berechnet werden, werden sie gesichert und können mit LoadBackUp reakti-viert werden. Nach erfolgreicher Erstoptimierung wird in den Automatikbetrieb geschaltet; nach erfolgloser Erstoptimie-rung ist der Wechsel der Betriebsart abhängig von ActivateRecoverMode. Die Phase der Erstoptimierung wird mit PIDSelfTune.SUT.State angezeigt.

Page 291: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 290 Funktionshandbuch, 11/2019, A5E35300226-AE

State / Mode Beschreibung der Betriebsart 2 Nachoptimierung

Die Nachoptimierung generiert eine konstante, begrenzte Schwingung des Istwertes. Aus Amplitude und Frequenz dieser Schwingung werden die PID-Parameter neu berechnet. Die PID-Parameter aus der Nachoptimierung zeigen meist ein besseres Führungs- und Störverhalten als die PID-Parameter aus der Erstoptimierung. Die besten PID-Parameter erhalten Sie, wenn Sie Erst- und Nachoptimierung durchführen. PID_Compact versucht automatisch eine Schwingung zu erzeugen, die größer ist als das Rauschen des Istwerts. Die Nachoptimierung wird nur geringfügig von der Stabilität des Istwerts beeinflusst. Der Sollwert wird in der Variablen CurrentSetpoint eingefroren. Die Optimierung wird abgebrochen, wenn gilt: • Setpoint > CurrentSetpoint + CancelTuningLevel

oder • Setpoint < CurrentSetpoint - CancelTuningLevel Bevor die PID-Parameter neu berechnet werden, werden sie gesichert und können mit LoadBackUp reakti-viert werden. Voraussetzungen für Nachoptimierung: • Es werden keine Störungen erwartet. • Der Sollwert und der Istwert befinden sich innerhalb der konfigurierten Grenzen • ManualEnable = FALSE • Reset = FALSE • Betriebsart Automatikbetrieb (State = 3), Inaktiv (State = 0) oder Handbetrieb (State = 4) Die Nachoptimierung verläuft folgendermaßen beim Start aus: • Automatikbetrieb (State = 3)

Wenn Sie die vorhandenen PID-Parameter durch die Optimierung verbessern wollen, starten Sie die Nachoptimierung aus dem Automatikbetrieb.

PID_Compact regelt solange mit den vorhandenen PID-Parametern, bis der Regelkreis eingeschwun-gen ist und die Voraussetzungen für eine Nachoptimierung erfüllt sind. Erst dann startet die Nachopti-mierung.

• Inaktiv (State = 0) oder Handbetrieb (State = 4)

Wenn die Voraussetzungen für eine Erstoptimierung erfüllt sind, wird eine Erstoptimierung gestartet. Mit den ermittelten PID-Parametern wird solange geregelt, bis der Regelkreis eingeschwungen ist und die Voraussetzungen für eine Nachoptimierung erfüllt sind.

Wenn sich der Istwert für eine Erstoptimierung bereits zu nah am Sollwert befindet oder PIDSe-lfTune.TIR.RunIn = TRUE, wird versucht den Sollwert mit minimalem oder maximalem Ausgangswert zu erreichen. Das kann ein erhöhtes Überschwingen verursachen.

Erst dann startet die Nachoptimierung. Nach erfolgreicher Nachoptimierung wechselt der Regler in den Automatikbetrieb; nach erfolgloser Nachop-timierung ist der Wechsel der Betriebsart abhängig von ActivateRecoverMode. Die Phase der "Nachoptimierung" wird mit PIDSelfTune.TIR.State angezeigt.

Page 292: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 291

State / Mode Beschreibung der Betriebsart 3 Automatikbetrieb

Im Automatikbetrieb regelt PID_Compact die Regelstrecke entsprechend der vorgegebenen Parameter aus. Wenn eine der folgenden Voraussetzungen erfüllt ist, wird in den Automatikbetrieb gewechselt: • Erstoptimierung erfolgreich abgeschlossen • Nachoptimierung erfolgreich abgeschlossen • Ändern des Durchgangsparameters Mode auf den Wert 3 und eine steigende Flanke an ModeActivate. Der Wechsel vom Automatikbetrieb in den Handbetrieb erfolgt nur im Inbetriebnahmeeditor stoßfrei. Im Automatikbetrieb wird die Variable ActivateRecoverMode berücksichtigt.

4 Handbetrieb Im Handbetrieb geben Sie einen manuellen Ausgangswert am Parameter ManualValue vor. Diese Betriebsart können Sie zusätzlich über ManualEnable = TRUE aktivieren. Es wird empfohlen, die Betriebsarten nur über Mode und ModeActivate zu wechseln. Der Wechsel vom Handbetrieb in den Automatikbetrieb erfolgt stoßfrei. Der Handbetrieb ist auch möglich, wenn ein Fehler ansteht.

5 Ersatzausgangswert mit Fehlerüberwachung Der Regelalgorithmus ist ausgeschaltet. Die Variable SetSubstituteOutput bestimmt, welcher Ausgangswert während dieser Betriebsart ausgegeben wird. • SetSubstituteOutput = FALSE: letzter gültiger Ausgangswert • SetSubstituteOutput = TRUE: Ersatzausgangswert Diese Betriebsart können Sie nicht mit Mode = 5 aktivieren. Sie wird im Fehlerfall statt der Betriebsart "Inaktiv" aktiviert, wenn alle folgenden Bedingungen erfüllt sind: • Automatikbetrieb (Mode = 3) • ActivateRecoverMode = TRUE • Ein oder mehrere Fehler sind aufgetreten, bei denen ActivateRecoverMode wirkt. Sobald die Fehler nicht mehr anstehen, wechselt PID_Compact wieder in den Automatikbetrieb.

ENO-Verhalten Wenn State = 0 ist, dann ist ENO = FALSE.

Wenn State ≠ 0 ist, dann ist ENO = TRUE.

Automatische Betriebsartwechsel während der Inbetriebnahme Nach erfolgreicher Erst- oder Nachoptimierung wird der Automatikbetrieb aktiviert. Die folgende Tabelle zeigt, wie sich Mode und State während einer erfolgreichen Erstoptimierung ändern. Zyklus-Nr. Mode State Aktion 0 4 4 Mode = 1 setzen 1 1 4 ModeActivate = TRUE setzen 1 4 1 Wert von State wird an Mode gespeichert

Erstoptimierung wird gestartet n 4 1 Erstoptimierung erfolgreich beendet n 3 3 Automatikbetrieb wird gestartet

Page 293: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 292 Funktionshandbuch, 11/2019, A5E35300226-AE

Im Fehlerfall wechselt PID_Compact automatisch die Betriebsart. Die folgende Tabelle zeigt, wie sich Mode und State während einer fehlerhaften Erstoptimierung ändern. Zyklus-Nr. Mode State Aktion 0 4 4 Mode = 1 setzen 1 1 4 ModeActivate = TRUE setzen 1 4 1 Wert von State wird an Mode gespeichert

Erstoptimierung wird gestartet n 4 1 Erstoptimierung abgebrochen n 4 4 Handbetrieb wird gestartet

Wenn ActivateRecoverMode = TRUE ist, wird die Betriebsart aktiviert, die an Mode gespeichert ist. Beim Start der Erst- oder Nachoptimierung hat PID_Compact den Wert von State am Durchgangsparameter Mode gespeichert. PID_Compact wechselt also in die Betriebsart, aus der die Optimierung gestartet wurde.

Wenn ActivateRecoverMode = FALSE ist, wird in die Betriebsart "Inaktiv" gewechselt.

Siehe auch Ausgangsparameter PID_Compact V2 (Seite 276)

Page 294: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 293

9.1.4.9 Parameter ErrorBits V2 Stehen gleichzeitig mehrere Fehler an, so werden die Werte der ErrorBits binär addiert angezeigt. Wird z. B. ErrorBits = 0003h angezeigt, so stehen gleichzeitig die Fehler 0001h und 0002h an.

PID_Compact verwendet im Handbetrieb ManualValue als Ausgangswert. Ausnahme ist Errorbits = 10000h.

ErrorBits (DW#16#...)

Beschreibung

0000 Es steht kein Fehler an. 0001 Der Parameter "Input" ist außerhalb der Istwertgrenzen.

• Input > Config.InputUpperLimit oder • Input < Config.InputLowerLimit Wenn vor Auftreten des Fehlers der Automatikbetrieb aktiv war und ActivateRecoverMode = TRUE, bleibt PID_Compact im Automatikbetrieb. Wenn vor Auftreten des Fehlers die Betriebsart Erstoptimierung oder Nachoptimierung aktiv und Activa-teRecoverMode = TRUE waren, wechselt PID_Compact in die Betriebsart, die an Mode gespeichert ist.

0002 Ungültiger Wert am Parameter "Input_PER". Überprüfen Sie, ob am Analogeingang ein Fehler ansteht. Wenn vor Auftreten des Fehlers der Automatikbetrieb aktiv war und ActivateRecoverMode = TRUE ist, gibt PID_Compact den konfigurierten Ersatzausgangswert aus. Sobald der Fehler nicht mehr ansteht, wechselt PID_Compact wieder in den Automatikbetrieb. Wenn vor Auftreten des Fehlers die Betriebsart Erstoptimierung oder Nachoptimierung aktiv und Activa-teRecoverMode = TRUE waren, wechselt PID_Compact in die Betriebsart, die an Mode gespeichert ist.

0004 Fehler während der Nachoptimierung. Die Schwingung des Istwerts konnte nicht aufrecht erhalten wer-den. Wenn vor Auftreten des Fehlers ActivateRecoverMode = TRUE war, bricht PID_Compact die Optimie-rung ab und wechselt in die Betriebsart, die an Mode gespeichert ist.

0008 Fehler beim Starten der Erstoptimierung. Der Istwert ist zu nahe am Sollwert. Starten Sie die Nachopti-mierung. Wenn vor Auftreten des Fehlers ActivateRecoverMode = TRUE war, bricht PID_Compact die Optimie-rung ab und wechselt in die Betriebsart, die an Mode gespeichert ist.

0010 Der Sollwert wurde während der Optimierung verändert. An der Variable CancelTuningLevel können Sie die zulässige Schwankung des Sollwerts einstellen. Wenn vor Auftreten des Fehlers ActivateRecoverMode = TRUE war, bricht PID_Compact die Optimie-rung ab und wechselt in die Betriebsart, die an Mode gespeichert ist.

0020 Die Erstoptimierung ist während der Nachoptimierung nicht erlaubt. Wenn vor Auftreten des Fehlers ActivateRecoverMode = TRUE war, bleibt PID_Compact in der Be-triebsart Nachoptimierung.

0080 Fehler bei der Erstoptimierung. Die Ausgangswertgrenzen sind nicht korrekt konfiguriert oder der Istwert reagiert nicht wie erwartet. Überprüfen Sie, ob die Grenzen des Ausgangswerts korrekt konfiguriert sind und zum Regelsinn pas-sen. Stellen Sie außerdem sicher, dass der Istwert vor Start einer Erstoptimierung nicht stark schwingt. Wenn vor Auftreten des Fehlers ActivateRecoverMode = TRUE war, bricht PID_Compact die Optimie-rung ab und wechselt in die Betriebsart, die an Mode gespeichert ist.

Page 295: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 294 Funktionshandbuch, 11/2019, A5E35300226-AE

ErrorBits (DW#16#...)

Beschreibung

0100 Fehler während der Nachoptimierung führte zu ungültigen Parametern. Wenn vor Auftreten des Fehlers ActivateRecoverMode = TRUE war, bricht PID_Compact die Optimie-rung ab und wechselt in die Betriebsart, die an Mode gespeichert ist.

0200 Ungültiger Wert am Parameter "Input": Wert hat kein gültiges Zahlenformat. Wenn vor Auftreten des Fehlers der Automatikbetrieb aktiv war und ActivateRecoverMode = TRUE ist, gibt PID_Compact den konfigurierten Ersatzausgangswert aus. Sobald der Fehler nicht mehr ansteht, wechselt PID_Compact wieder in den Automatikbetrieb. Wenn vor Auftreten des Fehlers die Betriebsart Erstoptimierung oder Nachoptimierung aktiv und Activa-teRecoverMode = TRUE waren, wechselt PID_Compact in die Betriebsart, die an Mode gespeichert ist.

0400 Berechnung des Ausgangswerts fehlgeschlagen. Überprüfen Sie die PID-Parameter. Wenn vor Auftreten des Fehlers der Automatikbetrieb aktiv war und ActivateRecoverMode = TRUE ist, gibt PID_Compact den konfigurierten Ersatzausgangswert aus. Sobald der Fehler nicht mehr ansteht, wechselt PID_Compact wieder in den Automatikbetrieb. Wenn vor Auftreten des Fehlers die Betriebsart Erstoptimierung oder Nachoptimierung aktiv und Activa-teRecoverMode = TRUE waren, wechselt PID_Compact in die Betriebsart, die an Mode gespeichert ist.

0800 Abtastzeitfehler: PID_Compact wird nicht innerhalb der Abtastzeit des Weckalarm-OBs aufgerufen. Wenn vor Auftreten des Fehlers der Automatikbetrieb aktiv war und ActivateRecoverMode = TRUE, bleibt PID_Compact im Automatikbetrieb. Wenn vor Auftreten des Fehlers die Betriebsart Erstoptimierung oder Nachoptimierung aktiv und Activa-teRecoverMode = TRUE waren, wechselt PID_Compact in die Betriebsart, die an Mode gespeichert ist. Falls dieser Fehler bei der Simulation mit PLCSIM aufgetreten ist, beachten Sie die Hinweise unter PID_Compact V2 mit PLCSIM simulieren (Seite 104).

1000 Ungültiger Wert am Parameter "Setpoint": Wert hat kein gültiges Zahlenformat. Wenn vor Auftreten des Fehlers der Automatikbetrieb aktiv und ActivateRecoverMode = TRUE waren, gibt PID_Compact den konfigurierten Ersatzausgangswert aus. Sobald der Fehler nicht mehr ansteht, wechselt PID_Compact wieder in den Automatikbetrieb. Wenn vor Auftreten des Fehlers die Betriebsart Erstoptimierung oder Nachoptimierung aktiv und Activa-teRecoverMode = TRUE waren, wechselt PID_Compact in die Betriebsart, die an Mode gespeichert ist.

10000 Ungültiger Wert am Parameter ManualValue. Wert hat kein gültiges Zahlenformat. Wenn vor Auftreten des Fehlers ActivateRecoverMode = TRUE war, verwendet PID_Compact Substitu-teOutput als Ausgangswert. Sobald Sie einen gültigen Wert an ManualValue vorgeben, verwendet PID_Compact diesen als Ausgangswert.

20000 Ungültiger Wert an der Variablen SubstituteOutput. Wert hat kein gültiges Zahlenformat. PID_Compact verwendet die Untergrenze Ausgangswert als Ausgangswert. Wenn vor Auftreten des Fehlers der Automatikbetrieb aktiv war, ActivateRecoverMode = TRUE und der Fehler nicht mehr ansteht, wechselt PID_Compact wieder in den Automatikbetrieb.

40000 Ungültiger Wert am Parameter Disturbance. Wert hat kein gültiges Zahlenformat. Wenn vor Auftreten des Fehlers der Automatikbetrieb aktiv war und ActivateRecoverMode = TRUE, wird Disturbance auf Null gesetzt. PID_Compact bleibt im Automatikbetrieb. Wenn vor Auftreten des Fehlers die Betriebsart Erst- oder Nachoptimierung aktiv und ActivateRecover-Mode = TRUE waren, wechselt PID_Compact in die Betriebsart, die an Mode gespeichert ist. Wenn Disturbance in der aktuellen Phase keinen Einfluss auf den Ausgangswert hat, wird die Optimierung nicht abgebrochen.

Page 296: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 295

9.1.4.10 Variable ActivateRecoverMode V2 Die Variable ActivateRecoverMode bestimmt das Verhalten im Fehlerfall. Der Parameter Error zeigt, ob aktuell ein Fehler ansteht. Wenn der Fehler nicht mehr ansteht, wird Error = FALSE. Der Parameter ErrorBits zeigt, welche Fehler aufgetreten sind.

Automatikbetrieb

ACHTUNG

Ihre Anlage kann beschädigt werden.

Wenn ActivateRecoverMode = TRUE ist, bleibt PID_Compact im Fehlerfall auch beim Überschreiten der Istwertgrenzen im Automatikbetrieb. Dadurch kann Ihre Anlage beschädigt werden.

Konfigurieren Sie für Ihre Regelstrecke ein Verhalten im Fehlerfall, das Ihre Anlage vor Beschädigung schützt.

Activate-RecoverMode

Beschreibung

FALSE Im Fehlerfall wechselt PID_Compact in die Betriebsart "Inaktiv". Der Regler wird erst durch eine fallende Flanke an Reset oder eine steigende Flanke an ModeActivate aktiviert.

TRUE Wenn im Automatikbetrieb häufig Fehler auftreten, wird durch diese Einstellung das Regelverhalten verschlechtert, da PID_Compact bei jedem Fehlerfall zwischen berechnetem Ausgangswert und dem Ersatzausgangswert wechselt. Überprüfen Sie dann den Parameter ErrorBits und beheben Sie die Fehlerursache. Wenn einer oder mehrere der folgenden Fehler auftreten, bleibt PID_Compact im Automatikbetrieb: • 0001h: Der Parameter "Input" ist außerhalb der Istwertgrenzen. • 0800h: Abtastzeitfehler • 40000h: Ungültiger Wert am Parameter Disturbance. Wenn einer oder mehrere der folgenden Fehler auftreten, wechselt PID_Compact in die Betriebsart " Ersatzausgangswert mit Fehlerüberwachung": • 0002h: Ungültiger Wert am Parameter Input_PER. • 0200h: Ungültiger Wert am Parameter Input. • 0400h: Berechnung des Ausgangswerts fehlgeschlagen. • 1000h: Ungültiger Wert am Parameter Setpoint. Wenn der folgende Fehler auftritt, wechselt PID_Compact in die Betriebsart " Ersatzausgangswert mit Fehlerüberwachung" und fährt das Stellglied auf Config.OutputLowerLimit: • 20000h: Ungültiger Wert an der Variable SubstituteOutput. Wert hat kein gültiges Zahlenformat. Dieses Verhalten ist unabhängig von SetSubstituteOutput. Sobald die Fehler nicht mehr anstehen, wechselt PID_Compact wieder in den Automatikbetrieb.

Page 297: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 296 Funktionshandbuch, 11/2019, A5E35300226-AE

Erstoptimierung und Nachoptimierung Activa-teRecoverMode

Beschreibung

FALSE Im Fehlerfall wechselt PID_Compact in die Betriebsart "Inaktiv". Der Regler wird erst durch eine fallende Flanke an Reset oder eine steigende Flanke an ModeActivate aktiviert.

TRUE Wenn der folgende Fehler auftritt, bleibt PID_Compact in der aktiven Betriebsart: • 0020h: Die Erstoptimierung ist während der Nachoptimierung nicht erlaubt. Die folgenden Fehler werden ignoriert: • 10000h: Ungültiger Wert am Parameter ManualValue. • 20000h: Ungültiger Wert an der Variable SubstituteOutput. Bei allen anderen Fehlern bricht PID_Compact die Optimierung ab und wechselt in die Betriebsart, aus der die Optimierung gestartet wurde.

Handbetrieb Im Handbetrieb wirkt ActivateRecoverMode nicht.

Page 298: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 297

9.1.4.11 Variable Warning V2 Stehen gleichzeitig mehrere Warnungen an, so werden die Werte der Variable Warning binär addiert angezeigt. Wenn z. B. die Warnung 0003h angezeigt, so stehen gleichzeitig die Warnungen 0001h und 0002h an.

Warning (DW#16#....)

Beschreibung

0000 Es liegt keine Warnung vor. 0001 Während der Erstoptimierung wurde der Wendepunkt nicht gefunden. 0004 Der Sollwert wurde begrenzt auf die eingestellten Grenzen. 0008 Für die gewählte Berechnungsmethode wurden nicht alle notwendigen Eigenschaften der Regelstrecke

bestimmt. Ersatzweise wurden die PID-Parameter mit der Methode TIR.TuneRule = 3 berechnet. 0010 Die Betriebsart konnte nicht geändert werden, da Reset = TRUE oder ManualEnable = TRUE. 0020 Die Abtastzeit des PID-Algorithmus wird durch die Zykluszeit des aufrufenden OB begrenzt.

Um bessere Ergebnisse zu erzielen, verwenden Sie kürzere Zykluszeiten des OB. 0040 Der Istwert hat eine seiner Warngrenzen überschritten. 0080 Ungültiger Wert an Mode. Die Betriebsart wird nicht gewechselt. 0100 Der Handwert wurde begrenzt auf die Grenzen des Reglerausgangs. 0200 Die angegebene Regel zur Optimierung wird nicht unterstützt. Es werden keine PID-Parameter berechnet. 1000 Der Ersatzausgangswert kann nicht erreicht werden, da er außerhalb der Ausgangswertgrenzen liegt.

Folgende Warnungen werden gelöscht, sobald die Ursache behoben ist:

● 0001h

● 0004h

● 0008h

● 0040h

● 0100h

Alle anderen Warnungen werden bei steigender Flanke an Reset oder ErrorAck gelöscht.

Page 299: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 298 Funktionshandbuch, 11/2019, A5E35300226-AE

9.1.4.12 Variable IntegralResetMode V2 Die Variable IntegralResetMode bestimmt, wie der I-Anteil PIDCtrl.IntegralSum vorbelegt wird:

● beim Wechsel von der Betriebsart "Inaktiv" in "Automatikbetrieb"

● bei Flanke TRUE -> FALSE an Parameter Reset und Parameter Mode = 3

Diese Einstellung wirkt nur für einen Zyklus und ist nur wirksam, falls der I-Anteil aktiviert ist (Variable Retain.CtrlParams.Ti > 0.0)

IntegralReset-Mode

Beschreibung

0 Glätten Der Wert von PIDCtrl.IntegralSum wird so vorbelegt, dass die Umschaltung stoßfrei erfolgt d. h. der "Automatikbetrieb" startet ausgehend von Ausgangswert = 0.0 (Parameter Output) und es erfolgt kein Sprung des Ausgangswerts unabhängig von der Regeldifferenz (Sollwert – Istwert).

1 Löschen Es wird empfohlen die Gewichtung des P-Anteils (Retain.CtrlParams.PWeighting) auf 1.0 zu setzen, falls diese Option verwendet wird. Der Wert von PIDCtrl.IntegralSum wird gelöscht. Wenn eine Regeldifferenz vorhanden ist, kommt es zu einem Sprung des Ausgangswerts. Die Richtung des Ausgangswertsprungs hängt von der konfigurier-ten Gewichtung des P-Anteils (Variable Retain.CtrlParams.PWeighting) und der Regeldifferenz ab: • Gewichtung des P-Anteils = 1.0:

Ausgangswertsprung und Regeldifferenz haben identische Vorzeichen. Beispiel: Liegt der Istwert unterhalb des Sollwerts (positive Regeldifferenz), springt der Ausgangs-wert auf einen positiven Wert.

• Gewichtung des P-Anteils < 1.0:

Für große Regeldifferenzen haben Ausgangswertsprung und Regeldifferenz identische Vorzeichen. Beispiel: Liegt der Istwert weit unterhalb des Sollwerts (positive Regeldifferenz), springt der Aus-gangswert auf einen positiven Wert.

Für kleine Regeldifferenzen haben Ausgangswertsprung und Regeldifferenz unterschiedliche Vor-zeichen. Beispiel: Liegt der Istwert knapp unterhalb des Sollwerts (positive Regeldifferenz), springt der Aus-gangswert auf einen negativen Wert. Dies ist im Normalfall nicht erwünscht, da es zu einer vorüber-gehenden Vergrößerung der Regeldifferenz führt.

Je kleiner dabei die Gewichtung des P-Anteils konfiguriert ist, desto größer muss die Regeldifferenz sein; um einen Ausgangswertsprung mit identischem Vorzeichen zu erhalten.

Es wird empfohlen die Gewichtung des P-Anteils (Retain.CtrlParams.PWeighting) auf 1.0 zu setzen, wenn diese Option verwendet wird. Andernfalls kann dies zum beschriebenen unerwünschten Verhalten bei kleinen Regeldifferenzen führen. Alternativ können Sie auch IntegralResetMode = 4 verwenden. Diese Option garantiert identische Vorzeichen von Ausgangswertsprung und Regeldifferenz unabhän-gig von der konfigurierten Gewichtung des P-Anteils und der Regeldifferenz.

2 Halten Der Wert von PIDCtrl.IntegralSum wird nicht verändert. Sie können über das Anwenderprogramm einen neuen Wert vorgeben.

Page 300: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 299

IntegralReset-Mode

Beschreibung

3 Vorbelegen Der Wert von PIDCtrl.IntegralSum wird automatisch so vorbelegt, als ob im letzten Zyklus Output = OverwriteInitialOutputValue gewesen wäre.

4 Wie Sollwertänderung (nur für PID_Compact mit Version ≥ 2.3) Der Wert von PIDCtrl.IntegralSum wird automatisch so vorbelegt, dass sich ein ähnlicher Ausgangs-wertsprung ergibt, wie für einen PI Regler im Automatikbetrieb bei einer Sollwertänderung vom aktuel-len Istwert zum aktuellen Sollwert. Falls eine Regeldifferenz vorhanden ist, kommt es zu einem Sprung des Ausgangswerts. Ausgangs-wertsprung und Regeldifferenz haben identische Vorzeichen. Beispiel: Liegt der Istwert unterhalb des Sollwerts (positive Regeldifferenz), springt der Ausgangswert auf einen positiven Wert. Dies ist unabhängig von der konfigurierten Gewichtung des P-Anteils und der Regeldifferenz.

Wird IntegralResetMode mit einem Wert außerhalb des gültigen Wertebereichs belegt, verhält sich PID_Compact wie mit der Vorbelegung von IntegralResetMode:

● PID_Compact bis V2.2: IntegralResetMode = 1

● PID_Compact ab V2.3: IntegralResetMode = 4

Alle obigen Aussagen zum Vorzeichen des Ausgangswertsprungs gehen von einem normalen Regelsinn (Variable Config.InvertControl = FALSE) aus. Bei invertiertem Regelsinn (Config.InvertControl = TRUE) ergibt sich ein umgekehrtes Vorzeichen des Ausgangswertsprungs.

Page 301: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 300 Funktionshandbuch, 11/2019, A5E35300226-AE

9.1.4.13 Beispielprogramm für PID_Compact In dem folgenden Beispiel regeln Sie Temperaturwerte mit dem Technologieobjekt der Anweisung "PID_Compact". Die Temperaturwerte werden anhand eines Bausteins simuliert, der ein Verzögerungsglied dritter Ordnung (PT3-Glied) nachbildet. Die PID-Parameter des Technologieobjekts lassen Sie automatisch über die Erstoptimierung einstellen.

Ablage der Daten Zur Ablage der Daten für die Verschaltung legen Sie in einem globalen Datenbaustein sieben Variablen an.

Page 302: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 301

Verschaltung der Parameter Die folgenden Verschaltungen rufen Sie in einem Weckalarm-OB auf.

Netzwerk 1: Die Parameter der Anweisung "PID_Compact" verschalten Sie wie folgt.

Netzwerk 2: Die Parameter des Temperaturwerte simulierenden Bausteins "SLI_PROC_C" verschalten Sie wie folgt.

Page 303: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 302 Funktionshandbuch, 11/2019, A5E35300226-AE

Technologieobjekt Das Technologieobjekt lässt sich über die Eigenschaften der Anweisung "PID_Compact" oder über den Pfad Technologieobjekt > Konfiguration konfigurieren. Für das Beispiel sind die Regelungsart und die Ein- und Ausgangsparameter von Bedeutung. Über die Regelungsart wird eine Vorauswahl für die Einheit des zu regelnden Werts festgelegt. In diesem Beispiel wird als Regelungsart "Temperatur" mit der Einheit "°C" verwendet. Die Parameter des "PID_Compact" sind bereits mit globalen Variablen verschalten. Dementsprechend genügt die Angabe zur Verwendung der Parameter Input und Output.

Vorgehen zum Starten der Regelung Nach dem Laden in die CPU befindet sich PID_Compact im Handbetrieb mit Handwert 0.0. Um die Regelung zu beginnen, gehen Sie folgendermaßen vor: 1. Öffnen Sie die Inbetriebnahme des Technologieobjekts "SLI_Tech_PID_Compact". 2. Klicken Sie im Bereich "Messung" auf die Schaltfläche "Start".

Die Messung startet und PID_Compact kann aktiviert werden.

3. Die Erstoptimierung ist ausgewählt. Klicken Sie im Bereich "Optimierungsart" auf die Schaltfläche "Start". Eine Erstoptimierung wird durchgeführt. Die PID-Parameter werden dabei automatisch auf die Regelstrecke angepasst. Nach Abschluss der Erstoptimierung wechselt PID_Compact in den Automatikbetrieb.

Page 304: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 303

Hinweis

Alternative zum Starten von PID_Compact

Alternativ können Sie PID_Compact im Bereich "Online-Zustand des Reglers" über die Schaltfläche "Stop PID_Compact" / "Start PID_Compact" ohne Erstoptimierung in den Automatikbetrieb versetzen. Dadurch verwendet der Regler standardmäßige Werte für die PID-Parameter und zeigt ein schlechteres Regelverhalten für den Anwendungsfall.

Vorgehen zum Stoppen der Regelung Um PID_Compact und das Programm zu stoppen und zu beenden gehen Sie folgendermaßen vor: 1. Klicken Sie im Technologieobjekt "SLI_Tech_PID_Compact", im Bereich "Online-Zustand

des Reglers" auf die Schaltfläche "Stop PID_Compact".

Die Anweisung "PID_Compact" beendet die Regelung und gibt als Stellwert den Wert "0.0" aus.

2. Klicken Sie im Bereich "Messung" auf die Schaltfläche "Stop". 3. Um den Istwert sofort auf den Wert "0.0" zu setzen, gehen Sie folgendermaßen vor:

Setzen Sie im Baustein "SLI_OB_PID_Compact" die Variable "resetAll" auf den Wert "TRUE", und anschließend auf den Wert "FALSE".

Anweisung "PID_Compact" Am Parameter Setpoint ("setpoint") ist der Sollwert für die zu regelnde Temperatur vorgegeben. Wenn die Anweisung "PID_Compact" über das Technologieobjekt gestartet wurde, wird die Regelung gestartet. Die Anweisung "PID_Compact" gibt am Ausgangsparameter Output ("outputValue") einen Stellwert aus. Über den Eingangsparameter Input ("inputValue") wird der Anweisung "PID_Compact" der Istwert der Temperatur übermittelt.

Abhängig vom Verlauf der Differenz zwischen Sollwert ("setpoint") und Istwert ("inputValue") passt die Anweisung "PID_Compact" den Stellwert ("outputValue") an. Dieser Vorgang wird wiederholt, so dass sich der Istwert ("inputValue") durch den Stellwert ("outputValue") dem Sollwert ("setpoint") annähert.

Am Ausgangsparameter State ("state") wird die aktuelle Betriebsart der Anweisung "PID_Compact" angezeigt. Nach einer Erstoptimierung (der Wert von "state" ist "1") schaltet der PID_Compact in den Automatikbetrieb (der Wert ist "3").

Page 305: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 304 Funktionshandbuch, 11/2019, A5E35300226-AE

Der Ausgangsparameter Error ("error") zeigt aktuell an, dass kein Fehler ansteht. Der Ausgangsparameter ErrorBits ("errorBits") stellt im Fehlerfall Informationen zur Fehlerart bereit. Wenn ein Fehler auftritt, kann dieser im Technologieobjekt, im Bereich Optimierungsstatus über die Schaltfläche "ErrorAck" quittiert werden.

Baustein "SLI_PROC_C" Der Baustein "SLI_PROC_C" simuliert den Istwert ("inputValue") der steigenden Temperatur einer Anlage. Der Baustein "SLI_PROC_C" erhält den Stellwert des Reglers ("outputValue) und simuliert das Temperaturverhalten der Regelstrecke. Diese Temperatur wird als Istwert ("inputValue") in den Regler eingespeist.

Eine Änderung der Werte der Variable "resetAll" (des Parameters comRst) hat folgende Auswirkungen: Parameter comRst ("resetAll")

Die Anweisung "PID_Compact" läuft Die Anweisung "PID_Compact" wurde gestoppt

comRst ("resetAll") bleibt auf dem Wert "FALSE"

Der Baustein "SLI_PROC_C" gibt auf Basis eines Stellwerts ("output-Value") einen neuen Istwert ("input-Value") aus.

Der Baustein "SLI_PROC_C" erhält zwar keinen Stellwert > "0.0" über-mittelt, gibt aber weiterhin einen Istwert > "0.0" aus.

comRst ("resetAll"): Änderung von "FALSE" auf den Wert "TRUE"

Sowohl Stellwert ("outputValue") als auch ausgegebener Istwert ("input-Value") werden auf "0.0" zurückge-setzt.

Der ausgegebene Istwert ("inputVa-lue") / die Temperatur des Bausteins "SLI_PROC_C" wird auf "0.0" zu-rückgesetzt.

comRst ("resetAll"): Änderung von "TRUE" auf den Wert "FALSE"

Die Regelung der Temperatur be-ginnt von Neuem.

Der ausgegebene Istwert / die Tem-peratur ("inputValue") bleibt "0.0".

Page 306: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 305

Programmcode Weitere Informationen zum Programmcode zu oben genanntem Beispiel finden Sie unter dem Stichwort "Sample Library for Instructions".

Page 307: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 306 Funktionshandbuch, 11/2019, A5E35300226-AE

9.1.5 PID_Compact V1

9.1.5.1 Beschreibung PID_Compact V1

Beschreibung Die Anweisung PID_Compact stellt einen PID-Regler mit integrierter Optimierung für Automatik- und Handbetrieb zur Verfügung.

Aufruf PID_Compact wird im konstanten Zeitraster der Zykluszeit des aufrufenden OBs aufgerufen (vorzugsweise in einem Weckalarm-OB).

Laden in Gerät Die Aktualwerte remanenter Variablen werden nur aktualisiert, wenn Sie PID_Compact vollständig laden.

Technologieobjekte in Gerät laden (Seite 47)

Anlauf Bei Anlauf der CPU startet PID_Compact in der zuletzt aktiven Betriebsart. Um PID_ Compact in der Betriebsart "Inaktiv" zu belassen, setzen Sie sb_RunModeByStartup = FALSE.

Überwachung der Abtastzeit PID_Compact Die Abtastzeit entspricht im Idealfall der Zykluszeit des aufrufenden OB. Die Anweisung PID_Compact misst jeweils den Zeitabstand zwischen zwei Aufrufen. Das ist die aktuelle Abtastzeit. Bei jedem Wechsel der Betriebsart und bei Erstanlauf wird der Mittelwert der ersten 10 Abtastzeiten gebildet. Wenn die aktuelle Abtastzeit zu stark von diesem Mittelwert abweicht, tritt ein Fehler auf (Error = 0800 hex) und PID_Compact wechselt in die Betriebsart "Inaktiv"

Folgende Bedingungen versetzen PID_Compact ab Version 1.1 während der Optimierung in die Betriebsart "Inaktiv":

● Neuer Mittelwert >= 1,1 x alter Mittelwert

● Neuer Mittelwert <= 0,9 x alter Mittelwert

Folgende Bedingungen versetzen PID_Compact ab Version 1.1 bei Automatikbetrieb in die Betriebsart "Inaktiv":

● Neuer Mittelwert >= 1,5 x alter Mittelwert

● Neuer Mittelwert <= 0,5 x alter Mittelwert

Page 308: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 307

Folgende Bedingungen versetzen PID_Compact 1.0 während der Optimierung und bei Automatikbetrieb in die Betriebsart "Inaktiv":

● Neuer Mittelwert >= 1,1 x alter Mittelwert

● Neuer Mittelwert <= 0,9 x alter Mittelwert

● Aktuelle Abtastzeit >= 1,5 x aktueller Mittelwert

● Aktuelle Abtastzeit <= 0,5 x aktueller Mittelwert

Abtastzeit des PID-Algorithmus Da die Regelstrecke eine gewisse Zeit benötigt, um auf eine Änderung des Ausgangswerts zu reagieren, ist es sinnvoll, den Ausgangswert nicht in jedem Zyklus zu berechnen. Die Abtastzeit PID-Algorithmus ist die Zeit zwischen zwei Ausgangswertberechnungen. Sie wird während der Optimierung ermittelt und auf ein Vielfaches der Zykluszeit gerundet. Alle anderen Funktionen von PID_Compact werden bei jedem Aufruf durchgeführt.

PID-Algorithmus PID_Compact ist ein PIDT1-Regler mit Anti-Windup und Gewichtung des P- und D-Anteils. Der Ausgangswert wird anhand folgender Formel berechnet.

Symbol Beschreibung y Ausgangswert Kp Proportionalverstärkung s Laplace-Operator b Gewichtung des P-Anteils w Sollwert x Istwert TI Integrationszeit a Koeffizient für den Differenzierverzug (T1 = a × TD) Differenzierzeit c Gewichtung des D-Anteils

Page 309: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 308 Funktionshandbuch, 11/2019, A5E35300226-AE

Blockschaltbild PID_Compact

Blockschaltbild PIDT1 mit Anti-Windup

Page 310: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 309

Verhalten im Fehlerfall Wenn Fehler auftreten, werden diese am Parameter Error ausgegeben und PID_Compact wechselt in die Betriebsart "Inaktiv". Mit dem Parameter Reset setzen Sie die Fehler wieder zurück.

Regelsinn Meist soll mit einer Erhöhung des Ausgangswerts eine Erhöhung des Istwerts erreicht werden. In diesem Fall spricht man von einem normalen Regelsinn. Für Kühlungen und Abflussregelungen kann es notwendig sein, den Regelsinn zu invertieren. PID_Compact arbeitet nicht mit negativer Proportionalverstärkung. Wenn InvertControl = TRUE, bewirkt eine steigende Regeldifferenz eine Verringerung des Ausgangswerts. Der Regelsinn wird auch während Erst- und Nachoptimierung berücksichtigt.

Siehe auch Regelungsart V1 (Seite 106)

Page 311: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 310 Funktionshandbuch, 11/2019, A5E35300226-AE

9.1.5.2 Eingangsparameter PID_Compact V1

Parameter Datentyp Vorbelegung Beschreibung Setpoint REAL 0.0 Sollwert des PID-Reglers im Automatikbetrieb Input REAL 0.0 Eine Variable des Anwenderprogramms wird als Quelle des Istwerts

verwendet. Wenn Sie den Parameter Input verwenden, muss sPid_Cmpt.b_Input_PER_On = FALSE sein.

Input_PER WORD W#16#0 Analogeingang als Quelle des Istwerts Wenn Sie den Parameter Input_PER verwenden, muss sPid_Cmpt.b_Input_PER_On = TRUE sein.

ManualEnable BOOL FALSE • Flanke FALSE -> TRUE wählt die Betriebsart "Handbetrieb", State = 4, sRet.i_Mode bleibt unverändert.

• Flanke TRUE -> FALSE wählt die zuletzt aktive Betriebsart , State =sRet.i_Mode

Während ManualEnable = TRUE wirkt sich eine Änderung von sRet.i_Mode nicht aus. Erst bei der Flanke TRUE -> FALSE an Manu-alEnable wird die Änderung von sRet.i_Mode berücksichtigt. PID_Compact V1.2 und PID_Compact V1.0 Wenn beim Start der CPU ManualEnable = TRUE, startet PID_Compact im Handbetrieb. Eine steigende Flanke (FALSE > TRUE) an ManualEnable ist nicht notwendig. PID_Compact V1.1 Beim Start der CPU schaltet PID_Compact nur bei einer steigenden Flanke (FALSE->TRUE) an ManualEnable in den Handbetrieb. Ohne steigende Flanke startet PID_Compact in der letzten Betriebsart bei der ManualEnable FALSE war.

ManualValue REAL 0.0 Handwert Dieser Wert wird im Handbetrieb als Ausgangswert verwendet.

Reset BOOL FALSE Der Parameter Reset (Seite 323) führt einen Neustart des Reglers durch.

Page 312: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 311

9.1.5.3 Ausgangsparameter PID_Compact V1

Parameter Datentyp Vorbelegung Beschreibung ScaledInput REAL 0.0 Ausgabe des skalierten Istwerts Die Ausgänge "Output", "Output_PER" und "Output_PWM" können parallel genutzt werden. Output REAL 0.0 Ausgangswert im REAL-Format Output_PER WORD W#16#0 Analoger Ausgangswert Output_PWM BOOL FALSE Pulsweitenmodulierter Ausgangswert

Der Ausgangswert wird über variable Ein- und Ausschaltzeiten ge-bildet.

SetpointLimit_H BOOL FALSE Wenn SetpointLimit_H = TRUE, ist die absolute Obergrenze des Sollwerts erreicht. In der CPU wird der Sollwert auf die konfigurierte absolute Obergrenze des Sollwerts begrenzt. Als Obergrenze Soll-wert ist die konfigurierte absolute Obergrenze Istwert vorbelegt. Wenn Sie sPid_Cmpt.r_Sp_Hlm auf einen Wert innerhalb der Ist-wertgrenzen konfigurieren, wird dieser Wert als Obergrenze Sollwert verwendet.

SetpointLimit_L BOOL FALSE Wenn SetpointLimit_L = TRUE, ist die absolute Untergrenze des Sollwerts erreicht. In der CPU wird der Sollwert auf die konfigurierte absolute Untergrenze des Sollwerts begrenzt. Als Untergrenze Soll-wert ist die konfigurierte absolute Untergrenze Istwert vorbelegt. Wenn Sie sPid_Cmpt.r_Sp_Llm auf einen Wert innerhalb der Ist-wertgrenzen konfigurieren, wird dieser Wert als Untergrenze Soll-wert verwendet.

InputWarning_H BOOL FALSE Wenn InputWarning_H = TRUE, ist die obere Warngrenze des Ist-werts erreicht oder überschritten.

InputWarning_L BOOL FALSE Wenn InputWarning_L = TRUE, ist die untere Warngrenze des Ist-werts erreicht oder unterschritten.

State INT 0 Der Parameter State (Seite 318) zeigt die aktuelle Betriebsart des PID-Reglers. Sie ändern die Betriebsart mit der Variable sRet.i_Mode. • State = 0: Inaktiv • State = 1: Erstoptimierung • State = 2: Nachoptimierung • State = 3: Automatikbetrieb • State = 4: Handbetrieb

Error DWORD W#16#0 Der Parameter Error (Seite 322) zeigt die Fehlermeldungen. Error = 0000: Es steht kein Fehler an.

Page 313: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 312 Funktionshandbuch, 11/2019, A5E35300226-AE

9.1.5.4 Statische Variablen PID_Compact V1

Hinweis

Nicht aufgeführte Variablen dürfen Sie nicht verändern. Diese werden nur intern verwendet.

Verändern Sie die mit (1) gekennzeichneten Variablen nur in der Betriebsart "Inaktiv", um ein Fehlverhalten des PID-Reglers zu vermeiden. Die Betriebsart "Inaktiv" erzwingen Sie durch den Wert "0" der Variable "sRet.i_Mode".

Variable Datentyp Vorbelegung Beschreibung sb_GetCycleTime BOOL TRUE Wenn sb_GetCycleTime = TRUE, wird die automati-

sche Ermittlung der Zykluszeit gestartet. Nach Ab-schluss der Messung wird CycleTime.StartEstimation = FALSE.

sb_EnCyclEstimation BOOL TRUE Wenn sb_EnCyclEstimation = TRUE, wird die Ab-tastzeit PID_Compact berechnet.

sb_EnCyclMonitoring BOOL TRUE Wenn sb_EnCyclMonitoring = FALSE, wird die Ab-tastzeit PID_Compact nicht überwacht. Wenn PID_Compact nicht innerhalb der Abtastzeit ausge-führt werden kann, wird kein Fehler 0800 ausgege-ben und PID_Compact wechselt nicht in die Betriebsart "Inaktiv".

sb_RunModeByStartup BOOL TRUE Nach CPU Neustart letzte Betriebsart aktivieren Wenn sb_RunModeByStartup = FALSE, bleibt der Regler nach CPU-Anlauf inaktiv. Wenn sb_RunModeByStartup = TRUE, kehrt der Regler nach CPU-Anlauf in die zuletzt aktive Be-triebsart zurück.

si_Unit INT 0 Physikalische Einheit des Ist- und Sollwerts, z. B. ºC oder ºF.

si_Type INT 0 Physikalische Größe des Ist- und Sollwerts, z. B. Temperatur

sd_Warning DWORD DW#16#0 Die Variable sd_warning (Seite 325) zeigt die War-nungen seit Reset oder dem letzen Wechsel der Betriebsart.

sBackUp.r_Gain REAL 1.0 gespeicherte Proportionalverstärkung Werte aus der Struktur sBackUp können mit sPid_Cmpt.b_LoadBackUp = TRUE wieder geladen werden.

sBackUp.r_Ti REAL 20.0 gespeicherte Integrationszeit [s] sBackUp.r_Td REAL 0.0 gespeicherte Differenzierzeit [s] sBackUp.r_A REAL 0.0 gespeicherter Koeffizient Differenzierverzug sBackUp.r_B REAL 0.0 gespeicherter Gewichtungsfaktor des P-Anteils sBackUp.r_C REAL 0.0 gespeicherter Gewichtungsfaktor des D-Anteils

Page 314: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 313

Variable Datentyp Vorbelegung Beschreibung sBackUp.r_Cycle REAL 1.0 gespeicherte Abtastzeit PID-Algorithmus sPid_Calc.r_Cycle(1) REAL 0.1 Abtastzeit der Anweisung PID_Compact

r_Cycle wird automatisch ermittelt und entspricht normalerweise der Zykluszeit des aufrufenden OB.

sPid_Calc.b_RunIn BOOL FALSE • b_RunIn = FALSE

Wenn die Nachoptimierung aus der Betriebsart Inaktiv oder Handbetrieb gestartet wird, wird eine Erstoptimierung gestartet. Wenn die Vorausset-zungen für Erstoptimierung nicht erfüllt sind, ver-hält sich PID_Compact wie bei b_RunIn = TRUE.

Wenn die Nachoptimierung aus dem Automatik-betrieb gestartet wird, wird mit den vorhandenen PID-Parametern auf den Sollwert geregelt.

Erst dann startet die Nachoptimierung. Ist die Er-stoptimierung nicht möglich, wechselt PID_Compact in die Betriebsart "Inaktiv".

• b_RunIn = TRUE

Die Erstoptimierung wird übersprungen. PID_3Compact versucht den Sollwert mit minima-lem oder maximalen Ausgangswert zu erreichen. Das kann ein erhöhtes Überschwingen verursa-chen. Die Nachoptimierung startet anschließend automatisch.

b_RunIn wird nach der Nachoptimierung auf FALSE gesetzt.

sPid_Calc.b_CalcParamSUT BOOL FALSE Wenn b_CalcParamSUT = TRUE, werden die Para-meter für die Erstoptimierung neu berechnet. Dadurch kann die Methode für die Parameterberech-nung geändert werden, ohne die Optimierung zu wiederholen. b_CalcParamSUT wird nach der Berechnung auf FALSE gesetzt.

sPid_Calc.b_CalcParamTIR BOOL FALSE Wenn b_CalcParamTIR = TRUE, werden die Para-meter für die Nachoptimierung neu berechnet. Dadurch kann die Methode für die Parameterberech-nung geändert werden, ohne die Optimierung zu wiederholen. b_CalcParamTIR wird nach der Berechnung auf FALSE gesetzt.

sPid_Calc.i_CtrlTypeSUT INT 0 Parameter während Erstoptimierung berechnen nach Methode: • i_CtrlTypeSUT = 0: PID nach Chien, Hrones und

Reswick • i_CtrlTypeSUT = 1: PI nach Chien, Hrones und

Reswick

Page 315: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 314 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Datentyp Vorbelegung Beschreibung sPid_Calc.i_CtrlTypeTIR INT 0 Parameter während Nachoptimierung berechnen

nach Methode: • i_CtrlTypeTIR = 0: PID automatisch • i_CtrlTypeTIR = 1: PID schnell (schnelleres Re-

gelverhalten mit höheren Amplituden des Aus-gangswerts als mit i_CtrlTypeTIR = 2)

• i_CtrlTypeTIR = 2: PID langsam (langsameres Regelverhalten mit geringeren Amplituden des Ausgangswerts als mit i_CtrlTypiTIR = 1)

• i_CtrlTypeTIR = 3: Ziegler-Nichols PID • i_CtrlTypeTIR = 4: Ziegler-Nichols PI • i_CtrlTypeTIR = 5: Ziegler-Nichols P Um die Berechnung der PID-Parameter mit b_CalcParamTIR und i_CtrlTypeTIR = 0, 1 oder 2 wiederholen zu können, muss auch die vorhergehen-de Nachoptimierung mit i_CtrlTypeTIR = 0, 1, oder 2 ausgeführt worden sein. Ist dies nicht der Fall, wird i_CtrlTypeTIR = 3 verwen-det. Die erneute Berechnung der PID-Parameter mit b_CalcParamTIR und i_CtrlTypeTIR = 3, 4 oder 5 ist immer möglich.

sPid_Calc.r_Progress REAL 0.0 Fortschritt der Optimierung in Prozent (0.0 - 100.0) sPid_Cmpt.r_Sp_Hlm(1) REAL +3.402822e+

38 Obergrenze des Sollwerts Wenn Sie sPid_Cmpt.r_Sp_Hlm außerhalb der Ist-wertgrenzen konfigurieren, wird die konfigurierte absolute Istwertobergrenze als Obergrenze Sollwert verwendet. Wenn Sie sPid_Cmpt.r_Sp_Hlm innerhalb der Ist-wertgrenzen konfigurieren, wird dieser Wert als Obergrenze Sollwert verwendet.

sPid_Cmpt.r_Sp_Llm(1) REAL -3.402822e+38

Untergrenze des Sollwerts Wenn Sie sPid_Cmpt.r_Sp_Llm außerhalb der Ist-wertgrenzen konfigurieren, wird die konfigurierte absolute Istwertuntergrenze als Untergrenze Sollwert verwendet. Wenn Sie sPid_Cmpt.r_Sp_Llm innerhalb der Ist-wertgrenzen konfigurieren, wird dieser Wert als Un-tergrenze Sollwert verwendet.

sPid_Cmpt.r_Pv_Norm_IN_1(1) REAL 0.0 Skalierung Input_PER Unten Anhand der zwei Wertepaare r_Pv_Norm_OUT_1, r_Pv_Norm_IN_1 und r_Pv_Norm_OUT_2, r_Pv_Norm_IN_2 der Struktur sPid_Cmpt wird In-put_PER in Prozent umgerechnet.

Page 316: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 315

Variable Datentyp Vorbelegung Beschreibung sPid_Cmpt.r_Pv_Norm_IN_2(1) REAL 27648.0 Skalierung Input_PER Oben

Anhand der zwei Wertepaare r_Pv_Norm_OUT_1, r_Pv_Norm_IN_1 und r_Pv_Norm_OUT_2, r_Pv_Norm_IN_2 der Struktur sPid_Cmpt wird In-put_PER in Prozent umgerechnet.

sPid_Cmpt.r_Pv_Norm_OUT_1(1) REAL 0.0 Skalierter unterer Istwert Anhand der zwei Wertepaare r_Pv_Norm_OUT_1, r_Pv_Norm_IN_1 und r_Pv_Norm_OUT_2, r_Pv_Norm_IN_2 der Struktur sPid_Cmpt wird In-put_PER in Prozent umgerechnet.

sPid_Cmpt.r_Pv_Norm_OUT_2(1) REAL 100.0 Skalierter oberer Istwert Anhand der zwei Wertepaare r_Pv_Norm_OUT_1, r_Pv_Norm_IN_1 und r_Pv_Norm_OUT_2, r_Pv_Norm_IN_2 der Struktur sPid_Cmpt wird In-put_PER in Prozent umgerechnet.

sPid_Cmpt.r_Lmn_Hlm(1) REAL 100.0 Obere Ausgangswertgrenze für den Ausgangspara-meter "Output"

sPid_Cmpt.r_Lmn_Llm(1) REAL 0.0 Untere Ausgangswertgrenze für den Ausgangspara-meter "Output"

sPid_Cmpt.b_Input_PER_On(1) BOOL TRUE Wenn b_Input_PER_On = TRUE, wird der Parameter Input_PER verwendet. Wenn b_Input_PER_On = FALSE, wird der Parameter Input verwendet.

sPid_Cmpt.b_LoadBackUp BOOL FALSE Aktivieren des Backup Parametersatzes. Sollte eine Optimierung fehlgeschlagen sein, können Sie durch Setzen dieses Bits die vorigen PID Parameter wieder reaktivieren.

sPid_Cmpt.b_InvCtrl(1) BOOL FALSE Invertieren des Regelsinns Wenn b_InvCtrl = TRUE, bewirkt eine steigende Regeldifferenz eine Verringerung des Ausgangs-werts.

sPid_Cmpt.r_Lmn_Pwm_PPTm(1) REAL 0.0 Minimale Einschaltzeit der Pulsweitenmodulation in Sekunden wird gerundet auf r_Lmn_Pwm_PPTm = r_Cycle oder r_Lmn_Pwm_PPTm = n*r_Cycle

sPid_Cmpt.r_Lmn_Pwm_PBTm(1) REAL 0.0 Minimale Ausschaltzeit der Pulsweitenmodulation in Sekunden wird gerundet auf r_Lmn_Pwm_PBTm = r_Cycle oder r_Lmn_Pwm_PBTm = n*r_Cycle

sPid_Cmpt.r_Pv_Hlm(1) REAL 120.0 Obergrenze des Istwerts Am Peripherie-Eingang kann der Istwert maximal 18 % über dem Normbereich (Übersteuerungsbereich) liegen. Wegen einer Überschreitung der "Obergrenze Istwert" wird keine Fehler mehr gemeldet. Nur Draht-bruch und Kurzschluss werden erkannt und PID_Compact wechselt in die Betriebsart "Inaktiv". r_Pv_Hlm > r_Pv_Llm

Page 317: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 316 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Datentyp Vorbelegung Beschreibung sPid_Cmpt.r_Pv_Llm(1) REAL 0.0 Untergrenze des Istwerts

r_Pv_Llm < r_Pv_Hlm sPid_Cmpt.r_Pv_HWrn(1) REAL +3.402822e+

38 Obere Warngrenze des Istwerts Wenn Sie r_Pv_HWrn außerhalb der Istwertgrenzen konfigurieren, wird die konfigurierte absolute Ist-wertobergrenze als Obere Warngrenze verwendet. Wenn Sie r_Pv_HWrn innerhalb der Istwertgrenzen konfigurieren, wird dieser Wert als Obere Warngren-ze verwendet. r_Pv_HWrn > r_Pv_LWrn r_Pv_HWrn ≤ r_Pv_Hlm

sPid_Cmpt.r_Pv_LWrn(1) REAL -3.402822e+38

Untere Warngrenze des Istwerts Wenn Sie r_Pv_LWrn außerhalb der Istwertgrenzen konfigurieren, wird die konfigurierte absolute Istwert-untergrenze als Untere Warngrenze verwendet. Wenn Sie r_Pv_LWrn innerhalb der Istwertgrenzen konfigurieren, wird dieser Wert als Untere Warngren-ze verwendet. r_Pv_LWrn < r_Pv_HWrn r_Pv_LWrn ≥ r_Pv_LWrn

sPidCalc.i_Ctrl_IOutv(1) REAL 0.0 Aktueller I-Anteil sParamCalc.i_Event_SUT INT 0 Die Variable i_Event_SUT (Seite 325) zeigt die aktu-

elle Phase der "Erstoptimierung": sParamCalc.i_Event_TIR INT 0 Die Variable i_Event_TIR (Seite 326) zeigt die aktuel-

le Phase der "Nachoptimierung": sRet.i_Mode INT 0 Die Betriebsart wird flankengesteuert gewechselt.

Folgende Betriebsart wird aktiviert beim Wechsel zu • i_Mode = 0: Betriebsart "Inaktiv" (Stopp des Reg-

lers) • i_Mode = 1: Betriebsart "Erstoptimierung" • i_Mode = 2: Betriebsart "Nachoptimierung" • i_Mode = 3: Betriebsart "Automatikbetrieb" • i_Mode = 4: Betriebsart "Handbetrieb" i_Mode ist remanent.

sRet.r_Ctrl_Gain(1) REAL 1.0 Aktive Proportionalverstärkung Gain ist remanent.

sRet.r_Ctrl_Ti(1) REAL 20.0 • r_Ctrl_Ti > 0.0: Aktive Integrationszeit • r_Ctrl_Ti = 0.0: I-Anteil ist ausgeschaltet r_Ctrl_Ti ist remanent.

sRet.r_Ctrl_Td(1) REAL 0.0 • r_Ctrl_Td > 0.0: Aktive Differenzierzeit • r_Ctrl_Td = 0.0: D-Anteil ist ausgeschaltet r_Ctrl_Td ist remanent.

sRet.r_Ctrl_A(1) REAL 0.0 Aktiver Koeffizient Differenzierverzug r_Ctrl_A ist remanent.

Page 318: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 317

Variable Datentyp Vorbelegung Beschreibung sRet.r_Ctrl_B(1) REAL 0.0 Aktive Gewichtung des P-Anteils

r_Ctrl_B ist remanent. sRet.r_Ctrl_C(1) REAL 0.0 Aktive Gewichtung des D-Anteils

r_Ctrl_C ist remanent. sRet.r_Ctrl_Cycle(1) REAL 1.0 Aktive Abtastzeit des PID-Algorithmus

r_Ctrl_Cycle wird während der Optimierung ermittelt und zu einem ganzzahligen Vielfachen von r_Cycle aufgerundet. r_Ctrl_Cycle wird als Periodendauer der Pulsweiten-modulation verwendet. r_Ctrl_Cycle ist remanent.

Siehe auch Technologieobjekte in Gerät laden (Seite 47)

Page 319: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 318 Funktionshandbuch, 11/2019, A5E35300226-AE

9.1.5.5 Parameter State und sRet.i_Mode V1

Zusammenhang der Parameter Der Parameter State zeigt die aktuelle Betriebsart des PID-Reglers. Sie können den Parameter State nicht ändern.

Um die Betriebsart zu wechseln, müssen Sie die Variable sRet.i_Mode ändern. Das gilt auch, wenn in sRet.i_Mode bereits der Wert für die neue Betriebsart steht. Setzen Sie dann z. B. erst sRet.i_Mode = 0 und anschließend sRet.i_Mode = 3. Wenn die aktuelle Betriebsart des Reglers diesen Wechsel erlaubt, wird State auf den Wert von sRet.i_Mode gesetzt.

Wenn PID_Compact automatisch die Betriebsart wechselt gilt: State != sRet.i_Mode.

Beispiele:

● Erfolgreiche Erstoptimierung State = 3 und sRet.i_Mode = 1

● Im Fehlerfall State = 0 und sRet.i_Mode bleibt auf bisherigem Wert, z. B. sRet.i_Mode = 3

● ManualEnalbe = TRUE State = 4 und sRet.i_Mode bleibt auf bisherigem Wert, z. B. sRet.i_Mode = 3

Hinweis

Sie wollen z. B. eine erfolgreiche Nachoptimierung wiederholen ohne den Automatikbetrieb mit i_Mode = 0 zu beenden.

Wenn Sie sRet.i_Mode für einen Takt auf einen ungültigen Wert setzen, z. B. 9999, hat das keinen Einfluß auf State. Im nächsten Takt setzen Sie Mode = 2. So können Sie eine Änderung an sRet.i_Mode erzeugen, ohne erst in die Betriebsart "Inaktiv" zu wechseln.

Page 320: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 319

Bedeutung der Werte State / sRet.i_Mode

Beschreibung der Betriebsart

0 Inaktiv Der Regler ist ausgeschaltet. Bevor eine Erstoptimierung durchgeführt wurde, befindet sich der Regler in der Betriebsart "Inaktiv". Im laufenden Betrieb wechselt der PID-Regler in die Betriebsart "Inaktiv", wenn ein Fehler eintritt oder wenn im Inbetriebnahmefenster das Symbol "Regler deaktivieren" geklickt wird.

1 Erstoptimierung Die Erstoptimierung ermittelt die Prozessantwort auf einen Sprung des Ausgangswerts und sucht den Wendepunkt. Aus der maximalen Steigung und der Totzeit der Regelstrecke werden die optimalen PID-Parameter berechnet. Voraussetzungen für die Erstoptimierung: • Der Regler befindet sich in der Betriebsart Inaktiv oder Handbetrieb • ManualEnable = FALSE • Der Istwert darf nicht zu nah am Sollwert sein.

|Setpoint - Input| > 0.3 * | sPid_Cmpt.r_Pv_Hlm - sPid_Cmpt.r_Pv_Llm| und

|Setpoint - Input| > 0.5 * |Setpoint| • Der Sollwert darf während der Erstoptimierung nicht geändert werden. Je stabiler der Istwert ist, desto leichter und genauer können die PID-Parameter ermittelt werden. Ein Rau-schen des Istwerts ist solange akzeptabel, wie der Anstieg des Istwerts signifikant größer ist als das Rau-schen. Bevor die PID-Parameter neu berechnet werden, werden sie gesichert und können mit sPid_Cmpt.b_LoadBackUp reaktiviert werden. Nach erfolgreicher Erstoptimierung wird in den Automatikbetrieb geschaltet; nach erfolgloser Erstoptimie-rung in die Betriebsart "Inaktiv". Die Phase der Erstoptimierung wird mit Variable i_Event_SUT V1 (Seite 325) angezeigt.

Page 321: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 320 Funktionshandbuch, 11/2019, A5E35300226-AE

State / sRet.i_Mode

Beschreibung der Betriebsart

2 Nachoptimierung Die Nachoptimierung generiert eine konstante, begrenzte Schwingung des Istwertes. Aus Amplitude und Frequenz dieser Schwingung werden die PID-Parameter optimiert. Die Unterschiede zwischen der Prozes-santwort während der Erst- und Nachoptimierung werden analysiert. Aus den Ergebnissen werden alle PID-Parameter neu berechnet. Die PID-Parameter aus der Nachoptimierung zeigen meist ein besseres Füh-rungs- und Störverhalten als die PID-Parameter aus der Erstoptimierung. PID_Compact versucht automatisch eine Schwingung zu erzeugen, die größer ist als das Rauschen des Istwerts. Die Nachoptimierung wird nur geringfügig von der Stabilität des Istwerts beeinflusst. Bevor die PID-Parameter neu berechnet werden, werden sie gesichert und können mit sPid_Cmpt.b_LoadBackUp reaktiviert werden. Voraussetzungen für Nachoptimierung: • Es werden keine Störungen erwartet. • Der Sollwert und der Istwert befinden sich innerhalb der konfigurierten Grenzen • Der Sollwert darf während der Nachoptimierung nicht geändert werden. • ManualEnable = FALSE • Betriebsart Automatikbetrieb (State = 3), Inaktiv (State = 0) oder Handbetrieb (State = 4) Die Nachoptimierung verläuft folgendermaßen beim Start aus: • Automatikbetrieb (State = 3)

Wenn Sie die vorhandenen PID-Parameter durch die Optimierung verbessern wollen, starten Sie die Nachoptimierung aus dem Automatikbetrieb.

PID_Comact regelt solange mit den vorhandenen PID-Parametern, bis der Regelkreis eingeschwungen ist und die Voraussetzungen für eine Nachoptimierung erfüllt sind. Erst dann startet die Nachoptimie-rung.

• Inaktiv (State = 0) oder Handbetrieb (State = 4)

Wenn die Voraussetzungen für eine Erstoptimierung erfüllt sind, wird eine Erstoptimierung gestartet. Mit den ermittelten PID-Parametern wird solange geregelt, bis der Regelkreis eingeschwungen ist und die Voraussetzungen für eine Nachoptimierung erfüllt sind. Erst dann startet die Nachoptimierung. Ist die Erstoptimierung nicht möglich, wechselt PID_Compact in die Betriebsart "Inaktiv".

Wenn sich der Istwert für eine Erstoptimierung bereits zu nah am Sollwert befindet oder sPid_Calc.b_RunIn = TRUE, wird versucht den Sollwert mit minimalem oder maximalem Ausgangswert zu erreichen. Das kann ein erhöhtes Überschwingen verursachen.

Nach erfolgreicher "Nachoptimierung" wechselt der Regler in die Betriebsart "Automatikbetrieb"; nach er-folgloser "Nachoptimierung" in die Betriebsart "Inaktiv". Die Phase der "Nachoptimierung" wird mit Variable i_Event_TIR V1 (Seite 326) angezeigt.

Page 322: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 321

State / sRet.i_Mode

Beschreibung der Betriebsart

3 Automatikbetrieb Im Automatikbetrieb regelt PID_Compact die Regelstrecke entsprechend der vorgegebenen Parameter aus. Wenn eine der folgenden Voraussetzungen erfüllt ist, wird in den Automatikbetrieb gewechselt: • Erstoptimierung erfolgreich abgeschlossen • Nachoptimierung erfolgreich abgeschlossen • Ändern der Variable sRet.i_Mode auf den Wert 3. Wenn die CPU eingeschaltet wird oder von Stopp in RUN wechselt, startet PID_Compact in der zuletzt aktiven Betriebsart. Um PID_Compact in der Betriebsart "Inaktiv" zu belassen, setzen Sie sb_RunModeByStartup = FALSE.

4 Handbetrieb Im Handbetrieb geben Sie einen manuellen Ausgangswert am Parameter ManualValue vor. Diese Betriebsart wird aktiviert, wenn sRet.i_Mode = 4 oder bei steigender Flanke an ManualEnable. Wenn ManualEnable TRUE wird, ändert sich nur State. sRet.i_Mode bleibt auf dem bisherigen Wert. Bei einer fallenden Flanke an ManualEnable kehrt PID_Compact in die vorhergehende Betriebsart zurück. Der Wechsel in den Automatikbetrieb erfolgt stoßfrei.

Siehe auch Ausgangsparameter PID_Compact V1 (Seite 311)

Erstoptimierung V1 (Seite 118)

Nachoptimierung V1 (Seite 120)

Betriebsart "Handbetrieb" V1 (Seite 122)

Variable i_Event_SUT V1 (Seite 325)

Variable i_Event_TIR V1 (Seite 326)

Page 323: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 322 Funktionshandbuch, 11/2019, A5E35300226-AE

9.1.5.6 Parameter Error V1 Stehen gleichzeitig mehrere Fehler an, so werden die Werte der Errorcodes binär addiert angezeigt. Wird z. B. der Errorcode 0003 angezeigt, so stehen gleichzeitig die Fehler 0001 und 0002 an.

Error (DW#16#...)

Beschreibung

0000 Es steht kein Fehler an. 0001 Der Parameter "Input" ist außerhalb der Istwertgrenzen.

• Input > sPid_Cmpt.r_Pv_Hlm oder • Input < sPid_Cmpt.r_Pv_Llm Sie können das Stellglied erst wieder verfahren, wenn der Fehler behoben ist.

0002 Am Parameter "Input_PER" liegt ein ungültiger Wert an. Überprüfen Sie, ob am Analogeingang ein Fehler ansteht.

0004 Fehler während der Nachoptimierung. Die Schwingung des Istwerts konnte nicht aufrecht erhalten wer-den.

0008 Fehler beim Starten der Erstoptimierung. Der Istwert ist zu nahe am Sollwert. Starten Sie die Nachopti-mierung.

0010 Der Sollwert wurde während der Optimierung verändert. 0020 Die Erstoptimierung ist im Automatikbetrieb und während der Nachoptimierung nicht erlaubt. 0080 Fehler bei der Erstoptimierung. Die Ausgangswertgrenzen sind nicht korrekt konfiguriert oder der Istwert

reagiert nicht wie erwartet. Überprüfen Sie, ob die Grenzen des Ausgangswerts korrekt konfiguriert sind und zum Regelsinn pas-sen. Stellen Sie außerdem sicher, dass der Istwert vor Start der Erstoptimierung nicht stark schwingt.

0100 Fehler während der Optimierung führte zu ungültigen Parametern. 0200 Ungültiger Wert am Parameter "Input": Wert hat kein gültiges Zahlenformat. 0400 Berechnung des Ausgangswerts fehlgeschlagen. Überprüfen Sie die PID-Parameter. 0800 Abtastzeitfehler: PID_Compact wird nicht innerhalb der Abtastzeit des Weckalarm-OBs aufgerufen.

Falls dieser Fehler bei der Simulation mit PLCSIM aufgetreten ist, beachten Sie die Hinweise unter PID_Compact V1 mit PLCSIM simulieren (Seite 123).

1000 Ungültiger Wert am Parameter "Setpoint": Wert hat kein gültiges Zahlenformat.

Siehe auch Ausgangsparameter PID_Compact V1 (Seite 311)

Page 324: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 323

9.1.5.7 Parameter Reset V1 Das Verhalten bei Reset = TRUE ist abhängig von der Version der Anweisung PID_Compact.

Reset-Verhalten PID_Compact ab V.1.1 Durch eine steigende Flanke an Reset wird in die Betriebsart "Inaktiv" gewechselt, Fehler und Warnungen werden zurückgesetzt und der I-Anteil wird gelöscht. Durch eine fallende Flanke an Reset wird in die zuletzt aktive Betriebsart gewechselt. Falls zuvor Automatikbetrieb aktiv war, wird der I-Anteil so vorbelegt, dass die Umschaltung stoßfrei erfolgt.

① Einschalten ② Fehler ③ Reset

Page 325: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 324 Funktionshandbuch, 11/2019, A5E35300226-AE

Reset-Verhalten PID_Compact V.1.0 Durch eine steigende Flanke an Reset wird in die Betriebsart "Inaktiv" gewechselt, Fehler und Warnungen werden zurückgesetzt und der I-Anteil wird gelöscht. Erst durch eine Flanke an i_Mode wird der Regler wieder eingeschaltet.

① Einschalten ② Fehler ③ Reset

Page 326: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 325

9.1.5.8 Variable sd_warning V1 Stehen gleichzeitig mehrere Warnungen an, so werden die Werte der Variable sd_warning binär addiert angezeigt. Wenn z. B. die Warnung 0003 angezeigt, so stehen gleichzeitig die Warnungen 0001 und 0002 an.

sd_warning (DW#16#....)

Beschreibung

0000 Es liegt keine Warnung vor. 0001 Während der Erstoptimierung wurde der Wendepunkt nicht gefunden. 0002 Während der Nachoptimierung war die Oszillation verstärkt. 0004 Der Sollwert lag außerhalb der eingestellten Grenzen. 0008 Für die gewählte Berechnungsmethode wurden nicht alle notwendigen Eigenschaften der Regelstrecke

bestimmt. Ersatzweise wurden die PID-Parameter mit der Methode "i_CtrlTypeTIR = 3" berechnet. 0010 Die Betriebsart konnte nicht geändert werden, da ManualEnable = TRUE. 0020 Die Abtastzeit des PID-Algorithmus wird durch die Zykluszeit des aufrufenden OB begrenzt.

Um bessere Ergebnisse zu erzielen, verwenden Sie kürzere Zykluszeiten des OB. 0040 Der Istwert hat eine seiner Warngrenze überschritten.

Folgende Warnungen werden gelöscht, sobald die Ursache behoben ist:

● 0004

● 0020

● 0040

Alle anderen Warnungen werden bei steigender Flanke an Reset gelöscht.

9.1.5.9 Variable i_Event_SUT V1 i_Event_SUT Name Beschreibung

0 SUT_INIT Erstoptimierung initialisieren 100 SUT_STDABW Standardabweichung berechnen 200 SUT_GET_POI Wendepunkt ermitteln

9900 SUT_IO Erstoptimierung erfolgreich 1 SUT_NIO Erstoptimierung nicht erfolgreich

Siehe auch Statische Variablen PID_Compact V1 (Seite 312)

Parameter State und sRet.i_Mode V1 (Seite 318)

Page 327: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.1 PID_Compact

PID-Regelung 326 Funktionshandbuch, 11/2019, A5E35300226-AE

9.1.5.10 Variable i_Event_TIR V1 i_Event_TIR Name Beschreibung

-100 TIR_FIRST_SUT Die Nachoptimierung ist nicht möglich. Es wird erst eine Erstoptimierung durchge-führt.

0 TIR_INIT Nachoptimierung initialisieren 200 TIR_STDABW Standardabweichung berechnen 300 TIR_RUN_IN Versuchen Sollwert zu erreichen 400 TIR_CTRLN Versuchen Sollwert mit vorhandenen PID-Parametern zu erreichen

(wenn Erstoptimierung erfolgreich war) 500 TIR_OSZIL Oszillation ermitteln und Parameter berechnen

9900 TIR_IO Nachoptimierung erfolgreich 1 TIR_NIO Nachoptimierung nicht erfolgreich

Siehe auch Statische Variablen PID_Compact V1 (Seite 312)

Parameter State und sRet.i_Mode V1 (Seite 318)

Page 328: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 327

9.2 PID_3Step

9.2.1 Neuerungen PID_3Step

PID_3Step V2.3 ● Ab PID_3Step Version 2.3 kann die Überwachung und Begrenzung der Verfahrzeit mit

Config.VirtualActuatorLimit = 0.0 deaktiviert werden.

PID_3Step V2.2 ● Einsatz mit S7-1200

Ab PID_3Step V2.2 ist die Anweisung mit V2-Funktionalität auch auf einer S7-1200 ab der Firmware-Version 4.0 einsetzbar.

PID_3Step V2.0 ● Verhalten im Fehlerfall

Das Verhalten bei ActivateRecoverMode = TRUE wurde grundlegend überarbeitet. PID_3Step verhält sich in der Default-Einstellung Fehler toleranter.

ACHTUNG

Ihre Anlage kann beschädigt werden.

Wenn Sie die Default-Einstellung verwenden, bleibt PID_3Step auch beim Überschreiten der Istwertgrenzen im Automatikbetrieb. Dadurch kann Ihre Anlage beschädigt werden.

Konfigurieren Sie für Ihre Regelstrecke ein Verhalten im Fehlerfall, das Ihre Anlage vor Beschädigung schützt.

Mit dem Eingangsparameter ErrorAck quittieren Sie die Fehler und Warnungen, ohne den Regler neu zu starten oder den I-Anteil zu löschen.

Durch einen Wechsel der Betriebsart werden nicht mehr anstehende Fehler nicht quittiert.

● Wechsel der Betriebsarten

Die Betriebsart geben Sie am Durchgangsparameter Mode vor und starten diese über eine steigende Flanke an ModeActivate. Die Variable Retain.Mode ist entfallen.

Die Stellzeitmessung kann nicht mehr mit GetTransitTime.Start gestartet werden, sondern nur noch mit Mode = 6 und einer steigende Flanke an ModeActivate.

Page 329: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 328 Funktionshandbuch, 11/2019, A5E35300226-AE

● Multiinstanzfähigkeit

Sie können PID_3Step als Multiinstanz-DB aufrufen. Dann wird kein Technologieobjekt angelegt und es steht Ihnen keine Parametrier- und Inbetriebnahmeoberfläche zur Verfügung. Sie müssen PID_3Step direkt im Multiinstanz-DB parametrieren und über eine Beobachtungstabelle in Betrieb nehmen.

● Anlaufverhalten

Die an Mode vorgegebene Betriebsart wird auch gestartet bei einer fallenden Flanke an Reset und bei Kaltstart der CPU, wenn RunModeByStartup = TRUE ist.

● ENO-Verhalten

ENO wird in Abhängigkeit von der Betriebsart gesetzt.

Wenn State = 0 ist, dann ist ENO = FALSE.

Wenn State ≠ 0 ist, dann ist ENO = TRUE.

● Handbetrieb

Die Eingangsparameter Manual_UP und Manual_DN arbeiten nicht mehr Flanken gesteuert. Der Flanken gesteuerte Handbetrieb ist weiterhin über die Variablen ManualUpInternal und ManualDnInternal möglich.

Im "Handbetrieb ohne Anschlagsignale" (Mode = 10) werden die Anschlagsignale Actuator_H und Actuator_L ignoriert, obwohl sie eingeschaltet sind.

● Vorbelegung der PID-Parameter

Folgende Vorbelegungen wurden geändert:

– Gewichtung des P-Anteils (PWeighting) von 0.0 auf 1.0

– Gewichtung des D-Anteils (DWeighting) von 0.0 auf 1.0

– Koeffizient für den Differenzierverzug (TdFiltRatio) von 0.0 auf 0.2

● Begrenzung der Motorstellzeit

Sie konfigurieren an der Variable Config.VirtualActuatorLimit, um wie viel % der Motorstellzeit das Stellglied maximal in eine Richtung verfahren wird.

● Sollwertvorgabe während der Optimierung

Die erlaubte Schwankung des Sollwerts während der Optimierung konfigurieren Sie an der Variable CancelTuningLevel.

● Aufschalten einer Störgröße

Sie können am Parameter Disturbance eine Störgröße aufschalten.

● Fehlerbehebung

Wenn die Anschlagsignale nicht aktiviert sind (ActuatorEndStopOn = FALSE), werden Actuator_H und Actuator_L nicht mehr für die Ermittlung von ScaledFeedback berücksichtigt.

Page 330: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 329

PID_3Step V1.1 ● Handbetrieb beim Anlauf der CPU

Wenn beim Start der CPU ManualEnable = TRUE, startet PID_3Step im Handbetrieb. Eine steigende Flanke an ManualEnable ist nicht notwendig.

● Verhalten im Fehlerfall

Die Variable ActivateRecoverMode wirkt im Handbetrieb nicht mehr.

● Fehlerbehebung

Die Variable Progress wird nach erfolgreicher Optimierung oder Stellzeitmessung zurückgesetzt.

9.2.2 Kompatibilität mit CPU und FW Die folgende Tabelle zeigt, auf welcher CPU Sie welche Version von PID_3Step einsetzen können. CPU FW PID_3Step S7-1200 ab V4.2 V2.3

V2.2 V1.1

V4.0 bis V4.1 V2.2 V1.1

V3.x V1.1 V1.0

V2.x V1.1 V1.0

V1.x - S7-1500 ab V2.0 V2.3

V2.2 V2.1 V2.0

V1.5 bis V1.8 V2.2 V2.1 V2.0

V1.1 V2.1 V2.0

V1.0 V2.0

Page 331: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 330 Funktionshandbuch, 11/2019, A5E35300226-AE

9.2.3 CPU-Bearbeitungszeit und Speicherbedarf PID_3Step V2.x

CPU-Bearbeitungszeit Typische CPU-Bearbeitungszeiten des Technologieobjekts PID_3Step ab der Version V2.0 in Abhängigkeit vom CPU-Typ. CPU Typ. CPU-Bearbeitungszeit PID_3Step V2.x CPU 1211C ≥ V4.0 410 µs CPU 1215C ≥ V4.0 410 µs CPU 1217C ≥ V4.0 410 µs CPU 1505S ≥ V1.0 50 µs CPU 1510SP-1 PN ≥ V1.6 120 µs CPU 1511-1 PN ≥ V1.5 120 µs CPU 1512SP-1 PN ≥ V1.6 120 µs CPU 1516-3 PN/DP ≥ V1.5 65 µs CPU 1518-4 PN/DP ≥ V1.5 5 µs

Speicherbedarf Speicherbedarf eines Instanz-DB des Technologieobjekts PID_3Step ab der Version V2.0. Speicherbedarf Speicherbedarf des Instanz-DB von

PID_3Step V2.x Ladespeicherbedarf ca. 15000 Bytes Gesamter Arbeitsspeicherbedarf 1040 Bytes Remanenter Arbeitsspeicherbedarf 60 Bytes

Page 332: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 331

9.2.4 PID_3Step V2

9.2.4.1 Beschreibung PID_3Step V2

Beschreibung Mit der Anweisung PID_3Step konfigurieren Sie einen PID-Regler mit Selbstoptimierung für Ventile oder Stellglieder mit integrierendem Verhalten.

Folgende Betriebsarten sind möglich:

● Inaktiv

● Erstoptimierung

● Nachoptimierung

● Automatikbetrieb

● Handbetrieb

● Ersatzausgangswert anfahren

● Stellzeitmessung

● Fehlerüberwachung

● Ersatzausgangswert anfahren mit Fehlerüberwachung

● Handbetrieb ohne Anschlagsignale

Die Betriebsarten sind detailliert beschrieben beim Parameter State.

PID-Algorithmus PID_3Step ist ein PIDT1-Regler mit Anti-Windup und Gewichtung des P- und D-Anteils. Der PID-Algorithmus arbeitet nach folgender Formel:

Δy Ausgangswert des PID-Algorithmus Kp Proportionalverstärkung s Laplace-Operator b Gewichtung des P-Anteils w Sollwert x Istwert TI Integrationszeit TD Differenzierzeit a Koeffizient für den Differenzierverzug (Differenzierverzug T1 = a × TD) c Gewichtung des D-Anteils

Page 333: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 332 Funktionshandbuch, 11/2019, A5E35300226-AE

Blockschaltbild ohne Stellungsrückmeldung

Page 334: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 333

Blockschaltbild mit Stellungsrückmeldung

Page 335: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 334 Funktionshandbuch, 11/2019, A5E35300226-AE

Blockschaltbild PIDT1 mit Anti-Windup

Aufruf PID_3Step wird im konstanten Zeitraster eines Weckalarm-OBs aufgerufen.

Wenn Sie PID_3Step als Multiinstanz-DB aufrufen, wird kein Technologieobjekt angelegt. Es steht Ihnen keine Parametrier- und Inbetriebnahmeoberfläche zur Verfügung. Sie müssen PID_3Step direkt im Multiinstanz-DB parametrieren und über eine Beobachtungstabelle in Betrieb nehmen.

Laden in Gerät Die Aktualwerte remanenter Variablen werden nur aktualisiert, wenn Sie PID_3Step vollständig laden.

Technologieobjekte in Gerät laden (Seite 47)

Anlauf Bei Anlauf der CPU startet PID_3Step in der Betriebsart, die am Durchgangsparameter Mode gespeichert ist. Um PID_3Step in der Betriebsart "Inaktiv" zu belassen, setzen Sie RunModeByStartup = FALSE.

Page 336: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 335

Verhalten im Fehlerfall Im Automatikbetrieb und während der Inbetriebnahme hängt das Verhalten im Fehlerfall von den Variablen ErrorBehaviour und ActivateRecoverMode ab. Im Handbetrieb ist das Verhalten unabhängig von ErrorBehaviour und ActivateRecoverMode. Wenn ActivateRecoverMode = TRUE ist, hängt das Verhalten zusätzlich vom aufgetretenen Fehler ab. Error-Behaviour

Activate-RecoverMode

Konfigurationseditor > Stellgliedeinstellung > Output setzen auf

Verhalten

FALSE FALSE Aktuellen Ausgangswert Wechsel in Betriebsart "Inaktiv" (Sta-te = 0) Das Stellglied bleibt in der aktuellen Position.

FALSE TRUE Aktuellen Ausgangswert für die Fehlerdauer

Wechsel in Betriebsart "Fehlerüberwa-chung" (State = 7) Das Stellglied bleibt für die Fehlerdau-er in der aktuellen Position.

TRUE FALSE Ersatzausgangswert Wechsel in Betriebsart "Ersatzaus-gangswert anfahren" (State = 5) Das Stellglied wird auf den konfigurier-ten Ersatzausgangswert gefahren. Wechsel in Betriebsart "Inaktiv" (Sta-te = 0) Das Stellglied bleibt in der aktuellen Position.

TRUE TRUE Ersatzausgangswert für die Fehlerdauer

Wechsel in Betriebsart "Ersatzaus-gangswert anfahren mit Fehlerüber-wachung" (State = 8) Das Stellglied wird auf den konfigurier-ten Ersatzausgangswert gefahren. Wechsel in Betriebsart "Fehlerüberwa-chung" (State = 7)

PID_3Step verwendet im Handbetrieb ManualValue als Ausgangswert, außer bei den folgenden Fehlern: ● 2000h: Ungültiger Wert am Parameter Feedback_PER. ● 4000h: Ungültiger Wert am Parameter Feedback. ● 8000h: Fehler bei der digitalen Stellungsrückmeldung. Sie können die Position des Stellglieds dann nur mit Manual_UP und Manual_DN verändern, nicht mit ManualValue: Der Parameter Error zeigt, ob in diesem Takt ein Fehler aufgetreten ist. Der Parameter ErrorBits zeigt, welche Fehler aufgetreten sind. ErrorBits wird durch eine steigende Flanke an Reset oder ErrorAck zurückgesetzt.

Siehe auch Parameter State und Mode V2 (Seite 359) Parameter ErrorBits V2 (Seite 365) PID_3Step V2 konfigurieren (Seite 125)

Page 337: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 336 Funktionshandbuch, 11/2019, A5E35300226-AE

9.2.4.2 Arbeitsweise PID_3Step V2

Istwertgrenzen überwachen In den Variablen Config.InputUpperLimit und Config.InputLowerLimit legen Sie eine Ober- und Untergrenze des Istwerts fest. Wenn der Istwert außerhalb dieser Grenzen liegt, tritt ein Fehler auf (ErrorBits = 0001h).

In den Variablen Config.InputUpperWarning und Config.InputLowerWarning legen Sie eine obere und untere Warngrenze des Istwerts fest. Wenn der Istwert außerhalb dieser Warngrenzen liegt, tritt eine Warnung auf (Warning = 0040h) und der Ausgangsparameter InputWarning_H oder InputWarning_L wird TRUE.

Sollwert begrenzen In den Variablen Config.SetpointUpperLimit und Config.SetpointLowerLimit legen Sie eine Ober- und Untergrenze des Sollwerts fest. PID_3Step begrenzt den Sollwert automatisch auf die Istwertgrenzen. Sie können den Sollwert auf einen kleineren Bereich begrenzen. PID_3Step prüft, ob dieser Bereich innerhalb der Istwertgrenzen liegt. Wenn der Sollwert außerhalb dieser Grenzen liegt, wird die Ober- oder Untergrenze als Sollwert verwendet und der Ausgangsparameter SetpointLimit_H oder SetpointLimit_L wird TRUE.

Der Sollwert wird in allen Betriebsarten begrenzt.

Ausgangswert begrenzen In den Variablen Config.OutputUpperLimit und Config.OutputLowerLimit legen Sie eine Ober- und Untergrenze des Ausgangswerts fest. Die Ausgangswertgrenzen müssen innerhalb "Unterer Anschlag" und "Oberer Anschlag" liegen.

● Oberer Anschlag: Config.FeedbackScaling.UpperPointOut

● Unter Anschlag: Config.FeedbackScaling.LowerPointOut

Es muss gelten:

UpperPointOut ≥ OutputUpperLimit > OutputLowerLimit ≥ LowerPointOut

Page 338: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 337

Die gültigen Werte für "Oberer Anschlag" und "Unterer Anschlag" hängen ab von:

● FeedbackOn

● FeedbackPerOn

● OutputPerOn

OutputPerOn FeedbackOn FeedbackPerOn LowerPointOut UpperPointOut FALSE FALSE FALSE nicht einstellbar (0.0 %) nicht einstellbar (100.0

%) FALSE TRUE FALSE -100.0 % oder 0.0 % 0.0 % oder +100.0 % FALSE TRUE TRUE -100.0 % oder 0.0 % 0.0 % oder +100.0 % TRUE FALSE FALSE nicht einstellbar (0.0 %) nicht einstellbar (100.0

%) TRUE TRUE FALSE -100.0 % oder 0.0 % 0.0 % oder +100.0 % TRUE TRUE TRUE -100.0 % oder 0.0 % 0.0 % oder +100.0 %

Falls OutputPerOn = FALSE und FeedbackOn = FALSE, können Sie den Ausgangswert nicht begrenzen. Output_UP und Output_DN werden dann bei Actuator_H = TRUE oder Actuator_L = TRUE zurück gesetzt. Wenn auch keine Anschlagsignale vorhanden sind, werden Output_UP und Output_DN nach einer Verfahrzeit von Config.VirtualActuatorLimit × Retain.TransitTime/100 zurück gesetzt. Ab PID_3Step Version 2.3 kann die Überwachung und Begrenzung der Verfahrzeit mit Config.VirtualActuatorLimit = 0.0 deaktiviert werden.

Der Ausgangswert beträgt 27648 bei 100 % und -27648 bei -100 %. PID_3Step muss das Ventil vollständig schließen können.

Hinweis Einsatz mit zwei oder mehr Stellgliedern

PID_3 Step ist nicht für den Einsatz mit zwei oder mehr Stellgliedern (z. B. in Heizen-/Kühlen-Anwendungen) geeignet, da unterschiedliche Stellglieder auch unterschiedliche PID-Parameter benötigen, um ein gutes Regelverhalten zu erzielen.

Ersatzausgangswert PID_3Step kann im Fehlerfall einen Ersatzausgangswert ausgeben und das Stellglied in eine sichere Position stellen, die Sie an der Variablen SavePosition vorgeben. Der Ersatzausgangswert muss innerhalb der Ausgangswertgrenzen liegen.

Page 339: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 338 Funktionshandbuch, 11/2019, A5E35300226-AE

Gültigkeit der Signale überwachen Die Werte der folgenden Parameter werden bei Verwendung auf Gültigkeit überwacht:

● Setpoint

● Input

● Input_PER

● Input_PER

● Feedback

● Feedback_PER

● Disturbance

● ManualValue

● SavePosition

● Output_PER

Abtastzeit PID_3Step überwachen Die Abtastzeit entspricht im Idealfall der Zykluszeit des aufrufenden OB. Die Anweisung PID_3Step misst jeweils den Zeitabstand zwischen zwei Aufrufen. Das ist die aktuelle Abtastzeit. Bei jedem Wechsel der Betriebsart und bei Erstanlauf wird der Mittelwert der ersten 10 Abtastzeiten gebildet. Wenn die aktuelle Abtastzeit zu stark von diesem Mittelwert abweicht, tritt ein Fehler auf (ErrorBits = 0800h).

Während der Optimierung tritt der Fehler auf, wenn gilt:

● Neuer Mittelwert >= 1,1 x alter Mittelwert

● Neuer Mittelwert <= 0,9 x alter Mittelwert

Im Automatikbetrieb tritt der Fehler auf, wenn gilt:

● Neuer Mittelwert >= 1,5 x alter Mittelwert

● Neuer Mittelwert <= 0,5 x alter Mittelwert

Wenn Sie die Überwachung der Abtastzeit ausschalten (CycleTime.EnMonitoring = FALSE), können Sie PID_3Step auch im OB1 aufrufen. Sie müssen dann aufgrund der schwankenden Abtastzeit eine schlechtere Regelqualität akzeptieren.

Abtastzeit des PID-Algorithmus Da die Regelstrecke eine gewisse Zeit benötigt, um auf eine Änderung des Ausgangswerts zu reagieren, ist es sinnvoll, den Ausgangswert nicht in jedem Zyklus zu berechnen. Die Abtastzeit PID-Algorithmus ist die Zeit zwischen zwei Ausgangswertberechnungen. Sie wird während der Optimierung ermittelt und auf ein Vielfaches der Zykluszeit gerundet. Alle anderen Funktionen von PID_3Step werden bei jedem Aufruf durchgeführt.

Page 340: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 339

Motorstellzeit messen Die Motorstellzeit ist die Zeit in Sekunden, die der Motor benötigt, um das Stellglied vom geschlossenen in den geöffneten Zustand zu bewegen. Das Stellglied wird maximal für Config.VirtualActuatorLimit × Retain.TransitTime/100 in eine Richtung bewegt. PID_3Step benötigt die Motorstellzeit so genau wie möglich, um ein gutes Regelergebnis zu erreichen. Die Angaben in der Dokumentation des Stellglieds sind gemittelte Werte für diesen Typ Stellglieder. Für das konkret verwendete Stellglied kann der Wert variieren. Die Motorstellzeit können Sie während der Inbetriebnahme messen. Die Ausgangswertgrenzen werden während der Motorstellzeitmessung nicht berücksichtigt. Dass Stellglied kann bis zum oberen oder unteren Anschlag verfahren werden.

Die Motorstellzeit wird sowohl bei der Berechnung des analogen Ausgangswerts als auch bei der Berechnung der digitalen Ausgangswerte berücksichtigt. Sie ist vor allem bei der Selbstoptimierung und dem Anti-Windup-Verhalten für eine korrekte Arbeitsweise notwendig. Konfigurieren Sie deshalb die Motorstellzeit mit dem Wert, den der Motor benötigt, um das Stellglied vom geschlossenen in den geöffneten Zustand zu bewegen.

Ist in Ihrem Prozess keine relevante Motorstellzeit wirksam (z. B. bei Magnetventilen), sodass der Ausgangswert direkt und in vollem Umfang auf den Prozess wirkt, so verwenden Sie stattdessen PID_Compact.

Regelsinn Meist soll mit einer Erhöhung des Ausgangswerts eine Erhöhung des Istwerts erreicht werden. In diesem Fall spricht man von einem normalen Regelsinn. Für Kühlungen und Abflussregelungen kann es notwendig sein, den Regelsinn zu invertieren. PID_3Step arbeitet nicht mit negativer Proportionalverstärkung. Wenn InvertControl = TRUE, bewirkt eine steigende Regeldifferenz eine Verringerung des Ausgangswerts. Der Regelsinn wird auch während Erst- und Nachoptimierung berücksichtigt.

Siehe auch PID_3Step V1 konfigurieren (Seite 148)

Page 341: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 340 Funktionshandbuch, 11/2019, A5E35300226-AE

9.2.4.3 Änderungen der Schnittstelle PID_3Step V2 Die folgende Tabelle zeigt, was sich an der Schnittstelle der Anweisung PID_3Step geändert hat.

PID_3Step V1 PID_3Step V2 Änderung Input_PER Input_PER Datentyp von Word zu Int Feedback_PER Feedback_PER Datentyp von Word zu Int Disturbance Neu Manual_UP Manual_UP Funktion Manual_DN Manual_DN Funktion ErrorAck Neu ModeActivate Neu Output_PER Output_PER Datentyp von Word zu Int ManualUPInternal Neu ManualDNInternal Neu CancelTuningLevel Neu VirtualActuatorLImit Neu Config.Loadbackup Loadbackup Umbenannt Config.TransitTime Retain.TransitTime Umbenannt und Remanenz hinzugefügt GetTransitTime.Start Ersetzt durch Mode und ModeActivate. SUT.CalculateSUTParams

SUT.CalculateParams Umbenannt

SUT.TuneRuleSUT SUT.TuneRule Umbenannt TIR.CalculateTIRParams TIR.CalculateParams Umbenannt TIR.TuneRuleTIR TIR.TuneRule Umbenannt Retain.Mode Mode Funktion

Deklaration von Static zu Durchgangsparameter

Page 342: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 341

9.2.4.4 Eingangsparameter PID_3Step V2

Parameter Datentyp Vorbelegung Beschreibung Setpoint REAL 0.0 Sollwert des PID-Reglers im Automatikbetrieb Input REAL 0.0 Eine Variable des Anwenderprogramms wird als Quelle des

Istwerts verwendet. Wenn Sie den Parameter Input verwenden, muss Con-fig.InputPerOn = FALSE sein.

Input_PER INT 0 Ein Analogeingang wird als Quelle des Istwerts verwendet. Wenn Sie den Parameter Input_PER verwenden, muss Con-fig.InputPerOn = TRUE sein.

Actuator_H BOOL FALSE Digitale Stellungsrückmeldung des Ventils für den oberen Anschlag Wenn Actuator_H = TRUE ist die Stellung des Ventils am oberen Anschlag und das Ventil wird nicht weiter in diese Richtung bewegt.

Actuator_L BOOL FALSE Digitale Stellungsrückmeldung des Ventils für den unteren Anschlag Wenn Actuator_L = TRUE ist die Stellung des Ventils am unteren Anschlag und das Ventil wird nicht weiter in diese Richtung bewegt.

Feedback REAL 0.0 Stellungsrückmeldung des Ventils Wenn Sie den Parameter Feedback verwenden, muss Con-fig.FeedbackPerOn = FALSE sein.

Feedback_PER INT 0 Analoge Stellungsrückmeldung eines Ventils Wenn Sie den Parameter Feedback_PER verwenden, muss Config.FeedbackPerOn = TRUE sein. Feedback_PER wird skaliert anhand der Variablen: • Config.FeedbackScaling.LowerPointIn • Config.FeedbackScaling.UpperPointIn • Config.FeedbackScaling.LowerPointOut • Config.FeedbackScaling.UpperPointOut

Disturbance REAL 0.0 Störgröße oder Vorsteuerungswert ManualEnable BOOL FALSE • Flanke FALSE -> TRUE aktiviert die Betriebsart "Handbe-

trieb", State = 4, Mode bleibt unverändert.

Solange ManualEnable = TRUE ist, können Sie die Be-triebsart nicht über eine steigende Flanke an ModeActivate ändern und den Inbetriebnahmedialog nicht nutzen.

• Flanke TRUE -> FALSE aktiviert die Betriebsart, die durch Mode vorgegeben wird.

Es wird empfohlen, die Betriebsart nur über ModeActivate zu ändern.

Page 343: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 342 Funktionshandbuch, 11/2019, A5E35300226-AE

Parameter Datentyp Vorbelegung Beschreibung ManualValue REAL 0.0 Im Handbetrieb wird die absolute Position des Ventils vorge-

geben. ManualValue wird nur ausgewertet, wenn Sie Out-put_PER verwenden oder eine Stellungsrückmeldung verfügbar ist.

Manual_UP BOOL FALSE • Manual_UP = TRUE

Das Ventil wird geöffnet, auch wenn Sie Output_PER oder eine Stellungsrückmeldung verwenden. Das Ventil wird nicht mehr bewegt, wenn der obere Anschlag erreicht ist.

Siehe auch Config.VirtualActuatorLimit • Manual_UP = FALSE

Wenn Sie Output_PER oder eine Stellungsrückmeldung verwenden, wird das Ventil auf ManualValue gefahren. Andernfalls wird das Ventil nicht mehr bewegt.

Wenn Manual_UP und Manual_DN gleichzeitig TRUE gesetzt werden, wird das Ventil nicht bewegt.

Manual_DN BOOL FALSE • Manual_DN = TRUE

Das Ventil wird geschlossen, auch wenn Sie Output_PER oder eine Stellungsrückmeldung verwenden. Das Ventil wird nicht mehr bewegt, wenn der untere Anschlag erreicht ist.

Siehe auch Config.VirtualActuatorLimit • Manual_DN = FALSE

Wenn Sie Output_PER oder eine Stellungsrückmeldung verwenden, wird das Ventil auf ManualValue gefahren. Andernfalls wird das Ventil nicht mehr bewegt.

ErrorAck BOOL FALSE • Flanke FALSE -> TRUE

ErrorBits und Warning werden zurückgesetzt.

Page 344: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 343

Parameter Datentyp Vorbelegung Beschreibung Reset BOOL FALSE Führt einen Neustart des Reglers durch.

• Flanke FALSE -> TRUE – Wechsel in Betriebsart "Inaktiv" – ErrorBits und Warnings werden zurückgesetzt.

• Solange Reset = TRUE ist, – bleibt PID_3Step in der Betriebsart "Inaktiv" (State = 0). – können Sie die Betriebsart nicht über Mode und Mo-

deActivate oder ManualEnable ändern. – können Sie den Inbetriebnahmedialog nicht nutzen.

• Flanke TRUE -> FALSE – Falls ManualEnable = FALSE, wechselt PID_3Step in

die Betriebsart, die an Mode gespeichert ist. – Falls Mode = 3, wird der I-Anteil behandelt, wie durch

die Variable IntegralResetMode konfiguriert.

ModeActivate BOOL FALSE • Flanke FALSE -> TRUE

PID_3Step wechselt in die Betriebsart, die an Mode ge-speichert ist.

Page 345: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 344 Funktionshandbuch, 11/2019, A5E35300226-AE

9.2.4.5 Ausgangsparameter PID_3Step V2

Parameter Datentyp Vorbelegung Beschreibung ScaledInput REAL 0.0 Skalierter Istwert ScaledFeedback REAL 0.0 Skalierte Stellungsrückmeldung

Bei einem Stellglied ohne Stellungsrückmeldung zeigt Scale-dFeedback die Position des Stellglieds sehr ungenau an. Dann darf ScaledFeedback nur zur groben Abschätzung der aktuellen Position genutzt werden.

Output_UP BOOL FALSE Digitaler Ausgangswert zum Öffnen des Ventils Wenn Config.OutputPerOn = FALSE, wird der Parameter Output_UP verwendet.

Output_DN BOOL FALSE Digitaler Ausgangswert zum Schließen des Ventils Wenn Config.OutputPerOn = FALSE, wird der Parameter Output_DN verwendet.

Output_PER INT 0 Analoger Ausgangswert Wenn Config.OutputPerOn = TRUE, wird Output_PER ver-wendet. Verwenden Sie Output_PER, falls Sie als Stellglied ein Ventil nutzen, welches über einen analogen Ausgang angespro-chen und mit einem kontinuierlichen Signal gesteuert wird, z. B. 0...10V oder 4...20mA. Der Wert an Output_PER entspricht der Zielstellung des Ventils z. B. Output_PER = 13824, wenn das Ventil zu 50% geöffnet werden soll.

SetpointLimit_H BOOL FALSE Wenn SetpointLimit_H = TRUE, ist die absolute Obergrenze des Sollwerts erreicht (Set-point ≥ Config.SetpointUpperLimit). Der Sollwert wird auf Config.SetpointUpperLimit begrenzt.

SetpointLimit_L BOOL FALSE Wenn SetpointLimit_L = TRUE, ist die absolute Untergrenze des Sollwerts erreicht (Setpoint ≤ Con-fig.SetpointLowerLimit). Der Sollwert wird auf Config.SetpointLowerLimit begrenzt.

InputWarning_H BOOL FALSE Wenn InputWarning_H = TRUE, ist die obere Warngrenze des Istwerts erreicht oder überschritten.

InputWarning_L BOOL FALSE Wenn InputWarning_L = TRUE, ist die untere Warngrenze des Istwerts erreicht oder unterschritten.

Page 346: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 345

Parameter Datentyp Vorbelegung Beschreibung State INT 0 Der Parameter State (Seite 359) zeigt die aktuelle Betriebsart

des PID-Reglers. Sie ändern die Betriebsart mit dem Ein-gangsparameter Mode und einer steigenden Flanke an Mo-deActivate. • State = 0: Inaktiv • State = 1: Erstoptimierung • State = 2: Nachoptimierung • State = 3: Automatikbetrieb • State = 4: Handbetrieb • State = 5: Ersatzausgangswert anfahren • State = 6: Stellzeitmessung • State = 7: Fehlerüberwachung • State = 8: Ersatzausgangswert anfahren mit Fehlerüber-

wachung • State = 10: Handbetrieb ohne Anschlagsignale

Error BOOL FALSE Wenn Error = TRUE, liegt in diesem Takt mindestens eine Fehlermeldungen vor.

ErrorBits DWORD DW#16#0 Der Parameter ErrorBits (Seite 365) zeigt, welche Fehler-meldungen vorliegen. ErrorBits ist remanent und wird bei einer steigenden Flanke an Reset oder ErrorAck zurückge-setzt.

Siehe auch Parameter State und Mode V2 (Seite 359)

Parameter ErrorBits V2 (Seite 365)

Page 347: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 346 Funktionshandbuch, 11/2019, A5E35300226-AE

9.2.4.6 Durchgangsparameter PID_3Step V2

Parameter Datentyp Vorbelegung Beschreibung Mode INT 4 An Mode geben Sie die Betriebsart vor, in die PID_3Step

wechseln soll. Möglich sind: • Mode = 0: Inaktiv • Mode = 1: Erstoptimierung • Mode = 2: Nachoptimierung • Mode = 3: Automatikbetrieb • Mode = 4: Handbetrieb • Mode = 6: Stellzeitmessung • Mode = 10: Handbetrieb ohne Anschlagsignale Die Betriebsart wird aktiviert durch: • Steigende Flanke an ModeActivate • Fallende Flanke an Reset • Fallende Flanke an ManualEnable • Kaltstart der CPU, wenn RunModeByStartup = TRUE Mode ist remanent. Eine detaillierte Beschreibung der Betriebsarten finden Sie unter Parameter State und Mode V2 (Seite 359) .

Page 348: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 347

9.2.4.7 Statische Variablen PID_3Step V2

Hinweis

Ändern Sie die mit (1) gekennzeichneten Variablen nur in der Betriebsart "Inaktiv", um ein Fehlverhalten des PID-Reglers zu vermeiden.

Variable Daten-

typ Vorbelegung Beschreibung

ManualUpInternal BOOL FALSE Im Handbetrieb öffnet jede steigende Flanke das Ventil um 5 % des gesamten Stellbereichs oder für die Mindeststellzeit des Motors. ManualUpInternal wird nur ausgewertet, wenn Sie weder Output_PER noch eine Stellungsrückmeldung verwenden. Diese Variable wird im Inbetriebnahmedialog verwendet.

ManualDnInternal BOOL FALSE Im Handbetrieb schließt jede steigende Flanke das Ventil um 5 % des gesamten Stellbereichs oder für die Mindest-stellzeit des Motors. ManualDnInternal wird nur ausgewer-tet, wenn Sie weder Output_PER noch eine Stellungsrückmeldung verwenden. Diese Variable wird im Inbetriebnahmedialog verwendet.

ActivateRecoverMode BOOL TRUE Die Variable ActivateRecoverMode V2 (Seite 368) bestimmt das Verhalten im Fehlerfall.

RunModeByStartup BOOL TRUE Nach CPU Neustart Betriebsart an Mode aktivieren Wenn RunModeByStartup = TRUE, startet PID_3Step nach CPU-Anlauf in der Betriebsart, die an Mode gespeichert ist. Wenn RunModeByStartup = FALSE, bleibt PID_3Step nach CPU-Anlauf in der Betriebsart "Inaktiv".

LoadBackUp BOOL FALSE Wenn LoadBackUp = TRUE, wird der letzte Satz PID-Parameter wieder geladen. Der Satz wurde vor der letzten Optimierung gespeichert. LoadBackUp wird automatisch wieder auf FALSE gesetzt.

PhysicalUnit INT 0 Physikalische Einheit des Ist- und Sollwerts, z. B. ºC oder ºF.

PhysicalQuantity INT 0 Physikalische Größe des Ist- und Sollwerts, z. B. Tempera-tur

Page 349: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 348 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Daten-typ

Vorbelegung Beschreibung

ErrorBehaviour BOOL FALSE Wenn ErrorBehaviour = FALSE, bleibt das Ventil im Fehler-fall in der aktuellen Position und der Regler wechselt direkt in die Betriebsart "Inaktiv" oder "Fehlerüberwachung". Wenn ErrorBehaviour = TRUE, wird im Fehlerfall das Stell-glied auf den Ersatzausgangswert gefahren und erst dann in die Betriebsart "Inaktiv" oder "Fehlerüberwachung" gewech-selt. Wenn die folgenden Fehler auftreten, kann das Ventil nicht mehr auf einen konfigurierten Ersatzausgangswert gefahren werden. • 2000h: Ungültiger Wert am Parameter Feedback_PER. • 4000h: Ungültiger Wert am Parameter Feedback. • 8000h: Fehler bei der digitalen Stellungsrückmeldung. • 20000h: Ungültiger Wert an der Variablen SavePosition.

Warning DWORD DW#16#0 Die Variable Warning (Seite 359) zeigt die Warnungen seit Reset = TRUE oder ErrorAck =TRUE. Warning ist rema-nent. Zyklische Warnungen (z. B. Istwertwarnung) werden solan-ge angezeigt wie die Ursache der Warnung anliegt. Entfällt der Grund, werden sie automatisch gelöscht. Nichtzyklische Warnungen (z. B. Wendepunkt nicht gefunden) bleiben bestehen und werden wie Fehler gelöscht.

SavePosition REAL 0.0 Ersatzausgangswert Wenn ErrorBehaviour = TRUE, wird das Stellglied im Feh-lerfall in eine für die Anlage sichere Position gefahren. So-bald der Ersatzausgangswert erreicht wurde, wechselt PID_3Step in Abhängigkeit von ActivateRecoverMode die Betriebsart.

CurrentSetpoint REAL 0.0 Aktuell aktiver Sollwert. Dieser Wert wird beim Start der Optimierung eingefroren.

CancelTuningLevel REAL 10.0 Zulässige Schwankung des Sollwerts während der Optimie-rung. Die Optimierung wird erst abgebrochen, wenn gilt: • Setpoint > CurrentSetpoint + CancelTuningLevel

oder • Setpoint < CurrentSetpoint - CancelTuningLevel

Progress REAL 0.0 Fortschritt der Optimierung in Prozent (0.0 - 100.0) Config.InputPerOn(1) BOOL TRUE Wenn InputPerOn = TRUE, wird der Parameter Input_PER

verwendet. Wenn InputPerOn = FALSE, wird der Parameter Input verwendet.

Config.OutputPerOn(1) BOOL FALSE Wenn OutputPerOn = TRUE, wird der Parameter Out-put_PER verwendet. Wenn OutputPerOn = FALSE, werden die Parameter Ouput_UP und Output_DN verwendet.

Config.InvertControl(1) BOOL FALSE Invertieren des Regelsinns Wenn InvertControl = TRUE, bewirkt eine steigende Re-geldifferenz eine Verringerung des Ausgangswerts.

Page 350: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 349

Variable Daten-typ

Vorbelegung Beschreibung

Config.FeedbackOn(1) BOOL FALSE Wenn FeedbackOn = FALSE, wird eine Stellungsrückmel-dung simuliert. Wenn FeedbackOn = TRUE, wird generell die Stellungs-rückmeldung aktiviert.

Config.FeedbackPerOn(1) BOOL FALSE FeedbackPerOn ist nur wirksam, wenn Feedback-On = TRUE. Wenn FeedbackPerOn = TRUE, wird der Analogeingang für die Stellungsrückmeldung verwendet (Parameter Feed-back_PER). Wenn FeedbackPerOn = FALSE, wird der Parameter Feed-back für die Stellungsrückmeldung verwendet.

Config.ActuatorEndStopOn(1) BOOL FALSE Wenn ActuatorEndStopOn = TRUE, wird die digitale Stel-lungsrückmeldung Actuator_L und Actuator_H berücksich-tigt.

Config.InputUpperLimit(1) REAL 120.0 Obergrenze des Istwerts Input und Input_PER werden auf die Einhaltung dieser Grenze überwacht. Am Peripherie-Eingang kann der Istwert maximal 18 % über dem Normbereich (Übersteuerungsbereich) liegen. Wegen einer Überschreitung der "Obergrenze Istwert" wird kein Fehler mehr gemeldet. Nur Drahtbruch und Kurzschluss werden erkannt und PID_3Step verhält sich wie unter Ver-halten im Fehlerfall konfiguriert. InputUpperLimit > InputLowerLimit

Config.InputLowerLimit(1) REAL 0.0 Untergrenze des Istwerts InputLowerLimit < InputUpperLimit

Config.InputUpperWarning(1) REAL +3.402822e+38 Obere Warngrenze des Istwerts Wenn Sie InputUpperWarning außerhalb der Istwertgrenzen konfigurieren, wird die konfigurierte absolute Obergrenze Istwert als obere Warngrenze verwendet. Wenn Sie InputUpperWarning innerhalb der Istwertgrenzen konfigurieren, wird dieser Wert als obere Warngrenze ver-wendet. InputUpperWarning > InputLowerWarning InputUpperWarning ≤ InputUpperLimit

Config.InputLowerWarning(1) REAL -3.402822e+38 Untere Warngrenze des Istwerts Wenn Sie InputLowerWarning außerhalb der Istwertgrenzen konfigurieren, wird die konfigurierte absolute Untergrenze Istwert als Untere Warngrenze verwendet. Wenn Sie InputLowerWarning innerhalb der Istwertgrenzen konfigurieren, wird dieser Wert als Untere Warngrenze ver-wendet. InputLowerWarning < InputUpperWarning InputLowerWarning ≥ InputLowerLimit

Page 351: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 350 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Daten-typ

Vorbelegung Beschreibung

Config.OutputUpperLimit(1) REAL 100.0 Obergrenze des Ausgangswerts Folgender Wertebereich ist zulässig: UpperPointOut ≥ OutputUpperLimit > OutputLowerLimit Weitere Details siehe OutputLowerLimit

Config.OutputLowerLimit(1) REAL 0.0 Untergrenze des Ausgangswerts Folgender Wertebereich ist zulässig: OutputUpperLimit > OutputLowerLimit ≥ LowerPointOut Bei Verwendung von Output_PER entspricht eine Aus-gangswertgrenze von -100 % dem Wert Output_PER = -27648; 100 % entsprechen dem Wert Output_PER = 27648. Wenn OutputPerOn = FALSE und FeedbackOn = FALSE, werdenOutputLowerLimit und OutputUpperLimit nicht aus-gewertet. Output_UP und Output_DN werden dann bei Actua-tor_H = TRUE oder Actuator_L = TRUE zurück gesetzt (wenn ActuatorEndStopOn = TRUE) oder nach einer Ver-fahrzeit von Config.VirtualActuatorLimit * Retain.TransitTime/100 (wenn ActuatorEndSto-pOn = FALSE).

Config.SetpointUpperLimit(1) REAL +3.402822e+38 Obergrenze des Sollwerts Wenn Sie SetpointUpperLimit außerhalb der Istwertgrenzen konfigurieren, wird die konfigurierte absolute Istwertober-grenze als Obergrenze Sollwert vorbelegt. Wenn Sie SetpointUpperLimit innerhalb der Istwertgrenzen konfigurieren, wird dieser Wert als Obergrenze Sollwert verwendet.

Config.SetpointLowerLimit(1) REAL - 3.402822e+38 Untergrenze des Sollwerts Wenn Sie SetpointLowerLimit außerhalb der Istwertgrenzen konfigurieren, wird die konfigurierte absolute Istwertunter-grenze als Untergrenze Sollwert vorbelegt. Wenn Sie SetpointLowerLimit innerhalb der Istwertgrenzen konfigurieren, wird dieser Wert als Untergrenze Sollwert verwendet.

Config.MinimumOnTime(1) REAL 0.0 Minimale Einschaltzeit Zeit in Sekunden, die der Stellantrieb mindestens einge-schaltet sein muss. Config.MinimumOnTime ist nur wirksam, falls Output_UP und Output_DN verwendet werden (Config.OutputPerOn = FALSE).

Config.MinimumOffTime(1) REAL 0.0 Minimale Ausschaltzeit Zeit in Sekunden, die der Stellantrieb mindestens ausge-schaltet sein muss. Config.MinimumOffTime ist nur wirksam, falls Output_UP und Output_DN verwendet werden (Config.OutputPerOn = FALSE).

Page 352: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 351

Variable Daten-typ

Vorbelegung Beschreibung

Config.VirtualActuatorLimit(1) REAL 150.0 Wenn alle folgenden Bedingungen erfüllt sind, wird das Stellglied maximal für die Dauer von VirtualActuatorLimit × Retain.TransitTime/100 in eine Richtung bewegt und die Warnung 2000h ausgegeben: • Config.OutputPerOn = FALSE • Config.ActuatorEndStopOn = FALSE • Config.FeedbackOn = FALSE Wenn Config.OutputPerOn = FALSE und Con-fig.ActuatorEndStopOn = TRUE oder Config.FeedbackOn = TRUE sind, wird nur die Warnung 2000h ausgegeben. Wenn Config.OutputPerOn = TRUE ist, wird VirtualActua-torLimit nicht berücksichtigt. Ab PID_3Step Version 2.3 kann die Überwachung und Be-grenzung der Verfahrzeit mit Config.VirtualActuatorLimit = 0.0 deaktiviert werden.

Config.InputScaling .UpperPointIn(1)

REAL 27648.0 Skalierung Input_PER Oben Anhand der zwei Wertepaare UpperPointOut, UpperPointIn und LowerPointOut, LowerPointIn der Struktur InputScaling wird Input_PER in Prozent umgerechnet.

Config.InputScaling .LowerPointIn(1)

REAL 0.0 Skalierung Input_PER Unten Anhand der zwei Wertepaare UpperPointOut, UpperPointIn und LowerPointOut, LowerPointIn der Struktur InputScaling wird Input_PER in Prozent umgerechnet.

Config.InputScaling .UpperPointOut(1)

REAL 100.0 Skalierter oberer Istwert Anhand der zwei Wertepaare UpperPointOut, UpperPointIn und LowerPointOut, LowerPointIn der Struktur InputScaling wird Input_PER in Prozent umgerechnet.

Config.InputScaling .LowerPointOut(1)

REAL 0.0 Skalierter unterer Istwert Anhand der zwei Wertepaare UpperPointOut, UpperPointIn und LowerPointOut, LowerPointIn der Struktur InputScaling wird Input_PER in Prozent umgerechnet.

Config.FeedbackScaling .UpperPointIn(1)

REAL 27648.0 Skalierung Feedback_PER Oben Anhand der zwei Wertepaare UpperPointOut, UpperPointIn und LowerPointOut, LowerPointIn der Struktur Feedback-Scaling wird Feedback_PER in Prozent umgerechnet.

Config.FeedbackScaling .LowerPointIn(1)

REAL 0.0 Skalierung Feedback_PER Unten Anhand der zwei Wertepaare UpperPointOut, UpperPointIn und LowerPointOut, LowerPointIn der Struktur Feedback-Scaling wird Feedback_PER in Prozent umgerechnet.

Page 353: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 352 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Daten-typ

Vorbelegung Beschreibung

Config.FeedbackScaling .UpperPointOut(1)

REAL 100.0 Oberer Anschlag Anhand der zwei Wertepaare UpperPointOut, UpperPointIn und LowerPointOut, LowerPointIn der Struktur Feedback-Scaling wird Feedback_PER in Prozent umgerechnet. Der zulässige Wertebereich ist abhängig von der Konfigura-tion. • FeedbackOn = FALSE:

UpperPointOut = 100.0 • FeedbackOn = TRUE:

UpperPointOut = 100.0 oder 0.0

UpperPointOut ≠ LowerPointOut Config.FeedbackScaling .LowerPointOut(1)

REAL 0.0 Unterer Anschlag Anhand der zwei Wertepaare UpperPointOut, UpperPointIn und LowerPointOut, LowerPointIn der Struktur Feedback-Scaling wird Feedback_PER in Prozent umgerechnet. Der zulässige Wertebereich ist abhängig von der Konfigura-tion. • FeedbackOn = FALSE:

LowerPointOut = 0.0 • FeedbackOn = TRUE:

LowerPointOut = 0.0 oder -100.0

LowerPointOut ≠ UpperPointOut GetTransitTime.InvertDirection BOOL FALSE Wenn InvertDirection = FALSE, wird das Ventil zum Ermit-

teln der Stellzeit vollständig geöffnet, geschlossen und wie-der geöffnet. Wenn InvertDirection = TRUE, wird das Ventil vollständig geschlossen, geöffnet und wieder geschlossen.

GetTransitTime .SelectFeedback

BOOL FALSE Wenn SelectFeedback = TRUE, wird Feedback_PER oder Feedback bei der Stellzeitmessung berücksichtigt. Wenn SelectFeedback = FALSE, wird Actuator_H und Actu-ator_L bei der Stellzeitmessung berücksichtigt.

GetTransitTime.State INT 0 Aktuelle Phase der Stellzeitmessung • State = 0: Inaktiv • State = 1: Ventil vollständig öffnen • State = 2: Ventil vollständig schließen • State = 3: Ventil auf Zielstellung (NewOutput) stellen • State = 4: Stellzeitmessung erfolgreich beendet • State = 5: Stellzeitmessung abgebrochen

Page 354: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 353

Variable Daten-typ

Vorbelegung Beschreibung

GetTransitTime.NewOutput REAL 0.0 Zielstellung für die Stellzeitmessung mit Stellungsrückmel-dung Die Zielstellung muss innerhalb "Oberer Anschlag" und "Unterer Anschlag" liegen. Die Differenz zwischen NewOut-put und ScaledFeedback muss mindestens 50 % des zuläs-sigen Stellbereichs sein.

CycleTime.StartEstimation BOOL TRUE Wenn StartEstimation = TRUE, wird die Messung der Ab-tastzeit PID_3Step gestartet. Nach Abschluss der Messung wird CycleTime.StartEstimation = FALSE.

CycleTime.EnEstimation BOOL TRUE Wenn EnEstimation = TRUE, wird die Abtastzeit PID_3Step berechnet. Wenn CycleTime.EnEstimation = FALSE, wird die Abtastzeit PID_3Step nicht berechnet und Sie müssen CycleTi-me.Value manuell korrekt konfigurieren.

CycleTime.EnMonitoring BOOL TRUE Wenn EnMonitoring = TRUE, wird die Abtastzeit PID_3Step überwacht. Wenn PID_3Step nicht innerhalb der Abtastzeit ausgeführt werden kann, wird der Fehler 0800h ausgege-ben und die Betriebsart gewechselt. In welche Betriebsart gewechselt wird, hängt ab von ActivateRecoverMode und ErrorBehaviour. Wenn EnMonitoring = FALSE, wird die Abtastzeit PID_3Step nicht überwacht, der Fehler 0800h nicht ausge-geben und die Betriebsart nicht gewechselt.

CycleTime.Value(1) REAL 0.1 Abtastzeit PID_3Step in Sekunden CycleTime.Value wird automatisch ermittelt und entspricht normalerweise der Zykluszeit des aufrufenden OB.

CtrlParamsBackUp.SetByUser BOOL FALSE Gespeicherter Wert von Retain.CtrlParams.SetByUser Werte aus der Struktur CtrlParamsBackUp können mit LoadBackUp = TRUE wieder geladen werden.

CtrlParamsBackUp.Gain REAL 1.0 Gespeicherte Proportionalverstärkung CtrlParamsBackUp.Ti REAL 20.0 Gespeicherte Integrationszeit in Sekunden CtrlParamsBackUp.Td REAL 0.0 Gespeicherte Differenzierzeit in Sekunden CtrlParamsBackUp.TdFiltRatio REAL 0.2 Gespeicherter Koeffizient für den Differenzierverzug CtrlParamsBackUp.PWeighting REAL 1.0 Gespeicherte Gewichtung des P-Anteils CtrlParamsBackUp.DWeighting REAL 1.0 Gespeicherte Gewichtung des D-Anteils CtrlParamsBackUp.Cycle REAL 1.0 Gespeicherte Abtastzeit PID-Algorithmus in Sekunden CtrlParamsBackUp .InputDeadBand

REAL 0.0 Gespeicherte Totzonenbreite der Regeldifferenz

PIDSelfTune.SUT .CalculateParams

BOOL FALSE Die Eigenschaften der Regelstrecke werden bei der Opti-mierung gespeichert. Wenn CalculateParams = TRUE, werden anhand dieser Eigenschaften die PID-Parameter neu berechnet. Die PID-Parameter werden nach der Metho-de berechnet, die in TuneRule eingestellt ist. CalculatePa-rams wird nach der Berechnung auf FALSE gesetzt.

Page 355: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 354 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Daten-typ

Vorbelegung Beschreibung

PIDSelfTune.SUT.TuneRule INT 1 Parameter während Erstoptimierung berechnen nach Me-thode: • SUT.TuneRule = 0: PID schnell I (schnelleres Regelver-

halten mit höheren Amplituden des Ausgangswerts als mit SUT.TuneRule =1)

• SUT.TuneRule = 1: PID langsam I (langsameres Regel-verhalten mit geringeren Amplituden des Ausgangswerts als mit SUT.TuneRule = 0)

• SUT.TuneRule = 2: Chien, Hrones, Reswick PID • SUT.TuneRule = 3: Chien, Hrones, Reswick PI • SUT.TuneRule = 4: PID schnell II (schnelleres Regel-

verhalten mit höheren Amplituden des Ausgangswerts als mit SUT.TuneRule = 5)

• SUT.TuneRule = 5: PID langsam II (langsameres Regel-verhalten mit geringeren Amplituden des Ausgangswerts als mit SUT.TuneRule = 4)

Die Methoden SUT.TuneRule = 0 und 1 unterscheiden sich nur in der Berechnung der Proportionalverstärkung von den Methoden SUT.TuneRule = 4 und 5: Bei SUT.TuneRule = 0 und 1 wird die Proportionalverstär-kung anhand der Ausgleichszeit des Prozesses berechnet. Bei SUT.TuneRule = 4 und 5 geschieht dies anhand der Verzugszeit des Prozesses. SUT.TuneRule = 4 und 5 ergibt einen höheren Wert für die Proportionalverstärkung und damit ein schnelleres Regel-verhalten mit höheren Amplituden des Ausgangswerts als mit SUT.TuneRule = 0 und 1.

PIDSelfTune.SUT.State INT 0 Die Variable SUT.State zeigt die aktuelle Phase der Erstop-timierung: • State = 0: Erstoptimierung initialisieren • State = 50: Startposition ohne Stellungsrückmeldung

ermitteln • State = 100: Standardabweichung berechnen • State = 200: Wendepunkt ermitteln • State = 300: Anregelzeit ermitteln • State = 9900: Erstoptimierung erfolgreich • State = 1: Erstoptimierung nicht erfolgreich

Page 356: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 355

Variable Daten-typ

Vorbelegung Beschreibung

PIDSelfTune.TIR.RunIn BOOL FALSE Mit der Variable RunIn können Sie festlegen, dass eine Nachoptimierung auch ohne Erstoptimierung durchgeführt wird. • RunIn = FALSE

Wenn die Nachoptimierung aus der Betriebsart Inaktiv oder Handbetrieb gestartet wird, wird eine Erstoptimie-rung gestartet.

Wenn die Nachoptimierung aus dem Automatikbetrieb gestartet wird, wird mit den vorhandenen PID-Parametern auf den Sollwert geregelt.

Erst dann startet die Nachoptimierung. Ist die Erstopti-mierung nicht möglich, wechselt PID_3Step in die Be-triebsart, aus der die Optimierung gestartet wurde.

• RunIn = TRUE

Die Erstoptimierung wird übersprungen. PID_3Step ver-sucht den Sollwert mit minimalem oder maximalem Aus-gangswert zu erreichen. Das kann ein erhöhtes Überschwingen verursachen. Erst dann startet die Nachoptimierung.

RunIn wird nach der Nachoptimierung auf FALSE ge-setzt.

PIDSelfTune.TIR .CalculateParams

BOOL FALSE Die Eigenschaften der Regelstrecke werden bei der Opti-mierung gespeichert. Wenn CalculateParams = TRUE, werden anhand dieser Eigenschaften die PID-Parameter neu berechnet. Die PID-Parameter werden nach der Metho-de berechnet, die in TuneRule eingestellt ist. CalculatePa-rams wird nach der Berechnung auf FALSE gesetzt.

Page 357: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 356 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Daten-typ

Vorbelegung Beschreibung

PIDSelfTune.TIR.TuneRule INT 0 Parameter während Nachoptimierung berechnen nach Me-thode: • TIR.TuneRule = 0: PID automatisch • TIR.TuneRule = 1: PID schnell (schnelleres Regelverhal-

ten mit höheren Amplituden des Ausgangswerts als mit TIR.TuneRule = 2)

• TIR.TuneRule = 2: PID langsam (langsameres Regel-verhalten mit geringeren Amplituden des Ausgangswerts als mit TIR.TuneRule = 1)

• TIR.TuneRule = 3: Ziegler-Nichols PID • TIR.TuneRule = 4: Ziegler-Nichols PI • TIR.TuneRule = 5: Ziegler-Nichols P Um die Berechnung der PID-Parameter mit TIR.CalculateParams und TIR.TuneRule = 0, 1 oder 2 wie-derholen zu können, muss auch die vorergehende Nachop-timierung mit TIR.TuneRule = 0, 1 oder 2 ausgeführt worden sein. Ist dies nicht der Fall, wird TIR.TuneRule = 3 verwendet. Die erneute Berechnung der PID-Parameter mit TIR.CalculateParams und TIR.TuneRule = 3, 4 oder 5 ist immer möglich.

PIDSelfTune.TIR.State INT 0 Die Variable TIR.State zeigt die aktuelle Phase der "Nachoptimierung": • State = -100 Die Nachoptimierung ist nicht möglich. Es

wird erst eine Erstoptimierung durchgeführt. • State = 0: Nachoptimierung initialisieren • State = 200: Standardabweichung berechnen • State = 300: Versuchen Sollwert mit dem maximalen

oder minimalen Ausgangswert zu erreichen • State = 400: Versuchen Sollwert mit vorhandenen PID-

Parametern zu erreichen (wenn Erstoptimierung erfolg-reich war)

• State = 500: Oszillation ermitteln und Parameter be-rechnen

• State = 9900: Nachoptimierung erfolgreich • State = 1: Nachoptimierung nicht erfolgreich

Retain.TransitTime(1) REAL 30.0 Motorstellzeit in Sekunden Zeit in Sekunden, die der Stellantrieb benötigt, um das Ven-til vom geschlossenen in den geöffneten Zustand zu bewe-gen. TransitTime ist remanent.

Page 358: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 357

Variable Daten-typ

Vorbelegung Beschreibung

Retain.CtrlParams.SetByUser(1) BOOL FALSE Wenn SetByUser = FALSE, sind die PID-Parameter auto-matisch ermittelt und PID_3Step arbeitet mit einer Totzone am Ausgangswert. Die Totzonenbreite wird während der Optimierung anhand der Standardabweichung des Aus-gangswerts berechnet und in Retain.CtrlParams.OutputDeadBand gespeichert. Wenn SetByUser = TRUE, sind die PID-Parameter manuell eingegeben und PID_3 Step arbeitet ohne Totzone am Ausgangswert. Retain.CtrlParams.OutputDeadBand = 0.0 SetByUser ist remanent.

Retain.CtrlParams.Gain(1) REAL 1.0 Aktive Proportionalverstärkung Verwenden Sie zum Invertieren des Regelsinns die Variable Config.InvertControl. Negative Werte an Gain invertieren den Regelsinn ebenfalls. Es wird empfohlen den Regelsinn nur über InvertControl einzustellen. Wenn InvertControl = TRUE und Gain < 0.0 sind, ist der Regelsinn auch invertiert. Gain ist remanent.

Retain.CtrlParams.Ti(1) REAL 20.0 • Ti > 0.0: Aktive Integrationszeit in Sekunden • Ti = 0.0: I-Anteil ist ausgeschaltet Ti ist remanent.

Retain.CtrlParams.Td(1) REAL 0.0 • Td > 0.0: Aktive Differenzierzeit in Sekunden • Td = 0.0: D-Anteil ist ausgeschaltet Td ist remanent.

Retain.CtrlParams.TdFiltRatio(1) REAL 0.2 Aktiver Koeffizient für den Differenzierverzug Die Wirkung des D-Anteils wird durch den Koeffizient Diffe-renzierverzug verzögert. Differenzierverzug = Differenzierzeit × Koeffizient Differen-zierverzug • 0.0: D-Anteil wirkt nur für einen Zyklus und ist damit fast

nicht wirksam. • 0.5: Dieser Wert hat sich in der Praxis für Regelstrecken

mit einer dominierenden Zeitkonstanten bewährt. • > 1.0: Je größer der Koeffizient, desto stärker wird die

Wirkung des D-Anteils verzögert. TdFiltRatio ist remanent.

Retain.CtrlParams .PWeighting(1)

REAL 1.0 Aktive Gewichtung des P-Anteils Sie können bei Sollwertänderungen den P-Anteil abschwä-chen. Sinnvoll sind Werte von 0.0 bis 1.0. • 1.0: P-Anteil bei Sollwertänderung voll wirksam • 0.0: P-Anteil bei Sollwertänderung nicht wirksam Bei Änderung des Istwerts ist der P-Anteil immer voll wirk-sam. PWeighting ist remanent.

Page 359: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 358 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Daten-typ

Vorbelegung Beschreibung

Retain.CtrlParams .DWeighting(1)

REAL 1.0 Aktive Gewichtung des D- Anteils Sie können bei Sollwertänderungen den D-Anteil abschwä-chen. Sinnvoll sind Werte von 0.0 bis 1.0. • 1.0: D-Anteil bei Sollwertänderung voll wirksam • 0.0: D-Anteil bei Sollwertänderung nicht wirksam Bei Änderung des Istwerts ist der D-Anteil immer voll wirk-sam. DWeighting ist remanent.

Retain.CtrlParams.Cycle(1) REAL 1.0 Aktive Abtastzeit PID-Algorithmus in Sekunden, die zu ei-nem ganzzahligen Vielfachen der Zykluszeit des aufrufen-den OB aufgerundet wird. Cycle ist remanent.

Retain.CtrlParams .InputDeadBand(1)

REAL 0.0 Totzonenbreite der Regeldifferenz InputDeadBand ist remanent.

Siehe auch Parameter State und Mode V2 (Seite 359)

Variable ActivateRecoverMode V2 (Seite 368)

Technologieobjekte in Gerät laden (Seite 47)

Page 360: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 359

9.2.4.8 Parameter State und Mode V2

Zusammenhang der Parameter Der Parameter State zeigt die aktuelle Betriebsart des PID-Reglers. Sie können den Parameter State nicht ändern.

Mit einer steigenden Flanke an ModeActivate wechselt PID_3Step in die Betriebsart, die am Durchgangsparameter Mode gespeichert ist.

Wenn die CPU eingeschaltet wird oder von Stopp in RUN wechselt, startet PID_3Step in der Betriebsart, die an Mode gespeichert ist. Um PID_3Step in der Betriebsart "Inaktiv" zu belassen, setzen Sie RunModeByStartup = FALSE.

Bedeutung der Werte State Beschreibung der Betriebsart 0 Inaktiv

Der Regler ist ausgeschaltet und verändert die Position des Ventils nicht mehr. 1 Erstoptimierung

Die Erstoptimierung ermittelt die Prozessantwort auf einen Impuls des Ausgangswerts und sucht den Wen-depunkt. Aus der maximalen Steigung und der Totzeit der Regelstrecke werden die PID-Parameter berech-net. Die besten PID-Parameter erhalten Sie, wenn Sie Erst- und Nachoptimierung durchführen. Voraussetzungen für die Erstoptimierung: • Die Motorstellzeit ist konfiguriert oder gemessen. • Betriebsart Inaktiv (State = 0), Handbetrieb (State = 4) oder Automatikbetrieb (State = 3) • ManualEnable = FALSE • Reset = FALSE • Der Sollwert und der Istwert befinden sich innerhalb der konfigurierten Grenzen. Je stabiler der Istwert ist, desto leichter und genauer können die PID-Parameter ermittelt werden. Ein Rau-schen des Istwerts ist solange akzeptabel, wie der Anstieg des Istwerts signifikant größer ist als das Rau-schen. Dies ist am ehesten in den Betriebsarten "Inaktiv" oder "Handbetrieb" gegeben. Der Sollwert wird in der Variablen CurrentSetpoint eingefroren. Die Optimierung wird abgebrochen, wenn gilt: • Setpoint > CurrentSetpoint + CancelTuningLevel

oder • Setpoint < CurrentSetpoint - CancelTuningLevel Bevor die PID-Parameter neu berechnet werden, werden sie gesichert und können mit LoadBackUp reakti-viert werden. Nach erfolgreicher Erstoptimierung wechselt der Regler in den Automatikbetrieb; nach erfolgloser Erstopti-mierung ist der Wechsel der Betriebsart abhängig von ActivateRecoverMode und ErrorBehaviour. Die Phase der Erstoptimierung wird mit Variable SUT.State angezeigt.

Page 361: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 360 Funktionshandbuch, 11/2019, A5E35300226-AE

State Beschreibung der Betriebsart 2 Nachoptimierung

Die Nachoptimierung generiert eine konstante, begrenzte Schwingung des Istwertes. Aus Amplitude und Frequenz dieser Schwingung werden die PID-Parameter neu berechnet. Die PID-Parameter aus der Nachoptimierung zeigen meist ein besseres Führungs- und Störverhalten als die PID-Parameter aus der Erstoptimierung. Die besten PID-Parameter erhalten Sie, wenn Sie Erst- und Nachoptimierung durchführen. PID_3Step versucht automatisch eine Schwingung zu erzeugen, die größer ist als das Rauschen des Ist-werts. Die Nachoptimierung wird nur geringfügig von der Stabilität des Istwerts beeinflusst. Der Sollwert wird in der Variablen CurrentSetpoint eingefroren. Die Optimierung wird abgebrochen, wenn gilt: • Setpoint > CurrentSetpoint + CancelTuningLevel

oder • Setpoint < CurrentSetpoint - CancelTuningLevel Vor der Nachoptimierung werden die PID-Parameter gesichert. Sie können mit LoadBackUp reaktiviert werden. Voraussetzungen für die Nachoptimierung: • Die Motorstellzeit ist konfiguriert oder gemessen. • Der Sollwert und der Istwert befinden sich innerhalb der konfigurierten Grenzen. • ManualEnable = FALSE • Reset = FALSE • Betriebsart Automatikbetrieb (State = 3), Inaktiv (State = 0) oder Handbetrieb (State = 4) Die Nachoptimierung verläuft folgendermaßen beim Start aus: • Automatikbetrieb (State = 3)

Wenn Sie die vorhandenen PID-Parameter durch die Optimierung verbessern wollen, starten Sie die Nachoptimierung aus dem Automatikbetrieb.

PID_3Step regelt solange mit den vorhandenen PID-Parametern, bis der Regelkreis eingeschwungen ist und die Voraussetzungen für eine Nachoptimierung erfüllt sind. Erst dann startet die Nachoptimierung.

• Inaktiv (State = 0) oder Handbetrieb (State = 4)

Wenn die Voraussetzungen für eine Erstoptimierung erfüllt sind, wird eine Erstoptimierung gestartet. Mit den ermittelten PID-Parametern wird solange geregelt, bis der Regelkreis eingeschwungen ist und die Voraussetzungen für eine Nachoptimierung erfüllt sind.

Wenn PIDSelfTune.TIR.RunIn = TRUE, wird die Erstoptimierung übersprungen und versucht den Soll-wert mit minimalem oder maximalen Ausgangswert zu erreichen. Das kann ein erhöhtes Überschwingen verursachen. Die Nachoptimierung startet dann automatisch.

Nach erfolgreicher Nachoptimierung wechselt der Regler in den Automatikbetrieb; nach erfolgloser Nachop-timierung ist der Wechsel der Betriebsart abhängig von ActivateRecoverMode und ErrorBehaviour. Die Phase der Nachoptimierung wird mit Variable TIR.State angezeigt.

Page 362: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 361

State Beschreibung der Betriebsart 3 Automatikbetrieb

Im Automatikbetrieb regelt PID_3Step die Regelstrecke entsprechend der vorgegebenen Parameter aus. Wenn eine der folgenden Voraussetzungen erfüllt ist, wird in den Automatikbetrieb gewechselt: • Erstoptimierung erfolgreich abgeschlossen • Nachoptimierung erfolgreich abgeschlossen • Ändern des Durchgangsparameters Mode auf den Wert 3 und eine steigende Flanke an ModeActivate. Der Wechsel vom Automatikbetrieb in den Handbetrieb erfolgt nur im Inbetriebnahmeeditor stoßfrei. Im Automatikbetrieb wird die Variable ActivateRecoverMode berücksichtigt.

4 Handbetrieb Im Handbetrieb geben Sie manuelle Ausgangswerte an den Parametern Manual_UP und Manual_DN oder ManualValue vor. Ob das Stellglied im Fehlerfall auf den Ausgangswert verfahren werden kann, ist beim Parameter ErrorBits beschrieben. Diese Betriebsart können Sie zusätzlich über ManualEnable = TRUE aktivieren. Es wird empfohlen, die Betriebsarten nur über Mode und ModeActivate zu wechseln. Der Wechsel vom Handbetrieb in den Automatikbetrieb erfolgt stoßfrei. Der Handbetrieb ist auch möglich, wenn ein Fehler ansteht.

5 Ersatzausgangswert anfahren Diese Betriebsart wird im Fehlerfall aktiviert, wenn Errorbehaviour = TRUE und ActivateRecoverMode = FALSE. PID_3Step fährt das Stellglied auf den Ersatzausgangswert und wechselt anschließend in die Betriebsart "Inaktiv".

6 Stellzeitmessung Es wird die Zeit ermittelt, die der Motor benötigt, um das Ventil aus dem geschlossenen Zustand vollständig zu öffnen. Diese Betriebsart wird aktiviert, wenn Mode = 6 und ModeActivate = TRUE gesetzt wird. Wenn zur Stellzeitmessung Anschlagsignale verwendet werden, wird das Ventil von der aktuellen Position aus vollständig geöffnet, vollständig geschlossen und erneut vollständig geöffnet. Wenn GetTransitTi-me.InvertDirection = TRUE, wird dieses Verhalten umgekehrt. Wenn zur Stellzeitmessung eine Stellungsrückmeldung verwendet wird, wird das Stellglied von der aktuel-len Stellung in eine Zielstellung gefahren. Die Ausgangswertgrenzen werden während der Stellzeitmessung nicht berücksichtigt. Dass Stellglied kann bis zum oberen oder unteren Anschlag verfahren werden.

7 Fehlerüberwachung Der Regelalgorithmus ist ausgeschaltet und verändert die Position des Ventils nicht mehr. Diese Betriebsart wird im Fehlerfall statt der Betriebsart "Inaktiv" aktiviert. Alle folgenden Bedingungen müssen erfüllt sein: • Automatikbetrieb (Mode = 3) • Errorbehaviour = FALSE • ActivateRecoverMode = TRUE • Einer oder mehrere Fehler sind aufgetreten, bei denen ActivateRecoverMode (Seite 368) wirkt. Sobald die Fehler nicht mehr anstehen, wechselt PID_3Step wieder in den Automatikbetrieb.

Page 363: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 362 Funktionshandbuch, 11/2019, A5E35300226-AE

State Beschreibung der Betriebsart 8 Ersatzausgangswert anfahren mit Fehlerüberwachung

Diese Betriebsart wird im Fehlerfall statt der Betriebsart "Ersatzausgangswert anfahren" aktiviert. PID_3Step fährt das Stellglied auf den Ersatzausgangswert und wechselt anschließend in die Betriebsart "Fehlerüberwachung". Alle folgenden Bedingungen müssen erfüllt sein: • Automatikbetrieb (Mode = 3) • Errorbehaviour = TRUE • ActivateRecoverMode = TRUE • Ein oder mehrere Fehler sind aufgetreten, bei denen ActivateRecoverMode (Seite 368) wirkt. Sobald die Fehler nicht mehr anstehen, wechselt PID_3Step wieder in den Automatikbetrieb.

10 Handbetrieb ohne Anschlagsignale Die Anschlagsignale werden nicht berücksichtigt, obwohl Config.ActuatorEndStopOn = TRUE ist. Die Aus-gangswertgrenzen werden nicht berücksichtigt. Sonst verhält sich PID_3Step genauso wie im Handbetrieb.

ENO-Verhalten Wenn State = 0 ist, dann ist ENO = FALSE.

Wenn State ≠ 0 ist, dann ist ENO = TRUE.

Automatische Betriebsartwechsel während der Inbetriebnahme Nach erfolgreicher Erst- oder Nachoptimierung wird der Automatikbetrieb aktiviert. Die folgende Tabelle zeigt, wie sich Mode und State während einer erfolgreichen Erstoptimierung ändern. Zyklus-Nr. Mode State Aktion 0 4 4 Mode = 1 setzen 1 1 4 ModeActivate = TRUE setzen 1 4 1 Wert von State wird an Mode gespeichert

Erstoptimierung wird gestartet n 4 1 Erstoptimierung erfolgreich beendet n 3 3 Automatikbetrieb wird gestartet

Page 364: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 363

Im Fehlerfall wechselt PID_3Step automatisch die Betriebsart. Die folgende Tabelle zeigt, wie sich Mode und State während einer fehlerhaften Erstoptimierung ändern. Zyklus-Nr. Mode State Aktion 0 4 4 Mode = 1 setzen 1 1 4 ModeActivate = TRUE setzen 1 4 1 Wert von State wird an Mode gespeichert

Erstoptimierung wird gestartet n 4 1 Erstoptimierung abgebrochen n 4 4 Handbetrieb wird gestartet

Wenn ActivateRecoverMode = TRUE ist, wird die Betriebsart aktiviert, die an Mode gespeichert ist. Beim Start der Stellzeitmessung, Erst- oder Nachoptimierung hat PID_3Step den Wert von State am Durchgangsparameter Mode gespeichert. PID_3Step wechselt also in die Betriebsart, aus der die Stellzeitmessung oder Optimierung gestartet wurde.

Wenn ActivateRecoverMode = FALSE ist, wird die Betriebsart "Inaktiv" oder "Ersatzausgangswert anfahren" aktiviert.

Automatischer Betriebsartwechsel nach der Stellzeitmessung Wenn ActivateRecoverMode = TRUE ist, wird nach erfolgreicher Stellzeitmessung die Betriebsart aktiviert, die an Mode gespeichert ist.

Wenn ActivateRecoverMode = FALSE ist, wird nach erfolgreicher Stellzeitmessung in die Betriebsart "Inaktiv" gewechselt.

Page 365: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 364 Funktionshandbuch, 11/2019, A5E35300226-AE

Automatische Betriebsartwechsel im Automatikbetrieb Im Fehlerfall wechselt PID_3Step automatisch die Betriebsart. Das folgende Diagramm zeigt den Einfluss von ErrorBehaviour und ActivateRecoverMode auf diesen Betriebsartwechsel.

Automatischer Betriebsartwechsel im Fehlerfall

Automatischer Betriebsartwechsel, wenn der aktuelle Betrieb abgeschlossen ist.

Automatischer Betriebsartwechsel, wenn Fehler nicht mehr ansteht.

Siehe auch Variable ActivateRecoverMode V2 (Seite 368)

Parameter ErrorBits V2 (Seite 365)

Page 366: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 365

9.2.4.9 Parameter ErrorBits V2 Stehen gleichzeitig mehrere Fehler an, so werden die Werte der ErrorBits binär addiert angezeigt. Wird z. B. ErrorBits = 0003h angezeigt, so stehen gleichzeitig die Fehler 0001h und 0002h an.

Wenn eine Stellungsrückmeldung vorhanden ist, verwendet PID_3Step im Handbetrieb ManualValue als Ausgangswert. Ausnahme ist Errorbits = 10000h.

ErrorBits (DW#16#...)

Beschreibung

0000 Es steht kein Fehler an. 0001 Der Parameter "Input" ist außerhalb der Istwertgrenzen.

• Input > Config.InputUpperLimit oder • Input < Config.InputLowerLimit Wenn vor Auftreten des Fehlers der Automatikbetrieb aktiv war und ActivateRecoverMode = TRUE, bleibt PID_3Step im Automatikbetrieb. Wenn vor Auftreten des Fehlers die Betriebsart Erstoptimierung, Nachoptimierung oder Stellzeitmes-sung aktiv und ActivateRecoverMode = TRUE waren, wechselt PID_3Step in die Betriebsart, die an Mode gespeichert ist.

0002 Ungültiger Wert am Parameter "Input_PER". Überprüfen Sie, ob am Analogeingang ein Fehler ansteht. Wenn vor Auftreten des Fehlers der Automatikbetrieb aktiv war und ActivateRecoverMode = TRUE ist, wechselt PID_3Step in die Betriebsart "Ersatzausgangswert anfahren mit Fehlerüberwachung" oder "Fehlerüberwachung". Sobald der Fehler nicht mehr ansteht, wechselt PID_3Step wieder in den Auto-matikbetrieb. Wenn vor Auftreten des Fehlers die Betriebsart Erstoptimierung, Nachoptimierung oder Stellzeitmes-sung aktiv und ActivateRecoverMode = TRUE waren, wechselt PID_3Step in die Betriebsart, die an Mode gespeichert ist.

0004 Fehler während der Nachoptimierung. Die Schwingung des Istwerts konnte nicht aufrecht erhalten wer-den. Wenn vor Auftreten des Fehlers ActivateRecoverMode = TRUE war, bricht PID_3Step die Optimierung ab und wechselt in die Betriebsart, die an Mode gespeichert ist.

0010 Der Sollwert wurde während der Optimierung verändert. An der Variable CancelTuningLevel können Sie die zulässige Schwankung des Sollwerts einstellen. Wenn vor Auftreten des Fehlers ActivateRecoverMode = TRUE war, bricht PID_3Step die Optimierung ab und wechselt in die Betriebsart, die an Mode gespeichert ist.

0020 Die Erstoptimierung ist während der Nachoptimierung nicht erlaubt. Wenn vor Auftreten des Fehlers ActivateRecoverMode = TRUE war, bleibt PID_3Step in der Betriebsart Nachoptimierung.

0080 Fehler bei der Erstoptimierung. Die Ausgangswertgrenzen sind nicht korrekt konfiguriert oder der Istwert reagiert nicht wie erwartet. Überprüfen Sie, ob die Grenzen des Ausgangswerts korrekt konfiguriert sind und zum Regelsinn pas-sen. Stellen Sie außerdem sicher, dass der Istwert vor Start der Erstoptimierung nicht stark schwingt. Wenn vor Auftreten des Fehlers ActivateRecoverMode = TRUE war, bricht PID_3Step die Optimierung ab und wechselt in die Betriebsart, die an Mode gespeichert ist.

0100 Fehler während der Nachoptimierung führte zu ungültigen Parametern. Wenn vor Auftreten des Fehlers ActivateRecoverMode = TRUE war, bricht PID_3Step die Optimierung ab und wechselt in die Betriebsart, die an Mode gespeichert ist.

Page 367: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 366 Funktionshandbuch, 11/2019, A5E35300226-AE

ErrorBits (DW#16#...)

Beschreibung

0200 Ungültiger Wert am Parameter "Input": Wert hat kein gültiges Zahlenformat. Wenn vor Auftreten des Fehlers der Automatikbetrieb aktiv war und ActivateRecoverMode = TRUE ist, wechselt PID_3Step in die Betriebsart "Ersatzausgangswert anfahren mit Fehlerüberwachung" oder "Fehlerüberwachung". Sobald der Fehler nicht mehr ansteht, wechselt PID_3Step wieder in den Auto-matikbetrieb. Wenn vor Auftreten des Fehlers die Betriebsart Erstoptimierung, Nachoptimierung oder Stellzeitmes-sung aktiv und ActivateRecoverMode = TRUE waren, wechselt PID_3Step in die Betriebsart, die an Mode gespeichert ist.

0400 Berechnung des Ausgangswerts fehlgeschlagen. Überprüfen Sie die PID-Parameter. Wenn vor Auftreten des Fehlers der Automatikbetrieb aktiv war und ActivateRecoverMode = TRUE ist, wechselt PID_3Step in die Betriebsart "Ersatzausgangswert anfahren mit Fehlerüberwachung" oder "Fehlerüberwachung". Sobald der Fehler nicht mehr ansteht, wechselt PID_3Step wieder in den Auto-matikbetrieb. Wenn vor Auftreten des Fehlers die Betriebsart Erstoptimierung, Nachoptimierung oder Stellzeitmes-sung aktiv und ActivateRecoverMode = TRUE waren, wechselt PID_3Step in die Betriebsart, die an Mode gespeichert ist.

0800 Abtastzeitfehler: PID_3Step wird nicht innerhalb der Abtastzeit des Weckalarm-OBs aufgerufen. Wenn vor Auftreten des Fehlers der Automatikbetrieb aktiv war und ActivateRecoverMode = TRUE, bleibt PID_3Step im Automatikbetrieb. Wenn vor Auftreten des Fehlers die Betriebsart Erstoptimierung, Nachoptimierung oder Stellzeitmes-sung aktiv und ActivateRecoverMode = TRUE waren, wechselt PID_3Step in die Betriebsart, die an Mode gespeichert ist. Falls dieser Fehler bei der Simulation mit PLCSIM aufgetreten ist, beachten Sie die Hinweise unter PID_3Step V2 mit PLCSIM simulieren (Seite 147).

1000 Ungültiger Wert am Parameter "Setpoint": Wert hat kein gültiges Zahlenformat. Wenn vor Auftreten des Fehlers der Automatikbetrieb aktiv war und ActivateRecoverMode = TRUE ist, wechselt PID_3Step in die Betriebsart "Ersatzausgangswert anfahren mit Fehlerüberwachung" oder "Fehlerüberwachung". Sobald der Fehler nicht mehr ansteht, wechselt PID_3Step wieder in den Auto-matikbetrieb. Wenn vor Auftreten des Fehlers die Betriebsart Erstoptimierung, Nachoptimierung oder Stellzeitmes-sung aktiv und ActivateRecoverMode = TRUE waren, wechselt PID_3Step in die Betriebsart, die an Mode gespeichert ist.

2000 Ungültiger Wert am Parameter Feedback_PER. Überprüfen Sie, ob am Analogeingang ein Fehler ansteht. Das Stellglied kann nicht auf den Ersatzausgangswert verfahren werden und bleibt in der aktuellen Position stehen. Im Handbetrieb können Sie die Position des Stellglieds nur mit Manual_UP und Manu-al_DN verändern, nicht mit ManualValue. Wenn vor Auftreten des Fehlers der Automatikbetrieb aktiv war, ActivateRecoverMode = TRUE und der Fehler nicht mehr ansteht, wechselt PID_3Step wieder in den Automatikbetrieb. Wenn vor Auftreten des Fehlers die Betriebsart Erstoptimierung, Nachoptimierung oder Stellzeitmes-sung aktiv und ActivateRecoverMode = TRUE waren, wechselt PID_3Step in die Betriebsart, die an Mode gespeichert ist.

Page 368: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 367

ErrorBits (DW#16#...)

Beschreibung

4000 Ungültiger Wert am Parameter Feedback. Wert hat kein gültiges Zahlenformat. Das Stellglied kann nicht auf den Ersatzausgangswert verfahren werden und bleibt in der aktuellen Position stehen. Im Handbetrieb können Sie die Position des Stellglieds nur mit Manual_UP und Manu-al_DN verändern, nicht mit ManualValue. Wenn vor Auftreten des Fehlers der Automatikbetrieb aktiv war, ActivateRecoverMode = TRUE und der Fehler nicht mehr ansteht, wechselt PID_3Step wieder in den Automatikbetrieb. Wenn vor Auftreten des Fehlers die Betriebsart Erstoptimierung, Nachoptimierung oder Stellzeitmes-sung aktiv und ActivateRecoverMode = TRUE waren, wechselt PID_3Step in die Betriebsart, die an Mode gespeichert ist.

8000 Fehler bei der digitalen Stellungsrückmeldung. Actuator_H = TRUE und Actuator_L = TRUE. Das Stellglied kann nicht auf den Ersatzausgangswert verfahren werden und bleibt in der aktuellen Position stehen. Handbetrieb ist in diesem Zustand nicht möglich. Um das Stellglied aus diesem Zustand verfahren zu können, müssen Sie die "Anschlagsignale Stell-glied" deaktivieren (Config.ActuatorEndStopOn = FALSE) oder in die Betriebsart "Handbetrieb ohne Anschlagsignale" (Mode = 10) wechseln. Wenn vor Auftreten des Fehlers der Automatikbetrieb aktiv war, ActivateRecoverMode = TRUE und der Fehler nicht mehr ansteht, wechselt PID_3Step wieder in den Automatikbetrieb. Wenn vor Auftreten des Fehlers die Betriebsart Erstoptimierung, Nachoptimierung oder Stellzeitmes-sung aktiv und ActivateRecoverMode = TRUE waren, wechselt PID_3Step in die Betriebsart, die an Mode gespeichert ist.

10000 Ungültiger Wert am Parameter ManualValue. Wert hat kein gültiges Zahlenformat. Das Stellglied kann nicht auf den Handwert verfahren werden und bleibt in der aktuellen Position ste-hen. Geben Sie einen gültigen Wert an ManualValue vor oder verfahren Sie das Stellglied im Handbetrieb mit Manual_UP und Manual_DN.

20000 Ungültiger Wert an der Variablen SavePosition. Wert hat kein gültiges Zahlenformat. Das Stellglied kann nicht auf den Ersatzausgangswert verfahren werden und bleibt in der aktuellen Position stehen.

40000 Ungültiger Wert am Parameter Disturbance. Wert hat kein gültiges Zahlenformat. Wenn vor Auftreten des Fehlers der Automatikbetrieb aktiv war und ActivateRecoverMode = TRUE, wird Disturbance auf Null gesetzt. PID_3Step bleibt im Automatikbetrieb. Wenn vor Auftreten des Fehlers die Betriebsart Erst- oder Nachoptimierung aktiv und ActivateRecover-Mode = TRUE waren, wechselt PID_3Step in die Betriebsart, die an Mode gespeichert ist. Wenn Distur-bance in der aktuellen Phase keinen Einfluss auf den Ausgangswert hat, wird die Optimierung nicht abgebrochen. Während der Stellzeitmessung hat der Fehler keinen Einfluss.

Page 369: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 368 Funktionshandbuch, 11/2019, A5E35300226-AE

9.2.4.10 Variable ActivateRecoverMode V2 Die Variable ActivateRecoverMode bestimmt das Verhalten im Fehlerfall. Der Parameter Error zeigt, ob aktuell ein Fehler ansteht. Wenn der Fehler nicht mehr ansteht, wird Error = FALSE. Der Parameter ErrorBits zeigt, welche Fehler aufgetreten sind.

ACHTUNG

Ihre Anlage kann beschädigt werden.

Wenn ActivateRecoverMode = TRUE ist, bleibt PID_3Step auch beim Überschreiten der Istwertgrenzen im Automatikbetrieb. Dadurch kann Ihre Anlage beschädigt werden.

Konfigurieren Sie für Ihre Regelstrecke ein Verhalten im Fehlerfall, das Ihre Anlage vor Beschädigung schützt.

Automatikbetrieb Activate-RecoverMode

Beschreibung

FALSE Im Fehlerfall wechselt PID_3Step in die Betriebsart "Inaktiv" oder "Ersatzausgangswert anfahren". Der Regler wird erst durch eine fallende Flanke an Reset oder eine steigende Flanke an ModeActivate akti-viert.

TRUE Wenn im Automatikbetrieb häufig Fehler auftreten, wird durch diese Einstellung das Regelverhalten verschlechtert, da PID_3Step bei jedem Fehlerfall zwischen berechnetem Ausgangswert und dem Er-satzausgangswert wechselt. Überprüfen Sie dann den Parameter ErrorBits und beheben Sie die Fehlerursache. Wenn einer oder mehrere der folgenden Fehler auftreten, bleibt PID_3Step im Automatikbetrieb: • 0001h: Der Parameter "Input" ist außerhalb der Istwertgrenzen. • 0800h: Abtastzeitfehler • 40000h: Ungültiger Wert am Parameter Disturbance. Wenn einer oder mehrere der folgenden Fehler auftreten, wechselt PID_3Step in die Betriebsart "Er-satzausgangswert anfahren mit Fehlerüberwachung" oder "Fehlerüberwachung": • 0002h: Ungültiger Wert am Parameter Input_PER. • 0200h: Ungültiger Wert am Parameter Input. • 0400h: Berechnung des Ausgangswerts fehlgeschlagen. • 1000h: Ungültiger Wert am Parameter Setpoint. Wenn einer oder mehrere der folgenden Fehler auftreten, kann PID_3Step das Stellglied nicht mehr bewegen: • 2000h: Ungültiger Wert am Parameter Feedback_PER. • 4000h: Ungültiger Wert am Parameter Feedback. • 8000h: Fehler bei der digitalen Stellungsrückmeldung. • 20000h: Ungültiger Wert an der Variablen SavePosition. Wert hat kein gültiges Zahlenformat. Dieses Verhalten ist unabhängig von ErrorBehaviour. Sobald die Fehler nicht mehr anstehen, wechselt PID_3Step wieder in den Automatikbetrieb.

Page 370: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 369

Erstoptimierung, Nachoptimierung und Stellzeitmessung Activa-teRecoverMode

Beschreibung

FALSE Im Fehlerfall wechselt PID_3Step in die Betriebsart "Inaktiv" oder "Ersatzausgangswert anfahren". Der Regler wird erst durch eine fallende Flanke an Reset oder eine steigende Flanke an ModeActivate akti-viert. Nach erfolgreicher Stellzeitmessung wechselt der Regler in die Betriebsart Inaktiv.

TRUE Wenn der folgende Fehler auftritt, bleibt PID_3Step in der aktiven Betriebsart: • 0020h: Die Erstoptimierung ist während der Nachoptimierung nicht erlaubt. Die folgenden Fehler werden ignoriert: • 10000h: Ungültiger Wert am Parameter ManualValue. • 20000h: Ungültiger Wert an der Variable SavePosition. Bei allen anderen Fehlern bricht PID_3Step die Optimierung ab und wechselt in die Betriebsart, aus der die Optimierung gestartet wurde.

Handbetrieb Im Handbetrieb wirkt ActivateRecoverMode nicht.

Siehe auch Statische Variablen PID_3Step V2 (Seite 347)

Parameter State und Mode V2 (Seite 359)

Page 371: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 370 Funktionshandbuch, 11/2019, A5E35300226-AE

9.2.4.11 Variable Warning V2 Stehen gleichzeitig mehrere Warnungen an, so werden die Werte der Warnungen binär addiert angezeigt. Wird z. B. die Warnung 0005h angezeigt, so stehen gleichzeitig die Warnungen 0001h und 0004h an.

Warning (DW#16#...)

Beschreibung

0000 Es steht keine Warnung an. 0001 Während der Erstoptimierung wurde der Wendepunkt nicht gefunden. 0004 Der Sollwert wurde begrenzt auf die eingestellten Grenzen. 0008 Für die gewählte Berechnungsmethode wurden nicht alle notwendigen Eigenschaften der Regelstrecke

bestimmt. Ersatzweise wurden die PID-Parameter mit der Methode TIR.TuneRule = 3 berechnet. 0010 Die Betriebsart konnte nicht geändert werden, da Reset = TRUE oder ManualEnable = TRUE. 0020 Die Abtastzeit des PID-Algorithmus wird durch die Zykluszeit des aufrufenden OB begrenzt.

Um bessere Ergebnisse zu erzielen, verwenden Sie kürzere Zykluszeiten des OB. 0040 Der Istwert hat eine seiner Warngrenzen überschritten. 0080 Ungültiger Wert an Mode. Die Betriebsart wird nicht gewechselt. 0100 Der Handwert wurde begrenzt auf die Grenzen des Reglerausgangs. 0200 Die angegebene Regel zur Optimierung wird nicht unterstützt. Es werden keine PID-Parameter berech-

net. 0400 Die Stellzeit kann nicht gemessen werden, da die Einstellungen des Stellglieds nicht zur gewählten

Messmethode passen. 0800 Bei der Stellzeitmessung ist die Differenz zwischen der aktuellen Position und dem neuen Ausgangs-

wert zu klein. Dies kann zu falschen Ergebnissen führen. Die Differenz zwischen aktuellem Ausgangs-wert und neuem Ausgangswert muss mindestens 50% des gesamten Stellbereichs betragen.

1000 Der Ersatzausgangswert kann nicht erreicht werden, da er außerhalb der Ausgangswertgrenzen liegt. 2000 Das Stellglied wurde länger als Config.VirtualActuatorLimit × Retain.TransitTime in eine Richtung be-

wegt. Kontrollieren Sie, ob das Stellglied ein Anschlagsignal erreicht hat.

Folgende Warnungen werden gelöscht, sobald die Ursache behoben ist:

● 0001h

● 0004h

● 0008h

● 0040h

● 0100h

● 2000h

Alle anderen Warnungen werden bei steigender Flanke an Reset oder ErrorAck gelöscht.

Page 372: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 371

9.2.5 PID_3Step V1

9.2.5.1 Beschreibung PID_3Step V1

Beschreibung Mit der Anweisung PID_3Step konfigurieren Sie einen PID-Regler mit Selbstoptimierung für Ventile oder Stellglieder mit integrierendem Verhalten.

Folgende Betriebsarten sind möglich:

● Inaktiv

● Erstoptimierung

● Nachoptimierung

● Automatikbetrieb

● Handbetrieb

● Ersatzausgangswert anfahren

● Stellzeitmessung

● Ersatzausgangswert anfahren mit Fehlerüberwachung

● Fehlerüberwachung

Die Betriebsarten sind detailliert beschrieben beim Parameter State.

PID-Algorithmus PID_3Step ist ein PIDT1-Regler mit Anti-Windup und Gewichtung des P- und D-Anteils. Der Ausgangswert wird anhand folgender Formel berechnet.

Δy Ausgangswert des PID-Algorithmus Kp Proportionalverstärkung s Laplace-Operator b Gewichtung des P-Anteils w Sollwert x Istwert TI Integrationszeit a Koeffizient für den Differenzierverzug (T1 = a × TD) TD Differenzierzeit c Gewichtung des D-Anteils

Page 373: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 372 Funktionshandbuch, 11/2019, A5E35300226-AE

Blockschaltbild ohne Stellungsrückmeldung

Page 374: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 373

Blockschaltbild mit Stellungsrückmeldung

Page 375: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 374 Funktionshandbuch, 11/2019, A5E35300226-AE

Blockschaltbild PIDT1 mit Anti-Windup

Aufruf PID_3Step wird im konstanten Zeitraster der Zykluszeit des aufrufenden OBs aufgerufen (vorzugsweise in einem Weckalarm-OB).

Laden in Gerät Die Aktualwerte remanenter Variablen werden nur aktualisiert, wenn Sie PID_3Step vollständig laden.

Technologieobjekte in Gerät laden (Seite 47)

Anlauf Bei Anlauf der CPU startet PID_3Step in der zuletzt aktiven Betriebsart. Um PID_3Step in der Betriebsart "Inaktiv" zu belassen, setzen Sie RunModeByStartup = FALSE.

Page 376: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 375

Verhalten im Fehlerfall Wenn Fehler auftreten, werden diese am Parameter Error ausgegeben. Das Verhalten von PID_3Step konfigurieren Sie über die Variablen ErrorBehaviour und ActivateRecoverMode. ErrorBe-haviour

Activa-teRecover-Mode

Konfiguration Stellgliedein-stellung Output setzen auf

Verhalten

0 FALSE Aktuellen Ausgangswert Wechsel in Betriebsart "Inaktiv" (Mo-de = 0)

0 TRUE Aktuellen Ausgangswert für die Fehlerdauer

Wechsel in Betriebsart "Fehlerüberwa-chung" (Mode = 7)

1 FALSE Ersatzausgangswert Wechsel in Betriebsart "Ersatzaus-gangswert anfahren" (Mode = 5) Wechsel in Betriebsart "Inaktiv" (Mo-de = 0)

1 TRUE Ersatzausgangswert für die Fehlerdauer

Wechsel in Betriebsart "Ersatzaus-gangswert anfahren mit Fehlerüberwa-chung" (Mode = 8) Wechsel in Betriebsart "Fehlerüberwa-chung" (Mode = 7)

Der Parameter ErrorBits zeigt, welche Fehler aufgetreten sind.

Siehe auch Parameter State und Retain.Mode V1 (Seite 392)

Parameter ErrorBits V1 (Seite 399)

PID_3Step V1 konfigurieren (Seite 148)

Page 377: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 376 Funktionshandbuch, 11/2019, A5E35300226-AE

9.2.5.2 Arbeitsweise PID_3Step V1

Istwertgrenzen überwachen In den Variablen Config.InputUpperLimit und Config.InputLowerLimit legen Sie eine Ober- und Untergrenze des Istwerts fest. Wenn der Istwert außerhalb dieser Grenzen liegt, tritt ein Fehler auf (ErrorBits = 0001hex). In den Variablen Config.InputUpperWarning und Config.InputLowerWarning legen Sie eine obere und untere Warngrenze des Istwerts fest. Wenn der Istwert außerhalb dieser Warngrenzen liegt, tritt eine Warnung auf (Warnings = 0040hex) und der Ausgangsparameter InputWarning_H oder InputWarning_L wird TRUE.

Sollwert begrenzen In den Variablen Config.SetpointUpperLimit und Config.SetpointLowerLimit legen Sie eine Ober- und Untergrenze des Sollwerts fest. PID_3Step begrenzt den Sollwert automatisch auf die Istwertgrenzen. Sie können den Sollwert auf einen kleineren Bereich begrenzen. PID_3Step prüft, ob dieser Bereich innerhalb der Istwertgrenzen liegt. Wenn der Sollwert außerhalb dieser Grenzen liegt, wird die Ober- oder Untergrenze als Sollwert verwendet und der Ausgangsparameter SetpointLimit_H oder SetpointLimit_L wird TRUE. Der Sollwert wird in allen Betriebsarten begrenzt.

Ausgangswert begrenzen In den Variablen Config.OutputUpperLimit und Config.OutputLowerLimit legen Sie eine Ober- und Untergrenze des Ausgangswerts fest. Die Ausgangswertgrenzen müssen innerhalb "Unterer Anschlag" und "Oberer Anschlag" liegen.

● Oberer Anschlag: Config.FeedbackScaling.UpperPointOut

● Unter Anschlag: Config.FeedbackScaling.LowerPointOut

Es muss gelten: UpperPointOut ≥ OutputUpperLimit > OutputLowerLimit ≥ LowerPointOut Die gültigen Werte für "Oberer Anschlag" und "Unterer Anschlag" hängen ab von:

● FeedbackOn

● FeedbackPerOn

● OutputPerOn

OutputPerOn FeedbackOn FeedbackPerOn LowerPointOut UpperPointOut FALSE FALSE FALSE nicht einstellbar (0.0 %) nicht einstellbar

(100.0 %) FALSE TRUE FALSE -100.0 % oder 0.0 % 0.0 % oder +100.0 % FALSE TRUE TRUE -100.0 % oder 0.0 % 0.0 % oder +100.0 % TRUE FALSE FALSE nicht einstellbar

(100.0 %) nicht einstellbar (100.0 %)

TRUE TRUE FALSE -100.0 % oder 0.0 % 0.0 % oder +100.0 % TRUE TRUE TRUE -100.0 % oder 0.0 % 0.0 % oder +100.0 %

Page 378: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 377

Wenn OutputPerOn = FALSE und FeedbackOn = FALSE, können Sie den Ausgangswert nicht begrenzen. Die Digitalausgänge entweder bei Actuator_H = TRUE oder Actuator_L = TRUE oder nach einer Verfahrzeit von 110% der Motorstellzeit zurück gesetzt.

Der Ausgangswert beträgt 27648 bei 100 % und -27648 bei -100 %. PID_3Step muss das Ventil vollständig schließen können. Daher muss die Null in den Ausgangswertgrenzen enthalten sein.

Hinweis Einsatz mit zwei oder mehr Stellgliedern

PID_3 Step ist nicht für den Einsatz mit zwei oder mehr Stellgliedern (z. B. in Heizen-/Kühlen-Anwendungen) geeignet, da unterschiedliche Stellglieder auch unterschiedliche PID-Parameter benötigen, um ein gutes Regelverhalten zu erzielen.

Ersatzausgangswert PID_3Step kann im Fehlerfall einen Ersatzausgangswert ausgeben und das Stellglied in eine sichere Position stellen, die Sie an der Variablen SavePosition vorgeben. Der Ersatzausgangswert muss innerhalb der Ausgangswertgrenzen liegen.

Gültigkeit der Signale überwachen Die Werte der folgenden Parameter werden auf Gültigkeit überwacht:

● Setpoint

● Input

● Input_PER

● Feedback

● Feedback_PER

● Output

Abtastzeit PID_3Step überwachen Die Abtastzeit entspricht im Idealfall der Zykluszeit des aufrufenden OB. Die Anweisung PID_3Step misst jeweils den Zeitabstand zwischen zwei Aufrufen. Das ist die aktuelle Abtastzeit. Bei jedem Wechsel der Betriebsart und bei Erstanlauf wird der Mittelwert der ersten 10 Abtastzeiten gebildet. Wenn die aktuelle Abtastzeit zu stark von diesem Mittelwert abweicht, tritt ein Fehler auf (ErrorBits = 0800 hex).

Folgende Bedingungen versetzen PID_3Step während der Optimierung in die Betriebsart "Inaktiv":

● Neuer Mittelwert >= 1,1 x alter Mittelwert

● Neuer Mittelwert <= 0,9 x alter Mittelwert

Page 379: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 378 Funktionshandbuch, 11/2019, A5E35300226-AE

Folgende Bedingungen versetzen PID_3Step bei Automatikbetrieb in die Betriebsart "Inaktiv":

● Neuer Mittelwert >= 1,5 x alter Mittelwert

● Neuer Mittelwert <= 0,5 x alter Mittelwert

Abtastzeit des PID-Algorithmus Da die Regelstrecke eine gewisse Zeit benötigt, um auf eine Änderung des Ausgangswerts zu reagieren, ist es sinnvoll, den Ausgangswert nicht in jedem Zyklus zu berechnen. Die Abtastzeit PID-Algorithmus ist die Zeit zwischen zwei Ausgangswertberechnungen. Sie wird während der Optimierung ermittelt und auf ein Vielfaches der Zykluszeit gerundet. Alle anderen Funktionen von PID_3Step werden bei jedem Aufruf durchgeführt.

Motorstellzeit messen Die Motorstellzeit ist die Zeit in Sekunden, die der Motor benötigt, um das Stellglied vom geschlossenen in den geöffneten Zustand zu bewegen. Das Stellglied wird maximal 110% der Motorstellzeit in eine Richtung bewegt. PID_3Step benötigt die Motorstellzeit so genau wie möglich, um ein gutes Regelergebnis zu erreichen. Die Angaben in der Dokumentation des Stellglieds sind gemittelte Werte für diesen Typ Stellglieder. Für das konkret verwendete Stellglied kann der Wert variieren. Die Motorstellzeit können Sie während der Inbetriebnahme messen. Die Ausgangswertgrenzen werden während der Motorstellzeitmessung nicht berücksichtigt. Dass Stellglied kann bis zum oberen oder unteren Anschlag verfahren werden.

Die Motorstellzeit wird sowohl bei der Berechnung des analogen Ausgangswerts als auch bei der Berechnung der digitalen Ausgangswerte berücksichtigt. Sie ist vor allem bei der Selbstoptimierung und dem Anti-Windup-Verhalten für eine korrekte Arbeitsweise notwendig. Konfigurieren Sie deshalb die Motorstellzeit mit dem Wert, den der Motor benötigt, um das Stellglied vom geschlossenen in den geöffneten Zustand zu bewegen.

Ist in Ihrem Prozess keine relevante Motorstellzeit wirksam (z. B. bei Magnetventilen), sodass der Ausgangswert direkt und in vollem Umfang auf den Prozess wirkt, so verwenden Sie stattdessen PID_Compact.

Regelsinn Meist soll mit einer Erhöhung des Ausgangswerts eine Erhöhung des Istwerts erreicht werden. In diesem Fall spricht man von einem normalen Regelsinn. Für Kühlungen und Abflussregelungen kann es notwendig sein, den Regelsinn zu invertieren. PID_3Step arbeitet nicht mit negativer Proportionalverstärkung. Wenn InvertControl = TRUE, bewirkt eine steigende Regeldifferenz eine Verringerung des Ausgangswerts. Der Regelsinn wird auch während Erst- und Nachoptimierung berücksichtigt.

Siehe auch PID_3Step V1 konfigurieren (Seite 148)

Page 380: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 379

9.2.5.3 Eingangsparameter PID_3Step V1

Parameter Datentyp Vorbelegung Beschreibung Setpoint REAL 0.0 Sollwert des PID-Reglers im Automatikbetrieb Input REAL 0.0 Eine Variable des Anwenderprogramms wird als Quelle des

Istwerts verwendet. Wenn Sie den Parameter Input verwenden, muss Con-fig.InputPerOn = FALSE sein.

Input_PER WORD W#16#0 Ein Analogeingang wird als Quelle des Istwerts verwendet. Wenn Sie den Parameter Input_PER verwenden, muss Con-fig.InputPerOn = TRUE sein.

Actuator_H BOOL FALSE Digitale Stellungsrückmeldung des Ventils für den Oberen Anschlag Wenn Actuator_H = TRUE ist die Stellung des Ventils am oberen Anschlag und das Ventil wird nicht weiter in diese Richtung bewegt.

Actuator_L BOOL FALSE Digitale Stellungsrückmeldung des Ventils für den Unteren Anschlag Wenn Actuator_L = TRUE ist die Stellung des Ventils am unteren Anschlag und das Ventil wird nicht weiter in diese Richtung bewegt.

Feedback REAL 0.0 Stellungsrückmeldung des Ventils Wenn Sie den Parameter Feedback verwenden, muss Con-fig.FeedbackPerOn = FALSE sein.

Feedback_PER WORD W#16#0 Analoge Stellungsrückmeldung eines Ventils Wenn Sie den Parameter Feedback_PER verwenden, muss Config.FeedbackPerOn = TRUE sein. Feedback_PER wird skaliert anhand der Variablen: • Config.FeedbackScaling.LowerPointIn • Config.FeedbackScaling.UpperPointIn • Config.FeedbackScaling.LowerPointOut • Config.FeedbackScaling.UpperPointOut

Page 381: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 380 Funktionshandbuch, 11/2019, A5E35300226-AE

Parameter Datentyp Vorbelegung Beschreibung ManualEnable BOOL FALSE • Flanke FALSE -> TRUE wählt die Betriebsart "Handbe-

trieb", State = 4, Retain.Mode bleibt unverändert. • Flanke TRUE -> FALSE wählt die zuletzt aktive Betriebsart Während ManualEnable = TRUE wirkt sich eine Änderung von Retain.Mode nicht aus. Erst bei der Flanke TRUE -> FALSE an ManualEnable wird die Änderung von Retain.Mode berücksichtigt. PID_3Step V1.1Wenn beim Start der CPU ManualEnable = TRUE, startet PID_3Step im Handbetrieb. Eine steigende Flanke (FALSE > TRUE) an ManualEnable ist nicht notwen-dig. PID_3Step V1.0 Beim Start der CPU schaltet PID_3Step nur bei einer steigen-den Flanke (FALSE->TRUE) an ManualEnable in den Hand-betrieb. Ohne steigende Flanke startet PID_3Step in der letzten Betriebsart bei der ManualEnable FALSE war.

ManualValue REAL 0.0 Im Handbetrieb wird die absolute Position des Ventils vorge-geben. ManualValue wird nur ausgewertet, wenn Sie Output-Per verwenden oder eine Stellungsrückmeldung verfügbar ist.

Manual_UP BOOL FALSE Im Handbetrieb öffnet jede steigende Flanke das Ventil um 5 % des gesamten Stellbereichs oder für die Mindeststellzeit des Motors. Manual_UP wird nur ausgewertet, wenn Sie we-der Output_PER verwenden noch eine Stellungsrückmeldung verfügbar ist.

Manual_DN BOOL FALSE Im Handbetrieb schließt jede steigende Flanke das Ventil um 5 % des gesamten Stellbereichs oder für die Mindeststellzeit des Motors. Manual_DN wird nur ausgewertet, wenn Sie we-der Output_PER verwenden noch eine Stellungsrückmeldung verfügbar ist.

Reset BOOL FALSE Führt einen Neustart des Reglers durch. • Flanke FALSE -> TRUE

– Wechsel in Betriebsart "Inaktiv" – ErrorBits und Warning werden zurückgesetzt – Zwischenwerte der Regelung werden zurückgesetzt

(PID-Parameter bleiben erhalten) • Flanke TRUE -> FALSE

– Wechsel in letzte aktive Betriebsart – Falls zuvor Automatikbetrieb aktiv war, erfolgt die Um-

schaltung in den Automatikbetrieb stoßfrei.

Page 382: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 381

9.2.5.4 Ausgangsparameter PID_3Step V1

Parameter Datentyp Vorbelegung Beschreibung ScaledInput REAL 0.0 Skalierter Istwert ScaledFeedback REAL 0.0 Skalierte Stellungsrückmeldung

Bei einem Stellglied ohne Stellungsrückmeldung zeigt Scale-dFeedback die Position des Stellglieds sehr ungenau an. Dann darf ScaledFeedback nur zur groben Abschätzung der aktuellen Position genutzt werden.

Output_UP BOOL FALSE Digitaler Ausgangswert zum Öffnen des Ventils Wenn Config.OutputPerOn = FALSE, wird der Parameter Output_UP verwendet.

Output_DN BOOL FALSE Digitaler Ausgangswert zum Schließen des Ventils Wenn Config.OutputPerOn = FALSE, wird der Parameter Output_DN verwendet.

Output_PER WORD W#16#0 Analoger Ausgangswert Wenn Config.OutputPerOn = TRUE, wird Output_PER ver-wendet. Verwenden Sie Output_PER, falls Sie als Stellglied ein Ventil nutzen, welches über einen analogen Ausgang angesprochen und mit einem kontinuierlichen Signal gesteuert wird, z. B. 0...10V oder 4...20mA. Der Wert an Output_PER entspricht der Zielstellung des Ven-tils z. B. Output_PER = 13824, wenn das Ventil zu 50% geöff-net werden soll.

SetpointLimit_H BOOL FALSE Wenn SetpointLimit_H = TRUE, ist die absolute Obergrenze des Sollwerts erreicht. In der CPU wird der Sollwert auf die konfigurierte absolute Obergrenze des Sollwerts begrenzt. Als Obergrenze Sollwert wird die konfigurierte absolute Ober-grenze Istwert vorbelegt. Wenn Sie Config.SetpointUpperLimit auf einen Wert innerhalb der Istwertgrenzen konfigurieren, wird dieser Wert als Ober-grenze Sollwert verwendet.

SetpointLimit_L BOOL FALSE Wenn SetpointLimit_L = TRUE, ist die absolute Untergrenze des Sollwerts erreicht. In der CPU wird der Sollwert auf die konfigurierte absolute Untergrenze des Sollwerts begrenzt. Als Untergrenze Sollwert ist die konfigurierte absolute Unter-grenze Istwert vorbelegt. Wenn Sie Config.SetpointLowerLimit auf einen Wert innerhalb der Istwertgrenzen konfigurieren, wird dieser Wert als Unter-grenze Sollwert verwendet.

InputWarning_H BOOL FALSE Wenn InputWarning_H = TRUE, ist die obere Warngrenze des Istwerts erreicht oder überschritten.

InputWarning_L BOOL FALSE Wenn InputWarning_L = TRUE, ist die untere Warngrenze des Istwerts erreicht oder unterschritten.

Page 383: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 382 Funktionshandbuch, 11/2019, A5E35300226-AE

Parameter Datentyp Vorbelegung Beschreibung State INT 0 Der Parameter State (Seite 392) zeigt die aktuelle Betriebsart

des PID-Reglers. Sie ändern die Betriebsart mit der Variable Retain.Mode. • State = 0: Inaktiv • State = 1: Erstoptimierung • State = 2: Nachoptimierung • State = 3: Automatikbetrieb • State = 4: Handbetrieb • State = 5: Ersatzausgangswert anfahren • State = 6: Stellzeitmessung • State = 7: Fehlerüberwachung • State = 8: Ersatzausgangswert anfahren mit Fehlerüber-

wachung

Error BOOL FALSE Wenn Error = TRUE, liegt mindestens eine Fehlermeldungen vor.

ErrorBits DWORD DW#16#0 Der Parameter ErrorBits (Seite 399) zeigt die Fehlermeldun-gen.

Siehe auch Parameter State und Retain.Mode V1 (Seite 392)

Parameter ErrorBits V1 (Seite 399)

Page 384: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 383

9.2.5.5 Statische Variablen PID_3Step V1

Hinweis

Nicht aufgeführte Variablen dürfen Sie nicht verändern. Diese werden nur intern verwendet.

Verändern Sie die mit (1) gekennzeichneten Variablen nur in der Betriebsart "Inaktiv", um ein Fehlverhalten des PID-Reglers zu vermeiden. Die Betriebsart "Inaktiv" erzwingen Sie durch den Wert "0" der Variable "Retain.Mode".

Variable Datentyp Vorbele-gung

Beschreibung

ActivateRecoverMode BOOL TRUE Die Variable ActivateRecoverMode (Seite 402) bestimmt das Ver-halten im Fehlerfall.

RunModeByStartup BOOL TRUE Nach CPU Neustart letzte Betriebsart aktivieren Wenn RunModeByStartup = TRUE, kehrt der Regler nach CPU-Anlauf in die zuletzt aktive Betriebsart zurück. Wenn RunModeByStartup = FALSE, bleibt der Regler nach CPU-Anlauf inaktiv.

PhysicalUnit INT 0 Physikalische Einheit des Ist- und Sollwerts, z. B. ºC oder ºF. PhysicalQuantity INT 0 Physikalische Größe des Ist- und Sollwerts, z. B. Temperatur ErrorBehaviour INT 0 Wenn ErrorBehaviour = 0, bleibt das Ventil im Fehlerfall in der

aktuellen Position und der Regler wechselt direkt in die Betriebsart "Inaktiv" oder "Fehlerüberwachung". Wenn ErrorBehaviour = 1, wird im Fehlerfall das Stellglied auf den Ersatzausgangswert gefahren und erst dann in die Betriebsart "Inaktiv" oder "Fehlerüberwachung" gewechselt. Wenn die folgenden Fehler auftreten, kann das Ventil nicht mehr auf einen konfigurierten Ersatzausgangswert gefahren werden. • 2000h: Ungültiger Wert am Parameter Feedback_PER. • 4000h: Ungültiger Wert am Parameter Feedback. • 8000h: Fehler bei der digitalen Stellungsrückmeldung.

Warning DWORD DW#16#0

Die Variable Warning (Seite 392) zeigt die Warnungen seit Reset oder dem letzten Wechsel der Betriebsart. Zyklische Warnungen (z. B. Istwertwarnung) werden solange an-gezeigt wie die Ursache der Warnung anliegt. Fällt der Grund Weg, werden sie automatisch gelöscht. Nichtzyklische Warnungen (z. B. Wendepunkt nicht gefunden) bleiben bestehen und werden wie Fehler gelöscht.

SavePosition REAL 0.0 Ersatzausgangswert Wenn ErrorBehaviour = 1, wird das Stellglied im Fehlerfall in eine für die Anlage sichere Position gefahren und erst dann in die Be-triebsart "Inaktiv" gewechselt.

CurrentSetpoint REAL 0.0 Aktuell aktiver Sollwert. Dieser Wert wird beim Start der Optimie-rung eingefroren.

Page 385: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 384 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Datentyp Vorbele-gung

Beschreibung

Progress REAL 0.0 Fortschritt der Optimierung in Prozent (0.0 - 100.0) Config.InputPerOn(1) BOOL TRUE Wenn InputPerOn = TRUE, wird der Parameter Input_PER ver-

wendet. Wenn InputPerOn = FALSE, wird der Parameter Input verwendet.

Config.OutputPerOn(1) BOOL FALSE Wenn OutputPerOn = TRUE, wird der Parameter Output_PER verwendet. Wenn OutputPerOn = FALSE, werden die Parameter Ouput_UP und Output_DN verwendet.

Config.LoadBackUp BOOL FALSE Wenn LoadBackUp = TRUE, wird der letzte Satz PID-Parameter wieder geladen. Der Satz wurde vor der letzten Optimierung ge-speichert. LoadBackUp wird automatisch wieder auf FALSE ge-setzt.

Config.InvertControl(1) BOOL FALSE Invertieren des Regelsinns Wenn InvertControl = TRUE, bewirkt eine steigende Regeldiffe-renz eine Verringerung des Ausgangswerts.

Config.FeedbackOn(1) BOOL FALSE Wenn FeedbackOn = FALSE, wird eine Stellungsrückmeldung simuliert. Wenn FeedbackOn = TRUE, wird generell die Stellungsrückmel-dung aktiviert.

Config.FeedbackPerOn(1) BOOL FALSE FeedbackPerOn ist nur wirksam, wenn FeedbackOn = TRUE. Wenn FeedbackPerOn = TRUE, wird der Analogeingang für die Stellungsrückmeldung verwendet (Parameter Feedback_PER). Wenn FeedbackPerOn = FALSE, wird der Parameter Feedback für die Stellungsrückmeldung verwendet.

Config.ActuatorEndStopOn(1) BOOL FALSE Wenn ActuatorEndStopOn = TRUE, wird die digitale Stellungs-rückmeldung Actuator_L und Actuator_H berücksichtigt.

Config.InputUpperLimit(1) REAL 120.0 Obergrenze des Istwerts Am Peripherie-Eingang kann der Istwert maximal 18 % über dem Normbereich (Übersteuerungsbereich) liegen. Wegen einer Über-schreitung der "Obergrenze Istwert" wird kein Fehler mehr gemel-det. Nur Drahtbruch und Kurzschluss werden erkannt und PID_3Step verhält sich wie unter Verhalten im Fehlerfall konfigu-riert. InputUpperLimit > InputLowerLimit

Config.InputLowerLimit(1) REAL 0.0 Untergrenze des Istwerts InputLowerLimit < InputUpperLimit

Config.InputUpperWarning(1) REAL +3.402822e+38

Obere Warngrenze des Istwerts Wenn Sie InputUpperWarning außerhalb der Istwertgrenzen konfi-gurieren, wird die konfigurierte absolute Obergrenze Istwert als Obere Warngrenze verwendet. Wenn Sie InputUpperWarning innerhalb der Istwertgrenzen konfi-gurieren, wird dieser Wert als Obere Warngrenze verwendet. InputUpperWarning > InputLowerWarning InputUpperWarning ≤ InputUpperLimit

Page 386: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 385

Variable Datentyp Vorbele-gung

Beschreibung

Config.InputLowerWarning(1) REAL -3.402822e+38

Untere Warngrenze des Istwerts Wenn Sie InputLowerWarning außerhalb der Istwertgrenzen konfi-gurieren, wird die konfigurierte absolute Untergrenze Istwert als Untere Warngrenze verwendet. Wenn Sie InputLowerWarning innerhalb der Istwertgrenzen konfi-gurieren, wird dieser Wert als Untere Warngrenze verwendet. InputLowerWarning < InputUpperWarning InputLowerWarning ≥ InputLowerLimit

Config.OutputUpperLimit(1) REAL 100.0 Obergrenze des Ausgangswerts Folgender Wertebereich ist zulässig: UpperPointOut ≥ OutputUpperLimit > OutputLowerLimit Weitere Details siehe OutputLowerLimit

Config.OutputLowerLimit(1) REAL 0.0 Untergrenze des Ausgangswerts Folgender Wertebereich ist zulässig: OutputUpperLimit > OutputLowerLimit ≥ LowerPointOut Bei Verwendung von Output_PER entspricht eine Ausgangswert-grenze von -100 % dem Wert Output_PER = -27648; 100 % ent-sprechen dem Wert Output_PER = 27648. Wenn OutputPerOn = FALSE und FeedbackOn = FALSE, werden OutputLowerLimit und OutputUpperLimit nicht ausgewertet. Out-put_UP und Output_DN werden dann bei Actuator_H = TRUE oder Actuator_L = TRUE zurück gesetzt (wenn ActuatorEndSto-pOn = TRUE) oder nach einer Verfahrzeit von 110 % * Con-fig.TransitTime (wenn ActuatorEndStopOn = FALSE).

Config.SetpointUpperLimit(1) REAL +3.402822e+38

Obergrenze des Sollwerts Wenn Sie SetpointUpperLimit außerhalb der Istwertgrenzen konfi-gurieren, wird die konfigurierte absolute Istwertobergrenze als Obergrenze Sollwert vorbelegt. Wenn Sie SetpointUpperLimit innerhalb der Istwertgrenzen konfi-gurieren, wird dieser Wert als Obergrenze Sollwert verwendet.

Config.SetpointLowerLimit(1) REAL - 3.402822e+38

Untergrenze des Sollwerts Wenn Sie SetpointLowerLimit außerhalb der Istwertgrenzen konfi-gurieren, wird die konfigurierte absolute Istwertuntergrenze als Untergrenze Sollwert vorbelegt. Wenn Sie SetpointLowerLimit innerhalb der Istwertgrenzen konfi-gurieren, wird dieser Wert als Untergrenze Sollwert verwendet.

Config.MinimumOnTime(1) REAL 0.0 Minimale Einschaltzeit Zeit in Sekunden, die der Stellantrieb mindestens eingeschaltet sein muss. Config.MinimumOnTime ist nur wirksam, falls Output_UP und Output_DN verwendet werden (Config.OutputPerOn = FALSE).

Config.MinimumOffTime(1) REAL 0.0 Minimale Ausschaltzeit Zeit in Sekunden, die der Stellantrieb mindestens ausgeschaltet sein muss. Config.MinimumOffTime ist nur wirksam, falls Output_UP und Output_DN verwendet werden (Config.OutputPerOn = FALSE).

Page 387: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 386 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Datentyp Vorbele-gung

Beschreibung

Config.TransitTime(1) REAL 30.0 Motorstellzeit Zeit in Sekunden, die der Stellantrieb benötigt, um das Ventil vom geschlossenen in den geöffneten Zustand zu bewegen.

Config.InputScaling .UpperPointIn(1)

REAL 27648.0 Skalierung Input_PER Oben Anhand der zwei Wertepaare UpperPointOut, UpperPointIn und LowerPointOut, LowerPointIn der Struktur InputScaling wird In-put_PER in Prozent umgerechnet.

Config.InputScaling .LowerPointIn(1)

REAL 0.0 Skalierung Input_PER Unten Anhand der zwei Wertepaare UpperPointOut, UpperPointIn und LowerPointOut, LowerPointIn der Struktur InputScaling wird In-put_PER in Prozent umgerechnet.

Config.InputScaling .UpperPointOut(1)

REAL 100.0 Skalierter oberer Istwert Anhand der zwei Wertepaare UpperPointOut, UpperPointIn und LowerPointOut, LowerPointIn der Struktur InputScaling wird In-put_PER in Prozent umgerechnet.

Config.InputScaling .LowerPointOut(1)

REAL 0.0 Skalierter unterer Istwert Anhand der zwei Wertepaare UpperPointOut, UpperPointIn und LowerPointOut, LowerPointIn der Struktur InputScaling wird In-put_PER in Prozent umgerechnet.

Config.FeedbackScaling .UpperPointIn(1)

REAL 27648.0 Skalierung Feedback_PER Oben Anhand der zwei Wertepaare UpperPointOut, UpperPointIn und LowerPointOut, LowerPointIn der Struktur FeedbackScaling wird Feedback_PER in Prozent umgerechnet.

Config.FeedbackScaling .LowerPointIn(1)

REAL 0.0 Skalierung Feedback_PER Unten Anhand der zwei Wertepaare UpperPointOut, UpperPointIn und LowerPointOut, LowerPointIn der Struktur FeedbackScaling wird Feedback_PER in Prozent umgerechnet.

Config.FeedbackScaling .UpperPointOut(1)

REAL 100.0 Oberer Anschlag Anhand der zwei Wertepaare UpperPointOut, UpperPointIn und LowerPointOut, LowerPointIn der Struktur FeedbackScaling wird Feedback_PER in Prozent umgerechnet. Der zulässige Wertebereich ist abhängig von der Konfiguration. • FeedbackOn = FALSE:

UpperPointOut = 100.0 • FeedbackOn = TRUE:

UpperPointOut = 100.0 oder 0.0

UpperPointOut ≠ LowerPointOut

Page 388: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 387

Variable Datentyp Vorbele-gung

Beschreibung

Config.FeedbackScaling .LowerPointOut(1)

REAL 0.0 Unterer Anschlag Anhand der zwei Wertepaare UpperPointOut, UpperPointIn und LowerPointOut, LowerPointIn der Struktur FeedbackScaling wird Feedback_PER in Prozent umgerechnet. Der zulässige Wertebereich ist abhängig von der Konfiguration. • FeedbackOn = FALSE:

LowerPointOut = 0.0 • FeedbackOn = TRUE:

LowerPointOut = 0.0 oder -100.0

LowerPointOut ≠ UpperPointOut GetTransitTime .InvertDirection

BOOL FALSE Wenn InvertDirection = FALSE, wird das Ventil zum Ermitteln der Stellzeit vollständig geöffnet, geschlossen und wieder geöffnet. Wenn InvertDirection = TRUE, wird das Ventil vollständig ge-schlossen, geöffnet und wieder geschlossen.

GetTransitTime .SelectFeedback

BOOL FALSE Wenn SelectFeedback = TRUE, wird Feedback_PER oder Feed-back bei der Stellzeitmessung berücksichtigt. Wenn SelectFeedback = FALSE, wird Actuator_H und Actuator_L bei der Stellzeitmessung berücksichtigt.

GetTransitTime.Start BOOL FALSE Wenn Start = TRUE, wird die Stellzeitmessung gestartet. GetTransitTime.State INT 0 Aktuelle Phase der Stellzeitmessung

• State = 0: Inaktiv • State = 1: Ventil vollständig öffnen • State = 2: Ventil vollständig schließen • State = 3: Ventil auf Zielstellung (NewOutput) stellen • State = 4: Stellzeitmessung erfolgreich beendet • State = 5: Stellzeitmessung abgebrochen

GetTransitTime.NewOutput REAL 0.0 Zielstellung für die Stellzeitmessung mit Stellungsrückmeldung Die Zielstellung muss innerhalb "Oberer Anschlag" und "Unterer Anschlag" liegen. Die Differenz zwischen NewOutput und Scaled-Feedback muss mindestens 50 % des zulässigen Stellbereichs sein.

CycleTime.StartEstimation BOOL TRUE Wenn StartEstimation = TRUE, wird die Messung der Abtastzeit PID_3Step gestartet. Nach Abschluss der Messung wird CycleTi-me.StartEstimation = FALSE.

CycleTime.EnEstimation BOOL TRUE Wenn EnEstimation = TRUE, wird die Abtastzeit PID_3Step be-rechnet.

CycleTime.EnMonitoring BOOL TRUE Wenn EnMonitoring = TRUE, wird die Abtastzeit PID_3Step über-wacht. Wenn PID_3Step nicht innerhalb der Abtastzeit ausgeführt werden kann, wird der Fehler 0800h ausgegeben und die Be-triebsart gewechselt. In welche Betriebsart gewechselt wird, hängt ab von ActivateRecoverMode und ErrorBehaviour. Wenn EnMonitoring = FALSE, wird die Abtastzeit PID_3Step nicht überwacht, der Fehler 0800h nicht ausgegeben und die Betriebsart nicht gewechselt.

Page 389: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 388 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Datentyp Vorbele-gung

Beschreibung

CycleTime.Value(1) REAL 0.1 Abtastzeit PID_3Step in Sekunden CycleTime.Value wird automatisch ermittelt und entspricht norma-lerweise der Zykluszeit des aufrufenden OB.

CtrlParamsBackUp.SetByUser BOOL FALSE Gespeicherter Wert von Retain.CtrlParams.SetByUser Werte aus der Struktur CtrlParamsBackUp können mit Con-fig.LoadBackUp = TRUE wieder geladen werden.

CtrlParamsBackUp.Gain REAL 1.0 Gespeicherte Proportionalverstärkung CtrlParamsBackUp.Ti REAL 20.0 Gespeicherte Integrationszeit CtrlParamsBackUp.Td REAL 0.0 Gespeicherte Differenzierzeit CtrlParamsBackUp.TdFiltRatio REAL 0.0 Gespeicherter Koeffizient für den Differenzierverzug CtrlParamsBackUp .PWeighting

REAL 0.0 Gespeicherte Gewichtung des P-Anteils

CtrlParamsBackUp .DWeighting

REAL 0.0 Gespeicherte Gewichtung des D-Anteils

CtrlParamsBackUp.Cycle REAL 1.0 Gespeicherte Abtastzeit PID-Algorithmus CtrlParamsBackUp .InputDeadBand

REAL 0.0 Gespeicherte Totzonenbreite der Regeldifferenz

PIDSelfTune.SUT .CalculateSUTParams

BOOL FALSE Die Eigenschaften der Regelstrecke werden bei der Optimierung gespeichert. Wenn CalculateSUTParams = TRUE, werden anhand dieser Eigenschaften die PID-Parameter neu berechnet. Die PID-Parameter werden nach der Methode berechnet, die in TuneRule-SUT eingestellt ist. CalculateSUTParams wird nach der Berech-nung auf FALSE gesetzt.

Page 390: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 389

Variable Datentyp Vorbele-gung

Beschreibung

PIDSelfTune.SUT .TuneRuleSUT

INT 1 Parameter während Erstoptimierung berechnen nach Methode: • TuneRuleSUT = 0: PID schnell I (schenelleres Regelverhalten

mit höheren Amplituden des Ausgangswerts als mit TuneRule-SUT = 1)

• TuneRuleSUT = 1: PID langsam I (langsameres Regelverhal-ten mit geringeren Amplituden des Ausgangswerts als mit Tu-neRuleSUT = 0)

• TuneRuleSUT = 2: Chien, Hrones, Reswick PID • TuneRuleSUT = 3: Chien, Hrones, Reswick PI • TuneRuleSUT = 4: PID schnell II (schnelleres Regelveralten

mit höheren Amplituden des Ausgangswerts als mit TuneRule-SUT = 5)

• TuneRuleSUT = 5: PID langsam II (langsameres Regelverhal-ten mit geringeren Amplituden des Ausgangswerts als mit Tu-neRuleSUT = 4)

Die Methoden TuneRuleSUT = 0 und 1 unterscheiden sich nur in der Berechnung der Proportionalverstärkung von den Methoden TuneRuleSUT = 4 und 5: Bei TuneRuleSUT = 0 und 1 wird die Proportionalverstärkung anhand der Ausgleichszeit des Prozesses berechnet. Bei Tu-neRuleSUT = 4 und 5 geschieht dies anhand der Verzugszeit des Prozesses. TuneRuleSUT = 4 und 5 ergibt einen höheren Wert für die Propor-tionalverstärkung und damit ein schnelleres Regelveralten mit höheren Amplituden des Ausgangswerts als mit TuneRuleSUT = 0 und 1.

PIDSelfTune.SUT.State INT 0 Die Variable SUT.State zeigt die aktuelle Phase der Erstoptimie-rung:

PIDSelfTune.TIR.RunIn BOOL FALSE • RunIn = FALSE

Wenn die Nachoptimierung aus der Betriebsart Inaktiv oder Handbetrieb gestartet wird, wird eine Erstoptimierung gestartet.

Wenn die Nachoptimierung aus dem Automatikbetrieb gestar-tet wird, wird mit den vorhandenen PID-Parametern auf den Sollwert geregelt.

Erst dann startet die Nachoptimierung. Ist die Erstoptimierung nicht möglich, wechselt PID_3Step in die Betriebsart "Inaktiv".

• RunIn = TRUE

Die Erstoptimierung wird übersprungen. PID_3Step versucht den Sollwert mit minimalem oder maximalem Ausgangswert zu erreichen. Das kann ein erhöhtes Überschwingen verursachen. Erst dann startet die Nachoptimierung.

RunIn wird nach der Nachoptimierung auf FALSE gesetzt.

Page 391: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 390 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Datentyp Vorbele-gung

Beschreibung

PIDSelfTune.TIR .CalculateTIRParams

BOOL FALSE Die Eigenschaften der Regelstrecke werden bei der Optimierung gespeichert. Wenn CalculateTIRParams = TRUE, werden anhand dieser Eigenschaften die PID-Parameter neu berechnet. Die PID-Parameter werden nach der Methode berechnet, die in TuneRule-TIR eingestellt ist. CalculateTIRParams wird nach der Berechnung auf FALSE gesetzt.

PIDSelfTune.TIR .TuneRuleTIR

INT 0 Parameter während Nachoptimierung berechnen nach Methode: • TuneRuleTIR = 0: PID automatisch • TuneRuleTIR = 1: PID schnell (schnelleres Regelverhalten mit

höheren Amplituden des Ausgangswerts als mit TuneRule-TIR = 2)

• TuneRuleTIR = 2: PID langsam (langsameres Regelverhalten mit geringeren Amplituden des Ausgangswerts als mit TuneRu-leTIR = 1)

• TuneRuleTIR = 3: Ziegler-Nichols PID • TuneRuleTIR = 4: Ziegler-Nichols PI • TuneRuleTIR = 5: Ziegler-Nichols P Um die Berechnung der PID-Parameter mit CalculateTIRParams und TuneRuleTIR = 0, 1 oder 2 wiederholen zu können, muss auch die vorhergehende Nachoptimierung mit TuneRuleTIR = 0, 1 oder 2 ausgeführt worden sein. Ist dies nicht der Fall, wird TuneRuleTIR = 3 verwendet. Die erneute Berechnung der PID-Parameter mit CalculateTIRPa-rams und TuneRuleTIR = 3, 4 oder 5 ist immer möglich.

PIDSelfTune.TIR.State INT 0 Die Variable TIR.State zeigt die aktuelle Phase der "Nachoptimie-rung":

Retain.Mode INT 0 Wenn sich der Wert von Retain.Mode ändert, wird in eine andere Betriebsart gewechselt. Folgende Betriebsart wird aktiviert bei Änderung von Mode zu: • Mode = 0: Inaktiv • Mode = 1: Erstoptimierung • Mode = 2: Nachoptimierung • Mode = 3: Automatikbetrieb • Mode = 4: Handbetrieb • Mode = 5: Ersatzausgangswert anfahren • Mode = 6: Stellzeitmessung • Mode = 7: Fehlerüberwachung • Mode = 8: Ersatzausgangswert anfahren mit Fehlerüberwa-

chung Mode ist remanent.

Page 392: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 391

Variable Datentyp Vorbele-gung

Beschreibung

Retain.CtrlParams .SetByUser(1)

BOOL FALSE Wenn SetByUser = FALSE, sind die PID-Parameter automatisch ermittelt und PID_3Step arbeitet mit einer Totzone am Ausgangs-wert. Die Totzonenbreite wird während der Optimierung anhand der Standardabweichung des Ausgangswerts berechnet und in Retain.CtrlParams.OutputDeadBand gespeichert. Wenn SetByUser = TRUE, sind die PID-Parameter manuell einge-geben und PID_3 Step arbeitet ohne Totzone am Ausgangswert. Retain.CtrlParams.OutputDeadBand = 0.0 SetByUser ist remanent.

Retain.CtrlParams.Gain(1) REAL 1.0 Aktive Proportionalverstärkung Gain ist remanent.

Retain.CtrlParams.Ti(1) REAL 20.0 • Ti > 0.0: Aktive Integrationszeit • Ti = 0.0: I-Anteil ist ausgeschaltet Ti ist remanent.

Retain.CtrlParams.Td(1) REAL 0.0 • Td > 0.0: Aktive Differenzierzeit • Td = 0.0: D-Anteil ist ausgeschaltet Td ist remanent.

Retain.CtrlParams .TdFiltRatio(1)

REAL 0.0 Aktiver Koeffizient für den Differenzierverzug TdFiltRatio ist remanent.

Retain.CtrlParams .PWeighting(1)

REAL 0.0 Aktive Gewichtung des P-Anteils PWeighting ist remanent.

Retain.CtrlParams .DWeighting(1)

REAL 0.0 Aktive Gewichtung des D- Anteils DWeighting ist remanent.

Retain.CtrlParams.Cycle(1) REAL 1.0 Aktive Abtastzeit PID-Algorithmus in Sekunden, die zu einem ganzzahligen Vielfachen der Zykluszeit des aufrufenden OB aufge-rundet wird. Cycle ist remanent.

Retain.CtrlParams .InputDeadBand(1)

REAL 0.0 Totzonenbreite der Regeldifferenz InputDeadBand ist remanent.

Siehe auch Parameter State und Retain.Mode V1 (Seite 392)

Variable ActivateRecoverMode V1 (Seite 402)

Technologieobjekte in Gerät laden (Seite 47)

Page 393: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 392 Funktionshandbuch, 11/2019, A5E35300226-AE

9.2.5.6 Parameter State und Retain.Mode V1

Zusammenhang der Parameter Der Parameter State zeigt die aktuelle Betriebsart des PID-Reglers. Sie können den Parameter State nicht ändern.

Um die Betriebsart zu wechseln, müssen Sie die Variable Retain.Mode ändern. Das gilt auch, wenn in Retain.Mode bereits der Wert für die neue Betriebsart steht. Setzen Sie dann z. B. erst Retain.Mode = 0 und anschließend Retain.Mode = 3. Wenn die aktuelle Betriebsart des Reglers diesen Wechsel erlaubt, wird State auf den Wert von Retain.Mode gesetzt.

Wenn PID_3Step automatisch die Betriebsart wechselt gilt: State != Retain.Mode.

Beispiele:

● Nach erfolgreicher Erstoptimierung State = 3 und Retain.Mode = 1

● Im Fehlerfall State = 0 und Retain.Mode bleibt auf bisherigem Wert, z. B. Retain.Mode = 3

● ManualEnalbe = TRUE State = 4 und Retain.Mode bleibt auf bisherigem Wert, z. B. Retain.Mode = 3

Hinweis

Sie wollen z. B. eine erfolgreiche Nachoptimierung wiederholen ohne den Automatikbetrieb mit Mode = 0 zu beenden.

Wenn Sie Retain.Mode für einen Takt auf einen ungültigen Wert setzen, z. B. 9999, hat das keinen Einfluss auf State. Im nächsten Takt setzen Sie Mode = 2. So können Sie eine Änderung an Retain.Mode erzeugen, ohne erst in die Betriebsart "Inaktiv" zu wechseln.

Page 394: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 393

Bedeutung der Werte State / Retain.Mode

Beschreibung

0 Inaktiv Der Regler ist ausgeschaltet und verändert die Position des Ventils nicht mehr.

1 Erstoptimierung Die Erstoptimierung ermittelt die Prozessantwort auf einen Impuls des Ausgangswerts und sucht den Wen-depunkt. Aus der maximalen Steigung und der Totzeit der Regelstrecke werden die optimalen PID-Parameter berechnet. Voraussetzungen für die Erstoptimierung: • State = 0 oder State = 4 • ManualEnable = FALSE • Die Motorstellzeit ist konfiguriert oder gemessen. • Der Sollwert und der Istwert befinden sich innerhalb der konfigurierten Grenzen. Je stabiler der Istwert ist, desto leichter und genauer können die PID-Parameter ermittelt werden. Ein Rau-schen des Istwerts ist solange akzeptabel, wie der Anstieg des Istwerts signifikant größer ist als das Rau-schen. Bevor die PID-Parameter neu berechnet werden, werden sie gesichert und können mit Config.LoadBackUp reaktiviert werden. Der Sollwert wird in der Variablen CurrentSetpoint eingefroren. Nach erfolgreicher Erstoptimierung wird in den Automatikbetrieb geschaltet; nach erfolgloser Erstoptimie-rung in die Betriebsart "Inaktiv". Die Phase der Erstoptimierung wird mit Variable SUT.State angezeigt.

2 Nachoptimierung Die Nachoptimierung generiert eine konstante, begrenzte Schwingung des Istwertes. Aus Amplitude und Frequenz dieser Schwingung werden die PID-Parameter optimiert. Die Unterschiede zwischen der Prozes-santwort während Erst- und Nachoptimierung werden analysiert. Aus den Ergebnissen werden alle PID-Parameter neu berechnet. Die PID-Parameter aus der Nachoptimierung zeigen meist ein besseres Füh-rungs- und Störverhalten als die PID-Parameter aus der Erstoptimierung. PID_3Step versucht automatisch eine Schwingung zu erzeugen, die größer ist als das Rauschen des Ist-werts. Die Nachoptimierung wird nur geringfügig von der Stabilität des Istwerts beeinflusst. Vor der Nachoptimierung werden die PID-Parameter gesichert. Sie können mit Config.LoadBackUp reakti-viert werden. Der Sollwert wird in der Variablen CurrentSetpoint eingefroren. Voraussetzungen für die Nachoptimierung: • Die Motorstellzeit ist konfiguriert oder gemessen. • Der Sollwert und der Istwert befinden sich innerhalb der konfigurierten Grenzen. • ManualEnable = FALSE • Betriebsart Automatikbetrieb (State = 3), Inaktiv (State = 0) oder Handbetrieb (State = 4)

Page 395: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 394 Funktionshandbuch, 11/2019, A5E35300226-AE

State / Retain.Mode

Beschreibung

2 Die Nachoptimierung verläuft folgendermaßen beim Start aus: • Automatikbetrieb (State = 3)

Wenn Sie die vorhandenen PID-Parameter durch die Optimierung verbessern wollen, starten Sie die Nachoptimierung aus dem Automatikbetrieb.

PID_3Step regelt solange mit den vorhandenen PID-Parametern, bis der Regelkreis eingeschwungen ist und die Voraussetzungen für eine Nachoptimierung erfüllt sind. Erst dann startet die Nachoptimierung.

• Inaktiv (State = 0) oder Handbetrieb (State = 4)

Zuerst wird immer eine Erstoptimierung gestartet. Mit den ermittelten PID-Parametern wird solange ge-regelt, bis der Regelkreis eingeschwungen ist und die Voraussetzungen für eine Nachoptimierung erfüllt sind.

Wenn PIDSelfTune.TIR.RunIn = TRUE, wird die Erstoptimierung übersprungen und versucht den Soll-wert mit minimalem oder maximalen Ausgangswert zu erreichen. Das kann ein erhöhtes Überschwingen verursachen. Die Nachoptimierung startet dann automatisch.

Nach erfolgreicher Nachoptimierung wechselt der Regler in den Automatikbetrieb; bei erfolgloser Nachop-timierung in die Betriebsart "Inaktiv". Die Phase der Nachoptimierung wird mit Variable TIR.State angezeigt.

3 Automatikbetrieb Im Automatikbetrieb regelt PID_3Step die Regelstrecke entsprechend der vorgegebenen Parameter aus. Wenn eine der folgenden Voraussetzungen erfüllt ist, wird in den Automatikbetrieb gewechselt: • Erstoptimierung erfolgreich abgeschlossen • Nachoptimierung erfolgreich abgeschlossen • Ändern der Variable Retain.Mode auf den Wert 3. Wenn die CPU eingeschaltet wird oder von Stopp in RUN wechselt, startet PID_3Step in der zuletzt aktiven Betriebsart. Um PID_3Step in der Betriebsart "Inaktiv" zu belassen, setzen Sie RunModeByStar-tup = FALSE. Im Automatikbetrieb wird die Variable ActivateRecoverMode berücksichtigt.

4 Handbetrieb Im Handbetrieb geben Sie manuelle Ausgangswerte an den Parametern Manual_UP und Manual_DN oder ManualValue vor. Ob das Stellglied im Fehlerfall auf den Ausgangswert verfahren werden kann, ist beim Parameter ErrorBits beschrieben. Diese Betriebsart wird aktiviert, wenn Retain.Mode = 4 oder bei steigender Flanke an ManualEnable. Wenn ManualEnable TRUE wird, ändert sich nur State. Retain.Mode bleibt auf dem bisherigen Wert. Bei einer fallenden Flanke an ManualEnable kehrt PID_3Step in die vorhergehende Betriebsart zurück. Der Wechsel in den Automatikbetrieb erfolgt stoßfrei. PID_3Step V1.1 Im Fehlerfall ist der Handbetrieb immer möglich. PID_3Step V1.0 Im Fehlerfall ist der Handbetrieb abhängig von der Variablen ActivateRecoverMode.

5 Ersatzausgangswert anfahren Diese Betriebsart wird im Fehlerfall oder bei Reset = TRUE aktiviert, wenn Errorbehaviour = 1 und Activa-teRecoverMode = FALSE. PID_3Step fährt das Stellglied auf den Ersatzausgangswert und wechselt anschließend in die Betriebsart "Inaktiv".

Page 396: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 395

State / Retain.Mode

Beschreibung

6 Stellzeitmessung Es wird die Zeit ermittelt, die der Motor benötigt, um das Ventil aus dem geschlossenen Zustand vollständig zu öffnen. Diese Betriebsart wird aktiviert, wenn GetTransitTime.Start = TRUE gesetzt wird. Wenn zur Stellzeitmessung Anschlagsignale verwendet werden, wird das Ventil von der aktuellen Position aus vollständig geöffnet, vollständig geschlossen und erneut vollständig geöffnet. Wenn GetTransitTi-me.InvertDirection = TRUE, wird dieses Verhalten umgekehrt. Wenn zur Stellzeitmessung eine Stellungsrückmeldung verwendet wird, wird das Stellglied von der aktuel-len Stellung in eine Zielstellung gefahren. Die Ausgangswertgrenzen werden während der Stellzeitmessung nicht berücksichtigt. Dass Stellglied kann bis zum oberen oder unteren Anschlag verfahren werden.

7 Fehlerüberwachung Der Regelalgorithmus ist ausgeschaltet und verändert die Position des Ventils nicht mehr. Diese Betriebsart wird im Fehlerfall statt der Betriebsart "Inaktiv" aktiviert. Alle folgenden Bedingungen müssen erfüllt sein: • Mode = 3 (Automatikbetrieb) • Errorbehaviour = 0 • ActivateRecoverMode = TRUE • Einer oder mehrere Fehler sind auftreten, bei denen ActivateRecoverMode (Seite 402) wirkt. Sobald die Fehler nicht mehr anstehen, wechselt PID_3Step wieder in den Automatikbetrieb.

8 Ersatzausgangswert anfahren mit Fehlerüberwachung Diese Betriebsart wird im Fehlerfall statt der Betriebsart " Ersatzausgangswert anfahren" aktiviert. PID_3Step fährt das Stellglied auf den Ersatzausgangswert und wechselt anschließend in die Betriebsart "Fehlerüberwachung". Alle folgenden Bedingungen müssen erfüllt sein: • Mode = 3 (Automatikbetrieb) • Errorbehaviour = 1 • ActivateRecoverMode = TRUE • Einer oder mehrere Fehler sind auftreten, bei denen ActivateRecoverMode (Seite 402) wirkt. Sobald die Fehler nicht mehr anstehen, wechselt PID_3Step wieder in den Automatikbetrieb.

Page 397: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 396 Funktionshandbuch, 11/2019, A5E35300226-AE

Automatische Betriebsartwechsel während der Inbetriebnahme Im Fehlerfall wechselt PID_3Step automatisch die Betriebsart. Das folgende Diagramm zeigt den Einfluss von ErrorBehaviour auf den Betriebsartwechsel aus den Betriebsarten Stellzeitmessung, Erstoptimierung und Nachoptimierung.

Automatischer Betriebsartwechsel im Fehlerfall

Automatischer Betriebsartwechsel, wenn der aktuelle Betrieb abgeschlossen ist.

Page 398: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 397

Automatische Betriebsartwechsel im Automatikbetrieb (PID_3Step V1.1) Im Fehlerfall wechselt PID_3Step automatisch die Betriebsart. Das folgende Diagramm zeigt den Einfluss von ErrorBehaviour und ActivateRecoverMode auf diesen Betriebsartwechsel.

Automatischer Betriebsartwechsel im Fehlerfall

Automatischer Betriebsartwechsel, wenn der aktuelle Betrieb abgeschlossen ist.

Page 399: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 398 Funktionshandbuch, 11/2019, A5E35300226-AE

Automatische Betriebsartwechsel im Automatik- und Handbetrieb (PID_3Step V1.0) Im Fehlerfall wechselt PID_3Step automatisch die Betriebsart. Das folgende Diagramm zeigt den Einfluss von ErrorBehaviour und ActivateRecoverMode auf diesen Betriebsartwechsel.

Automatischer Betriebsartwechsel im Fehlerfall

Automatischer Betriebsartwechsel, wenn der aktuelle Betrieb abgeschlossen ist.

Automatischer Betriebsartwechsel, wenn Fehler nicht mehr ansteht.

Siehe auch Variable ActivateRecoverMode V1 (Seite 402)

Parameter ErrorBits V1 (Seite 399)

Page 400: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 399

9.2.5.7 Parameter ErrorBits V1 Stehen gleichzeitig mehrere Fehler an, so werden die Werte der Errorcodes binär addiert angezeigt. Wird z. B. der Errorcode 0003 angezeigt, so stehen gleichzeitig die Fehler 0001 und 0002 an.

ErrorBits (DW#16#...)

Beschreibung

0000 Es steht kein Fehler an. 0001 Der Parameter "Input" ist außerhalb der Istwertgrenzen.

• Input > Config.InputUpperLimit oder • Input < Config.InputLowerLimit Wenn ActivateRecoverMode = TRUE und ErrorBehaviour = 1, wird das Stellglied auf den Ersatzaus-gangswert verfahren. Wenn ActivateRecoverMode = TRUE und ErrorBehaviour = 0, bleibt das Stellglied in der aktuellen Position stehen. Wenn ActivateRecoverMode = FALSE, bleibt das Stellglied in der ak-tuellen Position stehen. PID_3Step V1.1 Im Handbetrieb können Sie das Stellglied verfahren. PID_3Step V1.0 Handbetrieb ist in diesem Zustand nicht möglich. Erst wenn der Fehler behoben ist, können Sie das Stellglied wieder verfahren.

0002 Ungültiger Wert am Parameter "Input_PER". Überprüfen Sie, ob am Analogeingang ein Fehler ansteht. Wenn vor Auftreten des Fehlers der Automatikbetrieb aktiv war, ActivateRecoverMode = TRUE und der Fehler nicht mehr ansteht, wechselt PID_3Step wieder in den Automatikbetrieb.

0004 Fehler während der Nachoptimierung. Die Schwingung des Istwerts konnte nicht aufrecht erhalten wer-den.

0020 Die Erstoptimierung ist im Automatikbetrieb und während der Nachoptimierung nicht erlaubt. 0080 Fehler bei der Erstoptimierung. Die Ausgangswertgrenzen sind nicht korrekt konfiguriert oder der Istwert

reagiert nicht wie erwartet. Überprüfen Sie, ob die Grenzen des Ausgangswerts korrekt konfiguriert sind und zum Regelsinn pas-sen. Stellen Sie außerdem sicher, dass der Istwert vor Start der Erstoptimierung nicht stark schwingt.

0100 Fehler während der Nachoptimierung führte zu ungültigen Parametern. 0200 Ungültiger Wert am Parameter "Input": Wert hat kein gültiges Zahlenformat.

Wenn vor Auftreten des Fehlers der Automatikbetrieb aktiv war, ActivateRecoverMode = TRUE und der Fehler nicht mehr ansteht, wechselt PID_3Step wieder in den Automatikbetrieb.

0400 Berechnung des Ausgangswerts fehlgeschlagen. Überprüfen Sie die PID-Parameter. 0800 Abtastzeitfehler: PID_3Step wird nicht innerhalb der Abtastzeit des Weckalarm-OBs aufgerufen.

Wenn vor Auftreten des Fehlers der Automatikbetrieb aktiv war, ActivateRecoverMode = TRUE und der Fehler nicht mehr ansteht, wechselt PID_3Step wieder in den Automatikbetrieb. Falls dieser Fehler bei der Simulation mit PLCSIM aufgetreten ist, beachten Sie die Hinweise unter PID_3Step V1 mit PLCSIM simulieren (Seite 168).

1000 Ungültiger Wert am Parameter "Setpoint": Wert hat kein gültiges Zahlenformat. Wenn vor Auftreten des Fehlers der Automatikbetrieb aktiv war, ActivateRecoverMode = TRUE und der Fehler nicht mehr ansteht, wechselt PID_3Step wieder in den Automatikbetrieb.

Page 401: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 400 Funktionshandbuch, 11/2019, A5E35300226-AE

ErrorBits (DW#16#...)

Beschreibung

2000 Ungültiger Wert am Parameter Feedback_PER. Überprüfen Sie, ob am Analogeingang ein Fehler ansteht. Das Stellglied kann nicht auf den Ersatzausgangswert verfahren werden und bleibt in der aktuellen Position stehen. Handbetrieb ist in diesem Zustand nicht möglich. Um das Stellglied aus diesem Zu-stand verfahren zu können, müssen Sie die Stellungsrückmeldung deaktivieren (Config. FeedbackOn = FALSE). Wenn vor Auftreten des Fehlers der Automatikbetrieb aktiv war, ActivateRecoverMode = TRUE und der Fehler nicht mehr ansteht, wechselt PID_3Step wieder in den Automatikbetrieb.

4000 Ungültiger Wert am Parameter Feedback. Wert hat kein gültiges Zahlenformat. Das Stellglied kann nicht auf den Ersatzausgangswert verfahren werden und bleibt in der aktuellen Position stehen. Handbetrieb ist in diesem Zustand nicht möglich. Um das Stellglied aus diesem Zu-stand verfahren zu können, müssen Sie die Stellungsrückmeldung deaktivieren (Config. FeedbackOn = FALSE). Wenn vor Auftreten des Fehlers der Automatikbetrieb aktiv war, ActivateRecoverMode = TRUE und der Fehler nicht mehr ansteht, wechselt PID_3Step wieder in den Automatikbetrieb.

8000 Fehler bei der digitalen Stellungsrückmeldung. Actuator_H = TRUE und Actuator_L = TRUE. Das Stellglied kann nicht auf den Ersatzausgangswert verfahren werden und bleibt in der aktuellen Position stehen. Handbetrieb ist in diesem Zustand nicht möglich. Um das Stellglied aus diesem Zustand verfahren zu können, müssen die "Anschlagsignale Stellglied" deaktiviert werden (Config.ActuatorEndStopOn = FALSE). Wenn vor Auftreten des Fehlers der Automatikbetrieb aktiv war, ActivateRecoverMode = TRUE und der Fehler nicht mehr ansteht, wechselt PID_3Step wieder in den Automatikbetrieb.

Page 402: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 401

9.2.5.8 Parameter Reset V1 Durch eine steigende Flanke an Reset wird in die Betriebsart "Inaktiv" gewechselt und Fehler und Warnungen werden zurückgesetzt. Durch eine fallende Flanke an Reset wird in die zuletzt aktive Betriebsart gewechselt. Falls zuvor Automatikbetrieb aktiv war, erfolgt die Umschaltung in den Automatikbetrieb stoßfrei.

① Einschalten ② Fehler ③ Reset

Page 403: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 402 Funktionshandbuch, 11/2019, A5E35300226-AE

9.2.5.9 Variable ActivateRecoverMode V1 Der Einfluss der Variablen ActivateRecoverMode ist abhängig von der Version der Anweisung PID_3Step.

Verhalten in Version 1.1 Die Variable ActivateRecoverMode bestimmt im Automatikbetrieb das Verhalten im Fehlerfall. Während der Erstoptimierung, Nachoptimierung und Stellzeitmessung wirkt ActivateRecoverMode nicht.

Activa-teRecoverMode

Beschreibung

FALSE Im Fehlerfall wechselt PID_3Step in die Betriebsart "Inaktiv" oder "Ersatzausgangswert anfahren". Der Regler wird erst durch Reset oder eine Änderung an Retain.Mode aktiviert.

TRUE Wenn im Automatikbetrieb häufig Fehler auftreten, wird durch diese Einstellung das Regelverhalten verschlechtert. Überprüfen Sie dann den Parameter ErrorBits und beheben Sie die Fehlerursache. Wenn einer oder mehrere der folgenden Fehler auftreten, wechselt PID_3Step in die Betriebsart "Er-satzausgangswert anfahren mit Fehlerüberwachung" oder "Fehlerüberwachung": • 0002h: Ungültiger Wert am Parameter Input_PER. • 0200h: Ungültiger Wert am Parameter Input. • 0800h: Abtastzeitfehler • 1000h: Ungültiger Wert am Parameter Setpoint. • 2000h: Ungültiger Wert am Parameter Feedback_PER. • 4000h: Ungültiger Wert am Parameter Feedback. • 8000h: Fehler bei der digitalen Stellungsrückmeldung. Bei den Fehlern 2000h, 4000h und 8000h kann PID_3Step den konfigurierten Ersatzausgangswert nicht anfahren. Sobald die Fehler nicht mehr anstehen, wechselt PID_3Step wieder in den Automatikbetrieb.

Page 404: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 403

Verhalten in Version 1.0 Die Variable ActivateRecoverMode bestimmt im Automatik- und Handbetrieb das Verhalten im Fehlerfall. Während der Erstoptimierung, Nachoptimierung und Stellzeitmessung wirkt ActivateRecoverMode nicht.

Activa-teRecoverMode

Beschreibung

FALSE Im Fehlerfall wechselt PID_3Step in die Betriebsart "Inaktiv" oder "Ersatzausgangswert anfahren". Der Regler wird erst durch Reset oder eine Änderung an Retain.Mode aktiviert.

TRUE Fehler im Automatikbetrieb Wenn im Automatikbetrieb häufig Fehler auftreten, wird durch diese Einstellung das Regelverhalten verschlechtert. Überprüfen Sie dann den Parameter ErrorBits und beheben Sie die Fehlerursache. Wenn einer oder mehrere der folgenden Fehler auftreten, wechselt PID_3Step in die Betriebsart "Er-satzausgangswert anfahren mit Fehlerüberwachung" oder "Fehlerüberwachung": • 0002h: Ungültiger Wert am Parameter Input_PER. • 0200h: Ungültiger Wert am Parameter Input. • 0800h: Abtastzeitfehler • 1000h: Ungültiger Wert am Parameter Setpoint. • 2000h: Ungültiger Wert am Parameter Feedback_PER. • 4000h: Ungültiger Wert am Parameter Feedback. • 8000h: Fehler bei der digitalen Stellungsrückmeldung. Bei den Fehlern 2000h, 4000h und 8000h kann PID_3Step den konfigurierten Ersatzausgangswert nicht anfahren. Sobald die Fehler nicht mehr anstehen, wechselt PID_3Step wieder in den Automatikbetrieb. Fehler im Handbetrieb Wenn einer oder mehrere der folgenden Fehler auftreten, bleibt PID_3Step im Handbetrieb: • 0002h: Ungültiger Wert am Parameter Input_PER. • 0200h: Ungültiger Wert am Parameter Input. • 0800h: Abtastzeitfehler • 1000h: Ungültiger Wert am Parameter Setpoint. • 2000h: Ungültiger Wert am Parameter Feedback_PER. • 4000h: Ungültiger Wert am Parameter Feedback. • 8000h: Fehler bei der digitalen Stellungsrückmeldung. Bei den Fehlern 2000h, 4000h und 8000h können Sie das Ventil nicht in eine geeignete Position fahren.

Siehe auch Statische Variablen PID_3Step V1 (Seite 383)

Parameter State und Retain.Mode V1 (Seite 392)

Page 405: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung 404 Funktionshandbuch, 11/2019, A5E35300226-AE

9.2.5.10 Variable Warning V1 Stehen gleichzeitig mehrere Warnungen an, so werden die Werte der Warnungen binär addiert angezeigt. Wird z. B. die Warnung 0003 angezeigt, so stehen gleichzeitig die Warnungen 0001 und 0002 an.

Warning (DW#16#...)

Beschreibung

0000 Es steht keine Warnung an. 0001 Während der Erstoptimierung wurde der Wendepunkt nicht gefunden. 0002 Während der Nachoptimierung war die Oszillation verstärkt. 0004 Der Sollwert wurde begrenzt auf die eingestellten Grenzen. 0008 Für die gewählte Berechnungsmethode wurden nicht alle notwendigen Eigenschaften der Regelstrecke

bestimmt. Ersatzweise wurden die PID-Parameter mit der Methode TuneRuleTIR = 3 berechnet. 0010 Die Betriebsart konnte nicht geändert werden, da ManualEnable = TRUE. 0020 Die Abtastzeit des PID-Algorithmus wird durch die Zykluszeit des aufrufenden OB begrenzt.

Um bessere Ergebnisse zu erzielen, verwenden Sie kürzere Zykluszeiten des OB. 0040 Der Istwert hat eine seiner Warngrenze überschritten. 0080 Ungültiger Wert an Retain.Mode. Die Betriebsart wird nicht gewechselt. 0100 Der Handwert wurde begrenzt auf die Grenzen des Reglerausgangs. 0200 Die verwendete Regel zur Optimierung führt zu keinem richtigen Ergebnis oder wird nicht unterstützt. 0400 Bei Stellzeitmessung Methode ausgewählt nicht zum Stellglied passt.

Die Stellzeit kann nicht gemessen werden, da die Einstellungen des Stellglieds nicht zur gewählten Messmethode passen.

0800 Bei der Stellzeitmessung ist die Differenz zwischen der aktuellen Position und dem neuen Ausgangs-wert zu klein. Dies kann zu falschen Ergebnissen führen. Die Differenz zwischen aktuellem Ausgangs-wert und neuem Ausgangswert muss mindestens 50% des gesamten Stellbereichs betragen.

1000 Der Ersatzausgangswert kann nicht erreicht werden, da er außerhalb der Ausgangswertgrenzen liegt.

Folgende Warnungen werden gelöscht, sobald die Ursache behoben ist:

● 0004

● 0020

● 0040

● 0100

Alle anderen Warnungen werden bei steigender Flanke an Reset gelöscht.

Page 406: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.2 PID_3Step

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 405

9.2.5.11 Variable SUT.State V1 SUT .State

Name Beschreibung

0 SUT_INIT Erstoptimierung initialisieren 50 SUT_TPDN Startposition ohne Stellungsrückmeldung ermitteln

100 SUT_STDABW Standardabweichung berechnen 200 SUT_GET_POI Wendepunkt ermitteln 300 SUT_GET_RISETM Anregelzeit ermitteln

9900 SUT_IO Erstoptimierung erfolgreich 1 SUT_NIO Erstoptimierung nicht erfolgreich

9.2.5.12 Variable TIR.State V1 TIR.State Name Beschreibung

-100 TIR_FIRST_SUT Die Nachoptimierung ist nicht möglich. Es wird erst eine Erstoptimierung durchge-führt.

0 TIR_INIT Nachoptimierung initialisieren 200 TIR_STDABW Standardabweichung berechnen 300 TIR_RUN_IN Versuchen Sollwert mit dem maximalen oder minimalen Ausgangswert zu errei-

chen 400 TIR_CTRLN Versuchen Sollwert mit vorhandenen PID-Parametern zu erreichen

(wenn Erstoptimierung erfolgreich war) 500 TIR_OSZIL Oszillation ermitteln und Parameter berechnen

9900 TIR_IO Nachoptimierung erfolgreich 1 TIR_NIO Nachoptimierung nicht erfolgreich

Page 407: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 406 Funktionshandbuch, 11/2019, A5E35300226-AE

9.3 PID_Temp

9.3.1 Neuerungen PID_Temp

PID_Temp V1.1 ● Reaktion des Ausgangswerts beim Wechsel von der Betriebsart “Inaktiv” in

"Automatikbetrieb"

Die neue Option IntegralResetMode = 4 wurde hinzugefügt und als Vorbelegung festgelegt. Mit IntegralResetMode = 4 wird der I-Anteil, beim Wechsel von der Betriebsart "Inaktiv" in "Automatikbetrieb", automatisch so vorbelegt, dass eine Regeldifferenz zu einem Sprung des PID Ausgangswerts mit identischem Vorzeichen führt.

● Initialisierung des Integral-Anteils im Automatikbetrieb

Der Integral-Anteil kann im Automatikbetrieb mit Hilfe der Variablen OverwriteInitialOutputValue und PIDCtrl.PIDInit initialisiert werden. Dies vereinfacht den Einsatz von PID_Temp für Ablöseregelungen.

9.3.2 Kompatibilität mit CPU und FW Die folgende Tabelle zeigt, auf welcher CPU Sie welche Version von PID_Temp einsetzen können. CPU FW PID_Temp S7-1200 ab V4.2 V1.1

V1.0 V4.1 V1.0

S7-1500 ab V2.0 V1.1 V1.0

V1.7 bis V1.8 V1.0

Page 408: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 407

9.3.3 CPU-Bearbeitungszeit und Speicherbedarf PID_Temp V1

CPU-Bearbeitungszeit Typische CPU-Bearbeitungszeiten des Technologieobjekts PID_Temp ab der Version V1.0 in Abhängigkeit vom CPU-Typ. CPU Typ. CPU-Bearbeitungszeit PID_Temp V1 CPU 1211C ≥ V4.1 580 µs CPU 1215C ≥ V4.1 580 µs CPU 1217C ≥ V4.1 580 µs CPU 1505S ≥ V1.0 50 µs CPU 1510SP-1 PN ≥ V1.7 130 µs CPU 1511-1 PN ≥ V1.7 130 µs CPU 1512SP-1 PN ≥ V1.7 130 µs CPU 1516-3 PN/DP ≥ V1.7 75 µs CPU 1518-4 PN/DP ≥ V1.7 6 µs

Speicherbedarf Speicherbedarf eines Instanz-DB des Technologieobjekts PID_Temp ab der Version V1.0. Speicherbedarf des Instanz-DB

von PID_Temp V1 Ladespeicherbedarf ca. 17000 Bytes Gesamter Arbeitsspeicherbedarf 1280 Bytes Remanenter Arbeitsspeicherbedarf 100 Bytes

Page 409: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 408 Funktionshandbuch, 11/2019, A5E35300226-AE

9.3.4 PID_Temp

9.3.4.1 Beschreibung PID_Temp

Beschreibung Die Anweisung PID_Temp stellt einen PID-Regler mit integrierter Optimierung für Temperaturprozesse zur Verfügung. PID_Temp eignet sich für reine Heizen- oder Heizen/Kühlen-Anwendungen.

Folgende Betriebsarten sind möglich:

● Inaktiv

● Erstoptimierung

● Nachoptimierung

● Automatikbetrieb

● Handbetrieb

● Ersatzausgangswert mit Fehlerüberwachung

Die Betriebsarten sind detailliert beschrieben beim Parameter State.

PID-Algorithmus PID_Temp ist ein PIDT1-Regler mit Anti-Windup und Gewichtung des P- und D-Anteils. Der PID-Algorithmus arbeitet nach folgender Formel (Regelzone und Totzone deaktiviert):

Die folgende Tabelle zeigt die Bedeutung der in der Formel und in den nachfolgenden Bildern verwendeten Symbole. Symbol Beschreibung Zugehörige Parameter der Anweisung

PID_Temp y Ausgangswert des PID-Algorithmus - Kp Proportionalverstärkung Retain.CtrlParams.Heat.Gain

Retain.CtrlParams.Cool.Gain CoolFactor

s Laplace-Operator - b Gewichtung des P-Anteils Retain.CtrlParams.Heat.PWeighting

Retain.CtrlParams.Cool.PWeighting w Sollwert CurrentSetpoint x Istwert ScaledInput TI Integrationszeit Retain.CtrlParams.Heat.Ti

Retain.CtrlParams.Cool.Ti

Page 410: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 409

Symbol Beschreibung Zugehörige Parameter der Anweisung PID_Temp

TD Differenzierzeit Retain.CtrlParams.Heat.Td Retain.CtrlParams.Cool.Td

a Koeffizient für den Differenzierverzug (Differenzierverzug T1 = a × TD)

Retain.CtrlParams.Heat.TdFiltRatio Retain.CtrlParams.Cool.TdFiltRatio

c Gewichtung des D-Anteils Retain.CtrlParams.Heat.DWeighting Retain.CtrlParams.Cool.DWeighting

DeadZone Totzonenbreite Retain.CtrlParams.Heat.DeadZone Retain.CtrlParams.Cool.DeadZone

ControlZone Regelzonenbreite Retain.CtrlParams.Heat.ControlZone Retain.CtrlParams.Cool.ControlZone

Page 411: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 410 Funktionshandbuch, 11/2019, A5E35300226-AE

Blockschaltbild PID_Temp

Page 412: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 411

Blockschaltbild PIDT1 mit Anti-Windup

Aufruf PID_Temp wird im konstanten Zeitraster eines Weckalarm-OBs aufgerufen.

Wenn Sie PID_Temp als Multiinstanz-DB aufrufen, wird kein Technologieobjekt angelegt. Es steht Ihnen keine Parametrier- und Inbetriebnahmeoberfläche zur Verfügung. Sie müssen PID_Temp direkt im Multiinstanz-DB parametrieren und über eine Beobachtungstabelle in Betrieb nehmen.

Laden in Gerät Die Aktualwerte remanenter Variablen werden nur aktualisiert, wenn Sie PID_Temp vollständig laden.

Technologieobjekt in Gerät laden (Seite 47)

Anlauf Bei Anlauf der CPU startet PID_Temp in der Betriebsart, die am Durchgangsparameter Mode gespeichert ist. Um beim Anlauf in die Betriebsart "Inaktiv" zu wechseln, setzen Sie RunModeByStartup = FALSE.

Page 413: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 412 Funktionshandbuch, 11/2019, A5E35300226-AE

Verhalten im Fehlerfall Das Verhalten im Fehlerfall hängt von den Variablen SetSubstituteOutput und ActivateRecoverMode ab. Falls ActivateRecoverMode = TRUE, ist das Verhalten zudem abhängig vom aufgetretenen Fehler.

SetSubstitute-Output

Activa-teRecover-Mode

Konfigurationseditor > Grundeinstellungen Ausgang > PidOutputSum setzen auf

Verhalten

nicht relevant FALSE Null (Inaktiv) Wechsel in Betriebsart "Inaktiv" (State = 0) Der Ausgangswert des PID-Algorithmus und alle Ausgänge für Heizen und Kühlen werden auf 0 gesetzt. Die Skalierung der Ausgänge für Heizen und Kühlen ist nicht aktiv.

FALSE TRUE Aktueller Wert für die Fehlerdauer Wechsel in Betriebsart "Ersatzausgangswert mit Fehlerüberwachung" (State = 5) Der aktuelle Ausgangswert wird für die Fehler-dauer an das Stellglied übertragen.

TRUE TRUE Ersatzausgangswert für die Fehler-dauer

Wechsel in Betriebsart "Ersatzausgangswert mit Fehlerüberwachung" (State = 5) Der Wert an SubstituteOutput wird für die Fehler-dauer an das Stellglied übertragen.

PID_Temp verwendet im Handbetrieb ManualValue als Ausgangswert, außer ManualValue ist ungültig.

● Falls ManualValue ungültig ist, wird SubstituteOutput verwendet.

● Falls ManualValue und SubstituteOutput ungültig sind, wird Config.Output.Heat.PidLowerLimit verwendet..

Der Parameter Error zeigt, ob aktuell ein Fehler ansteht. Wenn der Fehler nicht mehr ansteht, wird Error = FALSE. Der Parameter ErrorBits zeigt, welche Fehler aufgetreten sind. ErrorBits wird durch eine steigende Flanke an Reset oder ErrorAck zurückgesetzt.

Page 414: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 413

9.3.4.2 Arbeitsweise PID_Temp

Istwertgrenzen überwachen In den Variablen Config.InputUpperLimit und Config.InputLowerLimit legen Sie eine Ober- und Untergrenze des Istwerts fest. Wenn der Istwert außerhalb dieser Grenzen liegt, tritt ein Fehler auf (ErrorBits = 0000001h).

In den Variablen Config.InputUpperWarning und Config.InputLowerWarning legen Sie eine obere und untere Warngrenze des Istwerts fest. Wenn der Istwert außerhalb dieser Warngrenzen liegt, tritt eine Warnung auf (Warning = 0000040h) und der Ausgangsparameter InputWarning_H oder InputWarning_L wird TRUE.

Sollwert begrenzen In den Variablen Config.SetpointUpperLimit und Config.SetpointLowerLimit legen Sie eine Ober- und Untergrenze des Sollwerts fest. PID_Temp begrenzt den Sollwert automatisch auf die Istwertgrenzen. Sie können den Sollwert auf einen kleineren Bereich begrenzen. PID_Temp prüft, ob dieser Bereich innerhalb der Istwertgrenzen liegt. Falls der Sollwert außerhalb dieser Grenzen liegt, wird die Ober- oder Untergrenze als Sollwert verwendet und der Ausgangsparameter SetpointLimit_H oder SetpointLimit_L wird TRUE.

Der Sollwert wird in allen Betriebsarten begrenzt.

Ersatzsollwert An der Variablen SubstituteSetpoint können Sie einen Ersatzsollwert vorgeben und diesen mit SubstituteSetpointOn = TRUE aktivieren. Damit können Sie z. B. für einen Slave-Regler in einer Kaskade vorübergehend den Sollwert direkt vorgeben ohne das Anwenderprogramm zu ändern. Die für den Sollwert festgelegten Grenzen gelten auch für den Ersatzsollwert.

Heizen und Kühlen Mit der Voreinstellung verwendet PID_Temp nur die Ausgänge für Heizen (OutputHeat, OutputHeat_PWM, OutputHeat_PER). Der Ausgangswert des PID-Algorithmus (PidOutputSum) wird skaliert und an den Ausgängen für Heizen ausgegeben. Ob OutputHeat_PWM oder OutputHeat_PER berechnet werden, legen Sie mit Config.Output.Heat.Select fest. OutputHeat wird immer berechnet.

Mit Config.ActivateCooling = TRUE können Sie auch die Ausgänge für Kühlen (OutputCool, OutputCool_PWM, OutputCool_PER) aktivieren. Positive Ausgangswerte des PID-Algorithmus (PidOutputSum) werden skaliert und an den Ausgängen für Heizen ausgegeben. Negative Ausgangswerte des PID-Algorithmus werden skaliert und an den Ausgängen für Kühlen ausgegeben. Ob OutputCool_PWM oder OutputCool_PER berechnet werden, legen Sie mit Config.Output.Cool.Select fest. OutputCool wird immer berechnet.

Page 415: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 414 Funktionshandbuch, 11/2019, A5E35300226-AE

Für die Berechnung des PID Ausgangswerts bei aktivierter Kühlung stehen zwei Methoden zur Verfügung:

● Kühlfaktor (Config.AdvancedCooling = FALSE):

Die Ausgangswertberechnung für Kühlen erfolgt mit den PID-Parametern für Heizen unter Berücksichtigung des konfigurierbaren Kühlfaktors Config.CoolFactor. Diese Methode ist geeignet, falls Heiz- und Kühlstellglied ähnliches Zeitverhalten aber unterschiedliche Verstärkungen aufweisen. Bei Wahl dieser Methode stehen Erstoptimierung und Nachoptimierung für Kühlen sowie der PID-Parametersatz für Kühlen nicht zur Verfügung. Es können nur die Optimierungen für Heizen ausgeführt werden.

● PID-Parameterumschaltung (Config.AdvancedCooling = TRUE):

Die Ausgangswertberechnung für Kühlen erfolgt über einen eigenen PID-Parametersatz. Der PID-Algorithmus entscheidet anhand des berechneten Ausgangswerts und der Regeldifferenz, ob die PID-Parameter für Heizen oder Kühlen verwendet werden. Diese Methode ist geeignet, falls Heiz- und Kühlstellglied unterschiedliches Zeitverhalten und Verstärkungen aufweisen. Nur bei Wahl dieser Methode stehen Erstoptimierung und Nachoptimierung für Kühlen zur Verfügung.

Ausgangswertgrenzen und –skalierung Der PID Ausgangswert (PidOutputSum) wird je nach Betriebsart durch den PID-Algorithmus automatisch berechnet oder durch den Handwert (ManualValue) oder den konfigurierten Ersatzausgangswert (SubstituteOutput) vorgegeben.

Der PID Ausgangswert wird abhängig von der Konfiguration begrenzt:

● Ist die Kühlung deaktiviert (Config.ActivateCooling = FALSE), gilt als Obergrenze Config.Output.Heat.PidUpperLimit und als Untergrenze Config.Output.Heat.PidLowerLimit.

● Ist die Kühlung aktiviert (Config.ActivateCooling = TRUE), gilt als Obergrenze Config.Output.Heat.PidUpperLimit und als Untergrenze Config.Output.Cool.PidLowerLimit.

Der PID Ausgangswert wird skaliert und an den Ausgängen für Heizen und Kühlen ausgegeben. Die Skalierung kann für jeden Ausgang getrennt vorgegeben werden und wird über je 2 Wertepaare in den Strukturen Config.Output.Heat bzw. Config.Output.Cool festgelegt: Ausgang Wertepaar Parameter OutputHeat Wertepaar 1 Obergrenze PID Ausgangswert (Heizen)

Config.Output.Heat.PidUpperLimit, Skalierter oberer Ausgangswert (Heizen) Con-fig.Output.Heat.UpperScaling

Wertepaar 2 Untergrenze PID Ausgangswert (Heizen) Config.Output.Heat.PidLowerLimit, Skalierter unterer Ausgangswert (Heizen) Con-fig.Output.Heat.LowerScaling

Page 416: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 415

Ausgang Wertepaar Parameter OutputHeat_PWM Wertepaar 1 Obergrenze PID Ausgangswert (Heizen)

Config.Output.Heat.PidUpperLimit, Skalierter oberer PWM Ausgangswert (Heizen) Config.Output.Heat.PwmUpperScaling

Wertepaar 2 Untergrenze PID Ausgangswert (Heizen) Config.Output.Heat.PidLowerLimit, Skalierter unterer PWM Ausgangswert (Heizen) Config.Output.Heat.PwmLowerScaling

OutputHeat_PER Wertepaar 1 Obergrenze PID Ausgangswert (Heizen) Config.Output.Heat.PidUpperLimit, Skalierter oberer analoger Ausgangswert (Heizen) Config.Output.Heat.PerUpperScaling

Wertepaar 2 Untergrenze PID Ausgangswert (Heizen) Config.Output.Heat.PidLowerLimit, Skalierter unterer analoger Ausgangswert (Heizen) Config.Output.Heat.PerLowerScaling

OutputCool Wertepaar 1 Untergrenze PID Ausgangswert (Kühlen) Config.Output.Cool.PidLowerLimit, Skalierter oberer Ausgangswert (Kühlen) Config.Output.Cool.UpperScaling

Wertepaar 2 Obergrenze PID Ausgangswert (Kühlen) Config.Output.Cool.PidUpperLimit, Skalierter unterer Ausgangswert (Kühlen) Config.Output.Cool.LowerScaling

OutputCool_PWM Wertepaar 1 Untergrenze PID Ausgangswert (Kühlen) Config.Output.Cool.PidLowerLimit, Skalierter oberer PWM Ausgangswert (Kühlen) Config.Output.Cool.PwmUpperScaling

Wertepaar 2 Obergrenze PID Ausgangswert (Kühlen) Config.Output.Cool.PidUpperLimit, Skalierter unterer PWM Ausgangswert (Kühlen) Config.Output.Cool.PwmLowerScaling

OutputCool_PER Wertepaar 1 Untergrenze PID Ausgangswert (Kühlen) Config.Output.Cool.PidLowerLimit, Skalierter oberer analoger Ausgangswert (Kühlen) Config.Output.Cool.PerUpperScaling

Wertepaar 2 Obergrenze PID Ausgangswert (Kühlen) Config.Output.Cool.PidUpperLimit, Skalierter unterer analoger Ausgangswert (Kühlen) Config.Output.Cool.PerLowerScaling

Falls die Kühlung aktiviert ist (Config.ActivateCooling = TRUE), muss Config.Output.Heat.PidLowerLimit den Wert 0.0 haben.

Config.Output.Cool.PidUpperLimit muss immer den Wert 0.0 haben.

Page 417: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 416 Funktionshandbuch, 11/2019, A5E35300226-AE

Beispiel:

Ausgangsskalierung bei Verwendung von Ausgang OutputHeat (Kühlung deaktiviert; Config.Output.Heat.PidLowerLimit darf ungleich 0.0 sein):

Beispiel:

Ausgangsskalierung bei Verwendung von Ausgang OutputHeat_PWM und OutputCool_PER (Kühlung aktiviert; Config.Output.Heat.PidLowerLimit muss 0.0 sein):

Mit Ausnahme der Betriebsart "Inaktiv", liegt der Wert an einem Ausgang immer zwischen seinem skalierten oberen Ausgangswert und skalierten unteren Ausgangswert z. B. für OutputHeat immer zwischen Config.Output.Heat.UpperScaling und Config.Output.Heat.LowerScaling.

Falls Sie den Wert an dem zugehörigen Ausgang begrenzen wollen, müssen Sie daher auch diese Skalierungswerte anpassen.

Kaskadierung PID_Temp bietet Ihnen Unterstützung bei der Verwendung in einer Kaskadenregelung (siehe: Programmerstellung (Seite 207)).

Ersatzausgangswert PID_Temp kann im Fehlerfall einen Ersatzausgangswert ausgeben, den Sie an der Variablen SubstituteOutput vorgeben. Der Ersatzausgangswert muss innerhalb der Grenzen für den PID Ausgangswert liegen. Die aus dem Ersatzausgangswert resultierenden Werte an den Ausgängen für Heizen und Kühlen ergeben sich aus der konfigurierten Ausgangsskalierung.

Page 418: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 417

Gültigkeit der Signale überwachen Die Werte der folgenden Parameter werden bei Verwendung auf Gültigkeit überwacht:

● Setpoint

● SubstituteSetpoint

● Input

● Input_PER

● Disturbance

● ManualValue

● SubstituteOutput

● PID-Parameter in den Strukturen Retain.CtrlParams.Heat und Retain.CtrlParams.Cool.

Überwachung der Abtastzeit PID_Temp Die Abtastzeit entspricht im Idealfall der Zykluszeit des aufrufenden Weckalarm-OB. Die Anweisung PID_Temp misst jeweils den Zeitabstand zwischen zwei Aufrufen. Das ist die aktuelle Abtastzeit. Bei jedem Wechsel der Betriebsart und bei Erstanlauf wird der Mittelwert der ersten 10 Abtastzeiten gebildet. Wenn die aktuelle Abtastzeit zu stark von diesem Mittelwert abweicht, tritt ein Fehler auf (Error = 0000800h).

Während der Optimierung tritt der Fehler auf, wenn gilt:

● Neuer Mittelwert >= 1,1 x alter Mittelwert

● Neuer Mittelwert <= 0,9 x alter Mittelwert

Im Automatikbetrieb tritt der Fehler auf, wenn gilt:

● Neuer Mittelwert >= 1,5 x alter Mittelwert

● Neuer Mittelwert <= 0,5 x alter Mittelwert

Wenn Sie die Überwachung der Abtastzeit ausschalten (CycleTime.EnMonitoring = FALSE), können Sie PID_Temp auch im OB1 aufrufen. Sie müssen dann aufgrund der schwankenden Abtastzeit eine schlechtere Regelqualität akzeptieren.

Abtastzeit des PID-Algorithmus Da die Regelstrecke eine gewisse Zeit benötigt, um auf eine Änderung des Ausgangswerts zu reagieren, ist es sinnvoll, den Ausgangswert nicht in jedem Zyklus zu berechnen. Die Abtastzeit des PID-Algorithmus ist die Zeit zwischen zwei Ausgangswertberechnungen. Sie wird während der Optimierung ermittelt und auf ein Vielfaches der Zykluszeit des Weckalarm-OB (Abtastzeit PID_Temp) gerundet. Alle anderen Funktionen des PID_Temp werden bei jedem Aufruf durchgeführt.

Sind Kühlung und PID-Parameterumschaltung aktiviert, verwendet PID_Temp jeweils eine eigene Abtastzeit des PID-Algorithmus für Heizen und Kühlen. In allen anderen Konfigurationen wird nur die Abtastzeit des PID-Algorithmus für Heizen verwendet.

Falls Sie OutputHeat_PWM bzw. OutputCool_PWM verwenden, wird die Abtastzeit des PID-Algorithmus als Periodendauer der Pulsweitenmodulation verwendet. Die Genauigkeit des Ausgangssignals wird bestimmt durch das Verhältnis von Abtastzeit des PID-Algorithmus zu

Page 419: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 418 Funktionshandbuch, 11/2019, A5E35300226-AE

Zykluszeit des OB. Die Zykluszeit sollte höchstens ein Zehntel der Abtastzeit des PID-Algorithmus betragen.

Ist bei Verwendung von OutputHeat_PWM bzw. OutputCool_PWM die Abtastzeit des PID-Algorithmus und damit die Periodendauer der Pulsweitenmodulation sehr groß, können Sie, um die Glattheit des Istwerts zu verbessern, an den Parametern Config.Output.Heat.PwmPeriode bzw. Config.Output.Cool.PwmPeriode eine abweichende kürzere Periodendauer vorgeben.

Regelsinn PID_Temp kann für Heizen- oder Heizen/Kühlen-Anwendungen eingesetzt werden und arbeitet fest mit normalem Regelsinn.

Mit einer Erhöhung des PID-Ausgangswerts (PidOutputSum) soll eine Erhöhung des Istwerts erreicht werden. Die aus dem PID-Ausgangswert resultierenden Werte an den Ausgängen für Heizen und Kühlen ergeben sich aus der konfigurierten Ausgangsskalierung.

Invertierung des Regelsinns oder negative Proportionalverstärkung werden nicht unterstützt.

Benötigen Sie für Ihre Anwendung nur einen Ausgangswert, bei dem eine Erhöhung eine Verringerung des Istwerts bewirken soll (z. B. Abflussregelung), können Sie PID_Compact mit invertiertem Regelsinn einsetzen.

Page 420: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 419

9.3.4.3 Eingangsparameter PID_Temp Parameter Datentyp Vorbelegung Beschreibung Setpoint REAL 0.0 Sollwert des PID-Reglers im Automatikbetrieb

Zulässiger Wertebereich: Config.SetpointUpperLimit ≥ Setpoint ≥ Config.SetpointLowerLimit Config.InputUpperLimit ≥ Setpoint ≥ Config.InputLowerLimit

Input REAL 0.0 Eine Variable des Anwenderprogramms wird als Quelle des Istwerts ver-wendet. Falls Sie den Parameter Input verwenden, muss Con-fig.InputPerOn = FALSE sein.

Input_PER INT 0 Ein Analogeingang wird als Quelle des Istwerts verwendet. Falls Sie den Parameter Input_PER verwenden, muss Con-fig.InputPerOn = TRUE sein.

Disturbance REAL 0.0 Störgröße oder Vorsteuerungswert Manua-lEnable

BOOL FALSE • Flanke FALSE -> TRUE aktiviert die Betriebsart "Handbetrieb", State = 4, Mode bleibt unverändert.

Solange ManualEnable = TRUE ist, können Sie die Betriebsart nicht über eine steigende Flanke an ModeActivate ändern und den Inbetriebnahme-dialog nicht nutzen.

• Flanke TRUE -> FALSE aktiviert die Betriebsart, die durch Mode vorge-geben wird.

Es wird empfohlen, die Betriebsart nur über Mode und ModeActivate zu ändern.

ManualValue REAL 0.0 Handwert Dieser Wert wird im Handbetrieb als PID Ausgangswert (PidOutputSum) verwendet. Die aus diesem Handwert resultierenden Werte an den Ausgängen für Hei-zen und Kühlen ergeben sich aus der konfigurierten Ausgangsskalierung (Strukturen Config.Output.Heat und Config.Output.Cool). Für Regler mit aktiviertem Kühlausgang (Config.ActivateCooling = TRUE) geben Sie an: • einen positiven Handwert, um den Wert an den Ausgängen für Heizen

auszugeben • einen negativen Handwert, um den Wert an den Ausgängen für Kühlen

auszugeben Der zulässige Wertebereich ist abhängig von der Konfiguration. • Kühlausgang deaktiviert (Config.ActivateCooling = FALSE):

Config.Output.Heat.PidUpperLimit ≥ ManualValue ≥ Con-fig.Output.Heat.PidLowerLimit

• Kühlausgang aktiviert (Config.ActivateCooling = TRUE):

Config.Output.Heat.PidUpperLimit ≥ ManualValue ≥ Con-fig.Output.Cool.PidLowerLimit

ErrorAck BOOL FALSE • Flanke FALSE -> TRUE

ErrorBits und Warning werden zurückgesetzt.

Page 421: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 420 Funktionshandbuch, 11/2019, A5E35300226-AE

Parameter Datentyp Vorbelegung Beschreibung Reset BOOL FALSE Führt einen Neustart des Reglers durch.

• Flanke FALSE -> TRUE – Wechsel in Betriebsart "Inaktiv" – ErrorBits und Warning werden zurückgesetzt.

• Solange Reset = TRUE ist, – bleibt PID_Temp in der Betriebsart "Inaktiv" (State = 0). – können Sie die Betriebsart nicht über Mode und ModeActivate oder

ManualEnable ändern – können Sie den Inbetriebnahmedialog nicht nutzen.

• Flanke TRUE -> FALSE – Falls ManualEnable = FALSE, wechselt PID_Temp in die Betriebsart,

die an Mode gespeichert ist. – Falls Mode = 3 (Automatikbetrieb), wird der I-Anteil behandelt wie

durch die Variable IntegralResetMode konfiguriert.

ModeActi-vate

BOOL FALSE • Flanke FALSE -> TRUE

PID_Temp wechselt in die Betriebsart, die am Eingang Mode anliegt.

Page 422: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 421

9.3.4.4 Ausgangsparameter PID_Temp Parameter Datentyp Vorbelegung Beschreibung ScaledInput REAL 0.0 Skalierter Istwert OutputHeat REAL 0.0 Ausgangswert Heizen im REAL-Format

Der PID Ausgangswert (PidOutputSum) wird über die beiden Wertepaare Config.Output.Heat.PidUpperLimit, Config.Output.Heat.UpperScaling und Config.Output.Heat.PidLowerLimit, Config.Output.Heat.LowerScaling skaliert und im REAL-Format an OutputHeat ausgegeben. OutputHeat wird immer berechnet.

OutputCool REAL 0.0 Ausgangswert Kühlen im REAL-Format Der PID Ausgangswert (PidOutputSum) wird über die beiden Wertepaare Config.Output.Cool.PidUpperLimit, Config.Output.Cool.LowerScaling und Config.Output.Cool.PidLowerLimit, Config.Output.Cool.UpperScaling skaliert und im REAL-Format an OutputCool ausgegeben. OutputCool wird nur berechnet, falls der Kühlausgang aktiviert ist (Con-fig.ActivateCooling = TRUE).

OutputHeat _PER

INT 0 Analoger Ausgangswert Heizen Der PID Ausgangswert (PidOutputSum) wird über die beiden Wertepaare Config.Output.Heat.PidUpperLimit, Config.Output.Heat.PerUpperScaling und Config.Output.Heat.PidLowerLimit, Config.Output.Heat.PerLowerScaling skaliert und als Analogwert an OutputHeat_PER ausgegeben. OutputHeat_PER wird nur berechnet, falls Config.Output.Heat.Select = 2.

OutputCool _PER

INT 0 Analoger Ausgangswert Kühlen Der PID Ausgangswert (PidOutputSum) wird über die beiden Wertepaare Config.Output.Cool.PidUpperLimit, Config.Output.Cool.PerLowerScaling und Config.Output.Cool.PidLowerLimit, Config.Output.Cool.PerUpperScaling skaliert und als Analogwert an OutputCool_PER ausgegeben. OutputCool_PER wird nur berechnet, falls der Kühlausgang aktiviert ist (Con-fig.ActivateCooling = TRUE) und Config.Output.Cool.Select = 2.

OutputHeat _PWM

BOOL FALSE Pulsweitenmodulierter Ausgangswert Heizen Der PID Ausgangswert (PidOutputSum) wird über die beiden Wertepaare Config.Output.Heat.PidUpperLimit, Config.Output.Heat.PwmUpperScaling und Config.Output.Heat.PidLowerLimit, Con-fig.Output.Heat.PwmLowerScaling skaliert und als pulsweitenmodulierter Wert (variable Ein- und Ausschaltzeiten) an OutputHeat_PWM ausgegeben. OutputHeat_PWM wird nur berechnet, falls Config.Output.Heat.Select = 1.

OutputCool _PWM

BOOL FALSE Pulsweitenmodulierter Ausgangswert Kühlen Der PID Ausgangswert (PidOutputSum) wird über die beiden Wertepaare Config.Output.Cool.PidUpperLimit, Config.Output.Cool.PwmLowerScaling und Config.Output.Cool.PidLowerLimit, Con-fig.Output.Cool.PwmUpperScaling skaliert und als pulsweitenmodulierter Wert (variable Ein- und Ausschaltzeiten) an OutputCool_PWM ausgegeben. OutputCool_PWM wird nur berechnet, falls der Kühlausgang aktiviert ist (Config.ActivateCooling = TRUE) und Config.Output.Cool.Select = 1.

SetpointLimit _H

BOOL FALSE Falls SetpointLimit_H = TRUE, ist die absolute Obergrenze des Sollwerts erreicht (Setpoint ≥ Config.SetpointUpperLimit oder Set-point ≥ Config.InputUpperLimit). Der Sollwert wird nach oben auf das Minimum aus Config.SetpointUpperLimit und Config.InputUpperLimit begrenzt.

Page 423: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 422 Funktionshandbuch, 11/2019, A5E35300226-AE

Parameter Datentyp Vorbelegung Beschreibung SetpointLimit_L BOOL FALSE Falls SetpointLimit_L = TRUE, ist die absolute Untergrenze des Sollwerts

erreicht (Setpoint ≤ Config.SetpointLowerLimit oder Set-point ≤ Config.InputLowerLimit). Der Sollwert wird nach unten auf das Maximum aus Con-fig.SetpointLowerLimit und Config.InputLowerLimit begrenzt.

InputWarning _H

BOOL FALSE Falls InputWarning_H = TRUE, ist die obere Warngrenze des Istwerts er-reicht oder überschritten (ScaledInput ≥ Config.InputUpperWarning).

InputWarning _L

BOOL FALSE Falls InputWarning_L = TRUE, ist die untere Warngrenze des Istwerts er-reicht oder unterschritten (ScaledInput ≤ Config.InputLowerWarning).

State INT 0 Der Parameter State und Mode PID_Temp (Seite 461) zeigt die aktuelle Betriebsart des PID-Reglers. Sie ändern die Betriebsart mit dem Ein-gangsparameter Mode und einer steigenden Flanke an ModeActivate. Für Erstoptimierung und Nachoptimierung legen Sie mit Heat.EnableTuning und Cool.EnableTuning fest, ob die Optimierung für Heizen oder Kühlen ausge-führt wird. • State = 0: Inaktiv • State = 1: Erstoptimierung • State = 2: Nachoptimierung • State = 3: Automatikbetrieb • State = 4: Handbetrieb • State = 5: Ersatzausgangswert mit Fehlerüberwachung

Error BOOL FALSE Falls Error = TRUE, liegt in diesem Takt mindestens eine Fehlermeldung vor. ErrorBits DWORD DW#16#0 Der Parameter ErrorBits PID_Temp (Seite 469) zeigt, welche Fehlermeldun-

gen vorliegen. ErrorBits ist remanent und wird bei einer steigenden Flanke an Reset oder ErrorAck zurückgesetzt.

Page 424: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 423

9.3.4.5 Durchgangsparameter PID_Temp Parameter Datentyp Vorbele-

gung Beschreibung

Mode INT 4 An Mode geben Sie die Betriebsart vor, in die PID_Temp wechseln soll. Möglich sind: • Mode = 0: Inaktiv • Mode = 1: Erstoptimierung • Mode = 2: Nachoptimierung • Mode = 3: Automatikbetrieb • Mode = 4: Handbetrieb Die Betriebsart wird aktiviert durch: • Steigende Flanke an ModeActivate • Fallende Flanke an Reset • Fallende Flanke an ManualEnable • Kaltstart der CPU, falls RunModeByStartup = TRUE Für Erstoptimierung und Nachoptimierung legen Sie mit Heat.EnableTuning und Cool.EnableTuning fest, ob die Optimierung für Heizen oder Kühlen ausgeführt wird. Mode ist remanent. Eine detaillierte Beschreibung der Betriebsarten finden Sie unter Parameter State und Mode (Seite 461).

Master

DWORD DW#16#0 Schnittstelle für Kaskadenregelung Falls diese PID_Temp Instanz als Slave-Regler in einer Kaskade verwendet wird (Config.Cascade.IsSlave = TRUE), belegen Sie den Parameter Master am Anweisungsaufruf mit dem Parameter Slave des Master-Reglers. Beispiel: Aufruf eines Slave-Reglers "PID_Temp_2" mit Master-Regler "PID_Temp_1" in SCL: ---------------------------------------------------------------------------- "PID_Temp_2"(Master := "PID_Temp_1".Slave, Setpoint := "PID_Temp_1".OutputHeat);

---------------------------------------------------------------------------- Über diese Schnittstelle tauschen Slave-Regler Informationen über Betriebsart, Begrenzung und Ersatzsollwert mit ihrem Master-Regler aus. Beachten Sie, dass der Aufruf des Master-Reglers vor dem Aufruf des Slave-Reglers und im selben Weckalarm-OB erfolgen muss. Belegung: • Bit 0 bis 15: nicht belegt • Bit 16 bis 23 – Begrenzungszähler:

Ein Slave-Regler, dessen Ausgangswert sich in Begrenzung befindet, er-höht diesen Zähler. In Abhängigkeit der konfigurierten Anzahl der Slaves (Config.Cascade.CountSlaves) und des Anti-Windup-Modus (Config .Cascade.AntiWindUpMode) reagiert der Master-Regler entsprechend.

Page 425: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 424 Funktionshandbuch, 11/2019, A5E35300226-AE

Parameter Datentyp Vorbele-gung

Beschreibung

Master (Fortset-zung)

DWORD DW#16#0 • Bit 24 – Automatikbetrieb der Slave-Regler:

TRUE, falls sich alle Slave-Regler im Automatikbetrieb befinden • Bit 25 – Ersatzsollwert der Slave-Regler:

TRUE, falls ein Slave-Regler den Ersatzsollwert aktiviert hat (SubstituteSet-pointOn = TRUE)

Slave DWORD DW#16#0 Schnittstelle für Kaskadenregelung Über diese Schnittstelle tauschen Slave-Regler Informationen über Betriebsart, Begrenzung und Ersatzsollwert mit ihrem Master-Regler aus. Siehe Beschreibung zu Parameter Master

Siehe auch Parameter State und Mode PID_Temp (Seite 461)

Programmerstellung (Seite 207)

Kaskadenregelung mit PID_Temp (Seite 205)

Page 426: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 425

9.3.4.6 Statische Variablen PID_Temp

Hinweis

Verändern Sie die mit (1) gekennzeichneten Variablen nur in der Betriebsart "Inaktiv", um ein Fehlverhalten des PID-Reglers zu vermeiden.

Variable Datentyp Vorbelegung Beschreibung IntegralResetMode Int V1.0: 1,

ab V1.1: 4 Die Variable IntegralResetMode (Seite 477) bestimmt, wie der I-Anteil PIDCtrl.IOutputOld beim Wechsel der Betriebsart von "Inaktiv" in "Automatikbetrieb" vorbelegt wird. Diese Einstellung wirkt nur für einen Zyklus. • IntegralResetMode = 0: Glätten • IntegralResetMode = 1: Löschen • IntegralResetMode = 2: Halten • IntegralResetMode = 3: Vorbelegen • IntegralResetMode = 4: wie Sollwertänderung (nur

für PID_Temp mit Version ≥ 1.1)

OverwriteInitialOutputValue REAL 0.0 Falls eine der folgenden Bedingungen erfüllt ist, wird der Integral-Anteil PIDCtrl.IOutputOld automatisch so vorbe-legt, als ob im vorherigen Zyklus PIDOutputSum = OverwriteInitialOutputValue gewesen wäre: • IntegralResetMode = 3 beim Wechsel von Betriebs-

art "Inaktiv" in "Automatikbetrieb • Flanke TRUE -> FALSE an Parameter Reset und

Parameter Mode = 3 • PIDCtrl.PIDInit = TRUE im “Automatikbetrieb” (ab

PID_Temp Version 1.1 verfügbar)

RunModeByStartup BOOL TRUE Nach CPU Neustart Betriebsart an Mode aktivieren • Falls RunModeByStartup = TRUE, startet PID_Temp

nach CPU-Anlauf in der Betriebsart, die an Mode ge-speichert ist.

• Falls RunModeByStartup = FALSE, bleibt PID_Temp nach CPU-Anlauf in der Betriebsart "Inaktiv".

LoadBackUp BOOL FALSE Falls LoadBackUp = TRUE, wird der letzte Satz PID-Parameter aus der Struktur CtrlParamsBackUp wieder geladen. Der Satz wurde vor der letzten Optimierung gespeichert. LoadBackUp wird automatisch wieder auf FALSE gesetzt. Die Übernahme erfolgt stoßfrei.

Page 427: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 426 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Datentyp Vorbelegung Beschreibung SetSubstituteOutput BOOL TRUE Auswahl des Ausgangswerts, solange ein Fehler ansteht

(State = 5): • Falls SetSubstituteOutput = TRUE und Activa-

teRecoverMode = TRUE sind, wird der konfigurierte Ersatzausgangswert SubstituteOutput als PID Aus-gangswert ausgegeben, solange ein Fehler ansteht.

• Falls SetSubstituteOutput = FALSE und Activa-teRecoverMode = TRUE sind, bleibt das Stellglied auf dem aktuellen PID Ausgangswert, solange ein Fehler ansteht.

• Falls ActivateRecoverMode = FALSE ist, wirkt sich SetSubstituteOutput nicht aus.

• Falls SubstituteOutput ungültig ist (ErrorBits = 0020000h), kann der Ersatzausgangswert nicht aus-gegeben werden. In diesem Fall wird die Untergren-ze des PID Ausgangswerts für Heizen (Config.Output.Heat.PidLowerLimit) als PID Aus-gangswert verwendet.

PhysicalUnit INT 0 Physikalische Einheit des Ist- und Sollwerts, z. B. ºC oder ºF. Dieser Parameter dient der Anzeige in den Editoren und beeinflusst den Regelalgorithmus nicht.

PhysicalQuantity INT 0 Physikalische Größe des Ist- und Sollwerts, z. B. Tem-peratur. Dieser Parameter dient der Anzeige in den Editoren und beeinflusst den Regelalgorithmus nicht.

ActivateRecoverMode BOOL TRUE Die Variable ActivateRecoverMode bestimmt das Ver-halten im Fehlerfall.

Warning DWORD 0 Die Variable Warning zeigt die Warnungen seit Reset = TRUE oder ErrorAck =TRUE. Warning ist remanent.

Progress REAL 0.0 Fortschritt der aktuellen Phase der Optimierung in Pro-zent (0.0 - 100.0)

CurrentSetpoint REAL 0.0 CurrentSetpoint zeigt immer den aktuell wirksamen Sollwert an. Dieser Wert wird während der Optimierung eingefroren.

CancelTuningLevel REAL 10.0 Zulässige Schwankung des Sollwerts während der Op-timierung. Die Optimierung wird erst abgebrochen, wenn gilt: • Setpoint > CurrentSetpoint + CancelTuningLevel oder • Setpoint < CurrentSetpoint - CancelTuningLevel

Page 428: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 427

Variable Datentyp Vorbelegung Beschreibung SubstituteOutput REAL 0.0 Der Ersatzausgangswert wird als PID Ausgangswert

verwendet, solange folgende Bedingungen erfüllt sind: • im Automatikbetrieb stehen ein oder mehrere Fehler

an, bei denen ActivateRecoverMode wirkt • SetSubstituteOutput = TRUE • ActivateRecoverMode = TRUE Die aus dem Ersatzausgangswert resultierenden Werte an den Ausgängen für Heizen und Kühlen ergeben sich aus der konfigurierten Ausgangsskalierung (Strukturen Config.Output.Heat und Config.Output.Cool). Für Regler mit aktiviertem Kühlausgang (Con-fig.ActivateCooling = TRUE) geben Sie an: • einen positiven Ersatzausgangswert, um den Wert

an den Ausgängen für Heizen auszugeben • einen negativen Ersatzausgangswert, um den Wert

an den Ausgängen für Kühlen auszugeben Der zulässige Wertebereich ist abhängig von der Konfi-guration. • Kühlausgang deaktiviert (Config.ActivateCooling =

FALSE):

Config.Output.Heat.PidUpperLimit ≥ SubstituteOut-put ≥ Config.Output.Heat.PidLowerLimit

• Kühlausgang aktiviert (Config.ActivateCooling = TRUE):

Config.Output.Heat.PidUpperLimit ≥ SubstituteOut-put ≥ Config.Output.Cool.PidLowerLimit

PidOutputSum REAL 0.0 PID Ausgangswert PidOutputSum zeigt den Ausgangswert des PID-Algorithmus. Er wird je nach Betriebsart automatisch berechnet oder durch den Handwert oder den konfigu-rierten Ersatzausgangswert vorgegeben. Die aus dem PID Ausgangswert resultierenden Werte an den Ausgängen für Heizen und Kühlen ergeben sich aus der konfigurierten Ausgangsskalierung (Strukturen Con-fig.Output.Heat und Config.Output.Cool). PidOutputSum wird abhängig von der Konfiguration begrenzt. • Kühlausgang deaktiviert (Config.ActivateCooling =

FALSE):

Config.Output.Heat.PidUpperLimit ≥ PidOutputSum ≥ Config.Output.Heat.PidLowerLimit

• Kühlausgang aktiviert (ConfigActivateCooling = TRUE):

Config.Output.Heat.PidUpperLimit ≥ PidOutputSum ≥ Config.Output.Cool.PidLowerLimit

Page 429: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 428 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Datentyp Vorbelegung Beschreibung PidOutputOffsetHeat REAL 0.0 Offset des PID Ausgangswerts Heizen

PidOutputOffsetHeat wird zum Wert, der sich aus Pid-OutputSum für den Heizzweig ergibt, addiert. Geben Sie einen positiven Wert für PidOutputOffsetHeat vor, um einen positiven Offset an den Ausgängen für Heizen zu erhalten. Die resultierenden Werte an den Ausgängen für Heizen ergeben sich aus der konfigurierten Ausgangsskalierung (Struktur Config.Output.Heat). Dieser Offset kann für Stellglieder genutzt werden, die einen festen Mindestwert benötigen z. B. Lüfter mit einer Mindestdrehzahl.

PidOutputOffsetCool REAL 0.0 Offset des PID Ausgangswerts Kühlen PidOutputOffsetCool wird zum Wert, der sich aus Pid-OutputSum für den Kühlzweig ergibt, addiert. Geben Sie einen negativen Wert für PidOutputOffsetCool vor, um einen positiven Offset an den Ausgängen für Kühlen zu erhalten. Die resultierenden Werte an den Ausgängen für Kühlen ergeben sich aus der konfigurierten Ausgangsskalierung (Struktur Config.Output.Cool). Dieser Offset kann für Stellglieder genutzt werden, die einen festen Mindestwert benötigen z. B. Lüfter mit einer Mindestdrehzahl.

SubstituteSetpointOn BOOL FALSE Aktiviert den Ersatzsollwert als Sollwert des Reglers. • FALSE = der Parameter Setpoint wird verwendet. • TRUE = der Parameter SubstituteSetpoint wird als

Sollwert verwendet SubstituteSetpointOn kann genutzt werden, um den Sollwert eines Slave-Reglers in einer Kaskade direkt vorzugeben, ohne das Anwenderprogramm ändern zu müssen.

SubstituteSetpoint REAL 0.0 Ersatzsollwert Falls SubstituteSetpointOn = TRUE, wird der Ersatzsoll-wert SubstituteSetpoint als Sollwert verwendet. Zulässiger Wertebereich: Config.SetpointUpperLimit ≥ SubstituteSet-point ≥ Config.SetpointLowerLimit, Con-fig.InputUpperLimit ≥ SubstituteSetpoint ≥ Config.InputLowerLimit

Page 430: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 429

Variable Datentyp Vorbelegung Beschreibung DisableCooling BOOL FALSE DisableCooling = TRUE deaktiviert für Heizkühlregler

(Config.ActivateCooling = TRUE) im Automatikbetrieb den Kühlzweig, indem PidOutputSum auf 0.0 als Unter-grenze begrenzt wird. PidOutputOffsetCool und die Ausgangsskalierung für die Ausgänge für Kühlen bleiben aktiv. DisableCooling kann für die Optimierung von Mehrzo-nenanwendungen genutzt werden, um den Kühlzweig vorübergehend zu deaktivieren, solange noch nicht alle Regler ihre Optimierung abgeschlossen haben. Dieser Parameter wird vom Anwender manuell ge-setzt/rückgesetzt und wird von der Anweisung PID_Temp nicht automatisch zurückgesetzt.

AllSlaveAutomaticState BOOL FALSE Wird diese PID_Temp Instanz als Master-Regler einer Kaskade genutzt (Config.Cascade.IsMaster = TRUE), zeigt AllSlaveAutomaticState = TRUE, dass sich alle Slave-Regler im Automatikbetrieb befinden. Optimierung, Handbetrieb oder Automatikbetrieb des Master-Reglers können nur richtig ausgeführt werden, falls sich alle Slave-Regler im Automatikbetrieb befin-den. AllSlaveAutomaticState wird nur ermittelt, falls Sie Mas-ter-Regler und Slave-Regler über die Parameter Master und Slave verschalten. Details siehe Parameter Master.

NoSlaveSubstituteSetpoint BOOL FALSE Wird diese PID_Temp Instanz als Master-Regler einer Kaskade genutzt (Config.Cascade.IsMaster = TRUE), zeigt NoSlaveSubstituteSetpoint = TRUE, dass kein Slave-Regler seinen Ersatzsollwert aktiviert hat. Optimierung, Handbetrieb oder Automatikbetrieb des Master-Reglers können nur richtig ausgeführt wer-den,falls kein Slave-Regler seinen Ersatzsollwert akti-viert hat. NoSlaveSubstituteSetpoint wird nur ermittelt, falls Sie Master-Regler und Slave-Regler über die Parameter Master und Slave verschalten. Details siehe Parameter Master.

Heat.EnableTuning BOOL TRUE Freigabe der Optimierung für Heizen Heat.EnableTuning muss für folgende Optimierungen gesetzt werden (gleichzeitig mit oder vor dem Start mit Mode und ModeActivate): • Erstoptimierung Heizen • Erstoptimierung Heizen und Kühlen • Nachoptimierung Heizen Dieser Parameter wird von der Anweisung PID_Temp nicht automatisch zurückgesetzt.

Page 431: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 430 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Datentyp Vorbelegung Beschreibung Cool.EnableTuning BOOL FALSE Freigabe der Optimierung für Kühlen

Cool.EnableTuning muss für folgende Optimierungen gesetzt werden (gleichzeitig mit oder vor dem Start mit Mode und ModeActivate): • Erstoptimierung Kühlen • Erstoptimierung Heizen und Kühlen • Nachoptimierung Kühlen Nur wirksam, falls der Kühlausgang und die PID-Parameterumschalung aktiviert sind ("Con-fig.ActivateCooling" = TRUE und "Con-fig.AdvancedCooling" = TRUE). Dieser Parameter wird von der Anweisung PID_Temp nicht automatisch zurückgesetzt.

Config.InputPerOn(1) BOOL TRUE Falls InputPerOn = TRUE, wird der Parameter In-put_PER für die Erfassung des Istwerts verwendet. Wenn InputPerOn = FALSE, wird der Parameter Input verwendet.

Config.InputUpperLimit(1) REAL 120.0 Obergrenze des Istwerts Input und Input_PER werden auf die Einhaltung dieser Grenze überwacht. Wird die Grenze überschritten, wird ein Fehler ausgegeben und abhängig von Activa-teRecoverMode reagiert. Am Peripherie-Eingang kann der Istwert maximal 18 % über dem Nennbereich (Übersteuerungsbereich) liegen. Bei Verwendung des Peripherie-Eingangs mit der Vor-einstellung für Obergrenze und Istwertskalierung ist ein Überschreiten der Grenze daher nicht möglich. Bei Start einer Erstoptimierung wird anhand der Diffe-renz zwischen Ober- und Untergrenze des Istwerts überprüft, ob der Abstand zwischen Sollwert und Istwert die nötigen Voraussetzungen erfüllt. InputUpperLimit > InputLowerLimit

Config.InputLowerLimit(1) REAL 0.0 Untergrenze des Istwerts Input und Input_PER werden auf die Einhaltung dieser Grenze überwacht. Wird die Grenze unterschritten, wird ein Fehler ausgegeben und abhängig von Activa-teRecoverMode reagiert. InputLowerLimit < InputUpperLimit

Page 432: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 431

Variable Datentyp Vorbelegung Beschreibung Config.InputUpperWarning(1) REAL 3.402822e+38 Obere Warngrenze des Istwerts

Input und Input_PER werden auf die Einhaltung dieser Grenze überwacht. Wird die Grenze überschritten, wird eine Warnung an Parameter Warning ausgegeben. • Falls Sie InputUpperWarning außerhalb der Istwert-

grenzen konfigurieren, wird die konfigurierte absolute Obergrenze Istwert als obere Warngrenze verwen-det.

• Falls Sie InputUpperWarning innerhalb der Istwert-grenzen konfigurieren, wird dieser Wert als Obere Warngrenze verwendet.

InputUpperWarning > InputLowerWarning Config.InputLowerWarning(1) REAL -3.402822e+38 Untere Warngrenze des Istwerts

Input und Input_PER werden auf die Einhaltung dieser Grenze überwacht. Wird die Grenze unterschritten, wird eine Warnung an Parameter Warning ausgegeben. • Falls Sie InputLowerWarning außerhalb der Istwert-

grenzen konfigurieren, wird die konfigurierte absolute Untergrenze Istwert als untere Warngrenze verwen-det.

• Falls Sie InputLowerWarning innerhalb der Istwert-grenzen konfigurieren, wird dieser Wert als Untere Warngrenze verwendet.

InputLowerWarning < InputUpperWarning Config.SetpointUpperLimit(1) REAL 3.402822e+38 Obergrenze des Sollwerts

Setpoint und SubstituteSetpoint werden auf die Einhal-tung dieser Grenze überwacht. Wird die Grenze über-schritten, wird eine Warnung an Parameter Warning ausgegeben. • Falls Sie SetpointUpperLimit außerhalb der Istwert-

grenzen konfigurieren, wird die konfigurierte absolute Istwertobergrenze als Obergrenze Sollwert verwen-det.

• Falls Sie SetpointUpperLimit innerhalb der Istwert-grenzen konfigurieren, wird dieser Wert als Ober-grenze Sollwert verwendet.

SetpointUpperLimit > SetpointLowerLimit

Page 433: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 432 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Datentyp Vorbelegung Beschreibung Config.SetpointLowerLimit(1) REAL -3.402822e+38 Untergrenze des Sollwerts

Setpoint und SubstituteSetpoint werden auf die Einhal-tung dieser Grenze überwacht. Wird die Grenze unter-schritten, wird eine Warnung an Parameter Warning ausgegeben. • Falls Sie SetpointLowerLimit außerhalb der Istwert-

grenzen konfigurieren, wird die konfigurierte absolute Istwertuntergrenze als Untergrenze Sollwert verwen-det.

• Falls Sie SetpointLowerLimit innerhalb der Istwert-grenzen konfigurieren, wird dieser Wert als Unter-grenze Sollwert verwendet.

SetpointLowerLimit < SetpointUpperLimit Config.ActivateCooling(1) BOOL FALSE Kühlausgang aktivieren

• Config.ActivateCooling = FALSE

Es werden nur die Ausgänge für Heizen verwendet. • Config.ActivateCooling = TRUE

Es werden die Ausgänge für Heizen und Kühlen verwendet.

Falls Sie den Kühlausgang verwenden, darf der Regler nicht als Master-Regler konfiguriert sein (Con-fig.Cascade.IsMaster muss FALSE sein) .

Page 434: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 433

Variable Datentyp Vorbelegung Beschreibung Config.AdvancedCooling(1) BOOL TRUE Methode für Heizen/Kühlen

• Kühlfaktor (Config.AdvancedCooling = FALSE)

Die Ausgangswertberechnung für Kühlen erfolgt mit dem PID-Parameter für Heizen (Struktur Retain.CtrlParams.Heat) unter Berücksichtigung des konfigurierbaren Kühlfaktors Config.CoolFactor.

Diese Methode ist geeignet, falls Heiz- und Kühlstell-glied ähnliches Zeitverhalten aber unterschiedliche Verstärkungen aufweisen.

Bei dieser Methode stehen Erstoptimierung und Nachoptimierung für Kühlen nicht zur Verfügung. Es können nur die Optimierungen für Heizen ausgeführt werden.

• PID-Parameterumschaltung (Con-fig.AdvancedCooling = TRUE)

Die Ausgangswertberechnung für Kühlen erfolgt über einen eigenen PID-Parametersatz (Struktur Retain.CtrlParams.Cool).

Diese Methode ist geeignet, falls Heiz- und Kühlstell-glied unterschiedliches Zeitverhalten und Verstär-kungen aufweisen.

Nur bei dieser Methode stehen Erstoptimierung und Nachoptimierung für Kühlen zur Verfügung (Mode = 1 oder 2, Cool.EnableTuning = TRUE).

Config.AdvancedCooling ist nur wirksam, falls der Kühl-ausgang aktiviert ist (Config.ActivateCooling = TRUE).

Config.CoolFactor(1) REAL 1.0 Kühlfaktor Falls Config.AdvancedCooling = FALSE, wird Config .CoolFactor als Faktor in der Berechnung des Aus-gangswerts für Kühlen berücksichtigt. Auf diese Weise können unterschiedliche Verstärkungen von Heiz- und Kühlstellglied berücksichtigt werden. Config.CoolFactor wird nicht automatisch eingestellt oder während der Optimierung angepasst. Sie müssen Config.CoolFactor manuell mit dem Verhältnis "Verstär-kung Heizstellglied / Verstärkung Kühlstellglied" korrekt konfigurieren. Beispiel: Config.CoolFactor = 2.0 bedeutet, dass die Verstärkung des Heizstellglieds doppelt so stark wie die Verstärkung des Kühlstellglieds ist. Config.CoolFactor ist nur wirksam, falls der Kühlausgang aktiviert (Config.ActivateCooling = TRUE) und Kühlfaktor als Methode für Heizen/Kühlen gewählt ist (Config .AdvancedCooling = FALSE). Config.CoolFactor > 0.0

Page 435: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 434 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Datentyp Vorbelegung Beschreibung Config.InputScaling .UpperPointIn(1)

REAL 27648.0 Skalierung Input_PER Oben Anhand der zwei Wertepaare UpperPointOut, Upper-PointIn und LowerPointOut, LowerPointIn wird In-put_PER skaliert. Nur wirksam, falls Input_PER für die Istwerterfasung verwendet wird (Config.InputPerOn = TRUE). UpperPointIn > LowerPointIn

Config.InputScaling .LowerPointIn(1)

REAL 0.0 Skalierung Input_PER Unten Anhand der zwei Wertepaare UpperPointOut, Upper-PointIn und LowerPointOut, LowerPointIn wird In-put_PER skaliert. Nur wirksam, falls Input_PER für die Istwerterfasung verwendet wird (Config.InputPerOn = TRUE). LowerPointIn < UpperPointIn

Config.InputScaling .UpperPointOut(1)

REAL 100.0 Skalierter oberer Istwert Anhand der zwei Wertepaare UpperPointOut, Upper-PointIn und LowerPointOut, LowerPointIn wird In-put_PER skaliert. Nur wirksam, falls Input_PER für die Istwerterfasung verwendet wird (Config.InputPerOn = TRUE). UpperPointOut > LowerPointOut

Config.InputScaling .LowerPointOut(1)

REAL 0.0 Skalierter unterer Istwert Anhand der zwei Wertepaare UpperPointOut, Upper-PointIn und LowerPointOut, LowerPointIn wird In-put_PER skaliert. Nur wirksam, falls Input_PER für die Istwerterfasung verwendet wird (Config.InputPerOn = TRUE). LowerPointOut < UpperPointOut

Config.Output.Heat.Select(1) INT 1 Auswahl des Ausgangswerts für Heizen Config.Output.Heat.Select gibt vor, welche Ausgänge für Heizen verwendet werden: • Heat.Select = 0 - OutputHeat wird verwendet • Heat.Select = 1 - OutputHeat und OutputHeat_PWM

werden verwendet • Heat.Select = 2 - OutputHeat und OutputHeat_PER

werden verwendet Nicht verwendete Ausgänge werden nicht berechnet und verbleiben auf dem Default-Wert.

Page 436: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 435

Variable Datentyp Vorbelegung Beschreibung Config.Output.Heat.PwmPeriode(1) REAL 0.0 Periodendauer der Pulsweitenmodulation (PWM) für

Heizen (Ausgang OutputHeat_PWM) in Sekunden: • Heat.PwmPeriode = 0.0

Die Abtastzeit des PID-Algorithmus für Heizen (Retain.CtrlParams.Heat.Cycle) wird als Perioden-dauer der PWM verwendet.

• Heat.PwmPeriode > 0.0

Der Wert wird auf ein ganzzahliges Vielfaches der Abtastzeit PID_Temp (CycleTime.Value) gerundet und als Periodendauer der PWM verwendet.

Mit dieser Einstellung kann bei großer Abtastzeit des PID-Algorithmus die Glattheit des Istwerts verbessert werden.

Der Wert muss folgende Bedingungen erfüllen: – Heat.PwmPeriode ≤ Re-

tain.CtrlParams.Heat.Cycle, – Heat.PwmPeriode > Con-

fig.Output.Heat.MinimumOnTime – Heat.PwmPeriode > Con-

fig.Output.Heat.MinimumOffTime

Config.Output.Heat .PidUpperLimit(1)

REAL 100.0 Obergrenze des PID Ausgangswerts für Heizen Der PID Ausgangswert (PidOutputSum) wird auf diese Obergrenze begrenzt. Heat.PidUpperLimit bildet zusammen mit folgenden Parametern ein Wertepaar für die Skalierung des PID Ausgangswerts (PidOutputSum) auf die Ausgänge für Heizen: • Heat.UpperScaling für OutputHeat • Heat.PwmUpperScaling für OutputHeat_PWM • Heat.PerUpperScaling für OutputHeat_PER Falls Sie den Wert am zugehörigen Ausgang begrenzen wollen, müssen Sie auch diese Skalierungswerte anpas-sen. Heat.PidUpperLimit > Heat.PidLowerLimit

Page 437: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 436 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Datentyp Vorbelegung Beschreibung Config.Output.Heat .PidLowerLimit(1)

REAL 0.0 Untergrenze des PID Ausgangswerts für Heizen Bei Reglern mit deaktiviertem Kühlausgang (Config .ActivateCooling = FALSE) wird der PID Ausgangswert (PidOutputSum) auf diese Untergrenze begrenzt. Bei Reglern mit aktiviertem Kühlausgang (Config .ActivateCooling = TRUE) muss der Wert 0.0 sein. Heat.PidLowerLimit bildet zusammen mit folgenden Parametern ein Wertepaar für die Skalierung des PID Ausgangswerts (PidOutputSum) auf die Ausgänge für Heizen: • Heat.LowerScaling für OutputHeat • Heat.PwmLowerScaling für OutputHeat_PWM • Heat.PerLowerScaling für OutputHeat_PER Falls Sie den Wert am zugehörigen Ausgang begrenzen wollen, müssen Sie auch diese Skalierungswerte anpas-sen. Der zulässige Wertebereich ist abhängig von der Konfi-guration. • Kühlausgang deaktiviert (Config.ActivateCooling =

FALSE):

Heat.PidLowerLimit < Heat.PidUpperLimit • Kühlausgang aktiviert (Config.ActivateCooling =

TRUE):

Heat.PidLowerLimit = 0.0 Config.Output.Heat .UpperScaling(1)

REAL 100.0 Skalierter oberer Ausgangswert für Heizen Heat.UpperScaling und Heat.PidUpperLimit bilden ein Wertepaar für die Skalierung des PID Ausgangswerts (PidOutputSum) auf den Ausgangswert für Heizen (Out-putHeat). Der Wert von OutputHeat liegt immer zwischen He-at.UpperScaling und Heat.LowerScaling. Heat.UpperScaling ≠ Heat.LowerScaling

Config.Output.Heat .LowerScaling(1)

REAL 0.0 Skalierter unterer Ausgangswert für Heizen Heat.LowerScaling und Heat.PidLowerLimit bilden ein Wertepaar für die Skalierung des PID Ausgangswerts (PidOutputSum) auf den Ausgangswert für Heizen (Out-putHeat). Der Wert von OutputHeat liegt immer zwischen He-at.UpperScaling und Heat.LowerScaling. Heat.UpperScaling ≠ Heat.LowerScaling

Page 438: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 437

Variable Datentyp Vorbelegung Beschreibung Config.Output.Heat .PwmUpperScaling(1)

REAL 100.0 Skalierter oberer PWM Ausgangswert für Heizen Heat.PwmUpperScaling und Heat.PidUpperLimit bilden ein Wertepaar für die Skalierung des PID Ausgangs-werts (PidOutputSum) auf den pulsweitenmodulierten Ausgangswert für Heizen (OutputHeat_PWM). Der Wert von OutputHeat_PWM liegt immer zwischen Heat.PwmUpperScaling und Heat.PWMLowerScaling. Heat.PwmUpperScaling ist nur wirksam, falls als Aus-gang für Heizen OutputHeat_PWM gewählt ist (He-at.Select = 1) 100.0 ≥ Heat.PwmUpperScaling ≥ 0.0 Heat.PwmUpperScaling ≠ Heat.PwmLowerScaling

Config.Output.Heat .PwmLowerScaling(1)

REAL 0.0 Skalierter unterer PWM Ausgangswert für Heizen Heat.PwmLowerScaling und Heat.PidLowerLimit bilden ein Wertepaar für die Skalierung des PID Ausgangs-werts (PidOutputSum) auf den pulsweitenmodulierten Ausgangswert für Heizen (OutputHeat_PWM). Der Wert von OutputHeat_PWM liegt immer zwischen Heat.PwmUpperScaling und Heat.PwmLowerScaling. Heat.PwmLowerScaling ist nur wirksam, falls als Aus-gang für Heizen OutputHeat_PWM gewählt ist (He-at.Select = 1) 100.0 ≥ Heat.PwmLowerScaling ≥ 0.0 Heat.PwmUpperScaling ≠ Heat.PwmLowerScaling

Config.Output.Heat .PerUpperScaling(1)

REAL 27648.0 Skalierter oberer analoger Ausgangswert für Heizen Heat.PerUpperScaling und Heat.PidUpperLimit bilden ein Wertepaar für die Skalierung des PID Ausgangs-werts (PidOutputSum) auf den analogen Ausgangswert für Heizen (OutputHeat_PER). Der Wert von OutputHeat_PER liegt immer zwischen Heat.PerUpperScaling und Heat.PerLowerScaling. Heat.PerUpperScaling ist nur wirksam, falls als Ausgang für Heizen OutputHeat_PER gewählt ist (Heat.Select = 2) 32511.0 ≥ Heat.PerUpperScaling ≥ -32512.0 Heat.PerUpperScaling ≠ Heat.PerLowerScaling

Config.Output.Heat .PerLowerScaling(1)

REAL 0.0 Skalierter unterer analoger Ausgangswert für Heizen Heat.PerLowerScaling und Heat.PidLowerLimit bilden ein Wertepaar für die Skalierung des PID Ausgangs-werts (PidOutputSum) auf den analogen Ausgangswert für Heizen (OutputHeat_PER). Der Wert von OutputHeat_PER liegt immer zwischen Heat.PerUpperScaling und Heat.PerLowerScaling. Heat.PerLowerScaling ist nur wirksam, falls als Ausgang für Heizen OutputHeat_PER gewählt ist (Heat.Select = 2) 32511.0 ≥ Heat.PerLowerScaling ≥ -32512.0 Heat.PerUpperScaling ≠ Heat.PerLowerScaling

Page 439: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 438 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Datentyp Vorbelegung Beschreibung Config.Output.Heat .MinimumOnTime(1)

REAL 0.0 Minimale Einschaltzeit der Pulsweitenmodulation für Heizen (Ausgang OutputHeat_PWM) Ein PWM-Impuls ist nie kürzer als dieser Wert. Der Wert wird gerundet auf: Heat.MinimumOnTime = n × CycleTime.Value Heat.MinimumOnTime ist nur wirksam, falls als Ausgang für Heizen OutputHeat_PWM gewählt ist (Heat.Select = 1)". 100000.0 ≥ Heat.MinimumOnTime ≥ 0.0

Config.Output.Heat .MinimumOffTime(1)

REAL 0.0 Minimale Ausschaltzeit der Pulsweitenmodulation für Heizen (Ausgang OutputHeat_PWM) Eine PWM-Pause ist nie kürzer als dieser Wert. Der Wert wird gerundet auf: Heat.MinimumOffTime = n × CycleTime.Value Heat.MinimumOffTime ist nur wirksam, falls als Ausgang für Heizen OutputHeat_PWM gewählt ist (Heat.Select = 1)". 100000.0 ≥ Heat.MinimumOffTime ≥ 0.0

Config.Output.Cool.Select(1) INT 1 Auswahl des Ausgangswerts für Kühlen Config.Output.Cool.Select gibt vor, welche Ausgänge für Kühlen verwendet werden: • Cool.Select = 0 - OutputCool wird verwendet • Cool.Select = 1 - OutputCool und OutputCool_PWM

werden verwendet • Cool.Select = 2 - OutputCool und OutputCool_PER

werden verwendet Nicht verwendete Ausgänge werden nicht berechnet und verbleiben auf dem Default-Wert. Nur wirksam, falls der Kühlausgang aktiviert ist (Con-fig.ActivateCooling = TRUE).

Page 440: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 439

Variable Datentyp Vorbelegung Beschreibung Config.Output.Cool.PwmPeriode(1) REAL 0.0 Periodendauer der Pulsweitenmodulation für Kühlen

(Ausgang OutputCool_PWM) in Sekunden: • Cool.PwmPeriode = 0.0 und Con-

fig.AdvancedCooling = FALSE:

Die Abtastzeit des PID-Algorithmus für Heizen

(Retain.CtrlParams.Heat.Cycle) wird als Perioden-dauer der PWM verwendet.

• Cool.PwmPeriode = 0.0 und Con-fig.AdvancedCooling = TRUE:

Die Abtastzeit des PID-Algorithmus für Kühlen (Retain.CtrlParams.Cool.Cycle) wird als Perioden-dauer der PWM verwendet.

• Cool.PwmPeriode > 0.0:

Der Wert wird auf ein ganzzahliges Vielfaches der Abtastzeit PID_Temp (CycleTime.Value) gerundet und als Periodendauer der PWM verwendet.

Mit dieser Einstellung kann bei großer Abtastzeit des PID-Algorithmus die Glattheit des Istwerts verbessert werden.

Der Wert muss folgende Bedingungen erfüllen: – Cool.PwmPeriode ≤

Retain.CtrlParams.Cool.Cycle bzw. Retain.CtrlParams.Heat.Cycle

– Cool.PwmPeriode > Con-fig.Output.Cool.MinimumOnTime

– Cool.PwmPeriode > Con-fig.Output.Cool.MinimumOffTime

Nur wirksam, falls der Kühlausgang aktiviert ist (Con-fig.ActivateCooling = TRUE).

Config.Output.Cool .PidUpperLimit(1)

REAL 0.0 Obergrenze des PID Ausgangswerts für Kühlen Der Wert muss 0.0 sein. Cool.PidUpperLimit bildet zusammen mit folgenden Parametern ein Wertepaar für die Skalierung des PID Ausgangswerts (PidOutputSum) auf die Ausgänge für Kühlen: • Cool.LowerScaling für OutputCool • Cool.PwmLowerScaling für OutputCool_PWM • Cool.PerLowerScaling für OutputCool_PER Sie müssen auch diese Skalierungswerte anpassen, falls Sie den Wert an dem zugehörigen Ausgang be-grenzen wollen. Nur wirksam, falls der Kühlausgang aktiviert ist (Con-fig.ActivateCooling = TRUE). Cool.PidUpperLimit = 0.0

Page 441: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 440 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Datentyp Vorbelegung Beschreibung Config.Output.Cool .PidLowerLimit(1)

REAL -100.0 Untergrenze des PID Ausgangswerts für Kühlen Bei Reglern mit aktiviertem Kühlausgang (Con-fig.ActivateCooling = TRUE) wird der PID Ausgangswert (PidOutputSum) auf diese Untergrenze begrenzt. Cool.PidLowerLimit bildet zusammen mit folgenden Parametern ein Wertepaar für die Skalierung des PID Ausgangswerts (PidOutputSum) auf die Ausgänge für Kühlen: • Cool.UpperScaling für OutputCool • Cool.PwmUpperScaling für OutputCool_PWM • Cool.PerUpperScaling für OutputCool_PER Sie müssen auch diese Skalierungswerte anpassen, falls Sie den Wert an dem zugehörigen Ausgang be-grenzen wollen. Nur wirksam, falls der Kühlausgang aktiviert ist (Con-fig.ActivateCooling = TRUE). Cool.PidLowerLimit < Cool.PidUpperLimit

Config.Output.Cool .UpperScaling(1)

REAL 100.0 Skalierter oberer Ausgangswert für Kühlen Cool.UpperScaling und Cool.PidLowerLimit bilden ein Wertepaar für die Skalierung des PID Ausgangswerts (PidOutputSum) auf den Ausgangswert Kühlen (Output-Cool). Der Wert von OutputCool liegt immer zwischen Cool.UpperScaling und Cool.LowerScaling. Nur wirksam, falls der Kühlausgang aktiviert ist (Con-fig.ActivateCooling = TRUE). Cool.UpperScaling ≠ Cool.LowerScaling

Config.Output.Cool .LowerScaling(1)

REAL 0.0 Skalierter unterer Ausgangswert für Kühlen Cool.LowerScaling und Cool.PidUpperLimit bilden ein Wertepaar für die Skalierung des PID Ausgangswerts (PidOutputSum) auf den Ausgangswert Kühlen (Output-Cool). Der Wert von OutputCool liegt immer zwischen Cool.UpperScaling und Cool.LowerScaling. Nur wirksam, falls der Kühlausgang aktiviert ist (Con-fig.ActivateCooling = TRUE). Cool.UpperScaling ≠ Cool.LowerScaling

Page 442: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 441

Variable Datentyp Vorbelegung Beschreibung Config.Output.Cool .PwmUpperScaling(1)

REAL 100.0 Skalierter oberer PWM Ausgangswert für Kühlen Cool.PwmUpperScaling und Cool.PidLowerLimit bilden ein Wertepaar für die Skalierung des PID Ausgangs-werts (PidOutputSum) auf den pulsweitenmodulierten Ausgangswert Kühlen (OutputCool_PWM). Der Wert von OutputCool_PWM liegt immer zwischen Cool.PwmUpperScaling und Cool.PwmLowerScaling. Cool.PwmUpperScaling ist nur wirksam, falls der Kühl-ausgang aktiviert ist (Config.ActivateCooling = TRUE) und Sie als Ausgang für Kühlen OutputCool_PWM ge-wählt haben (Cool.Select = 1). 100.0 ≥ Cool.PwmUpperScaling ≥ 0.0 Cool.PwmUpperScaling ≠ Cool.PwmLowerScaling

Config.Output.Cool .PwmLowerScaling(1)

REAL 0.0 Skalierter unterer PWM Ausgangswert für Kühlen Cool.PwmLowerScaling und Cool.PidUpperLimit bilden ein Wertepaar für die Skalierung des PID Ausgangs-werts (PidOutputSum) auf den pulsweitenmodulierten Ausgangswert Kühlen (OutputCool_PWM). Der Wert von OutputCool_PWM liegt immer zwischen Cool.PwmUpperScaling und CoolPwm.LowerScaling. Cool.PwmLowerScaling ist nur wirksam, falls der Kühl-ausgang aktiviert ist (Config.ActivateCooling = TRUE) und Sie als Ausgang für Kühlen OutputCool_PWM ge-wählt haben (Cool.Select = 1). 100.0 ≥ Cool.PwmLowerScaling ≥ 0.0 Cool.PwmUpperScaling ≠ Cool.PwmLowerScaling

Config.Output.Cool .PerUpperScaling(1)

REAL 27648.0 Skalierter oberer analoger Ausgangswert für Kühlen Cool.PerUpperScaling und Cool.PidLowerLimit bilden ein Wertepaar für die Skalierung des PID Ausgangs-werts (PidOutputSum) auf den analogen Ausgangswert Kühlen (OutputCool_PER). Der Wert von OutputCool_PER liegt immer zwischen Cool.PerUpperScaling und Cool.PerLowerScaling. Cool.PerUpperScaling ist nur wirksam, falls der Kühl-ausgang aktiviert ist (Config.ActivateCooling = TRUE) und Sie als Ausgang für Kühlen OutputCool_PER ge-wählt haben (Cool.Select = 2). 32511.0 ≥ Cool.PerUpperScaling ≥ -32512.0 Cool.PerUpperScaling ≠ Cool.PerLowerScaling

Page 443: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 442 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Datentyp Vorbelegung Beschreibung Config.Output.Cool .PerLowerScaling(1)

REAL 0.0 Skalierter unterer analoger Ausgangswert für Kühlen Cool.PerLowerScaling und Cool.PidUpperLimit bilden ein Wertepaar für die Skalierung des PID Ausgangs-werts (PidOutputSum) auf den analogen Ausgangswert Kühlen (OutputCool_PER). Der Wert von OutputCool_PER liegt immer zwischen Cool.PerUpperScaling und Cool.PerLowerScaling. Cool.PerLowerScaling ist nur wirksam, falls der Kühl-ausgang aktiviert ist (Config.ActivateCooling = TRUE) und Sie als Ausgang für Kühlen OutputCool_PER ge-wählt haben (Cool.Select = 2). 32511.0 ≥ Cool.PerLowerScaling ≥ -32512.0 Cool.PerUpperScaling ≠ Cool.PerLowerScaling

Config.Output.Cool .MinimumOnTime(1)

REAL 0.0 Minimale Einschaltzeit der Pulsweitenmodulation für Kühlen (Ausgang OutputCool_PWM) Ein PWM-Impuls ist nie kürzer als dieser Wert. Der Wert wird gerundet auf: Cool.MinimumOnTime = n × CycleTime.Value Cool.MinimumOnTime ist nur wirksam, falls als Ausgang für Kühlen OutputCool_PWM gewählt ist (Cool.Select = 1). Nur wirksam, falls der Kühlausgang aktiviert ist (Con-fig.ActivateCooling = TRUE). 100000.0 ≥ Cool.MinimumOnTime ≥ 0.0

Config.Output.Cool .MinimumOffTime(1)

REAL 0.0 Minimale Ausschaltzeit der Pulsweitenmodulation für Kühlen (Ausgang OutputCool_PWM) Eine PWM-Pause ist nie kürzer als dieser Wert. Der Wert wird gerundet auf: Cool.MinimumOffTime = n × CycleTime.Value Cool.MinimumOffTime ist nur wirksam, falls als Ausgang für Kühlen OutputCool_PWM gewählt ist (Cool.Select = 1). Nur wirksam, falls der Kühlausgang aktiviert ist (Con-fig.ActivateCooling = TRUE). 100000.0 ≥ Cool.MinimumOffTime ≥ 0.0

Falls Sie PID_Temp in einer Kaskade verwenden, tauschen Master-Regler und Slave-Regler über die Parameter Master und Slave Informationen aus. Die Verschaltung muss von Ihnen vorgenommen werden. Details siehe Parameter Master.

Page 444: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 443

Variable Datentyp Vorbelegung Beschreibung Config.Cascade.IsMaster(1) BOOL FALSE Der Regler ist Master in einer Kaskade und stellt den

Sollwert für den Slave bereit. Setzen Sie IsMaster = TRUE, falls Sie diese PID_Temp Instanz als Master-Regler in einer Kaskade verwenden. Ein Master-Regler gibt mit seinem Ausgang den Sollwert eines Slave-Reglers vor. Eine PID_Temp Instanz kann gleichzeitig Master-Regler und Slave-Regler sein. Falls der Regler als Master-Regler verwendet wird, muss der Kühlausgang deaktiviert sein (Con-fig.ActivateCooling = FALSE).

Config.Cascade.IsSlave(1) BOOL FALSE Der Regler ist Slave in einer Kaskade und erhält seinen Sollwert vom Master. Setzen Sie IsSlave = TRUE, falls Sie diese PID_Temp Instanz als Slave-Regler in einer Kaskade verwenden. Ein Slave-Regler erhält seinen Sollwert (Parameter Setpoint) vom Ausgang seines Master-Reglers (Parame-ter OutputHeat). Eine PID_Temp Instanz kann gleichzei-tig Master-Regler und Slave-Regler sein.

Config.Cascade .AntiWindUpMode(1)

INT 1 Anti-Wind-Up-Verhalten in der Kaskade Möglich sind: • Anti-Windup = 0

Die AntiWindUp Funktionalität ist deaktiviert. Der Master-Regler reagiert nicht auf die Begrenzung sei-ner Slave-Regler.

• Anti-Windup = 1

Der I-Anteil des Master-Reglers wird im Verhältnis "Slaves in Begrenzung" zu "Anzahl der Slaves" redu-ziert (Parameter “CountSlaves”). Dadurch werden die Auswirkungen der Begrenzung auf das Regelverhal-ten verringert.

• Anti-Windup = 2

Der I-Anteil des Master-Reglers wird gehalten, so-bald sich ein Slave-Regler in der Begrenzung befin-det.

Nur wirksam, falls der Regler als Master-Regler konfigu-riert ist (Config.Cascade.IsMaster = TRUE).

Config.Cascade.CountSlaves(1) INT 1 Anzahl der untergeordneten Slaves Geben Sie hier die Anzahl direkt untergeordneter Slave-Regler an, die ihren Sollwert von diesem Master-Regler erhalten. Nur wirksam, falls der Regler als Master-Regler konfigu-riert ist (Config.Cascade.IsMaster = TRUE). 255 ≥ CountSlaves ≥ 1

Page 445: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 444 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Datentyp Vorbelegung Beschreibung CycleTime.StartEstimation BOOL TRUE Falls CycleTime.EnEstimation = TRUE, startet CycleTi-

me.StartEstimation = TRUE die automatische Ermittlung der Abtastzeit PID_Temp (Zykluszeit des aufrufenden OBs). Nach Abschluss der Messung wird CycleTi-me.StartEstimation = FALSE gesetzt.

CycleTime.EnEstimation BOOL TRUE Falls CycleTime.EnEstimation = TRUE, wird die Abtast-zeit PID_Temp automatisch ermittelt. Falls CycleTime.EnEstimation = FALSE, wird die Abtast-zeit PID_Temp nicht automatisch ermittelt und Sie müs-sen CycleTime.Value manuell korrekt konfigurieren.

CycleTime.EnMonitoring BOOL TRUE Falls CycleTime.EnMonitoring = FALSE, wird die Abtast-zeit PID_Temp nicht überwacht. Falls PID_Temp nicht innerhalb der Abtastzeit ausgeführt werden kann, wird kein Fehler (ErrorBits=0000800h) ausgegeben und PID_Temp reagiert nicht wie mit ActivateRecoverMode konfiguriert.

CycleTime.Value(1) REAL 0.1 Abtastzeit PID_Temp (Zykluszeit des aufrufenden OBs) in Sekunden CycleTime.Value wird automatisch ermittelt und ent-spricht normalerweise der Zykluszeit des aufrufenden OB.

Werte aus der Struktur CtrlParamsBackUp können mit LoadBackUp = TRUE wieder geladen werden. CtrlParamsBackUp.SetByUser BOOL FALSE Gespeicherter Wert von Retain.CtrlParams.SetByUser CtrlParamsBackUp.Heat.Gain REAL 1.0 Gespeicherte Proportionalverstärkung für Heizen CtrlParamsBackUp.Heat.Ti REAL 20.0 Gespeicherte Integrationszeit für Heizen in Sekunden CtrlParamsBackUp.Heat.Td REAL 0.0 Gespeicherte Differenzierzeit für Heizen in Sekunden CtrlParamsBackUp.Heat .TdFiltRatio

REAL 0.2 Gespeicherter Koeffizient Differenzierverzug für Heizen

CtrlParamsBackUp.Heat .PWeighting

REAL 1.0 Gespeicherte Gewichtung des P-Anteils für Heizen

CtrlParamsBackUp.Heat .DWeighting

REAL 1.0 Gespeicherte Gewichtung des D-Anteils für Heizen

CtrlParamsBackUp.Heat.Cycle REAL 1.0 Gespeicherte Abtastzeit des PID-Algorithmus für Heizen in Sekunden

CtrlParamsBackUp.Heat .ControlZone

REAL 3.402822e+38 Gespeicherte Regelzonenbreite für Heizen

CtrlParamsBackUp.Heat .DeadZone

REAL 0.0 Gespeicherte Totzonenbreite für Heizen

CtrlParamsBackUp.Cool.Gain REAL 1.0 Gespeicherte Proportionalverstärkung für Kühlen CtrlParamsBackUp.Cool.Ti REAL 20.0 Gespeicherte Integrationszeit für Kühlen in Sekunden CtrlParamsBackUp.Cool.Td REAL 0.0 Gespeicherte Differenzierzeit für Kühlen in Sekunden CtrlParamsBackUp.Cool .TdFiltRatio

REAL 0.2 Gespeicherter Koeffizient Differenzierverzug für Kühlen

CtrlParamsBackUp.Cool .PWeighting

REAL 1.0 Gespeicherter Gewichtungsfaktor des P-Anteils für Küh-len

CtrlParamsBackUp.Cool .DWeighting

REAL 1.0 Gespeicherter Gewichtungsfaktor des D-Anteils für Küh-len

Page 446: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 445

Variable Datentyp Vorbelegung Beschreibung CtrlParamsBackUp.Cool.Cycle REAL 1.0 Gespeicherte Abtastzeit des PID-Algorithmus für Kühlen

in Sekunden CtrlParamsBackUp.Cool .ControlZone

REAL 3.402822e+38 Gespeicherte Regelzonenbreite für Kühlen

CtrlParamsBa-ckUp.Cool.DeadZone

REAL 0.0 Gespeicherte Totzonenbreite für Kühlen

PIDSelfTune.SUT .CalculateParamsHeat

BOOL FALSE Die Eigenschaften des Heizzweigs der Regelstrecke werden bei der Erstoptimierung Heizen gespeichert. Falls SUT.CalculateParamsHeat = TRUE, werden an-hand dieser Eigenschaften die PID Parameter für Heizen (Struktur Retain.CtrlParams.Heat) neu berechnet. Dadurch kann die Methode für die Parameterberech-nung (Parameter PIDSelfTune.SUT.TuneRuleHeat) geändert werden, ohne die Optimierung zu wiederholen. SUT.CalculateParamsHeat wird nach der Berechnung auf FALSE gesetzt. Nur möglich, falls die Erstoptimierung erfolgreich war (SUT.ProcParHeatOk = TRUE).

PIDSelfTune.SUT .CalculateParamsCool

BOOL FALSE Die Eigenschaften des Kühlzweigs der Regelstrecke werden bei der Optimierung Kühlen gespeichert. Falls SUT.CalculateParamsCool = TRUE, werden anhand dieser Eigenschaften die PID Parameter für Kühlen (Struktur Retain.CtrlParams.Cool) neu berechnet. Dadurch kann die Methode für die Parameterberech-nung (Parameter PIDSelfTune.SUT.TuneRuleCool) geändert werden, ohne die Optimierung zu wiederholen. SUT.CalculateParamsCool wird nach der Berechnung auf FALSE gesetzt. Nur möglich, falls die Erstoptimierung erfolgreich war (SUT.ProcParCoolOk = TRUE). Nur wirksam, falls Config.ActivateCooling = TRUE und Config.AdvancedCooling = TRUE.

PIDSelfTune.SUT.TuneRuleHeat INT 2 Methode für die PID Parameterberechnung bei Erstop-timierung Heizen Möglich sind: • SUT.TuneRuleHeat = 0: PID nach CHR • SUT.TuneRuleHeat = 1: PI nach CHR • SUT.TuneRuleHeat = 2: PID für Temperaturprozesse

nach CHR (führt zu einem langsameren und eher asymptotischen Regelverhalten mit geringerem Überschwingen als SUT.TuneRuleHeat = 0)

(CHR = Chien, Hrones und Reswick) Nur bei SUT.TuneRuleHeat = 2 wird die Regelzone Retain.CtrlParams.Heat.ControlZone automatisch bei der Erstoptimierung Heizen eingestellt.

Page 447: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 446 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Datentyp Vorbelegung Beschreibung PIDSelfTune.SUT.TuneRuleCool INT 2 Methode für die PID Parameterberechnung bei Erstop-

timierung Kühlen Möglich sind: • SUT.TuneRuleCool = 0: PID nach CHR • SUT.TuneRuleCool = 1: PI nach CHR • SUT.TuneRuleCool = 2: PID für Temperaturprozesse

nach CHR (führt zu einem langsameren und eher asymptotischen Regelverhalten mit geringerem Überschwingen als SUT.TuneRuleCool = 0)

(CHR = Chien, Hrones und Reswick) Nur bei SUT.TuneRuleCool = 2 wird die Regelzone Retain.CtrlParams.Cool.ControlZone automatisch bei der Erstoptimierung Kühlen eingestellt. SUT.TuneRuleCool ist nur wirksam, falls der Kühlaus-gang und die PID-Parameterumschalung aktiviert sind (Config.ActivateCooling = TRUE, Con-fig.AdvancedCooling = TRUE).

PIDSelfTune.SUT.State INT 0 Die Variable SUT.State zeigt die aktuelle Phase der Erstoptimierung: • State = 0: Erstoptimierung initialisieren • State = 100: Standardabweichung Heizen berechnen • State = 200: Standardabweichung Kühlen berechnen • State = 300: Wendepunkt Heizen ermitteln • State = 400: Wendepunkt Kühlen ermitteln • State = 500: Nach Erreichen des Wendepunkts Hei-

zen auf Sollwert heizen • State = 600: Nach Erreichen des Wendepunkts Küh-

len auf Sollwert heizen • State = 700: Wirkung von Heizstellglied und Kühlstel-

lglied vergleichen • State = 800: Heizen und Kühlen aktiviert • State = 900: Kühlen aktiviert • State = 1000: Verzugszeit nach Abschaltung des

Heizens ermitteln • State = 9900: Erstoptimierung erfolgreich • State = 1: Erstoptimierung nicht erfolgreich

PIDSelfTune.SUT.ProcParHeatOk BOOL FALSE TRUE: Die Berechnung der Prozessparameter für die Erstoptimierung Heizen war erfolgreich. Diese Variable wird während der Optimierung gesetzt. Sie muss für die Berechnung der PID-Parameter für Heizen TRUE sein.

Page 448: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 447

Variable Datentyp Vorbelegung Beschreibung PIDSelfTune.SUT.ProcParCoolOk BOOL FALSE TRUE: Die Berechnung der Prozessparameter für die

Erstoptimierung Kühlen war erfolgreich. Diese Variable wird während der Optimierung gesetzt. Sie muss für die Berechnung der PID-Parameter für Kühlen TRUE sein.

PIDSelfTune.SUT .AdaptDelayTime

INT 0 Die Variable AdaptDelayTime bestimmt die Anpassung der Verzugszeit für Heizen am Arbeitspunkt (für "Erstop-timierung Heizen" und "Erstoptimierung Heizen und Kühlen"). Möglich sind: • SUT.AdaptDelayTime = 0:

Keine Anpassung der Verzugszeit. Die Phase SUT.State = 1000 wird übersprungen. Diese Option führt zu einer kürzeren Dauer der Optimierung als mit SUT.AdaptDelayTime = 1.

• SUT.AdaptDelayTime = 1:

Anpassung der Verzögerungszeit an den Sollwert in Phase SUT.State = 1000 durch vorübergehendes Ausschalten des Heizens.

Diese Option führt zu einer längeren Dauer der Op-timierung als mit SUT.AdaptDelayTime = 0. Sie kann das Regelverhalten verbessern, falls das Prozess-verhalten stark vom Arbeitspunkt abhängig ist (Nicht-linearität). Diese Option sollte für Mehrzonenanwendungen mit starken thermischen Kopplungen nicht verwendet werden.

Page 449: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 448 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Datentyp Vorbelegung Beschreibung PIDSelfTune.SUT.CoolingMode INT 0 Die Variable CoolingMode bestimmt die Stellwertausga-

be zur Ermittlung der Kühlparameter (bei Erstoptimie-rung Heizen und Kühlen). Möglich sind: • SUT.CoolingMode = 0:

Heizen ausschalten und Kühlen einschalten nach Er-reichen des Sollwerts.

Phase SUT.State = 700 wird übersprungen.

Auf Phase SUT.State = 500 folgt Phase SUT.State = 900.

Diese Option kann das Regelverhalten verbessern, falls die Verstärkung des Kühlstellglieds gegenüber der Verstärkung des Heizstellgliedes gering ist. Sie führt zu einer kürzeren Dauer der Optimierung als mit SUT.CoolingMode = 1 oder 2.

• SUT.CoolingMode = 1:

Kühlen zusätzlich zum Heizen einschalten nach Er-reichen des Sollwerts.

Phase SUT.State = 700 wird übersprungen.

Auf Phase SUT.State = 500 folgt Phase SUT.State = 800.

Diese Option kann das Regelverhalten verbessern, falls die Verstärkung des Kühlstellglieds gegenüber der Verstärkung des Heizstellgliedes groß ist.

• SUT.CoolingMode = 2:

Nach Aufheizen zum Sollwert wird in Phase SUT.State = 700 automatisch entschieden, ob die Heizung ausgeschaltet wird. Auf Phase SUT.State = 500 folgt Phase SUT.State = 700 und anschließend SUT.State = 800 oder SUT.State = 900.

Diese Option erfordert mehr Zeit, als die Optionen 0 und 1.

Page 450: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 449

Variable Datentyp Vorbelegung Beschreibung PIDSelfTune.TIR.RunIn BOOL FALSE Mit der Variable RunIn können Sie den Ablauf der

Nachoptimierung beim Start aus dem Automatikbetrieb festlegen. • RunIn = FALSE

Falls die Nachoptimierung aus dem Automatikbetrieb gestartet wird, wird mit den vorhandenen PID-Parametern auf den Sollwert geregelt (TIR.State = 500 oder 600). Erst dann startet die Nachoptimie-rung.

• RunIn = TRUE

PID_Temp versucht den Sollwert mit minimalem oder maximalen Ausgangswert zu erreichen (TIR.State = 300 oder 400). Das kann ein erhöhtes Überschwin-gen verursachen. Die Nachoptimierung startet an-schließend automatisch.

RunIn wird nach der Nachoptimierung auf FALSE ge-setzt. Beim Start der Nachoptimierung aus Inaktiv oder Hand-betrieb verhält sich PID_Temp wie unter RunIn = TRUE beschrieben.

PIDSelfTune.TIR .CalculateParamsHeat

BOOL FALSE Die Eigenschaften des Heizzweigs der Regelstrecke werden bei Nachoptimierung Heizen gespeichert. Falls TIR.CalculateParamsHeat = TRUE, werden anhand dieser Eigenschaften die PID Parameter für Heizen (Struktur Retain.CtrlParams.Heat) neu berechnet. Dadurch kann die Methode für die Parameterberech-nung (Parameter PIDSelfTune.TIR.TuneRuleHeat) ge-ändert werden, ohne die Optimierung zu wiederholen. TIR.CalculateParamsHeat wird nach der Berechnung auf FALSE gesetzt. Nur möglich, falls vorher die Nachoptimierung Heizen erfolgreich war (TIR.ProcParHeatOk = TRUE).

PIDSelfTune.TIR .CalculateParamsCool

BOOL FALSE Die Eigenschaften des Kühlzweigs der Regelstrecke werden bei Nachoptimierung Kühlen gespeichert. Falls TIR.CalculateParamsCool = TRUE, werden anhand dieser Eigenschaften die PID Parameter für Kühlen (Struktur Retain.CtrlParams.Cool) neu berechnet. Dadurch kann die Methode für die Parameterberech-nung (Parameter PIDSelfTune.TIR.TuneRuleCool) ge-ändert werden, ohne die Optimierung zu wiederholen. TIR.CalculateParamsCool wird nach der Berechnung auf FALSE gesetzt. Nur möglich, falls vorher die Nachoptimierung Kühlen erfolgreich war (TIR.ProcParCoolOk = TRUE). Nur wirksam, falls Config.ActivateCooling = TRUE und Config.AdvancedCooling = TRUE

Page 451: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 450 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Datentyp Vorbelegung Beschreibung PIDSelfTune.TIR.TuneRuleHeat INT 0 Methode für die Parameterberechnung während

Nachoptimierung Heizen Möglich sind: • TIR.TuneRuleHeat = 0: PID automatisch • TIR.TuneRuleHeat = 1: PID schnell (schnelleres

Regelverhalten mit höheren Amplituden des Aus-gangswerts als mit TIR.TuneRuleHeat = 2)

• TIR.TuneRuleHeat = 2: PID langsam (langsameres Regelverhalten mit geringeren Amplituden des Aus-gangswerts als mit TIR.TuneRuleHeat = 1)

• TIR.TuneRuleHeat = 3: ZN PID • TIR.TuneRuleHeat = 4: ZN PI • TIR.TuneRuleHeat = 5: ZN P (ZN=Ziegler-Nichols) Um die Berechnung der PID-Parameter für Heizen mit TIR.CalculateParamsHeat und TIR.TuneRuleHeat = 0, 1 oder 2 wiederholen zu können, muss auch die vorherge-hende Nachoptimierung mit TIR.TuneRuleHeat = 0, 1 oder 2 ausgeführt worden sein. Ist dies nicht der Fall, wird TIR.TuneRuleHeat = 3 verwendet. Die erneute Berechnung der PID-Parameter für Heizen mit TIR.CalculateParamsHeat und TIR.TuneRuleHeat = 3, 4 oder 5 ist immer möglich.

Page 452: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 451

Variable Datentyp Vorbelegung Beschreibung PIDSelfTune.TIR.TuneRuleCool INT 0 Methode für die Parameterberechnung während

Nachoptimierung Kühlen Möglich sind: • TIR.TuneRuleCool = 0: PID automatisch • TIR.TuneRuleCool = 1: PID schnell (schnelleres

Regelverhalten mit höheren Amplituden des Aus-gangswerts als mit TIR.TuneRuleCool = 2)

• TIR.TuneRuleCool = 2: PID langsam (langsameres Regelverhalten mit geringeren Amplituden des Aus-gangswerts als mit TIR.TuneRuleCool = 1)

• TIR.TuneRuleCool = 3: ZN PID • TIR.TuneRuleCool = 4: ZN PI • TIR.TuneRuleCool = 5: ZN P (ZN=Ziegler-Nichols) Um die Berechnung der PID-Parameter für Kühlen mit TIR.CalculateParamsCool und TIR.TuneRuleCool = 0, 1 oder 2 wiederholen zu können, muss auch die vorherge-hende Nachoptimierung mit TIR.TuneRuleCool = 0, 1 oder 2 ausgeführt worden sein. Ist dies nicht der Fall, wird TIR.TuneRuleCool = 3 verwendet. Die erneute Berechnung der PID-Parameter für Kühlen mit TIR.CalculateParamsCool und TIR.TuneRuleCool = 3, 4 oder 5 ist immer möglich. Nur wirksam, falls der Kühlausgang und die PID-Parameterumschalung aktiviert sind (ConfigActivateCoo-ling = TRUE und Config.AdvancedCooling = TRUE).

Page 453: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 452 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Datentyp Vorbelegung Beschreibung PIDSelfTune.TIR.State INT 0 Die Variable TIR.State zeigt die aktuelle Phase der

"Nachoptimierung": • State = 0: Nachoptimierung initialisieren • State = 100: Standardabweichung Heizen berechnen • State = 200: Standardabweichung Kühlen berechnen • State = 300: Versuchen Sollwert Heizen mit 2-Punkt-

Regelung Heizen zu erreichen • State = 400: Versuchen Sollwert Kühlen mit 2-Punkt-

Regelung Kühlen zu erreichen • State = 500: Versuchen Sollwert Heizen mit PID-

Regelung zu erreichen • State = 600: Versuchen Sollwert Kühlen mit PID-

Regelung zu erreichen • State = 700: Standardabweichung Heizen berechnen • State = 800: Standardabweichung Kühlen berechnen • State = 900: Oszillation ermitteln und Parameter für

Heizen berechnen • State = 1000: Oszillation ermitteln und Parameter für

Kühlen berechnen • State = 9900: Nachoptimierung erfolgreich • State = 1: Nachoptimierung nicht erfolgreich

PIDSelfTune.TIR.ProcParHeatOk BOOL FALSE TRUE: Die Berechnung der Prozessparameter für die Nachoptimierung Heizen war erfolgreich. Diese Variable wird während der Optimierung gesetzt. Sie muss für die Berechnung der PID-Parameter für Heizen erfüllt sein.

PIDSelfTune.TIR.ProcParCoolOk BOOL FALSE TRUE: Die Berechnung der Prozessparameter für die Nachoptimierung Kühlen war erfolgreich. Diese Variable wird während der Optimierung gesetzt. Sie muss für die Berechnung der PID-Parameter für Kühlen erfüllt sein.

Page 454: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 453

Variable Datentyp Vorbelegung Beschreibung PIDSelfTune.TIR .OutputOffsetHeat

REAL 0.0 Optimierungsoffset Heizen des PID Ausgangswerts TIR.OutputOffsetHeat wird zum Wert addiert, der sich aus PidOutputSum für den Heizzweig ergibt. Geben Sie, um einen positiven Offset an den Ausgän-gen für Heizen zu erhalten, einen positiven Wert für TIR.OutputOffsetHeat vor. Die resultierenden Werte an den Ausgängen für Heizen ergeben sich aus der konfigurierten Ausgangsskalierung (Struktur Config.Output.Heat). Dieser Optimierungsoffset kann bei Reglern mit aktivier-tem Kühlausgang und PID-Parameterumschaltung (Con-fig.ActivateCooling = TRUE, Config.AdvancedCooling = TRUE) für die Nachoptimierung Kühlen genutzt werden. Falls die Ausgänge für Kühlen am Sollwert, an dem die Optimierung durchgeführt werden soll, nicht aktiv sind (PidOutputSum > 0.0), ist die Nachoptimierung Kühlen nicht möglich. Geben Sie in diesem Fall vor dem Start der Optimierung einen positiven Optimierungsoffset Heizen vor, der größer ist als der PID Ausgangswert (PidOutputSum) am Sollwert im stationären Zustand. Dadurch werden die Werte an den Ausgängen für Hei-zen vergrößert und die Ausgänge für Kühlen aktiv (Pid-OutputSum < 0.0). Damit ist die Nachoptimierung Kühlen möglich. Wenn die Nachoptimierung beendet ist, wird TIR.OutputOffsetHeat auf 0.0 zurückgesetzt. Große Änderungen an TIR.OutputOffsetHeat in einem Schritt können zu vorübergehenden Überschwingern führen. Config.Output.Heat.PidUpperLimit ≥ PIDSe-lfTune.TIR.OutputOffsetHeat ≥ Config .Output.Heat.PidLowerLimit

Page 455: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 454 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Datentyp Vorbelegung Beschreibung PIDSelfTune.TIR .OutputOffsetCool

REAL 0.0 Optimierungsoffset Kühlen des PID Ausgangswerts TIR.OutputOffsetCool wird zum Wert addiert, der sich aus PidOutputSum für den Kühlzweig ergibt. Geben Sie, um einen positiven Offset an den Ausgän-gen für Kühlen zu erhalten, einen negativen Wert für TIR.OutputOffsetCool vor. Die resultierenden Werte an den Ausgängen für Kühlen ergeben sich aus der konfigurierten Ausgangsskalierung (Struktur Config.Output.Coool). Dieser Optimierungsoffset kann bei Reglern mit aktivier-tem Kühlausgang (Config.ActivateCooling = TRUE) für die Nachoptimierung Heizen genutzt werden. Falls die Ausgänge für Heizen am Sollwert, an dem die Optimie-rung durchgeführt werden soll, nicht aktiv sind (PidOut-putSum < 0.0), ist die Nachoptimierung Heizen nicht möglich. Geben Sie in diesem Fall vor dem Start der Optimierung einen negativen Optimierungsoffset Kühlen vor, der kleiner ist als der PID Ausgangswert (PidOut-putSum) am Sollwert im stationären Zustand. Dadurch werden die Werte an den Ausgängen für Kühlen vergrö-ßert und die Ausgänge für Heizen aktiv (PidOutputSum > 0.0). Damit ist die Nachoptimierung Heizen möglich. Wenn die Nachoptimierung beendet ist, wird TIR.OutputOffsetCool auf 0.0 zurückgesetzt. Große Änderungen an TIR.OutputOffsetCool in einem Schritt können zu vorübergehenden Überschwingern führen. Config.Output.Cool.PidUpperLimit ≥ PIDSelfTune .TIR.OutputOffsetCool ≥ Config.Output.Cool .PidLowerLimit

PIDSelfTune.TIR .WaitForControlIn

BOOL FALSE Warten bei Nachoptimierung nach Erreichen des Soll-werts Falls TIR.WaitForControlIn = TRUE, wird bei Nachopti-mierung zwischen Erreichen des Sollwerts (TIR.State = 500 oder 600) und Berechnung der Standardabwei-chung (TIR.State = 700 oder 800) gewartet, bis an TIR.FinishControlIn eine Flanke FALSE -> TRUE vorge-geben wird. TIR.WaitForControlIn kann bei gleichzeitiger Nachopti-mierung mehrerer Regler in Mehrzonenanwendungen genutzt werden, um die Optimierungen der einzelnen Zonen zu synchronisieren. Damit kann sichergestellt werden, dass alle Zonen ihre Sollwerte erreicht haben, bevor die eigentliche Optimierung startet. Auf diese Weise wird der Einfluss thermischer Kopplungen zwi-schen den Zonen auf die Optimierung verringert. TIR.WaitForControlIn ist nur wirksam, falls die Nachop-timierung aus dem Automatikbetrieb heraus mit PIDSe-lfTune.TIR.RunIn = FALSE gestartet wird.

Page 456: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 455

Variable Datentyp Vorbelegung Beschreibung PIDSelfTune.TIR.ControlInReady BOOL FALSE Falls TIR.WaitForControlIn = TRUE, setzt PID_Temp

TIR.ControlInReady = TRUE, sobald der Sollwert er-reicht ist und wartet mit weiteren Optimierungsschritten bis eine Flanke FALSE -> TRUE an TIR.FinishControlIn vorgegeben wird.

PIDSelfTune.TIR.FinishControlIn BOOL FALSE Falls TIR.ControlInReady = TRUE, beendet eine Flanke FALSE -> TRUE an TIR.FinishControlIn das Warten und die Nachoptimierung wird fortgeführt.

PIDCtrl.IOutputOld(1) REAL 0.0 I-Anteil im letzten Zyklus PIDCtrl.PIDInit BOOL FALSE PIDCtrl.PIDInit ist ab PID_Temp Version 1.1 verfügbar.

Falls im "Automatikbetrieb" PIDCtrl.PIDInit = TRUE, wird der Integral-Anteil PIDCtrl.IOutputOld automatisch so vorbelegt, als ob im vorherigen Zyklus PidOutputSum = OverwriteInitialOutputValue gewesen wäre. Dies kann für eine Ablöseregelung mit PID_Temp (Seite 216) ge-nutzt werden.

Retain.CtrlParams.SetByUser(1) BOOL FALSE Werden die PID Parameter im Konfigurationseditor von Hand eingegeben, wird SetByUser = TRUE gesetzt. Dieser Parameter dient der Anzeige in den Editoren und beeinflusst den Regelalgorithmus nicht. SetByUser ist remanent.

Retain.CtrlParams.Heat.Gain(1) REAL 1.0 Aktive Proportionalverstärkung für Heizen Heat.Gain ist remanent. Heat.Gain ≥ 0.0

Retain..CtrlParams.Heat.Ti(1) REAL 20.0 Aktive Integrationszeit für Heizen in Sekunden Mit Heat.CtrlParams.Ti = 0.0 ist der I-Anteil für Heizen ausgeschaltet. Heat.Ti ist remanent. 100000.0 ≥ Heat.Ti ≥ 0.0

Retain.CtrlParams.Heat.Td(1) REAL 0.0 Aktive Differenzierzeit für Heizen in Sekunden Mit Heat.CtrlParams.Td = 0.0 ist der D-Anteil für Heizen ausgeschaltet. Heat.Td ist remanent. 100000.0 ≥ Heat.Td ≥ 0.0

Retain.CtrlParams.Heat .TdFiltRatio(1)

REAL 0.2 Aktiver Koeffizient Differenzierverzug für Heizen Die Wirkung des D-Anteils wird durch den Koeffizienten Differenzierverzug verzögert. Differenzierverzug = Differenzierzeit × Koeffizient Diffe-renzierverzug • 0.0: D-Anteil wirkt nur für einen Zyklus und ist damit

fast nicht wirksam. • 0.5: Dieser Wert hat sich in der Praxis für Regelstre-

cken mit einer dominierenden Zeitkonstanten be-währt.

• > 1.0: Je größer der Koeffizient, desto stärker wird die Wirkung des D-Anteils verzögert.

Heat.TdFiltRatio ist remanent. Heat.TdFiltRatio ≥ 0.0

Page 457: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 456 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Datentyp Vorbelegung Beschreibung Retain.CtrlParams.Heat .PWeighting(1)

REAL 1.0 Aktive Gewichtung des P-Anteils für Heizen Sie können bei Sollwertänderungen den P-Anteil ab-schwächen. Sinnvoll sind Werte von 0.0 bis 1.0. • 1.0: P-Anteil bei Sollwertänderung voll wirksam • 0.0: P-Anteil bei Sollwertänderung nicht wirksam Bei Änderung des Istwerts ist der P-Anteil immer voll wirksam. Heat.PWeighting ist remanent. 1.0 ≥ Heat.PWeighting ≥ 0.0

Retain.CtrlParams.Heat .DWeighting(1)

REAL 1.0 Aktive Gewichtung des D-Anteils für Heizen Sie können bei Sollwertänderungen den D-Anteil ab-schwächen. Sinnvoll sind Werte von 0.0 bis 1.0. • 1.0: D-Anteil bei Sollwertänderung voll wirksam • 0.0: D-Anteil bei Sollwertänderung nicht wirksam Bei Änderung des Istwerts ist der D-Anteil immer voll wirksam. Heat.DWeighting ist remanent. 1.0 ≥ Heat.DWeighting ≥ 0.0

Retain.CtrlParams.Heat.Cycle(1) REAL 1.0 Aktive Abtastzeit des PID-Algorithmus für Heizen in Sekunden CtrlParams.Heat.Cycle wird während der Optimierung ermittelt und zu einem ganzzahligen Vielfachen von CycleTime.Value aufgerundet. Falls Config.Output.Heat.PwmPeriode = 0.0, wird He-at.Cycle als Periodendauer der Pulsweitenmodulation für Heizen verwendet. Falls Config.Output.Cool.PwmPeriode = 0.0 und Config .AdvancedCooling = FALSE, wird Heat.Cycle als Perio-dendauer der Pulsweitenmodulation für Kühlen verwen-det. Heat.Cycle ist remanent. 100000.0 ≥ Heat.Cycle > 0.0

Page 458: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 457

Variable Datentyp Vorbelegung Beschreibung Retain.CtrlParams.Heat .ControlZone(1)

REAL 3.402822e+38 Aktive Regelzonenbreite für Heizen Mit Heat.ControlZone = 3.402822e+38 ist die Regelzone für Heizen ausgeschaltet. Heat.ControlZone wird nur während Erstoptimierung Heizen oder Erstoptimierung Heizen und Kühlen auto-matisch eingestellt, falls als Methode der Parameterbe-rechnung PIDSelfTune.SUT.TuneRuleHeat = 2 gewählt ist. Für Regler mit deaktiviertem Kühlausgang (Config .ActivateCooling = FALSE) oder Regler mit aktiviertem Kühlausgang und Kühlfaktor (Config.AdvancedCooling = FALSE) liegt die Regelzone symmetrisch zwischen Set-point – Heat.ControlZone und Setpoint + Heat .ControlZone. Für Regler mit aktiviertem Kühlausgang und PID-Parameterumschaltung (Config.ActivateCooling = TRUE, Config.AdvancedCooling = TRUE) liegt die Regelzone zwischen Setpoint – Heat.ControlZone und Setpoint + Cool.ControlZone. Heat.ControlZone ist remanent. Heat.ControlZone > 0.0

Retain.CtrlParams.Heat .DeadZone(1)

REAL 0.0 Aktive Totzonenbreite für Heizen (siehe PID-Parameter (Seite 187)) Mit Heat.DeadZone = 0.0 ist die Totzone für Heizen ausgeschaltet. Heat.DeadZone wird nicht automatisch eingestellt oder während der Optimierung angepasst. Sie müssen Heat .DeadZone manuell korrekt konfigurieren. Bei eingeschalteter Totzone kann sich eine dauerhafte Regeldifferenz (Abweichung zwischen Sollwert und Istwert) einstellen. Dies kann sich negativ auf die Durch-führung einer Nachoptimierung auswirken. Für Regler mit deaktiviertem Kühlausgang (Config .ActivateCooling = FALSE) oder Regler mit aktiviertem Kühlausgang und Kühlfaktor (Config.AdvancedCooling = FALSE) liegt die Totzone symmetrisch zwischen Set-point – Heat.DeadZone und Setpoint + Heat.DeadZone. Für Regler mit aktiviertem Kühlausgang und PID-Parameterumschaltung (Config.ActivateCooling = TRUE, Config.AdvancedCooling = TRUE) liegt die Totzone zwischen Setpoint – Heat.DeadZone und Setpoint + Cool.DeadZone. Heat.DeadZone ist remanent. Heat.DeadZone ≥ 0.0

Retain.CtrlParams.Cool.Gain(1) REAL 1.0 Aktive Proportionalverstärkung für Kühlen Cool.Gain ist remanent. Nur wirksam, falls der Kühlausgang und die PID-Parameterumschaltung aktiviert sind (Config .ActivateCooling = TRUE, Config.AdvancedCooling = TRUE). Cool.Gain ≥ 0.0

Page 459: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 458 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Datentyp Vorbelegung Beschreibung Retain.CtrlParams.Cool.Ti(1) REAL 20.0 Aktive Integrationszeit für Kühlen in Sekunden

Mit Cool.CtrlParams.Ti = 0.0 ist der I-Anteil für Kühlen ausgeschaltet. Cool.Ti ist remanent. Nur wirksam, falls der Kühlausgang und die PID-Parameterumschaltung aktiviert sind (Config .ActivateCooling = TRUE, Config.AdvancedCooling = TRUE). 100000.0 ≥ Cool.Ti ≥ 0.0

Retain.CtrlParams.Cool.Td(1) REAL 0.0 Aktive Differenzierzeit für Kühlen in Sekunden Mit Cool.CtrlParams.Td = 0.0 ist der D-Anteil für Kühlen ausgeschaltet. Cool.Td ist remanent. Nur wirksam, falls der Kühlausgang und die PID-Parameterumschaltung aktiviert sind (Config .ActivateCooling = TRUE, Config.AdvancedCooling = TRUE). 100000.0 ≥ Cool.Td ≥ 0.0

Retain.CtrlParams.Cool .TdFiltRatio(1)

REAL 0.2 Aktiver Koeffizient Differenzierverzug für Kühlen Die Wirkung des D-Anteils wird durch den Koeffizienten Differenzierverzug verzögert. Differenzierverzug = Differenzierzeit × Koeffizient Diffe-renzierverzug • 0.0: D-Anteil wirkt nur für einen Zyklus und ist damit

fast nicht wirksam. • 0.5: Dieser Wert hat sich in der Praxis für Regelstre-

cken mit einer dominierenden Zeitkonstanten be-währt.

• > 1.0: Je größer der Koeffizient, desto stärker wird die Wirkung des D-Anteils verzögert.

Cool.TdFiltRatio ist remanent. Nur wirksam, falls der Kühlausgang und die PID-Parameterumschaltung aktiviert sind (Config .ActivateCooling = TRUE, Config.AdvancedCooling = TRUE). Cool.TdFiltRatio ≥ 0.0

Page 460: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 459

Variable Datentyp Vorbelegung Beschreibung Retain.CtrlParams.Cool .PWeighting(1)

REAL 1.0 Aktive Gewichtung des P-Anteils für Kühlen Sie können bei Sollwertänderungen den P-Anteil ab-schwächen. Sinnvoll sind Werte von 0.0 bis 1.0. • 1.0: P-Anteil bei Sollwertänderung voll wirksam • 0.0: P-Anteil bei Sollwertänderung nicht wirksam Bei Änderung des Istwerts ist der P-Anteil immer voll wirksam. Cool.PWeighting ist remanent. Nur wirksam, falls der Kühlausgang und die PID-Parameterumschaltung aktiviert sind (Config .ActivateCooling = TRUE, Config.AdvancedCooling = TRUE). 1.0 ≥ Cool.PWeighting ≥ 0.0

Retain.CtrlParams.Cool .DWeighting(1)

REAL 1.0 Aktive Gewichtung des D-Anteils für Kühlen Sie können bei Sollwertänderungen den D-Anteil ab-schwächen. Sinnvoll sind Werte von 0.0 bis 1.0. • 1.0: D-Anteil bei Sollwertänderung voll wirksam • 0.0: D-Anteil bei Sollwertänderung nicht wirksam Bei Änderung des Istwerts ist der D-Anteil immer voll wirksam. Cool.DWeighting ist remanent. Nur wirksam, falls der Kühlausgang und die PID-Parameterumschaltung aktiviert sind (Config .ActivateCooling = TRUE, Config.AdvancedCooling = TRUE). 1.0 ≥ Cool.DWeighting ≥ 0.0

Retain.CtrlParams.Cool.Cycle(1) REAL 1.0 Aktive Abtastzeit des PID-Algorithmus für Kühlen in Sekunden CtrlParams.Cool.Cycle wird während der Optimierung ermittelt und zu einem ganzzahligen Vielfachen von CycleTime.Value aufgerundet. Falls Config.Output.Cool.PwmPeriode = 0.0 und Config .AdvancedCooling = TRUE, wird Cool.Cycle als Perio-dendauer der Pulsweitenmodulation für Kühlen verwen-det. Falls Config.Output.Cool.PwmPeriode = 0.0 und Config .AdvancedCooling = FALSE, wird Heat.Cycle als Perio-dendauer der Pulsweitenmodulation für Kühlen verwen-det. Cool.Cycle ist remanent. Nur wirksam, falls der Kühlausgang und die PID-Parameterumschaltung aktiviert sind (Config .ActivateCooling = TRUE, Config.AdvancedCooling = TRUE). 100000.0 ≥ Cool.Cycle > 0.0

Page 461: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 460 Funktionshandbuch, 11/2019, A5E35300226-AE

Variable Datentyp Vorbelegung Beschreibung Retain.CtrlParams.Cool .ControlZone(1)

REAL 3.402822e+38 Aktive Regelzonenbreite für Kühlen Mit Cool.ControlZone = 3.402822e+38 ist die Regelzone für Kühlen ausgeschaltet. Cool.ControlZone wird nur während Erstoptimierung Kühlen oder Erstoptimierung Heizen und Kühlen auto-matisch eingestellt, falls als Methode der Parameterbe-rechnung PIDSelfTune.SUT.TuneRuleCool = 2 gewählt ist. Cool.ControlZone ist remanent. Nur wirksam, falls der Kühlausgang und die PID-Parameterumschaltung aktiviert sind (Config .ActivateCooling = TRUE, Config.AdvancedCooling = TRUE). Cool.ControlZone > 0.0

Retain.CtrlParams.Cool .DeadZone(1)

REAL 0.0 Aktive Totzonenbreite für Kühlen (siehe PID-Parameter (Seite 187)) Mit Cool.DeadZone = 0.0 ist die Totzone für Kühlen ausgeschaltet. Cool.DeadZone wird nicht automatisch eingestellt oder während der Optimierung angepasst. Sie müssen Cool.DeadZone manuell korrekt konfigurieren. Bei eingeschalteter Totzone kann sich eine dauerhafte Regeldifferenz (Abweichung zwischen Sollwert und Istwert) einstellen. Dies kann sich negativ auf die Durch-führung einer Nachoptimierung auswirken. Cool.DeadZone ist remanent. Nur wirksam, falls der Kühlausgang und die PID-Parameterumschaltung aktiviert sind (Config .ActivateCooling = TRUE, Config.AdvancedCooling = TRUE). Cool.DeadZone ≥ 0.0

Siehe auch Variable ActivateRecoverMode PID_Temp (Seite 472)

Variable Warning PID_Temp (Seite 474)

Mehrzonenregelung mit PID_Temp (Seite 213)

Page 462: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 461

9.3.4.7 Parameter State und Mode PID_Temp

Zusammenhang der Parameter Der Parameter State zeigt die aktuelle Betriebsart des PID-Reglers. Sie können den Parameter State nicht ändern.

Mit einer steigenden Flanke an ModeActivate wechselt PID_Temp in die Betriebsart, die am Durchgangsparameter Mode gespeichert ist.

Heat.EnableTuning und Cool.EnableTuning legen für Erstoptimierung und Nachoptimierung fest, ob die Optimierung für Heizen oder Kühlen durchgeführt wird.

Falls die CPU eingeschaltet wird oder von Stopp in RUN wechselt, startet PID_Temp in der Betriebsart, die an Mode gespeichert ist. Um PID_Temp in der Betriebsart "Inaktiv" zu belassen, setzen Sie RunModeByStartup = FALSE.

Page 463: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 462 Funktionshandbuch, 11/2019, A5E35300226-AE

Bedeutung der Werte State / Mode Beschreibung der Betriebsart 0 Inaktiv

In der Betriebsart "Inaktiv" werden folgende Ausgangswerte ausgegeben: • 0.0 als PID Ausgangswert (PidOutputSum) • 0.0 als Ausgangswert für Heizen (OutputHeat) und Ausgangswert für Kühlen (OutputCool) • 0 als analoger Ausgangswert für Heizen (OutputHeat_PER) und analoger Ausgangswert für Kühlen

(OutputCool_PER) • FALSE als PWM Ausgangswert für Heizen (OutputHeat_PWM) und PWM Ausgangswert für Kühlen

(OutputCool_PWM) Dies ist unabhängig von den konfigurierten Ausgangswertgrenzen und –skalierung in den Strukturen Con-fig.Output.Heat und Config.Output.Cool.

1 Erstoptimierung Die Erstoptimierung ermittelt die Prozessantwort auf einen Sprung des Ausgangswerts und sucht den Wendepunkt. Aus der maximalen Steigung und der Totzeit der Regelstrecke werden die PID-Parameter berechnet. Die besten PID-Parameter erhalten Sie, wenn Sie Erst- und Nachoptimierung durchführen. PID_Temp bietet abhängig von der Konfiguration verschiedene Erstoptimierungsarten: • Erstoptimierung Heizen:

Es wird ein Sprung am Ausgangswert Heizen ausgegeben, die PID-Parameter für Heizen werden be-rechnet (Struktur Retain.CtrlParams.Heat) und anschließend wird im Automatikbetrieb auf den Sollwert geregelt.

Ist das Prozessverhalten stark vom Arbeitspunkt abhängig, kann mit PIDSelfTune.SUT.AdaptDelayTime eine Anpassung der Verzugszeit am Sollwert aktiviert werden.

• Erstoptimierung Heizen und Kühlen:

Es wird ein Sprung am Ausgangswert Heizen ausgegeben. Sobald sich der Istwert in der Nähe des Sollwerts befindet, wird ein Sprung am Ausgangswert Kühlen ausgegeben. Die PID-Parameter für Hei-zen (Struktur Retain.CtrlParams.Heat) und Kühlen (Struktur Retain.CtrlParams.Cool) werden berechnet. Anschließend wird im Automatikbetrieb auf den Sollwert geregelt.

Ist das Prozessverhalten stark vom Arbeitspunkt abhängig, kann mit PIDSelfTune.SUT.AdaptDelayTime eine Anpassung der Verzugszeit am Sollwert aktiviert werden.

Abhängig von der Wirkung des Kühlstellgliedes im Vergleich zum Heizstellglied kann die Qualität der Optimierung beeinflusst werden, indem während der Optimierung Heiz- und Kühlausgang gleichzeitig betrieben werden oder nicht. Dies können Sie mit PIDSelfTune.SUT.CoolingMode festlegen.

• Erstoptimierung Kühlen:

Es wird ein Sprung am Ausgangswert Kühlen ausgegeben und die PID-Parameter für Kühlen werden berechnet (Struktur Retain.CtrlParams.Cool). Anschließend wird im Automatikbetrieb auf den Sollwert geregelt.

Falls Sie die PID-Parameter für Heizen und Kühlen optimieren wollen, können Sie bei Durchführung einer "Erstoptimierung Heizen" und anschließender "Erstoptimierung Kühlen" ein besseres Regelverhalten erwar-ten als bei Durchführung einer "Erstoptimierung Heizen und Kühlen". Die Durchführung der Erstoptimierung in zwei Schritten erfordert jedoch mehr Zeit.

Page 464: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 463

State / Mode Beschreibung der Betriebsart 1 (Fortset-zung)

Allgemeine Voraussetzungen für die Erstoptimierung: • Die Anweisung PID_Temp wird in einem Weckalarm-OB aufgerufen. • Betriebsart Inaktiv (State = 0), Handbetrieb (State = 4) oder Automatikbetrieb (State = 3) • ManualEnable = FALSE • Reset = FALSE • Der Sollwert und der Istwert befinden sich innerhalb der konfigurierten Grenzen. Voraussetzungen für Erstoptimierung Heizen: • Heat.EnableTuning = TRUE • Cool.EnableTuning = FALSE • Der Istwert darf nicht zu nah am Sollwert sein.

|Setpoint - Input| > 0.3 * |Config.InputUpperLimit - Config.InputLowerLimit| und

|Setpoint - Input| > 0.5 * |Setpoint| • Der Sollwert ist größer als der Istwert.

Setpoint > Input Voraussetzungen für Erstoptimierung Heizen und Kühlen: • Heat.EnableTuning = TRUE· • Cool.EnableTuning = TRUE • Der Kühlausgang ist aktiviert (Config.ActivateCooling = TRUE).· • Die PID-Parameterumschaltung ist aktiviert (Config.AdvancedCooling = TRUE). • Der Istwert darf nicht zu nah am Sollwert sein.

|Setpoint - Input| > 0.3 * |Config.InputUpperLimit - Config.InputLowerLimit| und

|Setpoint - Input| > 0.5 * |Setpoint| • Der Sollwert ist größer als der Istwert.

Setpoint > Input Voraussetzungen für Erstoptimierung Kühlen: • Heat.EnableTuning = FALSE· • Cool.EnableTuning = TRUE· • Der Kühlausgang ist aktiviert (Config.ActivateCooling = TRUE). • Die PID-Parameterumschaltung ist aktiviert (Config.AdvancedCooling = TRUE). • Eine "Erstoptimierung Heizen" oder "Erstoptimierung Heizen und Kühlen" wurde erfolgreich durchge-

führt (PIDSelfTune.SUT.ProcParHeatOk = TRUE), möglichst am gleichen Sollwert. • Der Istwert muss nah am Sollwert sein.

|Setpoint - Input| < 0.05 * |Config.InputUpperLimit - Config.InputLowerLimit|

Page 465: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 464 Funktionshandbuch, 11/2019, A5E35300226-AE

State / Mode Beschreibung der Betriebsart 1 (Fortset-zung)

Je stabiler der Istwert ist, desto leichter und genauer können die PID-Parameter ermittelt werden. Ein Rau-schen des Istwerts ist solange akzeptabel, wie der Anstieg des Istwerts signifikant größer ist als das Rau-schen. Dies ist am ehesten in den Betriebsarten "Inaktiv" oder "Handbetrieb" gegeben. Der Sollwert wird in der Variablen CurrentSetpoint eingefroren. Die Optimierung wird abgebrochen, wenn gilt: • Setpoint > CurrentSetpoint + CancelTuningLevel

oder • Setpoint < CurrentSetpoint - CancelTuningLevel Die Methode zur Berechnung der PID-Parameter kann mit PIDSelfTune.SUT.TuneRuleHeat und PIDSe-lfTune.SUT.TuneRuleCool für Heizen und Kühlen getrennt festgelegt werden. Bevor die PID-Parameter neu berechnet werden, werden die PID-Parameter in der Struktur CtrlParamsBa-ckUp gesichert und können mit LoadBackUp reaktiviert werden. Nach erfolgreicher Erstoptimierung wird in den Automatikbetrieb geschaltet. Nach erfolgloser Erstoptimierung ist der Wechsel der Betriebsart abhängig von ActivateRecoverMode. Die Phase der Erstoptimierung wird mit PIDSelfTune.SUT.State angezeigt.

2 Nachoptimierung Die Nachoptimierung generiert eine konstante, begrenzte Schwingung des Istwerts. Aus Amplitude und Frequenz dieser Schwingung werden die PID-Parameter für den Arbeitspunkt optimiert. Die PID-Parameter aus der Nachoptimierung zeigen meist ein besseres Führungs- und Störverhalten als die PID-Parameter aus der Erstoptimierung. Die besten PID-Parameter erhalten Sie, wenn Sie Erst- und Nachoptimierung durchführen. PID_Temp versucht automatisch eine Schwingung zu erzeugen, die größer ist als das Rauschen des Ist-werts. Die Nachoptimierung wird nur geringfügig von der Stabilität des Istwerts beeinflusst. PID_Temp bietet abhängig von der Konfiguration verschiedene Nachoptimierungsarten: • Nachoptimierung Heizen:

PID_Temp erzeugt mit periodischen Änderungen am Ausgangswert Heizen eine Schwingung des Ist-werts und berechnet die PID-Parameter für Heizen (Struktur Retain.CtrlParams.Heat).

• Nachoptimierung Kühlen:

PID_Temp erzeugt mit periodischen Änderungen am Ausgangswert Kühlen eine Schwingung des Ist-werts und berechnet die PID-Parameter für Kühlen (Struktur Retain.CtrlParams.Cool).

Page 466: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 465

State / Mode Beschreibung der Betriebsart 2 (Fortset-zung)

Vorübergehender Optimierungsoffset für Heizkühlregler Wird PID_Temp als Heizkühlregler eingesetzt (Config.ActivateCooling = TRUE) muss der PID Ausgangs-wert (PidOutputSum) am Sollwert folgende Voraussetzung erfüllen, damit eine Istwertschwingung erzeugt und die Nachoptimierung erfolgreich durchgeführt werden kann: • Positiver PID Ausgangswert für Nachoptimierung Heizen • Negativer PID Ausgangswert für Nachoptimierung Kühlen Ist diese Voraussetzung nicht erfüllt, können Sie einen vorübergehenden Offset für die Nachoptimierung vorgeben, der am entgegengesetzt wirkenden Ausgang ausgegeben wird: • Offset für Kühlausgang (PIDSelfTune.TIR.OutputOffsetCool) bei Nachoptimierung Heizen.

Geben Sie vor dem Start der Optimierung einen negativen Optimierungsoffset Kühlen vor, der kleiner ist als der PID Ausgangswert (PidOutputSum) am Sollwert im stationären Zustand.

• Offset für Heizausgang (PIDSelfTune.TIR.OutputOffsetHeat) bei Nachoptimierung Kühlen.

Geben Sie vor dem Start der Optimierung einen positiven Optimierungsoffset Heizen vor, der größer ist als der PID Ausgangswert (PidOutputSum) am Sollwert im stationären Zustand.

Der vorgegebene Offset wird dann vom PID-Algorithmus ausgeglichen, sodass der Istwert am Sollwert verbleibt. Durch die Höhe des Offsets kann somit der PID Ausgangswert entsprechend angepasst werden, damit er oben genannte Voraussetzung erfüllt. Um größere Überschwinger des Istwerts bei Vorgabe des Offsets zu vermeiden, kann dieser auch in meh-reren Schritten erhöht werden. Verlässt PID_Temp die Betriebsart Nachoptimierung, wird der Optimierungsoffset zurückgesetzt. Beispiel für Vorgabe eines Offsets für Nachoptimierung Kühlen: • Ohne Offset:

– Sollwert (Setpoint) = Istwert (ScaledInput) = 80°C – PID Ausgangswert (PidOutputSum) = 30.0 – Ausgangswert Heizen (OutputHeat) = 30.0 – Ausgangswert Kühlen (OutputCool) = 0.0

Eine Schwingung des Istwerts um den Sollwert kann mit dem Kühlausgang alleine nicht erzeugt werden.

Die Nachoptimierung würde hier fehlschlagen. • Mit Vorgabe eines Offsets für Heizausgang (PIDSelfTune.TIR.OutputOffsetHeat) = 80.0

– Sollwert (Setpoint) = Istwert (ScaledInput) = 80°C – PID Ausgangswert (PidOutputSum) = -50.0 – Ausgangswert Heizen (OutputHeat) = 80.0 – Ausgangswert Kühlen (OutputCool) = -50.0

Durch die Vorgabe eines Offsets für den Heizausgang kann der Kühlausgang nun eine Schwingung des Istwerts um den Sollwert erzeugen.

Die Nachoptimierung kann somit erfolgreich durchgeführt werden.

Page 467: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 466 Funktionshandbuch, 11/2019, A5E35300226-AE

State / Mode Beschreibung der Betriebsart 2 (Fortset-zung)

Allgemeine Voraussetzungen für Nachoptimierung: • Die Anweisung PID_Temp wird in einem Weckalarm-OB aufgerufen. • Es werden keine Störungen erwartet. • Der Sollwert und der Istwert befinden sich innerhalb der konfigurierten Grenzen. • Der Regelkreis ist am Arbeitspunkt eingeschwungen. Der Arbeitspunkt ist erreicht, wenn der Istwert

dem Sollwert entspricht.

Bei eingeschalteter Totzone kann sich eine dauerhafte Regeldifferenz (Abweichung zwischen Sollwert und Istwert) einstellen. Dies kann sich negativ auf die Durchführung der Nachoptimierung auswirken.

• ManualEnable = FALSE • Reset = FALSE • Betriebsart Automatikbetrieb (State = 3), Inaktiv (State = 0) oder Handbetrieb (State = 4) Voraussetzungen für Nachoptimierung Heizen: • Heat.EnableTuning = TRUE • Cool.EnableTuning = FALSE • Wenn PID_Temp als Heizkühlregler konfiguriert ist (Config.ActivateCooling = TRUE), muss am Arbeits-

punkt, an dem die Optimierung durchgeführt werden soll, der Heizausgang aktiv sein (PidOutputSum > 0.0 (siehe Optimierungsoffset)).

Voraussetzungen für Nachoptimierung Kühlen: • Heat.EnableTuning = FALSE • Cool.EnableTuning = TRUE • Der Kühlausgang ist aktiviert (Config.ActivateCooling = TRUE). • Die PID-Parameterumschaltung ist aktiviert (Config.AdvancedCooling = TRUE) • Der Kühlausgang muss am Arbeitspunkt, an dem die Optimierung durchgeführt werden soll, aktiv sein

(PidOutputSum < 0.0 (siehe Optimierungsoffset)). Der Ablauf der Nachoptimierung ist abhängig von der Betriebsart, aus der sie gestartet wird: • Automatikbetrieb (State = 3) mit PIDSelfTune.TIR.RunIn = FALSE (Vorbelegung)

Falls Sie die vorhandenen PID-Parameter durch die Optimierung verbessern wollen, starten Sie die Nachoptimierung aus dem Automatikbetrieb.

PID_Temp regelt solange mit den vorhandenen PID-Parametern, bis der Regelkreis eingeschwungen ist und die Voraussetzungen für eine Nachoptimierung erfüllt sind. Erst dann startet die Nachoptimierung.

• Inaktiv (State = 0), Handbetrieb (State = 4) oder Automatikbetrieb (State = 3) mit PIDSe-lfTune.TIR.RunIn = TRUE

Es wird versucht den Sollwert mit minimalem oder maximalem Ausgangswert zu erreichen: – mit minimalem oder maximalem Ausgangswert Heizen bei Nachoptimierung Heizen – mit minimalem oder maximalem Ausgangswert Kühlen bei Nachoptimierung Kühlen.

Das kann ein erhöhtes Überschwingen verursachen. Ist der Sollwert erreicht startet die Nachoptimie-rung.

Falls der Sollwert nicht erreicht werden kann, bricht PID_Temp die Optimierung nicht automatisch ab.

Page 468: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 467

State / Mode Beschreibung der Betriebsart 2 (Fortset-zung)

Der Sollwert wird in der Variablen CurrentSetpoint eingefroren. Die Optimierung wird abgebrochen, wenn gilt: • Setpoint > CurrentSetpoint + CancelTuningLevel

oder • Setpoint < CurrentSetpoint - CancelTuningLevel Die Methode zur Berechnung der PID-Parameter kann mit PIDSelfTune.TIR.TuneRuleHeat und PIDSe-lfTune.TIR.TuneRuleCool für Heizen und Kühlen getrennt festgelegt werden. Bevor die PID-Parameter neu berechnet werden, werden die PID-Parameter in der Struktur CtrlParamsBa-ckUp gesichert und können mit LoadBackUp reaktiviert werden. Nach erfolgreicher Nachoptimierung wechselt der Regler in den Automatikbetrieb. Nach erfolgloser Nachoptimierung ist der Wechsel der Betriebsart abhängig von ActivateRecoverMode. Die Phase der "Nachoptimierung" wird mit PIDSelfTune.TIR.State angezeigt.

3 Automatikbetrieb Im Automatikbetrieb regelt PID_Temp die Regelstrecke entsprechend der vorgegebenen Parameter aus. Falls eine der folgenden Voraussetzungen erfüllt ist, wird in den Automatikbetrieb gewechselt: • Erstoptimierung erfolgreich abgeschlossen • Nachoptimierung erfolgreich abgeschlossen • Ändern des Durchgangsparameters Mode auf den Wert 3 und eine steigende Flanke an ModeActivate. Der Wechsel vom Automatikbetrieb in den Handbetrieb erfolgt nur im Inbetriebnahmeeditor stoßfrei. Im Automatikbetrieb wird die Variable ActivateRecoverMode berücksichtigt.

4 Handbetrieb Im Handbetrieb geben Sie einen manuellen PID Ausgangswert am Parameter ManualValue vor. Die aus diesem Handwert resultierenden Werte an den Ausgängen für Heizen und Kühlen ergeben sich aus der konfigurierten Ausgangsskalierung. Diese Betriebsart können Sie zusätzlich über ManualEnable = TRUE aktivieren. Es wird empfohlen, die Betriebsarten nur über Mode und ModeActivate zu wechseln. Der Wechsel vom Handbetrieb in den Automatikbetrieb erfolgt stoßfrei. Im Handbetrieb wird die Variable ActivateRecoverMode berücksichtigt.

5 Ersatzausgangswert mit Fehlerüberwachung Der Regelalgorithmus ist ausgeschaltet. Die Variable SetSubstituteOutput bestimmt, welcher PID Aus-gangswert (PidOutputSum) während dieser Betriebsart ausgegeben wird. • SetSubstituteOutput = FALSE: letzter gültiger PID Ausgangswert • SetSubstituteOutput = TRUE: Ersatzausgangswert (SubstituteOutput) Diese Betriebsart können Sie nicht mit Mode = 5 aktivieren. Sie wird im Fehlerfall statt der Betriebsart "Inaktiv" aktiviert, wenn alle folgenden Bedingungen erfüllt sind: • Automatikbetrieb (State = 3) • ActivateRecoverMode = TRUE • Ein oder mehrere Fehler sind aufgetreten, bei denen ActivateRecoverMode wirkt. Sobald die Fehler nicht mehr anstehen, wechselt PID_Temp wieder in den Automatikbetrieb.

Page 469: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 468 Funktionshandbuch, 11/2019, A5E35300226-AE

ENO-Verhalten Falls State = 0 ist, dann ist ENO = FALSE.

Falls State ≠ 0 ist, dann ist ENO = TRUE.

Automatische Betriebsartwechsel während der Inbetriebnahme Nach erfolgreicher Erst- oder Nachoptimierung wird der Automatikbetrieb aktiviert. Die folgende Tabelle zeigt, wie sich Mode und State während einer erfolgreichen Erstoptimierung ändern. Zyklus-Nr. Mode State Aktion 0 4 4 Mode = 1 setzen 1 1 4 ModeActivate = TRUE setzen 1 4 1 Wert von State wird an Mode gespeichert

Erstoptimierung wird gestartet n 4 1 Erstoptimierung erfolgreich beendet n 3 3 Automatikbetrieb wird gestartet

Im Fehlerfall wechselt PID_Temp automatisch die Betriebsart.

Die folgende Tabelle zeigt, wie sich Mode und State während einer fehlerhaften Erstoptimierung ändern. Zyklus-Nr. Mode State Aktion 0 4 4 Mode = 1 setzen 1 1 4 ModeActivate = TRUE setzen 1 4 1 Wert von State wird an Mode gespeichert

Erstoptimierung wird gestartet n 4 1 Erstoptimierung abgebrochen n 4 4 Handbetrieb wird gestartet

Falls ActivateRecoverMode = TRUE ist, wird die Betriebsart aktiviert, die an Mode gespeichert ist. Beim Start der Erst- oder Nachoptimierung hat PID_Temp den Wert von State am Durchgangsparameter Mode gespeichert. PID_Temp wechselt also in die Betriebsart, aus der die Optimierung gestartet wurde.

Falls ActivateRecoverMode = FALSE ist, wird in die Betriebsart "Inaktiv" gewechselt.

Siehe auch Ausgangsparameter PID_Temp (Seite 421)

Durchgangsparameter PID_Temp (Seite 423)

Page 470: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 469

9.3.4.8 Parameter ErrorBits PID_Temp Stehen gleichzeitig mehrere Fehler an, so werden die Werte der ErrorBits binär addiert angezeigt. Wird z. B. ErrorBits = 0000003h angezeigt, so stehen gleichzeitig die Fehler 0000001h und 0000002h an.

ErrorBits (DW#16#...)

Beschreibung

0000000 Es steht kein Fehler an. 0000001 Der Parameter "Input" ist außerhalb der Istwertgrenzen.

• Input > Config.InputUpperLimit oder • Input < Config.InputLowerLimit Falls vor Auftreten des Fehlers der Automatikbetrieb aktiv war und ActivateRecoverMode = TRUE, bleibt PID_Temp im Automatikbetrieb. Falls vor Auftreten des Fehlers der Handbetrieb aktiv war und ActivateRecoverMode = TRUE, bleibt PID_Temp im Handbetrieb. Falls vor Auftreten des Fehlers die Betriebsart Erstoptimierung oder Nachoptimierung aktiv und Activa-teRecoverMode = TRUE waren, wechselt PID_Temp in die Betriebsart, die an Mode gespeichert ist.

0000002 Ungültiger Wert am Parameter "Input_PER". Überprüfen Sie, ob am Analogeingang ein Fehler ansteht. Falls vor Auftreten des Fehlers der Automatikbetrieb aktiv war und ActivateRecoverMode = TRUE ist, gibt PID_Temp den konfigurierten Ersatzausgangswert aus. Sobald der Fehler nicht mehr ansteht, wechselt PID_Temp wieder in den Automatikbetrieb. Falls vor Auftreten des Fehlers der Handbetrieb aktiv war und ActivateRecoverMode = TRUE, bleibt PID_Temp im Handbetrieb. Falls vor Auftreten des Fehlers die Betriebsart Erstoptimierung oder Nachoptimierung aktiv und Activa-teRecoverMode = TRUE waren, wechselt PID_Temp in die Betriebsart, die an Mode gespeichert ist.

0000004 Fehler während der Nachoptimierung. Die Schwingung des Istwerts konnte nicht aufrecht erhalten wer-den. Wird PID_Temp als Heizkühlregler eingesetzt (Config.ActivateCooling = TRUE), so muss, um eine Ist-wertschwingung zu erzeugen und die Nachoptimierung erfolgreich durchzuführen, der PID Ausgangs-wert (PidOutputSum) am Sollwert • positiv sein für Nachoptimierung Heizen • negativ sein für Nachoptimierung Kühlen Ist diese Voraussetzung nicht erfüllt, nutzen Sie die Optimierungsoffsets (Variablen PIDSe-lfTune.TIR.OutputOffsetCool und PIDSelfTune.TIR.OutputOffsetHeat), siehe Nachoptimierung (Seite 199). Falls vor Auftreten des Fehlers ActivateRecoverMode = TRUE war, bricht PID_Temp die Optimierung ab und wechselt in die Betriebsart, die an Mode gespeichert ist.

0000008 Fehler beim Starten der Erstoptimierung. Der Istwert ist zu nahe am Sollwert oder größer als der Soll-wert. Starten Sie die Nachoptimierung. Falls vor Auftreten des Fehlers ActivateRecoverMode = TRUE war, bricht PID_Temp die Optimierung ab und wechselt in die Betriebsart, die an Mode gespeichert ist.

0000010 Der Sollwert wurde während der Optimierung verändert. An der Variable CancelTuningLevel können Sie die zulässige Schwankung des Sollwerts einstellen. Falls vor Auftreten des Fehlers ActivateRecoverMode = TRUE war, bricht PID_Temp die Optimierung ab und wechselt in die Betriebsart, die an Mode gespeichert ist.

0000020 Die Erstoptimierung ist während der Nachoptimierung nicht erlaubt. Falls vor Auftreten des Fehlers ActivateRecoverMode = TRUE war, bleibt PID_Temp in der Betriebsart Nachoptimierung.

Page 471: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 470 Funktionshandbuch, 11/2019, A5E35300226-AE

ErrorBits (DW#16#...)

Beschreibung

0000040 Fehler während der Erstoptimierung. Die Kühlung konnte den Istwert nicht verringern. Falls vor Auftreten des Fehlers ActivateRecoverMode = TRUE war, bricht PID_Temp die Optimierung ab und wechselt in die Betriebsart, die an Mode gespeichert ist.

0000100 Fehler während der Nachoptimierung führte zu ungültigen Parametern. Falls vor Auftreten des Fehlers ActivateRecoverMode = TRUE war, bricht PID_Temp die Optimierung ab und wechselt in die Betriebsart, die an Mode gespeichert ist.

0000200 Ungültiger Wert am Parameter "Input": Wert hat kein gültiges Zahlenformat. Falls vor Auftreten des Fehlers der Automatikbetrieb aktiv war und ActivateRecoverMode = TRUE ist, gibt PID_Temp den konfigurierten Ersatzausgangswert aus. Sobald der Fehler nicht mehr ansteht, wechselt PID_Temp wieder in den Automatikbetrieb. Falls vor Auftreten des Fehlers der Handbetrieb aktiv war und ActivateRecoverMode = TRUE, bleibt PID_Temp im Handbetrieb. Falls vor Auftreten des Fehlers die Betriebsart Erstoptimierung oder Nachoptimierung aktiv und Activa-teRecoverMode = TRUE waren, wechselt PID_Temp in die Betriebsart, die an Mode gespeichert ist.

0000400 Berechnung des Ausgangswerts fehlgeschlagen. Überprüfen Sie die PID-Parameter. Falls vor Auftreten des Fehlers der Automatikbetrieb aktiv war und ActivateRecoverMode = TRUE ist, gibt PID_Temp den konfigurierten Ersatzausgangswert aus. Sobald der Fehler nicht mehr ansteht, wechselt PID_Temp wieder in den Automatikbetrieb. Falls vor Auftreten des Fehlers die Betriebsart Erstoptimierung oder Nachoptimierung aktiv und Activa-teRecoverMode = TRUE waren, wechselt PID_Temp in die Betriebsart, die an Mode gespeichert ist.

0000800 Abtastzeitfehler: PID_Temp wird nicht innerhalb der Abtastzeit des Weckalarm-OBs aufgerufen. Falls vor Auftreten des Fehlers der Automatikbetrieb aktiv war und ActivateRecoverMode = TRUE, bleibt PID_Temp im Automatikbetrieb. Falls vor Auftreten des Fehlers der Handbetrieb aktiv war und ActivateRecoverMode = TRUE, bleibt PID_Temp im Handbetrieb. Falls vor Auftreten des Fehlers die Betriebsart Erstoptimierung oder Nachoptimierung aktiv und Activa-teRecoverMode = TRUE waren, wechselt PID_Temp in die Betriebsart, die an Mode gespeichert ist. Falls dieser Fehler bei der Simulation mit PLCSIM aufgetreten ist, beachten Sie die Hinweise unter PID_Temp mit PLCSIM simulieren (Seite 220).

0001000 Ungültiger Wert am Parameter "Setpoint" oder "SubstituteSetpoint": Wert hat kein gültiges Zahlenfor-mat. Falls vor Auftreten des Fehlers der Automatikbetrieb aktiv und ActivateRecoverMode = TRUE waren, gibt PID_Temp den konfigurierten Ersatzausgangswert aus. Sobald der Fehler nicht mehr ansteht, wechselt PID_Temp wieder in den Automatikbetrieb. Falls vor Auftreten des Fehlers der Handbetrieb aktiv war und ActivateRecoverMode = TRUE, bleibt PID_Temp im Handbetrieb. Falls vor Auftreten des Fehlers die Betriebsart Erstoptimierung oder Nachoptimierung aktiv und Activa-teRecoverMode = TRUE waren, wechselt PID_Temp in die Betriebsart, die an Mode gespeichert ist.

0010000 Ungültiger Wert am Parameter ManualValue. Wert hat kein gültiges Zahlenformat. Falls vor Auftreten des Fehlers ActivateRecoverMode = TRUE war, bleibt PID_Temp im Handbetrieb und verwendet SubstituteOutput als PID Ausgangswert. Sobald Sie einen gültigen Wert an ManualVa-lue vorgeben, verwendet PID_Temp diesen als PID Ausgangswert.

Page 472: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 471

ErrorBits (DW#16#...)

Beschreibung

0020000 Ungültiger Wert an der Variablen SubstituteOutput. Wert hat kein gültiges Zahlenformat. PID_Temp bleibt in der Betriebsart "Ersatzausgangswert mit Fehlerüberwachung" bzw. Handbetrieb und verwendet die Untergrenze des PID Ausgangswerts für Heizen (Config.Output.Heat.PidLowerLimit) als PID Ausgangswert. Sobald Sie einen gültigen Wert an SubstituteOutput vorgeben, verwendet PID_Temp diesen als PID Ausgangswert.

0040000 Ungültiger Wert am Parameter Disturbance. Wert hat kein gültiges Zahlenformat. Falls vor Auftreten des Fehlers der Automatikbetrieb aktiv war und ActivateRecoverMode = TRUE, wird Disturbance auf Null gesetzt. PID_Temp bleibt im Automatikbetrieb. Falls vor Auftreten des Fehlers die Betriebsart Erst- oder Nachoptimierung aktiv und ActivateRecover-Mode = TRUE waren, wechselt PID_Temp in die Betriebsart, die an Mode gespeichert ist. Wenn Distur-bance in der aktuellen Phase keinen Einfluss auf den Ausgangswert hat, wird die Optimierung nicht abgebrochen.

0200000 Fehler beim Master in der Kaskade: Slaves sind nicht im Automatikbetrieb oder haben Ersatzsollwert aktiviert und verhindern Optimierung des Masters. Falls vor Auftreten des Fehlers ActivateRecoverMode = TRUE war, bricht PID_Temp die Optimierung ab und wechselt in die Betriebsart, die an Mode gespeichert ist.

0400000 Die Erstoptimierung Heizen ist nicht erlaubt, solange die Kühlung aktiv ist. Falls vor Auftreten des Fehlers ActivateRecoverMode = TRUE war, bricht PID_Temp die Optimierung ab und wechselt in die Betriebsart, die an Mode gespeichert ist.

0800000 Der Istwert muss nahe am Sollwert sein, um Erstoptimierung Kühlen zu starten. Falls vor Auftreten des Fehlers ActivateRecoverMode = TRUE war, bricht PID_Temp die Optimierung ab und wechselt in die Betriebsart, die an Mode gespeichert ist.

1000000 Fehler beim Starten der Optimierung: Heat.EnableTuning und Cool.EnableTuning sind nicht gesetzt oder passen nicht zur Konfiguration. Falls vor Auftreten des Fehlers ActivateRecoverMode = TRUE war, bricht PID_Temp die Optimierung ab und wechselt in die Betriebsart, die an Mode gespeichert ist.

2000000 Erstoptimierung Kühlen setzt erfolgreiche Erstoptimierung Heizen voraus. Falls vor Auftreten des Fehlers ActivateRecoverMode = TRUE war, bricht PID_Temp die Optimierung ab und wechselt in die Betriebsart, die an Mode gespeichert ist.

4000000 Fehler beim Starten der Nachoptimierung: Heat.EnableTuning und Cool.EnableTuning dürfen nicht gleichzeitig gesetzt sein. Falls vor Auftreten des Fehlers ActivateRecoverMode = TRUE war, bricht PID_Temp die Optimierung ab und wechselt in die Betriebsart, die an Mode gespeichert ist.

8000000 Fehler während der Berechnung der PID Parameter führte zu ungültigen Parametern. Die ungültigen Parameter werden verworfen und die ursprünglichen PID Parameter bleiben unverändert erhalten. Es werden folge Fälle unterschieden: • Falls vor Auftreten des Fehlers der Automatikbetrieb aktiv war und ActivateRecoverMode = TRUE,

bleibt PID_Temp im Automatikbetrieb. • Falls vor Auftreten des Fehlers der Handbetrieb aktiv war und ActivateRecoverMode = TRUE, bleibt

PID_Temp im Handbetrieb. • Falls vor Auftreten des Fehlers die Betriebsart Erstoptimierung oder Nachoptimierung aktiv und

ActivateRecoverMode = TRUE war, wechselt PID_Temp in die Betriebsart, die an Mode gespeichert ist.

Page 473: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 472 Funktionshandbuch, 11/2019, A5E35300226-AE

9.3.4.9 Variable ActivateRecoverMode PID_Temp Die Variable ActivateRecoverMode bestimmt das Verhalten im Fehlerfall. Der Parameter Error zeigt, ob aktuell ein Fehler ansteht. Falls der Fehler nicht mehr ansteht, wird Error = FALSE. Der Parameter ErrorBits zeigt, welche Fehler aufgetreten sind.

Automatikbetrieb und Handbetrieb

ACHTUNG

Ihre Anlage kann beschädigt werden.

Falls ActivateRecoverMode = TRUE ist, bleibt PID_Temp im Fehlerfall auch beim Überschreiten der Istwertgrenzen im Automatikbetrieb bzw. im Handbetrieb.

Dadurch kann Ihre Anlage beschädigt werden.

Konfigurieren Sie für Ihre Regelstrecke ein Verhalten im Fehlerfall, das Ihre Anlage vor Beschädigung schützt.

Activate-RecoverMode

Beschreibung

FALSE Im Fehlerfall wechselt PID_Temp in die Betriebsart "Inaktiv". Der Regler wird erst durch eine fallende Flanke an Reset oder eine steigende Flanke an ModeActivate aktiviert.

TRUE Automatikbetrieb Falls im Automatikbetrieb häufig Fehler auftreten, wird durch diese Einstellung das Regelverhalten verschlechtert, da PID_Temp bei jedem Fehlerfall zwischen berechnetem PID Ausgangswert und dem Ersatzausgangswert wechselt. Überprüfen Sie dann den Parameter ErrorBits und beheben Sie die Fehlerursache. Falls einer oder mehrere der folgenden Fehler auftreten und vor Auftreten des Fehlers der Automatikbe-trieb aktiv war, bleibt PID_Temp im Automatikbetrieb: • 0000001h: Der Parameter "Input" ist außerhalb der Istwertgrenzen. • 0000800h: Abtastzeitfehler • 0040000h: Ungültiger Wert am Parameter Disturbance. • 8000000h: Fehler während der Berechnung der PID Parameter

Falls einer oder mehrere der folgenden Fehler auftreten und vor Auftreten des Fehlers der Automatikbe-trieb aktiv war, wechselt PID_Temp in die Betriebsart "Ersatzausgangswert mit Fehlerüberwachung": • 0000002h: Ungültiger Wert am Parameter Input_PER. • 0000200h: Ungültiger Wert am Parameter Input. • 0000400h: Berechnung des Ausgangswerts fehlgeschlagen. • 0001000h: Ungültiger Wert am Parameter Setpoint oder SubstituteSetpoint. Sobald die Fehler nicht mehr anstehen, wechselt PID_Temp wieder in den Automatikbetrieb. Falls in der Betriebsart "Ersatzausgangswert mit Fehlerüberwachung" folgender Fehler auftritt, setzt PID_Temp den PID Ausgangswert solange wie dieser Fehler ansteht auf Config .Output.Heat.PidLowerLimit: • 0020000h: Ungültiger Wert an der Variable SubstituteOutput. Wert hat kein gültiges Zahlenformat. Dieses Verhalten ist unabhängig von SetSubstituteOutput.

Page 474: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 473

Activate-RecoverMode

Beschreibung

TRUE Handbetrieb Falls einer oder mehrere Fehler auftreten und vor Auftreten des Fehlers der Handbetrieb aktiv war, bleibt PID_Temp im Handbetrieb. Falls im Handbetrieb der folgende Fehler auftritt, setzt PID_Temp den PID Ausgangswert solange wie dieser Fehler ansteht auf SubstituteOutput: • 0010000h: Ungültiger Wert am Parameter ManualValue. Wert hat kein gültiges Zahlenformat. Falls im Handbetrieb der Fehler 0010000h ansteht und folgender Fehler auftritt, setzt PID_Temp den PID Ausgangswert solange wie dieser Fehler ansteht auf Config.Output.Heat.PidLowerLimit: • 0020000h: Ungültiger Wert an der Variable SubstituteOutput. Wert hat kein gültiges Zahlenformat. Dieses Verhalten ist unabhängig von SetSubstituteOutput.

Erstoptimierung und Nachoptimierung Activate-RecoverMode

Beschreibung

FALSE Im Fehlerfall wechselt PID_Temp in die Betriebsart "Inaktiv". Der Regler wird erst durch eine fallende Flanke an Reset oder eine steigende Flanke an ModeActivate aktiviert.

TRUE Falls der folgende Fehler auftritt, bleibt PID_Temp in der aktiven Betriebsart: • 0000020h: Die Erstoptimierung ist während der Nachoptimierung nicht erlaubt. Die folgenden Fehler werden ignoriert: • 0010000h: Ungültiger Wert am Parameter ManualValue. • 0020000h: Ungültiger Wert an der Variable SubstituteOutput. Bei allen anderen Fehlern bricht PID_Temp die Optimierung ab und wechselt in die Betriebsart, aus der die Optimierung gestartet wurde.

Page 475: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 474 Funktionshandbuch, 11/2019, A5E35300226-AE

9.3.4.10 Variable Warning PID_Temp Stehen gleichzeitig mehrere Warnungen an, so werden die Werte der Variable Warning binär addiert angezeigt. Wird z. B. die Warnung 0000003h angezeigt, so stehen gleichzeitig die Warnungen 0000001h und 0000002h an.

Warning (DW#16#....)

Beschreibung

0000000 Es liegt keine Warnung vor. 0000001 Während der Erstoptimierung wurde der Wendepunkt nicht gefunden. 0000004 Der Sollwert wurde begrenzt auf die eingestellten Grenzen. 0000008 Für die gewählte Berechnungsmethode wurden nicht alle notwendigen Eigenschaften der Regelstrecke

bestimmt. Ersatzweise wurden die PID-Parameter mit der Methode TIR.TuneRuleHeat = 3 bzw. TIR.TuneRuleCool = 3 berechnet.

0000010 Die Betriebsart konnte nicht geändert werden, da Reset = TRUE oder ManualEnable = TRUE. 0000020 Die Abtastzeit des PID-Algorithmus wird durch die Zykluszeit des aufrufenden OB begrenzt.

Um bessere Ergebnisse zu erzielen, verwenden Sie kürzere Zykluszeiten des OB. 0000040 Der Istwert hat eine seiner Warngrenzen überschritten. 0000080 Ungültiger Wert an Mode. Die Betriebsart wird nicht gewechselt. 0000100 Der Handwert wurde begrenzt auf die Grenzen des PID Ausgangswerts. 0000200 Die angegebene Regel zur Optimierung wird nicht unterstützt. Es werden keine PID-Parameter berechnet. 0001000 Der Ersatzausgangswert kann nicht erreicht werden, da er außerhalb der Ausgangswertgrenzen liegt. 0004000 Die angegebene Auswahl des Ausgangswerts für Heizen und / oder Kühlen wird nicht unterstützt.

Es wird nur der Ausgang OutputHeat bzw. OutputCool verwendet. 0008000 Ungültiger Wert an PIDSelfTune.SUT.AdaptDelayTime. Der Defaultwert 0 wird verwendet. 0010000 Ungültiger Wert an PIDSelfTune.SUT.CoolingMode. Der Defaultwert 0 wird verwendet. 0020000 Die Aktivierung der Kühlung (Variable Config.ActivateCooling) wird bei einem Regler, der als Master ver-

wendet wird (Variable Config.Cascade.IsMaster), nicht unterstützt. PID_Temp arbeitet als Heizregler. Setzen Sie die Variable Config.ActivateCooling auf FALSE.

0040000 Ungültiger Wert an Retain.CtrlParams.Heat.Gain, Retain.CtrlParams.Cool.Gain oder Config.CoolFactor. PID_Temp unterstützt nur positive Werte für Proportionalverstärkung (Heizen und Kühlen) und Kühlfaktor. Der Automatikbetrieb bleibt aktiv mit PID Ausgangswert 0.0. Der Integralanteil wird angehalten.

Folgende Warnungen werden gelöscht, sobald die Ursache behoben ist oder Sie die Aktion mit gültigen Parametern wiederholen:

● 0000001h

● 0000004h

● 0000008h

● 0000040h

● 0000100h

Alle anderen Warnungen werden bei steigender Flanke an Reset oder ErrorAck gelöscht.

Page 476: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 475

9.3.4.11 Variable PwmPeriode Ist bei Verwendung von OutputHeat_PWM bzw. OutputCool_PWM die Abtastzeit PID-Algorithmus (Retain.CtrlParams.Heat.Cycle bzw. Retain.CtrlParams.Heat.Cycle) und damit die Periodendauer der Pulsweitenmodulation sehr groß, können Sie, um die Glattheit des Istwerts zu verbessern, an den Parametern Config.Output.Heat.PwmPeriode bzw. Config.Output.Cool.PwmPeriode eine abweichende kürzere Periodendauer vorgeben.

Periodendauer der Pulsweitenmodulation an OutputHeat_PWM Periodendauer der PWM am Ausgang OutputHeat_PWM in Abhängigkeit von Config.Output.Heat.PwmPeriode:

● Heat.PwmPeriode = 0.0 (default)

Die Abtastzeit des PID-Algorithmus für Heizen (Retain.CtrlParams.Heat.Cycle) wird als Periodendauer der PWM verwendet.

● Heat.PwmPeriode > 0.0

Der Wert wird auf ein ganzzahliges Vielfaches der Abtastzeit PID_Temp (CycleTime.Value) gerundet und als Periodendauer der PWM verwendet.

Der Wert muss folgende Bedingungen erfüllen:

– Heat.PwmPeriode ≤ Retain.CtrlParams.Heat.Cycle

– Heat.PwmPeriode > Config.Output.Heat.MinimumOnTime

– Heat.PwmPeriode > Config.Output.Heat.MinimumOffTime

Periodendauer der Pulsweitenmodulation an OutputCool_PWM Periodendauer der PWM am Ausgang OutputCool_PWM in Abhängigkeit von Config.Output.Cool.PwmPeriode und der Methode für Heizen/Kühlen:

● Cool.PwmPeriode = 0.0 und Kühlfaktor (Config.AdvancedCooling = FALSE):

Die Abtastzeit des PID-Algorithmus für Heizen (Retain.CtrlParams.Heat.Cycle) wird als Periodendauer der PWM verwendet.

● Cool.PwmPeriode = 0.0 und PID-Parameterumschaltung (Config.AdvancedCooling = TRUE):

Die Abtastzeit des PID-Algorithmus für Kühlen (Retain.CtrlParams.Cool.Cycle) wird als Periodendauer der PWM verwendet.

● Cool.PwmPeriode > 0.0:

Der Wert wird auf ein ganzzahliges Vielfaches der Abtastzeit PID_Temp (CycleTime.Value) gerundet und als Periodendauer der PWM verwendet.

Der Wert muss folgende Bedingungen erfüllen:

– Cool.PwmPeriode ≤ Retain.CtrlParams.Cool.Cycle bzw. Retain.CtrlParams.Heat.Cycle

– Cool.PwmPeriode > Config.Output.Cool.MinimumOnTime

– Cool.PwmPeriode > Config.Output.Cool.MinimumOffTime

Page 477: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 476 Funktionshandbuch, 11/2019, A5E35300226-AE

Config.Output.Cool.PwmPeriode ist nur wirksam, falls der Kühlausgang aktiviert ist (Config.ActivateCooling =TRUE).

Bei Verwendung von PwmPeriode wird die Genauigkeit des PWM-Ausgangssignals bestimmt durch das Verhältnis von PwmPeriode zur Abtastzeit PID_Temp (Zykluszeit des OB). PwmPeriode sollte mindestens das 10-fache der Abtastzeit PID_Temp betragen.

Falls die Abtastzeit des PID-Algorithmus nicht ein ganzzahliges Vielfaches von PwmPeriode ist, wird jede letzte Periode der PWM innerhalb der Abtastzeit des PID-Algorithmus entsprechend verlängert.

Beispiel für OutputHeat_PWM

① Abtastzeit PID_Temp = 100.0 ms (Zykluszeit des aufrufenden Weckalarm-OB, Variable CycleTime.Value) ② Abtastzeit PID-Algorithmus = 2000.0 ms (Variable Retain.CtrlParams.Heat.Cycle) ③ Periodendauer der PWM für Heizen = 600.0 ms (Variable Config.Output.Heat.PwmPeriode)

Page 478: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 477

9.3.4.12 Variable IntegralResetMode Die Variable IntegralResetMode bestimmt, wie der I-Anteil PIDCtrl.IOutputOld vorbelegt wird:

● beim Wechsel von der Betriebsart "Inaktiv" in "Automatikbetrieb"

● bei Flanke TRUE -> FALSE an Parameter Reset und Parameter Mode = 3

Diese Einstellung wirkt nur für einen Zyklus und ist nur wirksam, wenn der I-Anteil aktiviert ist (Variablen Retain.CtrlParams.Heat.Ti und Retain.CtrlParams.Cool.Ti > 0.0)

IntegralReset-Mode

Beschreibung

0 Glätten Der Wert von PIDCtrl.IOutputOld wird so vorbelegt, dass die Umschaltung stoßfrei erfolgt d. h. der "Au-tomatikbetrieb" startet ausgehend von Ausgangswert = 0.0 (Parameter PidOutputSum) und es erfolgt kein Sprung des Ausgangswerts unabhängig von der Regeldifferenz (Sollwert – Istwert).

1 Löschen Es wird empfohlen die Gewichtung des P-Anteils (Variablen Retain.CtrlParams.Heat.PWeighting und Retain.CtrlParams.Cool.PWeighting) auf 1.0 zu setzen, falls diese Option verwendet wird. Der Wert von PIDCtrl.IOutputOld wird gelöscht. Wenn eine Regeldifferenz vorhanden ist, kommt es zu einem Sprung des PID Ausgangswerts. Die Richtung des Ausgangswertsprungs hängt von der aktiven Gewichtung des P-Anteils (Variablen Retain.CtrlParams.Heat.PWeighting und Retain.CtrlParams.Cool.PWeighting) und der Regeldifferenz ab: • aktive Gewichtung des P-Anteils = 1.0:

Ausgangswertsprung und Regeldifferenz haben identische Vorzeichen. Beispiel: Liegt der Istwert unterhalb des Sollwerts (positive Regeldifferenz), springt der PID Aus-gangswert auf einen positiven Wert.

• aktive Gewichtung des P-Anteils < 1.0:

Für große Regeldifferenzen haben der Sprung des PID Ausgangswerts und die Regeldifferenz iden-tische Vorzeichen. Beispiel: Liegt der Istwert weit unterhalb des Sollwerts (positive Regeldifferenz), springt der PID Ausgangswert auf einen positiven Wert.

Für kleine Regeldifferenzen haben der Sprung des PID Ausgangswerts und die Regeldifferenz un-terschiedliche Vorzeichen. Beispiel: Liegt der Istwert knapp unterhalb des Sollwerts (positive Regeldifferenz), springt der PID Ausgangswert auf einen negativen Wert. Dies ist im Normalfall nicht erwünscht, da es zu einer vo-rübergehenden Vergrößerung der Regeldifferenz führt.

Je kleiner dabei die Gewichtung des P-Anteils konfiguriert ist, desto größer muss die Regeldifferenz sein; um einen Sprung des PID Ausgangswertsprungs mit identischem Vorzeichen zu erhalten.

Es wird empfohlen die Gewichtung des P-Anteils (Variablen Retain.CtrlParams.Heat.PWeighting und Retain.CtrlParams.Cool.PWeighting) auf 1.0 zu setzen, wenn diese Option verwendet wird. Andernfalls kann dies zum beschriebenen unerwünschten Verhalten bei kleinen Regeldifferenzen führen. Alternativ können Sie auch IntegralResetMode = 4 verwenden. Diese Option garantiert identische Vorzeichen für den Sprung des PID Ausgangs und für die Regeldifferenz unabhängig von der konfigurierten Gewich-tung des P-Anteils und der Regeldifferenz.

Page 479: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.3 PID_Temp

PID-Regelung 478 Funktionshandbuch, 11/2019, A5E35300226-AE

IntegralReset-Mode

Beschreibung

2 Halten Der Wert von PIDCtrl.IOutputOld wird nicht verändert. Sie können über das Anwenderprogramm einen neuen Wert vorgeben.

3 Vorbelegen Der Wert von PIDCtrl.IOutputOld wird automatisch so vorbelegt, als ob im letzten Zyklus PidOutputSum = OverwriteInitialOutputValue gewesen wäre.

4 Wie Sollwertänderung (nur für PID_Temp mit Version ≥ 1.1) Der Wert von PIDCtrl.IOutputOld wird automatisch so vorbelegt, dass sich ein ähnlicher Sprung des PID Ausgangswerts ergibt, wie für einen PI Regler im Automatikbetrieb bei einer Sollwertänderung vom aktuellen Istwert zum aktuellen Sollwert. Falls eine Regeldifferenz vorhanden ist, kommt es zu einem Sprung des PID Ausgangswerts. Der Sprung des PID Ausgangswerts und Regeldifferenz haben identische Vorzeichen. Beispiel: Liegt der Istwert unterhalb des Sollwerts (positive Regeldifferenz), springt der PID Ausgangs-wert auf einen positiven Wert. Dies ist unabhängig von der konfigurierten Gewichtung des P-Anteils und der Regeldifferenz.

Wird IntegralResetMode mit einem Wert außerhalb des gültigen Wertebereichs belegt, verhält sich PID_Temp wie mit der Vorbelegung von IntegralResetMode:

● PID_Temp bis V1.0: IntegralResetMode = 1

● PID_Temp ab V1.1: IntegralResetMode = 4

Page 480: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 479

9.4 PID Basisfunktionen

9.4.1 CONT_C

9.4.1.1 Beschreibung CONT_C Die Anweisung CONT_C dient zum Regeln von technischen Prozessen mit kontinuierlichen Ein- und Ausgangsgrößen auf den Automatisierungssystemen SIMATIC S7. Über die Parametrierung können Sie Teilfunktionen des PID-Reglers zu- oder abschalten und damit diesen an die Regelstrecke anpassen. Neben den Funktionen im Soll- und Istwertzweig realisiert die Anweisung einen fertigen PID-Regler mit kontinuierlichem Stellgrößen-Ausgang und Beeinflussungsmöglichkeit des Stellwertes von Hand.

Anwendung Den Regler können Sie als PID-Festwertregler einzeln oder auch in mehrschleifigen Regelungen als Kaskaden-, Mischungs- oder Verhältnisregler einsetzen. Die Arbeitsweise basiert auf dem PID-Regelalgorithmus des Abtastreglers mit analogem Ausgangssignal, gegebenenfalls um eine Impulsformerstufe zur Bildung von pulsbreitenmodulierten Ausgangssignalen für Zwei- oder Dreipunktregelungen mit proportionalen Stellgliedern ergänzt.

Aufruf Die Anweisung CONT_C verfügt über eine Initialisierungsroutine, die durchlaufen wird, wenn der Eingangsparameter COM_RST = TRUE gesetzt ist. Der Integrierer wird bei der Initialisierung auf den Initialisierungswert I_ITVAL gesetzt. Alle anderen Signalausgänge werden auf Null gesetzt. Nach Durchlauf der Initialisierungsroutine muss COM_RST = FALSE gesetzt werden.

Die Berechnung der Werte in den Regelungsbausteinen erfolgt nur dann korrekt, wenn der Baustein in regelmäßigen Abständen aufgerufen wird. Deshalb sollten Sie die Regelungsbausteine in einem Weckalarm-OB (OB 30 bis OB 38) aufrufen. Die Abtastzeit geben Sie am Parameter CYCLE vor.

Wenn Sie die Anweisung CONT_C als Multiinstanz-DB aufrufen, wird kein Technologieobjekt angelegt. Es steht Ihnen keine Parametrier- und Inbetriebnahmeoberfläche zur Verfügung. Sie müssen CONT_C direkt im Multiinstanz-DB parametrieren und über eine Beobachtungstabelle in Betrieb nehmen.

Fehlerinformationen Das Fehlermeldewort RET_VAL wird vom Baustein nicht ausgewertet.

Page 481: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 480 Funktionshandbuch, 11/2019, A5E35300226-AE

9.4.1.2 Arbeitsweise CONT_C

Sollwertzweig Der Sollwert wird am Eingang SP_INT im Gleitpunktformat eingegeben.

Istwertzweig Der Istwert kann im Peripherie- und im Gleitpunktformat eingelesen werden. Die Funktion CRP_IN wandelt den Peripheriewert PV_PER in ein Gleitpunktformat von -100 .... +100 % nach folgender Vorschrift um: Ausgang von CRP_IN = PV_PER * 100 / 27648 Die Funktion PV_NORM normiert den Ausgang von CRP_IN nach folgender Vorschrift: Ausgang von PV_NORM = (Ausgang von CRP_IN) *PV_FAC + PV_OFF PV_FAC ist mit 1 und PV_OFF ist mit 0 vorbelegt.

Regeldifferenzbildung Die Differenz von Soll- und Istwert ergibt die Regeldifferenz. Zur Unterdrückung einer kleinen Dauerschwingung aufgrund der Stellgrößen-Quantisierung (z. B. bei einer Puls-Breitenmodulation mit PULSEGEN) wird die Regeldifferenz über eine Totzone (DEADBAND) geleitet. Bei DEADB_W = 0 ist die Totzone ausgeschaltet.

PID-Algorithmus Der PID-Algorithmus arbeitet im Stellungsalgorithmus. Der Proportional-, Integral (INT) und Differentialanteil (DIF) sind parallel geschaltet und einzeln zu- und abschaltbar. Damit lassen sich P-, PI-, PD- und PID-Regler parametrieren. Aber auch reine I-Regler sind möglich.

Handwertverarbeitung Es kann zwischen Hand- und Automatikbetrieb umgeschaltet werden. Bei Handbetrieb wird die Stellgröße einem Handwert nachgeführt. Der Integrierer (INT) wird intern auf LMN - LMN_P - DISV und der Differenzierer (DIF) auf 0 gesetzt und intern abgeglichen. Das Umschalten in den Automatikbetrieb ist damit stoßfrei.

Stellwertverarbeitung Der Stellwert wird mit der Funktion LMNLIMIT auf vorgebbare Werte begrenzt. Das Überschreiten der Grenzen durch die Eingangsgröße wird durch Meldebits angezeigt. Die Funktion LMN_NORM normiert den Ausgang von LMNLIMIT nach folgender Vorschrift: LMN = (Ausgang von LMNLIMIT) * LMN_FAC + LMN_OFF LMN_FAC ist mit 1 und LMN_OFF mit 0 vorbelegt. Der Stellwert steht auch im Peripherieformat zur Verfügung. Die Funktion CRP_OUT wandelt den Gleitpunktwert LMN in einen Peripheriewert nach folgender Vorschrift um: LMN_PER = LMN * 27648 / 100

Störgrößenaufschaltung Am Eingang DISV kann eine Störgröße additiv aufgeschaltet werden.

Page 482: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 481

9.4.1.3 Blockschaltbild CONT_C

Page 483: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 482 Funktionshandbuch, 11/2019, A5E35300226-AE

9.4.1.4 Eingangsparameter CONT_C

Parameter Daten-typ

Vorbe-legung

Beschreibung

COM_RST BOOL FALSE Die Anweisung hat eine Initialisierungsroutine, die bearbeitet wird, wenn der Eingang "Neustart" gesetzt ist.

MAN_ON BOOL TRUE Ist der Eingang "Handbetrieb einschalten" gesetzt, ist der Regelkreis unterbrochen. Als Stellwert wird ein Handwert vorgegeben.

PVPER_ON BOOL FALSE Soll der Istwert von der Peripherie eingelesen werden, so muss der Eingang PV_PER mit der Peripherie verschaltet werden und der Eingang "Istwert Peripherie einschalten" gesetzt werden.

P_SEL BOOL TRUE Im PID-Algorithmus lassen sich die PID-Anteile einzeln zu- und abschalten. Der P-Anteil ist eingeschaltet, wenn der Eingang "P-Anteil einschalten" gesetzt ist.

I_SEL BOOL TRUE Im PID-Algorithmus lassen sich die PID-Anteile einzeln zu- und abschalten. Der I-Anteil ist eingeschaltet, wenn der Eingang "I-Anteil einschalten" gesetzt ist.

INT_HOLD BOOL FALSE Der Ausgang des Integrierers kann eingefroren werden. Hierzu muss der Eingang "I-Anteil einfrieren" gesetzt werden.

I_ITL_ON BOOL FALSE Der Ausgang des Integrierers kann auf den Eingang I_ITLVAL gesetzt werden. Hierzu muss der Eingang "I-Anteil setzen" gesetzt werden.

D_SEL BOOL FALSE Im PID-Algorithmus lassen sich die PID-Anteile einzeln zu- und abschalten. Der D-Anteil ist eingeschaltet, wenn der Eingang "D-Anteil einschalten" gesetzt ist.

CYCLE TIME T#1s Die Zeit zwischen den Bausteinaufrufen muss konstant sein. Der Eingang "Abtastzeit" gibt die Zeit zwischen den Bausteinaufrufen an. CYCLE >= 1ms

SP_INT REAL 0.0 Der Eingang "Interner Sollwert" dient zur Vorgabe eines Sollwertes. Zulässig sind Werte von -100 bis 100 % oder eine physikalische Größe 1).

PV_IN REAL 0.0 Am Eingang "Istwert Eingang" kann ein Inbetriebsetzungswert parametriert oder ein externer Istwert im Gleitpunktformat verschaltet werden. Zulässig sind Werte von -100 bis 100 % oder eine physikalische Größe 1).

PV_PER WORD W#16#0000

Der Istwert in Peripherieformat wird am Eingang "Istwert Peripherie" mit dem Regler verschaltet.

MAN REAL 0.0 Der Eingang "Handwert" dient zur Vorgabe eines Handwertes mittels Bedien-Beobachterfunktion. Zulässig sind Werte von -100 bis 100 % oder eine physikalische Größe 2).

GAIN REAL 2.0 Der Eingang "Proportionalbeiwert" gibt die Reglerverstärkung an. TI TIME T#20s Der Eingang "Integrationszeit" bestimmt das Zeitverhalten des Integrierers.

TI >= CYCLE TD TIME T#10s Der Eingang "Differenzierzeit" bestimmt das Zeitverhalten des Differenzierers.

TD >= CYCLE TM_LAG TIME T#2s Verzögerungszeit des D-Anteils

Der Algorithmus des D-Anteils beinhaltet eine Verzögerung, die am Eingang "Verzöge-rungszeit des D-Anteils" parametriert werden kann. TM_LAG >= CYCLE/2

DEADB_W REAL 0.0 Die Regeldifferenz wird über eine Totzone geführt. Der Eingang "Totzonenbreite" be-stimmt die Größe der Totzone. DEADB_W >= 0.0 (%) oder eine physikalische Größe 1)

Page 484: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 483

Parameter Daten-typ

Vorbe-legung

Beschreibung

LMN_HLM REAL 100.0 Der Stellwert wird immer auf eine obere und untere Grenze begrenzt. Der Eingang "Stellwert obere Begrenzung" gibt die obere Begrenzung an. Zulässig sind Real-Werte ab LMN_LLM (%) oder eine physikalische Größe 2).

LMN_LLM REAL 0.0 Der Stellwert wird immer auf eine obere und untere Grenze begrenzt. Der Eingang "Stellwert untere Begrenzung" gibt die untere Begrenzung an. Zulässig sind Real-Werte bis LMN_HLM (%) oder eine physikalische Größe 2).

PV_FAC REAL 1.0 Der Eingang "Istwertfaktor" wird mit dem Istwert multipliziert. Der Eingang dient zur Anpassung des Istwertbereiches.

PV_OFF REAL 0.0 Der Eingang "Istwertoffset" wird mit dem Istwert addiert. Der Eingang dient zur Anpas-sung des Istwertbereiches.

LMN_FAC REAL 1.0 Der Eingang "Stellwertfaktor" wird mit dem Stellwert multipliziert. Der Eingang dient zur Anpassung des Stellwertbereiches.

LMN_OFF REAL 0.0 Der Eingang "Stellwertoffset" wird mit dem Stellwert addiert. Der Eingang dient zur An-passung des Stellwertbereiches.

I_ITLVAL REAL 0.0 Der Ausgang des Integrierers kann am Eingang I_ITL_ON gesetzt werden. Am Eingang "Initialisierungswert für I-Anteil" steht der Initialisierungwert. Zulässig sind Werte von -100.0 bis 100.0 (%) oder eine physikalische Größe 2).

DISV REAL 0.0 Für eine Störgrößenaufschaltung wird die Störgröße am Eingang "Störgröße" verschal-tet. Zulässig sind Werte von -100.0 bis 100.0 (%) oder eine physikalische Größe 2).

1) Parameter im Soll-, Istwertzweig mit gleicher Einheit

2) Parameter im Stellwertzweig mit gleicher Einheit

Page 485: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 484 Funktionshandbuch, 11/2019, A5E35300226-AE

9.4.1.5 Ausgangsparameter CONT_C

Parameter Daten-typ

Vorbe-legung

Beschreibung

LMN REAL 0.0 Am Ausgang "Stellwert" wird der effektiv wirkende Stellwert in Gleitpunktformat ausge-geben.

LMN_PER WORD W#16#0000

Der Stellwert in Peripherieformat wird am Ausgang "Stellwert Peripherie" mit dem Reg-ler verschaltet.

QLMN_HLM BOOL FALSE Der Stellwert wird immer auf eine obere und untere Grenze begrenzt. Der Ausgang "Obere Begrenzung des "Stellwertes angesprochen" meldet das Erreichen der oberen Begrenzung.

QLMN_LLM BOOL FALSE Der Stellwert wird immer auf eine obere und untere Grenze begrenzt. Der Ausgang "Untere Begrenzung des "Stellwertes angesprochen" meldet das Erreichen der unteren Begrenzung.

LMN_P REAL 0.0 Der Ausgang "P-Anteil" beinhaltet den Proportionalanteil der Stellgröße. LMN_I REAL 0.0 Der Ausgang "I-Anteil" beinhaltet den Integralanteil der Stellgröße. LMN_D REAL 0.0 Der Ausgang "D-Anteil" beinhaltet den Differentialanteil der Stellgröße. PV REAL 0.0 Am Ausgang "Istwert" wird der effektiv wirkende Istwert ausgegeben. ER REAL 0.0 Am Ausgang "Regeldifferenz" wird die effektiv wirkende Regeldifferenz ausgegeben.

Page 486: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 485

9.4.2 CONT_S

9.4.2.1 Beschreibung CONT_S Die Anweisung CONT_S dient zum Regeln von technischen Prozessen mit binären Stellwertausgangssignalen für integrierende Stellglieder auf den Automatisierungssystemen SIMATIC S7. Über die Parametrierung lassen sich Teilfunktionen des PI-Schrittreglers zu- oder abschalten und damit an die Regelstrecke anpassen. Neben den Funktionen im Istwertzweig realisiert die Anweisung einen fertigen PI-Regler mit binärem Stellwertausgang und Beeinflussungsmöglichkeit des Stellwertes von Hand. Der Schrittregler arbeitet ohne Stellungsrückmeldung.

Anwendung Der Regler kann als PI-Festwertregler einzeln oder in unterlagerten Regelkreisen bei Kaskaden-, Mischungs- oder Verhältnisregelungen eingesetzt werden, jedoch nicht als Führungsregler. Die Arbeitsweise basiert auf dem PI-Regelalgorithmus des Abtastreglers und wird um die Funktionsglieder zur Erzeugung des binären Ausgangssignals aus dem analogen Stellsignal ergänzt.

Aufruf Die Anweisung CONT_S verfügt über eine Initialisierungsroutine, die durchlaufen wird, wenn der Eingangsparameter COM_RST = TRUE gesetzt ist. Alle Signalausgänge werden auf Null gesetzt. Nach Durchlauf der Initialisierungsroutine muss COM_RST = FALSE gesetzt werden.

Die Berechnung der Werte in den Regelungsbausteinen erfolgt nur dann korrekt, wenn der Baustein in regelmäßigen Abständen aufgerufen wird. Deshalb sollten Sie die Regelungsbausteine in einem Weckalarm-OB (OB 30 bis OB 38) aufrufen. Die Abtastzeit geben Sie am Parameter CYCLE vor.

Wenn Sie die Anweisung CONT_S als Multiinstanz-DB aufrufen, wird kein Technologieobjekt angelegt. Es steht Ihnen keine Parametrier- und Inbetriebnahmeoberfläche zur Verfügung. Sie müssen CONT_S direkt im Multiinstanz-DB parametrieren und über eine Beobachtungstabelle in Betrieb nehmen.

Fehlerinformationen Das Fehlermeldewort RET_VAL wird vom Baustein nicht ausgewertet.

Page 487: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 486 Funktionshandbuch, 11/2019, A5E35300226-AE

9.4.2.2 Arbeitsweise CONT_S

Sollwertzweig Der Sollwert wird am Eingang SP_INT im Gleitpunktformat eingegeben.

Istwertzweig Der Istwert kann im Peripherie- und im Gleitpunktformat eingelesen werden. Die Funktion CRP_IN wandelt den Peripheriewert PV_PER in ein Gleitpunktformat von -100 .... +100 % nach folgender Vorschrift um:

Ausgang von CRP_IN = PV_PER * 100 / 27648

Die Funktion PV_NORM normiert den Ausgang von CRP_IN nach folgender Vorschrift:

Ausgang von PV_NORM = (Ausgang von CRP_IN) * PV_FAC + PV_OFF

PV_FAC ist mit 1 und PV_OFF ist mit 0 vorbelegt.

Regeldifferenzbildung Die Differenz von Soll- und Istwert ergibt die Regeldifferenz. Zur Unterdrückung einer kleinen Dauerschwingung aufgrund der Stellgrößen-Quantisierung (begrenzte Auflösung des Stellwertes durch das Stellventil) wird die Regeldifferenz über eine Totzone (DEADBAND) geleitet. Bei DEADB_W = 0 ist die Totzone ausgeschaltet.

PI-Schrittalgorithmus Die Anweisung arbeitet ohne Stellungsrückmeldung. Der I-Anteil des PI-Algorithmus und die gedachte Stellungsrückmeldung werden in einem Integrator (INT) berechnet und als Rückführungswert mit dem verbliebenen P-Anteil verglichen. Die Differenz geht auf ein Dreipunktglied (THREE_ST) und einen Impulsformer (PULSEOUT), der die Impulse für das Stellventil bildet. Über eine Adaption der Ansprechschwelle des Dreipunktgliedes wird die Schalthäufigkeit des Reglers reduziert.

Störgrößenaufschaltung Am Eingang DISV kann eine Störgröße additiv aufgeschaltet werden.

Page 488: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 487

9.4.2.3 Blockschaltbild CONT_S

Page 489: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 488 Funktionshandbuch, 11/2019, A5E35300226-AE

9.4.2.4 Eingangsparameter CONT_S

Parameter Daten-typ

Vorbele-gung

Beschreibung

COM_RST BOOL FALSE Die Anweisung hat eine Initialisierungsroutine, die bearbeitet wird, wenn der Ein-gang "Neustart" gesetzt ist.

LMNR_HS BOOL FALSE Das Signal "Stellventil am oberen Anschlag" wird am Eingang "Oberes An-schlagsignal der Stellungsrückmeldung" verschaltet. LMNR_HS=TRUE heißt: Das Stellventil befindet sich am oberen Anschlag.

LMNR_LS BOOL FALSE Das Signal "Stellventil am unteren Anschlag" wird am Eingang "Unteres An-schlagsignal der Stellungsrückmeldung" verschaltet. LMNR_LS=TRUE heißt: Das Stellventil befindet sich am unteren Anschlag.

LMNS_ON BOOL FALSE Am Eingang "Handbetrieb der Stellwertsignale einschalten" wird die Stellwertsig-nalverarbeitung auf Hand geschaltet.

LMNUP BOOL FALSE Bei Handbetrieb der Stellwertsignale wird am Eingang "Stellwertsignal Hoch" das Ausgangssignal QLMNUP bedient.

LMNDN BOOL FALSE Bei Handbetrieb der Stellwertsignale wird am Eingang "Stellwertsignal Tief" das Ausgangssignal QLMNDN bedient.

PVPER_ON BOOL FALSE Soll der Istwert von der Peripherie eingelesen werden, so muss der Eingang PV_PER mit der Peripherie verschaltet werden und der Eingang "Istwert Peripherie einschalten" gesetzt werden.

CYCLE TIME T#1s Die Zeit zwischen den Bausteinaufrufen muss konstant sein. Der Eingang "Abtast-zeit" gibt die Zeit zwischen den Bausteinaufrufen an. CYCLE >= 1ms

SP_INT REAL 0.0 Der Eingang "Interner Sollwert" dient zur Vorgabe eines Sollwertes. Zulässig sind Werte von -100 bis 100 % oder eine physikalische Größe 1).

PV_IN REAL 0.0 Am Eingang "Istwert Eingang" kann ein Inbetriebsetzungswert parametriert oder ein externer Istwert im Gleitpunktformat verschaltet werden. Zulässig sind Werte von -100 bis 100 % oder eine physikalische Größe 1).

PV_PER WORD W#16#0000 Der Istwert in Peripherieformat wird am Eingang "Istwert Peripherie" mit dem Reg-ler verschaltet.

GAIN REAL 2.0 Der Eingang "Proportionalbeiwert" gibt die Reglerverstärkung an. TI TIME T#20s Der Eingang "Integrationszeit" bestimmt das Zeitverhalten des Integrierers.

TI >= CYCLE DEADB_W REAL 1.0 Die Regeldifferenz wird über eine Totzone geführt. Der Eingang "Totzonenbreite"

bestimmt die Größe der Totzone. Zulässig sind Werte von 0 bis 100 % oder eine physikalische Größe 1).

PV_FAC REAL 1.0 Der Eingang "Istwertfaktor" wird mit dem Istwert multipliziert. Der Eingang dient zur Anpassung des Istwertbereiches.

PV_OFF REAL 0.0 Der Eingang "Istwertoffset" wird mit dem Istwert addiert. Der Eingang dient zur Anpassung des Istwertbereiches.

PULSE_TM TIME T#3s Am Parameter "Mindestimpulsdauer" kann eine minimale Impulslänge parametriert werden. PULSE_TM >= CYCLE

Page 490: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 489

Parameter Daten-typ

Vorbele-gung

Beschreibung

BREAK_TM TIME T#3s Am Parameter "Mindestpausendauer" kann eine minimale Pausenlänge parame-triert werden. BREAK_TM >= CYCLE

MTR_TM TIME T#30s Am Parameter "Motorstellzeit" wird die Laufzeit des Stellventils vom Anschlag zu Anschlag eingetragen. MTR_TM >= CYCLE

DISV REAL 0.0 Für eine Störgrößenaufschaltung wird die Störgröße am Eingang "Störgröße" ver-schaltet. Zulässig sind Werte von -100 bis 100 % oder eine physikalische Größe 2).

1) Parameter im Soll-, Istwertzweig mit gleicher Einheit 2) Parameter im Stellwertzweig mit gleicher Einheit

9.4.2.5 Ausgangsparameter CONT_S

Parameter Daten-typ

Vorbelegung Beschreibung

QLMNUP BOOL FALSE Ist der Ausgang "Stellwertsignal Hoch" gesetzt, soll das Stellventil geöffnet wer-den.

QLMNDN BOOL FALSE Ist der Ausgang "Stellwertsignal Tief" gesetzt, soll das Stellventil geschlossen werden.

PV REAL 0.0 Am Ausgang "Istwert" wird der effektiv wirkende Istwert ausgegeben. ER REAL 0.0 Am Ausgang "Regeldifferenz" wird die effektiv wirkende Regeldifferenz ausgege-

ben.

Page 491: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 490 Funktionshandbuch, 11/2019, A5E35300226-AE

9.4.3 PULSEGEN

9.4.3.1 Beschreibung PULSEGEN Die Anweisung PULSEGEN dient zum Aufbau eines PID-Reglers mit Impulsausgang für proportionale Stellglieder. PULSEGEN transformiert die Eingangsgröße INV (= LMN des PID-Reglers) durch Modulation der Impulsbreite in eine Impulsfolge mit konstanter Periodendauer, welche der Zykluszeit entspricht, mit der die Eingangsgröße aktualisiert wird.

Anwendung Mit der Anweisung PULSEGEN lassen sich PID-Zwei- oder Dreipunktregler mit Pulsweitenmodulation aufbauen. Die Funktion wird meistens in Verbindung mit dem kontinuierlichen Regler CONT_C angewendet.

Aufruf Die Anweisung PULSEGEN verfügt über eine Initialisierungsroutine, die durchlaufen wird, wenn der Eingangsparameter COM_RST = TRUE gesetzt ist. Alle Signalausgänge werden auf Null gesetzt. Nach Durchlauf der Initialisierungsroutine muss COM_RST = FALSE gesetzt werden.

Die Berechnung der Werte in den Regelungsbausteinen erfolgt nur dann korrekt, wenn der Baustein in regelmäßigen Abständen aufgerufen wird. Deshalb sollten Sie die Regelungsbausteine in einem Weckalarm-OB (OB 30 bis OB 38) aufrufen. Die Abtastzeit geben Sie am Parameter CYCLE vor.

Verhalten im Fehlerfall Das Fehlermeldewort RET_VAL wird vom Baustein nicht ausgewertet.

Page 492: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 491

9.4.3.2 Arbeitsweise PULSEGEN

Impulsweitenmodulation Die Dauer eines Impulses pro Periodendauer ist proportional der Eingangsgröße. Dabei ist der durch PER_TM parametrierte Zyklus nicht identisch mit dem Bearbeitungszyklus der Anweisung PULSEGEN. Vielmehr setzt sich ein Zyklus PER_TM aus mehreren Bearbeitungszyklen der Anweisung PULSEGEN zusammen, wobei die Anzahl der PULSEGEN-Aufrufe pro PER_TM-Zyklus ein Maß für die Genauigkeit der Impulsbreite darstellt.

Eine Eingangsgröße 30% und 10 PULSEGEN-Aufrufe pro PER_TM bedeuten also:

● "eins" am Ausgang QPOS_P für die ersten drei Aufrufe von PULSEGEN (30% von 10 Aufrufen)

● "null" am Ausgang QPOS_P für sieben weitere Aufrufe von PULSEGEN (70% von 10 Aufrufen)

Page 493: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 492 Funktionshandbuch, 11/2019, A5E35300226-AE

Blockschaltbild

Stellwertgenauigkeit Durch ein "Abtastverhältnis" von 1:10 (CONT_C-Aufrufe zu PULSEGEN-Aufrufe) ist die Stellwertgenauigkeit in diesem Beispiel auf 10% beschränkt, d.h. vorgegebene Eingangswerte INV können nur im Raster von 10% auf eine Impulslänge am Ausgang QPOS_P abgebildet werden.

Entsprechend erhöht sich die Genauigkeit mit der Anzahl der PULSEGEN-Aufrufe pro CONT_C-Aufruf.

Wird z. B. PULSEGEN 100 mal häufiger aufgerufen als CONT_C, so erreicht man eine Auflösung von 1% des Stellwertbereiches.

Hinweis

Die Untersetzung der Aufrufhäufigkeit müssen Sie selbst programmieren.

Page 494: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 493

Automatische Synchronisation Es besteht die Möglichkeit, die Impulsausgabe mit der Anweisung, der die Eingangsgröße INV (z. B. CONT_C) aktualisiert, automatisch zu synchronisieren. Damit ist gewährleistet, dass eine ändernde Eingangsgröße auch schnellstmöglich als Impuls ausgegeben wird.

Der Impulsformer wertet immer im Zeitabstand der Periodendauer PER_TM die Eingangsgröße INV aus und wandelt den Wert in ein Impulssignal der entsprechenden Länge.

Da aber INV meistens in einer langsameren Weckalarmebene berechnet wird, sollte der Impulsformer möglichst schnell nach der Aktualisierung von INV mit der Umwandlung des diskreten Wertes in ein Impulssignal beginnen.

Dazu kann der Baustein den Start der Periode nach folgendem Verfahren selbst synchronisieren:

Hat sich INV geändert und befindet sich der Bausteinaufruf nicht im ersten oder in den letzten zwei Aufrufzyklen einer Periode, so wird eine Synchronisation durchgeführt. Die Impulsdauer wird neu berechnet und beim nächsten Zyklus mit einer neuen Periode wird mit der Ausgabe begonnen.

Page 495: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 494 Funktionshandbuch, 11/2019, A5E35300226-AE

Die automatische Synchronisation ist abgeschaltet, wenn SYN_ON = FALSE.

Hinweis

Durch den Beginn der neuen Periode wird der Altwert von INV (d.h. von LMN) nach erfolgter Synchronisation mehr oder weniger ungenau auf das Impulssignal abgebildet.

9.4.3.3 Betriebsarten PULSEGEN

Betriebsarten Je nach Parametrierung des Impulsformers können PID-Regler mit Dreipunktverhalten oder mit bipolarem bzw. unipolarem Zweipunktausgang konfiguriert werden. Nachstehende Tabelle zeigt die Einstellung der Schalterkombinationen für die möglichen Betriebsarten.

Betriebsart MAN_ON STEP3_ON ST2BI_ON Dreipunktregelung FALSE TRUE beliebig Zweipunktregelung mit bipolarem Stellbereich (-100 % ... 100 %)

FALSE FALSE TRUE

Zweipunktregelung mit unipolarem Stellbereich (0 % ... 100 %)

FALSE FALSE FALSE

Handbetrieb TRUE beliebig beliebig

Handbetrieb bei Zwei- bzw. Dreipunkt-Regelung Im Handbetrieb (MAN_ON = TRUE) können die Binärausgänge des Dreipunkt- bzw. Zweipunktreglers über die Signale POS_P_ON und NEG_P_ON unabhängig von INV gesetzt werden.

Regelung POS_P_ON NEG_P_ON QPOS_P QNEG_P Dreipunktregelung FALSE FALSE FALSE FALSE

TRUE FALSE TRUE FALSE FALSE TRUE FALSE TRUE TRUE TRUE FALSE FALSE

Zweipunktregelung FALSE beliebig FALSE TRUE TRUE beliebig TRUE FALSE

Page 496: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 495

9.4.3.4 Dreipunktregelung

Dreipunktregelung In der Betriebsart "Dreipunktregelung" können drei Zustände des Stellsignals erzeugt werden. Dazu werden die Zustandswerte der binären Ausgangssignale QPOS_P und QNEG_P den jeweiligen Betriebszuständen des Stellgliedes zugeordnet. Die Tabelle zeigt das Beispiel einer Temperaturregelung: Ausgangssignale heizen aus kühlen QPOS_P TRUE FALSE FALSE QNEG_P FALSE FALSE TRUE

Aus der Eingangsgröße wird über eine Kennlinie die Impulsdauer berechnet. Die Form dieser Kennlinie wird durch die Mindestimpuls- bzw. Mindestpausendauer und dem Verhältnisfaktor definiert. Der normale Wert für den Verhältnisfaktor ist 1.

Die Knickpunkte an den Kennlinien werden durch die Mindestimpuls- bzw. Mindestpausendauer verursacht.

Mindestimpuls- bzw. Mindestpausendauer

Eine richtig parametrierte Mindestimpuls- bzw. Mindestpausendauer P_B_TM kann kurze Ein- oder Ausschaltzeiten verhindern, die die Lebensdauer von Schaltgliedern und Stelleinrichtungen beeinträchtigen. Kleine Absolutwerte der Eingangsgröße LMN, die eine Impulsdauer kleiner als P_B_TM erzeugen würden, werden unterdrückt. Große Eingangswerte, die eine Impulsdauer größer als PER_TM - P_B_TM erzeugen würden, werden auf 100 % bzw. -100 % gesetzt.

Die Dauer der positiven oder negativen Impulse errechnet sich aus Eingangsgröße (in %) mal Periodendauer:

Impulsdauer = INV / 100 * PER_TM

Page 497: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 496 Funktionshandbuch, 11/2019, A5E35300226-AE

Das folgende Bild zeigt eine symmetrische Kennlinie des Dreipunktreglers (Verhältnisfaktor = 1)

Page 498: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 497

Dreipunktregelung unsymmetrisch Über den Verhältnisfaktor RATIOFAC kann das Verhältnis der Dauer von positiven zu negativen Impulsen verändert werden. Bei einem thermischen Prozess lassen sich damit z. B. unterschiedliche Streckenzeitkonstanten für Heizen und Kühlen berücksichtigen.

Verhältnisfaktor < 1

Die aus Eingangsgröße mal Periodendauer berechnete Impulsdauer am negativen Impulsausgang wird mit dem Verhältnisfaktor multipliziert.

Positive Impulsdauer = INV /100 * PER_TM

Negative Impulsdauer = INV / 100 * PER_TM * RATIOFAC

Das folgende Bild zeigt die unsymmetrische Kennlinie des Dreipunktreglers (Verhältnisfaktor = 0.5)

Verhältnisfaktor > 1

Die aus Eingangsgröße mal Periodendauer berechnete Impulsdauer am positiven Impulsausgang wird durch den Verhältnisfaktor dividiert.

positive Impulsdauer = INV / 100 * PER_TM / RATIOFAC

negative Impulsdauer = INV / 100 * PER_TM

Page 499: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 498 Funktionshandbuch, 11/2019, A5E35300226-AE

9.4.3.5 Zweipunktregelung Bei der Zweipunktregelung wird nur der positive Impulsausgang QPOS_P von PULSEGEN mit dem betreffenden Ein/Aus-Stellglied verbunden. Je nach genutztem Stellwertbereich hat der Zweipunktregler einen bipolaren oder einen unipolaren Stellwertbereich.

Zweipunktregelung mit bipolarem Stellwertbereich (-100%...100%)

Zweipunktregelung mit unipolarem Stellwertbereich (0%...100%)

An QNEG_P steht das negierte Ausgangssignal zur Verfügung, falls die Verschaltung des Zweipunktreglers im Regelkreis ein logisch invertiertes Binärsignal für die Stellimpulse erfordert. Impuls Stellglied Ein Stellglied Aus QPOS_P TRUE FALSE QNEG_P FALSE TRUE

Page 500: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 499

9.4.3.6 Eingangsparameter PULSEGEN Die Werte der Eingangsparameter werden im Baustein nicht begrenzt; eine Prüfung der Parameter findet nicht statt.

Parameter Daten-typ

Vorbelegung Beschreibung

INV REAL 0.0 Am Eingangsparameter "Eingangsvariable" wird eine analoge Stellwertgröße aufgeschaltet. Zulässig sind Werte von -100 bis 100 %.

PER_TM TIME T#1s Am Parameter "Periodendauer" wird die konstante Periodendauer der Pulswei-tenmodulation eingegeben. Sie entspricht der Abtastzeit des Reglers. Das Ver-hältnis Abtastzeit des Impulsformers zu Abtastzeit des Reglers bestimmt die Genauigkeit der Pulsweitenmodulation. PER_TM >=20*CYCLE

P_B_TM TIME T#50ms Am Parameter "Mindestimpuls- bzw. Mindestpausendauer" kann eine minimale Impuls- bzw. Pausenlänge parametriert werden. P_B_TM >= CYCLE

RATIOFAC REAL 1.0 Durch den Eingangsparameter "Verhältnisfaktor" kann das Verhältnis der Dauer von negativen zu positiven Impulsen verändert werden. Bei einem thermischen Prozess können damit unterschiedliche Zeitkonstanten für Heizen und Kühlen (z. B. Prozess mit elektrischer Heizung und Wasserkühlung) kompensiert wer-den. Zulässig sind Werte von 0.1 bis 10.0.

STEP3_ON BOOL TRUE Am Eingangsparameter "Dreipunktregelung einschalten" wird die entsprechen-de Betriebsart aktiviert. Bei Dreipunktregelung arbeiten beide Ausgangssignale.

ST2BI_ON BOOL FALSE Am Eingangsparameter "Zweipunktregelung für bipolaren Stellwertbereich ein-schalten" kann zwischen den Betriebsarten "Zweipunktregelung für bipolaren Stellwertbereich" und "Zweipunktregelung für unipolaren Stellwertbereich" ge-wählt werden. Hierbei muss STEP3_ON = FALSE sein.

MAN_ON BOOL FALSE Durch Setzen des Eingangsparameter "Handbetrieb einschalten" können die Ausgangssignale von Hand gesetzt werden.

POS_P_ON BOOL FALSE Bei Handbetrieb Dreipunktregelung kann am Eingangsparameter "Positiver Impuls ein" das Ausgangssignal QPOS_P bedient werden. Bei Handbetrieb Zweipunktregelung wird QNEG_P immer invertiert zu QPOS_P gesetzt.

NEG_P_ON BOOL FALSE Bei Handbetrieb Dreipunktregelung kann am Eingangsparameter "Negativer Impuls ein" das Ausgangssignal QNEG_P bedient werden. Bei Handbetrieb Zweipunktregelung wird QNEG_P immer invertiert zu QPOS_P gesetzt.

SYN_ON BOOL TRUE Es besteht die Möglichkeit durch Setzen des Eingangsparameters "Synchroni-sation einschalten" die Impulsausgabe mit dem Baustein, der die Eingangsgrö-ße INV aktualisiert, automatisch zu synchronisieren. Damit ist gewährleistet, dass eine sich ändernde Eingangsgröße auch schnellstmöglich als Impuls aus-gegeben wird.

COM_RST BOOL FALSE Der Baustein hat eine Initialisierungsroutine, die bearbeitet wird, wenn der Ein-gang "Neustart" gesetzt ist.

CYCLE TIME T#10ms Die Zeit zwischen den Bausteinaufrufen muss konstant sein. Der Eingang "Ab-tastzeit" gibt die Zeit zwischen den Bausteinaufrufen an. CYCLE >= 1ms

Page 501: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 500 Funktionshandbuch, 11/2019, A5E35300226-AE

9.4.3.7 Ausgangsparameter PULSEGEN

Parameter Datentyp Vorbelegung Beschreibung QPOS_P BOOL FALSE Der Ausgangsparameter "Ausgangssignal positiver Impuls" ist

gesetzt, wenn ein Impuls ausgegeben werden soll. Bei Drei-punktregelung ist es der positive Impuls. Bei Zweipunktrege-lung wird QNEG_P immer invertiert zu QPOS_P gesetzt

QNEG_P BOOL FALSE Der Ausgangsparameter "Ausgangssignal negativer Impuls" ist gesetzt, wenn ein Impuls ausgegeben werden soll. Bei Drei-punktregelung ist es der negative Impuls. Bei Zweipunktrege-lung wird QNEG_P immer invertiert zu QPOS_P gesetzt.

Page 502: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 501

9.4.4 TCONT_CP

9.4.4.1 Beschreibung TCONT_CP Die Anweisung TCONT_CP dient zum Regeln von Temperaturprozessen mit kontinuierlicher oder impulsförmiger Ansteuerung. Die Arbeitsweise basiert auf dem PID-Regelalgorithmus, der mit zusätzlichen Funktionen für Temperaturprozesse ausgestattet ist. Zur Verbesserung des Regelverhaltens bei Temperaturstrecken hat der Baustein eine Regelzone und eine Reduzierung des P-Anteils bei Sollwertsprüngen.

Die PI/PID-Parameter kann die Anweisung mittels Regleroptimierung selbst einstellen.

Anwendung Der Regler versorgt ein Stellglied, d. h. Sie können mit einem Regler entweder nur heizen oder nur kühlen. Bei Einsatz für einen Kühlprozess müssen Sie GAIN mit einem negativen Wert parametrieren. Die so parametrierte Reglerinvertierung bewirkt, dass nun z. B. bei einem Anstieg der Temperatur sich die Stellgröße LMN und damit die Kühlleistung erhöht.

Aufruf Die Anweisung TCONT_CP muss äquidistant aufgerufen werden. Benutzen Sie hierzu eine Weckalarmebene (z.B. OB35 bei S7-300).

Die Anweisung TCONT_CP hat eine Initialisierungsroutine, die durchlaufen wird, wenn der Eingangs-Parameter COM_RST = TRUE gesetzt ist. Der Integrierer wird bei der Initialisierung auf den Initialisierungswert I_ITVAL gesetzt. Alle anderen Signalausgänge werden auf Null gesetzt. Der Baustein setzt nach dem Bearbeiten der Initialisierungsroutine COM_RST wieder auf FALSE zurück. Wenn Sie eine Initialisierung bei Neustart der CPU wünschen, rufen Sie den Baustein im OB 100 mit COM_RST = TRUE auf.

Wenn Sie die Anweisung TCONT_CP als Multiinstanz-DB aufrufen, wird kein Technologieobjekt angelegt. Es steht Ihnen keine Parametrier- und Inbetriebnahmeoberfläche zur Verfügung. Sie müssen TCONT_CP direkt im Multiinstanz-DB parametrieren und über eine Beobachtungstabelle in Betrieb nehmen.

Siehe auch Arbeitsweise Pulsgenerator (Seite 511)

Blockschaltbild TCONT_CP (Seite 514)

Page 503: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 502 Funktionshandbuch, 11/2019, A5E35300226-AE

9.4.4.2 Arbeitsweise TCONT_CP

Sollwertzweig Der Sollwert wird am Eingang SP_INT im Gleitpunktformat physikalisch oder in Prozent eingegeben. Sollwert und Istwert müssen an der Regeldifferenzbildung die gleiche Einheit besitzen.

Istwertauswahl (PVPER_ON) Der Istwert kann abhängig von PVPER_ON im Peripherie- oder im Gleitpunktformat eingelesen werden. PVPER_ON Istwerteingabe TRUE Der Istwert wird über die Analogperipherie (PEW

xxx) am Eingang PV_PER eingelesen. FALSE Der Istwert wird im Gleitpunktformat am Eingang

PV_IN eingelesen.

Istwertformatumwandlung CRP_IN (PER_MODE) Die Funktion CRP_IN wandelt den Peripheriewert PV_PER abhängig vom Schalter PER_MODE in ein Gleitpunktformat nach folgender Vorschrift um: PER_MODE Ausgang von CRP_IN Analogeingabe-Typ Einheit 0 PV_PER * 0.1 Thermoelemente;

PT100/NI100; Standard °C;°F

1 PV_PER * 0.01 PT100/NI100; Klima; °C;°F 2 PV_PER * 100/27648 Spannung/Strom %

Istwertnormierung PV_NORM (PF_FAC, PV_OFFS) Die Funktion PV_NORM berechnet den Ausgang von CRP_IN nach folgender Vorschrift:

"Ausgang von PV_NORM" = "Ausgang von CRP_IN" * PV_FAC + PV_OFFS

Sie kann für folgende Zwecke eingesetzt werden:

● Istwert-Anpassung mit PV_FAC als Istwertfaktor und PV_OFFS als Istwertoffset

● Normierung von Temperatur nach Prozent

Sie wollen den Sollwert in Prozent eingeben und müssen nun den gemessenen Temperaturwert in Prozent umrechnen.

● Normierung von Prozent nach Temperatur

Sie wollen den Sollwert in der physikalischen Größe Temperatur eingeben und müssen nun den gemessenen Spannungs-/Strom-Wert in eine Temperatur umrechnen.

Page 504: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 503

Berechnung der Parameter:

● PV_FAC = Bereich von PV_NORM/Bereich von CRP_IN;

● PV_OFFS = UG(PV_NORM) - PV_FAC * UG(CRP_IN);

mit UG: Untergrenze

Mit den Defaultwerten (PV_FAC = 1.0 und PV_OFFS = 0.0) ist die Normierung abgeschaltet. Der effektiv wirksame Istwert wird am Ausgang PV ausgegeben.

Hinweis

Bei Impulsregelung muss der Istwert im schnellen Impulsaufruf dem Baustein übergeben werden (Grund: Mittelwertfilterung). Sonst kann sich die Regelqualität verschlechtern.

Beispiel zur Istwertnormierung Wenn Sie den Sollwert in Prozent vorgeben wollen und Sie einen Temperaturbereich von -20 bis 85 °C an CRP_IN anliegen haben, müssen Sie den Temperaturbereich in Prozent umnormieren.

Das folgende Bild stellt ein Beispiel für die Anpassung des Temperaturbereichs -20 bis 85 °C auf intern 0 bis 100 % dar:

Regeldifferenzbildung Die Differenz von Soll- und Istwert ergibt die Regeldifferenz vor der Totzone.

Soll- und Istwert müssen in der gleichen Einheit vorliegen.

Page 505: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 504 Funktionshandbuch, 11/2019, A5E35300226-AE

Totzone (DEADB_W) Zur Unterdrückung einer kleinen Dauerschwingung aufgrund der Stellgrößen-Quantisierung (z. B. bei einer Pulsweitenmodulation mit PULSEGEN) wird die Regeldifferenz über eine Totzone (DEADBAND) geleitet. Bei DEADB_W = 0.0 ist die Totzone ausgeschaltet. Die wirksame Regeldifferenz wird am Parameter ER angezeigt.

PID-Algorithmus In folgendem Bild ist das Blockschaltbild des PID-Algorithmus dargestellt.

Parametrieroberfläche Aufrufschnittstellle Anweisung

Page 506: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 505

PID-Algorithmus (GAIN, TI, TD, D_F) Der PID-Algorithmus arbeitet im Stellungsalgorithmus. Der Proportional-, Integral (INT) und Differentialanteil (DIF) sind parallel geschaltet und lassen sich einzeln zu- und abschalten. Damit können Sie P-, PI-, PD- und PID-Regler parametrieren.

Die Regleroptimierung unterstützt PI- und PID-Regler. Reglerinvertierung erfolgt über ein negatives GAIN (Kühlregler).

Wenn Sie TI und TD auf 0.0 setzen erhalten Sie einen reinen P-Regler am Arbeitspunkt.

Die Sprungantwort im Zeitbereich ist:

Darin bedeutet:

LMN_Sum(t) die Stellgröße bei Automatikbetrieb des Reglers

ER (0) die Sprunghöhe der normierten Regeldifferenz

GAIN die Reglerverstärkung

TI die Integrationszeit

TD die Differenzierzeit

D_F der Differenzierfaktor

Page 507: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 506 Funktionshandbuch, 11/2019, A5E35300226-AE

Integrierer (TI, I_ITL_ON, I_ITLVAL) Bei Handbetrieb wird er wie folgt nachgeführt: LMN_I = LMN - LMN_P - DISV.

Bei Begrenzung des Stellwerts wird der I-Anteil angehalten. Bei einer Regeldifferenz, die den I-Anteil in Richtung innerer Stellbereich bewegt, wird der I-Anteil wieder freigegeben.

Weitere Modifikationen des I-Anteils ergeben sich durch folgende Maßnahmen:

● Abschalten des I-Anteils des Reglers erfolgt mit TI = 0.0

● Abschwächung des P-Anteils bei Sollwertänderungen

● Regelzone

● Die Stellwertgrenzen lassen sich online ändern

Abschwächung des P-Anteils bei Sollwertänderungen (PFAC_SP) Um Überschwingen zu vermeiden können Sie den P-Anteil über den Parameter "Proportionalfaktor bei Sollwertänderungen" (PFAC_SP) abschwächen. Über PFAC_SP können Sie zwischen 0.0 und 1.0 kontinuierlich wählen, wie stark der P-Anteil bei Sollwertänderungen wirken soll:

● PFAC_SP = 1.0: P-Anteil bei Sollwertänderung voll wirksam

● PFAC_SP = 0.0: P-Anteil bei Sollwertänderung nicht wirksam

Die Abschwächung des P-Anteils wird durch eine Kompensation am I-Anteil erreicht.

Differenzierer (TD, D_F) ● Abschalten des D-Anteils des Reglers erfolgt mit TD = 0.0.

● Bei zugeschaltetem D-Anteil sollte folgende Gleichung eingehalten werden:

TD = 0.5 * CYCLE * D_F

Parametrierung eines P- oder PD-Reglers mit Arbeitspunkt Schalten Sie in der Parametrieroberfläche den I-Anteil (TI = 0.0) und evtl. den D-Anteil (TD = 0.0) ab. Führen Sie außerdem folgende Parametrierung durch:

● I_ITL_ON = TRUE

● I_ITLVAL = Arbeitspunkt;

Störgrößenaufschaltung (DISV) Am Eingang DISV können Sie eine Störgröße additiv aufschalten.

Page 508: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 507

Stellwertberechnung In folgendem Bild ist das Blockschaltbild der Stellwertberechnung dargestellt:

Parametrieroberfläche Aufrufschnittstellle Anweisung Parametrieroberfläche, Aufrufschnittstellle Anweisung

Page 509: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 508 Funktionshandbuch, 11/2019, A5E35300226-AE

Regelzone (CONZ_ON, CON_ZONE) Wenn CONZ_ON = TRUE arbeitet der Regler mit einer Regelzone. Das bedeutet, dass der Regler nach folgendem Algorithmus angesteuert wird:

● Übersteigt der Istwert PV den Sollwert SP_INT um mehr als CON_ZONE, wird als Stellgröße der Wert LMN_LLM ausgegeben.

● Unterschreitet der Istwert PV den Sollwert SP_INT um mehr als CON_ZONE, wird LMN_HLM ausgegeben.

● Bewegt sich der Istwert PV innerhalb der Regelzone (CON_ZONE), nimmt der Stellwert den Wert vom PID-Algorithmus LMN_Sum an.

Hinweis

Der Wechsel der Stellgröße von LMN_LLM oder LMN_HLM auf LMN_Sum erfolgt unter Einhaltung einer Hysterese von 20% der Regelzone.

Hinweis

Bevor Sie die Regelzone von Hand einschalten müssen Sie sicherstellen, dass die Regelzonenbreite nicht zu klein eingestellt ist. Bei zu klein eingestellter Regelzonenbreite treten Schwingungen im Verlauf der Stellgröße und des Istwertverlaufs auf.

Vorteil der Regelzone Beim Eintritt in die Regelzone führt der zugeschaltete D-Anteil zu einem sehr schnellen Reduzieren der Stellgröße. Daher ist die Regelzone nur bei eingeschaltetem D-Anteil sinnvoll. Ohne Regelzone würde im wesentlichen nur der sich reduzierende P-Anteil die Stellgröße reduziert. Die Regelzone führt zu einem schnelleren Einschwingen ohne Über-/Unterschwingen, wenn die ausgegebene minimale oder maximale Stellgröße weit von der für den neuen Arbeitspunkt stationär notwendigen Stellgröße entfernt ist.

Page 510: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 509

Handwertverarbeitung (MAN_ON, MAN) Sie können zwischen Hand- und Automatikbetrieb umschalten. Bei Handbetrieb wird die Stellgröße einem Handwert nachgeführt.

Der Integrierer (INT) wird intern auf LMN - LMN_P - DISV und der Differenzierer (DIF) auf 0 gesetzt und intern abgeglichen. Das Umschalten in den Automatikbetrieb ist damit stoßfrei.

Hinweis

Während einer Optimierung ist der Parameter MAN_ON nicht wirksam.

Stellwertbegrenzung LMNLIMIT (LMN_HLM, LMN_LLM) Der Stellwert wird mit der Funktion LMNLIMIT auf die Stellwertgrenzen LMN_HLM und LMN_LLM begrenzt. Das Erreichen der Grenzen wird durch die Meldebits QLMN_HLM und QLMN_LLM angezeigt.

Bei Begrenzung des Stellwerts wird der I-Anteil angehalten. Bei einer Regeldifferenz, die den I-Anteil in Richtung innerer Stellbereich bewegt, wird der I-Anteil wieder freigegeben.

Stellwertgrenzen online ändern Wird der Stellwertbereich verringert und der neue unbegrenzte Stellwert liegt außerhalb der Grenzen, wird der I-Anteil und damit der Stellwert verschoben.

Der Stellwert wird um die Änderung der Stellwertgrenze verringert. War der Stellwert vor der Änderung unbegrenzt, wird er genau auf die neue Grenze gesetzt (hier beschrieben für die obere Stellwertgrenze).

Stellwertnormierung LMN_NORM (LMN_FAC, LMN_OFFS) Die Funktion LMN_NORM normiert den Stellwert nach folgender Vorschrift:

LMN = LmnN * LMN_FAC + LMN_OFFS

Sie kann für folgende Zwecke eingesetzt werden:

● Stellwert-Anpassung mit LMN_FAC als Stellwertfaktor und LMN_OFFS als Stellwertoffset

Der Stellwert steht auch im Peripherieformat zur Verfügung. Die Funktion CRP_OUT wandelt den Gleitpunktwert LMN in einen Peripheriewert nach folgender Vorschrift um:

LMN_PER = LMN * 27648/100

Mit den Defaultwerten (LMN_FAC = 1.0 und LMN_OFFS = 0.0) ist die Normierung abgeschaltet. Der effektiv wirksame Stellwert wird am Ausgang LMN ausgegeben.

Page 511: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 510 Funktionshandbuch, 11/2019, A5E35300226-AE

Reglerparameter speichern SAVE_PAR Wenn Sie die aktuellen Reglerparameter als brauchbar einstufen, können Sie diese vor einer manuellen Änderung in eigens dafür vorgesehenen Strukturparametern im Instanz-DB der Anweisung TCONT_CP speichern. Bei einer Regleroptimierung werden die gespeicherten Parameter durch die vor der Optimierung gültigen Werte überschrieben.

PFAC_SP, GAIN, TI, TD, D_F, CONZ_ON und CONZONE werden in die Struktur PAR_SAVE geschrieben.

Gespeicherte Reglerparameter zurückladen UNDO_PAR Die zuletzt gespeicherten Reglerparameter können mit dieser Funktion wieder für den Regler aktiviert werden (nur im Handbetrieb).

Wechsel zwischen PI- und PID-Parametern LOAD_PID (PID_ON) Nach einer Optimierung werden die PI- und PID-Parameter in den Strukturen PI_CON und PID_CON hinterlegt. Mit LOAD_PID in Abhängigkeit von PID_ON können Sie im Handbetrieb die PI- bzw. PID-Parameter auf die wirksamen Reglerparameter schreiben. PID-Parameter PID_ON = TRUE PI-Parameter PID_ON = FALSE

• GAIN = PID_CON.GAIN • TI = PID_CON.TI • TD = PID_CON.TD

• GAIN = PI_CON.GAIN • TI = PI_CON.TI

Hinweis

Die Reglerparameter werden mit UNDO_PAR oder LOAD_PID nur dann zurückgeschrieben, wenn die Reglerverstärkung ungleich Null ist:

Bei LOAD_PID werden die Parameter nur kopiert, falls das jeweilige GAIN <> 0 ist (entweder vom PI- oder PID-Parametersatz). Damit ist der Fall berücksichtigt, dass noch keine Optimierung durchgeführt wurde bzw. PID-Parameter fehlen. War PID_ON = TRUE und PID.GAIN = FALSE, wird PID_ON auf FALSE gesetzt und die PI-Parameter kopiert. • D_F, PFAC_SP werden durch die Optimierung voreingestellt. Sie können anschließend

vom Anwender modifiziert werden. LOAD_PID verändert diese Parameter nicht. • Die Regelzone wird bei LOAD_PID immer neu berechnet

(CON_ZONE = 250/GAIN), auch wenn CONZ_ON = FALSE.

Siehe auch Arbeitsweise Pulsgenerator (Seite 511)

Blockschaltbild TCONT_CP (Seite 514)

Page 512: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 511

9.4.4.3 Arbeitsweise Pulsgenerator Die Funktion PULSEGEN wandelt den analogen Stellwert LmnN durch Pulsweitenmodulation in eine Impulsfolge mit der Periodendauer PER_TM um. PULSEGEN wird mit PULSE_ON = TRUE eingeschaltet und wird im Zyklus CYCLE_P bearbeitet.

Ein Stellwert LmnN = 30 % und 10 PULSEGEN-Aufrufe pro PER_TM bedeuten also:

● TRUE am Ausgang QPULSE für die ersten drei Aufrufe des PULSEGEN (30 % von 10 Aufrufen)

● FALSE am Ausgang QPULSE für sieben weitere Aufrufe des PULSEGEN (70 % von 10 Aufrufen)

Die Dauer eines Impulses pro Periodendauer ist proportional der Stellgröße und errechnet sich aus:

Impulsdauer = PER_TM * LmnN /100

Durch die Unterdrückung von Mindestimpuls- bzw. -Pausendauer erhält die Umformkennlinie Knickpunkte im Anfangs- und Endbereich.

Page 513: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 512 Funktionshandbuch, 11/2019, A5E35300226-AE

Im folgenden Bild ist die Zweipunktregelung mit unipolarem Stellwertbereich (0 % bis 100 %) dargestellt:

Mindestimpuls- bzw. Mindestpausendauer (P_B_TM) Kurze Ein- oder Ausschaltzeiten beeinträchtigen die Lebensdauer von Stellgliedern und Stelleinrichtungen. Diese können dadurch vermieden werden, dass eine Mindestimpulsdauer bzw. Mindestpausendauer P_B_TM parametriert wird.

Kleine Absolutwerte der Eingangsgröße LmnN, die eine Impulsdauer kleiner als P_B_TM erzeugen würden, werden unterdrückt.

Große Eingangswerte, die eine Impulsdauer größer als PER_TM - P_B_TM erzeugen würden, werden auf 100 % gesetzt. Hierdurch wird die Dynamik der Impulsformung verringert.

Für die Mindestimpulsdauer bzw. Mindestpausendauer werden Einstellwerte P_B_TM ≤ 0,1 * PER_TM empfohlen.

Die Knickpunkte an den Kennlinien im obigen Bild werden durch die Mindestimpulsdauer bzw. Mindestpausendauer verursacht.

Im folgenden Bild ist das Schaltverhalten des Impulsausgangs dargestellt:

Page 514: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 513

Genauigkeit der Impulsformung Je kleiner die Impulsrasterbreite CYCLE_P gegenüber der Periodendauer PER_TM ist, desto genauer ist die Pulsweitenmodulation. Für eine hinreichend genaue Regelung sollte folgende Beziehung gelten:

CYCLE_P ≤ PER_TM/50

Damit wird der Stellwert mit einer Auflösung von ≤ 2 % in Impulse gewandelt.

Hinweis

Wenn Sie den Regler im Impulsformerzyklus aufrufen, müssen Sie Folgendes beachten:

Bei Aufruf des Reglers im Impulsformerzyklus wird der Istwert gemittelt. Dies hat zur Folge, dass am Ausgang PV unterschiedliche Werte zum Eingang PV_IN bzw. PV_PER stehen können. Wenn Sie eine Sollwertnachführung realisieren wollen, müssen Sie sich den Istwert am Eingangsparameter PV_IN zu den Aufrufzeitpunkten der Gesamtreglerbearbeitung (QC_ACT = TRUE) speichern. Bei den dazwischen liegenden Aufrufen des Impulsformers versorgen Sie die Eingangsparameter PV_IN und SP_INT mit dem gespeicherten Istwert.

Siehe auch Beschreibung TCONT_CP (Seite 501)

Arbeitsweise TCONT_CP (Seite 502)

Blockschaltbild TCONT_CP (Seite 514)

Eingangsparameter TCONT_CP (Seite 516)

Ausgangsparameter TCONT_CP (Seite 516)

Durchgangsparameter TCONT_CP (Seite 517)

Statische Variablen TCONT_CP (Seite 518)

Parameter STATUS_H (Seite 523)

Parameter STATUS_D (Seite 524)

Page 515: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 514 Funktionshandbuch, 11/2019, A5E35300226-AE

9.4.4.4 Blockschaltbild TCONT_CP

Page 516: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 515

Siehe auch Beschreibung TCONT_CP (Seite 501)

Arbeitsweise TCONT_CP (Seite 502)

Arbeitsweise Pulsgenerator (Seite 511)

Eingangsparameter TCONT_CP (Seite 516)

Ausgangsparameter TCONT_CP (Seite 516)

Durchgangsparameter TCONT_CP (Seite 517)

Statische Variablen TCONT_CP (Seite 518)

Parameter STATUS_H (Seite 523)

Parameter STATUS_D (Seite 524)

Page 517: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 516 Funktionshandbuch, 11/2019, A5E35300226-AE

9.4.4.5 Eingangsparameter TCONT_CP

Parameter Ad-resse

Daten-typ

Vorbe-legung

Beschreibung

PV_IN 0.0 REAL 0.0 Am Eingang "Istwert Eingang" kann ein Inbetriebsetzungswert parametriert oder ein externer Istwert im Gleitpunktformat verschaltet werden. Die gültigen Werte sind abhängig von den eingesetzten Sensoren.

PV_PER 4.0 INT 0 Der Istwert in Peripherieformat wird am Eingang "Istwert Peripherie" mit dem Regler verschaltet.

DISV 6.0 REAL 0.0 Für eine Störgrößenaufschaltung wird die Störgröße am Eingang "Störgröße" verschaltet.

INT_HPOS 10.0 BOOL FALSE Der Ausgang des Integrierers kann in positive Richtung blockiert werden. Hier-zu muss der Eingang INT_HPOS auf TRUE gesetzt werden. Bei einer Kaskade-regelung wird INT_HPOS des Führungsregler mit QLMN_HLM des Folgereglers verschaltet.

INT_HNEG 10.1 BOOL FALSE Der Ausgang des Integrierers kann in negative Richtung blockiert werden. Hier-zu muss der Eingang INT_HNEG auf TRUE gesetzt werden. Bei einer Kaskade-regelung wird INT_HNEG des Führungsreglers mit QLMN_LLM des Folgereglers verschaltet.

SELECT 12.0 INT 0 Ist der Impulsformer eingeschaltet, gibt es mehrere Möglichkeiten den PID-Algorithmus und Impulsformer aufzurufen: • SELECT = 0: Der Regler wird in einer schnellen Weckalarmebene aufgeru-

fen und es werden PID-Algorithmus und Impulsformer bearbeitet. • SELECT = 1: Der Regler wird im OB1 aufgerufen und es wird nur der

PID-Algorithmus bearbeitet. • SELECT = 2: Der Regler wird in einer schnellen Weckalarmebene aufgeru-

fen und es wird nur der Impulsformer bearbeitet. • SELECT = 3: Der Regler wird in einer langsamen Weckalarmebene aufge-

rufen und es wird nur der PID-Algorithmus bearbeitet.

Siehe auch Arbeitsweise Pulsgenerator (Seite 511)

Blockschaltbild TCONT_CP (Seite 514)

9.4.4.6 Ausgangsparameter TCONT_CP

Tabelle 9- 1

Parameter Adres-se

Daten-typ

Vorbele-gungt

Beschreibung

PV 14.0 REAL 0.0 Am Ausgang "Istwert" wird der effektiv wirkende Istwert ausgegeben. Die gültigen Werte sind abhängig von den eingesetzten Sensoren.

LMN 18.0 REAL 0.0 Am Ausgang "Stellwert" wird der effektiv wirkende Stellwert in Gleitpunktfor-mat ausgegeben.

Page 518: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 517

Parameter Adres-se

Daten-typ

Vorbele-gungt

Beschreibung

LMN_PER 22.0 INT 0 Der Stellwert in Peripherieformat wird am Ausgang "Stellwert Peripherie" mit dem Regler verschaltet.

QPULSE 24.0 BOOL FALSE Der Stellwert wird pulsweitenmoduliert am Ausgang QPULSE ausgegeben. QLMN_HLM 24.1 BOOL FALSE Der Stellwert wird immer auf eine obere und untere Grenze begrenzt. Der

Ausgang QLMN_HLM meldet das Erreichen der oberen Begrenzung. QLMN_LLM 24.2 BOOL FALSE Der Stellwert wird immer auf eine obere und untere Grenze begrenzt. Der

Ausgang QLMN_LLM meldet das Erreichen der unteren Begrenzung. QC_ACT 24.3 BOOL TRUE Der Parameter zeigt an, ob beim nächsten Bausteinaufruf der kontinuierliche

Regleranteil bearbeitet wird (nur relevant, wenn SELECT den Wert 0 oder 1 hat).

Siehe auch Arbeitsweise Pulsgenerator (Seite 511)

Blockschaltbild TCONT_CP (Seite 514)

Parameter STATUS_H (Seite 523)

Parameter STATUS_D (Seite 524)

9.4.4.7 Durchgangsparameter TCONT_CP

Parameter Adres-se

Daten-typ

Vorbe-legung

Beschreibung

CYCLE 26.0 REAL 0.1 s Vorgabe der Abtastzeit für den PID-Algorithmus. Der Optimierer berechnet in Phase 1 die Abtastzeit und trägt sie in CYCLE ein. CYCLE > 0.001 s

CYCLE_P 30.0 REAL 0.02 s An diesem Eingang geben Sie die Abtastzeit für den Impulsformer-Anteil ein. Die Anweisung TCONT_CP berechnet in Phase 1 die Abtastzeit und trägt sie in CYCLE_P ein. CYCLE_P > 0.001 s

SP_INT 34.0 REAL 0.0 Der Eingang "Interner Sollwert" dient zur Vorgabe eines Sollwertes. Die gültigen Werte sind abhängig von den eingesetzten Sensoren.

MAN 38.0 REAL 0.0 Der Eingang "Handwert" dient zur Vorgabe eines Handwertes. Im Automatikbe-trieb wird er dem Stellwert nachgeführt.

COM_RST 42.0 BOOL FALSE Der Baustein hat eine Initialisierungsroutine, die bearbeitet wird, wenn der Ein-gang COM_RST gesetzt ist.

MAN_ON 42.1 BOOL TRUE Ist der Eingang "Handbetrieb einschalten" gesetzt, ist der Regelkreis unterbro-chen. Als Stellwert wird der Handwert MAN vorgegeben.

Siehe auch Arbeitsweise Pulsgenerator (Seite 511)

Blockschaltbild TCONT_CP (Seite 514)

Page 519: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 518 Funktionshandbuch, 11/2019, A5E35300226-AE

9.4.4.8 Statische Variablen TCONT_CP

Parameter Adresse Daten-typ

Vorbele-gung

Beschreibung

DEADB_W 44.0 REAL

0.0 Die Regeldifferenz wird über eine Totzone geführt. Der Eingang "Totzonen-breite" bestimmt die Größe der Totzone. Die gültigen Werte sind abhängig von den eingesetzten Sensoren.

I_ITLVAL 48.0 REAL 0.0 Der Ausgang des Integrierers kann am Eingang I_ITL_ON gesetzt werden. Am Eingang "Initialisierungswert für I-Anteil" steht der Initialisierungswert. Bei Neustart COM_RST = TRUE wird der I-Anteil auf den Initialisierungswert gesetzt. Zulässig sind Werte von -100 bis 100 %.

LMN_HLM 52.0 REAL 100.0 Der Stellwert wird immer auf eine obere und untere Grenze begrenzt. Der Eingang "Stellwert obere Begrenzung" gibt die obere Begrenzung an. LMN_HLM > LMN_LLM

LMN_LLM 56.0 REAL 0.0 Der Stellwert wird immer auf eine obere und untere Grenze begrenzt. Der Eingang "Stellwert untere Begrenzung" gibt die untere Begrenzung an. LMN_LLM < LMN_HLM

PV_FAC 60.0 REAL 1.0 Der Eingang "Istwertfaktor" wird mit dem "Istwert Peripherie" multipliziert. Der Eingang dient zur Anpassung des Istwertbereiches.

PV_OFFS 64.0 REAL 0.0 Der Eingang "Istwertoffset" wird zum "Istwert Peripherie" addiert. Der Eingang dient zur Anpassung des Istwertbereiches.

LMN_FAC 68.0 REAL 1.0 Der Eingang "Stellwertfaktor" wird mit dem Stellwert multipliziert. Der Eingang dient zur Anpassung des Stellwertbereiches.

LMN_OFFS 72.0 REAL 0.0 Der Eingang "Stellwertoffset" wird zum Stellwert addiert. Der Eingang dient zur Anpassung des Stellwertbereiches.

PER_TM 76.0 REAL 1.0 s Am Parameter PER_TM wird die Periodendauer der Pulsweitenmodulation eingegeben. Das Verhältnis Periodendauer zu Abtastzeit des Impulsformers bestimmt die Genauigkeit der Pulsweitenmodulation. PER_TM ≥ CYCLE

P_B_TM 80.0 REAL 0.02 s Am Parameter "Mindestimpuls- bzw. Mindestpausendauer" kann eine minima-le Impuls- bzw. Pausenlänge parametriert werden. P_B_TM wird intern auf > CYCLE_P begrenzt.

TUN_DLMN 84.0 REAL 20.0 Die Prozessanregung für die Regleroptimierung erfolgt durch einen Stellwert-sprung von TUN_DLMN. Zulässig sind Werte von -100 bis 100 %.

Page 520: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 519

Parameter Adresse Daten-typ

Vorbele-gung

Beschreibung

PER_MODE 88.0 INT 0 An diesem Schalter können Sie den Typ der AE-Baugruppe eingeben. Der Istwert am Eingang PV_PER wird dadurch am Ausgang PV folgendermaßen normiert. • PER_MODE = 0: Thermoelemente; PT100/NI100; Standard

PV_PER * 0.1

Einheit: °C, °F • PER_MODE = 1: PT100/NI100; Klima

PV_PER * 0.01

Einheit: °C, °F • PER_MODE = 2: Strom/Spannung

PV_PER * 100/27648

Einheit: % PVPER_ON 90.0 BOOL FALSE Soll der Istwert von der Peripherie eingelesen werden, so muss der Eingang

PV_PER mit der Peripherie verschaltet werden und der Eingang "Istwert Peri-pherie einschalten" gesetzt werden.

I_ITL_ON 90.1 BOOL FALSE Der Ausgang des Integrierers kann auf den Eingang I_ITLVAL gesetzt wer-den. Hierzu muss der Eingang "I-Anteil setzen" gesetzt werden.

PULSE_ON 90.2 BOOL FALSE Mit PULSE_ON = TRUE wird der Impulsformer eingeschaltet. TUN_KEEP 90.3 BOOL FALSE Ein Übergang in den Automatikbetrieb erfolgt erst, wenn TUN_KEEP FALSE

wird. ER 92.0 REAL 0.0 Am Ausgang "Regeldifferenz" wird die effektiv wirkende Regeldifferenz aus-

gegeben. Die gültigen Werte sind abhängig von den eingesetzten Sensoren.

LMN_P 96.0 REAL 0.0 Der Ausgang "P-Anteil" beinhaltet den Proportionalanteil der Stellgröße. LMN_I 100.0 REAL 0.0 Der Ausgang "I-Anteil" beinhaltet den Integralanteil der Stellgröße. LMN_D 104.0 REAL 0.0 Der Ausgang "D-Anteil" beinhaltet den Differentialanteil der Stellgröße. PHASE 108.0 INT 0 Am Ausgang PHASE wird die aktuelle Ablaufphase der Regleroptimierung

angezeigt. • PHASE = 0: kein Optimierbetrieb; Automatik- oder Handbetrieb • PHASE = 1: Optimierungsbereitschaft; Parameter prüfen, Warten auf

Anregung, Messen der Abtastzeiten • PHASE = 2: Eigentliche Optimierung: Wendepunktsuche bei konstantem

Stellwert. Eintrag der Abtastzeit in den Instanz-DB. • PHASE = 3: Berechnen der Prozess-Parameter. Abspeichern der vor der

Optimierung gültigen Reglerparameter. • PHASE = 4: Reglerentwurf • PHASE = 5: Nachführen des Reglers auf neue Stellgröße • PHASE = 7: Überprüfung des Streckentyps

STATUS_H 110.0 INT 0 STATUS_H zeigt einen Diagnosewert über die Suche des Wendepunktes beim Heizvorgang an.

STATUS_D 112.0 INT 0 STATUS_D zeigt einen Diagnosewert über den Reglerentwurf beim Heizvor-gang an.

Page 521: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 520 Funktionshandbuch, 11/2019, A5E35300226-AE

Parameter Adresse Daten-typ

Vorbele-gung

Beschreibung

QTUN_RUN 114.0 BOOL 0 Die Optimierung wurde durch Aufschalten der Optimierungsstellgröße begon-nen und befindet sich noch in Phase 2 (Wendepunktsuche).

PI_CON 116.0 STRUCT

PI Reglerparameter

GAIN +0.0 REAL 0.0 PI Reglerverstärkung %/phys. Einheit

TI +4.0 REAL 0.0 s PI Integrationszeit [s] PID_CON 124.0 STRU

CT PID Reglerparameter

GAIN +0.0 REAL 0.0 PID Reglerverstärkung TI +4.0 REAL 0.0s PID Integrationszeit [s] TD +8.0 REAL 0.0s PID Differenzierzeit [s] PAR_SAVE 136.0 STRU

CT In dieser Struktur werden die PID-Parameter gespeichert.

PFAC_SP +0.0 REAL 1.0 Proportionalfaktor bei Sollwertänderungen Zulässig sind Werte von 0.0 bis 1.0.

GAIN +4.0 REAL 0.0 Reglerverstärkung %/phys. Einheit

TI +8.0 REAL 40.0 s Integrationszeit [s] TD +12.0 REAL 10.0 s Differenzierzeit [s] D_F +16.0 REAL 5.0 Differenzierfaktor

Zulässig sind Werte von 5.0 bis 10.0. CON_ZONE +20.0 REAL 100.0 Regelzonenbreite

Ist die Regeldifferenz größer als die Regelzonenbreite, so wird die obere Stellwertbegrenzung als Stellwert ausgegeben. Ist die Regeldifferenz kleiner als die negative Regelzonenbreite, so wird die untere Stellwertbegrenzung als Stellwert ausgegeben. CON_ZONE ≥ 0.0

CONZ_ON +24.0 BOOL FALSE Regelzone einschalten PFAC_SP 162.0 REAL 1.0 PFAC_SP gibt den wirksamen P-Anteil bei Sollwertänderung an. Er wird zwi-

schen 0 und 1 eingestellt. • 1: P-Anteil ist auch bei Sollwertänderungen voll wirksam. • 0: P-Anteil ist bei Sollwertänderungen nicht wirksam. Zulässig sind Werte von 0.0 bis 1.0.

GAIN 166.0 REAL 2.0 Der Eingang "Proportionalbeiwert" gibt die Reglerverstärkung an. Eine Inver-tierung des Regelsinns wird durch das negative Vorzeichen von GAIN er-reicht. %/phys. Einheit

TI 170.0 REAL 40.0 s Der Eingang "Integrationszeit" (Nachstellzeit) bestimmt das Zeitverhalten des Integrierers.

TD 174.0 REAL 10.0 s Der Eingang "Differenzierzeit" (Vorhaltezeit) bestimmt das Zeitverhalten des Differenzierers.

Page 522: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 521

Parameter Adresse Daten-typ

Vorbele-gung

Beschreibung

D_F 178.0 REAL 5.0 Der Differenzierfaktor bestimmt die Verzögerung des D-Anteils. D_F = Differenzierzeit/"Verzögerung des D-Anteils" Zulässig sind Werte von 5.0 bis 10.0.

CON_ZONE 182.0 REAL 100.0 Ist die Regeldifferenz größer als die Regelzonenbreite, so wird die obere Stellwertbegrenzung als Stellwert ausgegeben. Ist die Regeldifferenz kleiner als die negative Regelzonenbreite, so wird die untere Stellwertbegrenzung als Stellwert ausgegeben. Die gültigen Werte sind abhängig von den eingesetzten Sensoren.

CONZ_ON 186.0 BOOL FALSE Mit CONZ_ON =TRUE können Sie die Regelzone einschalten. TUN_ON 186.1 BOOL FALSE Wenn TUN_ON=TRUE wird der Stellwert gemittelt bis entweder durch einen

Sollwertsprung oder durch TUN_ST=TRUE die Stellwertanregung TUN_DLMN aufgeschaltet wird.

TUN_ST 186.2 BOOL FALSE Soll bei der Regleroptimierung am Arbeitspunkt der Sollwert konstant bleiben, wird durch TUN_ST=1 ein Stellwertsprung um TUN_DLMN aufgeschaltet.

UNDO_PAR 186.3 BOOL FALSE Lädt die Reglerparameter PFAC_SP, GAIN, TI, TD, D_F CONZ_ON und CON_ZONE aus der Datenstruktur PAR_SAVE (nur im Handbetrieb).

SAVE_PAR 186.4 BOOL FALSE Sichert die Reglerparameter PFAC_SP, GAIN, TI, TD, D_F, CONZ_ON und CON_ZONE in die Datenstruktur PAR_SAVE.

LOAD_PID 186.5 BOOL FALSE Lädt die Reglerparameter GAIN, TI, TD in Abhängigkeit von PID_ON aus der Datenstruktur PI_CON bzw. PID_CON (nur im Handbetrieb)

PID_ON 186.6 BOOL TRUE Am Eingang PID_ON können Sie festlegen, ob der optimierte Regler als PI- oder als PID-Regler arbeiten soll. • PID-Regler: PID_ON = TRUE • PI-Regler: PID_ON = FALSE Es kann jedoch sein, dass bei manchen Streckentypen trotz PID_ON = TRUE nur ein PI-Regler entworfen wird.

GAIN_P 188.0 REAL 0.0 Identifizierte Prozessverstärkung. Beim Streckentyp I wird GAIN_P tendenziell zu klein geschätzt.

TU 192.0 REAL 0.0 Identifizierte Verzugszeit vom Prozess. TU ≥ 3*CYCLE

TA 196.0 REAL 0.0 Identifizierte Ausgleichszeit vom Prozess. Beim Streckentyp I wird TA tenden-ziell zu klein geschätzt.

KIG 200.0 REAL 0.0 Maximaler Istwertanstieg bei einer Stellgrößenanregung von 0 nach 100 % [1/s] GAIN_P = 0.01 * KIG * TA

N_PTN 204.0 REAL 0.0 Der Parameter gibt die Ordnung der Strecke an. Auch "nicht ganzzahlige Werte" sind möglich. Zulässig sind Werte von 1.01 bis 10.0.

TM_LAG_P 208.0 REAL 0.0 Zeitkonstante eines PTN-Modells (sinnvolle Werte nur für N_PTN >= 2). T_P_INF 212.0 REAL 0.0 Zeit von der Prozessanregung bis zum Wendepunkt. P_INF 216.0 REAL 0.0 Istwertänderung von der Prozessanregung bis zum Wendepunkt.

Die gültigen Werte sind abhängig von den eingesetzten Sensoren. LMN0 220.0 REAL 0.0 Stellwert zu Beginn der Optimierung

Wird in Phase 1 ermittelt (Mittelwert). Zulässig sind Werte von 0 bis 100 %.

Page 523: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 522 Funktionshandbuch, 11/2019, A5E35300226-AE

Parameter Adresse Daten-typ

Vorbele-gung

Beschreibung

PV0 224.0 REAL 0.0 Istwert zu Beginn der Optimierung PVDT0 228.0 REAL 0.0 Istwertsteigung zu Beginn der Optimierung [1/s]

Vorzeichen angepasst. PVDT 232.0 REAL 0.0 Momentane Istwertsteigung [1/s]

Vorzeichen angepasst. PVDT_MAX 236.0 REAL 0.0 Max. Änderung des Istwertes pro Sekunde [1/s]

Maximale Ableitung des Istwertes am Wendepunkt (Vorzeichen angepasst, immer > 0), wird verwendet zur Berechnung von TU und KIG.

NOI_PVDT 240.0 REAL 0.0 Rauschanteil in PVDT_MAX in % Je größer der Rauschanteil, desto ungenauer (sanfter) die Reglerparameter.

NOISE_PV 244.0 REAL 0.0 Absolutes Rauschen im Istwert Differenz zwischen maximalem und minimalem Istwert in Phase 1.

FIL_CYC 248.0 INT 1 Anzahl der Zyklen des Mittelwertfilters Der Istwert wird über FIL_CYC Zyklen gemittelt. FIL_CYC wird bei Bedarf automatisch von 1 bis max. 1024 erhöht.

POI_CMAX 250.0 INT 2 Maximale Anz. Zyklen nach Wendepunkt Diese Zeit wird genutzt, um bei Messrauschen einen weiteren (d. h. besseren) Wendepunkt zu finden. Erst dann wird die Optimierung beendet.

POI_CYCL 252.0 INT 0 Anzahl Zyklen nach Wendepunkt

Siehe auch Arbeitsweise Pulsgenerator (Seite 511)

Blockschaltbild TCONT_CP (Seite 514)

Page 524: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 523

9.4.4.9 Parameter STATUS_H STATUS_H Beschreibung Abhilfe 0 Default bzw. keine oder noch keine

neuen Reglerparameter

10000 Optimierung beendet + geeignete Reglerparameter gefunden

2xxxx Optimierung beendet + Reglerpara-meter unsicher

2xx2x Wendepunkt nicht erreicht (nur bei Anregung über Sollwertsprung)

Falls Regler schwingt, Reglerparameter ab-schwächen oder Versuch wiederholen mit kleinerer Stellwertdifferenz TUN_DLMN.

2x1xx Schätzfehler (TU < 3*CYCLE) CYCLE verringern und Versuch wiederholen. Sonderfall reine PT1-Strecke: Versuch nicht wiederholen, Reglerparameter evtl. abschwä-chen.

2x3xx Schätzfehler TU zu groß Versuch wiederholen mit besseren Bedingun-gen.

21xxx Schätzfehler N_PTN < 1 Versuch wiederholen mit besseren Bedingun-gen.

22xxx Schätzfehler N_PTN > 10 Versuch wiederholen mit besseren Bedingun-gen.

3xxxx Optimierung abgebrochen in Phase 1 durch fehlerhafte Parametrierung:

30002 Effektive Stellwertdifferenz < 5 % Stellwertdifferenz TUN_DLMN korrigieren. 30005 Die Abtastzeiten CYCLE und

CYCLE_P weichen um mehr als 5% von den gemessenen Werten ab.

Vergleichen Sie CYCLE und CYCLE_P mit der Zykluszeit der Weckalarmebene und beachten Sie evt. vorhandene Aufrufverteiler. Prüfen Sie die Auslastung der CPU. Eine zu stark ausgelastete CPU führt zu verlängerten Abtastzeiten, die nicht zu CYCLE bzw. CYCLE_P passen.

Hinweis

Wenn Sie die Optimierung in Phase 1 oder 2 abbrechen, wird STATUS_H = 0. STATUS_D zeigt jedoch immer noch den Zustand der letzten Reglerberechnung an.

Je größer der Wert von STATUS_D, desto höher die Ordnung der Regelstrecke, desto größer das Verhältnis TU/TA und desto sanfter die Reglerparameter.

Siehe auch Arbeitsweise Pulsgenerator (Seite 511)

Blockschaltbild TCONT_CP (Seite 514)

Page 525: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 524 Funktionshandbuch, 11/2019, A5E35300226-AE

9.4.4.10 Parameter STATUS_D STATUS_D Beschreibung 0 Es wurden keine Reglerparameter berechnet 110 N_PTN <= 1.5 Streckentyp I schnell 121 N_PTN > 1.5 Streckentyp I 200 N_PTN > 1.9 Streckentyp II (Übergangsbereich) 310 N_PTN >= 2.1 Streckentyp III schnell 320 N_PTN > 2.6 Streckentyp III 111, 122, 201, 311, 321 Parameter wurden von Phase 7 korrigiert.

Hinweis

Je größer der Wert von STATUS_D, desto höher die Ordnung der Regelstrecke, desto größer das Verhältnis TU/TA und desto sanfter die Reglerparameter.

Siehe auch Arbeitsweise Pulsgenerator (Seite 511)

Blockschaltbild TCONT_CP (Seite 514)

Page 526: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 525

9.4.5 TCONT_S

9.4.5.1 Beschreibung TCONT_S Die Anweisung TCONT_S dient zum Regeln von technischen Temperatur-Prozessen mit binären Stellwertausgangssignalen für integrierende Stellglieder auf den Automatisierungssystemen SIMATIC S7. Die Arbeitsweise basiert auf dem PI-Regelalgorithmus des Abtastreglers. Der Schrittregler arbeitet ohne Stellungsrückmeldung.

Anwendung Sie können den Regler auch in einer Reglerkaskade als unterlagerten Stellungsregler einsetzen. Über den Sollwerteingang SP_INT geben Sie die Stellgliedposition vor. In diesem Fall müssen Sie den Istwerteingang und den Parameter TI (Integrationszeit) auf Null setzen. Anwendungsfall ist z. B. eine Temperaturregelung mit Heizleistungsregelung über Puls-Pause-Ansteuerung und Kühlleistungsregelung über eine Ventilklappe. Um die Klappe ganz zu schließen, sollte die Stellgröße (ER*GAIN) negativ werden.

Aufruf Die Anweisung TCONT_S muss äquidistant aufgerufen werden. Benutzen Sie hierzu eine Weckalarmebene (z.B. OB35 bei S7-300). Die Abtastzeit wird am Parameter CYCLE vorgegeben.

Wenn Sie die Anweisung TCONT_S als Multiinstanz-DB aufrufen, wird kein Technologieobjekt angelegt. Es steht Ihnen keine Parametrier- und Inbetriebnahmeoberfläche zur Verfügung. Sie müssen TCONT_S direkt im Multiinstanz-DB parametrieren und über eine Beobachtungstabelle in Betrieb nehmen.

Abtastzeit CYCLE Die Abtastzeit CYCLE muss mit der Zeitdifferenz zwischen zwei Aufrufen (Zykluszeit des Weckalarm-OB unter Beachtung der Untersetzungen) übereinstimmen.

Die Regler-Abtastzeit sollte 10 % der ermittelten Integrationszeit des Reglers (TI) nicht übersteigen. In der Regel müssen Sie aber die Abtastzeit weit kleiner einstellen, um die geforderte Genauigkeit des Schrittreglers sicherzustellen. Geforderte Genau-igkeit G

MTR_TM CYCLE = MTR_TM*G Kommentar

0,5 % 10 s 0,05 s Die Abtastzeit wird bestimmt durch die geforderte Genauigkeit des Schrittreglers.

Page 527: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 526 Funktionshandbuch, 11/2019, A5E35300226-AE

Anlauf Die Anweisung TCONT_S hat eine Initialisierungsroutine, die durchlaufen wird, wenn der Eingangsparameter COM_RST = TRUE gesetzt ist. Der Baustein setzt nach dem Bearbeiten der Initialisierungsroutine COM_RST wieder auf FALSE zurück. Alle Ausgänge werden auf ihre Anfangswerte gesetzt. Wenn Sie eine Initialisierung bei Neustart der CPU wünschen, rufen Sie den Baustein im OB100 mit COM_RST = TRUE auf.

Siehe auch Blockschaltbild TCONT_S (Seite 531)

Page 528: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 527

9.4.5.2 Arbeitsweise TCONT_S

Sollwertzweig Der Sollwert wird am Eingang SP_INT im Gleitpunktformat physikalisch oder in Prozent eingegeben. Sollwert und Istwert müssen an der Regeldifferenzbildung die gleiche Einheit besitzen.

Istwertauswahl (PVPER_ON) Der Istwert kann abhängig von PVPER_ON im Peripherie- oder im Gleitpunktformat eingelesen werden. PVPER_ON Istwerteingabe TRUE Der Istwert wird über die Analogperipherie (PEW xxx) am Eingang PV_PER

eingelesen. FALSE Der Istwert wird im Gleitpunktformat am Eingang PV_IN eingelesen.

Istwertformatumwandlung CRP_IN (PER_MODE) Die Funktion CRP_IN wandelt den Peripheriewert PV_PER abhängig vom Schalter PER_MODE in ein Gleitpunktformat nach folgender Vorschrift um: PER_MODE Ausgang von CRP_IN Analogeingabe-Typ Einheit 0 PV_PER * 0.1 Thermoelemente;

PT100/NI100; Standard °C;°F

1 PV_PER * 0.01 PT100/NI100; Klima; °C;°F 2 PV_PER * 100/27648 Spannung/Strom %

Istwertnormierung PV_NORM (PF_FAC, PV_OFFS) Die Funktion PV_NORM berechnet den Ausgang von CRP_IN nach folgender Vorschrift:

"Ausgang von PV_NORM" = "Ausgang von CRP_IN" * PV_FAC + PV_OFFS

Sie kann für folgende Zwecke eingesetzt werden:

● Istwert-Anpassung mit PV_FAC als Istwertfaktor und PV_OFFS als Istwertoffset

● Normierung von Temperatur nach Prozent

Sie wollen den Sollwert in Prozent eingeben und müssen nun den gemessenen Temperaturwert in Prozent umrechnen.

● Normierung von Prozent nach Temperatur

Sie wollen den Sollwert in der physikalischen Größe Temperatur eingeben und müssen nun den gemessenen Spannungs-/Strom-Wert in eine Temperatur umrechnen.

Page 529: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 528 Funktionshandbuch, 11/2019, A5E35300226-AE

Berechnung der Parameter:

● PV_FAC = Bereich von PV_NORM/Bereich von CRP_IN;

● PV_OFFS = UG(PV_NORM) - PV_FAC * UG(CRP_IN);

mit UG: Untergrenze

Mit den Defaultwerten (PV_FAC = 1.0 und PV_OFFS = 0.0) ist die Normierung abgeschaltet. Der effektiv wirksame Istwert wird am Ausgang PV ausgegeben.

Beispiel zur Istwertnormierung Wenn Sie den Sollwert in Prozent vorgeben wollen und Sie einen Temperaturbereich von -20 bis 85 °C an CRP_IN anliegen haben, müssen Sie den Temperaturbereich in Prozent umnormieren.

Das folgende Bild stellt ein Beispiel für die Anpassung des Temperaturbereichs -20 bis 85 °C auf intern 0 bis 100 % dar:

Regeldifferenzbildung Die Differenz von Soll- und Istwert ergibt die Regeldifferenz vor der Totzone.

Soll- und Istwert müssen in der gleichen Einheit vorliegen.

Page 530: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 529

Totzone (DEADB_W) Zur Unterdrückung einer kleinen Dauerschwingung aufgrund der Stellgrößen-Quantisierung (z. B. bei einer Pulsweitenmodulation mit PULSEGEN) wird die Regeldifferenz über eine Totzone (DEADBAND) geleitet. Bei DEADB_W = 0.0 ist die Totzone ausgeschaltet.

PI-Schrittregler-Algorithmus Die Anweisung TCONT_S arbeitet ohne Stellungsrückmeldung. Der I-Anteil des PI-Algorithmus und die gedachte Stellungsrückmeldung werden in einem Integrator (INT) berechnet und als Rückführungswert mit dem verbliebenen P-Anteil verglichen. Die Differenz geht auf ein Dreipunktglied (THREE_ST) und einen Impulsformer (PULSEOUT), der die Impulse für das Stellventil bildet. Über eine Adaption der Ansprechschwelle des Dreipunktgliedes wird die Schalthäufigkeit des Reglers reduziert.

Abschwächung des P-Anteils bei Sollwertänderungen Um Überschwingen zu vermeiden können Sie den P-Anteil über den Parameter "Proportionalfaktor bei Sollwertänderungen" (PFAC_SP) abschwächen. Über PFAC_SP können Sie nun zwischen 0.0 und 1.0 kontinuierlich wählen, wie stark der P-Anteil bei Sollwertänderungen wirken soll:

● PFAC_SP = 1.0: P-Anteil bei Sollwertänderung voll wirksam

● PFAC_SP = 0.0: Kein P-Anteil bei Sollwertänderung

Ein Wert von PFAC_SP < 1.0 kann wie beim kontinuierlichen Regler das Überschwingen reduzieren, falls die Motorlaufzeit MTR_TM klein gegenüber der Ausgleichszeit TA ist und das Verhältnis TU/TA < 0.2 ist. Erreicht MTR_TM 20 % von TA, ist nur noch eine geringe Verbesserung zu erzielen.

Störgrößenaufschaltung Am Eingang DISV kann eine Störgröße additiv aufgeschaltet werden.

Page 531: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 530 Funktionshandbuch, 11/2019, A5E35300226-AE

Handwertverarbeitung (LMNS_ON, LMNUP, LMNDN) Mit LMNS_ON kann zwischen Hand- und Automatikbetrieb umgeschaltet werden. Bei Handbetrieb wird das Stellglied angehalten und der Integrierer (INT) wird intern auf 0 gesetzt. Über LMNUP und LMNDN kann das Stellglied AUF und ZU gefahren werden. Das Umschalten in den Automatikbetrieb erfolgt stoßbehaftet. Die anstehende Regeldifferenz führt über GAIN zu einer sprungförmigen Änderung der internen Stellgröße. Durch das integral wirkende Stellglied wird jedoch nur eine rampenförmige Ansteuerung des Prozesses bewirkt.

Siehe auch Blockschaltbild TCONT_S (Seite 531)

Page 532: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 531

9.4.5.3 Blockschaltbild TCONT_S

Parametrieroberfläche Aufrufschnittstellle Anweisung Parametrieroberfläche, Aufrufschnittstellle Anweisung

Page 533: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 532 Funktionshandbuch, 11/2019, A5E35300226-AE

Siehe auch Beschreibung TCONT_S (Seite 525)

Arbeitsweise TCONT_S (Seite 527)

Eingangsparameter TCONT_S (Seite 533)

Ausgangsparameter TCONT_S (Seite 534)

Durchgangsparameter TCONT_S (Seite 534)

Statische Variablen TCONT_S (Seite 535)

Page 534: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 533

9.4.5.4 Eingangsparameter TCONT_S

Parameter Adres-se

Daten-typ

Vorbe-legung

Beschreibung

CYCLE 0.0 REAL 0.1 s An diesem Eingang geben Sie die Abtastzeit für den Reg-ler ein. CYCLE ≥ 0.001

SP_INT 4.0 REAL 0.0 Der Eingang "Interner Sollwert" dient zur Vorgabe eines Sollwertes. Die gültigen Werte sind abhängig von den eingesetzten Sensoren.

PV_IN 8.0 REAL 0.0 Am Eingang "Istwert Eingang" kann ein Inbetriebset-zungswert parametriert oder ein externer Istwert im Gleit-punktformat verschaltet werden. Die gültigen Werte sind abhängig von den eingesetzten Sensoren.

PV_PER 12.0 INT 0 Der Istwert in Peripherieformat wird am Eingang "Istwert Peripherie" mit dem Regler verschaltet.

DISV 14.0 REAL 0.0 Für eine Störgrößenaufschaltung wird die Störgröße am Eingang "Störgröße" verschaltet.

LMNR_HS 18.0 BOOL FALSE Das Signal "Stellventil am oberen Anschlag" wird am Ein-gang "Oberes Anschlagsignal der Stellungsrückmeldung" verschaltet. • LMNR_HS=TRUE: Das Stellventil befindet sich am

oberen Anschlag.

LMNR_LS 18.1 BOOL FALSE Das Signal "Stellventil am unteren Anschlag" wird am Eingang "Unteres Anschlagsignal der Stellungsrückmel-dung" verschaltet. • LMNR_LS=TRUE:

Das Stellventil befindet sich am unteren Anschlag.

LMNS_ON 18.2 BOOL TRUE Am Eingang "Handbetrieb der Stellwertsignale einschal-ten" wird die Stellwertsignalverarbeitung auf Hand ge-schaltet.

LMNUP 18.3 BOOL FALSE Bei Handbetrieb der Stellwertsignale wird am Eingang "Stellwertsignal Hoch" das Ausgangssignal QLMNUP bedient.

LMNDN 18.4 BOOL FALSE Bei Handbetrieb der Stellwertsignale wird am Eingang "Stellwertsignal Tief" das Ausgangssignal QLMNDN be-dient.

Siehe auch Blockschaltbild TCONT_S (Seite 531)

Page 535: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 534 Funktionshandbuch, 11/2019, A5E35300226-AE

9.4.5.5 Ausgangsparameter TCONT_S

Parame-ter

Ad-res-se

Datentyp Vorbe-legung

Beschreibung

QLMNUP 20.0 BOOL FALSE Ist der Ausgang "Stellwertsignal Hoch" gesetzt, soll das Stellventil geöffnet werden.

QLMNDN 20.1 BOOL FALSE Ist der Ausgang "Stellwertsignal Tief" gesetzt, soll das Stell-ventil geschlossen werden.

PV 22.0 REAL 0.0 Am Ausgang "Istwert" wird der effektiv wirkende Istwert ausgegeben.

ER 26.0 REAL 0.0 Am Ausgang "Regeldifferenz" wird die effektiv wirkende Regeldifferenz ausgegeben.

Siehe auch Blockschaltbild TCONT_S (Seite 531)

9.4.5.6 Durchgangsparameter TCONT_S

Parame-ter

Ad-res-se

Datentyp Vorbe-legung

Beschreibung

COM_RST

30.0 BOOL FALSE Der Baustein hat eine Initialisierungsroutine, die bearbeitet wird, wenn der Eingang COM_RST gesetzt ist.

Siehe auch Blockschaltbild TCONT_S (Seite 531)

Page 536: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 535

9.4.5.7 Statische Variablen TCONT_S

Parameter Ad-resse

Daten-typ

Vorbe-legung

Beschreibung

PV_FAC 32.0 REAL 1.0 Der Eingang "Istwertfaktor" wird mit dem Istwert multipliziert. Der Eingang dient zur Anpassung des Istwertbereiches.

PV_OFFS 36.0 REAL 0.0 Der Eingang "Istwertoffset" wird mit dem Istwert addiert. Der Eingang dient zur Anpassung des Istwertbereiches. Die gültigen Werte sind abhängig von den eingesetzten Sensoren.

DEADB_W 40.0 REAL 0.0 Die Regeldifferenz wird über eine Totzone geführt. Der Eingang "Totzonen-breite" bestimmt die Größe der Totzone. DEADB_W ≥ 0.0

PFAC_SP 44.4 REAL 1.0 PFAC_SP gibt den wirksamen P-Anteil bei Sollwertänderung an. • 1: P-Anteil ist bei Sollwertänderungen voll wirksam • 0: P-Anteil ist bei Sollwertänderungen nicht wirksam Zulässig sind Werte von 0.0 bis 1.0.

GAIN 48.0 REAL 2.0 Der Eingang "Proportionalbeiwert" gibt die Reglerverstärkung an. Eine Inver-tierung des Regelsinns wird durch das negative Vorzeichen von GAIN er-reicht. %/phys. Einheit

TI 52.0 REAL 40.0 s Der Eingang "Integrationszeit" (Nachstellzeit) bestimmt das Zeitverhalten des Integrierers.

MTR_TM 56.0 REAL 30 s Am Parameter "Motorstellzeit" wird die Laufzeit des Stellventils von Anschlag zu Anschlag eingetragen. MTR_TM ≥ CYCLE

PULSE_TM 60.0 REAL 0.0 s Am Parameter "Mindestimpulsdauer" kann eine minimale Impulslänge para-metriert werden.

BREAK_TM 64.0 REAL 0.0 s Am Parameter "Mindestpausendauer" kann eine minimale Pausenlänge pa-rametriert werden.

PER_MODE 68.0 INT 0 An diesem Schalter können Sie den Typ der AE-Baugruppe eingeben. Der Istwert am Eingang PV_PER wird dadurch am Ausgang PV folgendermaßen normiert. • PER_MODE = 0: Thermoelemente; PT100/NI100; Standard

PV_PER * 0.1 Einheit: °C, °F

• PER_MODE = 1: PT100/NI100; Klima PV_PER * 0.01 Einheit: °C, °F

• PER_MODE = 2: Strom/Spannung PV_PER * 100/27648 Einheit: %

PVPER_ON 70.0 BOOL FALSE Soll der Istwert von der Peripherie eingelesen werden, so muss der Eingang PV_PER mit der Peripherie verschaltet werden und der Eingang "Istwert Peri-pherie einschalten" gesetzt werden.

Siehe auch Blockschaltbild TCONT_S (Seite 531)

Page 537: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung 536 Funktionshandbuch, 11/2019, A5E35300226-AE

9.4.6 Integrierte Systemfunktionen

9.4.6.1 CONT_C_SF

CONT_C_SF Die Anweisung CONT_C_SF ist in den S7-300 Compact-CPUs integriert. Die Anweisung muss beim Laden in die S7-300 CPU nicht übertragen werden. Der Funktionsumfang entspricht der Anweisung CONT_C.

Siehe auch Beschreibung CONT_C (Seite 479)

Arbeitsweise CONT_C (Seite 480)

Blockschaltbild CONT_C (Seite 481)

Eingangsparameter CONT_C (Seite 482)

Ausgangsparameter CONT_C (Seite 484)

9.4.6.2 CONT_S_SF

CONT_S_SF Die Anweisung CONT_S_SF ist in den S7-300 Compact-CPUs integriert. Die Anweisung muss beim Laden in die S7-300 CPU nicht übertragen werden. Der Funktionsumfang entspricht der Anweisung CONT_S.

Siehe auch Beschreibung CONT_S (Seite 485)

Arbeitsweise CONT_S (Seite 486)

Blockschaltbild CONT_S (Seite 487)

Eingangsparameter CONT_S (Seite 488)

Ausgangsparameter CONT_S (Seite 489)

Page 538: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.4 PID Basisfunktionen

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 537

9.4.6.3 PULSEGEN_SF

PULSEGEN_SF Die Anweisung PULSEGEN_SF ist in den S7-300 Compact-CPUs integriert. Die Anweisung muss beim Laden in die S7-300 CPU nicht übertragen werden. Der Funktionsumfang entspricht der Anweisung PULSEGEN.

Siehe auch Beschreibung PULSEGEN (Seite 490)

Arbeitsweise PULSEGEN (Seite 491)

Betriebsarten PULSEGEN (Seite 494)

Dreipunktregelung (Seite 495)

Zweipunktregelung (Seite 498)

Eingangsparameter PULSEGEN (Seite 499)

Ausgangsparameter PULSEGEN (Seite 500)

Page 539: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.5 Polyline

PID-Regelung 538 Funktionshandbuch, 11/2019, A5E35300226-AE

9.5 Polyline

9.5.1 Kompatibilität mit CPU und FW Die folgende Tabelle zeigt, auf welcher CPU Sie welche Version von Polyline einsetzen können: CPU FW Polyline S7-1200 ab V4.2 V1.0 S7-1500 basierte CPUs ab V2.0 V1.0

9.5.2 Beschreibung Polyline

Beschreibung Die Anweisung Polyline bildet den Eingangswert Input über eine Kennline auf den Ausgangswert Output ab. Die Kennlinie wird als Polygonzug mit maximal 50 Stützpunkten definiert. Zwischen diesen Stützpunkten wird linear interpoliert. Über die Anzahl und die Konfiguration der Stützpunkte können Sie den Polygonzug an die gewünschte Kennlinie anpassen.

Die Anweisung Polyline kann z.B. verwendet werden um ein nichtlineares Verhalten von Sensoren oder Aktoren zu linearisieren.

Interpolationsberechnung Polyline berechnet den Ausgangswert am Parameter Output für den Eingangswert am Parameter Input, der zwischen den Stützpunktwerten xi und xi+1 liegt mit einer linearen Interpolation. Die lineare Interpolation wird nach folgender Formel berechnet:

Mit dem Parameter Reset = TRUE kann auch ein alternativer Ausgangswert über den Parameter SubstituteOutput vorgegeben werden.

Page 540: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.5 Polyline

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 539

Polygonzug-Daten Die Wertepaare für den Polygonzug sind in dem Bereich Static der Anweisung enthalten.

Hinweis • Die minimale Anzahl der zu konfigurierenden Wertepaare beträgt 2. • Die maximale Anzahl der zu konfigurierenden Wertepaare beträgt 50. • Für eine gültige Konfiguration müssen die x-Werte in aufsteigender Reihenfolge

vorgegeben werden.

Um die Polygonzug-Daten ändern zu können, ohne dass die Änderungen sofort wirksam werden, sind die Wertepaare des Polygonzugs dupliziert und in folgenden Strukturen enthalten:

● UserData

Die Polygonzug-Daten in dieser Struktur sind editierbar.

Nutzen Sie diese Struktur um die Polygonzug-Daten festzulegen oder zu ändern. Änderungen in dieser Struktur wirken sich auf die Interpolationsberechnung erst aus, wenn die Prüfung und das Kopieren der Daten in die Struktur WorkingData angestoßen wird. Dies erfolgt durch Setzen von Validate = TRUE oder automatisch während der ersten Bearbeitung von Polyline nach dem Betriebszustandwechsel der CPU von STOP auf RUN.

Die Vorbelegung der Werte in dieser Struktur stellt keine gültige Konfiguration dar. Um die Werte für die Interpolationsberechnung zu verwenden, ändern Sie die Variablen auf gültige Werte.

● WorkingData

Die Polygonzug-Daten in dieser Struktur sind nicht editierbar. Diese Daten werden für die Interpolationsberechnung verwendet. Ändern Sie die Daten in dieser Struktur nicht manuell.

Beide Strukturen haben den gleichen Datentyp und somit den gleichen Inhalt:

● NumberOfUsedPoints

Anzahl der verwendeten Stützpunkte für die Interpolationsberechnung.

● Point

Das Array mit 50 Elementen enthält Wertepaare der Stützpunkte Point[i].x und Point[i].y mit dem Index "i" von 1 bis 50.

Page 541: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.5 Polyline

PID-Regelung 540 Funktionshandbuch, 11/2019, A5E35300226-AE

Das folgende Bild zeigt ein Polygonzug mit vier Stützpunkten:

Aufruf In einem OB oder FC wird Polyline als Einzelinstanz-DB aufgerufen. In einem FB kann Polyline sowohl als Einzelinstanz-DB, als auch als ein Multiinstanz-DB und als ein Parameterinstanz-DB aufgerufen werden.

Bei dem Aufruf der Anweisung wird kein Technologieobjekt angelegt. Parametrier- und Inbetriebnahmeoberfläche steht Ihnen nicht zur Verfügung. Sie parametrieren Polyline direkt über den Instanz-DB und nehmen Polyline über eine Beobachtungstabelle des Anwenderprogramms in der CPU oder HMI in Betrieb.

Anlauf Die Variablen in den Strukturen UserData und WorkingData sind nicht remanent. Diese Variablen werden nach jedem Betriebszustandwechsel der CPU von STOP auf RUN mit den Startwerten initialisiert.

Wenn Sie die Aktualwerte in der Struktur UserData im Online-Betrieb ändern und diese Werte nach dem Betriebszustandwechsel der CPU von STOP auf RUN erhalten bleiben sollen, dann sichern Sie diese Werte in den Startwerten des Datenbausteins.

Bei dem ersten Aufruf der Anweisung Polyline nach dem Betriebszustandwechsel der CPU von STOP auf RUN werden die Daten in der Struktur UserData automatisch auf Gültigkeit überprüft. Bei erfolgreicher Überprüfung werden die Daten an die Struktur WorkingData übergeben.

Page 542: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.5 Polyline

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 541

Verhalten im Fehlerfall Die Anweisung Polyline erkennt unterschiedliche Fehler, die bei Interpolationsberechnung auftreten können. Das Ergebnis der Interpolationsberechnung kann trotz eines anstehenden Fehlers am Ausgang ausgegeben werden. Wenn keine korrekte Berechnung des Interpolationsergebnisses wegen eines Fehlers möglich ist, dann wird ein Ersatzausgangswert am Ausgang ausgegeben.

An der Variable ErrorMode legen Sie im Fall eines Fehlers, bei dem keine korrekte Berechnung des Interpolationsergebnisses möglich ist, den Ersatzausgangswert folgendermaßen fest: ErrorMode Output 0 Wert des Parameters Input 1 Wert des Parameters SubstituteOutput 2 Das letzte gültige Ergebnis der Interpolationsberechnung

0.0, falls kein gültiges Ergebnis vorhanden

Folgendes gilt zusätzlich für alle Werte der Variable ErrorMode:

● Wenn der Ersatzausgangswert kein gültiger REAL-Wert ist, wird 0.0 als Ausgangswert ausgegeben.

● Der Ersatzausgangswert wird auf den Wertebereich des Datentyps REAL begrenzt. Erst dann wird der Ersatzausgangswert am Parameter Output ausgegeben.

● Die Variable ErrorMode ist nur dann wirksam, wenn der Parameter Reset = FALSE gesetzt ist. Wenn der Parameter Reset = TRUE gesetzt ist, wird der Wert von Parameter SubstituteOutput am Parameter Output ausgegeben.

Der Parameter Error zeigt, ob aktuell ein Fehler ansteht. Wenn der Fehler nicht mehr ansteht, wird Error auf FALSE gesetzt. Der Parameter ErrorBits zeigt, welche Fehler aufgetreten sind. ErrorBits ist remanent und wird nur durch eine steigende Flanke am Parameter Reset oder ErrorAck zurückgesetzt.

Page 543: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.5 Polyline

PID-Regelung 542 Funktionshandbuch, 11/2019, A5E35300226-AE

9.5.3 Arbeitsweise Polyline

Polygonzug-Daten Um die Polygonzug-Daten zu ändern, editieren Sie die Werte in der Struktur UserData. Anschließend werden die Werte auf Gültigkeit überprüft und an die Struktur WorkingData übergeben. Erst in der Stuktur WorkingData werden die Werte für die Interpolationsberechnung verwendet. Die Werte werden überprüft und übertragen, wenn ● Sie den Parameter Validate auf TRUE setzen, während der Parameter Reset auf FALSE

gesetzt ist. ● Polyline nach dem Betriebszustandwechsel der CPU von STOP nach RUN zum ersten

mal aufgerufen wird, während der Parameter Reset auf FALSE gesetzt ist. Wenn Polyline bereits z. B. in dem OB100 aufgerufen wurde, dann wird keine erneute automatische Überprüfung der Werte bei nachfolgenden Aufrufen durchgeführt.

Wenn die Polygonzug-Daten in der Struktur UserData ungültig sind, dann bleiben die vorherigen Polygonzug-Daten in der Struktur WorkingData unverändert und eine entsprechende Fehlermeldung wird ausgegeben. Wenn die Überprüfung zum ersten mal durchgeführt wurde, dann sind keine gültigen Werte in der Struktur WorkingData verfügbar und eine entsprechende Fehlermeldung wird ausgegeben. Der Parameter Output wird in diesem Fall mit dem Ersatzausgangswert festgelegt, den Sie mit der Variable ErrorMode konfigurieren. Die Überprüfung und Übertragung der Werte von der Struktur UserData erfordert mehr CPU-Bearbeitungszeit als die Interpolationsberechnung. In zeitkritischen Anwendungen kann die erste Ausführung von Polyline im Anlauf-OB 100 erfolgen. Somit wird die einmalige zeitaufwändige Überprüfung und Übertragung der Polygonzug-Daten vor den zyklischen Anwendungsprogrammteilen bereits abgeschlossen.

Gültigkeit der Polygonzug-Daten Bei der Prüfung der Werte in der Struktur UserData müssen die Werte folgende Bedingungen erfüllen, damit ein gültiger Polygonzug für die Interpolationsberechnung verfügbar ist: ● 2 ≤ UserData.NumberOfUsedPoints ≤ 50 ● UserData.Point[j].x < UserData.Point[j+1].x mit Index j =

1..(UserData.NumberOfUsedPoints – 1) ● -3.402823e+38 ≤ UserData.Point[i].x ≤ 3.402823e+38 mit Index i =

1..UserData.NumberOfUsedPoints ● -3.402823e+38 ≤ UserData.Point[i].y ≤ 3.402823e+38 mit Index i =

1..UserData.NumberOfUsedPoints ● UserData.Point[i].x and UserData.Point[i].y sind gültige REAL-Werte (≠ NaN) mit Index i =

1..UserData.NumberOfUsedPoints Wenn eine oder mehrere Bedingungen während der Überprüfung nicht erfüllt sind, dann werden die Werte in der Struktur UserData nicht in die Struktur WorkingData übernommen. Eine entsprechende Fehlermeldung wird am Parameter ErrorBits (Seite 548) ausgegeben.

Page 544: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.5 Polyline

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 543

Die Vorbelegung der Werte in der Struktur UserData stellt keine gültige Konfiguration dar. Ändern Sie die Variablen auf gültige Werte, damit die Variablen für die Interpolationsberechnung verwendet werden können.

Hinweis

Wenn für Ihre Anwendung mehr als die maximale Anzahl von 50 Stützpunkten erforderlich sind, dann verwenden Sie zwei oder mehr Instanzen von Polyline.

Ausgangswert berechnen Wenn der Eingangswert am Parameter Input unterhalb des ersten x-Werts oder oberhalb des letzten x-Werts der verwendeten Stützpunkte liegt, dann konfigurieren Sie die Belegung des Parameters Output mit folgenden Einstellungen an der Variable OutOfRangeMode:

● OutOfRangeMode = 0

Der Ausgangswert wird mit der Steigung der ersten oder letzten zwei Stützpunkte extrapoliert.

Wenn die Variable OutOfRangeMode außerhalb des zulässigen Wertebereichs von 0 bis 1 liegt, dann wird die standardmäßige Vorbelegung 0 wirksam.

Page 545: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.5 Polyline

PID-Regelung 544 Funktionshandbuch, 11/2019, A5E35300226-AE

● OutOfRangeMode = 1

Der Ausgangswert wird auf den y-Wert des ersten oder letzten Stützpunkts begrenzt.

Der Parameter Output hat einen zulässigen Wertebereich eines REAL-Datentyps von -3.402823e+38 bis 3.402823e+38. Der Ausgangswert am Parameter Output wird bei jeder Ausführung der Anweisung Polyline auf Gültigkeit überprüft. Wenn die Interpolationsberechnung einen ungültigen REAL-Wert ergibt, dann wird der Ausgangswert mit der Einstellung an der Variable ErrorMode ersetzt.

Freigabeverhalten EN/ENO Wenn eine der folgenden Bedingungen erfüllt ist, dann wird der Freigabeausgang ENO auf FALSE gesetzt:

● Freigabeeingang EN ist auf TRUE gesetzt und der Parameter Output ist durch einen Ersatzausgangswert festgelegt bei Fehlermeldungen ErrorBits ≥ 16#0001_0000.

● Freigabeeingang EN ist auf FALSE gesetzt.

Sonst wird der Freigabeausgang ENO auf TRUE gesetzt.

Page 546: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.5 Polyline

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 545

Aktuell verwendete Stützpunkte Die Variable NextXIndex gibt den Index des nächsthöheren x-Werts für den aktuellen Eingangswert aus. Damit können Sie die für die aktuelle Interpolationsberechnung verwendeten Stützpunkte ermitteln.

WorkingData.Point[NextXIndex-1].x < Input ≤ WorkingData.Point[NextXIndex].x

Beispiel:

● Wenn der Wert des Parameters Input zwischen WorkingData.Point[3].x und WorkingData.Point[4].x liegt, dann hat die Variable NextXIndex den Wert 4.

● Wenn der Wert des Parameters Input kleiner als WorkingData.Point[1].x ist, dann hat die Variable NextXIndex den Wert 1.

● Wenn der Wert des Parameters Input größer als WorkingData.Point[WorkingData.NumberOfUsedPoints].x und somit größer als der letzte x-Wert des Polygonzugs ist, dann hat die Variable NextXIndex den Wert der Variable WorkingData.NumberOfUsedPoints + 1. Somit beträgt der zulässige maximal-Wert der Variable NextXIndex 51.

9.5.4 Eingangsparameter Polyline Parameter Datentyp Vorbelegung Beschreibung Input REAL 0.0 Eingangswert Substitute-Output

REAL 0.0 SubstituteOutput wird als Ersatzausgangswert verwendet, wenn • Reset = TRUE oder • keine korrekte Berechnung des Interpolationsergebnisses wegen eines

Fehlers mit Fehlermeldung ErrorBits ≥ 16#0001_0000 möglich ist und Er-rorMode auf den Wert 1 konfiguriert ist.

Validate BOOL FALSE Wenn Validate auf TRUE gesetzt ist, dann werden die Polygonzug-Daten in UserData auf Gültigkeit geprüft und nach WorkingData übernommen.

ErrorAck BOOL FALSE Löscht die Fehlermeldungen • Flanke FALSE -> TRUE

ErrorBits wird zurückgesetzt Reset BOOL FALSE Führt einen Neustart der Anweisung durch

• Flanke FALSE -> TRUE

ErrorBits wird zurückgesetzt. • Solange Reset auf TRUE gesetzt ist, wird der Ersatzausgangswert Substi-

tuteOutput am Ausgang ausgegeben. • Solange Reset auf FALSE gesetzt ist, wird die Interpolationsberechnung

ausgeführt.

Page 547: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.5 Polyline

PID-Regelung 546 Funktionshandbuch, 11/2019, A5E35300226-AE

9.5.5 Ausgangsparameter Polyline Parameter Datentyp Vorbelegung Beschreibung Output REAL 0.0 Ausgangswert Error BOOL FALSE Wenn Error auf TRUE gesetzt ist, steht aktuell mindestens ein Fehler an. ErrorBits DWORD DW#16#0 Der Parameter ErrorBits (Seite 548) zeigt, welche Fehlermeldungen vorlie-

gen. ErrorBits ist remanent und wird bei einer steigenden Flanke an Reset oder ErrorAck zurückgesetzt.

9.5.6 Statische Variablen Polyline Variable Datentyp Vorbelegung Beschreibung UserData AuxFct

_PointTable - Eingabebereich für Polygonzug-Daten

Die Polygonzug-Daten in der Struktur UserData sind editierbar. Änderungen in dieser Struktur wirken sich auf die Interpolationsberechnung erst aus, wenn die Überprüfung und das Kopieren der Daten in die Struktur WorkingData angestoßen wird.

UserData.NumberOfUsedPoints INT 0 Anzahl der verwendeten Stützpunkte für die Interpolationsberechnung Zulässiger Wertebereich: 2 bis 50

UserData.Point Array[1..50] of AuxFct_Point

- Stützpunkte für die Interpolationsberechnung Das Array mit 50 Elementen vom Datentyp AuxFct_Point enthält die Wertepaare der Stütz-punkte.

UserData.Point[i] AuxFct_Point - Stützpunkt für die Interpolationsberechnung Ein Element mit dem Index "i" aus dem Array "Point".

UserData.Point[i].x REAL 0.0 x-Wert des Stützpunkts Zulässiger Wertebereich: Point[i].x < Point[i+1].x

UserData.Point[i].y REAL 0.0 y-Wert des Stützpunkts WorkingData AuxFct

_PointTable - Anzeigebereich der aktuell wirksamen Polygon-

zug-Daten Die Polygonzug-Daten in der der Struktur Work-ingData sind nicht editierbar. Sie werden für die Interpolationsberechnung verwendet.

WorkingData.Number-OfUsedPoints

INT 0 Anzahl der verwendeten Stützpunkte für die Interpolationsberechnung Zulässiger Wertebereich: 2 bis 50

WorkingData.Point Array[1..50] of AuxFct_Point

- Stützpunkte für die Interpolationsberechnung Das Array mit 50 Elementen vom Typ AuxFct_Point enthält die Wertepaare der Stütz-punkte.

Page 548: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.5 Polyline

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 547

Variable Datentyp Vorbelegung Beschreibung WorkingData.Point[i] AuxFct_Point - Stützpunkt für die Interpolationsberechnung

Ein Element mit dem Index "i" aus dem Array "Point".

WorkingData.Point[i].x REAL 0.0 x-Wert des Stützpunkts Zulässiger Wertebereich: Point[i].x < Point[i+1].x

WorkingData.Point[i].y REAL 0.0 y-Wert des Stützpunkts ErrorMode INT 0 Auswahl des Ersatzausgangswerts im Fehlerfall

• 0 = Input • 1 = SubstituteOutput • 2 = letzter gültiger Ausgangswert Zulässiger Wertebereich: 0 bis 2

OutOfRangeMode INT 0 Auswahl des Ausgangswerts, wenn der Ein-gangswert außerhalb der definierten x-Werte liegt • 0 = Steigung halten • 1 = y-Wert des ersten / letzten Stützpunkts Zulässiger Wertebereich: 0 bis 1

NextXIndex INT 2 Index des nächsten x-Werts Dient zur Beobachtung des Indexes der Stütz-punkte, die bei der aktuellen interpolationsbe-rechnung verwendet werden. Folgende Bedingung gilt: WorkingData.Point[NextXIndex-1].x < Input ≤ WorkingData.Point[NextXIndex].x Ändern Sie diesen Wert nicht manuell.

Page 549: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.5 Polyline

PID-Regelung 548 Funktionshandbuch, 11/2019, A5E35300226-AE

9.5.7 Parameter ErrorBits Wenn gleichzeitig mehrere Fehler anstehen, dann werden die Werte der ErrorBits binär addiert angezeigt. Wenn z. B. ErrorBits = 16#0000_0003 angezeigt wird, dann stehen gleichzeitig die Fehler 16#0000_0001 und 16#0000_0002 an.

Bei Polyline werden die Fehler, die am Parameter ErrorBits ausgegeben werden, in zwei Kategorien unterschieden:

● Fehler mit Fehlermeldungen ErrorBits < 16#0001_0000

● Fehler mit Fehlermeldungen ErrorBits ≥ 16#0001_0000

Fehler mit Fehlermeldungen ErrorBits < 16#0001_0000 Wenn ein oder mehrere Fehler mit Fehlermeldungen ErrorBits < 16#0001_0000 anstehen, dann reagiert Polyline wie folgt:

● Der Ausgangswert wird trotz dieses Fehlers folgendermaßen ermittelt:

– Wenn Reset = FALSE, Interpolationsberechnung

– Wenn Reset = TRUE, Ausgabe von SubstituteOutput

● Der Ausgangsparameter Error wird gesetzt.

● Der Freigabeausgang ENO wird nicht geändert.

Der Ausgangsparameter Error wird gelöscht, sobald kein Fehler mehr ansteht. ErrorBits (DW#16#...)

Beschreibung

0000_0000 Kein Fehler steht an. 0000_0001 Fehlerursache und Fehlerreaktion:

Der Parameter Output wurde begrenzt auf -3.402823e+38 oder +3.402823e+38. Abhilfe: Wenn am Ausgang der Interpolationswert ausgegeben wird (Reset = FALSE und ErrorBits < 16#0001_0000), dann prüfen Sie folgende, in der Interpolationsberechnung verwendete Variablen: • Input • WorkingData.Point[i].x • WorkingData.Point[i].y Wenn ErrorBits ≥ 16#0001_0000 und Reset = FALSE, wird der Ersatzausgangswert bei dessen Ausga-be begrenzt. Prüfen Sie dann folgende Parameter abhängig von dem eingestellten Wert an der Variable ErrorMode: • Input • SubstituteOutput Wenn Reset = TRUE, dann prüfen Sie den Parameter SubstituteOutput.

Page 550: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.5 Polyline

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 549

ErrorBits (DW#16#...)

Beschreibung

0000_0002 Fehlerursache: Eine oder mehrere Variablen in der Struktur UserData haben ungültige Werte, während die Polygonzug-Daten geprüft werden (Validate = TRUE und Reset = FALSE). Fehlerreaktion: Die Polygonzug-Daten in der Struktur UserData werden nicht in die Struktur WorkingData übernommen, sodass die vorgenommenen Änderungen in der Struktur UserData nicht wirksam werden. FB Polyline setzt die Interpolationsberechnung mit den unveränderten und gültigen Polygonzug-Daten in der Struktur WorkingData fort. Abhilfe: Stellen Sie sicher, dass folgende Bedingungen erfüllt sind, wenn der Parameter Validate auf TRUE gesetzt ist: • 2 ≤ UserData.NumberOfUsedPoints ≤ 50 • UserData.Point[j].x < UserData.Point[j+1].x mit Index j = 1..(UserData.NumberOfUsedPoints - 1) • -3.402823e+38 ≤ UserData.Point[i].x ≤ 3.402823e+38 mit Index i =

1..UserData.NumberOfUsedPoints • -3.402823e+38 ≤ UserData.Point[i].y ≤ 3.402823e+38 mit Index i =

1..UserData.NumberOfUsedPoints • UserData.Point[i].x und UserData.Point[i].y sind gültige REAL-Werte (≠ NaN) mit Index i =

1..UserData.NumberOfUsedPoints

Fehler mit Fehlermeldungen ErrorBits ≥ 16#0001_0000 Wenn ein oder mehrere Fehler mit Fehlermeldungen ErrorBits ≥ 16#0001_0000 anstehen, dann reagiert Polyline wie folgt:

● Der Ausgangswert kann nicht wie erwartet ermittelt werden. Stattdessen wird der Ersatzausgangswert ausgegeben.

● Der Ausgangsparameter Error wird gesetzt.

● Der Freigabeausgang ENO wird auf FALSE gesetzt.

Sobald keine Fehler mit Fehlermeldungen ErrorBits ≥ 16#0001_0000 mehr anstehen, reagiert SplitRange wie folgt:

● Der Ausgangswert wird folgendermaßen ermittelt:

– Wenn Reset = FALSE, Ausgangswertberechnung

– Wenn Reset = TRUE, Ausgabe von SubstituteOutput

● Der Freigabeausgang ENO wird auf TRUE gesetzt.

Page 551: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.5 Polyline

PID-Regelung 550 Funktionshandbuch, 11/2019, A5E35300226-AE

Der Ausgangsparameter Error wird gelöscht, sobald kein Fehler mehr ansteht. ErrorBits (DW#16#...)

Beschreibung

0001_0000 Fehlerursache: Der Parameter SubstituteOutput oder Input, der als Ausgangswert verwendet wird, hat keinen gültigen REAL-Wert. Fehlerreaktion: Der Ausgang wird auf 0.0 gesetzt. Abhilfe: Stellen Sie sicher, dass der Parameter, der als Ausgangswert verwendet wird, ein gültiger REAL-Wert (≠ NaN z. B. 16#7FFF_FFFF) ist. Welcher Parameter als Ausgangswert verwendet wird, ist abhängig von Reset und ErrorMode: Reset ErrorMode Ausgangswert FALSE 0 Input FALSE 1 SubstituteOutput TRUE - SubstituteOutput

0002_0000 Fehlerursache: Der Parameter Input hat keinen gültigen REAL-Wert, während die Interpolationsberechnung ausgeführt wird (Reset = FALSE). Fehlerreaktion: Am Parameter Output wird der Ersatzausgangswert ausgegeben, der an der Variable ErrorMode konfi-guriert ist. Bei ErrorMode = 0 wird 0.0 als Ausgangswert ausgegeben. Die Variable NextXIndex wird nicht aktualisiert, solange der Parameter Input einen ungültigen REAL-Wert hat. Abhilfe: Stellen Sie sicher, dass der Parameter Input ein gültiger REAL-Wert (≠ NaN z. B. 16#7FFF_FFFF) ist.

0004_0000 Fehlerursache: Die Interpolationsberechnung ergibt einen ungültigen REAL-Wert für Parameter Output. Fehlerreaktion: Am Parameter Output wird der Ersatzausgangswert ausgegeben, der an der Variable ErrorMode konfi-guriert ist. Die Variable NextXIndex kann einen ungültigen Wert haben, solange dieser Fehler ansteht. Abhilfe: Prüfen Sie die REAL-Werte in der Struktur WorkingData auf Gültigkeit. Zusätzliche Information: Wenn Sie die Polygonzug-Daten ändern möchten, dann editieren Sie zuerst die Struktur UserData und setzten Sie anschließend den Parameter Validate = TRUE. Ändern Sie die Daten der Struktur Working-Data nicht manuell.

Page 552: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.5 Polyline

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 551

ErrorBits (DW#16#...)

Beschreibung

0008_0000 Fehlerursache: Eine oder mehrere Variablen in der Struktur UserData haben ungültige Werte, während die Polygonzug-Daten geprüft werden. Fehlerreaktion: Die Polygonzug-Daten in der Struktur UserData werden nicht in die Struktur WorkingData übernommen, sodass die Werte in der Struktur UserData nicht wirksam werden. FB Polyline gibt am Parameter Output nicht den Interpolationswert aus, da keine gültigen Polygonzug-Daten in der Struktur WorkingData enthalten sind. Am Parameter Output wird der Ersatzausgangswert ausgegeben, der an der Variable ErrorMode konfiguriert ist. Abhilfe: Stellen Sie sicher, dass folgende Bedingungen erfüllt sind, wenn die Prüfung der Polygonzug-Daten ausgeführt wird: • 2 ≤ UserData.NumberOfUsedPoints ≤ 50 • UserData.Point[j].x < UserData.Point[j+1].x mit Index j = 1..(UserData.NumberOfUsedPoints – 1) • -3.402823e+38 ≤ UserData.Point[i].x ≤ 3.402823e+38 mit Index i =

1..UserData.NumberOfUsedPoints • -3.402823e+38 ≤ UserData.Point[i].y ≤ 3.402823e+38 mit Index i =

1..UserData.NumberOfUsedPoints • UserData.Point[i].x und UserData.Point[i].y sind gültige REAL-Werte (≠ NaN) mit Index i =

1..UserData.NumberOfUsedPoints Zusätzliche Information: Die Polygonzug-Daten in der Struktur UserData werden geprüft, wenn • der Parameter Validate auf TRUE gesetzt ist, während der Parameter Reset auf FALSE gesetzt ist oder • Polyline nach dem Betriebszustandswechsel der CPU von STOP auf RUN erstmalig mit Parameter

Reset = FALSE aufgerufen wird. Beachten Sie, dass alle Variablen in den Strukturen UserData und WorkingData nicht remanent sind. Diese Variablen werden nach jedem Betriebszustandswechsel der CPU von STOP auf RUN mit den Startwerten initialisiert.

Page 553: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.6 SplitRange

PID-Regelung 552 Funktionshandbuch, 11/2019, A5E35300226-AE

9.6 SplitRange

9.6.1 Kompatibilität mit CPU und FW Die folgende Tabelle zeigt, auf welcher CPU Sie welche Version von SplitRange einsetzen können: CPU FW SplitRange S7-1200 ab V4.2 V1.0 S7-1500 basierte CPUs ab V2.0 V1.0

9.6.2 Beschreibung SplitRange

Beschreibung Die Anweisung SplitRange konvertiert den Eingangswert in einen Ausgangswert. Der Eingangswert liegt dabei in dem Wertebereich, der durch Points.x1 und Points.x2 begrenzt ist. Der Ausgangswert liegt in dem Wertebereich, der durch Points.y1 und Points.y2 begrenzt ist.

Das folgende Bild zeigt die Kennlinie einer beispielhaften Konfiguration der Anweisung SplitRange:

Setzen Sie SplitRange ein, wenn Sie eine Regelung eines Prozesses benötigen, den mehrere Aktoren beeinflussen. SplitRange teilt dabei den Ausgangswertebereich des PID-Reglers in mehrere Unterbereiche auf. Weisen Sie jedem Aktor einen Unterbereich zu. Das Anwenderprogramm ruft den Baustein ein mal pro Unterbereich auf. Der Eingangswert jeder SplitRange-Instanz ist mit dem Ausgangswert des PID-Reglers verbunden.

Page 554: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.6 SplitRange

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 553

Das folgende Bild zeigt beispielhaft ein Regelkreis mit zwei SplitRange-Instanzen und zwei Aktoren:

Gültigkeit der SplitRange-Daten Die Wertepaare in der Struktur Points definieren den Eingangs- und Ausgangswertebereich von SplitRange. Die beiden Wertepaare liegen im statischen Bereich des Bausteins SplitRange.

SplitRange prüft bei jedem Aufruf, ob folgende Bedingungen erfüllt sind, damit gültige Werte für die Berechnung des Ausgangswerts verfügbar sind:

● Points.x1 < Points.x2

● Points.x1, Points.y1, Points.x2 und Points.y2 liegen innerhalb des zulässigen Wertebereichs -3.402823e+38 bis 3.402823e+38

● Points.x1, Points.y1, Points.x2 und Points.y2 sind gültige REAL-Werte (≠ NaN z. B. 16#7FFF_FFFF)

Wenn eine oder mehrere Bedingungen nicht erfüllt sind, dann ist keine korrekte Berechnung des Ausgangswerts möglich. Eine entsprechende Fehlermeldung wird am Parameter ErrorBits ausgegeben.

Die Vorbelegung der x- und y-Werte mit 0.0 stellt keine gültige Konfiguration dar. Ändern Sie die Variablen auf gültige Werte, damit die Variablen für die Berechnung des Ausgangswerts verwendet werden.

Freigabeverhalten EN/ENO Wenn eine der folgenden Bedingungen erfüllt ist, dann wird der Freigabeausgang ENO auf FALSE gesetzt:

● Freigabeeingang EN ist auf TRUE gesetzt und der Parameter Output ist durch einen Ersatzausgangswert festgelegt bei Fehlermeldungen ErrorBits ≥ 16#0001_0000.

● Freigabeeingang EN ist auf FALSE gesetzt.

Sonst wird der Freigabeausgang ENO auf TRUE gesetzt.

Page 555: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.6 SplitRange

PID-Regelung 554 Funktionshandbuch, 11/2019, A5E35300226-AE

Aufruf In einem OB oder FC wird SplitRange als Einzelinstanz-DB aufgerufen. In einem FB kann SplitRange sowohl als Einzelinstanz-DB, als auch als ein Multiinstanz-DB und als ein Parameterinstanz-DB aufgerufen werden.

Bei dem Aufruf der Anweisung wird kein Technologieobjekt angelegt. Parametrier- und Inbetriebnahmeoberfläche steht Ihnen nicht zur Verfügung. Sie parametrieren SplitRange direkt über den Instanz-DB und nehmen SplitRange über eine Beobachtungstabelle des Anwenderprogramms in der CPU oder HMI in Betrieb.

Anlauf Die Variablen im statischen Bereich von SplitRange sind nicht remanent. Diese Variablen werden nach jedem Betriebszustandswechsel der CPU von STOP auf RUN mit den Startwerten initialisiert.

Wenn Sie die Aktualwerte in der Struktur Points im Online-Betrieb ändern und diese Werte nach dem Betriebszustandswechsel der CPU von STOP auf RUN erhalten bleiben sollen, dann sichern Sie diese Werte in den Startwerten des Datenbausteins.

Verhalten im Fehlerfall Die Anweisung SplitRange erkennt unterschiedliche Fehler, die bei der Berechnung des Ausgangswerts auftreten können. Das Ergebnis der Berechnung kann trotz eines anstehenden Fehlers am Ausgang ausgegeben werden. Wenn keine korrekte Berechnung des Ausgangswerts wegen eines Fehlers möglich ist, dann wird ein Ersatzausgangswert am Ausgang ausgegeben.

An der Variable ErrorMode legen Sie im Fall eines Fehlers, bei dem keine korrekte Berechnung des Ausgangswerts möglich ist, den Ersatzausgangswert folgendermaßen fest: ErrorMode Output 0 Wert des Parameters Input 1 Wert des Parameters SubstituteOutput 2 Das letzte gültige Ergebnis der Ausgangswertberechnung

0.0, falls kein gültiges Ergebnis vorhanden

Folgendes gilt zusätzlich für alle Werte der Variable ErrorMode:

● Wenn der Ersatzausgangswert kein gültiger REAL-Wert ist, wird 0.0 als Ausgangswert ausgegeben.

● Der Ersatzausgangswert wird auf den Wertebereich des Datentyps REAL begrenzt. Erst dann wird der Ersatzausgangswert am Parameter Output ausgegeben.

● Die Variable ErrorMode ist nur dann wirksam, wenn der Parameter Reset = FALSE gesetzt ist. Wenn der Parameter Reset = TRUE gesetzt ist, wird der Wert von Parameter SubstituteOutput am Parameter Output ausgegeben.

Der Parameter Error zeigt, ob aktuell ein Fehler ansteht. Wenn der Fehler nicht mehr ansteht, wird Error auf FALSE gesetzt. Der Parameter ErrorBits zeigt, welche Fehler aufgetreten sind. ErrorBits ist remanent und wird nur durch eine steigende Flanke am Parameter Reset oder ErrorAck zurückgesetzt.

Page 556: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.6 SplitRange

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 555

9.6.3 Eingangsparameter SplitRange Parameter Datentyp Vorbelegung Beschreibung Input REAL 0.0 Eingangswert Substitute-Output

REAL 0.0 SubstituteOutput wird als Ersatzausgangswert verwendet, wenn • Reset = TRUE oder • keine korrekte Berechnung des Ausgangswerts wegen eines Fehlers mit

Fehlermeldung ErrorBits ≥ 16#0001_0000 möglich ist und ErrorMode auf den Wert 1 konfiguriert ist.

ErrorAck BOOL FALSE Löscht die Fehlermeldungen • Flanke FALSE -> TRUE

ErrorBits wird zurückgesetzt Reset BOOL FALSE Führt einen Neustart der Anweisung durch

• Flanke FALSE -> TRUE

ErrorBits wird zurückgesetzt. • Solange Reset auf TRUE gesetzt ist, wird der Ersatzausgangswert Substi-

tuteOutput am Ausgang ausgegeben. • Solange Reset auf FALSE gesetzt ist, wird die Berechnung des Aus-

gangswerts ausgeführt.

9.6.4 Ausgangsparameter SplitRange Parameter Datentyp Vorbelegung Beschreibung Output REAL 0.0 Ausgangswert ErrorBits DWORD DW#16#0 Der Parameter ErrorBits (Seite 556) zeigt, welche Fehlermeldungen vorlie-

gen. ErrorBits ist remanent und wird bei einer steigenden Flanke an Reset oder ErrorAck zurückgesetzt.

Error BOOL FALSE Wenn Error auf TRUE gesetzt ist, steht aktuell mindestens ein Fehler an.

Page 557: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.6 SplitRange

PID-Regelung 556 Funktionshandbuch, 11/2019, A5E35300226-AE

9.6.5 Statische Variablen SplitRange Variable Datentyp Vorbelegung Beschreibung Points AuxFct_SplitRan

ge_Points - Stützpunktdaten

Points.x1 REAL 0.0 x-Wert des Stützpunkts 1 Zulässiger Wertebereich: Points.x1 < Points.x2

Points.y1 REAL 0.0 y-Wert des Stützpunkts 1 Points.x2 REAL 0.0 x-Wert des Stützpunkts 2

Zulässiger Wertebereich: Points.x1 < Points.x2 Points.y2 REAL 0.0 y-Wert des Stützpunkts 2 ErrorMode INT 0 Auswahl des Ersatzausgangswerts im Fehlerfall

• 0 = Input • 1 = SubstituteOutput • 2 = letzter gültiger Ausgangswert Zulässiger Wertebereich: 0 bis 2

9.6.6 Parameter ErrorBits Wenn gleichzeitig mehrere Fehler anstehen, dann werden die Werte der ErrorBits binär addiert angezeigt. Wenn z. B. ErrorBits = 16#0000_0003 angezeigt wird, dann stehen gleichzeitig die Fehler 16#0000_0001 und 16#0000_0002 an.

Bei SplitRange werden die Fehler, die am Parameter ErrorBits ausgegeben werden, in zwei Kategorien unterschieden:

● Fehler mit Fehlermeldungen ErrorBits < 16#0001_0000

● Fehler mit Fehlermeldungen ErrorBits ≥ 16#0001_0000

Fehler mit Fehlermeldungen ErrorBits < 16#0001_0000 Wenn ein oder mehrere Fehler mit Fehlermeldungen ErrorBits < 16#0001_0000 anstehen, dann reagiert SplitRange wie folgt:

● Der Ausgangswert wird trotz dieses Fehlers folgendermaßen ermittelt:

– Wenn Reset = FALSE, Ausgangswertberechnung

– Wenn Reset = TRUE, Ausgabe von SubstituteOutput

● Der Ausgangsparameter Error wird gesetzt.

● Der Freigabeausgang ENO wird nicht geändert.

Page 558: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.6 SplitRange

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 557

Der Ausgangsparameter Error wird gelöscht, sobald kein Fehler mehr ansteht. ErrorBits (DW#16#...)

Beschreibung

0000_0000 Kein Fehler steht an. 0000_0001 Fehlerursache und Fehlerreaktion:

Der Parameter Output wurde begrenzt auf -3.402823e+38 oder +3.402823e+38. Abhilfe: Wenn ErrorBits ≥ 16#0001_0000 und Reset = FALSE, wird der Ersatzausgangswert bei dessen Ausga-be begrenzt. Prüfen Sie dann folgende Parameter abhängig von dem eingestellten Wert an der Variable ErrorMode: • Input • SubstituteOutput Wenn Reset = TRUE, dann prüfen Sie den Parameter SubstituteOutput.

Fehler mit Fehlermeldungen ErrorBits ≥ 16#0001_0000 Wenn ein oder mehrere Fehler mit Fehlermeldungen ErrorBits ≥ 16#0001_0000 anstehen, dann reagiert SplitRange wie folgt:

● Der Ausgangswert kann nicht wie erwartet ermittelt werden. Stattdessen wird der Ersatzausgangswert ausgegeben.

● Der Ausgangsparameter Error wird gesetzt.

● Der Freigabeausgang ENO wird auf FALSE gesetzt.

Sobald keine Fehler mit Fehlermeldungen ErrorBits ≥ 16#0001_0000 mehr anstehen, reagiert SplitRange wie folgt:

● Der Ausgangswert wird folgendermaßen ermittelt:

– Wenn Reset = FALSE, Ausgangswertberechnung

– Wenn Reset = TRUE, Ausgabe von SubstituteOutput

● Der Freigabeausgang ENO wird auf TRUE gesetzt.

Page 559: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.6 SplitRange

PID-Regelung 558 Funktionshandbuch, 11/2019, A5E35300226-AE

Der Ausgangsparameter Error wird gelöscht, sobald kein Fehler mehr ansteht. ErrorBits (DW#16#...)

Beschreibung

0001_0000 Fehlerursache: Der Parameter SubstituteOutput oder Input, der als Ausgangswert verwendet wird, hat keinen gültigen REAL-Wert. Fehlerreaktion: Der Ausgang wird auf 0.0 gesetzt. Abhilfe: Stellen Sie sicher, dass der Parameter, der als Ausgangswert verwendet wird, ein gültiger REAL-Wert (≠ NaN z. B. 16#7FFF_FFFF) ist. Welcher Parameter als Ausgangswert verwendet wird, ist abhängig von Reset und ErrorMode: Reset ErrorMode Ausgangswert FALSE 0 Input FALSE 1 SubstituteOutput TRUE - SubstituteOutput

0002_0000 Fehlerursache: Der Parameter Input hat keinen gültigen REAL-Wert, während die Berechnung des Ausgangswerts ausgeführt wird (Reset = FALSE). Fehlerreaktion: Am Parameter Output wird der Ersatzausgangswert ausgegeben, der an der Variable ErrorMode konfi-guriert ist. Bei ErrorMode = 0 wird 0.0 als Ausgangswert ausgegeben. Abhilfe: Stellen Sie sicher, dass der Parameter Input ein gültiger REAL-Wert (≠NaN z. B. 16#7FFF_FFFF) ist.

0004_0000 Mögliche Fehlerursachen: • Eine oder mehrere Variablen in der Struktur Points haben ungültige Werte. • Die Berechnung des Ausgangswerts ergibt einen ungültigen REAL-Wert für Parameter Output. Fehlerreaktion: Am Parameter Output wird der Ersatzausgangswert ausgegeben, der an der Variable ErrorMode konfi-guriert ist. Abhilfe: Stellen Sie sicher, dass folgende Bedingungen erfüllt sind: 1. Points.x1 < Points.x2 2. Points.x1, Points.y1, Points.x2 und Points.y2 liegen im zulässigen Wertebereich von -3.402823e+38

bis 3.402823e+38 3. Points.x1, Points.y1, Points.x2 und Points.y2 sind gültige REAL-Werte (≠ NaN z. B. 16#7FFF_FFFF) Zusätzliche Information: Beachten Sie, dass alle Variablen in der Struktur Points nicht remanent sind. Diese Variablen werden nach jedem Betriebszustandswechsel der CPU von STOP auf RUN mit den Startwerten initialisiert.

Page 560: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.7 RampFunction

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 559

9.7 RampFunction

9.7.1 Kompatibilität mit CPU und FW Die folgende Tabelle zeigt, auf welcher CPU Sie welche Version von RampFunction einsetzen können: CPU FW RampFunction S7-1200 ab V4.2 V1.0 S7-1500 basierte CPUs ab V2.0 V1.0

9.7.2 Beschreibung RampFunction

Beschreibung Die Anweisung RampFunction begrenzt die Änderungsgeschwindigkeit eines Signals. RampFunction gibt einen Signalsprung am Eingang als Rampenfunktion des Ausgangswerts aus.

Setzen Sie RampFunction ein, um Signalsprünge z. B. in folgenden Fällen zu vermeiden:

● Zwischen Sollwertquelle und Sollwerteingang des Reglers, um ein sanfteres Führungsverhalten zu erreichen, ohne Beeinflussung des Störverhaltens.

● Zwischen dem Reglerausgang und Aktoreingang, um den Aktor z. B. einen Motor mit Getriebe, oder den Prozess zu schonen.

Folgende Grenzwerte für die Änderungsgeschwindigkeit sind einstellbar:

● Steigende Änderungsgeschwindigkeit im positiven Wertebereich

● Fallende Änderungsgeschwindigkeit im positiven Wertebereich

● Steigende Änderungsgeschwindigkeit im negativen Wertebereich

● Fallende Änderungsgeschwindigkeit im negativen Wertebereich

Zusätzlich begrenzt die Anweisung RampFunction den Ausgangswert auf den unteren und oberen Grenzwert.

Wenn die Grenze der Änderungsgeschwindigkeit oder die untere oder obere Grenze erreicht wird, dann setzt RampFunction das dazugehörige Ausgangsbit auf TRUE.

Page 561: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.7 RampFunction

PID-Regelung 560 Funktionshandbuch, 11/2019, A5E35300226-AE

Funktionsdiagramm Das folgende Bild zeigt die Anweisung RampFunction und beispielhaft ein Funktionsdiagramm:

Page 562: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.7 RampFunction

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 561

Aufruf In einem OB oder FC wird RampFunction als Einzelinstanz-DB aufgerufen. In einem FB kann RampFunction sowohl als Einzelinstanz-DB, als auch als ein Multiinstanz-DB und als ein Parameterinstanz-DB aufgerufen werden.

Bei dem Aufruf der Anweisung wird kein Technologieobjekt angelegt. Parametrier- und Inbetriebnahmeoberfläche steht Ihnen nicht zur Verfügung. Sie parametrieren RampFunction direkt über den Instanz-DB und nehmen RampFunction über eine Beobachtungstabelle des Anwenderprogramms in der CPU oder HMI in Betrieb.

Anlauf Die Variablen im statischen Bereich von RampFunction sind nicht remanent. Diese Variablen werden nach jedem Betriebszustandswechsel der CPU von STOP auf RUN mit den Startwerten initialisiert.

Wenn Sie die Aktualwerte der Grenzwerte im Online-Betrieb ändern und diese Werte nach dem Betriebszustandswechsel der CPU erhalten bleiben sollen, dann sichern Sie diese Werte in den Startwerten des Datenbausteins.

An der Variable StartMode legen Sie den Initialisierungswert für den Parameter Output fest.

Der Initialisierungswert wird beim ersten Aufruf von RampFunction nach dem

● Betriebszustandswechsel der CPU

oder

● Ausführen von "Startwerte als Aktualwerte laden" (nur bei Option "Alle Werte", nicht bei Option "Nur Einstellwerte")

am Parameter Output ausgegeben.

Bei den nachfolgenden Aufrufen berechnet RampFunction den Ausgangswert, ausgehend von diesem Initialisierungswert, auf Basis des Eingangswerts und der Grenzwerte für die Änderungsgeschwindigkeit.

Die folgende Tabelle zeigt die Abhängigkeit zwischen der Variable StartMode und dem Parameter Output. Die Werte in der Spalte Output werden nach dem Betriebszustandswechsel der CPU am Parameter Output ausgegeben: StartMode Output Beispiel 0 Wert des Parameters Input

1 Wert des Parameters SubstituteOutput

Page 563: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.7 RampFunction

PID-Regelung 562 Funktionshandbuch, 11/2019, A5E35300226-AE

StartMode Output Beispiel 2 Bleibt unverändert. Parameter Output

ist remanent.

3 0.0

4 Wert der Variable LowerLimit

5 Wert der Variable UpperLimit

Folgendes gilt zusätzlich für alle Werte der Variable StartMode:

● Wenn die Werte der Variablen UpperLimit und LowerLimit gültig sind, wird der Initialisierungswert auf den Wertebereich dieser Variablen begrenzt. Erst dann wird der Initialisierungswert am Parameter Output ausgegeben.

● Falls der Initialisierungswert kein gültiger REAL-Wert ist, wird der Ersatzausgangswert am Parameter Output ausgeben. Der Ersatzausgangswert wird durch die Variable ErrorMode konfiguriert. Der Ersatzausgangswert wird durch den Wertebereich der Variablen UpperLimit und LowerLimit begrenzt. Falls der Ersatzausgangswert ebenfalls kein gültiger REAL-Wert ist, wird 0.0 am Parameter Output ausgegeben. Bei den nachfolgenden Aufrufen berechnet die Anweisung den Ausgangswert ausgehend von diesem Ersatzausgangswert.

● Nur wenn bei dem ersten Aufruf der Anweisung der Parameter Reset = FALSE gesetzt ist und gleichzeitig kein Fehler mit Fehlermeldung ErrorBits ≥ 16#0002_0000 ansteht, ist die Variable StartMode wirksam. Wenn der Parameter Reset = TRUE gesetzt ist, wird der Wert des Parameters SubstituteOutput am Parameter Output ausgegeben. Wenn ein Fehler mit Fehlermeldung ErrorBits ≥ 16#0002_0000 ansteht, wird am Parameter Output der Ersatzausgangswert ausgegeben, der an der Variable ErrorMode konfiguriert ist.

Page 564: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.7 RampFunction

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 563

Verhalten im Fehlerfall Die Anweisung RampFunction erkennt unterschiedliche Fehler, die bei der Berechnung des Ausgangswerts auftreten können. Das Ergebnis dieser Berechnung kann trotz eines anstehenden Fehlers am Ausgang ausgegeben werden. Wenn keine korrekte Berechnung des Ausgangswerts wegen eines Fehlers möglich ist, dann wird ein Ersatzausgangswert am Ausgang ausgegeben.

An der Variable ErrorMode legen Sie im Fall eines Fehlers, bei dem keine korrekte Berechnung des Ausgangswerts möglich ist, den Ersatzausgangswert fest.

Die folgende Tabelle zeigt die Abhängigkeit zwischen dem Wert der Variable ErrorMode und dem Ersatzausgangswert, den RampFunction am Parameter Output ausgibt: ErrorMode Output 0 Wert des Parameters Input 1 Wert des Parameters SubstituteOutput 2 Der letzte gültige Ausgangswert am Parameter Output 3 0.0 4 Wert der Variable LowerLimit 5 Wert der Variable UpperLimit

Folgendes gilt zusätzlich für alle Werte der Variable ErrorMode:

● Wenn der Ersatzausgangswert kein gültiger REAL-Wert ist, wird 0.0 als Ausgangswert ausgegeben.

● Wenn die Werte der Variablen UpperLimit und LowerLimit gültig sind, wird der Ersatzausgangswert auf den Wertebereich dieser Variablen begrenzt. Erst dann wird der Ersatzausgangswert am Parameter Output ausgegeben.

● Die Variable ErrorMode ist nur dann wirksam, wenn der Parameter Reset = FALSE gesetzt ist. Wenn der Parameter Reset = TRUE gesetzt ist, wird der Wert von Parameter SubstituteOutput am Parameter Output ausgegeben.

● Wenn ein Fehler ansteht, der eine korrekte Berechnung des Ausgangswerts verhindert, dann wechselt RampFunction am Parameter Output von dem berechneten Ausgangswert auf den Ersatzausgangswert. Dabei kann je nach Wert der Variable ErrorMode ein Sprung des Ausgangswerts auftreten.

Der Parameter Error zeigt, ob aktuell ein Fehler ansteht. Wenn der Fehler nicht mehr ansteht, wird Error auf FALSE gesetzt. Der Parameter ErrorBits zeigt, welche Fehler aufgetreten sind. ErrorBits ist remanent und wird nur durch eine steigende Flanke am Parameter Reset oder ErrorAck zurückgesetzt.

Page 565: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.7 RampFunction

PID-Regelung 564 Funktionshandbuch, 11/2019, A5E35300226-AE

9.7.3 Arbeitsweise RampFunction

Änderungsgeschwindigkeit begrenzen Vier Grenzwerte für die Änderungsgeschwindigkeit des Eingangssignals sind konfigurierbar. Welcher Grenzwert momentan wirksam ist, hängt von den folgenden Faktoren ab:

● Vorzeichen des Ausgangswerts am Parameter Output

● Änderungsrichtung des Betrags des Ausgangswerts am Parameter Output

Die folgende Tabelle zeigt die wirksamen Variablen für den Grenzwert der Änderungsgeschwindigkeit in Abhängigkeit des Parameters Output: Output Wirksame Variable Output ≥ 0 und |Output| steigend PositiveRisingSlewRate Output ≥ 0 und |Output| fallend PositiveFallingSlewRate Output < 0 und |Output| steigend NegativeRisingSlewRate Output < 0 und |Output| fallend NegativeFallingSlewRate

Der Betrag der Grenzwerte der Änderungsgeschwindigkeit definiert die maximale Änderung des Ausgangswerts pro Sekunde.

Beispiel:

Folgendes Szenario gilt für das Beispiel:

● PositiveRisingSlewRate = 10.0

● Aufrufzeit von RampFunction = 0.1 s

● Input > Output ≥ 0.0

Ergebnis:

Der Ausgangswert Output steigt um 1.0 pro Aufruf (10.0 pro Sekunde), bis der Wert am Parameter Input erreicht ist.

Um die Begrenzung der Änderungsgeschwindigkeit für einen oder mehrere Bereiche zu deaktivieren, setzen Sie die entsprechende Variable auf den Wert 3.402823e+38.

Wenn der Ausgangswert Output aktuell durch einen Grenzwert der Änderungsgeschwindigkeit begrenzt ist, dann setzt RampFunction das zugehörige Ausgangsbit auf TRUE:

● PositiveRisingSlewRate_Active

● PositiveFallingSlewRate_Active

● NegativeRisingSlewRate_Active

● NegativeFallingSlewRate_Active

Wenn der Parameter Reset auf TRUE gesetzt ist, dann sind die Grenzwerte der Änderungsgeschwindigkeit nicht wirksam. Dadurch führen Sprünge am Parameter SubstituteOutput zu Sprüngen am Parameter Output.

Page 566: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.7 RampFunction

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 565

RampFunction prüft bei jedem Aufruf, ob folgende Bedingungen für die Variablen PositiveRisingSlewRate, PositiveFallingSlewRate, NegativeRisingSlewRate und NegativeFallingSlewRate erfüllt sind:

● Werte liegen innerhalb des zulässigen Wertebereichs größer 0.0 bis 3.402823e+38

● Werte sind gültige REAL-Werte (≠ NaN z. B. 16#7FFF_FFFF)

Wenn eine oder mehrere Bedingungen nicht erfüllt sind, dann wird der Ersatzausgangswert am Parameter Output ausgegeben. Die entsprechende Fehlermeldung wird am Parameter ErrorBits ausgegeben.

Ausgangswert begrenzen Der Ausgangswert Output ist immer auf den Wertebereich der Variablen UpperLimit und LowerLimit begrenzt, solange diese Variablen gültige Werte haben.

Wenn der Ausgangswert Output aktuell durch diesen Wertebereich begrenzt ist, dann setzt RampFunction das zugehörige Ausgangsbit auf TRUE:

● UpperLimit_Active

● LowerLimit_Active

Die Begrenzung des Ausgangswerts hat eine höhere Priorität als die Begrenzung der Änderungsgeschwindigkeit. Dadurch führen Änderungen der Variablen UpperLimit und LowerLimit zu Sprüngen des Ausgangswerts Output, wenn dies für die Einhaltung der Grenzwerte der Variablen UpperLimit und LowerLimit erforderlich ist. Die Begrenzung der Änderungsgeschwindigkeit wird in diesem Fall nicht berücksichtigt.

Beispiel:

Wenn der Grenzwert UpperLimit von 100.0 auf 80.0 reduziert wird, während die Werte der Parameter Input und Output bei 90.0 liegen, dann springt der Ausgangswert Output auf 80.0. Der Ausgangswert Output springt auf 80.0 unabhängig davon, ob dadurch der konfigurierte Grenzwert für die Änderungsgeschwindigkeit verletzt wird.

RampFunction prüft bei jedem Aufruf, ob folgende Bedingungen erfüllt sind:

● LowerLimit < UpperLimit

● LowerLimit und UpperLimit liegen innerhalb des zulässigen Wertebereichs -3.402823e+38 bis 3.402823e+38

● LowerLimit und UpperLimit sind gültige REAL-Werte (≠ NaN z. B. 16#7FFF_FFFF)

Wenn eine oder mehrere Bedingungen nicht erfüllt sind, dann wird der Ersatzausgangswert am Parameter Output ausgegeben. Die entsprechende Fehlermeldung wird am Parameter ErrorBits ausgegeben.

Zusätzlich prüft RampFunction bei jedem Aufruf, ob der Ausgangswert Output den zulässigen Wertebereich eines REAL-Datentyps von -3.402823e+38 bis 3.402823e+38 hat. Wenn die Berechnung des Ausgangswerts einen ungültigen REAL-Wert ergibt, dann wird am Parameter Output der Ersatzausgangswert ausgegeben. Den Ersatzausgangswert konfigurieren Sie an der Variable ErrorMode.

Page 567: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.7 RampFunction

PID-Regelung 566 Funktionshandbuch, 11/2019, A5E35300226-AE

Freigabeverhalten EN/ENO Wenn eine der folgenden Bedingungen erfüllt ist, dann wird der Freigabeausgang ENO auf FALSE gesetzt:

● Freigabeeingang EN ist auf TRUE gesetzt und der Parameter Output ist durch einen Ersatzausgangswert festgelegt bei Fehlermeldungen ErrorBits ≥ 16#0001_0000.

● Freigabeeingang EN ist auf FALSE gesetzt.

Sonst wird der Freigabeausgang ENO auf TRUE gesetzt.

Zykluszeit automatisch messen Für die Berechnung der Änderungsgeschwindigkeit des Ausgangswerts benötigt RampFunction die Zeit, die seit dem letzten Aufruf von RampFunction vergangen ist.

Standardmäßig wird die Zykluszeit automatisch gemessen und ab dem zweiten Aufruf an der Variable CycleTime.Value ausgegeben. RampFunction misst die Zykluszeit bei jedem Aufruf der Anweisung und ist somit in nicht äquidistanten Aufrufzyklen einsetzbar, z. B. im OB1.

Beachten Sie, dass bedingte Aufrufe der Anweisung, aktive Haltepunkte oder das Laden von Momentaufnahmen als Aktualwerte bei automatischer Messung der Zykluszeit den Wert der Zykluszeit verlängern.

Wenn die Messung der Zykluszeit kein gültiges Ergebnis liefert, dann berechnet RampFunction den aktuellen Ausgangswert mit der letzten gültigen Zykluszeit. Zusätzlich gibt RampFunction eine Fehlermeldung am Parameter ErrorBits aus.

Wenn Sie die automatische Messung der Zykluszeit mit Setzen der Variable CycleTime.EnableMeasurement = FALSE deaktivieren, dann müssen Sie die Zykluszeit manuell an der Variable CycleTime.Value vorgeben. RampFunction prüft die Variable CycleTime.Value bei jedem Aufruf auf Gültigkeit.

Automatische Messung der Zykluszeit mit Haltepunkten Wenn Haltepunkte zwischen zwei Aufrufen von RampFunction aktiv sind, ergibt die automatische Messung der Zykluszeit die tatsächliche Zeit, die zwischen zwei Aufrufen vergangen ist. Wenn ein Haltepunkt aktiv ist, dann befindet sich die CPU im Betriebszustand HALT.

Hinweis

Die aktiven Haltepunkte verlängern den Zeitabstand zwischen zwei Aufrufen von RampFunction.

Mit einem längeren Zeitabstand zwischen zwei Aufrufen vergrößert sich auch die maximal zulässige Änderung des Ausgangswerts am Parameter Output.

Page 568: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.7 RampFunction

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 567

Beispiel:

Folgendes Szenario gilt für das Beispiel:

● PositiveRisingSlewRate = 10.0

● Aufrufzeit von RampFunction = 0.1 s

● Input > Output ≥ 0.0

Ergebnis ohne Haltepunkte:

Der Ausgangswert Output steigt um 1.0 pro Aufruf, bis der Wert am Parameter Input erreicht ist.

Ergebnis bei einem zehn Sekunden lang aktiven Haltepunkt:

Bei dem nächsten Aufruf steigt der Ausgangswert Output um 100.0.

Wenn Sie die Berechnung des Ausgangswerts basierend auf der tatsächlichen Zeit mit aktiven Haltepunkten nicht benötigen, dann führen Sie folgende Schritte durch:

● Deaktivieren Sie die automatische Messung der Zykluszeit mit Setzen der Variable CycleTime.EnableMeasurement = FALSE.

● Geben Sie die Zykluszeit manuell an der Variable CycleTime.Value ein.

9.7.4 Eingangsparameter RampFunction Parameter Datentyp Vorbelegung Beschreibung Input REAL 0.0 Eingangswert Substitute-Output

REAL 0.0 SubstituteOutput wird als Ersatzausgangswert verwendet, wenn • Reset = TRUE oder • keine korrekte Berechnung des Ausgangswerts wegen eines Fehlers mit

Fehlermeldung ErrorBits ≥ 16#0001_0000 möglich ist und ErrorMode auf den Wert 1 konfiguriert ist.

ErrorAck BOOL FALSE Löscht die Fehlermeldungen • Flanke FALSE -> TRUE

ErrorBits wird zurückgesetzt Reset BOOL FALSE Führt einen Neustart der Anweisung durch

• Flanke FALSE -> TRUE

ErrorBits wird zurückgesetzt. • Solange Reset auf TRUE gesetzt ist, wird der Ersatzausgangswert Substi-

tuteOutput am Ausgang ausgegeben. • Solange Reset auf FALSE gesetzt ist, wird die Berechnung des Aus-

gangswerts ausgeführt.

Page 569: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.7 RampFunction

PID-Regelung 568 Funktionshandbuch, 11/2019, A5E35300226-AE

9.7.5 Ausgangsparameter RampFunction Parameter Datentyp Vorbelegung Beschreibung Output REAL 0.0 Ausgangswert PositiveRising-SlewRate_Active

BOOL FALSE Wenn PositiveRisingSlewRate_Active = TRUE, dann ist der Aus-gangswert aktuell durch PositiveRisingSlewRate begrenzt.

PositiveFalling-SlewRate_Active

BOOL FALSE Wenn PositiveFallingSlewRate_Active TRUE, dann ist der Ausgangs-wert aktuell durch PositiveFallingSlewRate begrenzt.

NegativeRising-SlewRate_Active

BOOL FALSE Wenn NegativeRisingSlewRate_Active = TRUE, dann ist der Aus-gangswert aktuell durch NegativeRisingSlewRate begrenzt.

NegativeFalling-SlewRate_Active

BOOL FALSE Wenn NegativeFallingSlewRate_Active = TRUE, dann ist der Aus-gangswert aktuell durch NegativeFallingSlewRate begrenzt.

UpperLimit_Active BOOL FALSE Wenn UpperLimit_Active = TRUE, dann ist der Ausgangswert aktuell durch UpperLimit begrenzt.

LowerLimit_Active BOOL FALSE Wenn LowerLimit_Active = TRUE, dann ist der Ausgangswert aktuell durch LowerLimit begrenzt.

ErrorBits DWORD DW#16#0 Der Parameter ErrorBits (Seite 570) zeigt, welche Fehlermeldungen vorliegen. ErrorBits ist remanent und wird bei einer steigenden Flanke an Reset oder ErrorAck zurückgesetzt.

Error BOOL FALSE Wenn Error = TRUE, dann steht aktuell mindestens ein Fehler an.

9.7.6 Statische Variablen RampFunction Variable Datentyp Vorbelegung Beschreibung PositiveRising-SlewRate

REAL 10.0 Grenzwert für die Änderungsgeschwindigkeit des Aus-gangswerts pro Sekunde im positiven Bereich bei steigen-dem Absolutbetrag Mit PositiveRisingSlewRate = 3.402823e+38 ist diese Be-grenzung der Änderungsgeschwindigkeit deaktiviert. Zulässiger Wertebereich: > 0.0

PositiveFalling-SlewRate

REAL 10.0 Grenzwert für die Änderungsgeschwindigkeit des Aus-gangswerts pro Sekunde im positiven Bereich bei fallendem Absolutbetrag Mit PositiveFallingSlewRate = 3.402823e+38 ist diese Be-grenzung der Änderungsgeschwindigkeit deaktiviert. Zulässiger Wertebereich: > 0.0

NegativeRising-SlewRate

REAL 10.0 Grenzwert für die Änderungsgeschwindigkeit des Aus-gangswerts pro Sekunde im negativen Bereich bei steigen-dem Absolutbetrag Mit NegativeRisingSlewRate = 3.402823e+38 ist diese Be-grenzung der Änderungsgeschwindigkeit deaktiviert Zulässiger Wertebereich: > 0.0

Page 570: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.7 RampFunction

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 569

Variable Datentyp Vorbelegung Beschreibung NegativeFalling-SlewRate

REAL 10.0 Grenzwert für die Änderungsgeschwindigkeit des Aus-gangswerts pro Sekunde im negativen Bereich bei fallen-dem Absolutbetrag Mit NegativeFallingSlewRate = 3.402823e+38 ist diese Begrenzung der Änderungsgeschwindigkeit deaktiviert. Zulässiger Wertebereich: > 0.0

UpperLimit REAL 100.0 Obergrenze des Ausgangswerts Zulässiger Wertebereich: > LowerLimit

LowerLimit REAL 0.0 Untergrenze des Ausgangswerts Zulässiger Wertebereich: < UpperLimit

ErrorMode INT 2 Auswahl des Ersatzausgangswerts im Fehlerfall • 0 = Input • 1 = SubstituteOutput • 2 = letzter gültiger Ausgangswert • 3 = 0.0 • 4 = LowerLimit • 5 = UpperLimit Zulässiger Wertebereich: 0 bis 5

StartMode INT 2 Auswahl des Ausgangswerts für den ersten Aufruf der An-weisung • 0 = Input • 1 = SubstituteOutput • 2 = letzter Ausgangswert • 3 = 0.0 • 4 = LowerLimit • 5 = UpperLimit Zulässiger Wertebereich: 0 bis 5

CycleTime AuxFct _CycleTime

- Daten der Zykluszeit

CycleTime.Value REAL 0.1 Zeitabstand zwischen zwei Aufrufen der Anweisung in Se-kunden Zulässiger Wertebereich: > 0.0

CycleTime.Enable-Measurement

BOOL TRUE Automatische Messung der Zykluszeit • FALSE = Deaktiviert • TRUE = Aktiviert

Page 571: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.7 RampFunction

PID-Regelung 570 Funktionshandbuch, 11/2019, A5E35300226-AE

9.7.7 Parameter ErrorBits Wenn gleichzeitig mehrere Fehler anstehen, dann werden die Werte der ErrorBits binär addiert angezeigt. Wenn z. B. ErrorBits = 16#0000_0003 angezeigt wird, dann stehen gleichzeitig die Fehler 16#0000_0001 und 16#0000_0002 an.

Bei RampFunction werden die Fehler, die am Parameter ErrorBits ausgegeben werden, in zwei Kategorien unterschieden:

● Fehler mit Fehlermeldungen ErrorBits < 16#0001_0000

● Fehler mit Fehlermeldungen ErrorBits ≥ 16#0001_0000

Fehler mit Fehlermeldungen ErrorBits < 16#0001_0000 Wenn ein oder mehrere Fehler mit Fehlermeldungen ErrorBits < 16#0001_0000 anstehen, dann reagiert RampFunction wie folgt:

● Der Ausgangswert wird trotz dieses Fehlers folgendermaßen ermittelt:

– Wenn Reset = FALSE, Ausgangswertberechnung

– Wenn Reset = TRUE, Ausgabe von SubstituteOutput

● Der Ausgangsparameter Error wird gesetzt.

● Der Freigabeausgang ENO wird nicht geändert.

Der Ausgangsparameter Error wird gelöscht, sobald kein Fehler mehr ansteht. ErrorBits (DW#16#...)

Beschreibung

0000_0000 Kein Fehler steht an. 0000_0002 Fehlerursache:

Die Messung der Zykluszeit ergibt einen ungültigen Wert, während die Berechnung des Ausgangswerts ausgeführt wird (Reset = FALSE). Fehlerreaktion: Wenn bereits ein gültiger Wert der Zykluszeit gemessen wurde, dann berechnet RampFunction den Ausgangswert ausgehend von diesem letzten Wert der Variable CycleTime.Value. Wenn zuvor kein gültiger Wert der Zykluszeit gemessen wurde, dann gibt RampFunction weiterhin den mit der Variable StartMode konfigurierten Ausgangswert am Parameter Output aus.

Page 572: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.7 RampFunction

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 571

Fehler mit Fehlermeldungen ErrorBits ≥ 16#0001_0000 Wenn ein oder mehrere Fehler mit Fehlermeldungen ErrorBits ≥ 16#0001_0000 anstehen, dann reagiert RampFunction wie folgt:

● Der Ausgangswert kann nicht wie erwartet ermittelt werden. Stattdessen wird der Ersatzausgangswert ausgegeben.

● Der Ausgangsparameter Error wird gesetzt.

● Der Freigabeausgang ENO wird auf FALSE gesetzt.

● Die Begrenzung des Ausgangswerts bleibt wirksam, solange die Variablen LowerLimit und UpperLimit gültige Werte haben.

● Die Begrenzung der Änderungsgeschwindigkeit ist nicht mehr wirksam. In einem der folgenden Szenarios können Sprünge am Ausgangswert auftreten:

– In dem Moment, in dem der Fehler erkannt wird, schaltet RampFunction von dem berechneten Ausgangswert auf den Ersatzausgangswert um. Ob dabei ein Sprung auftritt, ist abhängig von dem Wert der Variable ErrorMode.

– Der Ersatzausgangswert wird geändert, während dieser wirksam ist.

Sobald keine Fehler mit Fehlermeldungen ErrorBits ≥ 16#0001_0000 mehr anstehen, reagiert RampFunction wie folgt:

● Der Ausgangswert wird folgendermaßen ermittelt:

– Wenn Reset = FALSE, Ausgangswertberechnung

– Wenn Reset = TRUE, Ausgabe von SubstituteOutput

● Der Freigabeausgang ENO wird auf TRUE gesetzt.

Der Ausgangsparameter Error wird gelöscht, sobald kein Fehler mehr ansteht. ErrorBits (DW#16#...)

Beschreibung

0001_0000 Fehlerursache: Der Parameter SubstituteOutput oder eine andere Variable, die als Ausgangswert verwendet wird, hat keinen gültigen REAL-Wert. Fehlerreaktion: Der Ausgang wird auf 0.0 gesetzt und durch die Variablen LowerLimit und UpperLimit begrenzt. Abhilfe: Stellen Sie sicher, dass die Variable, die als Ausgangswert verwendet wird, ein gültiger REAL-Wert (≠ NaN z. B. 16#7FFF_FFFF) ist. Welche Variable als Ausgangswert verwendet wird, ist abhängig von Reset und ErrorMode: Reset ErrorMode Ausgangswert FALSE 0 Input FALSE 1 SubstituteOutput FALSE 4 LowerLimit FALSE 5 UpperLimit TRUE - SubstituteOutput

Page 573: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.7 RampFunction

PID-Regelung 572 Funktionshandbuch, 11/2019, A5E35300226-AE

ErrorBits (DW#16#...)

Beschreibung

0002_0000 Fehlerursache: Der Parameter Input hat keinen gültigen REAL-Wert, während die Berechnung des Ausgangswerts ausgeführt wird (Reset = FALSE). Fehlerreaktion: Am Parameter Output wird der Ersatzausgangswert ausgegeben, der an der Variable ErrorMode konfi-guriert ist und durch die Variablen UpperLimit und LowerLimit begrenzt ist. Bei ErrorMode = 0 wird 0.0 als Ausgangswert ausgegeben. Abhilfe: Stellen Sie sicher, dass der Parameter Input ein gültiger REAL-Wert (≠ NaN z. B. 16#7FFF_FFFF) ist.

0004_0000 Fehlerursache: Die Berechnung des Ausgangswerts ergibt einen ungültigen REAL-Wert für Parameter Output. Fehlerreaktion: Am Parameter Output wird der Ersatzausgangswert ausgegeben, der an der Variable ErrorMode konfi-guriert ist und durch die Variablen UpperLimit und LowerLimit begrenzt ist. Abhilfe: Prüfen Sie alle Variablen, die an der Berechnung des Ausgangswerts beteiligt sind: • Input • PositiveRisingSlewRate • PositiveFallingSlewRate • NegativeRisingSlewRate • NegativeFallingSlewRate • CycleTime.Value Diese Variablen haben gültige Werte. Die Berechnung des Ausgangswerts schlägt in dieser Kombinati-on der Variablen fehl.

0008_0000 Fehlerursache: Die Variable LowerLimit oder UpperLimit hat einen ungültigen Wert. Fehlerreaktion: Am Parameter Output wird folgender Wert ausgegeben, abhängig von dem Parameter Reset: • Reset = FALSE

Am Parameter Output wird der Ersatzausgangswert ausgegeben, der an der Variable ErrorMode konfiguriert ist.

• Reset = TRUE

Am Parameter Output wird der Wert des Parameters SubstituteOutput ausgegeben. In beiden Fällen wird der Parameter Ouput auf den Wertebereich des REAL-Datentyps von -3.402823e+38 bis 3.402823e+38 begrenzt. Abhilfe: Stellen Sie sicher, dass folgende Bedingungen erfüllt sind: 1. LowerLimit < UpperLimit 2. LowerLimit und UpperLimit liegen innerhalb des zulässigen Wertebereichs -3.402823e+38 bis

3.402823e+38 3. LowerLimit und UpperLimit sind gültige REAL-Werte (≠ NaN z. B. 16#7FFF_FFFF)

Page 574: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.7 RampFunction

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 573

ErrorBits (DW#16#...)

Beschreibung

0010_0000 Fehlerursache: Mindestens eine der folgenden Variablen hat ungültige Werte, während die Berechnung des Aus-gangswerts ausgeführt wird (Reset = FALSE): 1. PositiveRisingSlewRate 2. PositiveFallingSlewRate 3. NegativeRisingSlewRate 4. NegativeFallingSlewRate Fehlerreaktion: Am Parameter Output wird der Ersatzausgangswert ausgegeben, der an der Variable ErrorMode konfi-guriert ist und durch die Variablen UpperLimit und LowerLimit begrenzt ist. Abhilfe: Stellen Sie sicher, dass folgende Bedingungen für alle vier oben benannten Variablen erfüllt sind: • Die Werte liegen innerhalb des zulässigen Wertebereichs größer 0.0 bis 3.402823e+38 • Die Werte sind gültige REAL-Werte (≠ NaN z. B. 16#7FFF_FFFF)

0020_0000 Fehlerursache: Die Variable (konfiguriert mit StartMode) für die Initialisierung des Parameters Output bei dem ersten Aufruf der Anweisung hat keinen gültigen REAL-Wert. Fehlerreaktion: Bei dem ersten Aufruf der Anweisung wird der Ersatzausgangswert am Parameter Output ausgegeben, der an der Variable ErrorMode konfiguriert ist und durch die Variablen LowerLimit und UpperLimit be-grenzt ist. Bei nachfolgenden Aufrufen berechnet RampFunction den Ausgangswert ausgehend von diesem Ersatzausgangswert. Abhilfe: Stellen Sie sicher, dass die Variable für die Initialisierung des Parameters Output ein gültiger REAL-Wert (≠ NaN z. B. 16#7FFF_FFFF) ist. Wenn Reset = FALSE gesetzt ist, wird die Initialisierung bei dem ersten Aufruf der Anweisung nach dem Betriebszustandswechsel der CPU von STOP auf RUN wirk-sam. Welche Variable für die Initialisierung des Parameters Output verwendet wird, ist abhängig von StartMode: • StartMode = 1: Substitute Output • StartMode = 2: Output

0040_0000 Fehlerursache: Die Variable CycleTime.Value hat einen ungültigen Wert, während die Berechnung des Ausgangswerts ausgeführt wird (Reset = FALSE). Fehlerreaktion: Am Parameter Output wird der Ersatzausgangswert ausgegeben, der an der Variable ErrorMode konfi-guriert ist und durch die Variablen UpperLimit und LowerLimit begrenzt ist. Abhilfe: Stellen Sie sicher, dass folgende Bedingungen erfüllt sind: • 0.0 < CycleTime.Value ≤ 3.402823e+38 • CycleTime.Value ist ein gültiger REAL-Wert (≠ NaN z. B. 16#7FFF_FFFF) Zusätzliche Information: Für eine automatische Berechnung des Werts der Variable CycleTime.Value, setzen Sie die Variable CycleTime.EnableMeasurement auf TRUE.

Page 575: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.8 Filter_PT1

PID-Regelung 574 Funktionshandbuch, 11/2019, A5E35300226-AE

9.8 Filter_PT1

9.8.1 Kompatibilität mit CPU und FW Die folgende Tabelle zeigt, auf welcher CPU Sie welche Version von Filter_PT1 einsetzen können: CPU FW Filter_PT1 S7-1200 ab V4.2 V1.0 S7-1500 basierte CPUs ab V2.0 V1.0

9.8.2 Beschreibung Filter_PT1

Beschreibung Die Anweisung Filter_PT1 ist ein proportionales Übertragungsglied mit einer Verzögerung erster Ordnung, auch PT1-Glied genannt.

Sie können Filter_PT1 zu folgenden Zwecken verwenden: ● Tiefpassfilter, um Hochfrequenzanteile in einem Signal, wie zum Beispiel Rauschen, zu

dämpfen. ● Verzögerungsglied, um Signalsprünge, von zum Beispiel dem Sollwert oder

Ausgangswert eines Reglers, zu glätten. ● Prozess-Simulationsblock, um einen geschlossenen Regelkreis innerhalb der CPU zu

realisieren. Sie können so zum Beispiel Regler vor der Inbetriebnahme testen.

Folgende Filterparameter können Sie vorgeben: ● Proportionalverstärkung (Gain) ● Verzögerungszeitkonstante (Lag)

Hinweis Unterschiede zwischen einem zeitkontinuierlichen PT1-Gied und Filter_PT1

Da Filter_PT1 in einem PLC-Programm ausgeführt wird, ist Filter_PT1 eine zeitdiskrete Umsetzung eines PT1-Glieds. Zeitdiskrete Systeme können nicht die gleichen Eigenschaften aufweisen wie das entsprechende zeitkontinuierliche Vorbild. Zeitdiskrete Systeme können jedoch, abhängig von der Zykluszeit, ein zeitkontinuierliches System gut nachbilden: Umso kleiner und konstanter die Zykluszeit ist, desto kleiner ist die Abweichung zwischen den Eigenschaften von Filter_PT1 und den Eigenschaften eines zeitkontinuierlichen PT1-Glieds. Die Eigenschaften eines zeitkontinuierlichen PT1-Glieds sind die unten beschriebene Übertragungsfunktion, das Zeitverhalten und das Frequenzverhalten.

Für eine gute Nachbildung des Frequenzverhaltens ist eine maximale Zykluszeit von einem Zehntel der kürzesten Periodendauer der Eingangssignalanteile empfohlen. Zum Beispiel hat ein Signal mit Frequenzanteilen von bis zu 50 Hz eine kürzeste Periodendauer von 20 ms. Um eine gute Nachbildung des Frequenzverhaltens zu erreichen, ist für dieses Beispiel eine maximale Zykluszeit von 2 ms empfohlen.

Page 576: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.8 Filter_PT1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 575

Übertragungsfunktion eines PT1-Glieds Folgende Formel zeigt die Übertragungsfunktion eines PT1-Glieds, wobei s gleich dem Laplace-Operator ist:

Zeitverhalten eines PT1-Glieds Die Sprungantwort ist die Reaktion des Ausgangswerts auf einen Sprung des Eingangswerts.

Die Sprungantwort für einen Sprung des Eingangswerts von 0 zu ΔInput kann mit der folgenden Formel berechnet werden:

Folgendes Bild zeigt die Sprungantwort eines PT1-Glieds:

Page 577: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.8 Filter_PT1

PID-Regelung 576 Funktionshandbuch, 11/2019, A5E35300226-AE

Frequenzverhalten eines PT1-Glieds Das Frequenzverhalten eines Übertragungsglieds wird durch den Amplitudengang und den Phasengang beschrieben.

Der Amplitudengang beschreibt die Verstärkung eines Signals durch das Übertragungsglied abhängig von der Kreisfrequenz des Signals.

Folgende Gleichung beschreibt den Amplitudengang eines PT1-Glieds:

|G(ω)| Verstärkung eines Signals in Abhängigkeit der Kreisfrequenz ω Kreisfrequenz

Folgendes Bild zeigt den Amplitudengang eines PT1-Glieds:

Der Phasengang beschreibt die Phasenverschiebung eines Signals durch das Übertragungsglied abhängig von der Kreisfrequenz des Signals.

Page 578: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.8 Filter_PT1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 577

Folgende Gleichung beschreibt den Phasengang eines PT1-Glieds:

φ(ω) Phasenverschiebung in Abhängigkeit der Kreisfrequenz ω Kreisfrequenz

Folgendes Bild zeigt den Phasengang eines PT1-Glieds:

Aufruf In einem OB oder FC wird Filter_PT1 als Einzelinstanz-DB aufgerufen. In einem FB kann Filter_PT1 sowohl als Einzelinstanz-DB, als auch als ein Multiinstanz-DB und als ein Parameterinstanz-DB aufgerufen werden.

Bei dem Aufruf der Anweisung wird kein Technologieobjekt angelegt. Parametrier- und Inbetriebnahmeoberfläche steht Ihnen nicht zur Verfügung. Sie parametrieren Filter_PT1 direkt über den Instanz-DB und nehmen Filter_PT1 über eine Beobachtungstabelle des Anwenderprogramms in der CPU oder HMI in Betrieb.

Page 579: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.8 Filter_PT1

PID-Regelung 578 Funktionshandbuch, 11/2019, A5E35300226-AE

Anlauf Die Variablen im statischen Bereich von Filter_PT1 sind nicht remanent. Diese Variablen werden nach jedem Betriebszustandswechsel der CPU von STOP auf RUN mit den Startwerten initialisiert. Wenn Sie die Aktualwerte im Online-Betrieb ändern und diese Werte nach dem Betriebszustandswechsel der CPU erhalten bleiben sollen, dann sichern Sie diese Werte in den Startwerten des Datenbausteins.

An der Variable StartMode legen Sie den Initialisierungswert für den Parameter Output fest.

Der Initialisierungswert wird beim ersten Aufruf von Filter_PT1 nach dem

● Betriebszustandswechsel der CPU

oder

● Ausführen von "Startwerte als Aktualwerte laden" (nur bei Option "Alle Werte", nicht bei Option "Nur Einstellwerte")

am Parameter Output ausgegeben.

Bei den nachfolgenden Aufrufen berechnet Filter_PT1 den Ausgangswert, ausgehend von diesem Initialisierungswert, auf Basis des Eingangswerts und der Filterkonfiguration.

Die folgende Tabelle zeigt die Abhängigkeit zwischen der Variable StartMode und dem Parameter Output. Die Werte in der Spalte Output werden nach dem Betriebszustandswechsel der CPU am Parameter Output ausgegeben: StartMode Output Beispiel 0 Wert des Parameters Input

1 Wert des Parameters SubstituteOutput

2 Bleibt unverändert Parameter Output ist remanent Standardeinstellung Wird verwendet wenn StartMode nicht im Bereich 0...4

Page 580: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.8 Filter_PT1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 579

StartMode Output Beispiel 3 0.0

4 Wert des Produkts Input * Gain

Folgendes gilt zusätzlich für alle Werte der Variable StartMode:

● Der Initialisierungswert wird auf den Wertebereich des Datentyps REAL begrenzt. Erst dann wird der Initialisierungswert am Parameter Output ausgegeben.

● Falls der Initialisierungswert kein gültiger REAL-Wert ist, wird der Ersatzausgangswert am Parameter Output ausgeben. Der Ersatzausgangswert wird durch die Variable ErrorMode konfiguriert. Der Ersatzausgangswert wird auf den Wertebereich des Datentyps REAL begrenzt bevor er am Parameter Output ausgegeben wird. Falls der Ersatzausgangswert ebenfalls kein gültiger REAL-Wert ist, wird 0.0 am Parameter Output ausgegeben. Bei den nachfolgenden Aufrufen berechnet die Anweisung den Ausgangswert ausgehend von diesem Ersatzausgangswert.

● Nur wenn bei dem ersten Aufruf der Anweisung der Parameter Reset = FALSE gesetzt ist und gleichzeitig kein Fehler mit Fehlermeldung ErrorBits ≥ 16#0002_0000 ansteht, ist die Variable StartMode wirksam. Wenn der Parameter Reset = TRUE gesetzt ist, wird der Wert des Parameters SubstituteOutput am Parameter Output ausgegeben. Wenn ein Fehler mit Fehlermeldung ErrorBits ≥ 16#0002_0000 ansteht, wird am Parameter Output der Ersatzausgangswert ausgegeben, der an der Variable ErrorMode konfiguriert ist.

Verhalten im Fehlerfall Die Anweisung Filter_PT1 erkennt unterschiedliche Fehler, die bei der Berechnung des Ausgangswerts auftreten können. Das Ergebnis dieser Berechnung kann trotz eines anstehenden Fehlers am Ausgang ausgegeben werden. Wenn keine korrekte Berechnung des Ausgangswerts wegen eines Fehlers möglich ist, dann wird ein Ersatzausgangswert am Ausgang ausgegeben.

An der Variable ErrorMode legen Sie im Fall eines Fehlers, bei dem keine korrekte Berechnung des Ausgangswerts möglich ist, den Ersatzausgangswert fest.

Page 581: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.8 Filter_PT1

PID-Regelung 580 Funktionshandbuch, 11/2019, A5E35300226-AE

Die folgende Tabelle zeigt die Abhängigkeit zwischen dem Wert der Variable ErrorMode und dem Ersatzausgangswert, den Filter_PT1 am Parameter Output ausgibt: ErrorMode Output 0 Wert des Parameters Input 1 Wert des Parameters SubstituteOutput 2 Der letzte gültige Filterausgangswert

0.0, falls kein gültiger Filterausgangswert vorhanden Standardeinstellung Wird verwendet, wenn ErrorMode nicht im Bereich 0...4

3 0.0 4 Wert des Produkts Input * Gain

Folgendes gilt zusätzlich für alle Werte der Variable ErrorMode:

● Wenn der Ersatzausgangswert kein gültiger REAL-Wert ist, wird 0.0 als Ausgangswert ausgegeben.

● Der Ersatzausgangswert wird auf den Wertebereich des Datentyps REAL begrenzt. Erst dann wird der Ersatzausgangswert am Parameter Output ausgegeben.

● Die Variable ErrorMode ist nur dann wirksam, wenn der Parameter Reset = FALSE gesetzt ist. Wenn der Parameter Reset = TRUE gesetzt ist, wird der Wert von Parameter SubstituteOutput am Parameter Output ausgegeben.

Der Parameter Error zeigt, ob aktuell ein Fehler ansteht. Wenn der Fehler nicht mehr ansteht, wird Error auf FALSE gesetzt. Der Parameter ErrorBits zeigt, welche Fehler aufgetreten sind. ErrorBits ist remanent und wird nur durch eine steigende Flanke am Parameter Reset oder ErrorAck zurückgesetzt.

Page 582: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.8 Filter_PT1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 581

9.8.3 Arbeitsweise Filter_PT1

Reset-Verhalten Filter_PT1 verhält sich abhängig von dem Parameter Reset folgendermaßen:

● Wenn der Parameter Reset =TRUE gesetzt ist, wird der Wert des Parameters SubstituteOutput am Parameter Output ausgegeben.

● Wenn der Parameter Reset = FALSE gesetzt ist, wird der Wert, der am Parameter Output ausgegeben wird, durch den Filteralgorithmus berechnet.

● Wenn der Parameter Reset von FALSE auf TRUE gesetzt wird, wechselt der Wert am Parameter Output direkt zu dem Wert des Parameters SubstituteOutput. Dieser Wechsel kann sprunghaft sein. Zusätzlich wird der Parameter ErrorBits zurückgesetzt.

● Wenn der Parameter Reset von TRUE auf FALSE gesetzt wird, wird der Filteralgorithmus so aufgesetzt, dass der Wechsel stoßfrei verläuft.

Freigabeverhalten EN/ENO Wenn eine der folgenden Bedingungen erfüllt ist, dann wird der Freigabeausgang ENO auf FALSE gesetzt:

● Freigabeeingang EN ist auf TRUE gesetzt und der Parameter Output ist durch einen Ersatzausgangswert festgelegt bei Fehlermeldungen ErrorBits ≥ 16#0001_0000.

● Freigabeeingang EN ist auf FALSE gesetzt.

Sonst wird der Freigabeausgang ENO auf TRUE gesetzt.

Zykluszeit automatisch messen Für die Berechnung des Ausgangswerts benötigt Filter_PT1 die Zeit, die seit dem letzten Aufruf von Filter_PT1 vergangen ist.

Standardmäßig wird die Zykluszeit automatisch gemessen und ab dem zweiten Aufruf an der Variable CycleTime.Value ausgegeben. Filter_PT1 misst die Zykluszeit bei jedem Aufruf der Anweisung und ist somit in nicht äquidistanten Aufrufzyklen einsetzbar, z. B. im OB1.

Beachten Sie, dass bedingte Aufrufe der Anweisung, aktive Haltepunkte oder das Laden von Momentaufnahmen als Aktualwerte bei automatischer Messung der Zykluszeit den Wert der Zykluszeit verlängern. Eine zu große Zykluszeit wird als Fehler mit Fehlermeldung ErrorBits = 16#0008_0000 erkannt.

Wenn die Messung der Zykluszeit kein gültiges Ergebnis liefert, dann berechnet Filter_PT1 den aktuellen Ausgangswert mit der letzten gültigen Zykluszeit. Zusätzlich gibt Filter_PT1 eine Fehlermeldung am Parameter ErrorBits aus.

Wenn Sie die automatische Messung der Zykluszeit mit Setzen der Variable CycleTime.EnableMeasurement = FALSE deaktivieren, dann müssen Sie die Zykluszeit manuell an der Variable CycleTime.Value vorgeben. Filter_PT1 prüft die Variable CycleTime.Value bei jedem Aufruf auf Gültigkeit.

Page 583: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.8 Filter_PT1

PID-Regelung 582 Funktionshandbuch, 11/2019, A5E35300226-AE

Automatische Messung der Zykluszeit mit Haltepunkten Wenn Haltepunkte zwischen zwei Aufrufen von Filter_PT1 aktiv sind, ergibt die automatische Messung der Zykluszeit die tatsächliche Zeit, die zwischen zwei Aufrufen vergangen ist. Wenn ein Haltepunkt aktiv ist, dann befindet sich die CPU im Betriebszustand HALT.

Hinweis

Die aktiven Haltepunkte verlängern den Zeitabstand zwischen zwei Aufrufen von Filter_PT1.

Mit einem längeren Zeitabstand zwischen zwei Aufrufen vergrößert sich auch die Änderung des Ausgangswerts am Parameter Output.

Des Weiteren ist es möglich, dass durch die längeren Zeitabstände die Bedingung Lag ≥ CycleTime.Value/2 verletzt wird und deshalb ein Fehler mit der Fehlermeldung ErrorBits = 16#0008_0000 erkannt wird.

Wenn Sie die Berechnung des Ausgangswerts basierend auf der tatsächlichen Zeit mit aktiven Haltepunkten nicht benötigen, dann führen Sie folgende Schritte durch:

● Deaktivieren Sie die automatische Messung der Zykluszeit mit Setzen der Variable CycleTime.EnableMeasurement = FALSE.

● Geben Sie die Zykluszeit manuell an der Variable CycleTime.Value ein.

Page 584: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.8 Filter_PT1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 583

9.8.4 Eingangsparameter Filter_PT1 Parameter Datentyp Vorbelegung Beschreibung Input REAL 0.0 Eingangswert Substitute-Output

REAL 0.0 SubstituteOutput wird als Ersatzausgangswert verwendet, wenn • Reset = TRUE oder • keine korrekte Berechnung des Ausgangswerts wegen eines Fehlers mit

Fehlermeldung ErrorBits ≥ 16#0001_0000 möglich ist und ErrorMode auf den Wert 1 konfiguriert ist.

ErrorAck BOOL FALSE Löscht die Fehlermeldungen • Flanke FALSE -> TRUE

ErrorBits wird zurückgesetzt. Reset BOOL FALSE Führt einen Neustart der Anweisung durch

• Flanke FALSE -> TRUE

ErrorBits wird zurückgesetzt. • Solange Reset auf TRUE gesetzt ist, wird der Ersatzausgangswert Substi-

tuteOutput am Ausgang ausgegeben. • Solange Reset auf FALSE gesetzt ist, wird die Berechnung des Aus-

gangswerts ausgeführt.

9.8.5 Ausgangsparameter Filter_PT1 Parameter Datentyp Vorbelegung Beschreibung Output REAL 0.0 Ausgangswert

Der Ausgangswert ist remanent. ErrorBits DWORD DW#16#0 Der Parameter ErrorBits (Seite 585) zeigt, welche Fehlermeldungen vorlie-

gen. ErrorBits ist remanent und wird bei einer steigenden Flanke an Reset oder ErrorAck zurückgesetzt.

Error BOOL FALSE Wenn Error auf TRUE gesetzt ist, steht aktuell mindestens ein Fehler an.

Page 585: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.8 Filter_PT1

PID-Regelung 584 Funktionshandbuch, 11/2019, A5E35300226-AE

9.8.6 Statische Variablen Filter_PT1 Variable Datentyp Vorbelegung Beschreibung Gain REAL 1.0 Proportionalverstärkung Lag REAL 25.0 Verzögerungszeitkonstante in Sekunden

Zulässiger Wertebereich: Lag ≥ CycleTime.Value/2 ErrorMode INT 2 Auswahl des Ersatzausgangswerts im Fehlerfall

• 0 = Input • 1 = SubstituteOutput • 2 = letzter gültiger Filterausgangswert • 3 = 0.0 • 4 = Input * Gain Zulässiger Wertebereich: 0 bis 4

StartMode INT 2 Auswahl des Ausgangswerts für den ersten Aufruf der Anweisung • 0 = Input • 1 = SubstituteOutput • 2 = letzter Ausgangswert • 3 = 0.0 • 4 = Input * Gain Zulässiger Wertebereich: 0 bis 4

CycleTime AuxFct _CycleTime

- Daten der Zykluszeit

CycleTime .Value

REAL 0.1 Zykluszeit in Sekunden (Zeitabstand zwischen 2 Aufrufen) Zulässiger Wertebereich: CycleTime.Value > 0.0

CycleTime .Enable-Measurement

BOOL TRUE Automatische Messung der Zykluszeit • FALSE = Deaktiviert • TRUE = Aktiviert

Page 586: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.8 Filter_PT1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 585

9.8.7 Parameter ErrorBits Wenn gleichzeitig mehrere Fehler anstehen, dann werden die Werte der ErrorBits binär addiert angezeigt. Wenn z. B. ErrorBits = 16#0000_0003 angezeigt wird, dann stehen gleichzeitig die Fehler 16#0000_0001 und 16#0000_0002 an.

Bei Filter_PT1 werden die Fehler, die am Parameter ErrorBits ausgegeben werden, in zwei Kategorien unterschieden:

● Fehler mit Fehlermeldungen ErrorBits < 16#0001_0000

● Fehler mit Fehlermeldungen ErrorBits ≥ 16#0001_0000

Fehler mit Fehlermeldungen ErrorBits < 16#0001_0000 Wenn ein oder mehrere Fehler mit Fehlermeldungen ErrorBits < 16#0001_0000 anstehen, dann reagiert Filter_PT1 wie folgt:

● Der Ausgangswert wird trotz dieses Fehlers folgendermaßen ermittelt:

– Wenn Reset = FALSE, Ausgangswertberechnung durch den Filteralgorithmus

– Wenn Reset = TRUE, Ausgabe von SubstituteOutput

● Der Ausgangsparameter Error wird gesetzt.

● Der Freigabeausgang ENO wird nicht geändert.

Page 587: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.8 Filter_PT1

PID-Regelung 586 Funktionshandbuch, 11/2019, A5E35300226-AE

Der Ausgangsparameter Error wird gelöscht, sobald kein Fehler mehr ansteht. ErrorBits (DW#16#...)

Beschreibung

0000_0000 Kein Fehler steht an. 0000_0001 Fehlerursache und Fehlerreaktion:

Der Parameter Output wurde begrenzt auf -3.402823e+38 oder +3.402823e+38. Abhilfe: Wenn am Ausgang der durch die Filterfunktion bestimmte Wert ausgegeben wird (Reset = FALSE und ErrorBits < 16#0001_0000), dann prüfen Sie folgende, in der Filterberechnung verwendete Variablen: • Input • Gain • Lag • CycleTime.Value Wenn ErrorBits ≥ 16#0001_0000 und Reset = FALSE, wird der Ersatzausgangswert bei dessen Ausga-be begrenzt. Prüfen Sie dann folgende Parameter abhängig von dem eingestellten Wert an der Variable ErrorMode: • Input • SubstituteOutput • Das Produkt von Input und Gain Wenn Reset = TRUE, dann prüfen Sie den Parameter SubstituteOutput.

0000_0002 Fehlerursache: Die Messung der Zykluszeit ergibt einen ungültigen Wert, während die Berechnung des Ausgangswerts ausgeführt wird (Reset = FALSE). Fehlerreaktion: Wenn bereits ein gültiger Wert der Zykluszeit gemessen wurde, dann berechnet Filter_PT1 den Aus-gangswert ausgehend von diesem letzten Wert der Variable CycleTime.Value. Wenn zuvor kein gültiger Wert der Zykluszeit gemessen wurde, dann gibt Filter_PT1 weiterhin den mit der Variable StartMode konfigurierten Ausgangswert am Parameter Output aus.

Fehler mit Fehlermeldungen ErrorBits ≥ 16#0001_0000 Wenn ein oder mehrere Fehler mit Fehlermeldungen ErrorBits ≥ 16#0001_0000 anstehen, dann reagiert Filter_PT1 wie folgt:

● Der Ausgangswert kann nicht wie erwartet ermittelt werden. Stattdessen wird der Ersatzausgangswert ausgegeben.

● Der Ausgangsparameter Error wird gesetzt.

● Der Freigabeausgang ENO wird auf FALSE gesetzt.

Sobald keine Fehler mit Fehlermeldungen ErrorBits ≥ 16#0001_0000 mehr anstehen, reagiert Filter_PT1 wie folgt:

● Der Ausgangswert wird folgendermaßen ermittelt:

– Wenn Reset = FALSE, Ausgangswertberechnung durch den Filteralgorithmus

– Wenn Reset = TRUE, Ausgabe von SubstituteOutput

● Der Freigabeausgang ENO wird auf TRUE gesetzt.

Page 588: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.8 Filter_PT1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 587

Der Ausgangsparameter Error wird gelöscht, sobald kein Fehler mehr ansteht. ErrorBits (DW#16#...)

Beschreibung

0001_0000 Fehlerursache: Der Parameter SubstituteOutput oder eine andere Variable, die als Ausgangswert verwendet wird, hat keinen gültigen REAL-Wert. Fehlerreaktion: Der Ausgang wird auf 0.0 gesetzt. Abhilfe: Stellen Sie sicher, dass die Variable, die als Ausgangswert verwendet wird, ein gültiger REAL-Wert (≠NaN z. B. 16#7FFF_FFFF) ist. Welche Variable als Ausgangswert verwendet wird, ist abhängig von Reset und ErrorMode: Reset ErrorMode Ausgangswert FALSE 0 Input FALSE 1 SubstituteOutput FALSE 4 Produkt aus Input und Gain TRUE - SubstituteOutput

0002_0000 Fehlerursache: Der Parameter Input hat keinen gültigen REAL-Wert, während die Berechnung des Ausgangswerts ausgeführt wird (Reset = FALSE). Fehlerreaktion: Am Parameter Output wird der Ersatzausgangswert ausgegeben, der an der Variable ErrorMode konfi-guriert ist. Bei ErrorMode = 0 wird 0.0 als Ausgangswert ausgegeben. Abhilfe: Stellen Sie sicher, dass der Parameter Input ein gültiger REAL-Wert (≠NaN z. B. 16#7FFF_FFFF) ist.

0004_0000 Fehlerursache: Die Berechnung des Ausgangswerts ergibt einen ungültigen REAL-Wert für Parameter Output. Fehlerreaktion: Am Parameter Output wird der Ersatzausgangswert ausgegeben, der an der Variable ErrorMode konfi-guriert ist. Abhilfe: Prüfen Sie alle Variablen, die an der Berechnung des Ausgangswerts beteiligt sind: • Input • Gain • Lag • CycleTime.Value Diese Variablen haben gültige Werte. Die Berechnung des Ausgangswert schlägt in dieser Kombination der Variablen fehl.

Page 589: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.8 Filter_PT1

PID-Regelung 588 Funktionshandbuch, 11/2019, A5E35300226-AE

ErrorBits (DW#16#...)

Beschreibung

0008_0000 Fehlerursache: Die Variable Gain oder Lag hat einen ungültigen Wert, während die Berechnung des Ausgangswerts ausgeführt wird (Reset = FALSE). Fehlerreaktion: Am Parameter Output wird der Ersatzausgangswert ausgegeben, der an der Variable ErrorMode konfi-guriert ist. Abhilfe: Stellen Sie sicher, dass folgende Bedingungen für die Werte der Variablen Gain und Lag erfüllt sind: • -3.402823e+38 ≤ Gain ≤ 3.402823e+38 • CycleTime.Value/2 ≤ Lag ≤ 3.402823e+38 • Die Werte sind gültige REAL-Werte (≠ NaN z. B. 16#7FFF_FFFF). Zusätzliche Information: Beachten Sie, dass die Bedingung CycleTime.Value/2 ≤ Lag in folgenden Szenarien möglicherweise verletzt wird: • Der Zeitabstand zwischen zwei Aufrufen von Filter_PT1 ist länger als 2 * Lag, z. B. durch bedingte

Aufrufe im Programmablauf oder aktive Haltepunkte. • Eine Momentaufnahme des Filter_PT1 Instanz-DBs wird als Aktualwerte in die CPU geladen und die

Erstellung der Momentaufnahme liegt länger als 2 * Lag zurück. In diesen Szenarien wird bei automatischer Messung der Zykluszeit ein Fehler mit Fehlermeldung ErrorBits = 16#0008_0000 erkannt.

Page 590: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.8 Filter_PT1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 589

ErrorBits (DW#16#...)

Beschreibung

0020_0000 Fehlerursache: Die Variable (konfiguriert mit StartMode) für die Initialisierung des Parameters Output bei dem ersten Aufruf der Anweisung hat keinen gültigen REAL-Wert. Fehlerreaktion: Bei dem ersten Aufruf der Anweisung wird der Ersatzausgangswert am Parameter Output ausgegeben, der an der Variable ErrorMode konfiguriert ist. Bei nachfolgenden Aufrufen berechnet Filter_PT1 den Ausgangswert ausgehend von diesem Ersatzausgangswert. Abhilfe: Stellen Sie sicher, dass die Variable für die Initialisierung des Parameters Output ein gültiger REAL-Wert (≠ NaN z. B. 16#7FFF_FFFF) ist. Wenn Reset = FALSE gesetzt ist, wird die Initialisierung bei dem ersten Aufruf der Anweisung nach dem Betriebszustandswechsel der CPU von STOP auf RUN wirk-sam. Welche Variable für die Initialisierung des Parameters Output verwendet wird, ist abhängig von StartMode: • StartMode = 1: SubstituteOutput • StartMode = 2: Output • StartMode = 4: Produkt aus Input und Gain

0040_0000 Fehlerursache: Die Variable CycleTime.Value hat einen ungültigen Wert, während die Berechnung des Ausgangswerts ausgeführt wird (Reset = FALSE). Fehlerreaktion: Am Parameter Output wird der Ersatzausgangswert ausgegeben, der an der Variable ErrorMode konfi-guriert ist. Abhilfe: Stellen Sie sicher, dass folgende Bedingungen erfüllt sind: • 0.0 < CycleTime.Value ≤ 3.402823e+38 • CycleTime.Value ist ein gültiger REAL-Wert (≠ NaN z. B. 16#7FFF_FFFF) Zusätzliche Information: Für eine automatische Berechnung des Werts der Variable CycleTime.Value, setzen Sie die Variable CycleTime.EnableMeasurement auf TRUE.

Page 591: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.9 Filter_PT2

PID-Regelung 590 Funktionshandbuch, 11/2019, A5E35300226-AE

9.9 Filter_PT2

9.9.1 Kompatibilität mit CPU und FW Die folgende Tabelle zeigt, auf welcher CPU Sie welche Version von Filter_PT2 einsetzen können: CPU FW Filter_PT2 S7-1200 ab V4.2 V1.0 S7-1500 basierte CPUs ab V2.0 V1.0

9.9.2 Beschreibung Filter_PT2

Beschreibung Die Anweisung Filter_PT2 ist ein proportionales Übertragungsglied mit einer Verzögerung zweiter Ordnung, auch PT2-Glied genannt. Sie können Filter_PT2 zu folgenden Zwecken verwenden: ● Tiefpassfilter, um Hochfrequenzanteile in einem Signal, wie zum Beispiel Rauschen, zu

dämpfen. ● Verzögerungsglied, um Signalsprünge, von zum Beispiel dem Sollwert oder

Ausgangswert eines Reglers, zu glätten. ● Prozess-Simulationsblock, um einen geschlossenen Regelkreis innerhalb der CPU zu

realisieren. Sie können so zum Beispiel Regler vor der Inbetriebnahme testen. Folgende Filterparameter können Sie vorgeben: ● Proportionalverstärkung (Gain) ● Zeitkonstante (TimeConstant) ● Dämpfung (Damping)

Hinweis Unterschiede zwischen einem zeitkontinuierlichen PT2-Gied und Filter_PT2

Da Filter_PT2 in einem PLC-Programm ausgeführt wird, ist Filter_PT2 eine zeitdiskrete Umsetzung eines PT2-Glieds. Zeitdiskrete Systeme können nicht die gleichen Eigenschaften aufweisen wie das entsprechende zeitkontinuierliche Vorbild. Zeitdiskrete Systeme können jedoch, abhängig von der Zykluszeit, ein zeitkontinuierliches System gut nachbilden: Umso kleiner und konstanter die Zykluszeit ist, desto kleiner ist die Abweichung zwischen den Eigenschaften von Filter_PT2 und den Eigenschaften eines zeitkontinuierlichen PT2-Glieds. Die Eigenschaften eines zeitkontinuierlichen PT2-Glieds sind die unten beschriebene Übertragungsfunktion, das Zeitverhalten und das Frequenzverhalten.

Für eine gute Nachbildung des Frequenzverhaltens ist eine maximale Zykluszeit von einem Zehntel der kürzesten Periodendauer der Eingangssignalanteile empfohlen. Zum Beispiel hat ein Signal mit Frequenzanteilen von bis zu 50 Hz eine kürzeste Periodendauer von 20 ms. Um eine gute Nachbildung des Frequenzverhaltens zu erreichen, ist für dieses Beispiel eine maximale Zykluszeit von 2 ms empfohlen.

Page 592: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.9 Filter_PT2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 591

Übertragungsfunktion eines PT2-Glieds Folgende Formel zeigt die Übertragungsfunktion eines PT2-Glieds, wobei s gleich dem Laplace-Operator ist:

Wenn Damping ≥ 1 ist, kann das PT2-Glied als zwei in Reihe geschaltete PT1-Glieder beschrieben werden:

Die Verzögerungszeitkonstanten der beiden in Reihe geschalteten PT1-Glieder werden wie folgt berechnet:

Zeitverhalten eines PT2-Glieds Die Sprungantwort ist die Reaktion des Ausgangswerts auf einen Sprung des Eingangswerts.

Die Sprungantwort für einen Sprung des Eingangswerts von 0 zu ΔInput kann mit den folgenden Formeln berechnet werden:

Für Damping < 1 gilt folgende Formel:

Für Damping = 1 gilt folgende Formel:

Für Damping > 1 gilt folgende Formel mit den oben berechneten Lag1 und Lag2:

Page 593: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.9 Filter_PT2

PID-Regelung 592 Funktionshandbuch, 11/2019, A5E35300226-AE

Folgendes Bild zeigt die Sprungantwort eines PT2-Glieds mit verschiedenen Werten für die Dämpfung:

Frequenzverhalten eines PT2-Glieds Das Frequenzverhalten eines Übertragungsglieds wird durch den Amplitudengang und den Phasengang beschrieben.

Der Amplitudengang beschreibt die Verstärkung eines Signals durch das Übertragungsglied abhängig von der Kreisfrequenz des Signals.

Folgende Gleichung beschreibt den Amplitudengang eines PT2-Glieds:

|G(ω)| Verstärkung in Abhängigkeit der Kreisfrequenz ω Kreisfrequenz

Page 594: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.9 Filter_PT2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 593

Folgendes Bild zeigt den Amplitudengang eines PT2-Glieds mit einer Dämpfung von 0,4 und 1,0:

Hinweis

Wenn Damping < 1/√2 ist, erscheint eine Resonanzüberhöhung im Amplitudengang.

Der Phasengang beschreibt die Phasenverschiebung eines Signals durch das Übertragungsglied abhängig von der Kreisfrequenz des Signals.

Folgende Gleichung beschreibt den Phasengang eines PT2-Glieds:

φ(ω) Phasenverschiebung in Abhängigkeit der Kreisfrequenz ω Kreisfrequenz

Page 595: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.9 Filter_PT2

PID-Regelung 594 Funktionshandbuch, 11/2019, A5E35300226-AE

Folgendes Bild zeigt den Phasengang eines PT2-Glieds:

Aufruf In einem OB oder FC wird Filter_PT2 als Einzelinstanz-DB aufgerufen. In einem FB kann Filter_PT2 sowohl als Einzelinstanz-DB, als auch als ein Multiinstanz-DB und als ein Parameterinstanz-DB aufgerufen werden.

Bei dem Aufruf der Anweisung wird kein Technologieobjekt angelegt. Parametrier- und Inbetriebnahmeoberfläche steht Ihnen nicht zur Verfügung. Sie parametrieren Filter_PT2 direkt über den Instanz-DB und nehmen Filter_PT2 über eine Beobachtungstabelle des Anwenderprogramms in der CPU oder HMI in Betrieb.

Page 596: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.9 Filter_PT2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 595

Anlauf Die Variablen im statischen Bereich von Filter_PT2 sind nicht remanent. Diese Variablen werden nach jedem Betriebszustandswechsel der CPU von STOP auf RUN mit den Startwerten initialisiert. Wenn Sie die Aktualwerte im Online-Betrieb ändern und diese Werte nach dem Betriebszustandswechsel der CPU erhalten bleiben sollen, dann sichern Sie diese Werte in den Startwerten des Datenbausteins.

An der Variable StartMode legen Sie den Initialisierungswert für den Parameter Output fest.

Der Initialisierungswert wird beim ersten Aufruf von Filter_PT2 nach dem

● Betriebszustandswechsel der CPU

oder

● Ausführen von "Startwerte als Aktualwerte laden" (nur bei Option "Alle Werte", nicht bei Option "Nur Einstellwerte")

am Parameter Output ausgegeben.

Bei den nachfolgenden Aufrufen berechnet Filter_PT2 den Ausgangswert, ausgehend von diesem Initialisierungswert, auf Basis des Eingangswerts und der Filterkonfiguration.

Die folgende Tabelle zeigt die Abhängigkeit zwischen der Variable StartMode und dem Parameter Output. Die Werte in der Spalte Output werden nach dem Betriebszustandswechsel der CPU am Parameter Output ausgegeben: StartMode Output Beispiel 0 Wert des Parameters Input

1 Wert des Parameters SubstituteOutput

2 Bleibt unverändert Parameter Output ist remanent Standardeinstellung Wird verwendet wenn StartMode nicht im Bereich 0...4

Page 597: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.9 Filter_PT2

PID-Regelung 596 Funktionshandbuch, 11/2019, A5E35300226-AE

StartMode Output Beispiel 3 0.0

4 Wert des Produkts Input * Gain

Folgendes gilt zusätzlich für alle Werte der Variable StartMode:

● Der Initialisierungswert wird auf den Wertebereich des Datentyps REAL begrenzt. Erst dann wird der Initialisierungswert am Parameter Output ausgegeben.

● Falls der Initialisierungswert kein gültiger REAL-Wert ist, wird der Ersatzausgangswert am Parameter Output ausgeben. Der Ersatzausgangswert wird durch die Variable ErrorMode konfiguriert. Der Ersatzausgangswert wird auf den Wertebereich des Datentyps REAL begrenzt bevor er am Parameter Output ausgegeben wird. Falls der Ersatzausgangswert ebenfalls kein gültiger REAL-Wert ist, wird 0.0 am Parameter Output ausgegeben. Bei den nachfolgenden Aufrufen berechnet die Anweisung den Ausgangswert ausgehend von diesem Ersatzausgangswert.

● Nur wenn bei dem ersten Aufruf der Anweisung der Parameter Reset = FALSE gesetzt ist und gleichzeitig kein Fehler mit Fehlermeldung ErrorBits ≥ 16#0002_0000 ansteht, ist die Variable StartMode wirksam. Wenn der Parameter Reset = TRUE gesetzt ist, wird der Wert des Parameters SubstituteOutput am Parameter Output ausgegeben. Wenn ein Fehler mit Fehlermeldung ErrorBits ≥ 16#0002_0000 ansteht, wird am Parameter Output der Ersatzausgangswert ausgegeben, der an der Variable ErrorMode konfiguriert ist.

Verhalten im Fehlerfall Die Anweisung Filter_PT2 erkennt unterschiedliche Fehler, die bei der Berechnung des Ausgangswerts auftreten können. Das Ergebnis dieser Berechnung kann trotz eines anstehenden Fehlers am Ausgang ausgegeben werden. Wenn keine korrekte Berechnung des Ausgangswerts wegen eines Fehlers möglich ist, dann wird ein Ersatzausgangswert am Ausgang ausgegeben.

An der Variable ErrorMode legen Sie im Fall eines Fehlers, bei dem keine korrekte Berechnung des Ausgangswerts möglich ist, den Ersatzausgangswert fest.

Page 598: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.9 Filter_PT2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 597

Die folgende Tabelle zeigt die Abhängigkeit zwischen dem Wert der Variable ErrorMode und dem Ersatzausgangswert, den Filter_PT2 am Parameter Output ausgibt: ErrorMode Output 0 Wert des Parameters Input 1 Wert des Parameters SubstituteOutput 2 Der letzte gültige Filterausgangswert

0.0, falls kein gültiger Filterausgangswert vorhanden Standardeinstellung Wird verwendet, wenn ErrorMode nicht im Bereich 0...4

3 0.0 4 Wert des Produkts Input * Gain

Folgendes gilt zusätzlich für alle Werte der Variable ErrorMode:

● Wenn der Ersatzausgangswert kein gültiger REAL-Wert ist, wird 0.0 als Ausgangswert ausgegeben.

● Der Ersatzausgangswert wird auf den Wertebereich des Datentyps REAL begrenzt. Erst dann wird der Ersatzausgangswert am Parameter Output ausgegeben.

● Die Variable ErrorMode ist nur dann wirksam, wenn der Parameter Reset = FALSE gesetzt ist. Wenn der Parameter Reset = TRUE gesetzt ist, wird der Wert von Parameter SubstituteOutput am Parameter Output ausgegeben.

Der Parameter Error zeigt, ob aktuell ein Fehler ansteht. Wenn der Fehler nicht mehr ansteht, wird Error auf FALSE gesetzt. Der Parameter ErrorBits zeigt, welche Fehler aufgetreten sind. ErrorBits ist remanent und wird nur durch eine steigende Flanke am Parameter Reset oder ErrorAck zurückgesetzt.

Page 599: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.9 Filter_PT2

PID-Regelung 598 Funktionshandbuch, 11/2019, A5E35300226-AE

9.9.3 Arbeitsweise Filter_PT2

Reset-Verhalten Filter_PT2 verhält sich abhängig von dem Parameter Reset folgendermaßen:

● Wenn der Parameter Reset =TRUE gesetzt ist, wird der Wert des Parameters SubstituteOutput am Parameter Output ausgegeben.

● Wenn der Parameter Reset = FALSE gesetzt ist, wird der Wert, der am Parameter Output ausgegeben wird, durch den Filteralgorithmus berechnet.

● Wenn der Parameter Reset von FALSE auf TRUE gesetzt wird, wechselt der Wert am Parameter Output direkt zu dem Wert des Parameters SubstituteOutput. Dieser Wechsel kann sprunghaft sein. Zusätzlich wird der Parameter ErrorBits zurückgesetzt.

● Wenn der Parameter Reset von TRUE auf FALSE gesetzt wird, wird der Filteralgorithmus so aufgesetzt, dass der Wechsel stoßfrei verläuft.

Freigabeverhalten EN/ENO Wenn eine der folgenden Bedingungen erfüllt ist, dann wird der Freigabeausgang ENO auf FALSE gesetzt:

● Freigabeeingang EN ist auf TRUE gesetzt und der Parameter Output ist durch einen Ersatzausgangswert festgelegt bei Fehlermeldungen ErrorBits ≥ 16#0001_0000.

● Freigabeeingang EN ist auf FALSE gesetzt.

Sonst wird der Freigabeausgang ENO auf TRUE gesetzt.

Zykluszeit automatisch messen Für die Berechnung des Ausgangswerts benötigt Filter_PT2 die Zeit, die seit dem letzten Aufruf von Filter_PT2 vergangen ist.

Standardmäßig wird die Zykluszeit automatisch gemessen und ab dem zweiten Aufruf an der Variable CycleTime.Value ausgegeben. Filter_PT2 misst die Zykluszeit bei jedem Aufruf der Anweisung und ist somit in nicht äquidistanten Aufrufzyklen einsetzbar, z. B. im OB1.

Beachten Sie, dass bedingte Aufrufe der Anweisung, aktive Haltepunkte oder das Laden von Momentaufnahmen als Aktualwerte bei automatischer Messung der Zykluszeit den Wert der Zykluszeit verlängern. Eine zu große Zykluszeit wird als Fehler mit Fehlermeldung ErrorBits = 16#0008_0000 erkannt.

Wenn die Messung der Zykluszeit kein gültiges Ergebnis liefert, dann berechnet Filter_PT2 den aktuellen Ausgangswert mit der letzten gültigen Zykluszeit. Zusätzlich gibt Filter_PT2 eine Fehlermeldung am Parameter ErrorBits aus.

Wenn Sie die automatische Messung der Zykluszeit mit Setzen der Variable CycleTime.EnableMeasurement = FALSE deaktivieren, dann müssen Sie die Zykluszeit manuell an der Variable CycleTime.Value vorgeben. Filter_PT2 prüft die Variable CycleTime.Value bei jedem Aufruf auf Gültigkeit.

Page 600: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.9 Filter_PT2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 599

Automatische Messung der Zykluszeit mit Haltepunkten Wenn Haltepunkte zwischen zwei Aufrufen von Filter_PT2 aktiv sind, ergibt die automatische Messung der Zykluszeit die tatsächliche Zeit, die zwischen zwei Aufrufen vergangen ist. Wenn ein Haltepunkt aktiv ist, dann befindet sich die CPU im Betriebszustand HALT.

Hinweis

Die aktiven Haltepunkte verlängern den Zeitabstand zwischen zwei Aufrufen von Filter_PT2.

Mit einem längeren Zeitabstand zwischen zwei Aufrufen vergrößert sich auch die Änderung des Ausgangswerts am Parameter Output.

Des Weiteren ist es möglich, dass durch die längeren Zeitabstände die Bedingung TimeConstant ≥ CycleTime.Value/2 verletzt wird und deshalb ein Fehler mit der Fehlermeldung ErrorBits = 16#0008_0000 erkannt wird.

Wenn Sie die Berechnung des Ausgangswerts basierend auf der tatsächlichen Zeit mit aktiven Haltepunkten nicht benötigen, dann führen Sie folgende Schritte durch:

● Deaktivieren Sie die automatische Messung der Zykluszeit mit Setzen der Variable CycleTime.EnableMeasurement = FALSE.

● Geben Sie die Zykluszeit manuell an der Variable CycleTime.Value ein.

9.9.4 Eingangsparameter Filter_PT2 Parameter Datentyp Vorbelegung Beschreibung Input REAL 0.0 Eingangswert Substitute-Output

REAL 0.0 SubstituteOutput wird als Ersatzausgangswert verwendet, wenn • Reset = TRUE oder • keine korrekte Berechnung des Ausgangswerts wegen eines Fehlers mit

Fehlermeldung ErrorBits ≥ 16#0001_0000 möglich ist und ErrorMode auf den Wert 1 konfiguriert ist.

ErrorAck BOOL FALSE Löscht die Fehlermeldungen • Flanke FALSE -> TRUE

ErrorBits wird zurückgesetzt. Reset BOOL FALSE Führt einen Neustart der Anweisung durch

• Flanke FALSE -> TRUE

ErrorBits wird zurückgesetzt. • Solange Reset auf TRUE gesetzt ist, wird der Ersatzausgangswert Substi-

tuteOutput am Ausgang ausgegeben. • Solange Reset auf FALSE gesetzt ist, wird die Berechnung des Aus-

gangswerts ausgeführt.

Page 601: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.9 Filter_PT2

PID-Regelung 600 Funktionshandbuch, 11/2019, A5E35300226-AE

9.9.5 Ausgangsparameter Filter_PT2 Parameter Datentyp Vorbelegung Beschreibung Output REAL 0.0 Ausgangswert

Der Ausgangswert ist remanent. ErrorBits DWORD DW#16#0 Der Parameter ErrorBits (Seite 601) zeigt, welche Fehlermeldungen vorlie-

gen. ErrorBits ist remanent und wird bei einer steigenden Flanke an Reset oder ErrorAck zurückgesetzt.

Error BOOL FALSE Wenn Error auf TRUE gesetzt ist, steht aktuell mindestens ein Fehler an.

9.9.6 Statische Variablen Filter_PT2 Variable Datentyp Vorbelegung Beschreibung Gain REAL 1.0 Proportionalverstärkung TimeConstant REAL 25.0 Zeitkonstante in Sekunden

Zulässiger Wertebereich: TimeConstant ≥ CycleTime.Value/2 Damping REAL 1.0 Dämpfung

Zulässiger Wertebereich: Damping > 0.0 ErrorMode INT 2 Auswahl des Ersatzausgangswerts im Fehlerfall

• 0 = Input • 1 = SubstituteOutput • 2 = letzter gültiger Filterausgangswert • 3 = 0.0 • 4 = Input * Gain Zulässiger Wertebereich: 0 bis 4

StartMode INT 2 Auswahl des Ausgangswerts für den ersten Aufruf der Anweisung • 0 = Input • 1 = SubstituteOutput • 2 = letzter Ausgangswert • 3 = 0.0 • 4 = Input * Gain Zulässiger Wertebereich: 0 bis 4

CycleTime AuxFct _CycleTime

- Daten der Zykluszeit

CycleTime .Value

REAL 0.1 Zykluszeit in Sekunden (Zeitabstand zwischen 2 Aufrufen) Zulässiger Wertebereich: CycleTime.Value > 0.0

CycleTime .Enable-Measurement

BOOL TRUE Automatische Messung der Zykluszeit • FALSE = Deaktiviert • TRUE = Aktiviert

Page 602: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.9 Filter_PT2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 601

9.9.7 Parameter ErrorBits Wenn gleichzeitig mehrere Fehler anstehen, dann werden die Werte der ErrorBits binär addiert angezeigt. Wenn z. B. ErrorBits = 16#0000_0003 angezeigt wird, dann stehen gleichzeitig die Fehler 16#0000_0001 und 16#0000_0002 an.

Bei Filter_PT2 werden die Fehler, die am Parameter ErrorBits ausgegeben werden, in zwei Kategorien unterschieden:

● Fehler mit Fehlermeldungen ErrorBits < 16#0001_0000

● Fehler mit Fehlermeldungen ErrorBits ≥ 16#0001_0000

Fehler mit Fehlermeldungen ErrorBits < 16#0001_0000 Wenn ein oder mehrere Fehler mit Fehlermeldungen ErrorBits < 16#0001_0000 anstehen, dann reagiert Filter_PT2 wie folgt:

● Der Ausgangswert wird trotz dieses Fehlers folgendermaßen ermittelt:

– Wenn Reset = FALSE, Ausgangswertberechnung durch den Filteralgorithmus.

– Wenn Reset = TRUE, Ausgabe von SubstituteOutput.

● Der Ausgangsparameter Error wird gesetzt.

● Der Freigabeausgang ENO wird nicht geändert.

Page 603: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.9 Filter_PT2

PID-Regelung 602 Funktionshandbuch, 11/2019, A5E35300226-AE

Der Ausgangsparameter Error wird gelöscht, sobald kein Fehler mehr ansteht. ErrorBits (DW#16#...)

Beschreibung

0000_0000 Kein Fehler steht an. 0000_0001 Fehlerursache und Fehlerreaktion:

Der Parameter Output wurde begrenzt auf -3.402823e+38 oder +3.402823e+38. Abhilfe: Wenn am Ausgang der durch die Filterfunktion bestimmte Wert ausgegeben wird (Reset = FALSE und ErrorBits < 16#0001_0000), dann prüfen Sie folgende, in der Filterberechnung verwendete Variablen: • Input • Gain • TimeConstant • Damping • CycleTime.Value Wenn ErrorBits ≥ 16#0001_0000 und Reset = FALSE, wurde die Begrenzung bei der Ausgabe eines Ersatzausgangswerts ausgelöst. Prüfen Sie dann folgende Parameter abhängig von dem eingestellten Wert an der Variable ErrorMode: • Input • SubstituteOutput • Das Produkt von Input und Gain Wenn Reset = TRUE, dann prüfen Sie den Parameter SubstituteOutput.

0000_0002 Fehlerursache: Die Messung der Zykluszeit ergibt einen ungültigen Wert, während die Berechnung des Ausgangswerts ausgeführt wird (Reset = FALSE). Fehlerreaktion: Wenn bereits ein gültiger Wert der Zykluszeit gemessen wurde, dann berechnet Filter_PT2 den Aus-gangswert ausgehend von diesem letzten Wert der Variable CycleTime.Value. Wenn zuvor kein gültiger Wert der Zykluszeit gemessen wurde, dann gibt Filter_PT2 weiterhin den mit der Variable StartMode konfigurierten Ausgangswert am Parameter Output aus.

Page 604: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.9 Filter_PT2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 603

Fehler mit Fehlermeldungen ErrorBits ≥ 16#0001_0000 Wenn ein oder mehrere Fehler mit Fehlermeldungen ErrorBits ≥ 16#0001_0000 anstehen, dann reagiert Filter_PT2 wie folgt:

● Der Ausgangswert kann nicht wie erwartet ermittelt werden. Stattdessen wird der Ersatzausgangswert ausgegeben.

● Der Ausgangsparameter Error wird gesetzt.

● Der Freigabeausgang ENO wird auf FALSE gesetzt.

Sobald keine Fehler mit Fehlermeldungen ErrorBits ≥ 16#0001_0000 mehr anstehen, reagiert Filter_PT2 wie folgt:

● Der Ausgangswert wird folgendermaßen ermittelt:

– Wenn Reset = FALSE, Ausgangswertberechnung durch den Filteralgorithmus

– Wenn Reset = TRUE, Ausgabe von SubstituteOutput

● Der Freigabeausgang ENO wird auf TRUE gesetzt.

Der Ausgangsparameter Error wird gelöscht, sobald kein Fehler mehr ansteht. ErrorBits (DW#16#...)

Beschreibung

0001_0000 Fehlerursache: Der Parameter SubstituteOutput oder eine andere Variable, die als Ausgangswert verwendet wird, hat keinen gültigen REAL-Wert. Fehlerreaktion: Der Ausgang wird auf 0.0 gesetzt. Abhilfe: Stellen Sie sicher, dass die Variable, die als Ausgangswert verwendet wird, ein gültiger REAL-Wert (≠NaN z. B. 16#7FFF_FFFF) ist. Welche Variable als Ausgangswert verwendet wird, ist abhängig von Reset und ErrorMode: Reset ErrorMode Ausgangswert FALSE 0 Input FALSE 1 SubstituteOutput FALSE 4 Produkt aus Input und Gain TRUE - SubstituteOutput

0002_0000 Fehlerursache: Der Parameter Input hat keinen gültigen REAL-Wert, während die Berechnung des Ausgangswerts ausgeführt wird (Reset = FALSE). Fehlerreaktion: Am Parameter Output wird der Ersatzausgangswert ausgegeben, der an der Variable ErrorMode konfi-guriert ist. Bei ErrorMode = 0 wird 0.0 als Ausgangswert ausgegeben. Abhilfe: Stellen Sie sicher, dass der Parameter Input ein gültiger REAL-Wert (≠NaN z. B. 16#7FFF_FFFF) ist.

Page 605: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.9 Filter_PT2

PID-Regelung 604 Funktionshandbuch, 11/2019, A5E35300226-AE

ErrorBits (DW#16#...)

Beschreibung

0004_0000 Fehlerursache: Die Berechnung des Ausgangswerts ergibt einen ungültigen REAL-Wert für Parameter Output. Fehlerreaktion: Am Parameter Output wird der Ersatzausgangswert ausgegeben, der an der Variable ErrorMode konfi-guriert ist. Abhilfe: Prüfen Sie alle Variablen, die an der Berechnung des Ausgangswerts beteiligt sind: • Input • Gain • TimeConstant • Damping • CycleTime.Value Diese Variablen haben gültige Werte. Die Berechnung des Ausgangswert schlägt in dieser Kombination der Variablen fehl.

0008_0000 Fehlerursache: Die Variable Gain, TimeConstant oder Damping hat einen ungültigen Wert, während die Berechnung des Ausgangswerts ausgeführt wird (Reset = FALSE). Fehlerreaktion: Am Parameter Output wird der Ersatzausgangswert ausgegeben, der an der Variable ErrorMode konfi-guriert ist. Abhilfe: Stellen Sie sicher, dass folgende Bedingungen für die Werte der Variablen Gain, TimeConstant und Damping erfüllt sind: • -3.402823e+38 ≤ Gain ≤ 3.402823e+38 • CycleTime.Value/2 ≤ TimeConstant ≤ 3.402823e+38 • 0.0 < Damping ≤ 3.402823e+38 • Die Werte sind gültige REAL-Werte (≠ NaN z. B. 16#7FFF_FFFF). Zusätzliche Information: Beachten Sie, dass die Bedingung CycleTime.Value/2 ≤ TimeConstant in folgenden Szenarien mög-licherweise verletzt wird: • Der Zeitabstand zwischen zwei Aufrufen von Filter_PT2 ist länger als 2 * TimeConstant, z. B. durch

bedingte Aufrufe im Programmablauf oder aktive Haltepunkte. • Eine Momentaufnahme des Filter_PT2 Instanz-DBs wird als Aktualwerte in die CPU geladen und die

Erstellung der Momentaufnahme liegt länger als 2 * TimeConstant zurück. In diesen Szenarien wird bei automatischer Messung der Zykluszeit ein Fehler mit Fehlermeldung ErrorBits = 16#0008_0000 erkannt.

Page 606: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.9 Filter_PT2

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 605

ErrorBits (DW#16#...)

Beschreibung

0020_0000 Fehlerursache: Die Variable (konfiguriert mit StartMode) für die Initialisierung des Parameters Output bei dem ersten Aufruf der Anweisung hat keinen gültigen REAL-Wert. Fehlerreaktion: Bei dem ersten Aufruf der Anweisung wird der Ersatzausgangswert am Parameter Output ausgegeben, der an der Variable ErrorMode konfiguriert ist. Bei nachfolgenden Aufrufen berechnet Filter_PT2 den Ausgangswert ausgehend von diesem Ersatzausgangswert. Abhilfe: Stellen Sie sicher, dass die Variable für die Initialisierung des Parameters Output ein gültiger REAL-Wert (≠ NaN z. B. 16#7FFF_FFFF) ist. Wenn Reset = FALSE gesetzt ist, wird die Initialisierung bei dem ersten Aufruf der Anweisung nach dem Betriebszustandswechsel der CPU von STOP auf RUN wirk-sam. Welche Variable für die Initialisierung des Parameters Output verwendet wird, ist abhängig von StartMode: • StartMode = 1: SubstituteOutput • StartMode = 2: Output • StartMode = 4: Produkt aus Input und Gain

0040_0000 Fehlerursache: Die Variable CycleTime.Value hat einen ungültigen Wert, während die Berechnung des Ausgangswerts ausgeführt wird (Reset = FALSE). Fehlerreaktion: Am Parameter Output wird der Ersatzausgangswert ausgegeben, der an der Variable ErrorMode konfi-guriert ist. Abhilfe: Stellen Sie sicher, dass folgende Bedingungen erfüllt sind: • 0.0 < CycleTime.Value ≤ 3.402823e+38 • CycleTime.Value ist ein gültiger REAL-Wert (≠ NaN z. B. 16#7FFF_FFFF) Zusätzliche Information: Für eine automatische Berechnung des Werts der Variable CycleTime.Value, setzen Sie die Variable CycleTime.EnableMeasurement auf TRUE.

Page 607: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.10 Filter_DT1

PID-Regelung 606 Funktionshandbuch, 11/2019, A5E35300226-AE

9.10 Filter_DT1

9.10.1 Kompatibilität mit CPU und FW Die folgende Tabelle zeigt, auf welcher CPU Sie welche Version von Filter_DT1 einsetzen können: CPU FW Filter_DT1 S7-1200 ab V4.2 V1.0 S7-1500 basierte CPUs ab V2.0 V1.0

9.10.2 Beschreibung Filter_DT1

Beschreibung Die Anweisung Filter_DT1 ist ein Differenzierglied mit einer Verzögerung erster Ordnung, auch DT1-Glied genannt.

Sie können Filter_DT1 zu folgenden Zwecken verwenden:

● Hochpassfilter, um Niederfrequenzanteile in einem Signal zu dämpfen.

● Differenzierglied, um die Ableitung eines Signals, wie zum Beispiel die Geschwindigkeit aus Positionswerten, zu berechnen.

● Störgrößenaufschaltung, um die Auswirkung von messbaren Störungen auf den Prozess abzumildern.

Folgende Filterparameter können Sie vorgeben:

● Differenzierzeit (Td)

● Verzögerungszeitkonstante (Lag)

Hinweis Unterschiede zwischen einem zeitkontinuierlichen DT1-Gied und Filter_DT1

Da Filter_DT1 in einem PLC-Programm ausgeführt wird, ist Filter_DT1 eine zeitdiskrete Umsetzung eines DT1-Glieds. Zeitdiskrete Systeme können nicht die gleichen Eigenschaften aufweisen wie das entsprechende zeitkontinuierliche Vorbild. Zeitdiskrete Systeme können jedoch, abhängig von der Zykluszeit, ein zeitkontinuierliches System gut nachbilden: Umso kleiner und konstanter die Zykluszeit ist, desto kleiner ist die Abweichung zwischen den Eigenschaften von Filter_DT1 und den Eigenschaften eines zeitkontinuierlichen DT1-Glieds. Die Eigenschaften eines zeitkontinuierlichen DT1-Glieds sind die unten beschriebene Übertragungsfunktion, das Zeitverhalten und das Frequenzverhalten.

Für eine gute Nachbildung des Frequenzverhaltens ist eine maximale Zykluszeit von einem Zehntel der kürzesten Periodendauer der Eingangssignalanteile empfohlen. Zum Beispiel hat ein Signal mit Frequenzanteilen von bis zu 50 Hz eine kürzeste Periodendauer von 20 ms. Um eine gute Nachbildung des Frequenzverhaltens zu erreichen, ist für dieses Beispiel eine maximale Zykluszeit von 2 ms empfohlen.

Page 608: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.10 Filter_DT1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 607

Übertragungsfunktion eines DT1-Glieds Folgende Formel zeigt die Übertragungsfunktion eines DT1-Glieds, wobei s gleich dem Laplace-Operator ist:

Zeitverhalten eines DT1-Glieds Die Sprungantwort ist die Reaktion des Ausgangswerts auf einen Sprung des Eingangswerts.

Die Sprungantwort für einen Sprung des Eingangswerts von 0 zu ΔInput kann mit der folgenden Formel berechnet werden:

Folgendes Bild zeigt die Sprungantwort eines DT1-Glieds:

Um die Verzögerung zu deaktivieren, setzten sie den Parameter Lag auf den Minimalwert CycleTime.Value / 2. Änderungen des Eingangswerts werden in diesem Fall mit Td / CycleTime.Value multipliziert und am Parameter Output ausgegeben. Nach einem Zyklus ist der Ausgangswert 0.0.

Page 609: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.10 Filter_DT1

PID-Regelung 608 Funktionshandbuch, 11/2019, A5E35300226-AE

Folgendes Bild zeigt die Sprungantwort für den Fall Lag = CycleTime.Value / 2:

Page 610: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.10 Filter_DT1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 609

Frequenzverhalten eines DT1-Glieds Das Frequenzverhalten eines Übertragungsglieds wird durch den Amplitudengang und den Phasengang beschrieben.

Der Amplitudengang beschreibt die Verstärkung eines Signals durch das Übertragungsglied abhängig von der Kreisfrequenz des Signals.

Folgende Gleichung beschreibt den Amplitudengang eines DT1-Glieds:

|G(ω)| Verstärkung eines Signals in Abhängigkeit der Kreisfrequenz ω Kreisfrequenz

Folgendes Bild zeigt den Amplitudengang eines DT1-Glieds:

Der Phasengang beschreibt die Phasenverschiebung eines Signals durch das Übertragungsglied abhängig von der Kreisfrequenz des Signals.

Page 611: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.10 Filter_DT1

PID-Regelung 610 Funktionshandbuch, 11/2019, A5E35300226-AE

Folgende Gleichung beschreibt den Phasengang eines DT1-Glieds:

φ(ω) Phasenverschiebung in Abhängigkeit der Kreisfrequenz ω Kreisfrequenz

Folgendes Bild zeigt den Phasengang eines DT1-Glieds:

Aufruf In einem OB oder FC wird Filter_DT1 als Einzelinstanz-DB aufgerufen. In einem FB kann Filter_DT1 sowohl als Einzelinstanz-DB, als auch als ein Multiinstanz-DB und als ein Parameterinstanz-DB aufgerufen werden.

Bei dem Aufruf der Anweisung wird kein Technologieobjekt angelegt. Parametrier- und Inbetriebnahmeoberfläche steht Ihnen nicht zur Verfügung. Sie parametrieren Filter_DT1 direkt über den Instanz-DB und nehmen Filter_DT1 über eine Beobachtungstabelle des Anwenderprogramms in der CPU oder HMI in Betrieb.

Page 612: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.10 Filter_DT1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 611

Anlauf Die Variablen im statischen Bereich von Filter_DT1 sind nicht remanent. Diese Variablen werden nach jedem Betriebszustandswechsel der CPU von STOP auf RUN mit den Startwerten initialisiert. Wenn Sie die Aktualwerte im Online-Betrieb ändern und diese Werte nach dem Betriebszustandswechsel der CPU erhalten bleiben sollen, dann sichern Sie diese Werte in den Startwerten des Datenbausteins.

An der Variable StartMode legen Sie den Initialisierungswert für den Parameter Output fest.

Der Initialisierungswert wird beim ersten Aufruf von Filter_DT1 nach dem

● Betriebszustandswechsel der CPU

oder

● Ausführen von "Startwerte als Aktualwerte laden" (nur bei Option "Alle Werte", nicht bei Option "Nur Einstellwerte")

am Parameter Output ausgegeben.

Bei den nachfolgenden Aufrufen berechnet Filter_DT1 den Ausgangswert, ausgehend von diesem Initialisierungswert, auf Basis des Eingangswerts und der Filterkonfiguration.

Die folgende Tabelle zeigt die Abhängigkeit zwischen der Variable StartMode und dem Parameter Output. Die Werte in der Spalte Output werden nach dem Betriebszustandswechsel der CPU am Parameter Output ausgegeben: StartMode Output Beispiel 0 Wert des Parameters Input

1 Wert des Parameters SubstituteOutput

2 Bleibt unverändert Parameter Output ist remanent Standardeinstellung Wird verwendet wenn StartMode nicht im Bereich 0...3

3 0.0

Page 613: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.10 Filter_DT1

PID-Regelung 612 Funktionshandbuch, 11/2019, A5E35300226-AE

Folgendes gilt zusätzlich für alle Werte der Variable StartMode:

● Der Initialisierungswert wird auf den Wertebereich des Datentyps REAL begrenzt. Erst dann wird der Initialisierungswert am Parameter Output ausgegeben.

● Falls der Initialisierungswert kein gültiger REAL-Wert ist, wird der Ersatzausgangswert am Parameter Output ausgeben. Der Ersatzausgangswert wird durch die Variable ErrorMode konfiguriert. Der Ersatzausgangswert wird auf den Wertebereich des Datentyps REAL begrenzt bevor er am Parameter Output ausgegeben wird. Falls der Ersatzausgangswert ebenfalls kein gültiger REAL-Wert ist, wird 0.0 am Parameter Output ausgegeben. Bei den nachfolgenden Aufrufen berechnet die Anweisung den Ausgangswert ausgehend von diesem Ersatzausgangswert.

● Nur wenn bei dem ersten Aufruf der Anweisung der Parameter Reset = FALSE gesetzt ist und gleichzeitig kein Fehler mit Fehlermeldung ErrorBits ≥ 16#0002_0000 ansteht, ist die Variable StartMode wirksam. Wenn der Parameter Reset = TRUE gesetzt ist, wird der Wert des Parameters SubstituteOutput am Parameter Output ausgegeben. Wenn ein Fehler mit Fehlermeldung ErrorBits ≥ 16#0002_0000 ansteht, wird am Parameter Output der Ersatzausgangswert ausgegeben, der an der Variable ErrorMode konfiguriert ist.

Verhalten im Fehlerfall Die Anweisung Filter_DT1 erkennt unterschiedliche Fehler, die bei der Berechnung des Ausgangswerts auftreten können. Das Ergebnis dieser Berechnung kann trotz eines anstehenden Fehlers am Ausgang ausgegeben werden. Wenn keine korrekte Berechnung des Ausgangswerts wegen eines Fehlers möglich ist, dann wird ein Ersatzausgangswert am Ausgang ausgegeben.

An der Variable ErrorMode legen Sie im Fall eines Fehlers, bei dem keine korrekte Berechnung des Ausgangswerts möglich ist, den Ersatzausgangswert fest.

Die folgende Tabelle zeigt die Abhängigkeit zwischen dem Wert der Variable ErrorMode und dem Ersatzausgangswert, den Filter_DT1 am Parameter Output ausgibt: ErrorMode Output 0 Wert des Parameters Input 1 Wert des Parameters SubstituteOutput 2 Der letzte gültige Filterausgangswert

0.0, falls kein gültiger Filterausgangswert vorhanden Standardeinstellung Wird verwendet, wenn ErrorMode nicht im Bereich 0...3

3 0.0

Page 614: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.10 Filter_DT1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 613

Folgendes gilt zusätzlich für alle Werte der Variable ErrorMode:

● Wenn der Ersatzausgangswert kein gültiger REAL-Wert ist, wird 0.0 als Ausgangswert ausgegeben.

● Der Ersatzausgangswert wird auf den Wertebereich des Datentyps REAL begrenzt. Erst dann wird der Ersatzausgangswert am Parameter Output ausgegeben.

● Die Variable ErrorMode ist nur dann wirksam, wenn der Parameter Reset = FALSE gesetzt ist. Wenn der Parameter Reset = TRUE gesetzt ist, wird der Wert von Parameter SubstituteOutput am Parameter Output ausgegeben.

Der Parameter Error zeigt, ob aktuell ein Fehler ansteht. Wenn der Fehler nicht mehr ansteht, wird Error auf FALSE gesetzt. Der Parameter ErrorBits zeigt, welche Fehler aufgetreten sind. ErrorBits ist remanent und wird nur durch eine steigende Flanke am Parameter Reset oder ErrorAck zurückgesetzt.

Page 615: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.10 Filter_DT1

PID-Regelung 614 Funktionshandbuch, 11/2019, A5E35300226-AE

9.10.3 Arbeitsweise Filter_DT1

Reset-Verhalten Filter_DT1 verhält sich abhängig von dem Parameter Reset folgendermaßen:

● Wenn der Parameter Reset =TRUE gesetzt ist, wird der Wert des Parameters SubstituteOutput am Parameter Output ausgegeben.

● Wenn der Parameter Reset = FALSE gesetzt ist, wird der Wert, der am Parameter Output ausgegeben wird, durch den Filteralgorithmus berechnet.

● Wenn der Parameter Reset von FALSE auf TRUE gesetzt wird, wechselt der Wert am Parameter Output direkt zu dem Wert des Parameters SubstituteOutput. Dieser Wechsel kann sprunghaft sein. Zusätzlich wird der Parameter ErrorBits zurückgesetzt.

● Wenn der Parameter Reset von TRUE auf FALSE gesetzt wird, wird der Filteralgorithmus so aufgesetzt, dass der Wechsel stoßfrei verläuft.

Freigabeverhalten EN/ENO Wenn eine der folgenden Bedingungen erfüllt ist, dann wird der Freigabeausgang ENO auf FALSE gesetzt:

● Freigabeeingang EN ist auf TRUE gesetzt und der Parameter Output ist durch einen Ersatzausgangswert festgelegt bei Fehlermeldungen ErrorBits ≥ 16#0001_0000.

● Freigabeeingang EN ist auf FALSE gesetzt.

Sonst wird der Freigabeausgang ENO auf TRUE gesetzt.

Zykluszeit automatisch messen Für die Berechnung des Ausgangswerts benötigt Filter_DT1 die Zeit, die seit dem letzten Aufruf von Filter_DT1 vergangen ist.

Standardmäßig wird die Zykluszeit automatisch gemessen und ab dem zweiten Aufruf an der Variable CycleTime.Value ausgegeben. Filter_DT1 misst die Zykluszeit bei jedem Aufruf der Anweisung und ist somit in nicht äquidistanten Aufrufzyklen einsetzbar, z. B. im OB1.

Beachten Sie, dass bedingte Aufrufe der Anweisung, aktive Haltepunkte oder das Laden von Momentaufnahmen als Aktualwerte bei automatischer Messung der Zykluszeit den Wert der Zykluszeit verlängern. Eine zu große Zykluszeit wird als Fehler mit Fehlermeldung ErrorBits = 16#0008_0000 erkannt.

Wenn die Messung der Zykluszeit kein gültiges Ergebnis liefert, dann berechnet Filter_DT1 den aktuellen Ausgangswert mit der letzten gültigen Zykluszeit. Zusätzlich gibt Filter_DT1 eine Fehlermeldung am Parameter ErrorBits aus.

Wenn Sie die automatische Messung der Zykluszeit mit Setzen der Variable CycleTime.EnableMeasurement = FALSE deaktivieren, dann müssen Sie die Zykluszeit manuell an der Variable CycleTime.Value vorgeben. Filter_DT1 prüft die Variable CycleTime.Value bei jedem Aufruf auf Gültigkeit.

Page 616: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.10 Filter_DT1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 615

Automatische Messung der Zykluszeit mit Haltepunkten Wenn Haltepunkte zwischen zwei Aufrufen von Filter_DT1 aktiv sind, ergibt die automatische Messung der Zykluszeit die tatsächliche Zeit, die zwischen zwei Aufrufen vergangen ist. Wenn ein Haltepunkt aktiv ist, dann befindet sich die CPU im Betriebszustand HALT.

Hinweis

Die aktiven Haltepunkte verlängern den Zeitabstand zwischen zwei Aufrufen von Filter_DT1.

Mit einem längeren Zeitabstand zwischen zwei Aufrufen vergrößert sich auch die Änderung des Ausgangswerts am Parameter Output.

Des Weiteren ist es möglich, dass durch die längeren Zeitabstände die Bedingungen Lag ≥ CycleTime.Value/2 oder Td ≥ CycleTime.Value verletzt werden. Dann wird deshalb ein Fehler mit der Fehlermeldung ErrorBits = 16#0008_0000 erkannt.

Wenn Sie die Berechnung des Ausgangswerts basierend auf der tatsächlichen Zeit mit aktiven Haltepunkten nicht benötigen, dann führen Sie folgende Schritte durch:

● Deaktivieren Sie die automatische Messung der Zykluszeit mit Setzen der Variable CycleTime.EnableMeasurement = FALSE.

● Geben Sie die Zykluszeit manuell an der Variable CycleTime.Value ein.

Page 617: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.10 Filter_DT1

PID-Regelung 616 Funktionshandbuch, 11/2019, A5E35300226-AE

9.10.4 Eingangsparameter Filter_DT1 Parameter Datentyp Vorbelegung Beschreibung Input REAL 0.0 Eingangswert Substitute-Output

REAL 0.0 SubstituteOutput wird als Ersatzausgangswert verwendet, wenn • Reset = TRUE oder • keine korrekte Berechnung des Ausgangswerts wegen eines Fehlers mit

Fehlermeldung ErrorBits ≥ 16#0001_0000 möglich ist und ErrorMode auf den Wert 1 konfiguriert ist.

ErrorAck BOOL FALSE Löscht die Fehlermeldungen • Flanke FALSE -> TRUE

ErrorBits wird zurückgesetzt. Reset BOOL FALSE Führt einen Neustart der Anweisung durch

• Flanke FALSE -> TRUE

ErrorBits wird zurückgesetzt. • Solange Reset auf TRUE gesetzt ist, wird der Ersatzausgangswert Substi-

tuteOutput am Ausgang ausgegeben. • Solange Reset auf FALSE gesetzt ist, wird die Berechnung des Aus-

gangswerts ausgeführt.

9.10.5 Ausgangsparameter Filter_DT1 Parameter Datentyp Vorbelegung Beschreibung Output REAL 0.0 Ausgangswert

Der Ausgangswert ist remanent. ErrorBits DWORD DW#16#0 Der Parameter ErrorBits (Seite 618) zeigt, welche Fehlermeldungen vorlie-

gen. ErrorBits ist remanent und wird bei einer steigenden Flanke an Reset oder ErrorAck zurückgesetzt.

Error BOOL FALSE Wenn Error auf TRUE gesetzt ist, steht aktuell mindestens ein Fehler an.

Page 618: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.10 Filter_DT1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 617

9.10.6 Statische Variablen Filter_DT1 Variable Datentyp Vorbelegung Beschreibung Td REAL 25.0 Differenzierzeit in Sekunden

Zulässiger Wertebereich: Td ≥ CycleTime.Value Lag REAL 5.0 Verzögerungszeitkonstante in Sekunden

Zulässiger Wertebereich: Lag ≥ CycleTime.Value/2 ErrorMode INT 2 Auswahl des Ersatzausgangswerts im Fehlerfall

• 0 = Input • 1 = SubstituteOutput • 2 = letzter gültiger Filterausgangswert • 3 = 0.0 Zulässiger Wertebereich: 0 bis 3

StartMode INT 2 Auswahl des Ausgangswerts für den ersten Aufruf der Anweisung • 0 = Input • 1 = SubstituteOutput • 2 = letzter Ausgangswert • 3 = 0.0 Zulässiger Wertebereich: 0 bis 3

CycleTime AuxFct _CycleTime

- Daten der Zykluszeit

CycleTime .Value

REAL 0.1 Zykluszeit in Sekunden (Zeitabstand zwischen 2 Aufrufen) Zulässiger Wertebereich: CycleTime.Value > 0.0

CycleTime .Enable-Measurement

BOOL TRUE Automatische Messung der Zykluszeit • FALSE = Deaktiviert • TRUE = Aktiviert

Page 619: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.10 Filter_DT1

PID-Regelung 618 Funktionshandbuch, 11/2019, A5E35300226-AE

9.10.7 Parameter ErrorBits Wenn gleichzeitig mehrere Fehler anstehen, dann werden die Werte der ErrorBits binär addiert angezeigt. Wenn z. B. ErrorBits = 16#0000_0003 angezeigt wird, dann stehen gleichzeitig die Fehler 16#0000_0001 und 16#0000_0002 an.

Bei Filter_DT1 werden die Fehler, die am Parameter ErrorBits ausgegeben werden, in zwei Kategorien unterschieden:

● Fehler mit Fehlermeldungen ErrorBits < 16#0001_0000

● Fehler mit Fehlermeldungen ErrorBits ≥ 16#0001_0000

Fehler mit Fehlermeldungen ErrorBits < 16#0001_0000 Wenn ein oder mehrere Fehler mit Fehlermeldungen ErrorBits < 16#0001_0000 anstehen, dann reagiert Filter_DT1 wie folgt:

● Der Ausgangswert wird trotz dieses Fehlers folgendermaßen ermittelt:

– Wenn Reset = FALSE, Ausgangswertberechnung durch den Filteralgorithmus

– Wenn Reset = TRUE, Ausgabe von SubstituteOutput

● Der Ausgangsparameter Error wird gesetzt.

● Der Freigabeausgang ENO wird nicht geändert.

Page 620: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.10 Filter_DT1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 619

Der Ausgangsparameter Error wird gelöscht, sobald kein Fehler mehr ansteht. ErrorBits (DW#16#...)

Beschreibung

0000_0000 Kein Fehler steht an. 0000_0001 Fehlerursache und Fehlerreaktion:

Der Parameter Output wurde begrenzt auf -3.402823e+38 oder +3.402823e+38. Abhilfe: Wenn am Ausgang der durch die Filterfunktion bestimmte Wert ausgegeben wird (Reset = FALSE und ErrorBits < 16#0001_0000), dann prüfen Sie folgende, in der Filterberechnung verwendete Variablen: • Input • Td • Lag • CycleTime.Value Wenn ErrorBits ≥ 16#0001_0000 und Reset = FALSE, wird der Ersatzausgangswert bei dessen Ausga-be begrenzt. Prüfen Sie dann folgende Parameter abhängig von dem eingestellten Wert an der Variable ErrorMode: • Input • SubstituteOutput Wenn Reset = TRUE, dann prüfen Sie den Parameter SubstituteOutput.

0000_0002 Fehlerursache: Die Messung der Zykluszeit ergibt einen ungültigen Wert, während die Berechnung des Ausgangswerts ausgeführt wird (Reset = FALSE). Fehlerreaktion: Wenn bereits ein gültiger Wert der Zykluszeit gemessen wurde, dann berechnet Filter_DT1 den Aus-gangswert ausgehend von diesem letzten Wert der Variable CycleTime.Value. Wenn zuvor kein gültiger Wert der Zykluszeit gemessen wurde, dann gibt Filter_DT1 weiterhin den mit der Variable StartMode konfigurierten Ausgangswert am Parameter Output aus.

Fehler mit Fehlermeldungen ErrorBits ≥ 16#0001_0000 Wenn ein oder mehrere Fehler mit Fehlermeldungen ErrorBits ≥ 16#0001_0000 anstehen, dann reagiert Filter_DT1 wie folgt:

● Der Ausgangswert kann nicht wie erwartet ermittelt werden. Stattdessen wird der Ersatzausgangswert ausgegeben.

● Der Ausgangsparameter Error wird gesetzt.

● Der Freigabeausgang ENO wird auf FALSE gesetzt.

Sobald keine Fehler mit Fehlermeldungen ErrorBits ≥ 16#0001_0000 mehr anstehen, reagiert Filter_DT1 wie folgt:

● Der Ausgangswert wird folgendermaßen ermittelt:

– Wenn Reset = FALSE, Ausgangswertberechnung durch den Filteralgorithmus

– Wenn Reset = TRUE, Ausgabe von SubstituteOutput

● Der Freigabeausgang ENO wird auf TRUE gesetzt.

Page 621: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.10 Filter_DT1

PID-Regelung 620 Funktionshandbuch, 11/2019, A5E35300226-AE

Der Ausgangsparameter Error wird gelöscht, sobald kein Fehler mehr ansteht. ErrorBits (DW#16#...)

Beschreibung

0001_0000 Fehlerursache: Der Parameter SubstituteOutput oder eine andere Variable, die als Ausgangswert verwendet wird, hat keinen gültigen REAL-Wert. Fehlerreaktion: Der Ausgang wird auf 0.0 gesetzt. Abhilfe: Stellen Sie sicher, dass die Variable, die als Ausgangswert verwendet wird, ein gültiger REAL-Wert (≠NaN z. B. 16#7FFF_FFFF) ist. Welche Variable als Ausgangswert verwendet wird, ist abhängig von Reset und ErrorMode: Reset ErrorMode Ausgangswert FALSE 0 Input FALSE 1 SubstituteOutput TRUE - SubstituteOutput

0002_0000 Fehlerursache: Der Parameter Input hat keinen gültigen REAL-Wert, während die Berechnung des Ausgangswerts ausgeführt wird (Reset = FALSE). Fehlerreaktion: Am Parameter Output wird der Ersatzausgangswert ausgegeben, der an der Variable ErrorMode konfi-guriert ist. Bei ErrorMode = 0 wird 0.0 als Ausgangswert ausgegeben. Abhilfe: Stellen Sie sicher, dass der Parameter Input ein gültiger REAL-Wert (≠NaN z. B. 16#7FFF_FFFF) ist.

0004_0000 Fehlerursache: Die Berechnung des Ausgangswerts ergibt einen ungültigen REAL-Wert für Parameter Output. Fehlerreaktion: Am Parameter Output wird der Ersatzausgangswert ausgegeben, der an der Variable ErrorMode konfi-guriert ist. Abhilfe: Prüfen Sie alle Variablen, die an der Berechnung des Ausgangswerts beteiligt sind: • Input • Td • Lag • CycleTime.Value Diese Variablen haben gültige Werte. Die Berechnung des Ausgangswert schlägt in dieser Kombination der Variablen fehl.

Page 622: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.10 Filter_DT1

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 621

ErrorBits (DW#16#...)

Beschreibung

0008_0000 Fehlerursache: Die Variable Td oder Lag hat einen ungültigen Wert, während die Berechnung des Ausgangswerts ausgeführt wird (Reset = FALSE). Fehlerreaktion: Am Parameter Output wird der Ersatzausgangswert ausgegeben, der an der Variable ErrorMode konfi-guriert ist. Abhilfe: Stellen Sie sicher, dass folgende Bedingungen für die Werte der Variablen Td und Lag erfüllt sind: • CycleTime.Value ≤ Td ≤ 3.402823e+38 • CycleTime.Value/2 ≤ Lag ≤ 3.402823e+38 • Die Werte sind gültige REAL-Werte (≠ NaN z. B. 16#7FFF_FFFF). Zusätzliche Information: Beachten Sie, dass die Bedingungen CycleTime.Value ≤ Td und CycleTime.Value/2 ≤ Lag in folgenden Szenarien möglicherweise verletzt werden: • Der Zeitabstand zwischen zwei Aufrufen von Filter_DT1 ist länger als 2 * Lag oder Td, z. B. durch

bedingte Aufrufe im Programmablauf oder aktive Haltepunkte. • Eine Momentaufnahme des Filter_DT1 Instanz-DBs wird als Aktualwerte in die CPU geladen und die

Erstellung der Momentaufnahme liegt länger als 2 * Lag oder Td zurück. In diesen Szenarien wird bei automatischer Messung der Zykluszeit ein Fehler mit Fehlermeldung ErrorBits = 16#0008_0000 erkannt.

Page 623: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Anweisungen 9.10 Filter_DT1

PID-Regelung 622 Funktionshandbuch, 11/2019, A5E35300226-AE

ErrorBits (DW#16#...)

Beschreibung

0020_0000 Fehlerursache: Die Variable (konfiguriert mit StartMode) für die Initialisierung des Parameters Output bei dem ersten Aufruf der Anweisung hat keinen gültigen REAL-Wert. Fehlerreaktion: Bei dem ersten Aufruf der Anweisung wird der Ersatzausgangswert am Parameter Output ausgegeben, der an der Variable ErrorMode konfiguriert ist. Bei nachfolgenden Aufrufen berechnet Filter_DT1 den Ausgangswert ausgehend von diesem Ersatzausgangswert. Abhilfe: Stellen Sie sicher, dass die Variable für die Initialisierung des Parameters Output ein gültiger REAL-Wert (≠ NaN z. B. 16#7FFF_FFFF) ist. Wenn Reset = FALSEgesett ist, wird die Initialisierung bei dem ersten Aufruf der Anweisung nach dem Betriebszustandswechsel der CPU von STOP auf RUN wirk-sam. Welche Variable für die Initialisierung des Parameters Output verwendet wird, ist abhängig von StartMode: • StartMode = 1: SubstituteOutput • StartMode = 2: Output

0040_0000 Fehlerursache: Die Variable CycleTime.Value hat einen ungültigen Wert, während die Berechnung des Ausgangswerts ausgeführt wird (Reset = FALSE). Fehlerreaktion: Am Parameter Output wird der Ersatzausgangswert ausgegeben, der an der Variable ErrorMode konfi-guriert ist. Abhilfe: Stellen Sie sicher, dass folgende Bedingungen erfüllt sind: • 0.0 < CycleTime.Value ≤ 3.402823e+38 • CycleTime.Value ist ein gültiger REAL-Wert (≠ NaN z. B. 16#7FFF_FFFF) Zusätzliche Information: Für eine automatische Berechnung des Werts der Variable CycleTime.Value, setzen Sie die Variable CycleTime.EnableMeasurement auf TRUE.

Page 624: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 623

Index

C CONT_C

Arbeitsweise, 480 Ausgangsparameter, 484 Blockschaltbild, 481 Eingangsparameter, 482

CONT_S Anweisung, 485 Arbeitsweise, 486 Ausgangsparameter, 489 Blockschaltbild, 487 Eingangsparameter, 488

F Filter_DT1, 606 Filter_PT1, 574 Filter_PT2, 590

P PID_3Step

Anweisung, 331, 371 Ausgangsparameter, 344, 381 Durchgangsparameter, 346 Eingangsparameter, 341, 379 Statische Variablen, 383

PID_Compact Anweisung, 306 Ausgangsparameter, 276, 311 Durchgangsparameter, 277 Eingangsparameter, 274, 310 Statische Variablen, 312

PID_Temp Arbeitsweise, 413 Ausgangsparameter, 421 Durchgangsparameter, 423 Eingansparameter, 419 Kaskade, 423 Kaskadierung, 205 Mehrzonenanwendungen, 213 Mode, 423 Parameter ErrorBits, 469 Parameter State und Mode PID_Temp, 461 PwmPeriode, 475

Variable ActivateRecoverMode, 472 Variable Warning, 474

Polyline, 538 PULSEGEN

Ausgangsparameter, 500 Eingangsparameter, 499

PULSEGEN Anweisung, 490 Arbeitsweise, 491

R RampFunction, 559

S Software-Regler

Projektieren, 40 SplitRange, 552 Symbol

für Wertevergleich, 51

T TCONT_CP

Anweisung, 501 Arbeitsweise, 502 Ausgangsparameter, 516 Durchgangsparameter, 517 Eingangsparameter, 516 Statische Variablen, 518

TCONT_S Anweisung, 525 Arbeitsweise, 527 Ausgangsparameter, 534 Durchgangsparameter, 534 Eingangsparameter, 533 Statische Variablen, 535

Technologieobjekte CONT_C, 221 CONT_S, 227 PID_3Step, 124 PID_Compact, 80 PID_Temp, 169 TCONT_CP, 231 TCONT_S, 255

Page 625: PID-Regelung · 2019-12-06 · PID-Regelung Funktionshandbuch, 11/2019, A5E35300226-AE 3 Vorwort Zweck der Dokumentation Diese Dokumentation unterstützt Sie bei der Projektierung

Index

PID-Regelung 624 Funktionshandbuch, 11/2019, A5E35300226-AE

W Werte

vergleichen, 51