Autor Thema: Aufrufprobleme PID-Regler  (Gelesen 16026 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline gravieren

  • Entwickler
  • *****
  • Beiträge: 578
    • Profil anzeigen
Aufrufprobleme PID-Regler
« am: 24. Dezember 2006, 14:30:21 »
Hi

Ich komme mit dem PID-Regler NICHT klar.

Irgendwie fehlt mir die Angabe für den Aufruf.

Als freilaufender Zyklus verrichtet der Baustein nach meinen Meinung nicht die gewünschte Arbeit.

Was mache ich falsch.


Karl

Offline gravieren

  • Entwickler
  • *****
  • Beiträge: 578
    • Profil anzeigen
Re: Aufrufprobleme PID-Regler
« Antwort #1 am: 24. Dezember 2006, 15:01:33 »
Sorry

Bedienfehler von mir.

Es Bedarf einem "Reset" bevor man damit Arbeitet / Erster Aufruf.


Frage:   Lässt sich der Code von rst : BOOL;     auf    rst : BOOL := TRUE;  ändern ?
            (Erstinitialisierung beim Aufruf)


Karl


Offline hugo

  • Global Moderator
  • *****
  • Beiträge: 2 150
    • Profil anzeigen
Re: Aufrufprobleme PID-Regler
« Antwort #2 am: 25. Dezember 2006, 09:41:51 »
wird in der rev 1.1 zum 1.1. erledigt, danke für den input.
der pid ist freilaufend, damit er auch bei stark beladener sps exact arbeitet.
ein pid der zyklisch aufgerufen wird kann von einer hoeher priorisierten task unterbrochen werden und dann entstehen fehler.
in der 1.1 werden wir den pid auch auf trapezformel umstellen, die etwas mehr genauigkeit liefert als die jetzt verwendete rechteckformel.

sonstige wünsche bitte mitteilen.

Offline gravieren

  • Entwickler
  • *****
  • Beiträge: 578
    • Profil anzeigen
Re: Aufrufprobleme PID-Regler
« Antwort #3 am: 25. Dezember 2006, 10:24:48 »
Hi


Zitat
sonstige wünsche bitte mitteilen.
Ja, hab noch einen.


Zitat
VAR_INPUT
   KP, TN, TV, limit_H, limit_L : REAL;
END_VAR
Kannst du "limit_H"  und  "limit_L"   tauschen, unter CFC etwas Gewöhnungsbedürftig.
( Hoher Wert steht oben )



Selbstoptimierung wäre Cool 


Offline hugo

  • Global Moderator
  • *****
  • Beiträge: 2 150
    • Profil anzeigen
Re: Aufrufprobleme PID-Regler
« Antwort #4 am: 25. Dezember 2006, 10:39:00 »
die eingänge tauschen ist ein guter tip, werde ich machen.
aber wieso rst auf true initialisieren, damit waere ein offener rst immer ein rst den rst ist high active.

Offline hugo

  • Global Moderator
  • *****
  • Beiträge: 2 150
    • Profil anzeigen
Re: Aufrufprobleme PID-Regler
« Antwort #5 am: 25. Dezember 2006, 10:42:03 »
Selbstoptimierung wäre Cool 

das waere absolut cool, aber derzeit habe ich leider noch keine brauchbaren algorithmen / verfahren gefunden
hat jemand hierzu ideen, inputs?

Offline gravieren

  • Entwickler
  • *****
  • Beiträge: 578
    • Profil anzeigen
Re: Aufrufprobleme PID-Regler
« Antwort #6 am: 26. Dezember 2006, 16:44:51 »
Hi Hugo


Zitat
aber wieso rst auf true initialisieren, damit waere ein offener rst immer ein rst den rst ist high active.
Simmt grundsätzlich, jedoch sollte natürlich nachfolgender Zeile eingefügt werden.

IF rst OR KP = 0 THEN
            rst := FALSE;        <--  Diese Zeile einfügen. Dann ist ein offener RST-Eingang natürlich NICHT 1
                                            (Diese Grundinitialisierung wird von vielen Nahmhaften Herstellern gemacht)
   y := offset;
   integ(rst := 1);
   integ.rst := 0;
ELSIF manual THEN



Offline gravieren

  • Entwickler
  • *****
  • Beiträge: 578
    • Profil anzeigen
Re: Aufrufprobleme PID-Regler
« Antwort #7 am: 26. Dezember 2006, 16:49:50 »
Hi Hugo

Zitat
Selbstoptimierung wäre Cool 

das wäre absolut cool, aber derzeit habe ich leider noch keine brauchbaren algorithmen / verfahren gefunden
hat jemand hierzu ideen, inputs?

Ich werde mal Informationen sammeln und einen neuen Tread aufmachen.


Offline hugo

  • Global Moderator
  • *****
  • Beiträge: 2 150
    • Profil anzeigen
Re: Aufrufprobleme PID-Regler
« Antwort #8 am: 26. Dezember 2006, 20:17:53 »
verstehe, wenn jemand von extern einen rst aufruft dann wird er ausgeführt und die rst variable gelöscht.
die grundinitialisierung mir rst = true wuerde dann noch dafür sorgen das er beim ersten aufruft auch gleich initialisiert wird.

ich habe mich bisher nie getraut eine eingangsvariable aus dem programm heraus zu schreiben, ist den das nach iec61131 zulässig?


Offline gravieren

  • Entwickler
  • *****
  • Beiträge: 578
    • Profil anzeigen
Re: Aufrufprobleme PID-Regler
« Antwort #9 am: 27. Dezember 2006, 18:44:05 »


Zitat
ich habe mich bisher nie getraut eine eingangsvariable aus dem programm heraus zu schreiben

Das ist auch "nur" eine Speicherzelle .



Zitat
ist den das nach iec61131 zulässig?
Weiß ich nicht.   Siemens setzt nach dem  END_IF  einen ";"   und behauptet das sei   iec61131-Konform.


Karl

Offline hugo

  • Global Moderator
  • *****
  • Beiträge: 2 150
    • Profil anzeigen
Re: Aufrufprobleme PID-Regler
« Antwort #10 am: 28. Dezember 2006, 18:26:28 »
hab das ganze mit eingangsvariblen aus einen fb schreiben probiert, es funktioniert.
jedoch werde ich erst nachlesen ob das iec confrom ist. wenn  ja mache ich die aenderung sie ist in jedem fall eine gute idee.

Offline gravieren

  • Entwickler
  • *****
  • Beiträge: 578
    • Profil anzeigen
Re: Aufrufprobleme PID-Regler
« Antwort #11 am: 29. Dezember 2006, 10:44:14 »
Hi Hugo

Zitat
werde ich erst nachlesen ob das iec confrom ist.
Hast du dazu Lektüre ?



Karl

Offline hugo

  • Global Moderator
  • *****
  • Beiträge: 2 150
    • Profil anzeigen
Re: Aufrufprobleme PID-Regler
« Antwort #12 am: 30. Dezember 2006, 12:30:09 »
habe folgendes gefunden:

in iec61131-3 von john tiegelkamp. seite 41 schreibt ganz klar das eine var_input innerhalb einer poe oder funktionsblock nur gelesen werden darf.
bei einer var_in_out ist dies anders, diese ist jedoch nur ein pointer auf die uebergebene variable, und hat weiterhin das problem der doppelten darstellung in einer grafischen sprache wie cfc


habe es zwar getetset, und unter codesys festgestellt ein funktionsbaustein kann sehr wohl eine var_input beschreiben, betrachte es aber als gefährlich so etwas zu verwenden.
für mich wäre es nur dann akzeptabel wenn die norm dies explizit erlauben würde.


fazit, in oscat wollen wir portabel bleiben und von keiner plattform abhaengig sein deshalb koennen wir dies nicht verwenden.
sorry....

Offline hugo

  • Global Moderator
  • *****
  • Beiträge: 2 150
    • Profil anzeigen
Re: Aufrufprobleme PID-Regler
« Antwort #13 am: 30. Dezember 2006, 12:34:09 »
weitere infos sch diesen link an seite 49

http://www.fen-net.de/karlheinz.john/