Three_Step_d.pdf

29
S7-200 - Dreipunktregelung Micro Automation – Dreipunktregelung FAQ

Transcript of Three_Step_d.pdf

Page 1: Three_Step_d.pdf

S7-200 - Dreipunktregelung

Micro Automation – Dreipunktregelung

FAQ

Page 2: Three_Step_d.pdf

Gewährleistung, Haftung und Support

S7-200 - Dreipunktregelung

V1.5 18.01.2008 2/29

Cop

yrig

ht ©

Sie

men

s A

G 2

008

All

right

s re

serv

ed

Thre

e_St

ep_d

.doc

Hinweis Die Applikationsbeispiele sind unverbindlich und erheben keinen Anspruch auf Vollständigkeit hinsichtlich Konfiguration und Ausstattung sowie jeglicher Eventualitäten. Die Applikationsbeispiele stellen keine kundenspezifische Lösungen dar, sondern sollen lediglich Hilfestellung bieten bei typischen Aufgabenstellungen. Sie sind für den sachgemäßen Betrieb der beschriebenen Produkte selbst verantwortlich. Diese Applikationsbeispiele entheben Sie nicht der Verpflichtung zu sicherem Umgang bei Anwendung, Installation, Betrieb und Wartung. Durch Nutzung dieser Applikationsbeispiele erkennen Sie an, dass Siemens über die beschriebene Haftungsregelung hinaus nicht für etwaige Schäden haftbar gemacht werden kann. Wir behalten uns das Recht vor, Änderungen an diesen Applikationsbeispielen jederzeit ohne Ankün-digung durchzuführen. Bei Abweichungen zwischen den Vorschlägen in diesen Applikationsbeispiel und anderen Siemens Publikationen, wie z.B. Katalogen, hat der Inhalt der anderen Dokumentation Vorrang.

Gewährleistung, Haftung und Support

Für die in diesem Dokument enthaltenen Informationen übernehmen wir keine Gewähr.

Unsere Haftung, gleich aus welchem Rechtsgrund, für durch die Verwendung der in diesem Applikationsbeispiel beschriebenen Beispiele, Hinweise, Programme, Projektierungs- und Leistungsdaten usw. verursachte Schäden ist ausgeschlossen, soweit nicht z.B. nach dem Produkthaftungsgesetz in Fällen des Vorsatzes, der groben Fahrlässigkeit, wegen der Verletzung des Lebens, des Körpers oder der Gesundheit, wegen einer Übernahme der Garantie für die Beschaffenheit einer Sache, wegen des arglistigen Verschweigens eines Mangels oder wegen Verletzung wesentlicher Vertragspflichten zwingend gehaftet wird. Der Schadensersatz wegen Verletzung wesentlicher Vertragspflichten ist jedoch auf den vertragstypischen, vorhersehbaren Schaden begrenzt, soweit nicht Vorsatz oder grobe Fahrlässigkeit vorliegt oder wegen der Verletzung des Lebens, des Körpers oder der Gesundheit zwingend gehaftet wird. Eine Änderung der Beweislast zu Ihrem Nachteil ist hiermit nicht verbunden.

Copyright© 2008 Siemens A&D. Weitergabe oder Vervielfältigung dieser Applikationsbeispiele oder Auszüge daraus sind nicht gestattet, soweit nicht ausdrücklich von Siemens A&D zugestanden. Bei Fragen zu diesem Beitrag wenden Sie sich bitte über folgende E-Mail-Adresse an uns:

mailto:[email protected]

Page 3: Three_Step_d.pdf

Gewährleistung, Haftung und Support

S7-200 - Dreipunktregelung Beitrags-ID: 18748232

V1.5 18.01.2008 3/29

Cop

yrig

ht ©

Sie

men

s A

G 2

008

All

right

s re

serv

ed

Thre

e_St

ep_d

.doc

Inhaltsverzeichnis

Inhaltsverzeichnis......................................................................................................... 3

1 Zielsetzung ...................................................................................................... 4

2 Funktionalität .................................................................................................. 5 Funktionsweise ............................................................................................ 5 Hysterese ..................................................................................................... 5

2.1 Korrekturansteuerung im Stationärbetrieb........................................................ 5 Integralanteil ausschalten ............................................................................ 6

2.2 Funktionsweise „Non_Sensitive“ ...................................................................... 7 2.2.1 Parametervorgabe ............................................................................................ 9 2.3 Dreipunktregelung ohne Ventilstellungsrückmeldung....................................... 9 2.4 Simulation der Regelstrecke........................................................................... 10

3 Die Bibliotheken............................................................................................ 11 3.1 Bibliothek „Three_Step“ .................................................................................. 11 3.1.1 Baustein „Three_Step“.................................................................................... 12 3.1.2 Baustein „Non_Sensitive“ ............................................................................... 14 3.1.3 Baustein „Valve_Sim“ ..................................................................................... 15 3.2 Bibliothek „SYS_Sim“ ..................................................................................... 16 3.2.1 Baustein „Dead_Time“.................................................................................... 17 3.2.2 Baustein „Low_Pass“...................................................................................... 18 3.3 Umrechnungsbibliothek „Scale“...................................................................... 19

4 Beispielprojekte ............................................................................................ 20 4.1 „Three_Step_Sim“ .......................................................................................... 20 4.1.1 Funktionsweise des PID-Reglers konfigurieren.............................................. 21 4.1.2 Variablentabelle .............................................................................................. 24 4.1.3 Grafische Überprüfung ................................................................................... 25 4.2 „Three_Step“................................................................................................... 27 4.3 „Three_Step_NFB“ ......................................................................................... 28 4.4 Dreipunktreglergüte ........................................................................................ 29

Page 4: Three_Step_d.pdf

Zielsetzung

S7-200 - Dreipunktregelung Beitrags-ID: 18748232

1 Zielsetzung

Es soll das Ventil einer Mischbatterie entsprechend einer gewünschten Temperaturvorgabe geregelt werden. Abbildung 1-1

V1.5 18.01.2008 4/29

Cop

yrig

ht ©

Sie

men

s A

G 2

008

All

right

s re

serv

ed

Thre

e_St

ep_d

.doc

