Deutsch - Applikationen > Allgemein

Pizzaofen mit PID ordentlich parametrieren

(1/2) > >>

Skandal:
Hallo Freunde,

ich habe eine EasyE4 mit Temp. Erweiterung.

Hiermit möchte ich einen umgebauten Pizzaofen steuern.
Dieser hat 2 PT100 Sensoren (oben/unten) und 2 Heizstäbe (oben/unten).
Ansteuerungstechnisch habe ich jetzt soweit alles fertig (das ist jetzt mein erstes Projekt mit dem easye4), also ich kann die Temperaturen auslesen und die Ausgänge schalten.
Nun geht es mir darum den PID Block entsprechend zu parametrieren.
Nach diversen Tutorials stellt man zuerst nur P ein, dann I dann D. Also habe ich EI und ED ausgeschalten und nur mit EP gearbeitet.
Der P Anteil (also KP im Funktionsblock?) habe ich mir entsprechend eingestellt (ich habe mal als Soll 100°C eingestellt und den KP so eingestellt dass er kaum über 100°C heizt).
Wie geht es jetzt weiter?
Es gibt ja sonst nur die TN und TV (Nachstellzeit und Vorhaltezeit in s) aber das sind ja nicht die Werte für I und für D oder?

Da mein Ausgang auch Digital ist habe ich mir noch einfach über eine IF Funktion den Analogen Ausgang QV auf Digital umgebaut (wenn >0 dann heizen sonst nicht heizen). Denkt ihr da kann ich noch was besser machen?


--- Code: ---MD2:=6;
DC01 (
EN := TRUE,
EP := TRUE,
EI := TRUE,
ED := FALSE,
SE := FALSE,
I1 := 100,
I2 := IA05,
KP := MD2,
TN := 1,
TV := 1,
TC := 1,
MV := ,
LI => ,
QV => MD1,
QP => ,
QI => ,
QD =>
);


IF MD1>1 THEN
      Q01:=TRUE;
     ELSE
      Q01:=FALSE;
     END_IF;

     
MD3:=6;
DC02 (
EN := TRUE,
EP := TRUE,
EI := TRUE,
ED := FALSE,
SE := FALSE,
I1 := 100,
I2 := IA06,
KP := MD3,
TN := 1,
TV := 1,
TC := 1,
MV := ,
LI => ,
QV => MD4,
QP => ,
QI => ,
QD =>
);


IF MD4>1 THEN
      Q02:=TRUE;
     ELSE
      Q02:=FALSE;
     END_IF;
     

--- Ende Code ---

Wie mache ich jetzt weiter?  :'(

Juergen:
Hallo :)

Code Kopieren Siehe Bild

Juergen:

--- Zitat ---Da mein Ausgang auch Digital ist habe ich mir noch einfach über eine IF Funktion den Analogen Ausgang QV auf Digital umgebaut
--- Ende Zitat ---

Macht da ein PID überhaupt Sinn?
Ich dachte mehr an einen analogen Ausgang bei PID.

ELWMS:
Hallo!

Einfach ausgedrückt: ein PID Regler regelt den Istwert (PT100 Fühler) auf den voreingestellten Sollwert in deinem Fall z.b. 100°C mit einem Stellwert, der analog sich verändert. Die Reaktion auf eine Istwertänderung, wie stark der Stellwert sich ändern soll, in welchen Zeitrahmen, etc. macht ein PID Regler. Da du, wie ich aus deiner Beschreibung rauslese, nur 2 digitale Ausgänge hast (Heizstab oben/oben) gibt es keinen sich verändernden Stellwert.

Für dich ist der Dreipunkregler die erste Wahl (=TC). Dieser entscheidet ob bei einer Abweichung vom Sollwert ein Ausgang für z.b. AUF (=Q1) = Heizen bzw. AB (=Q2) Kühlen, was bei dir entfällt, geschaltet wird. Du kannst mit  -xh bzw +xh entscheiden ab welcher Abweichung der Dreipunkregler einschaltet (Q1 oder Q2) und mit  welcher Hysterese (H1 oder H2) er wieder abschaltet. Die Hysterese verhindert ein "flattern" von Q1 bzw. Q2. Deine Leistungschütze werden es Dir danken.

Du kannst es aber auch mit 2 Vergleichern lösen(=CP) und einer Addition der Hysterese zum Sollwert.

Einschalten: Istwert < Sollwert
Ausschalten: Istwert > Sollwert + Hysterese

oder anderstrum mit einer Subtraktion der Hysterse vom Sollwert:

Einschalten: Istwert < Sollwert - Hysterse
Ausshalten: Istwert > Sollwert.

Die Hysterese (z.b. 5°C) und den Sollwert kannst du ja über das Display der E4 eingeben...

Das geht in FUP recht einfach, in ST ist es natürlich auch machbar.

Gruß,

ELWMS

radar17892:
Hallo,
irgendwie siet ihr auf dem Holzweg.
Entweder man entscheidet sich für einen Zweipunktregler mit Entsprechender Schalthysterese , oder wenn schon PID, dann benutzt man ein Pwm-Signal auf den Digitalausgang (nicht Relais!) und steuert damit ein SolidStateRelais an um die Heizstäbe stufenlos zu regeln.  Wobei PID-Regler für einen Pizzaofen imho mit Kanonen auf Spatzen schießen ist.

Der Zweipunktregler geht ganz einfach und braucht eigentlich keine einstellungen.
IF [Istwert] > [Sollwert ] THEN
      Q1:= false;
ELSIF [Istwert] < [Sollwert - Hysterese] THEN
     Q1:= true;
END_IF


Gruß Thomas

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln