PID Reglerausgang richtig verwenden
Hallo zusammen,
ich habe ein grundlegendes Problem, wie ich meinen PID-Reglerausgang richtig für eine Ansteuerung meiner Hardware verwenden soll.
Hierzu ersteinmal ein paar Infos zur Anlage. Die Anlage besitzt einen Pumpenstand, der aus einem Verarbeitungsprozess Feuchtigkeit entzieht. Die Feuchtigkeit, wird von einem im Prozessverlauf untergebrachten Sensor gemessen und über ein Fieldpoint AI Signal an LabVIEW übergeben. In LabVIEW soll der Pumpenstand geregelt werden, so dass immer eine bestimmte Feuchte im System ist. Durch den Verarbeitungsprozess kommt allerdings immer neues Wasser in das System hinein, weswegen der Pumpenstand immer auf einem gewissen Level laufen muss.
Das Steuern des Pumpenstandes über das FieldPoint AO und das erfassen der Feuchtigkeitswerte über den AI des Fieldpoints funktioniert einwandfrei. Der Pumpenstand kann Werte zwischen 0 und 1 Bar stufenlos anfahren und halten. Den gewünschtenDruck kann man mit einem entsprechenden analog Signal von 4mA bis 20mA anfahren.
Um die Sache zu vereinfachen gehe ich nur von einem P-Regler aus. (dieser wird nicht ausreichen um das System zu regeln, ist aber anschaulicher für das Problem). Nehmen wir an, der Istwert der Feuchtigkeit liegt bei 60% und ich gebe einen Sollwert von 40% vor. Der Fehler, der in den P-Regler hineingeht beträgt demnach 20%. Dieser wird mit dem P-Anteil multipliziert und auf den Ausgang gelegt (z.B. eine Range von -100 bis +100). Nehmen wir zur Vereinfachung einmal an, dass der P-Anteil 1 wäre. Dann würde am Reglerausgang 20% herauskommen. (Das würde einfach nur dem momentanen Fehler entsprechen).
Nun ist aber die Frage, wie gehe ich weiter mit diesem Signal vor? Den Ausgang des Reglers, sprich 20%, auf den mA Bereich des Pumpenstandes zu setzen würde keinen Sinn ergeben. Falls der Fehler 0 wäre, wäre des Ausgang des Reglers 0 und der Eingang an den Pumpenstand wäre 0mA (den ich dann natürlich auf 4mA hochsetzen würde). 4mA bedeutet aber beim Pumpenstand, dass er gar nicht saugen soll, also 1 Bar anfahren soll.
Momentan habe versucht das Problem zu lösen, in dem ich den Reglerausgang pro Schleifendurchgang prozentual auf den aktuellen Istwert vom Pumpenstand hinzuaddiere. Dies schien mir das Geeigneteste zu sein. Allerdings würde ich hier das Problem hinzubekommen, dass die Geschwindigkeit der While-Schleife in der das ganze liegt, direkten Einfluss darauf hat, wie schnell der Pumpenstand hochgeregelt wird. Ich denke, bei einem schnellen System, was schnell auf eine Änderung reagieren würde, wäre das ok. Allerdings vergeht ca. 1-2 Minuten bevor die Auswirkung des Pumpenstandes Einfluss auf die gemessene Feuchte hat.
Hat hier jemand evtl. Erfahrungen mit ähnlichen Problemen sammeln können und kann einem da evtl. weiterhelfen? Ich hoffe meine Erklärung an sich ist leicht zu verstehen.
|