Dn_Limit

Up_Limit

20°C70°C

1 0

Up

Verwendet wird hierzu ein Dreiwegemischer mit Ventilstellantrieb. Durch einen Zulauf fließt heißes (z.B. 70°C) und durch den anderen kaltes Wasser (z.B. 20°C). Durch Variieren der Wassereinspeisung von 20°C bzw. 70°C über die Ventilstellung kann das abfließende Wasser jede Temperatur zwischen diesen beiden vorgegebenen erhalten.

Down

PV (process variable: temperature)

MTR_Pos (motor position; optional: can be simulated if nonexistent)

Q

I

AI

Hierbei handelt es sich um eine Dreipunktregelung:

1. Das Ventil wird in Richtung „mehr heißes Wasser“ (digitaler Ausgang „Up“)

oder

2. das Ventil wird in Richtung „mehr kaltes Wasser“ (digitaler Ausgang „Down“)

oder

3. das Ventil wird gar nicht angesteuert.

Die S7-200er CPU (ab Release V2.0) benötigt für diese Regelung den Temperatur- Istwert (analoger Eingang „PV“). Zusätzlich ist noch die Ventilmotorstellung erforderlich. Diese lässt sich entweder aus dem analogen Rückmeldesignal (analoger Eingang „MTR_Pos“) oder durch Simulation gewinnen. Die Ventilendschalter „Up_Limit“ und „Dn_Limit“ signalisieren die Endstellungen des Ventils und dienen zur Ansteuerungsbegrenzung und als Referenzpunkte für die Ventilstellungssimulation.

Page 5: Three_Step_d.pdf

Funktionalität

S7-200 - Dreipunktregelung Beitrags-ID: 18748232

2 Funktionalität

Realisiert wird diese Dreipunktregelung mit Hilfe des in STEP 7-Micro/WIN (ab Version 4.0) integrierten PID-Reglers und der Bibliothek „Three_Step“. Die Funktionsweise wird in der folgenden Abbildung beschrieben: Abbildung 2-1

V1.5 18.01.2008 5/29

Cop

yrig

ht ©

Sie

men

s A

G 2

008

All

right

s re

serv

ed

Thre

e_St

ep_d

.doc

Deviation

Three_Step

MTR_Pos

_SP Delta PID_Out

PI controller

PIDx_INIT

_

PV

Up

Down

20°C70°C

1 0

ThrOn

Funktionsweise Der Temperatur-Sollwert („SP“ = setpoint) wird mit dem Istwert („PV“ = process variable) verglichen und intern im PID-Regler-Baustein „PIDx_INIT“ wird die Regelabweichung („Delta“ = „SP“ – „PV“) gebildet. Der Regler mit PI-Verhalten („PI controller“; für diese Regelung notwendig) gibt die Stellgröße „PID_Out“ aus, welche den Sollwert für das Dreipunktstellglied „Three_Step“ liefert. „PID_Out“ wird mit der momentanen Ventilmotorstellung „MTR_Pos“ verglichen und die Abweichung „Deviation“ berechnet.

Hysterese Wenn „Deviation“ größer als der vorgegebene Schwellwert „ThrOn“ ist, wird das Ventil in Richtung „mehr heißes Wasser“ so lange geöffnet bis die Abweichung kleiner gleich 0 ist. Wenn „Deviation“ kleiner als der vorgegebene negative Schwellwert ist, wird das Ventil in Richtung „mehr kaltes Wasser“ so lange geöffnet bis die Abweichung größer gleich 0 ist.

2.1 Korrekturansteuerung im Stationärbetrieb

Da die Solltemperatur aufgrund des Streckenverhaltens zwischen Stellglied (Ventil) und Temperatur- Messstelle niemals exakt erreicht wird und der Integralanteil des PI-Reglers jede noch so kleine Regelabweichung als

Page 6: Three_Step_d.pdf

Funktionalität

S7-200 - Dreipunktregelung Beitrags-ID: 18748232

aufsummierte Stellgröße ausgibt, wird die Stellgliedabweichung „Deviation“ auch im stationären Zustand aus dem Toleranzbereich +/- „ThrOn“ laufen und gegenregeln. Abbildung 2-2

t

PV [°C] PID_Out

SP = 45°C

Mode: Automatic

V1.5 18.01.2008 6/29

Cop

yrig

ht ©

Sie

men

s A

G 2

008

All

right

s re

serv

ed

Thre

e_St

ep_d

.doc

Abbildung 2-2 zeigt wie die Isttemperatur „PV“ um den Sollwert „SP“ im stationären Zugang ohne äußere Einwirkungen im Automatikbetrieb schwingt (besonders gut an den Stellgröße „PID_Out“ zu erkennen).

Integralanteil ausschalten Um dieses ungewollte Schwingen um den Temperatursollwert zu vermeiden, kommt der Baustein „Non_Sensitive“ zum Einsatz, der den Regler für einen vorgegebenen Bereich „einfriert“ und somit auch den I-Anteil des Reglers ausschaltet. Abbildung 2-3

t

PV [°C] PID_Out

SP = 45°C

Mode: Non-Sensitive

Abbildung 2-3 zeigt im Vergleich zu Abbildung 2-2 keine Aktivität des Ventilantriebs im stationären Zugang beim „Non_Sensitive“-Betrieb.

Page 7: Three_Step_d.pdf

Funktionalität

S7-200 - Dreipunktregelung Beitrags-ID: 18748232

2.2 Funktionsweise „Non_Sensitive“

Abbildung 2-4

V1.5 18.01.2008 7/29

Cop

yrig

ht ©

Sie

men

s A

G 2

008

All

right

s re

serv

ed

Thre

e_St

ep_d

.doc

|Diff_Q|

Deviation

SP Delta PID_Out

PI controller

PIDx_INIT

Three_Step

MTR_Pos

_

_

PVUp

Down

20°C70°C

1 0

|x|<Delta_max

<Diff_Q_max

ddt| |

&

SPID_Out_Mem

Non_Sensitive

ThrOn

|Delta|

