Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

Kommentar:
Einfügen von HTML im Kommentar:

Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a>
Bild einfügen: <img src="BILDURL">
Text formatieren: <b>fetter Text</b>  <i>kursiver Text</i> <u>unterstrichener Text</u>
Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b>
C2 Quellcode formatieren: <code>Quellcode</code>
ASM Quellcode formatieren: <asm>Quellcode</asm>
(Innerhalb eines Quellcodeabschnitts ist kein html möglich.)
Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst !  

> Hallo zusammen, > > ich zerbrech mir schon 'ne ganze Weile den Kopf, wie ich allgemeine Regelaufgaben > lösen kann, ohne die klassischen Nachteile eines Zweipunktreglers in Kauf nehmen > zu müssen. > Ich hab hier mal einen allgemeinen PID-Algorithmus zusammengebastelt, der theoretisch > in einer Excel-Simulation gut funktioniert. > Praktisch teste ich ihn gerade als allgemeinen Temperaturregler. > Die Doppelberechnungen in der function werde ich noch entfernen. Eine Autotuning-Funktion ist > noch geplant zur automatischen Berechnung der Regelparameter. > > Gruss krassos > > <code> > /******************************************************************/ > /* PID-Regler */ > /* */ > /* Author : Andreas Sperling */ > /* Vorlage : Andreas Sperling */ > /* Versionen : 0.3 */ > /* Datum : 29. Juni 2004 */ > /* geändert : */ > /* Getestet : ja */ > /* Benötigt : */ > /* */ > /******************************************************************/ > /* > w Sollwert > x istwert > ta abtastzeit > tv vorhaltezeit (D-Anteil) > tn nachstellzeit (i-anteil) > kp proportionalanteil > ********************************************************************** > Ansatz zur Realisierung eines Software-PID-Reglers für die CC2 > Änderungen, Verbesserungen und Beschleunigungen durchaus erwünscht > Der Stellwert ist hier auf 0...500 begrenzt. Diese Begrenzung kann > natürlich entfernt werden. > */ > const two = 2.0; > const tree = 3.0; > const zero = 0.0; > float ea; > float es,kd; > > function pid (int w,int x,float ta,int tv,int tn,float kp) returns float > { > float e,y;string diff,integral; > float diff1,esold; > int y1; > e = w - x;//regelabweichung > esold=es; > es = es + ((ea + e) / two); //i-speicher > diff1=e-ea; > kd = (kd+tv / ta * diff1)/two; > if (ta / tn * es)*kp > 500 or (ta / tn * es)*kp < 0 es =esold; > y = kp * (e + (ta / tn * es) + kd); > if y>500 or y<0 > { > if y>500 y1=500; > if y <0 y1=0; > } > else y1=y; > ea = e; > return y1; > } > </code>
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB