-> Hier kostenlos registrieren
Guten Tag,
ich bin leider mal wieder auf ein Problem gestoßen, was für mich als Anfänger, nicht gerade einfach zu lösen ist.
Und zwar programmiere ich ausschließlich in FUP. Was ich benötige ist ein Regler, der sich einem Wert annähert, sobald der Wert überschritten ist aber nicht in die andere Richtung regelt.
Als Beispiel:
Ich habe einen Wasserhahn, bei dem ich einen Öffnungsgrad zwischen 0-100% einstellen kann. Ich möchte einen festen Volumenstrom von 15 l/min einstellen. Im Idealfall hätte ich gerne einen Regler, der jede Sekunde den Öffnungsgrad um 1% erhöht, dann den Volumenstrom kontrolliert und merkt: Nicht erreicht, nächste Sekunde wieder weiter öffnen. Wenn bei 55% Öffnung jetzt ein Volumenstrom von 15,5 l/min getroffen wird, soll dieser Wert einfach behalten werden und nicht verringert werden. In meinem realen Prozess habe ich nämlich eine Hysterese, wodurch das Runterregeln nur noch mehr Chaos verursacht.
Mir wäre sehr geholfen, wenn mir jemand grob einen Tipp geben könnte auf welche Bausteine ich mich konzentrieren sollte. Ich habe schon überlegt ob ich das irgendwie mit einem Pulsgeber und dem Execute-Block (If/Else Anwendung reinschreiben) lösen kann. Aber ich vermute, dass der Execute Block dabei jedes mal wieder von 0 anfangen würde..
Vielen Dank schon mal für eure erneute Hilfe
ich bin leider mal wieder auf ein Problem gestoßen, was für mich als Anfänger, nicht gerade einfach zu lösen ist.
Und zwar programmiere ich ausschließlich in FUP. Was ich benötige ist ein Regler, der sich einem Wert annähert, sobald der Wert überschritten ist aber nicht in die andere Richtung regelt.
Als Beispiel:
Ich habe einen Wasserhahn, bei dem ich einen Öffnungsgrad zwischen 0-100% einstellen kann. Ich möchte einen festen Volumenstrom von 15 l/min einstellen. Im Idealfall hätte ich gerne einen Regler, der jede Sekunde den Öffnungsgrad um 1% erhöht, dann den Volumenstrom kontrolliert und merkt: Nicht erreicht, nächste Sekunde wieder weiter öffnen. Wenn bei 55% Öffnung jetzt ein Volumenstrom von 15,5 l/min getroffen wird, soll dieser Wert einfach behalten werden und nicht verringert werden. In meinem realen Prozess habe ich nämlich eine Hysterese, wodurch das Runterregeln nur noch mehr Chaos verursacht.
Mir wäre sehr geholfen, wenn mir jemand grob einen Tipp geben könnte auf welche Bausteine ich mich konzentrieren sollte. Ich habe schon überlegt ob ich das irgendwie mit einem Pulsgeber und dem Execute-Block (If/Else Anwendung reinschreiben) lösen kann. Aber ich vermute, dass der Execute Block dabei jedes mal wieder von 0 anfangen würde..
Vielen Dank schon mal für eure erneute Hilfe