Die Stellgröße „PID_Out“ wird vom Baustein „Non_Sensitive“ zwischengespeichert („PID_Out_Mem“). Wenn die absolute Regelabweichung „|Delta|“ innerhalb einer vorgegebenen maximalen Abweichung „Delta_max“ liegt und auch der absolute Differenzenquotient der Isttemperatur „|Diff_Q|“ kleiner als eine vorgegebene Maximalsteigung „Diff_Q_max“ ist, wird der letzte gespeicherte Stellgrößenwert „PID_Out_Mem“ als Sollwert für das Dreipunktstellglied solange übernommen bis die Bedingungen für den „Non-Sensitive“-Betrieb nicht mehr erfüllt sind und der Regler die Stellwertvorgabe übernimmt.

Page 8: Three_Step_d.pdf

Funktionalität

S7-200 - Dreipunktregelung Beitrags-ID: 18748232

Abbildung 2-5

V1.5 18.01.2008 8/29

Cop

yrig

ht ©

Sie

men

s A

G 2

008

All

right

s re

serv

ed

Thre

e_St

ep_d

.doc

t

PV [°C] PID_Out

Delta_max = 5°C

Cut-Out 1

SP = 45°C

Cut-Out 2 Cut-Out 3

Diff_Q

Diff_Q_max

t

Cut-Out 3Cut-Out 2Cut-Out 1

Abbildung 2-5 zeigt einen Einschwingvorgang bei einer Sollwertvorgabe von 45°C (grün) und einer maximal zulässigen Regelabweichung von +/-5°C (orange) für den Unempfindlichkeitsbereich. Zusätzlich zur Regelabweichungsüberprüfung muss die Istwerttemperatur-Steigung (violett) innerhalb des Toleranzbandes +/- „Diff_Q_max“ (braun) liegen.

Im Ausschnitt 1 (Cut-Out 1) erfüllt die Temperatursteigung diese Bedingung, die Temperatur liegt aber außerhalb des Abweichungstoleranzbandes „SP“ +/- „Delta_max“. Die Stellgröße wird weiterhin vom PI-Regler vorgegeben.

Im Ausschnitt 2 (Cut-Out 2) befindet sich die Temperatur innerhalb des Toleranzbandes und auch die Steigung liegt innerhalb +/- „Diff_Q_max“. Die Stellgröße „PID_Out“ wird solange gespeichert bis die Istwert-Temperatur-Steigung zu groß wird und die Stellgröße wieder vom PI-Regler berechnet wird.

Im Ausschnitt 3 (Cut-Out 3) stimmen die Bedingungen für den Non-Sensitive-Modus wieder bei „Delta“ und „Diff_Q“ überein. Die momentane Stellwertgröße wird „eingefroren“ und diesmal bleibt die Temperatur innerhalb der Toleranzvorgaben.

Page 9: Three_Step_d.pdf

Funktionalität

S7-200 - Dreipunktregelung Beitrags-ID: 18748232

2.2.1 Parametervorgabe

Für eine optimale Regelung ohne Aktivität im stationären Zustand ist somit die Regelparameter- und Toleranzbandwerte- Vorgabe entscheidend. Der Verstärkungsfaktor und die Integrationszeit sind der Regelstrecke hinsichtlich eines schnellen Einschwingverhaltens möglichst ohne Überschwingen anzupassen.

Die Toleranzbandwerte sind abhängig von der Regelstrecke und von der Reglerparametrierung empirisch zu ermitteln. Der Baustein „Non_Sensitiv“ bietet die Möglichkeit die momentanen absoluten Abweichungen „Delta“ und „Diff_Q“ während des Betriebs zu beobachten und so die Grenzwerte „Delta_max“ und „Diff_Q_max“ entsprechend anzupassen. Gleiches ist auch für die maximale Stellgliedabweichung „ThrOn“ mit Hilfe des vorzeichenbehafteten Parameters „Deviation“ des Bausteins „Three_Step“ möglich.

2.3 Dreipunktregelung ohne Ventilstellungsrückmeldung

V1.5 18.01.2008 9/29

Cop

yrig

ht ©

Sie

men

s A

G 2

008

All

right

s re

serv

ed

Thre

e_St

ep_d

.doc

Verfügt Ihr verwendetes Ventil nicht über eine Positionsrückgabe, benutzen Sie den Baustein „Valve_Sim“ zur Simulation der Ventilstellung. Abbildung 2-6

20°C70°C

Deviation

Three_Step

MTR_Pos

_

Up

DownThrOn

Valve_Sim

UpDn

1

0MTR_TM

Abbildung 2-6 zeigt den veränderten Teil des Blockschaltbilds Abbildung 2-4, um die Ventilstellung zu simulieren. Die Zeit der Aktivierung der Ventilansteuerungssignale „Up“ und „Down“ wird gemessen und über die Verhältnisbildung zur Gesamtverfahrzeit „MTR_TM“ (Zeit, die der Motor zum Verfahren von einer Endlage zur anderen braucht) der zurückgelegte normierte Positionswinkel auf die aktuelle Position aufsummiert (für „Up“ addiert und für „Down“ subtrahiert). Die so ermittelte neue Position dient als Ausgangslage für den nächsten Berechnungszyklus und geht als Positionsrückkopplung „MTR_Pos“ auf das Dreipunktstellglied „Three_Step“.

Page 10: Three_Step_d.pdf

Funktionalität

S7-200 - Dreipunktregelung Beitrags-ID: 18748232

2.4 Simulation der Regelstrecke

Zur einfachen Überprüfung der Dreipunktregelung verfügt der angehängte Download zusätzlich über die Simulationsbibliothek „SYS_Sim“. Hier enthalten sind ein Totzeitglied („Dead_Time“) und ein PT1-Filter („Low_Pass“). Mit Hilfe dieser Bausteine können Sie die Regelstrecke zwischen dem Ventil-Stellglied und den Istwert-Temperaturfühler nachbilden und die Funktion des Dreipunktreglers auch ohne Hardware kontrollieren.

Abbildung 2-7

V1.5 18.01.2008 10/29

Cop

yrig

ht ©

Sie

men

s A

G 2

008

All

right

s re

serv

ed

Thre

e_St

ep_d

.doc

ddt| |

|Diff_Q|

SP Delta PID_Out

PI controller

PIDx_INIT

_PV

|x|<Delta_max

<Diff_Q_max

&

S PID_Out_Mem

Non_Sensitive

|Delta|

Deviation

Three_Step

MTR_Pos

_Up

DownThrOn

Valve_Sim

UpDn

1

0MTR_TM

Dead_TMtau

Dead_TimeLow_Pass

Abbildung 2-7 zeigt das Blockschaltbild der Dreipunktregelung mit Simulation der Ventilstellung und der Regelstrecke. Neben der Rückführung der simulierten Ventilmotorstellung auf das Dreipunktstellglied („MTR_Pos“) wird aus dieser Größe über das Totzeitglied „Dead_Time“ und das Tiefpassfilter „Low_Pass“ die Prozessvariable „PV“: der Temperatur-Istwert generiert. Das Streckenverhalten wird somit durch die Totzeit „Dead_TM“ und die Zeitkonstante „tau“ vorgegeben.

Page 11: Three_Step_d.pdf

Die Bibliotheken

S7-200 - Dreipunktregelung Beitrags-ID: 18748232

3 Die Bibliotheken

Die Bibliotheken „Three_Step“ und „SYS_Sim“ werden Ihnen im angehängten Download mitgeliefert. Den Link zum Download der Umrechnungsbibliothek „Scale“ erhalten Sie auf der HTM-Seite, von der Sie auch dieses Dokument bezogen haben.

V1.5 18.01.2008 11/29

Cop

yrig

ht ©

Sie

men

s A

G 2

008

All

right

s re

serv

ed

Thre

e_St

ep_d

.doc

Abbildung 3-1

3.1 Bibliothek „Three_Step“

Zum Verwenden der „Three_Step“- Bibliotheksbausteine ist es notwendig einen Speicherbereich von 65 Bytes für die globalen Variablen zu reservieren. Abbildung 3-2

Page 12: Three_Step_d.pdf

Die Bibliotheken

S7-200 - Dreipunktregelung Beitrags-ID: 18748232

3.1.1 Baustein „Three_Step“

Der Baustein „Three_Step“ wandelt die vom PID-Regler „PIDx_INIT“ gelieferte Stellgröße „PIDx_Output“ in ein Dreipunktsignal um. Abbildung 3-3

V1.5 18.01.2008 12/29

Cop

yrig

ht ©

Sie

men

s A

G 2

008

All

right

s re

serv

ed

Thre

e_St

ep_d

.doc

Tabelle 3-1

Symbol Varablen-typ

Daten-typ

Kommentar Werte-bereich

EN IN BOOL Freischaltung PID_Output IN REAL PID-Stellgröße (normiert) 0,0 – 1,0 MTR_Pos IN REAL Ventilstellung (normiert) 0,0 – 1,0 ThrOn IN REAL Schwellwertvorgabe 0,0 – 1,0 Up_Limit IN BOOL Oberer Ventil-Endschalter Dn_Limit IN BOOL Unterer Ventil-Endschalter Pulse_TM_ds IN WORD Minimale Impulszeit in 0,1 s Break_TM_ds IN WORD Minimale Pausenzeit in 0,1 s HYST_0ff IN BOOL Hysterese-Ausschaltung Deviation IN_OUT REAL = PID_Output – MTR_Pos -1,0 – 1,0 Up IN_OUT BOOL Ventilansteuerung „AUF“ Down IN_OUT BOOL Ventilansteuerung „ZU“

PID_Output - Stellgröße des PID-Reglers. Dieses Signal wird aus den globalen Variablen der Bibliothek des PID-Reglers gespeist.

Pulse_TM_ds - gibt die minimale Aktivierungsdauer einer Ventilansteuerung in Dezisekunden (0,1 Sek.) vor. Für diesen Zeitraum wird das Ventil

Page 13: Three_Step_d.pdf

Die Bibliotheken

S7-200 - Dreipunktregelung Beitrags-ID: 18748232

angesteuert, auch wenn die Bedingungen für dessen Aktivierung während des Ablaufes nicht mehr erfüllt sind.

Break_TM_ds - gibt die minimale Unterbrechungsdauer zwischen zwei Ventilansteuerung in Dezisekunden (0,1 Sek.) vor. Diese Zeit verstreicht bevor das Ventil erneut angesteuert wird, auch wenn die Bedingungen für dessen Aktivierung vor dem Ablauf wieder erfüllt sind.

HYST_Off - schaltet die Hysterese aus. Mit diesem Bit wird die Stop-Bedingung der Ventilansteuerung bestimmt. Abbildung 3-4

V1.5 18.01.2008 13/29

Cop

yrig

ht ©

Sie

men

s A

G 2

008

All

right

s re

serv

ed

Thre

e_St

ep_d

.doc

+ThrOn

0

-ThrOn

Up

Down

Deviation

Valve Control

+ThrOn

1

-ThrOn

Up

Down

Deviation

Valve Control

Abbildung 3-4 zeigt die Ventilansteuerung (Valve Control) in Abhängigkeit von der Abweichung „Deviation“ für „HYST_Off“-Zustände „0“ und „1“:

• Beim Zustand 0 wird die Ansteuerung beim Erreichen des „Deviation“-Nulldurchgangs (entspricht „MTR_Pos“ = „PID_Output“) beendet.

• Beim Zustand 1 wird die Ansteuerung beim Eintreten in das „ThrOn“-Toleranzband (entspricht „MTR_Pos“ < „PID_Output“ +/- „ThrOn“) beendet.

Mit dem Ausschalten der Hysterese wird somit die Ansteuerungsaktivität des Ventils minimiert, da aufgrund der Strecke die Temperaturänderung verzögert erfolgt und damit das Verbleiben der Temperatur innerhalb des Unempflindlichkeitsbereich wahrscheinlicher ist.

Page 14: Three_Step_d.pdf

Die Bibliotheken

S7-200 - Dreipunktregelung Beitrags-ID: 18748232

3.1.2 Baustein „Non_Sensitive“

Der Baustein „Non_Sensitive“ ermöglicht das „Einfrieren“ des PID-Reglers für einen vorgegebenen Bereich. Abbildung 3-5

V1.5 18.01.2008 14/29

Cop

yrig

ht ©

Sie

men

s A

G 2

008

All

right

s re

serv

ed

Thre

e_St

ep_d

.doc

Tabelle 3-2

Symbol Varablen-typ

Daten-typ

Kommentar Werte-bereich

EN IN BOOL Freischaltung Mode_In IN BYTE Betreibsartwahlschalter 0=M; 1=A

2=NS PV IN REAL Istwert (normiert) 0,0 – 1,0 PID_SP IN REAL PID-Sollwert (normiert) 0,0 – 1,0 PID_Output IN REAL PID-Stellgröße (normiert) 0,0 – 1,0 Delta_max IN REAL Maximale absolute

Regelabweichung für NS 0,0 – 1,0

Diff_Q_max IN REAL Maximale absolute Istwertsteigung für NS

ManualInput IN REAL Stellgrößenvorgabe für M 0,0 – 1,0 Mode_0ut IN_OUT BYTE Aktuelle Betreibsart 0=M; 1=A

2=NS Delta IN_OUT REAL absolute Regelabweichung 0,0 – 1,0 Diff_Q IN_OUT REAL absolute Istwertsteigung Auto_Manual OUT BOOL Betriebsartausgang für

„PIDx_INIT“ 0=M; 1=A

ManualOutput OUT REAL Stellgrößenvorgabe (M) für „PIDx_INIT“ (normiert)

0,0 – 1,0

Page 15: Three_Step_d.pdf

Die Bibliotheken

S7-200 - Dreipunktregelung Beitrags-ID: 18748232

V1.5 18.01.2008 15/29

Cop

yrig

ht ©

Sie

men

s A

G 2

008

All

right

s re

serv

ed

Thre

e_St

ep_d

.doc

Mode_In / Mode_Out „Mode_In“ gibt die gewünschte Betriebsart (0 = Manual; 1 = Automatik; 2 = Non-Sensitive) vor. Werte außerhalb des Definitionsbereichs werden nicht übernommen. Dies ist über das Byte „Mode_Out“ kontrollierbar: Bei einer undefinierten Wertvorgabe in „Mode_In“ wird die bestehende Betriebsart in „Mode_Out“ beibehalten.

PID_SP / PID_Output „PID_SP“ und „PID_Output“ werden aus den globalen Variablen der Bibliothek des PID-Reglers gespeist.

PV - ist der normiert Istwert und wird mit Hilfe des „Scale“-Bausteins „S_ITR“ aus dem analogen Temperaturfühlersignal generiert (siehe Kapitel 3.3).

ACHTUNG Der normierte Istwert „PV“ darf nicht aus den globalen Variablen der Bibliothek des PID-Reglers gespeist werden, da diese nur in dem vorgegebenen Intervall „PIDx_SampleTime“ aktualisiert wird und würde somit die Bedingung für die Steigungsüberprüfung zwischen diesen Abtastungen fälscherlicherweise erfüllen.

Delta_max / Diff_Q_max / Delta / Diff_Q „Delta_max“ und „Diff_Q_max“ bestimmen die Umschaltbedingungen für die Betriebsart „Non-Sensitive“ und sind empirisch über die kleinsten auftretenden Werte von „Delta“ und „Diff_Q“ zu ermitteln (siehe Kapitel 2.2.1).

ManualInput „ManualInput“ ist die normierte Stellgröße, die bei Anwahl der Betriebsart „Manual“ am Ausgang „ManualOutput“ zur Verfügung steht.

ManualOutput / Auto_Manual - geben die gleichnamigen Eingangsparameter für den PID-Regel-Baustein „PIDx_INIT“ vor (siehe Abbildung 4-1).

3.1.3 Baustein „Valve_Sim“

Der Baustein „Valve_Sim“ ermöglicht das Simulieren der Ventilstellung.

Page 16: Three_Step_d.pdf

Die Bibliotheken

S7-200 - Dreipunktregelung Beitrags-ID: 18748232

Abbildung 3-6

Tabelle 3-3

Symbol Varablen-typ

Daten-typ

Kommentar Werte-bereich

EN IN BOOL Freischaltung MTR_TM_s IN WORD Gesamt Motorverfahrzeit [s]

V1.5 18.01.2008 16/29

Cop

yrig

ht ©

Sie

men

s A

G 2

008

All

right

s re

serv

ed

Thre

e_St

ep_d

.doc

En_Limit IN BOOL Korrektur ermöglichen Up_Limit IN BOOL Oberer Ventil-Endschalter Dn_Limit IN BOOL Unterer Ventil-Endschalter Up IN BOOL Ventilansteuerung „AUF“ Down IN BOOL Ventilansteuerung „ZU“ MTR_Sim IN_OUT REAL Simulierte normierte

Ventilstellung 0,0 – 1,0

MTR_TM_s - gibt die Verfahrzeit zwischen den beiden Ventilendpositionen in ganzen Sekunden vor.

En_Limit - ermöglicht eine Korrektur der geschätzten Ventilstellung, wenn die Zeit „MTR_TM_s“ zu kurz gewählt wurde. Bei Aktivierung springt die simulierte Ventilstellung „MTR_Sim“ bei Erreichen des Wertes 1 zurück auf 0,98 solange „Up_Limit“ nicht erreicht ist und auf 0,02 bei Erreichen des Wertes 0 solange „Dn_Limit“ nicht erreicht ist.

3.2 Bibliothek „SYS_Sim“

Zum Verwenden der „SYS_Sim“- Bibliotheksbausteine ist es notwendig einen Speicherbereich von 62 Bytes für die globalen Variablen zu reservieren.

Page 17: Three_Step_d.pdf

Die Bibliotheken

S7-200 - Dreipunktregelung Beitrags-ID: 18748232

Abbildung 3-7

3.2.1 Baustein „Dead_Time“

V1.5 18.01.2008 17/29

Cop

yrig

ht ©

Sie

men

s A

G 2

008

All

right

s re

serv

ed

Thre

e_St

ep_d

.doc

Der Baustein „Dead_Time“ ermöglicht die zeitverzögerte Ausgabe „OUT“ des Eingangssignals „IN“. Abbildung 3-8

Tabelle 3-4

Symbol Varablen-typ

Daten-typ

Kommentar Werte-bereich

EN IN BOOL Freischaltung IN IN REAL Normiertes

Eingangssignal 0,0 – 1,0

Sample_TM_ms IN WORD Abtastzeit in Millisek. Dead_TM_ms IN WORD Totzeit in Millisek. Start IN DWORD Speicherstartadresse B_Number IN_OUT INT Speichergröße (Byte) OUT OUT REAL Normiertes

Ausgangssignal 0,0 – 1,0

Page 18: Three_Step_d.pdf

Die Bibliotheken

S7-200 - Dreipunktregelung Beitrags-ID: 18748232

Sample_TM_ms - darf nicht kleiner als die Zykluszeit (SMW 22) sein. Kleinere Zeiten als die Zykluszeit werden nicht übernommen (überprüfbar durch die globale Variable „Sample_Time“). Die „Dead_Time“-Abtastzeit sollte maximal so groß wie die PID-Regler-Abtastzeit „PIDx_SampleTime“ gewählt werden (besser: Sample_TM_ms = 0,5 * PIDx_SampleTime/1000; PIDx_SampleTime wird in Sekunden angegeben).

Dead_TM_ms - darf nur ein ganzzahliges Vielfaches der Abtastzeit „Sample_TM_ms“ sein. Maximal ist eine Totzeit von 65,535 Sekunden wählbar.

Start / B_Number „Start“ gibt den Zeiger auf die Startadresse des gewählten Variablenzwischenspeicherbereiches vor (z.B. „&VB0“).

Die Speichergröße in Byte wird wie folgt berechnet:

B_Number = 4 * Dead_TM_ms / Sample_TM_ms

V1.5 18.01.2008 18/29

Cop

yrig

ht ©

Sie

men

s A

G 2

008

All

right

s re

serv

ed

Thre

e_St

ep_d

.doc

Vergewissern Sie sich, dass der gewählte Speicherbereich vorhanden und nicht reserviert ist.

ACHTUNG

3.2.2 Baustein „Low_Pass“

Der Baustein „Low_Pass“ bildet die Funktion eines Tiefpassfilters nach. Abbildung 3-9

Tabelle 3-5

Symbol Varablen-typ

Daten-typ

Kommentar Werte-bereich

EN IN BOOL Freischaltung IN IN REAL Normiertes Eingangssignal 0,0 – 1,0 tau_s IN REAL Zeitkonstante in Sekunden OUT OUT REAL Normiertes Ausgangssignal 0,0 – 1,0

Page 19: Three_Step_d.pdf

Die Bibliotheken

S7-200 - Dreipunktregelung Beitrags-ID: 18748232

V1.5 18.01.2008 19/29

Cop

yrig

ht ©

Sie

men

s A

G 2

008

All

right

s re

serv

ed

Thre

e_St

ep_d

.doc

tau_s - muss größer als null sein. Als kleinste Zeitkonstante kann 1*e^(-37) Sekunden gewählt werden (überprüfbar durch die globale Variable „tau“).

3.3 Umrechnungsbibliothek „Scale“

Die Regelung „PIDx_INIT“ arbeitet mit drei verschiedenen Wertebereichen:

1. dem tatsächlichen physikalischen Wertebereich (in diesem Fall: der Temperaturbereich von 20 bis 70 °C)

2. dem normierten Größen im Wertebereich von 0,0 bis 1,0 und

3. den analogen Eingangsgrößen des Temperaturfühlers (einstellbar mit Hilfe des PID-Assistenten in Micro/WIN) und der Ventilstellungsrückgabe (beides Format INTEGER)

Zur Umrechnung zwischen diesen Wertebereichen benötigen Sie noch die Bibliothek „Scale“.

Den Link zum Download der Umrechnungsbibliothek „Scale“ erhalten Sie auf der HTM-Seite, von der Sie auch dieses Dokument bezogen haben.

Weitere Informationen zum Gebrauch dieser Bibliotheksbausteine finden ebenfalls unter dem Link.

Page 20: Three_Step_d.pdf

Beispielprojekte

S7-200 - Dreipunktregelung Beitrags-ID: 18748232

4 Beispielprojekte

Neben den Bibliotheken „three_step.mwl“ und „sys_sim.mwl“ enthält der angehängte Download noch folgende drei Beispielprojekte zur Dreipunktregelung: Tabelle 4-1

Name Funktion Kapitel

Three_Step_Sim.mwp reine Simulation (Ventilstellungs- und Streckensimulation)

4.1

Three_Step.mwp für Ventile mit Positionrückgabe 4.2Three_Step_NFB.mwp für Ventile ohne Positionrückgabe 4.3

Diese dienen als Vorlage oder für den direkten Gebrauch.

4.1 „Three_Step_Sim“

V1.5 18.01.2008 20/29

Cop

yrig

ht ©

Sie

men

s A

G 2

008

All

right

s re

serv

ed

Thre

e_St

ep_d

.doc

Das Beispielprojekt „Three_Step_Sim.mwp“ dient als reine Simulation (inklusive Regelstrecke) einer Dreipunktregelung mit den vorgefertigten Bausteinen. Abbildung 4-1

9

3

4 5 6

7

8

10

Three_Step_Sim.mwp

2

Abbildung 4-1 zeigt den Bausteinaufbau des Projektes „Three_Step_Sim“.

Page 21: Three_Step_d.pdf

Beispielprojekte

S7-200 - Dreipunktregelung Beitrags-ID: 18748232

Die Zahlen in den Blöcken stellt die Netzwerknummer dar. Im nicht aufgeführten Netzwerk 1 wird die Parameterinitialisierung getroffen.

Abbildung 4-1 entspricht dem Blockschaltbild Abbildung 2-7. Zusätzlich werden noch der Skalierungsbaustein „S_RTI“ (Netzwerk 8) benötigt, der die simulierte normierte Temperatur „PV“ in das analoge Signal des virtuellen Temperaturfühlers für den PID-Regler „PID0_INIT“ (Netzwerk 9) umwandelt, sowie der Baustein „S_RTR“ (Netzwerk 10) zur Überprüfung des Temperaturwertes „PV_R“.

Die Störgröße „Disturbance“ (Netzwerk 6) ermöglicht hier die die Überprüfung der Störgrößenausregelung.

4.1.1 Funktionsweise des PID-Reglers konfigurieren

Die Dreipunktregelung stützt sich auf die Umwandlung der vom in Micro/WIN integrierten PID-Regler berechneten Stellgröße. Dieser PID-Regler muss im Vorfeld konfiguriert werden.

Im folgenden wird die Konfiguration des PID-Reglers in Micro/WIN (ab Version 4.0) mit Hilfe des Operations-Assistenten beschrieben.

V1.5 18.01.2008 21/29

Cop

yrig

ht ©

Sie

men

s A

G 2

008

All

right

s re

serv

ed

Thre

e_St

ep_d

.doc

1. Öffnen Sie den Operations-Assistenten für den PID-Regler Abbildung 4-2

STEP 7-Micro/WIN -> Extras -> Operations-Assistant… -> PID-Regler -> Weiter > (Next)

2. Wählen Sie den zu konfigurierenden PID-Reglerkreis aus (0 - 7) Weiter > (Next>)

Page 22: Three_Step_d.pdf

Beispielprojekte

S7-200 - Dreipunktregelung Beitrags-ID: 18748232

3. Sollwert-Skalierung und Parameter-Vorgabe Abbildung 4-3

V1.5 18.01.2008 22/29

Cop

yrig

ht ©

Sie

men

s A

G 2

008

All

right

s re

serv

ed

Thre

e_St

ep_d

.doc

Geben Sie die minimale und maximale Temperatur an und wählen die Parametrierung für den Regelkreis. Hier ist ein PI-Regelverhalten zu wählen. Geben Sie den Verstärkungsfaktor und die Integralzeit an, sowie die Abtastzeit vor. Sie können die Regelparameter später zur Laufzeit optimieren.

Weiter > (Next>)

4. Istwert-Skalierung Abbildung 4-4

Stellen Sie die Skalierung entsprechend des Signals Ihres Temperaturfühlers ein. Die Skalierung der Stellgröße können Sie unverändert übernehmen, da das normierte Stellgrößensignal aus dem globalen Bibliothekspeicher des PID-Reglers vom Baustein „Three_Step“ in ein Dreipunktsignal umgewandelt wird.

Weiter > (Next>)

Page 23: Three_Step_d.pdf

Beispielprojekte

S7-200 - Dreipunktregelung Beitrags-ID: 18748232

5. Wählen Sie bei Bedarf die Gefahrengrenzen aus (nicht erforderlich) Weiter > (Next>) 6. Speicherzuweisung Abbildung 4-5

V1.5 18.01.2008 23/29

Cop

yrig

ht ©

Sie

men

s A

G 2

008

All

right

s re

serv

ed

Thre

e_St

ep_d

.doc

Geben Sie den Variablenspeicherbereich für den PID-Regler an.

Weiter > (Next>)

7. Handbetrieb des PID-Reglers zulassen Abbildung 4-6

Aktivieren Sie die Checkbox für den Handbetrieb.

Weiter > (Next>)

Page 24: Three_Step_d.pdf

Beispielprojekte

S7-200 - Dreipunktregelung Beitrags-ID: 18748232

8. Stellen Sie den Operations-Assistent PID fertig Fertigstellen (Finish)

9. Möchten Sie die Konfiguration im Assistenten beenden? Ja

4.1.2 Variablentabelle

Am Beispiel der Variablentabelle des Projektes „Three_Step_Sim“ wird die Bedienung und Kontrolle der Dreipunktregelung beschrieben.

Für die Projekte „Three_Step“ und „Three_Step_NFB“ bestehen äquivalente Variablentabellen, die nach dem gleichen Prinzip aufgebaut sind. Abbildung 4-7

V1.5 18.01.2008 24/29

Cop

yrig

ht ©

Sie

men

s A

G 2

008

All

right

s re

serv

ed

Thre

e_St

ep_d

.doc

Page 25: Three_Step_d.pdf

Beispielprojekte

S7-200 - Dreipunktregelung Beitrags-ID: 18748232

Alle Parameter mit einem blauen Rechteck in der Spalte „Neuer Wert“ sind änderbar. Die anderen Größen sind Anzeigewerte zur Überprüfung. Die Parameter sind in Blöcke unterteilt und durch eine Leerzeile getrennt:

Tabelle 4-2

Zeile Block Funktion

1 - 2 Temperatur Sollwertvorgabe / Istwertüberprüfung 4 - 10 Normierte Zwischgrößen Zwischenwertausgang / Störgrößenvorgabe 12 - 13 Stellgliedabweichung Max. Abweichungsvorgabe / -Überprüfung 15 - 16 Regelabweichung Max. Abweichungsvorgabe / -Überprüfung 18 - 19 Istwertsteigung Max. Abweichungsvorgabe / -Überprüfung 21 - 23 Betriebsart Vorgabe / Übernahme / PID-Umsetzung 25 - 26 Manual IN/OUT Vorgabe / PID-Eingabe 28 - 31 Reglerparameter Δt / P / I / D 33 - 35 Three_Step-Parameter

V1.5 18.01.2008 25/29

Cop

yrig

ht ©

Sie

men

s A

G 2

008

All

right

s re

serv

ed

Thre

e_St

ep_d

.doc

Impuls- / Pausenzeitvorgabe / Hysterese 37 - 38 Valve_Sim-Parameter Motorlaufzeit / Korrekturmöglichkeit 40 - 43 Dead_Time-Parameter Δt-Vorgabe/ -Kontrolle / tTot / Speichergröße 45 - 46 Low_Pass-Parameter tau-Vorgabe/ -Kontrolle

4.1.3 Grafische Überprüfung

Für S7-200er CPUen ab Release-Version 2.0 bietet STEP 7-Micro/WIN (ab Version 4.0) die Funktion „Steuer-Panel für die PID-Abstimmung…“ (Menüpunkt: „Extras“). Abbildung 4-8

Page 26: Three_Step_d.pdf

Beispielprojekte

S7-200 - Dreipunktregelung Beitrags-ID: 18748232

Abbildung 4-9

V1.5 18.01.2008 26/29

Cop

yrig

ht ©

Sie

men

s A

G 2

008

All

right

s re

serv

ed

Thre

e_St

ep_d

.doc

Mit Hilfe dieses Steuer-Panels lässt sich die zeitliche Änderung der Reglergrößen: Istwert (rot), Sollwert (grün) und Stellgröße (blau) beobachten.

Zusätzlich bietet sich hier die Anpassungmöglichkeit der Regler-Parameter Verstärkung, Integralzeit und Differentialzeit (für diese Regelung nicht benötigt) manuell oder automatisch.

Um die Regler-Parameter automatisch abzustimmen, müssen Sie den „Non_Sensitive“-Baustein in den Automatikbetrieb schalten („Mode_In“ = „1“).

Um die automatische Parameterabstimmung bezüglich der Ausschaltung einzelner Anteile zu beeinflussen:

• Setzen Sie die Verstärkung auf „0.0“ (P-Anteil-Ausschaltung).

• Setzen Sie die Integralzeit auf „+INF“ (I-Anteil-Ausschaltung).

• Setzen Sie die Differentialzeit auf „0.0“ (D-Anteil-Ausschaltung).

Die Übernahme („Zielsystem aktualisieren“) und das Bestätigen (siehe Abbildung 4-10) beim Schließen des Steuer-Panels speichert die Parameter im Gegensatz zur Änderung über die Variablentabelle dauerhaft im Zielspeicher.

Page 27: Three_Step_d.pdf

Beispielprojekte

S7-200 - Dreipunktregelung Beitrags-ID: 18748232

Abbildung 4-10

Weitere Informationen zum Micro/WIN - PID-Regler und Steuer-Panel finden Sie über die Micro/WIN-F1-Hilfe und im S7-200-Systemhandbuch.

4.2 „Three_Step“

Das Beispielprojekt „Three_Step.mwp“ dient als Vorlage für Dreiwegemischer mit Ventilstellungsrückgabe. Abbildung 4-11

V1.5 18.01.2008 27/29

Cop

yrig

ht ©

Sie

men

s A

G 2

008

All

right

s re

serv

ed

Thre

e_St

ep_d

.doc

Three_Step.mwp

43

2

7

70°C 20°C

1 0

5 6

Abbildung 4-11 zeigt den Bausteinaufbau des Projektes „Three_Step“. Die Zahlen in den Blöcken stellt die Netzwerknummer dar. Im nicht aufgeführten Netzwerk 1 wird die Parameterinitialisierung getroffen.

Page 28: Three_Step_d.pdf

Beispielprojekte

S7-200 - Dreipunktregelung Beitrags-ID: 18748232

Die Initialisierung dient als Voreinstellung. Die Parameter können zur Laufzeit über die Variablentabelle geändert werden. Bedenken Sie aber, dass bei Spannungswiederkehr nach einem Netzausfall die Initialisierung wieder aufgerufen wird und so getätigte Änderungen dieser Parameter zurückgesetzt werden.

Hinweis

Abbildung 4-11 entspricht dem Blockschaltbild Abbildung 2-4. Zusätzlich wird noch der Skalierungsbaustein „S_ITR“ benötigt, der das analoge Eingangssignal des Temperaturfühlers in die normierte Größe „PV“ (Netzwerk 2) und in den Temperaturwert zur Überprüfung (Netzwerk 7), sowie das analoge Eingangssignal der Ventilstellung in die normierte Größe „MTR_Pos“ (Netzwerk 5) umwandelt.

Im Gegensatz zu Abbildung 4-1 ist die Streckensimulation (Netzwerk 4 – 6) durch den Dreiwegemischer und den Temperaturfühler ersetzt worden und der Baustein „Valve_Sim“ ist weggefallen, da das Ventil über eine Positionsrückmeldung verfügt.

4.3 „Three_Step_NFB“

V1.5 18.01.2008 28/29

Cop

yrig

ht ©

Sie

men

s A

G 2

008

All

right

s re

serv

ed

Thre

e_St

ep_d

.doc

Das Beispielprojekt „Three_Step_NFB.mwp“ dient als Vorlage für Dreiwegemischer ohne Ventilstellungsrückgabe (Non Feedback). Abbildung 4-12

Three_Step_NFB.mwp

4

6

35

20°C70°C

2

7

Page 29: Three_Step_d.pdf

Beispielprojekte

S7-200 - Dreipunktregelung Beitrags-ID: 18748232

V1.5 18.01.2008 29/29

Cop

yrig

ht ©

Sie

men

s A

G 2

008

All

right

s re

serv

ed

Thre

e_St

ep_d

.doc

Abbildung 4-12 zeigt den Bausteinaufbau des Projektes „Three_Step_NFB“. Die Zahlen in den Blöcken stellt die Netzwerknummer dar. Im nicht aufgeführten Netzwerk 1 wird die Parameterinitialisierung getroffen.

Hinweis Die Initialisierung dient als Voreinstellung. Die Parameter können zur Laufzeit über die Variablentabelle geändert werden. Bedenken Sie aber, dass bei Spannungswiederkehr nach einem Netzausfall die Initialisierung wieder aufgerufen wird und so getätigte Änderungen dieser Parameter zurückgesetzt werden.

Im Gegensatz zu Abbildung 4-11 wird in Abbildung 4-12 der Skalierungsbaustein „S_ITR“ zur Umrechnung des analogen Eingangssignal der Ventilstellung „MTR_Pos_I“ nicht benötigt, da die Ventilstellung über den Block „Valve_Sim“ (Netzwerk 6) berechnet wird.

4.4 Dreipunktreglergüte

Die Güte der Dreipunktregelung ist von folgenden Parametern abhängig:

• Regelstreckenverhalten (kaum beeinflussbar)

• Reglerparameter (P verkleinert / I vergrößern für ein langsameres Regelverhalten)

• Toleranzbereichvorgabe (empirisch zu bestimmen über die Ermittlung der kleinsten auftretenden Abweichungen im Automatik-Betrieb „Mode_In“ = „1“)

• Dreipunktstellgliedeinstellungen („Pulse_TM_ds“ / „Break_TM_ds“ / „HYST_Off“)