Forum: Digitale Signalverarbeitung / DSP / Machine Learning Regelkreis - Regelabweichung


von Asmin (Gast)


Lesenswert?

Hallo zusammen,

ich möchte einen Regelkreis mit einem PID-Regler und PT1-Regelstecke 
simulieren. Das ganze mit LabView und Formelknoten, aber das ist erstmal 
egal.


float w[1000];   //Sollgröße
float y[1000];   //Regelabweichung
float x1[1000];  //Stellgröße
float x2[1000];  //Istgröße

...

for(i=0; i<1000; i++)
{
  if(i<998)
  {

    //Stelle 1

    x1[i+2] = x1[i+1] + a2*y[i+2] + a1*y[i+1] + a0*y[i];  //PID-Regler
    x2[i+1] = x2[i] + b0*(K*x1[i]-x2[i]);    //PT1-Regelstecke

    //Stelle 2
  }
}

Meine Frage ist, an welcher Stelle die Regelabweichung berechnet wird, 
und vor allem wie? Im PID-Regler wird ja y[i+1] benötigt. Muss ich also 
davor schon y[i+1] berechnet haben? Und wäre y[i+1] = w[i+1] - x2[i+1] 
richtig?
Was mir fehlt ist also die Gleichung von Regelabweichung, und an welcher 
Stelle die berechnet wird.

Danke im Voraus..

von U.R. Schmitt (Gast)


Lesenswert?

Asmin schrieb:
> x1[i+2] = x1[i+1] + a2*y[i+2] + a1*y[i+1] + a0*y[i];  //PID-Regler

Wie willst Du denn diese Formel berechnen, wenn Du noch keine 
Regelabweichung hast?

Asmin schrieb:
> Was mir fehlt ist also die Gleichung von Regelabweichung
Was sagt denn da dein Regelungstechnikscript/buch.

genau: Abweichung = Sollwert - Istwert

von Asmin (Gast)


Lesenswert?

U.R. Schmitt schrieb:
> Asmin schrieb:
>
>> x1[i+2] = x1[i+1] + a2*y[i+2] + a1*y[i+1] + a0*y[i];  //PID-Regler
>
>
>
> Wie willst Du denn diese Formel berechnen, wenn Du noch keine
>
> Regelabweichung hast?

Demnach müsste ich ja davor schon y[i+2] berechnen?

Mit y[i+2] = w[i+2] - x2[i+2] ?

Nun stelle ich dir deine Frage: Wie berechne ich y[i+2] wenn ich x2[i+2] 
noch nicht habe? Also muss irgendwo mit dem Initialisierungswert 
angefangen werden.
Was ich gerne hätte, ist die Formel für Regelabweichung an der richtigen 
Stelle. Mit einer Erklärung natürlich, damit ich das ganze verstehe :)

von Asmin (Gast)


Lesenswert?

Ich denke, ich muss y[i+k] in jeder Gleichung mit w[i+k]- x[i+k] 
ersetzen, dann müsste das passen.
Wenn ich aber mit PID-Regler aktuell x1[i+2] berechnet habe, dann müsste 
ich doch für die Gleichung der Regelstrecke mit x1[i+2] arbeiten, oder?
Demnach müsste die Gleichung so aussehen:

x2[i+3] = x2[i+2] + b0*(K*x1[i+2]-x2[i+2]);    //PT1-Regelstecke

Oder macht das keinen Unterschied?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.