Guten Abend,
ich hatte grad noch etwas Zeit übrig, da hab ich mein ersten Entwurf noch etwas verfeinert.
Zunächst auch danke det für deinen Beitrag, ein paar Sachen habe ich von dir übernommen.
Die Logik ist jetzt auf jeden Fall sicher, nur die Genauigkeit des Analogeingangs oder die sekundenintervallweise Messung könnte Ungenauigkeiten erzeugen.

Natürlich ist noch fraglich, was dein Sensor nun eigentlich misst.
Angenommen er misst Liter / Sekunde und 10 V würden 1 Liter / Sekunde entsprechen.
Wenn du nun beispielsweise eine Sollmenge von 30 Liter haben willst, müsstest du in der obigen Logik:
- Sollwert: 30 Liter und 1000 entspricht 1 Liter: 30000
- ein_B008 = Soll / max_B004 = 30000 / bsp.: 20000 = 1
- ein_B009 = Soll - (max_B004 * ein_B008 ) = 30000 - (20000 * 1) = 10000
einstellen.
Wie genau der Wert nun erreicht wird, keine Ahnung.
Um eine größere Genauigkeit zu bekommen, könntest du versuchen:
- Zeitintervall verkürzen (dann musst du aber noch eine zusätzliche Funktion einbauen, da V = Q * t, wenn t ungleich 1: musst du den Analogausgang anders skalieren)
- möglicherweise Dezimalstellen einstellen (könnte aufwendiger werden, als es sich anhört, falls es anfängt zu runden, etc.)
Was nun noch fehlt ist die eigentliche Ventilsteuerung, etc. das oben ist nur die Mengensteuerung.
viel Erfolg
Michael