Ist ein fertiger Regelbaustein überhaupt nötig?

stephan282

Level-1
Beiträge
36
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Nabend zusammen! Ich habe folgendes Problem. Um ein 3 Wegeventil in einer Heizungsanlage zu steuern muss ich eine stetige Regelung entwerfen. Es soll folgendes passieren: Von einem Touchpanel bekomme ich als Sollwert z. B. 60° C vorgegeben. Ein PT100 gibt mir als Istwert z.B. 70 °C oder 50 °C vor.Wenn diese 60 °C also unter bzw. überschritten werden, soll das Ventil sich so einstellen ,das wieder die 60 °C erreicht werden. Ich habe schon dermaßen viel Material hier im Forum oder auch auf zig anderen seiten über den fb41 und den fb58 gelesen, dass ich jetzt nicht richtig weiß wie ich die Sache angehen soll. Ist für solche Regelung denn überhaupt so ein Regelbaustein notwendig?
Es ist auch das erste Mal, das ich so eine Regelung entwerfen muss. Ich weiß aller Anfang ist schwer, aber vielleicht könnt ihr mir nützliche Tipps geben.
Gruss an Alle !
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Mmh! Einen Baustein selber zusammenbauen,ok! Und wie kann ich mir das vorstellen? Habe mich eigentlich auch schon ziemlich in den fb41 reingelesen und rumprobiert, nur leider ohne glückliches Ende. Mein Problem hab ich auch schon bei Siemens Hotline geschildert, und die haben mir den fb58 empfohlen. Wat nu?
 
Du könntest das ganze mit einem Faktor...

vieleicht einfacher hinbekommen.

Beispiel: Du hast die Ventilstellung im Proggi von 0-100%. Ist es zu kalt, erhöst du in Zeitschritten langsam. Und andersherum wird gesenkt...

Es ist natürlich wichtig die Zeit einigermaßend träge einzustellen um ein überschwingen zu vermeiden (ich benutze sowas ähnliches für Rauchgasreinigungsanlagen, und die sind träge :cool: ).

Einstellbar wäre dann:
- Zeitschritt
- Verstellung
- mann könnte noch delta Schwellwerte mit einbauen um ein schnelleres nachsteuern zu ermöglichen. Am besten als % Vorgabe damit man bei einer anderen Temperaturvorwahl nicht alle Parameter neu einstellen muß...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo stephan,

ich würde dir zu dem FB41 raten. Es ist eigentlich garnicht so schwer, den Regler zum Funktionieren zu bringen. Sollwert, Istwert und Parameter, viel mehr ist eigentlich nicht notwendig. Wo genau liegt dein Problem? "Geht nicht" reicht nicht, um Ratschläge zu geben.

Wie wird das Ventil gesteuert, stetig (0..10V) oder 3-Punkt (Auf/Halt/Zu)?

Was AndreK beschreibt, wird sicherlich in bestimmten Fällen ausreichend funktionieren. Es gleicht jedoch der Quadratur des Kreises ;) .


Gruß, Onkel
 
Was AndreK beschreibt, wird sicherlich in bestimmten Fällen ausreichend funktionieren. Es gleicht jedoch der Quadratur des Kreises ;) .


Gruß, Onkel

Nö, das mit der Quadratur haben Mathematiker von Euclid bis in die frühe Neuzeit erfolglos probiert, bis man beweisen konnte, daß PI keine rationale Zahl ist.

Das andere ist nicht so schwer:
diff=Soll-ist
if (diff>hysterese) and (pulse) ventilZu;
if (diff<hysterese) and (pulse) ventilAuf;Dabei ist "pulse" ein Signal, das für eine bestimmte Zeit high ist und danach eine normalerweise längere Zeit low, damit man erst mal abwarteten kann, welcher neue Istwert sich einstellt.
Das funktioniert, wenn du nicht so schnell wie möglich den Sollwert erreichen mußt.
Hystere ist dafür da, damit das Ventil nicht dauernd arbeitet, weil es immer ein bischen zu warm oder zu kalt ist.
 
Hi,

ich hab auch schon mal mit so einer Wärmetauschers...ache zu tun gehabt. einmal wars ne Heizungsregelung, ein anderes Mal das Kühlmittel eines BHKW. Drei-Wege-Ventil, Belimo Stellantrieb ohne Stellungsrückmeldung (also integrierend), nur ein Kontakt für ganz offen und einer für geschlossen.

Ich hab daraus eine Schrittkette gemacht. Zunächst hab ich bei Anlauf der Anlage geprüft, ob der Antrieb bis ganz zu und anschließend bis ganz auf läuft, dann zeitgesteuert eine Mittelstellung angefahren. Dann habe ich immer eine feste Zeit auf Prozessreaktion gewartet. Dann hatte ich zum Grobregeln eine Abfrage "wenn große Differenz" dan "fahre großes Stück" in entsprechende Richtung. Zum dann Feinregeln "wenn Abweichung größer Hysterese" dann eben "kleines Stück fahren" in entrsprechender Richtung. Und dann noch das Ganze asymetrisch, weil wenns anfängt, zu kochen, wirds unangenehm. d.h. wenn Isttemperatur des Motors deutlich zu hoch, dann drastischer Eingriff. ansonsten langsam von unten herantasten.

Das darf nur nicht mein ehemaliger Arbeitgeber aus der Regelungstechnik lesen - damals war Vorgabe: kein Expertenwissen im Regler!

Gruß und viel Spass beim Regeln.

PS: FB??? wwi? tschuldigung, das erste Projekt war damals noch mit S5, das zweite Projekt mein erstes mit S7.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo! Erstmal Danke für die rege Teilnahme. Um mal auf Onkel Dagoberts Fragen einzugehen!Also meinst du der fb41 ist am geeignetsten, ja? Also das 3 Wegeventil bekommt 4-20 mA von der SPS und soll in Abhängigkeit von einem PT100 Auf/ Halt/ Zu gefahren werden. Das elektrische Signal wird dann von einem I/P Wandler in ein pneumatisches Signal umgewandelt. Aber das Ventil soll nicht sprungartig öffnen und schließen sondern langsam auf -und zu fahren. Wäre da eine Zeitvorgabe sinnvoll, die meinetwegen alle 5 s. den Wert abfragt und dann das Ventil langsam regelt?Wie kann ich das dann dem fb41 angeben? Gruß Stephan
 
Hallo stephan282,

also der FB58 ist meines erachtens nicht komplizierter sondern bietet mehr Möglichkeiten, die man sehr oft nicht braucht. So kann man da die Änderungsgeschwindigkeit des Stellsignales begrenzen , so wie von Dir gewünscht.
Wichtig ist die Stellgröße anzupassen, die ist beim generieren des Instanz-DB 0-100% wenn Du also mittelstellung am Ventil hast, wären das 50% stellwert, du must dann das Analogventil auch mit 0-100% Scalieren.
Ich mache es meistens so, das ich -100%(kühlen) bis +100% (heizen) vorgebe.
Den FB solltest Du über den OB35 aufrufen, den kannst Du in den Hardwareeigenschaften auf z.B. alle 5 sekunden stellen, dann must Du dem Regler aber mitteilen, das er eine Zeitbasis von 5s hat. Dies wir am Parameter Cycle angegeben.
Am Anfang zum testen würde ich I (I_Sel) und D (D_Sel) abschalten um erst einmal den Regler zu testen. Den P-Anteil mal aus dem Bauch heraus auf 5.00, d.h ein Grad differenz Soll-Ist ergeben 5% am Ausgang.
 
Hallo Zottel, hallo Perfektionist,

Entschuldigung, aber was ihr beschreibt ist schlicht und ergreifend Pfusch (mangelhaft ausgeführte Arbeit). "Expertenwissen", ich fasse es nicht. Warum gebt ihr in aller Öffentlichkeit derart bescheuerte Ratschläge? Und stolz darauf seid ihr wohl auch noch?

Wenn die S7 keine Gleitpunktarithmetik bieten würde, wäre es vielleicht aktzeptabel. Aber es werden heute fertige PID-Regler mitgeliefert. Man muss sie nicht einmal selber schreiben. Wozu also dieses aufwändige, laienhafte Drumherumprogrammieren?

Tut mir Leid dass ich mich etwas deutlicher ausdrücken musste.


Gruß, Onkel
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie wird das Ventil gesteuert, stetig (0..10V) oder 3-Punkt (Auf/Halt/Zu)?

ich habe wohl etwas voreilig geantwortet - hätte wohl die Beantwortung dieser Frage abwarten sollen. Es gibt Anlagenbauer, die eine Rückmeldung und im vorliegenden Fall sogar eine Modifikation der Verstellgeschwindigkeit mit einbauen. Meine Lösung war ohne - und dementsprechend nicht passend für die vorliegende Anlage. Bitte meinen daher überflüssigen Beitrag zu entschuldigen.
 
Zuletzt bearbeitet:
Hallo Zottel, hallo Perfektionist,

