TIA TIA V19 PID Compact regelt nicht

Rados

Level-2
Beiträge
45
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

in einem Projekt soll ich u.a. folgendes programmieren:

In einer Trocknungsanlage soll mittels Heißluft Material getrocknet werden. Dazu wird ein Gasbrenner verwendet. Der erwärmt Frischluft, die dann mittels Abzugsventilator durch diverse Trockenkammern und Rohrverbinder in einen Abluftkamin geleitet wird. Der Luftstrom soll so eingestellt werden, dass in einem der Rohre, durch die die Luft abgesaugt wird, ein stetiger Unterdruck von minus 2 mBar ansteht. Bei Änderung dieses Unterdrucks soll der Abluftventilator reagieren, in dem er schneller oder langsamer dreht.

Verwendet wird:
- CPU 1510SP-1PN
- AI 4xI 2-/4-wire ST_4 (6ES7 134-6GD00-0BA1), Kanal eingestellt auf 2-Draht-Messumformer, 4-20mA
- FU G120C PN (6SL3210-1KE23-8AF1)
- Drucksensor ist ein Cerabar M Analog PMC51 der Firma Endress + Hauser

Den Drucksensor habe ich parametriert, er liefert werkseitig 4-20mA, wobei 4mA jetzt einem Wert von -50mBar und 20mA einem Wert von 50mBar entspricht. Auf die Karte aufgelegt erhalte ich einen Rohwert, der den Erwartungen entspricht (13862 leicht schwankend).

Den an der Karte ankommenden Rohwert normiere ich mit dem Baustein NORM_X (Int to Real) mit 0 für Min und 27648 für Max.
Das Ergebnis füttert einen SCALE_X (Real_to_Real), der am Min -50 und am Max +50 stehen hat.

Mit dem SCALE-Ergebnis geht es in einen OB30 (CyclicInterrupt):

Da der PID Compact als Parametriergröße Druck in Bar vorsieht, habe ich den skalierten Wert noch durch 1000 geteilt, so dass die Millibar richtig ankommen.
In einem DB habe ich den Sollwert (PID Setpoint) mit -0,002 (bar) definiert.

Der Istwert des Drucksensors ist momentan, da die Anlage steht, fertig skaliert 0,00013 (leicht schwankend).

Der PID soll mir den Output in Prozent herausgeben, die ich dann so umwandle, dass sie als Geschwindigkeitsvorgabe für die FU-Ansteuerung mittels SINA SPEED verwendbar wird.

Meine Parametrierung des PID:

Regelungsart: Druck, bar
Regelsinn invertieren: kein Haken
Eingangs/Ausgangsparameter: INPUT / OUTPUT (keine Analogwerte)
Istwertgrenzen: Untergrenze Istwert: -0,05bar / Obergrenze Istwert: +0,05bar
Istwertüberwachung: so übernommen, wie es da steht
Ausgangswertgrenzen: Untergrenze: 0,0%, Obergrenze: 100%
PID Parameter: Kein Haken für Hand, Werte von Siemens vorgeschlagen und ausgegraut, Regelstruktur: PID

Beim Klicken auf den Button für die Inbetriebnahme des Reglers erscheint ja ein neues Fenster. Dort Abtastzeit 0,3s und Start geklickt, Optimierungsart Erstoptimierung. Button daneben geklickt.

Da kam schon ein Fehler: Der Istwert ist zu nah am Sollwert. Starten Sie die Nachoptimierung. Das verstehe ich nicht, denn:
Setpoint und Input sind jedoch die Werte, die ich als Vorgabe bzw. aus dem System habe. Wo liegt hier mein (Denk)Fehler??

Starte ich dann die vorgeschlagene Nachoptimierung, dann läuft zwar der Fortschrittsbalken, aber am Regleroutput ändert sich nichts, ich erhalte nur 0%.

Nun bin ich mit meinem Latein am Ende und komme nicht weiter, da ich nicht weiß, wie ich auf die Fehlermeldung reagieren soll, weil der Setpoint eine Kundenvorgabe ist und der Input der Wert ist, den ich vom Drucksensor erhalte. Auch verstehe ich nicht, warum die TIA-Aufforderung, mit der Nachoptimierung weiterzumachen, zu keinem Ergebnis am Ausgang des Reglers führt, obwohl dieser läuft (da steht: Zustand des Reglers: Aktiviert, Automatikbetrieb). Und auf dem Button darunter steht: Stop PID_COMPACT.

Ich danke Euch schon mal vorab für Eure Hilfe, um die ich Euch herzlich bitte, da ich noch nie einen PID Regler eigestellt habe. :)
Ralf
 
Istwert und Sollwert müssen gleich normiert sein.
Kommt aus deinem Scale-Baustein -50.0 bis + 50.0mbar als Istwert muss der Sollwert genauso normiert sein.
Ob man da jetzt die vielen Nullen rumschleppten muss?
Der Baustein muss auf bipolar gesetzt werden.Das unipolar/bipolar Bit muss 1 sein.
 
Ich selbst bin ja ein glühender Verfechter von normierten Werten.
Aber jeder wie er mag.Ich mache das grundsätzlich so, das der Analogeingabebaustein zusätzlich einen Normierungsbaustein mit 0..100% hat.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Regelsinn?Früher hat man den P-Anteil am Regler mit Minus behaftet.
Normaler Regelsinn ist:Istwert fällt--->Stellgrad steigt(Heizung als Bsp,)

Dein Regelsinn ist:Druck steigt-->Stellgrad muss steigen, da mehr abgesaugt werden soll.Invertiert.
 
Wenn du mit schnellerem Output weniger Druck (also mehr "Vakuum") bekommst sollte der Haken doch rein?
Siemens schreibt in seiner Hilfe: Wenn das Optionskästchen gesetzt ist, bewirkt eine steigende Regeldifferenz eine Verringerung des Ausgangswertes. Wenn meine Sollgröße minus 2 mbar ist und mein Istwert des Sensors 0 mbar und geht in Richtung +1mbar, dann würde sich die Regeldifferenz vergrößern, sie würde also steigen. Verringerung des Ausgangswertes hieße dann, die Drehzahl des Lüfters verringert sich. Da es ein absaugender Lüfter ist, wäre das genau das gegenteilige Verhalten von dem, was ich möchte. Daher habe ich den Haken nicht gesetzt. Oder verstehe ich da was falsch?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Istwert und Sollwert müssen gleich normiert sein.
Kommt aus deinem Scale-Baustein -50.0 bis + 50.0mbar als Istwert muss der Sollwert genauso normiert sein.
Ob man da jetzt die vielen Nullen rumschleppten muss?
Der Baustein muss auf bipolar gesetzt werden.Das unipolar/bipolar Bit muss 1 sein.
Problem ist, dass aus dem PID Baustein bereits während der Optimierung kein Wert ausser eine kontante NULL herauskommt. Die Normierung des Ausgangswertes des PIDs wäre ja erst im Anschluss dran.

Viele Nullen - ja, das hatte ich vorher bereits ohne Nullen getestet, wobei ich am Ausgang des PIDs kein Ergebnis ausser konstante Null erhielt. So hatte ich, da bei der Konfiguration als Auswahlmöglichkeit Druck in Bar steht, gedacht, dies wäre zwingend vorgeschrieben anstelle Millibar und fügte die Division durch 1000 hinzu. Ergebnis jedoch ebenfalls nicht das, was ich mir vorstelle - PID läuft genauso nicht.

Bipolar und Unipolar gibt es bei den Skalierungsbausteinen der 1500er nicht.
 
Istwert und Sollwert müssen gleich normiert sein.
Kommt aus deinem Scale-Baustein -50.0 bis + 50.0mbar als Istwert muss der Sollwert genauso normiert sein.
Ob man da jetzt die vielen Nullen rumschleppten muss?
Der Baustein muss auf bipolar gesetzt werden.Das unipolar/bipolar Bit muss 1 sein.
Den Sollwert möchte ich nicht normieren, da er eine Konstante ist, die ich dem Regler über einen DB-Eintrag einmalig vorgebe. Der ändert sich dann nicht mehr.
 
Ich selbst bin ja ein glühender Verfechter von normierten Werten.
Aber jeder wie er mag.Ich mache das grundsätzlich so, das der Analogeingabebaustein zusätzlich einen Normierungsbaustein mit 0..100% hat.
Ist ja passiert:
"...Den an der Karte ankommenden Rohwert normiere ich mit dem Baustein NORM_X (Int to Real) mit 0 für Min und 27648 für Max. ..."
Der gibt einen Wert zwischen 0 und 1 an den SCALE_X.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Siemens schreibt in seiner Hilfe: Wenn das Optionskästchen gesetzt ist, bewirkt eine steigende Regeldifferenz eine Verringerung des Ausgangswertes. Wenn meine Sollgröße minus 2 mbar ist und mein Istwert des Sensors 0 mbar und geht in Richtung +1mbar, dann würde sich die Regeldifferenz vergrößern, sie würde also steigen. Verringerung des Ausgangswertes hieße dann, die Drehzahl des Lüfters verringert sich. Da es ein absaugender Lüfter ist, wäre das genau das gegenteilige Verhalten von dem, was ich möchte. Daher habe ich den Haken nicht gesetzt. Oder verstehe ich da was falsch?

Du verstehst was falsch. Bei einem Ist von 0 hast du in dem Fall eine Regeldifferenz von -2, bei 1 hast du eine Regeldifferenz von -3, also eine fallende Regeldifferenz (auch wenn es absolut gesehen mehr wird, Vorzeichen beachten!). Regeldifferenz ist Sollwert minus Prozesswert.
 
1732913288826.png
Es gibt nur gleichsinnige oder gegensinnige Wirkrichtung.Das musst du überlegen.Oben ist normal,unten invertiert.
Wenn bei dir der Druck steigt muss das Gebläse(Stellgrad) schneller(steigen) drehen.
 
Hast du keinen Baustein wo direkt das Eingangssignal auf -50 bis +50 mbar normiert?
Das gab es bei Klassik doch schon.Der Baustein hatte einen unipolar/bipolar Eingang.

1732914055757.png

Da unten ist das Bit bipolar.Das muss auf 1, weil du ins minus gehst.
von -27648 bis +27648.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hast du keinen Baustein wo direkt das Eingangssignal auf -50 bis +50 mbar normiert?
Das gab es bei Klassik doch schon.Der Baustein hatte einen unipolar/bipolar Eingang.
Wo stammt denn dieses Beispiel her? Der RETVAL ( MW0 ) beeinflusst den Bipolar-Eingang ( M1.1 ). Die Adressen überschneiden sich.
 
Wieso normiert man anderst Soll und Istwert? Soll das der Verwirrung dienen?
Also physikalische Werte auf keinen Fall.Das sagt einem schon der gesunde Menschenverstand.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hast du keinen Baustein wo direkt das Eingangssignal auf -50 bis +50 mbar normiert?
Das gab es bei Klassik doch schon.Der Baustein hatte einen unipolar/bipolar Eingang.

Anhang anzeigen 83498

Da unten ist das Bit bipolar.Das muss auf 1, weil du ins minus gehst.
von -27648 bis +27648.
Der Kollege geht nicht "ins minus"...
4mA=-50mbar 20mA=+50mbar

Bipolar wäre, wenn der Messbereich des AI -20....+20mA wäre...

Ansonsten würde ich durchgängig überall auf mbar umrechnen... also weder bar noch %

Alles in % zu normieren steht zwar abundzu in manchen Büchern, führt aber in der Praxis zu ziemlicher Verwirrung...
 
Beim Klicken auf den Button für die Inbetriebnahme des Reglers erscheint ja ein neues Fenster. Dort Abtastzeit 0,3s und Start geklickt, Optimierungsart Erstoptimierung.
Ich vermute mal, die 0,3sek müssen auch an der Stelle identisch zur Aufrufzeit vom OB30 sein?
Welche Aufrufzeit ist beim OB30 eingestellt? Standardmässig hat der OB30 5sek. Was für deine Kanaldruckregelung viel zu langsam wäre. Selbst 300msek wär mir zu langsam.
100msek wäre so die Empfehlung (also OB35)...
 
Zuletzt bearbeitet:
Zurück
Oben