TIA pid regler

Peter0123

Level-1
Beiträge
26
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo SPS-Gemeinde,

Ich bin neu hier und habe folgendes Anliegen: Ich komme an einer Stelle nicht weiter.

Szenario: Ich soll eine Dosierpumpe ansteuern (Impulsgesteuert anders geht es nicht). Wenn nun die Stellgröße (Stellgröße auf 100 prozent steht dann soll die Pumpe die maximale Anzahl an Hübe pumpen bei kleinerer Stellgröße entsprechend weniger. Außerdem soll auch erst gepumpt werden, wenn der Ist-Wert < Sollwert ist. Andernfalls soll Sie nicht pumpen. Das erste Problem ist, dass die Pumpe bei hundert prozent nicht mehr pumpt, da der Ausgang dauerhaft true ist. Ich weiß leider nicht wo ich da was ändern soll. Das zweite ist, dass der Regler reagiert, wenn der Ist-Wert > Sollwert ist wo stell ich das ein. Im Anhang findest due die FC's. Ich danke euch schonmal im Voraus.




Ich habe 3 Funktionsbausteine: - FC 207-QI-01 hier kommt der Istmesswert (PH-Wert) raus (FB103 out)
- FC503 20-QI-01 pH hier ist der PId regler dieser habe ich für den Pulsweitenmodulation (PWM) eingestellt. Diesen Ausgang habe ich dann in den FC303 20P02 verwendet. dieser steuert die Dosierpumpe an.



MfG PeterAnhang anzeigen FC303 20P02 (FC303).pdfAnhang anzeigen FC207 20-QI-01 (FC207).pdfAnhang anzeigen FC503 20-QI-01 pH Wert (FC503).pdf
 
Regel-Sinn umkehren:
1. entweder hat der Regler einen Parameter, mit dem man den Regel-Sinn festlegen bzw. ändern kann
2. oder man kehrt das Vorzeichen des Regler-Ausgangs um
3. oder man kehrt die Vorzeichen von SollWert und IstWert um
4. oder man gibt SollWert und IstWert vertauscht auf den Regler.

PWM ist ungeeignet, wenn die Anzahl der Hübe die Fördermenge bestimmt.
Bei PWM ist die Summe aus ImpulsLänge und ImpulsPausenLänge normalerweise konstant. D.h. Du erhältst immer genau 1 Impuls pro PWM-Periode (ausser keine Impulse bei 0% und 100%).
Ich würde davon ausgehen, dass in Deinem Fall die ImpulsLänge konstant sein müsste und nur die Länge der Pausen zwischen den Impulsen variiert wird.
Was sagt das DatenBlatt Deiner Pumpe, wie die Pumpe betrieben werden soll/darf? (Minimale/optimale/maximale ImpulsDauer, minimale/optimale PausenLänge)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Vielen Dank für die schnelle Antwort. Im Anhang findest du die pdf-Datei der Dosierpumpe. Seite 15 dosierpumpe beta 5 180 hübe die Minute. Wie sollte ich da vor gehen. Wie gesagt ist der Istwert < Sollwert, soll die Pumpe entsprechend pumpen bis dieser bzw. über dem Sollwert liegt. dann soll sie aufhören und je näher dieser ist desto weniger soll diese Pumpen. Ist leider für mich neu.

VG

Peter
 

Anhänge

Vielen Dank für die schnelle Antwort. Im Anhang findest du die pdf-Datei der Dosierpumpe. (siehe oben. Ich weiß nicht, ob du die bekommen hast. Ist auf Jedenfall als Beitrag hinzugefügt. Seite 15 dosierpumpe beta 5 180 hübe die Minute. Wie sollte ich da vor gehen. Wie gesagt ist der Istwert < Sollwert, soll die Pumpe entsprechend pumpen bis dieser bzw. über dem Sollwert liegt. dann soll sie aufhören und je näher dieser ist desto weniger soll diese Pumpen. Ist leider für mich neu.

VG

Peter
 
Mit einem PWM-Regler wirst Du über extern (Anwahl einzelner Hübe) eher nicht glüclich werden.
Günstiger wäre da nach schneller Durchsicht vermutlich der Moduseingang Auxiliarfrequenz.
Je länger der PID-Regler am Ausgang High ist, umso mehr Hübe hast Du dann.

ALternativ gibst Du mit dem PWM-Ausgangssignal einen eingestellten Taktgenerator frei, der eine prgrammseitig gewählte Hubfrequenz möglich macht.

 
Zuviel Werbung?
-> Hier kostenlos registrieren
Warum einen pid regler wenn du nur pumpen sollst bei istwert unter sollwert?
180 hub pro min macht alle 333ms min. ein 20ms Einschaltimpuls.
Reicht da nicht einfach eine Steuerung?
Istwert unter sollwert dann pumpen. Notfalls ein Regler wo die Pausenzeit zwischen 2 Impulsen verstellt.
Die Frage ist wie schnell reagiert deine Messung auf die Veränderung
 
Zuletzt bearbeitet:
Moin Peter,

leider kann ich der Beschreibung so gut wie nichts entnehmen.
Die HubFrequenz und die HubLänge lassen sich anscheinend manuell einstellen oder auch "extern". Aber wie man extern etwas einstellen kann, bleibt mir rätselhaft.
Gibt man mit einem Signal für jeden einzelnen Hub einen Impuls aus? Die ImpulsLänge muss anscheinend >= 20 ms betragen, aber ist das schon alles, was zu beachten ist?
Und welchen Einfluss kann man wie auf die HubLänge nehmen?
Keine Ahnung.

Versuch doch bitte, vom PumpenHersteller Informationen zu erhalten.

Ich hatte auch an diversen Stellen die Information gefunden, dass von (maximal) 180 Hüben/min die Rede ist. Das entspricht einer Frequenz von 3 Hz.

Gruss, Heinileini

PS:
Auf der Website habe ich den Satz ...
"Optionale externe Ansteuerung über 0/4 - 20 mA und potentialfreie Kontakte mit Impuls Über- und Untersetzung von 64:1 bis 1:64"
... gefunden.
Also eine AnalogSchnittstelle. Finde aber keinen passenden Download (stattdessen jede Menge MaßBlätter ;) ).
 
Zuletzt bearbeitet:
Ja so wie ich das verstanden habe und aufgebaut ist. Ist ein Relay da der geöffnet und geschlossen wird und so t eine Verbindung zwischen dem Kontakt eins und 2 auf bzw abbaut. Ausgang Q01. (MFA20-04P02-K027 im Netzwerk 2 FC 303) Ist der Kontakt vorhanden kommt ein Hub. Der PID Regler braucht man für das geregelte ansteuern der DosierPumpe)

VG

Peter
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ich würde mir einen Impulsformer programmieren, mit einem Eingang von 0..100%
Die Impulsdauer würde ich fest mit z.B. 100 ms programmieren. Die Pausendauer wird anhand des Sollwerts berechnet. Bei 100% würde ich dann eine Pausendauer von 233 ms vorsehen, Maximale Pausenzeit z.B. 10 Minuten (müsste man grob abschätzen wie weit du heruntergehen willst). Bei 0% dann aber komplett aus.
 
Ob es da schon was fertiges gibt was sich genau so verhält weiß ich nicht.

Ich würde einen FB schreiben der im zyklischen OB aufgerufen wird.
Parameter:
SP: Stellgröße 0..100%
Tpuls: Pulszeit z.B. 100 ms
TpausMin: MindestPausenzeit z.B. 200 ms
TpausMax: Maximale Pausenzeit z.B. 10000ms
Q: Impulsausgang

SampleTime: Aufrufzyklus des Bausteins z.B. 100 ms

Die Pausenzeit kannst du dann berechnen mit:
Tp = SP / 100.0 * (TpausMax - TpausMin) + TpausMin

Dann mit dem Wert von SampleTime die Puls-/Pausenzeit ablaufen lassen.

Du kannst auch TON Timer für die Puls-/Pausenzeit verwenden, bei diesen wird aber eine neue Zeit nur bei einem neuen Zyklus übernommen.
 
Zuletzt bearbeitet:
Hab die Tp Berechnung oben noch mit +TpausMin korrigiert.

Was meinst du mit Skizze? Für Formeln gibt es doch jetzt auch eine Berechnungs-Box in der du direkt die Gleichung eingeben kannst.
 
Okay wo findet man die berechnungsbox. Kann man das dann mit FB111 realisieren siehe Anhang. was gebe ich da beim Start ein. Ich denke im Impuls sek gebe ich die sekunden ein für die impulsdauer bzw. für die Impulspause. Und beim Start den Ausgang vom PID-Regler. Oder funzt das nicht. kann es leider nicht simulieren.
 

Anhänge

Zuviel Werbung?
-> Hier kostenlos registrieren
Basierend auf 180 Impulsen pro Minute bei 100% - entsprechend 3 Hz und einer PeriodenDauer von 333 ms - wäre mein Ansatz:
- die ImpulsDauer und die minimale ImpulsPause auf eine halbe 3-Hz-Periode von 167 ms festzulegen
- die Prozentzahl in die dazu proportionale entsprechende Frequenz umzurechnen und daraus die PeriodenDauer (= ImpulsLänge + PausenLänge) zu ermitteln. Hiervon wird noch die konstante ImpulsDauer von 167 ms subtrahiert und man erhält die PausenDauer.

Für z.B. 1% erhält man damit eine PausenDauer von 33.167 ms. Immerhin eine Pause von über einer halben Minute.
Man müsste also die kleinste "zulässige" Prozentzahl, die grösser als 0 ist, so festlegen, dass die PausenDauer nur so lang werden kann, dass eine vom Regler angeforderte Verkürzung der PausenDauer auch in einer vertretbaren Zeit umgesetzt werden kann.
Prozentzahlen, die kleiner als die "kleinstzulässige" sind, führen dazu, dass keine Impulse (und insbesondere keine ImpulsPausen!) ausgegeben werden.
 
