Ja, beides richtig.
Ich mache dir später den Trace, bin aktuell gerade nicht an der Anlage. ;-)
Passt schon, dann lag ich mit meinem Gedanken vorhin schon so etwa richtig.
In deinem Fall hat der Regler gestartet, ist auf 100% gegangen & bei der nächsten Neuberechnung des PID-Algorythmus war er schon über Sollwert.
=> Er hatte also gar keine Chance den Istwert an den Soll ranzuführen, da der Prozess schneller als der Regler war.
Kurz aus der TIA-Hilfe zur PWM-Begrenzung:
In deinem Fall waren die 300ms bezogen auf (2).
Mit (1) ist gemeint wie oft dein PID_Compact Baustein aufgerufen wird, also die Zeit des Weckalarm-OBs in dem der Regler läuft.
(2) ist der unterste Parameter in deinen PID-Parametern, welcher immer ein ganzzahliges,vielfaches von (1) ist.
Da du direkt mit dem Stellgrad auf das Ventil gehst, kannst du (2) = (1) setzen, also bei jedem Aufruf des Bausteins auch den PID-Algorythmus neu berechnen.
(2) > (1) bräuchtest du nur, wenn du die PWM-Ausgänge des Reglers nutzen wollen würdest (was hier nicht der Fall ist).
Je schneller du die Abtastrate einstellst, desto feiner kann der Regelalgorythmus den Istwert nachführen bzw. seinen Stellgrad anpassen.
Ich empfehle hier zu prüfen wie schnell du den Weckalarm-OB mit den Reglern laufen lassen kannst, ohne die Zykluszeit für das restliche Programm unzulässig in die Höhe zu treiben.