Hallo OSCAT Gemeinde,
ich habe nun seit 2 Jahren eine CX9000 an laufen mit der ich Schritt für Schirtt mein EFH automatisiere.
Gerade bin ich dabei und realisiere die Einzelraumreglung für die FBH. Als Regelbaustein will ich den CTRL_PI einsetzen und gesteuert wird über eine PWM_DC mit 15 Min Taktung. Die Heizkreise sind mit Möhlenhoff Thermo Ventiele bestückt. Die PWM bekommt alle 15 Minuten neue Werte von der PI Reglung und hat einen Schwllwert von 20% (3Min).
Da eine FBH ja sehr träge ist will ich auch den PI nur alle Minute mal anwerfen. Nun bin ich total am schwimmen wie ich bei der PI die Kp und Ki Parameter setzen soll.
Hier mal das Programm:
(* PI Regelbausteine für die Hizungssteuerung nur 12 Heizkreise *)
pi_upd (IN:= TRUE, PT:= PI_pt); (* PI Reglung wird nur alle Minute aktiviert *)
IF pi_upd.Q THEN
FOR i := 1 TO 12 DO
PI (ACT:= Ist_temp, (* für PI wied CTRL_PI verwendet *)
SET:= Temp_Poti,
SUP:= 0.1, OFS:= , M_I:= , MAN:= , RST:= ,
KP:= ???, KI:= ???, LL:= 0, LH:= 100,
Y=> PI_out,
DIFF=> , LIM=>);
END_FOR
pi_upd (IN:= FALSE, PT:= );
END_IF;
Es wäre super, wenn ich hier ein paar Tipps haben könnte.
Gruß
Hodde
ich habe nun seit 2 Jahren eine CX9000 an laufen mit der ich Schritt für Schirtt mein EFH automatisiere.
Gerade bin ich dabei und realisiere die Einzelraumreglung für die FBH. Als Regelbaustein will ich den CTRL_PI einsetzen und gesteuert wird über eine PWM_DC mit 15 Min Taktung. Die Heizkreise sind mit Möhlenhoff Thermo Ventiele bestückt. Die PWM bekommt alle 15 Minuten neue Werte von der PI Reglung und hat einen Schwllwert von 20% (3Min).
Da eine FBH ja sehr träge ist will ich auch den PI nur alle Minute mal anwerfen. Nun bin ich total am schwimmen wie ich bei der PI die Kp und Ki Parameter setzen soll.
Hier mal das Programm:
(* PI Regelbausteine für die Hizungssteuerung nur 12 Heizkreise *)
pi_upd (IN:= TRUE, PT:= PI_pt); (* PI Reglung wird nur alle Minute aktiviert *)
IF pi_upd.Q THEN
FOR i := 1 TO 12 DO
PI (ACT:= Ist_temp, (* für PI wied CTRL_PI verwendet *)
SET:= Temp_Poti,
SUP:= 0.1, OFS:= , M_I:= , MAN:= , RST:= ,
KP:= ???, KI:= ???, LL:= 0, LH:= 100,
Y=> PI_out,
DIFF=> , LIM=>);
END_FOR
pi_upd (IN:= FALSE, PT:= );
END_IF;
Es wäre super, wenn ich hier ein paar Tipps haben könnte.
Gruß
Hodde