Temperatur Regelung

Zuviel Werbung?
-> Hier kostenlos registrieren
Wie sich meine Strecke im einzelnen verhält kann ich leider noch gar nicht sagen, bis auf die Aussage, dass mein Motor halt 96,15s für einen Weg braucht.

Diese ganze Anordnung habe ich zweimal, einmal mit einem 3000 Liter Peer-Behälter und einmal mit einem 300 Liter Peer-Behälter.
 
Hallo,
ich habe ein ähnliches Problem auch ich möchte mit einem Stellventil, das über zwei Signale (Auf/ Zu) angesteuert wird, einen Durchfluss regeln. Auch ich habe mich für den FB 42 (CONT_S) entschieden.

@wwwandy: der fb42 ist doch ein Schrittregler mit einen qlmnUP (auf) und einen qlmnDN (zu) ausgang um ein solches Stellglied zu steuern oder habe ich das falsch verstanden?

Ich habe auch schon das Beispiel von Siemens runtergeladen bekomme es aber, genau wie meine eigene Anwendung, nicht zum Regeln.

grüße
 
Zuviel Werbung?
-> Hier kostenlos registrieren
@wwwandy: der fb42 ist doch ein Schrittregler mit einen qlmnUP (auf) und einen qlmnDN (zu) ausgang um ein solches Stellglied zu steuern oder habe ich das falsch verstanden?
grüße

Nein, mein Fehler, tut mir leid auch @Iserlohner, bin vom FB41 CONT_C ausgegangen.

Link: https://support.automation.siemens.com Artikel 1214574

FB59 ist im Paket "PID Temperature Control". Hab leider meinen SimaticManger gerade nicht da und die Bausteine im Kopf verdreht...

Gruß von Andy
 
also hab ich das schon mit dem FB42 alles so richtig....

Fragt sich nur, wie ich am besten meine Anzeige 0-100% Stellung Ventil hinbekomme....
 
So, ich hab den Screenshot von Iserloher angesehen.
Der Ausgang PV soll sich natürlich nur ändern, wenn sich auch PV_IN, bzw. PV_PER (wenn PVPER_ON=1) sich ändert.

Vorschlag:
Skalier PEW312 normal mit SCALE (glaube FC105) schreib die Isttemperatur in ein DBD. Dieses dann an PV_IN.
PVPER_ON muss dann FALSE sein.
Handbetrieb ist ja dann LMNS_ON, deine Taster für den Handbetrieb an LMNUP/LMNDN.
Als Sollwert(SP_INT) würde ich mal einen MD nehmen zum testen.
Einstellungen für GAIN, TI, DEADB_W hängen von deiner Strecke ab. Würde ich vorerst mal auf default (wenn unbeschaltet) lassen. Appropos: Führst du am anfang mal Initialisierung mit COM_RST durch?
PULSE_TM und BREAK_TM hängen von deinem Stellglied ab, ich würde beide mal 1s machen. MTR_TM kommt deine Laufzeit 96s ran.

Wenn der Sollwert SP_INT dann z.B. kleiner als PV_IN ist, sollte QLMUP "pulsen" um dein Ventil aufzumachen. Und halt andersrum.

LMNR_SIM usw. kannst du im Instanzdatenbaustein sehen, zum parametrieren würde ich dir "PID Control parametrieren" (irgendwo im Startmenü bei der Simatic Software)

HTH, Gruß Andy
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Fragt sich nur, wie ich am besten meine Anzeige 0-100% Stellung Ventil hinbekomme....

Achso, das ist natürlich kritisch....
LMNR_SIM zeigt die simulierte Position, allerdings läuft die immer weiter von der realen Position weg, da ja über die Stellgröße integriert wird. Sind 2 Endschalter dran, kann die Position zumindest an den Anschlägen korrigiert werden. Aber ohne Anschläge(die du regelmäßig anfahren kannst) oder Positionsaufnehmer kannst du das absolut vergessen. Die "Schätzung" läuft mit der Zeit immer mehr weg. Gruß Andy
 
ok schon im DB gefunden, aber der Wert ist Null....
wird mir da die Stellung des Ventils angezeigt?? Wenn ja wie??
Ich denke ich werde mich für eine Rückmeldung der Endlagen stark machen..
 
Zuviel Werbung?
-> Hier kostenlos registrieren
ok schon im DB gefunden, aber der Wert ist Null....
wird mir da die Stellung des Ventils angezeigt?? Wenn ja wie??
Ich denke ich werde mich für eine Rückmeldung der Endlagen stark machen..

Ist der Wert auch noch null, nachdem initialisiert wurde und die Ausgänge eine zeitlang versucht haben das Ventil zu verstellen? Am Schönsten wäre eine analgoe Stellungsrückmeldung, zur Not (wenn es der Prozess zulässt) auch nur Endschalter die zyklisch angefahren werden.

Gruß
 
ja ich initialisiere mit dem ob100 nach neustart der sps...
aber der LMNR_SIM hat die ganze zeit null
sonst klappt alles...
nur der ER ausgang verändert seine werte, obwohl laut beschreibung eigentlich ohne funktion...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
axo ok...

ich hab jetzt auch durch, dass ich abfragen für die endlagen der stellventile bekomme, also für 100% und 0% Stellung..

kannst du mir da noch mal auf die sprünge helfen, wie ich dann meine Anzeige (Balken 0-100%) realisiere?
 
also jetzt hab ich in der simulation die eingänge für die endlagen beschaltet und das klappt auch, aber ich habe absolut kein signal an lmnr_sim

wo dran könnte das liegen???
 
Ich empfehle dir jetzt wirklich mal die Beschreibung zu FB42 zu lesen...
Ich zitiere:
<< Die Simulation der Stellungsrückmeldung erfolgt durch einen Integrierer mit der Motorstellzeit MTR_TM als Integrationszeitkonstante. Durch Umschaltung des Parameter LMNRS_ON von FALSE auf TRUE wird die Simulation mit dem Start-wert LMNRSVAL gestartet. Steht LMNRS_ON auf FALSE, so wird am Parameter LMNR_SIM der Startwert LMNRSVAL ausgegeben. Die Parameter LMNRS_ON, LMNRSVAL und LMNR_SIM liegen im statischen Variablenbereich. Sie werden bedient von der Projektiersoftware. Ist LMNR_HS = TRUE wird die Integration nach oben gesperrt. Ist LMNR_LS = TRUE wird die Integration nach unten gesperrt.
Warnung
! Die Stellungsrückmeldung wird lediglich simuliert. Sie muß nicht übereinstimmen mit der realen Stellungsrückmeldung des Stellventils.
Die PID–Parameter–Optimierung der Projektiersoftware benötigt die Stellungsrückmeldung als Eingangsgröße. Ist eine reale Stellungsrückmeldung vorhanden, so sollte diese auch genutzt werden.>>
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich empfehle dir jetzt wirklich mal die Beschreibung zu FB42 zu lesen...
Ich zitiere:
<< Die Simulation der Stellungsrückmeldung erfolgt durch einen Integrierer mit der Motorstellzeit MTR_TM als Integrationszeitkonstante. Durch Umschaltung des Parameter LMNRS_ON von FALSE auf TRUE wird die Simulation mit dem Start-wert LMNRSVAL gestartet. Steht LMNRS_ON auf FALSE, so wird am Parameter LMNR_SIM der Startwert LMNRSVAL ausgegeben. Die Parameter LMNRS_ON, LMNRSVAL und LMNR_SIM liegen im statischen Variablenbereich. Sie werden bedient von der Projektiersoftware. Ist LMNR_HS = TRUE wird die Integration nach oben gesperrt. Ist LMNR_LS = TRUE wird die Integration nach unten gesperrt.
Warnung
! Die Stellungsrückmeldung wird lediglich simuliert. Sie muß nicht übereinstimmen mit der realen Stellungsrückmeldung des Stellventils.
Die PID–Parameter–Optimierung der Projektiersoftware benötigt die Stellungsrückmeldung als Eingangsgröße. Ist eine reale Stellungsrückmeldung vorhanden, so sollte diese auch genutzt werden.>>


Also das steht so nicht in meiner Hilfe, wenn ich am baustein F1 drücke....

meine Hilfe beschreibt nur die parameter des FB42 die auch am FUP-Baustein zu beschalten sind..
die Parameter des Instanz DB sind bei mir gar nicht beschrieben

kannst du mir den text den du da kopiert hast vielleicht mal für mich "übersetzen" was das im klartext für mich heisst?
 
kannst du mir den text den du da kopiert hast vielleicht mal für mich "übersetzen" was das im klartext für mich heisst?

Also LMNRS_ON musst auf 1 setzen, wenn du die simulierte Stellung an LMNR_SIM haben willst. Kannst du dein simuliertes Projekt online legen? Dann würde ich heute abend (Zeit vorrausgesetzt) mal reinschauen.
 
das wäre cool wenn du da mal schaun könntest...
ist bisher nur ein grobes gerüst...
vielen dank
 

