-> Hier kostenlos registrieren
Hallo Leute,
ich brauche Hilfe beim Einstellen der Abtastzeit (Cycle) bei FB43 PULSEGEN und bei dem PI-Regler
Der PI-Regler mit dem PULSEGEN-Baustein werden in dem Weckalarm-OB OB30 mit der Abtastzeit von 100MS augerufen.
Die Abtatstzeit des PI-Algorithmus ist auch auf 100MS eingestellt.
Die Abtatstzeit des PULSEGEN-Bausteins ist ebenfalls auf 100MS eingestellt.
Leider reagiert der Ausgangsparameter QPOS_P nicht. Ich weiß nicht was ich nicht richtig verstanden habe. Laut dem PID-Regelung Funktionshandbuch sollte es funktionieren. Vielleicht können Sie mir ein Tipp geben.
ich brauche Hilfe beim Einstellen der Abtastzeit (Cycle) bei FB43 PULSEGEN und bei dem PI-Regler
Der PI-Regler mit dem PULSEGEN-Baustein werden in dem Weckalarm-OB OB30 mit der Abtastzeit von 100MS augerufen.
Die Abtatstzeit des PI-Algorithmus ist auch auf 100MS eingestellt.
Die Abtatstzeit des PULSEGEN-Bausteins ist ebenfalls auf 100MS eingestellt.
Leider reagiert der Ausgangsparameter QPOS_P nicht. Ich weiß nicht was ich nicht richtig verstanden habe. Laut dem PID-Regelung Funktionshandbuch sollte es funktionieren. Vielleicht können Sie mir ein Tipp geben.
Code:
//Typumwandlung und Umrechnung von ms in s
#rTi := DINT_TO_REAL( TIME_TO_DINT(#Datensatz.BH_Regler.Ti)) / 1000.0; // Integrationskonstante
#rCycle := DINT_TO_REAL( TIME_TO_DINT(#Datensatz.BH_Regler.Cycle)) / 1000.0; // Abtatstzeit PI-Algorithmus
//integrieren
#Datensatz.BH_Regler.I_Teil := #Datensatz.BH_Regler.I_Teil_Alt + ( (#rCycle/rTi) * #Datensatz.BH_Regler.Abweichung_Soll_Ist);
#Datensatz.BH_Regler.I_Teil_Alt := #Datensatz.BH_Regler.I_Teil;
//####PI-Glied
#Datensatz.BH_Regler.Stellwert := #Datensatz.BH_Regler.P_Teil + #Datensatz.BH_Regler.I_Teil;
"PULSEGEN_DB"(INV:= #Datensatz.BH_Regler.Stellwert,
PER_TM := 10S
P_B_TM := 50MS,
RATIOFAC := 1.0,
STEP3_ON := FALSE,
ST2BI_ON := FALSE,
MAN_ON := FALSE,
POS_P_ON := FALSE,
NEG_P_ON := FALSE,
SYN_ON := TRUE,
CYCLE := T#100MS,
QPOS_P => "BH_Regler_Outputarray".Output_BH[1..100]"[#"Regler-Nr"]));