Regelkreis - Regelabweichung

Gast #1878655
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..
Gast #1878670
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
Gast #1878694
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 :)
Gast #1878736
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?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren