# PID Regler in AWL



## Aosta47 (29 Juli 2010)

Sieht sich jemand in der Lage folgenden P-Regler zu einem PID-Regler zu vervollständigen ?

L Sollwert
L Istwert
-R
T Regelabweichung

L Regelabweichung
L P_Faktor
*R
T Stellsignal

Mich interessiert ausschlieslich eine Lösung in AWL, bitte keine Verweise auf FB41 usw. - Danke


----------



## Jordy (29 Juli 2010)

Glaube nicht das dazu jemand in der Lage ist...


----------



## vierlagig (29 Juli 2010)

Jordy schrieb:


> Glaube nicht das dazu jemand in der Lage ist...



weil??? oO


----------



## Jordy (29 Juli 2010)

Dann leg mal los...


----------



## ebt'ler (29 Juli 2010)

Jordy schrieb:


> Glaube nicht das dazu jemand in der Lage ist...



Ich denke mal eher es hat keiner die Zeit für andere die Arbeit zu machen. 
Es ist doch kaum eine Eigenleistung zu erkennen, sondern nur Forderungen.

Hier wird die Thematik mal erläutert:
http://www.rn-wissen.de/index.php/Regelungstechnik

Damit sollte man schnell zu einer Lösung kommen.


----------



## vierlagig (29 Juli 2010)

Jordy schrieb:


> Dann leg mal los...



ich sehe dein problem nicht 
um mal aus ebt'lers link zu zitieren:


```
*
esum = esum + e
y = Kp * e + Ki * Ta * esum + Kd * (e – ealt)/Ta
ealt = e
```

hätt ich die fünf minuten würd ichs machen.


----------



## Jordy (29 Juli 2010)

Na dann is gut... nehm ich meinen kommentar zurück...


----------



## vierlagig (29 Juli 2010)

Jordy schrieb:


> Na dann is gut... nehm ich meinen kommentar zurück...



ich will wissen, was dich zu deinem kommentar bewegt hat!


----------



## dalbi (29 Juli 2010)

Hi,

vielleicht hat er sich an der Bausteingrösse des FB41 "CONT_C" erschrocken und gedacht das da ein rissen Algorithmus dahinter steckt.

Gruss Daniel


----------



## dalbi (29 Juli 2010)

Jordy schrieb:


> Glaube nicht das dazu jemand in der Lage ist...


Das würde mich jetzt auch interessieren. Warum? 

Gruss Daniel


----------



## Jordy (29 Juli 2010)

dalbi schrieb:


> Hi,
> 
> vielleicht hat er sich an der Bausteingrösse des FB41 "CONT_C" erschrocken und gedacht das da ein rissen Algorithmus dahinter steckt.
> 
> Gruss Daniel




Jup...  klar, der hat Rampenfunktionen und alles m;gliche noch, naja. Aber war schon erstaunt jetzt das es doch relativ simpel ist, wenn der dann wirklich so funktionieren sollte  

Ist ja gut, das es so ne einfache formel ist, bin da nicht so fit was regler angeht. Ich wei- wof[r der P der I der D Anteil ist, was er bewirkt und hab bisher jeden Regler eingestellt gekriegt, aber dann h;rts in Punkto Regelung auch bei mir auf.

Also ruhig Blut Jungs... oder drauf jetzt, mir auch egal!


----------



## vierlagig (30 Juli 2010)

Jordy schrieb:


> Jup...  klar, der hat Rampenfunktionen und alles m;gliche noch, naja. Aber war schon erstaunt jetzt das es doch relativ simpel ist, wenn der dann wirklich so funktionieren sollte



sone rampe haben wir hier auch schon leuten und stiften beigebracht. also so richtig zieht das argument nicht. aber unterschätz die user hier oder überschätz siemens leistung ruhig weiter.


----------



## SPS-newbie (30 Juli 2010)

ALso ich hätte da ne Siete wo alle Regler recht gut aufgeführt sind! Vor allem sind dort C - Code Beispiele die recht schnell in AWL umgeschrieben sind:

Software PID-Regler:

esum = esum + e
y = Kp * e + Ki * Ta * esum + Kd * (e – ealt)/Ta
ealt = e


von der Seite:
http://www.rn-wissen.de/index.php/Regelungstechnik

Viel Erfolg damit!


----------



## SPS-newbie (30 Juli 2010)

Nachtrag achja die abtastzeit ist im Endefekt die jeweilige Zykluszeit, die du folgendermasen auslesen kannst:

 L     #OB1_PREV_CYCLE
      ITD   
      DTR   
      L     1.000000e+003
      /R    
      T     "Parameter".TAS


so bekommst du die Sampling time in s


----------



## vierlagig (30 Juli 2010)

ebt'ler schrieb:


> ich denke mal eher es hat keiner die zeit für andere die arbeit zu machen.
> es ist doch kaum eine eigenleistung zu erkennen, sondern nur forderungen.
> 
> Hier wird die thematik mal erläutert:
> ...



==



sps-newbie schrieb:


> also ich hätte da ne siete wo alle regler recht gut aufgeführt sind! Vor allem sind dort c - code beispiele die recht schnell in awl umgeschrieben sind:
> 
> Software pid-regler:
> 
> ...




................


----------



## Flinn (30 Juli 2010)

Jordy schrieb:


> Jup...  klar, der hat *Rampenfunktionen *und alles m;gliche noch, naja. Aber war schon erstaunt jetzt das es doch relativ simpel ist, wenn der dann wirklich so funktionieren sollte
> 
> Ist ja gut, das es so ne einfache formel ist, bin da nicht so fit was regler angeht. Ich wei- wof[r der P der I der D Anteil ist, was er bewirkt und hab bisher jeden Regler eingestellt gekriegt, aber dann h;rts in Punkto Regelung auch bei mir auf.
> 
> Also ruhig Blut Jungs... oder drauf jetzt, mir auch egal!



Wo hat der FB41 denn Rampen??
Wäre mir neu.

gruß
flinn


----------



## Jordy (30 Juli 2010)

Hat er... guck ich morgen oder Montag nach...


----------



## Jordy (30 Juli 2010)

vierlagig schrieb:


> sone rampe haben wir hier auch schon leuten und stiften beigebracht. also so richtig zieht das argument nicht. aber unterschätz die user hier oder überschätz siemens leistung ruhig weiter.




Geht doch nich um die Rampen...

Egal... keine lust hier auf son schwanzvergleich


----------



## MSB (30 Juli 2010)

Jordy schrieb:


> Geht doch nich um die Rampen...
> 
> Egal... keine lust hier auf son schwanzvergleich



Wir hatten hier schon Schwanzvergleiche die den Namen auch verdient haben,
und das hier ist noch keiner.

Logisch gehts um die Rampen, und son popeliger PID Regler hat nunmal keine Rampen,
das einzige was so ähnliches wie ne Rampe funktioniert ist der I-Anteil ...

Mfg
Manuel


----------



## gravieren (31 Juli 2010)

Hi

PID-Regler-Algorythmus alleine sind meist nicht das wahre vom "Ei".

Zusätze wie AnteWindUps halten ihr erst in kritischen Sitiationen stabil.



Da es hier noch keiner gesagt hat.  (Oder habe ich es überlesen)


Unter www.oscat.de gibt es einige PID-Regler im  und mit SCL-Code.


SCL erzeugt AWL-Code, dieser kann noch etwas optimiert werden.
(Lesbarkeit von Compilercode ist so ein "Streitthema")


Oder dieser SCL-Code wird von Hand in AWL umgeschrieben.



Gruss Karl


----------



## Aosta47 (10 August 2010)

*PID Regler Step 2*

Nachdem ich inzwischen selbst in der Lage war den P-Regler auf einen PD-Regler zu erweitern, fehlt mir nur noch eine Idee (oder das Verständnis) den I-Anteil zu generieren.
Vieleicht noch eins an die Lästerer: Mit all dem Zaster den ich mit der Software verdienen werde, verbringe ich einen tollen Urlaub auf den Bahamas. 8)

----------------------------
FC 1:
// Regelabweichung berechnen
L Sollwert
L Istwert
-R
T Regelabweichung

// P-Anteil berechnen 
L Regelabweichung
L P_Faktor 
*R 
T P-Anteil 

// Sollwertvorgabe 
L P-Anteil 
L D-Anteil 
+R 
T Sollwert
---------------------------
OB35 (zyklisch 100ms)
// D-Anteil berechnen
L Regelabweichung
L Regelabweichung_alt
-R
L D-Faktor
*R
T D-Anteil

// Wert speichern
L Regelabweichung 
T Regelabweichung_alt
---------------------------


----------



## vierlagig (10 August 2010)

Aosta47 schrieb:


> der Software



hochgradig innovativ, bahnbrechend, weltverändernd, genial und noch nie dagewesen, dein PD-regler dem der I-anteil fehlt.
du machst das schon - chakka


----------



## gravieren (10 August 2010)

Hi


Denke auch bei I-Regler an einen/den  "Anti Windsup"  (Gutgemeinter Tipp)

http://de.wikipedia.org/wiki/Regler






Wenn der PID-Regler fertig ist kommt die nächste Frage:


Mein PID-Regler schwingt zu stark, was kann ich machen.*ROFL*



Wetten ?


Nix für ungut, mit manchen Äusserungen legt man sich selbst ein "Ei".

Mancher sicht es nicht mal vor "Borniertheit". 


Und nun warte ich, bis ich "mein Fett" abkriege. 


Gruss Karl


----------



## ebt'ler (10 August 2010)

@ Aosta47

versuchst du hier das Rad neu zu erfinden? 

Die (Grund)Formel für eine PID-Regler wurde bereits vor 12 Tagen gepostet. Aber hier nochmal:



> e = w - x;
> esum = esum + e;
> y = Kp*e + Ki*Ta*esum + Kd/Ta*(e – ealt);
> ealt = e;


-> und das sogar mit I-Anteil. 
Das könntest du so wie es ist in ST/SCL kopieren und dann umwandeln lassen. Oder du schreibst es gleich selber via AWL, sind ja nur Grundoperationen.
Aber bitte lass dir nicht wieder 12Tage zeit bis der I-Anteil mit drin ist. 
Sonst wird deine "Software" nie fertig, seiden sie besteht nur aus den PID. *ROFL*
Wer soll das eigentlich kaufen?


----------



## Paul (10 August 2010)

Aosta47 schrieb:


> Mit all dem Zaster den ich mit der Software verdienen werde, verbringe ich einen tollen Urlaub auf den Bahamas. 8)


 
Bittebittebittebitte
Sag mir die Adresse von den Leuten die für so ein Programm soviel
Kohle rausrücken das es für die Bahamas reicht.

MfG
Paul


----------



## IBFS (10 August 2010)

Paul schrieb:


> Bittebittebittebitte
> Sag mir die Adresse von den Leuten die für so ein Programm soviel
> Kohle rausrücken das es für die Bahamas reicht.
> 
> ...


 
Da hat wohl jemand einen feuchten Traum gehabt


----------



## Paul (10 August 2010)

IBFS schrieb:


> Da hat wohl jemand einen feuchten Traum gehabt


 
Schade! Und ich hab mir schon Preise kommen lassen was die
Presidentensuite für 1 Jahr im Burj al Arab in Dubai kosten würde.


----------



## gravieren (10 August 2010)

ebt'ler schrieb:


> @ Aosta47
> 
> versuchst du hier das Rad neu zu erfinden?
> 
> ...


 
Stimmt, da fehlte jedoch das  


```
e = w - x;
```
 
Achso deshalb ist er noch nicht fertig.


----------

