Seite 1 von 1

Drehzahlregelung mit einem PID-Regler

Verfasst: Samstag 10. Oktober 2020, 18:57
von kelmi
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

Re: Drehzahlregelung mit einem PID-Regler

Verfasst: Samstag 10. Oktober 2020, 19:25
von Elt-Onkel
Moin Kelmi,

dürfen wir Dich etwas näher kennenlernen ?

In welchem Kontext steht die Aufgabe ?

Berufsschule ?
Studium ?
- E-Technik ?
- Maschinenbau ?


...

Re: Drehzahlregelung mit einem PID-Regler

Verfasst: Samstag 10. Oktober 2020, 19:46
von kelmi
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.

Re: Drehzahlregelung mit einem PID-Regler

Verfasst: Donnerstag 15. Oktober 2020, 13:09
von kelmi
Hat jemand eine Idee ?

Re: Drehzahlregelung mit einem PID-Regler

Verfasst: Donnerstag 15. Oktober 2020, 17:26
von Wulff
VIelleicht bist du in einem "echten" SPS-Forum besser aufgehoben. Hier spielt sich in dem Unterforum fast nichts ab....

Re: Drehzahlregelung mit einem PID-Regler

Verfasst: Donnerstag 15. Oktober 2020, 19:31
von Tobi P.
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