Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 10 von 10

Thema: PID-Regler programmieren - Hilfe

  1. #1
    Registriert seit
    24.02.2007
    Beiträge
    146
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Hallo,

    ich muss einen PID-Regler programmieren. Wie der Quelltext dazu aussieht weiß ich, allerdings weiß ich nicht, wie ich die Parameter bestimmen kann.

    ks,Tg,Ta,Tu sollen eingebbar sein. Benötige ja aber denn noch T1,kd,Tv,kr. Wie kann ich die berechnen?

    Gruß

    Thorsten
    Zitieren Zitieren PID-Regler programmieren - Hilfe  

  2. #2
    Registriert seit
    16.09.2006
    Beiträge
    36
    Danke
    1
    Erhielt 2 Danke für 2 Beiträge

  3. #3
    Registriert seit
    10.05.2005
    Beiträge
    1.996
    Danke
    219
    Erhielt 232 Danke für 204 Beiträge

    Standard

    Hi

    Du wilsst den PID Regelalgorytmus programmieren ?


    Also eine Regler selbst schreiben ?


    Fall ja, schau dir den von OSCAT an.

    Sourcecode für CoDeSys und Step 7
    Karl

  4. #4
    Toddy80 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    24.02.2007
    Beiträge
    146
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Schaut euch das mal an. Das ist doch kein PI-Regler oder? Auf das Beispiel wollte ich gerne aufbauen. Verstehe aber nicht ganz wie die wilden Formeln für Tn und Tv zu stande kommen.

    (* PI- Regler nach Y.Takahashi
    Var_Input
    Tu Verzugszeit in s
    Ta Abtastzeit in s ca. 1/20 der Ausgleichszeit
    Tg Ausgleichzeit in s
    Tn:= 2 * (Tu+Ta/2)*(1-(0,75*Ta/(Tu+Ta)))
    Tv:= 0,42 * (Tu+Ta) * (1-(0,25*Ta/(Tu+Ta/2)))

    Ks x/y z.B. 100% leistung /32000 (Analogausgang) -> Verstärkung
    Kpr:= 1,2/Ks * Tg / (Tu+Ta) * (1-(0,25*Ta/(Tu+Ta/2)))
    Berechnung der Stellgroesse nach der Trapezregel PI
    y = y_n-1 + Kpr(1+Ta/(2Tn)+Tv/Ta) * e_n - Kpr(1-Ta/(2Tn) + 2Tv/Ta) * e_n-1 + Kpr(Tv/Ta) * e_n-2
    en = Regeldifferenz w - x

    Kurzform :

    y = y_n-1 + c0 * en + c1 * e_n-1 + c2 * e_n-2
    c0 = + Kpr ( 1+ Ta/(2Tn) + Tv/Ta )
    c1 = - Kpr ( 1- Ta/(2Tn) + 2Tv/Ta )
    c2 = + Kpr ( Tv/Ta )
    *)

    tick(IN:= NOT tick.Q, PT:= REAL_TO_TIME(Ta*1000));
    IF NOT tick.Q THEN
    Tn:= 2 * (Tu+Ta/2)*(1-(0.75*Ta/(Tu+Ta)));
    Tv:= 0.42 * (Tu+Ta) * (1-(0.25*Ta/(Tu+Ta/2)));
    Kpr:= 1.2/(Ks) * Tg / (Tu+Ta) * (1-(0.25*Ta/(Tu+Ta/2)));
    y:= y + (Kpr*(1+Ta/(2*Tn)+Tv/Ta) *(w-x) - Kpr*(1-Ta/(2*Tn) + 2*Tv/Ta) * (w-e1) + Kpr*(Tv/Ta) * (w-e2))/5;
    (* Begrenzung der Stellgroesse *)
    IF y > 100 THEN
    y:=100;
    END_IF;
    IF y<0 THEN
    y:=0;
    END_IF;
    (* e_n-2 *)
    e2:=e1;
    (* e_n-1 *)
    e1:=x;
    END_IF;

  5. #5
    Registriert seit
    05.10.2005
    Beiträge
    2.373
    Danke
    321
    Erhielt 296 Danke für 266 Beiträge

    Standard

    schau mal bei der Firma Berthel vorbei. Da gibt es meines Wissens Regler mit Beschreibung zum runterladen für S7 und deren eigene Steuerungen.
    Muß heute abend in der Firma mal schauen, da hab ich noch ein Script zu Reglern rumliegen, wo alles (auch für mich) verständlich erklärt war.
    TH

  6. #6
    Registriert seit
    30.01.2004
    Ort
    Erfurt
    Beiträge
    961
    Danke
    42
    Erhielt 109 Danke für 87 Beiträge

    Standard

    Zitat Zitat von Toddy80 Beitrag anzeigen
    Schaut euch das mal an. Das ist doch kein PI-Regler oder? Auf das Beispiel wollte ich gerne aufbauen. Verstehe aber nicht ganz wie die wilden Formeln für Tn und Tv zu stande kommen.

    (* PI- Regler nach Y.Takahashi
    Var_Input
    Tu Verzugszeit in s
    Ta Abtastzeit in s ca. 1/20 der Ausgleichszeit
    Tg Ausgleichzeit in s
    Tn:= 2 * (Tu+Ta/2)*(1-(0,75*Ta/(Tu+Ta)))
    Tv:= 0,42 * (Tu+Ta) * (1-(0,25*Ta/(Tu+Ta/2)))

    ...
    Meister Takahashi hat hier einen adaptiven PI-Regler beschrieben.
    Tu und Tg sind die Parameter der Regelstrecke, die entweder vorher per Hand oder online durch eine geeignete Software ermittelt werden müssen.

    Aus diesen Parametern und der Abtastzeit werden dann die richtigen (adaptierten) Werte für Tn und Tv berechnet.

    Wenn die Werte der Strecke bekannt sind, gib sie halt mit ein, wenn das nicht benötigt wird greife auf einen PID-Algorithmus nach 0815 zurück.
    __
    Mit freundlichem Gruß Peter

    ...Wir sind Alle Zeitreisende. Die überwiegende Mehrzahl schafft allerdings täglich nur einen Tag.... (Jasper Fforde: "In einem andern Buch")

  7. #7
    Toddy80 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    24.02.2007
    Beiträge
    146
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Danke für die Antworten. Was ist denn mit adaptierten Regler gemeint? Die Werte Tu und Tg und ks bekommt der Regler von einem Leitrechner. Streckenparameter sind mir nicht bekannt, ist eine Temperaturregelung für eine Halle.
    Ich dachte dass ich einen einfachen PID-Regler (evt. PI) nehme und die Werte, die vom Leitrechner kommen (Tu,Tg,ks) umrechnen kann und damit den PI-Regler betreiben kann. Oder würdet ihr mir raten den vorhandenen Quelltext einfach für die Halle zu übernehmen?

    Tn:= 2 * (Tu+Ta/2)*(1-(0,75*Ta/(Tu+Ta)))
    Tv:= 0,42 * (Tu+Ta) * (1-(0,25*Ta/(Tu+Ta/2))

    In der Berechnung sind so komische Faktoren drin, ist wahrscheinlich etwas schlecht falls man danach mal gefragt wird was das alles ist bzw. wie sie zu stande gekommen sind.

  8. #8
    Registriert seit
    30.01.2004
    Ort
    Erfurt
    Beiträge
    961
    Danke
    42
    Erhielt 109 Danke für 87 Beiträge

    Standard

    Zitat Zitat von Toddy80 Beitrag anzeigen
    Danke für die Antworten. Was ist denn mit adaptierten Regler gemeint? Die Werte Tu und Tg und ks bekommt der Regler von einem Leitrechner. Streckenparameter sind mir nicht bekannt, ist eine Temperaturregelung für eine Halle.
    Der Leitrechner liefert Dir die Parameter der Strecke, falls Dir die Begriffe Verzugszeit und Ausgleichszeit nicht geläufig sind, ist nun der geeignete Zeitpunkt gekommen, die Bearbeitung des Projektes für ein wenig Recherche zu unterbrechen...

    Ich dachte dass ich einen einfachen PID-Regler (evt. PI) nehme und die Werte, die vom Leitrechner kommen (Tu,Tg,ks) umrechnen kann und damit den PI-Regler betreiben kann. Oder würdet ihr mir raten den vorhandenen Quelltext einfach für die Halle zu übernehmen?
    Wie lautet denn die Aufgabenstellung, es scheint ja ein funktionierendes System zu geben

    Adaptiv meint, die Parameter des Reglers werden Online an die Parameter der Strecke angepaßt, da diese eben nicht statisch sind.
    Du kannst jetzt auf die Adaption verzichten, wenn die Strecke sich nicht ändert oder Du übernimmst das vorhandene.
    Oder Du kannst die Parameter des Reglers auch selber online nachführen und dann einem konventionellen PID-Regler übergeben.

    In der Berechnung sind so komische Faktoren drin, ist wahrscheinlich etwas schlecht falls man danach mal gefragt wird was das alles ist bzw. wie sie zu stande gekommen sind.
    Der Meister (oder eben seine Schüler) haben diese 'komischen Faktoren' in harter Arbeit ermittelt, um damit adaptive PI-Regler für eine bestimmte Klasse von Regelstrecken bauen zu können.
    Takahashi ist sowas wie das asiatische Pendant zu Ziegler-Nichols.

    Sitzt Du gerade an einer Art Abschlußarbeit?
    __
    Mit freundlichem Gruß Peter

    ...Wir sind Alle Zeitreisende. Die überwiegende Mehrzahl schafft allerdings täglich nur einen Tag.... (Jasper Fforde: "In einem andern Buch")

  9. #9
    Toddy80 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    24.02.2007
    Beiträge
    146
    Danke
    0
    Erhielt 0 Danke für 0 Beiträge

    Standard

    Zitat Zitat von PeterEF Beitrag anzeigen
    Der Meister (oder eben seine Schüler) haben diese 'komischen Faktoren' in harter Arbeit ermittelt, um damit adaptive PI-Regler für eine bestimmte Klasse von Regelstrecken bauen zu können.
    Takahashi ist sowas wie das asiatische Pendant zu Ziegler-Nichols.
    Aber diese Faktoren kann ich nirgendwo im Internet finden. Es besteht bereits eine Halle mit dieser Regelung. Wollte nun alles besser und übersichtlicher machen und auch wenn möglich neuen Regler programmieren. Die Eingangswerte werden über eine Visualisierung angepasst - es ist eine Gebäudeautomation.

    Keine Abschlussarbeit, bin seit 4 Wochen mit Studium fertig und nun am arbeiten

  10. #10
    Registriert seit
    30.01.2004
    Ort
    Erfurt
    Beiträge
    961
    Danke
    42
    Erhielt 109 Danke für 87 Beiträge

    Standard


    Zuviel Werbung?
    -> Hier kostenlos registrieren
    Zitat Zitat von Toddy80 Beitrag anzeigen
    Aber diese Faktoren kann ich nirgendwo im Internet finden.
    z.B. dies: http://user.cs.tu-berlin.de/~calle/unterlagen/reg.pdf

    Keine Abschlussarbeit, bin seit 4 Wochen mit Studium fertig und nun am arbeiten
    Viel Spaß dabei!
    __
    Mit freundlichem Gruß Peter

    ...Wir sind Alle Zeitreisende. Die überwiegende Mehrzahl schafft allerdings täglich nur einen Tag.... (Jasper Fforde: "In einem andern Buch")

Ähnliche Themen

  1. PID Regler programmieren
    Von hbedir im Forum Simatic
    Antworten: 22
    Letzter Beitrag: 19.06.2013, 19:14
  2. PID Regler - Drigend HILFE!!
    Von Divo12 im Forum Simatic
    Antworten: 13
    Letzter Beitrag: 05.08.2011, 15:20
  3. Phoenix S-max PID regler hilfe
    Von christopherf im Forum PHOENIX CONTACT
    Antworten: 3
    Letzter Beitrag: 08.02.2008, 11:46
  4. PID Regler und Dimmer Programmieren
    Von Andy258 im Forum Simatic
    Antworten: 11
    Letzter Beitrag: 01.02.2008, 13:54
  5. PID Regler programmieren, DB erstellen ?
    Von olitheis im Forum Simatic
    Antworten: 23
    Letzter Beitrag: 16.08.2005, 14:10

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •