Drehzahlregelung mit einem PID-Regler
-
- Null-Leiter
- Beiträge: 3
- Registriert: Mittwoch 7. Oktober 2020, 13:36
Drehzahlregelung mit einem PID-Regler
Hallo zusammen,
für die folgende Aufgabenstellung habe ich Verzweifel, ob meine Lösung im Anhang korrekt ist oder doch korrigiert werden soll.
Hier die Aufgabenstellung:
Die Drehzahl eines Gleichstrommotors mit Fremderregung soll mit einem P-Regler geregelt werden.
Die Drehzahl n hängt von der Erregerspannung Ue und dem Lastmoment ML nach folgender Beziehung ab.
n / % = 5000 / (Ue / V) - 1082 * (ML / Nm) / (Ue / V) 2.
In dieser Gleichung wurden die physikalischen Variablen durch deren jeweilige physikalische Einheit dividiert, wodurch alle Summanden dimensionslos wurden.
Die Dynamik der Rotationsmasse aus Anker und angeschlossener Last kann durch ein PT1-Verhalten mit T1 = 5 s beschrieben werden. Eine zweite Verzögerung 1. Ordnung muss man wegen der elektrischen Eigenschaft aus Induktivität der Ankerwicklung und ihres ohmschen Widerstandes ansetzen. Diese Zeitkonstante wird hier mit T2 = 1 s angenommen.
In dem Funktionsbaustein "Motor" muss nun diese Dynamik realisiert werden. Dazu müssen neben den beiden Zeitkonstanten die Zykluszeit "Zyklus" (in s) und das boolesche Signal "Run" zum ein- und ausschalten der Dynamik vorgegeben werden. Zeigen Sie hier den Deklarationsteil und den Rumpf des in SCL programmierten FB
"Motor"
FUNCTION_BLOCK Motor
VAR_INPUT
Ue: REAL; (* Erregerspannung in V *)
ML: REAL; (* Lastmoment in Nm *)
Run: BOOL;
Zyklus: REAL;
END_VAR
VAR_OUTPUT
n: REAL; (* Drehzahl in % *)
END_VAR
VAR
nst: REAL;
DB_Mein_PT1_1: Mein_PT1;
DB_Mein_PT1_2: Mein_PT1;
END_VAR
==================================================================
IF Ue > 0.0 THEN
nst := 5000 / Ue - 1082 * ML / (Ue * Ue);
DB_Mein_PT1_1(Run:=Run, Xe:=nst, T1:=5, Zyklus:=Zyklus);
DB_Mein_PT1_2(Run:=Run, Xe:=DB_Mein_PT1_1.Xa, T1:=1, Zyklus:=Zyklus);
n := DB_Mein_PT1_2.Xa;
END_IF;
IF n > 100.0 THEN n := 100.0;
ELSIF n < 0.0 THEN n := 0.0;
END_IF;
Wäre das so korrekt ?
Vielen Dank für die Unterstützung
für die folgende Aufgabenstellung habe ich Verzweifel, ob meine Lösung im Anhang korrekt ist oder doch korrigiert werden soll.
Hier die Aufgabenstellung:
Die Drehzahl eines Gleichstrommotors mit Fremderregung soll mit einem P-Regler geregelt werden.
Die Drehzahl n hängt von der Erregerspannung Ue und dem Lastmoment ML nach folgender Beziehung ab.
n / % = 5000 / (Ue / V) - 1082 * (ML / Nm) / (Ue / V) 2.
In dieser Gleichung wurden die physikalischen Variablen durch deren jeweilige physikalische Einheit dividiert, wodurch alle Summanden dimensionslos wurden.
Die Dynamik der Rotationsmasse aus Anker und angeschlossener Last kann durch ein PT1-Verhalten mit T1 = 5 s beschrieben werden. Eine zweite Verzögerung 1. Ordnung muss man wegen der elektrischen Eigenschaft aus Induktivität der Ankerwicklung und ihres ohmschen Widerstandes ansetzen. Diese Zeitkonstante wird hier mit T2 = 1 s angenommen.
In dem Funktionsbaustein "Motor" muss nun diese Dynamik realisiert werden. Dazu müssen neben den beiden Zeitkonstanten die Zykluszeit "Zyklus" (in s) und das boolesche Signal "Run" zum ein- und ausschalten der Dynamik vorgegeben werden. Zeigen Sie hier den Deklarationsteil und den Rumpf des in SCL programmierten FB
"Motor"
FUNCTION_BLOCK Motor
VAR_INPUT
Ue: REAL; (* Erregerspannung in V *)
ML: REAL; (* Lastmoment in Nm *)
Run: BOOL;
Zyklus: REAL;
END_VAR
VAR_OUTPUT
n: REAL; (* Drehzahl in % *)
END_VAR
VAR
nst: REAL;
DB_Mein_PT1_1: Mein_PT1;
DB_Mein_PT1_2: Mein_PT1;
END_VAR
==================================================================
IF Ue > 0.0 THEN
nst := 5000 / Ue - 1082 * ML / (Ue * Ue);
DB_Mein_PT1_1(Run:=Run, Xe:=nst, T1:=5, Zyklus:=Zyklus);
DB_Mein_PT1_2(Run:=Run, Xe:=DB_Mein_PT1_1.Xa, T1:=1, Zyklus:=Zyklus);
n := DB_Mein_PT1_2.Xa;
END_IF;
IF n > 100.0 THEN n := 100.0;
ELSIF n < 0.0 THEN n := 0.0;
END_IF;
Wäre das so korrekt ?
Vielen Dank für die Unterstützung
- Elt-Onkel
- Null-Leiter
- Beiträge: 7777
- Registriert: Donnerstag 25. März 2004, 01:08
- Kontaktdaten:
Re: Drehzahlregelung mit einem PID-Regler
Moin Kelmi,
dürfen wir Dich etwas näher kennenlernen ?
In welchem Kontext steht die Aufgabe ?
Berufsschule ?
Studium ?
- E-Technik ?
- Maschinenbau ?
...
dürfen wir Dich etwas näher kennenlernen ?
In welchem Kontext steht die Aufgabe ?
Berufsschule ?
Studium ?
- E-Technik ?
- Maschinenbau ?
...
-
- Null-Leiter
- Beiträge: 3
- Registriert: Mittwoch 7. Oktober 2020, 13:36
Re: Drehzahlregelung mit einem PID-Regler
Hallo Elt-Onkel,
ich mache momentan einen Lehrgang in der SPS-Technik in 9 Lehrbriefe. Aktuell bin ich beim 7. Lehrbrief und habe in diesem einige Schwierigkeiten bekommen. Aus diesem Grund habe die Aufgabenstellung in diesem Forum gepostet in der Hoffnung, Unterstützung von Euch zu bekommen.
ich mache momentan einen Lehrgang in der SPS-Technik in 9 Lehrbriefe. Aktuell bin ich beim 7. Lehrbrief und habe in diesem einige Schwierigkeiten bekommen. Aus diesem Grund habe die Aufgabenstellung in diesem Forum gepostet in der Hoffnung, Unterstützung von Euch zu bekommen.
-
- Null-Leiter
- Beiträge: 3
- Registriert: Mittwoch 7. Oktober 2020, 13:36
Re: Drehzahlregelung mit einem PID-Regler
Hat jemand eine Idee ?
- Wulff
- Null-Leiter
- Beiträge: 985
- Registriert: Freitag 2. Mai 2014, 17:34
Re: Drehzahlregelung mit einem PID-Regler
VIelleicht bist du in einem "echten" SPS-Forum besser aufgehoben. Hier spielt sich in dem Unterforum fast nichts ab....
- Tobi P.
- Beiträge: 1906
- Registriert: Sonntag 18. November 2007, 13:46
- Wohnort: 41516 Grevenbroich
Re: Drehzahlregelung mit einem PID-Regler
Moin,
ich würde dir ebenfalls raten es mal hier zu versuchen:
http://www.sps-forum.de
Die Kollegen dort machen den ganzen Tag lang nichts anderes als SPSen zu programmieren. Hier musst du den meisten eher erst mal erklären was SCL (in das ich mich, TIA sei dank, auch gerade erst reinfuchse) ist
Gruß Tobi
ich würde dir ebenfalls raten es mal hier zu versuchen:
http://www.sps-forum.de
Die Kollegen dort machen den ganzen Tag lang nichts anderes als SPSen zu programmieren. Hier musst du den meisten eher erst mal erklären was SCL (in das ich mich, TIA sei dank, auch gerade erst reinfuchse) ist
Gruß Tobi