Anhänge

  • 2009-09-09.zip
    3 MB · Aufrufe: 14
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,
hab nur kurz drüber geschaut, ist ja ein ganzes Projekt...
Also du muss halt im Instanzdatenbaustein für den Regler LMNRS_ON=True setzen. An LMNR_SIM (im InstanzDB) siehst dann deine simulierte Ventilstellung. Um diese an den Endlagen zu aktualliesieren würde ich sowas wie:
Code:
      U     Enschalter_AUF
      SPBNB _001
      L     1.000000e+002
      T     InstanzDB.DBD   68
_001: NOP   0
      U     Endschalter_ZU
      SPBNB _002
      L     0.000000e+000
      T     InstanzDB.DBD   68
_002: NOP   0

machen. Aber wie gesagt läuft dir die Simulation vom der realen Lage mit der Zeit weg. Falls es der Prozess zulässt, kannst du den zurückgelegten Wert summieren und bei überschreiten eines Grenzwertes eine Referenzfahrt durchführen.

Also z.B. Ventil ist schon 2000% Weg (20 schließ+öffnungszyklen) gefahren. Dann fährt das Ventil kurz in Endlage ZU (Regler dafür anhalten) und anschließend wieder auf alte Position und Regler wieder aktivieren.
Gruß von Andy
 
vielen dank....
hast du noch irgendwie ein handbuch zu reglern oder so?
in meiner hilfe mit F1 ist da nix zu geschrieben, ich hab noch von siemens so ne sammlung handbücher aber in "STEP 7 - PID Control" und in "STEP 7 - PID Temperature Control" steht davon auch nix...
auf jedenfall klappt mein balken jetzt....
und endschalter für 100% und 0% habe ich jetzt auch an den stellventilen, damit sollte doch das problem, dass mir der simulierte wert "wegläuft" behoben sein oder nicht?
 
Also ich hab einfach nach LMNRS_ON gegoogelt und das 3.Ergebnis war
https://a248.e.akamai.net/cache.automation.siemens.com/dnl/Dc0Mzc4NQAA_1137082_HB/Pid_d.pdf

Dort steht z.B. auf Seite 77
Simulation der Stellungsrückmeldung
Die Simulation der Stellungsrückmeldung erfolgt durch einen Integrierer mit der
Motorstellzeit MTR_TM als Integrationszeitkonstante. Durch Umschaltung des
Parameter LMNRS_ON von FALSE auf TRUE wird die Simulation mit dem Startwert
LMNRSVAL gestartet. Steht LMNRS_ON auf FALSE, so wird am Parameter
LMNR_SIM der Startwert LMNRSVAL ausgegeben.

Ist ein bißchen besser beschrieben als die Hilfe mit F1.
Die Simulation geht ja davon aus, dass dein Ventil sofort anläuft wenn das Relais angzieht und auch abfällt, außerdem dass das Ventil IMMER MTR_TM Sekunden für den Weg braucht usw. In der Realität wird das Ventil aber mal schwergängiger oder reagiert eben nicht sofort. Diese Fehler summieren sich mit der Zeit auf. Wieviel müsste man durch ausprobieren rausfinden (ich denke du kannst ja die Stellung irgendwo mechanisch ablesen).
Hast du die simulierte Position wie oben von mir beschrieben mit den Endschalter auf 0% bzw. 100% gesetzt?

Also ein Test wäre:
Fahr das Ventil in Endlage 0%, simulierter Wert muss dann auch 0% sein,
fahre dann das Ventil von Hand auf 10% und markiere die wirkliche Position. Dann von Hand 10mal auf 80% und wieder zurück auf 10% fahren. Stimmt nun die simulierte Position noch mit der Realität überein?

Wie oben schon beschrieben würde ich den zurückgelegten Wert aufsummieren und bei überschreiten einer Konstanten eine Referenzfahrt (auf 0%) durchführen lassen. Sollte bei einer trägen Regelung ja nicht weiter weh tun. Es gäbe auch die Möglichkeit durch einen zusätzlichen Näherungsschalter die Position zu referenzieren, die im Normalbetrieb vorkommt. Also angenommen du stellst fest, dass das Ventil für den Sollwert von 55°C meistens bei 60% Ventilweg steht. Dann dort bei 60% einen Näherungsschalter und bei positiver Flanke den simulierten Wert auf 60% setzen. Dann ersparst du dir vielleicht die Referenzfahrten.

Aber nochmals: Wenn du gar nichts in diese Richtung unternimmst, wird der simulierte Weg immer mehr von der Realität abgweichen. Übrigends bin ich Abends ab und zu im IRC sps-forum chat.

Gruß von Andy
 
Zurück
Oben