TIA Fehler bei pid_3step enable

pioneer01

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

ich regle ein 3-Wege-Ventil mittels pid_3step. Um ein auf- und zuregeln während es Stillstandes der Pumpe zu verhindern, habe ich an den "EN" Eingang von pid_3step den Ausgang der Pumpe (Q13.1) gesetzt. pid_3step wird in einem OB30 mit 100ms Zykluszeit aufgerufen und ich habe diese 100ms bzw. 0.1s auch im Konfigurationsfenster für der "Abtastzeit des PID-Algorithmus" eingegeben.
Dennoch bekomme ich beim Anlauf der Pumpe (wird im OB1 asynchron zum OB30 gesteuert) den Fehler DW#160800 im pid_3step. Somit ist dieser inaktiv und ich muss ihn wieder manuell aktivieren.
Der Fehler bedeutet: "Abtastzeitfehler: PID_3Step wird nicht innerhalb der Abtastzeit des Weckalarm-OBs aufgerufen. Wenn vor Auftreten des Fehlers der Automatikbetrieb aktiv war, ActivateRecoverMode = TRUE und der Fehler nicht mehr ansteht, wechselt PID_3Step wieder in den Automatikbetrieb."
Was kann ich dagegen machen? Wo kan ich den ActivateRecoverMode = TRUE setzen?

Vielen Dank für jeglich Hilfe bereits jetzt.
lg
Martin
 
Ist irgendwo auch klar dass du den Fehler bekommst wenn du den Baustein mit EN=False nicht mehr aufrufst.
Der Baustein misst die Zeit zwischen seinen Aufrufen und prüft ob diese mit der parametrierten Abtastzeit übereinstimmt.
Die Zeit von EN=False bis EN=True, in welcher der Baustein nicht mehr aufgerufen wird, ist dann eben größer (um vieles größer) der parametrierten Abtastzeit -> Fehler.

Lösung: Finger weg vom EN-Eingang. Der ist nicht gedacht um den Regler zu starten/stoppen, sondern entscheidet (wie bei jedem anderen FB/FC auch) ob dieser überhaupt aufgerufen bzw. übersprungen wird. Die Eigentliche Reglerfreigabe kannst du über den Reset-Eingang machen.

Zum "ActivateRecoverMode".
Das ist ein Bit in den Einstelldaten und sollte im TechObjekt-Datenbaustein zu finden sein. Das Bit ist beim Erstellen des Reglers aber eigentlich schon auf True.
 
Zuletzt bearbeitet:
Zurück
Oben