Ich kenne die Anwendung nicht aber bei unseren Kunden im Bereich Wasser & Co. werden die Pumpen eingeschaltet
und dosieren bis der Wert erreicht ist + Hysterese.
Grundfos oder Prominet wie bei Deiner Pumpe immer nur über den Stopp-Kontakt und nichts mit PID Regler & Co....
Das ist bei Dir bestimmt keine Laboranwendung sonst hättest Du auch eine andere Dosierpumpe.

Aber wie gesagt ich kenne deinen Anwendungsfall nicht.
 
Ich habe solche Dosierpumpen schon in mehreren Anwendungen außerhalb des Labors angebunden. Meistens bei der Trinkwasseraufbereitung, oder auch im Abwasserbereich oder bei Biogasanlagen um das ein oder andere Mittelchen zu dosieren. Zur Enthärter-Dosierung mache ich das beispielsweise mengenproportional zur Abgabemenge. Da rechne ich dann die Abgabemenge und gebe eine entsprechende Anzahl an Hüben dazu.
Aus dem ersten Post ist ersichtlich, dass er wohl eine pH-Wert Regelung machen möchte. Je nach dem was und wohin er da dosiert, kann das schon mal sehr nichtlinear sein. D.h. man dosiert eine lange Zeit und es zeigt sich keine Reaktion, und dann auf mal gibt es eine sprunghafte Änderung. Und je nach Pufferkapazität ist das Zeitverhalten dann auch noch anders.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Das stimmt Thomas, das hat mein Vorgänger so gemacht. Und ich steh auf den Schlauch, weil ich nicht so weiss wo ich da jetzt was anpassen soll. Vorher war es eine DosierPumpe mit 4 bis 20mA als Zusatzfunktionen drin und sie konnte auch impulsgesteuert werden. Diese hier hat jetzt nur eine Impuls Steuerung. Eig. Sollten beide Optionen drin gewesen sein. Aber irgendwas fehlt denke ich. Das sieht man auch im Netzwerk 3 der FC 20 P01 oder 3 da ist eine oder Verknüpfung betätigt man den Taster läuft die mit 4 bis 20 MA betätigt man nicht läuft mit pwm bzw umgekehrt. Oder versteh ich das falsch?
 
Reicht das nicht wenn man in der minimalen einstellzeit vom regler 0,04 Sekunden einträgt und in minimale ausschaltet 0,2933 Sekunden einträgt?

Max. 180 Impulse pro min
3 Impulse pro sek

1 / T = 1/3 =0,333 sekunden

Mindest signal was die Pumpe benötigt für die Erkennung 20ms

Ich hab da das doppelte genommen um auf Nummer sicher zugehen. Also 40ms =0,04 Sekunden minimale einschaltzeit

Minimal Ausschaltzeit = 0,333-0,04 = 0,2933 sekunden
 
Reicht das nicht wenn man in der minimalen einstellzeit vom regler 0,04 Sekunden einträgt und in minimale ausschaltet 0,2933 Sekunden einträgt?
Was hat jetzt der Regler damit zu tun, wie das Signal zum Ansteuern der Pumpe aussehen soll? :confused:
Reitest Du etwa immer noch auf dem Thema PWM herum? Absolut ungeeignet, da die PeriodenDauer bei PWM konstant sein dürfte, sie aber DAS entscheidende Merkmal für die FörderMenge ist und dauernd angepasst werden muss.
Oder wird die PWM vergewaltigt, um ständig die PeriodenDauer zu variieren?

Max. 180 Impulse pro min
3 Impulse pro sek

1 / T = 1/3 =0,333 sekunden

Mindest signal was die Pumpe benötigt für die Erkennung 20ms
Ja, so weit waren wir uns alle einig, glaube ich.
Wir wissen aber nach wie vor nicht, ob der Impuls, der länger als 20 ms sein muss, um überhaupt sicher erkannt zu werden, mit seiner Länge einen Einfluss darauf hat, wie lange der Kolben bzw. die Membran tatsächlich "gehubt" wird. Diese Zeit könnte in der Pumpe festgelegt und unabhängig von "unserer" ImpulsDauer sein.
Wir wissen auch nicht, wie lange der Kolben bzw. die Membran zwischen 2 Impulsen "ungehubt" sein muss, um für den folgenden Hub die der eingestellten HubLänge entsprechende FlüssigkeitsMenge "ansaugen" zu können.
D.h. über das TastVerhältnis Impuls zu ImpulsPause wissen wir rein gar nichts. Ich gehe der Einfachheit halber von 1:1 aus, also ca. 167 ms als minimale ImpulsDauer und als minimale ImpulsPause.

Lediglich die maximale Frequenz und damit die minimale PeriodenDauer können wir aus der Beschreibung erahnen.

Könntest Du mal einen Hinweis spendieren, in welcher GrössenOrdnung Deine ZyklusZeit liegt?

PS:
Minimal Ausschaltzeit = 0,333-0,04 = 0,2933 sekunden
:confused: :confused: :confused:
 
Zuletzt bearbeitet:
Zurück
Oben