Entschuldigung, aber was ihr beschreibt ist schlicht und ergreifend Pfusch (mangelhaft ausgeführte Arbeit). "Expertenwissen", ich fasse es nicht. Warum gebt ihr in aller Öffentlichkeit derart bescheuerte Ratschläge? Und stolz darauf seid ihr wohl auch noch?
Nein, nicht stolz. Aber die Frage war, ob es NÖTIG ist, einen fertigen Reglerbaustein einzusetzen. Und mit der Quadratur des Kreises hast du provoziert. Richtig ist, daß ich stillschweigend angenommen habe, daß das Ventil mit Auf- und Zu-Impulsen gesteuert wird.
Der "Vorteil" des fertigen FB ist sicher, daß er getestet ist und alle Reglerparameter explizit dastehen (können). Ebenso KÖNNEN Ein- und Ausgangsgrößen in gebräuchlichen Einheiten angegeben werden.
Wenn die S7 keine Gleitpunktarithmetik bieten würde, wäre es vielleicht aktzeptabel. Aber es werden heute fertige PID-Regler mitgeliefert. Man muss sie nicht einmal selber schreiben. Wozu also dieses aufwändige, laienhafte Drumherumprogrammieren?
Aber das braucht zehnmal soviele Programmzeilen und man muß die Parameter ermitteln. Es lohnt sich nicht IMMER. Es gibt auch immer noch Bimetallthermostate, obwohl man eine S7 mit Temperatursensor und Regler-FB nehmen KÖNNTE.
Man könnte auch einen LQG-Regler verwenden und ihn optimieren, Stellbewegungen des Ventils zu minimieren. Spart Energie und Verschleiß. Wozu also das laienhafte Festhalten an PID-Reglern? Oder wäre DAS Pfusch, weil es dafür noch keinen FB von Siemens gibt? Oder ist in Zeiten des Klimawandels jetzt nicht ALLES ANDERE Pfusch, weil man ja ein paar kWh sparen könnte?
 
... gut gebrüllt, Löwe ...

Wenn man das vorhandene immer als Dogma nimmt, dann erzielt man auch keine Weiter-Entwicklung ...

Ob das in diesem Fall auch so ist, ist dafür völlig unerheblich ...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
gibt es irgendwo bei den Programmierstrategien schon einen Thread über das für und wider von PID-Algorithmen? Hätt mal Lust,
1. mich upzudaten.
2. mal wieder eine schöne Grundsatzdiskussion zu haben.
 
Hier gibt es Streit und ich bin nicht dabei... das ändere ich mal schnell.

Ich würde zu einem der Standard PID Bausteinen greifen. Diese Bausteine triffst Du ja überall und wenn Du Dich damit mal auseinandergesetzt hast, ist das nächste Zusammentreffen nicht mehr so schlimm.
 
Ich habe da vielleicht was...

Ich habe hier was dran gehangen.

Das ist eigentlich ein kleiner Regelbaustein für die Steuerung einer Pumpe, aber das kannst auch für dein Ventil nehmen.

Als Istdruck nimmst du deine Isttemperatur, Grenzwert ist ja klar, den 0-100% Ausgang(FU_Soll) skalierst du auf deinen Strom-oder Spannungsausgang.

Das Teil ist in der Deklaration in Wörtern geschrieben. Wie das mit Int geht, weiss ich noch nicht.

Für den Sollwert nimm einfach ein Datenwort oder ein Merkerwort, das sonst nicht in Gebrauch ist.

Für den Takt nimm nen Sekundentakt.

Gruss Dabbes
 

Anhänge

  • Neu Microsoft Word-Dokument.doc
    27 KB · Aufrufe: 60
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Zusammen! Sitze gerade mal wieder davor den fb41 zu parametrieren!
An welchen Eingang kommt denn mein Istwert wenn er von einem PT100 direkt kommt? Der Wert ist in einem db1 hinterlegt worden als Realzahl. Und wenn mein ich mein Ventil anschliessen möchte,an welchen Ausgang kommt es? Den Sollwert habe ich an SP INT geschrieben, ist das korrekt? Der Sollwert wird mir von einem Touchpanel vorgegeben und ist ebenfalls im db1 hinterlegt.Zusätzlich möchte ich auch noch eine Hysterese vorgeben. Fragen über Fragen! Sitze an meiner Facharbeit und komme nicht wirklich voran! Brauche verständliche Tipps von Euch! Gruß Stephan
 
Hallo Zusammen! Sitze gerade mal wieder davor den fb41 zu parametrieren!
An welchen Eingang kommt denn mein Istwert wenn er von einem PT100 direkt kommt? Der Wert ist in einem db1 hinterlegt worden als Realzahl.

PV_IN nutzen und PVPER_ON auf FALSE setzen.

Und wenn mein ich mein Ventil anschliessen möchte,an welchen Ausgang kommt es? Den Sollwert habe ich an SP INT geschrieben, ist das korrekt?

LMN bzw. LMN_PER für die Baugruppe als Word, Parameter für Grenzwerte/Skalierung beachten.

Ja.

Der Sollwert wird mir von einem Touchpanel vorgegeben und ist ebenfalls im db1 hinterlegt.Zusätzlich möchte ich auch noch eine Hysterese vorgeben.

DEADB_W > 0.0 setzen

Fragen über Fragen! Sitze an meiner Facharbeit und komme nicht wirklich voran! Brauche verständliche Tipps von Euch! Gruß Stephan

Das grundlegende Dokument zum FB41 hat nur 42 Seiten (Step7 - PID-Control unter /Simatic/Dokumentation/Deutsch);)
 
Zurück
Oben