kramann.info
© Guido Kramann

Login: Passwort:










11.1 Beispiele für periodisch angeregte Regelsysteme

Beispiel 1 - PT1-Glied mit P-Regler
//s als Argument für ein Polynom definieren:
s = poly(0,"s"); 
//Übertragungsfunktion definieren:
//PT1-Glied: G0(s)=K/(1+Ts)
//P-Regler:  R(s)=P
//Geschlossener Reglkreis: G(s)=RG/(1+RG)
P=3.0;
K=3.0;
T=10.0;
G = syslin('c',[P*K],[1+P*K+T*s]);
//Zeitbereich für die Simulation festlegen:
t=[0:0.1:50]; 
u=sin(t);
y=csim(u,t,G); 
plot(t,u,'blu--',t,y,'gre');
xtitle("Untersuchung der dynamischen Stabilität zu G(s) ")
a = gca();
a.x_label.text = 't/s';
a.y_label.text = 'u(t),y(t)';
a.title.text = 'Untersuchung der dynamischen Stabilität bei P-Regler für PT1';
hl=legend(['u(t)';'y(t)'],a=1);

Code 11.1-1: P-geregeltes PT1-Glied mit Sinusanregung

Eingang u und Ausgang y für periodisch angeregte PT1-Strecke mit P-Regler.

Bild 11.1-1: Eingang u und Ausgang y für periodisch angeregte PT1-Strecke mit P-Regler.

class Modell
{
    public:
        int anzahl_gleichungen;        
        Modell()
        {
            anzahl_gleichungen=1;
        }
        int holeAnzahlGleichungen()
        {
            return anzahl_gleichungen;
        }
        double rechteSeite(double* y,double t, int zeile)
        {
            double P=3.0;
            double K=3.0;
            double T=10.0;
            double u = sin(t);
            switch(zeile)
            {
                //Rechte Seiten des DGLS: 
                case 0:
                     return -((1.0+P*K)/T)*y[0] + (P*K/T)*u;
                break;
            }               
        }
}; 

Code 11.1-2: Gleiches Beispiel in C++

cpp_pt1_pregler.zip - Download des Beispiels "periodisch angeregte PT1-Strecke mit P-Regler" in C++
Beispiel 2 - PT1Tt-Glied (PT1-Glied mit Totzeit) mit P-Regler
  • Herleitung der Simulationsgleichungen im Zeitbereich durch sukkzessive Substitution aller Zwischengrößen:
PT1Tt-Glied mit P-Regler und eingezeichneten Zwischengrößen

Bild 11.1-2: PT1Tt-Glied mit P-Regler und eingezeichneten Zwischengrößen

Herleitung der Simulationsgleichungen

Bild 11.1-3: Herleitung der Simulationsgleichungen

Eingang w und Ausgang x für periodisch angeregte PT1Tt-Strecke mit P-Regler, ta=3s.

Bild 11.1-4: Eingang w und Ausgang x für periodisch angeregte PT1Tt-Strecke mit P-Regler, ta=3s.

class Modell
{
    public:
        int anzahl_gleichungen;        
        double dt;
        double* y_alt_merker;
        double holeYalt(double talt)
        {
            if(talt<0.0)
                return 0.0;
            int index = (int)(0.5+talt/dt);
            return y_alt_merker[index];
        }
        void setzeYalt(double wert, double takt)
        {
            if(takt<0.0)
                return;
            int index = (int)(0.5+takt/dt);
            y_alt_merker[index] = wert;
        }
        Modell(double dt, double tmax)
        {
            this->dt = dt;
            y_alt_merker = new double[1+(int)(tmax/dt)];
            anzahl_gleichungen=1;
        }
        int holeAnzahlGleichungen()
        {
            return anzahl_gleichungen;
        }
        double rechteSeite(double* y,double t, int zeile)
        {
            double P=3.0;
            double K=3.0;
            double T=10.0;
            double ta = 3.0;
            double w = sin(t);
            double x = holeYalt(t-ta);
            double e = w - x;
            double u = P*e;
            switch(zeile)
            {
                //Rechte Seiten des DGLS: 
                case 0:
                     return -(1.0/T)*y[0] + (K/T)*u;
                break;
                case 1: //Spezialfall zum Auslesen von x:
                     return x;
                break;
            }               
        }
}; 

Code 11.1-3: Quellcode des Modells zu "periodisch angeregte PT1Tt-Strecke mit P-Regler".

cpp_pt1tt_pregler.zip - Download des Beispiels "periodisch angeregte PT1Tt-Strecke mit P-Regler" in C++