PI_Regelung Cont_C Frage zu Weckarlam

PhSch105

Level-1
Beiträge
44
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo alle zusammen

Ich habe eine PI Regelung über einen Cont_C

Die Regelung wird nur in einer bestimmten Procesfase aufgeruffen.

Beschreibung:
Habe einen Vorgegebenen Soll Wert z.b. 10mbar und einen Ist Wert (von Sonde),
am ausgang hängt eine Pumpe die versucht den druck auf die 10mbar zu regeln (über FU)

In der Beschreibung steht etwas das mich als Neueinsteiger verwiert hat.

Aufruf
Die Anweisung CONT_C verfügt über eine Initialisierungsroutine, die durchlaufen wird, wenn der Eingangsparameter COM_RST = TRUE gesetzt ist. Der Integrierer wird bei der Initialisierung auf den Initialisierungswert I_ITVAL gesetzt. Alle anderen Signalausgänge werden auf Null gesetzt. Nach Durchlauf der Initialisierungsroutine muss COM_RST = FALSE gesetzt werden.

Die Berechnung der Werte in den Regelungsbausteinen erfolgt nur dann korrekt, wenn der Baustein in regelmäßigen Abständen aufgerufen wird. Deshalb sollten Sie die Regelungsbausteine in einem Weckalarm-OB (OB 30 bis OB 38) aufrufen. Die Abtastzeit geben Sie am Parameter CYCLE vor.

Erste Frage:
Bracuh ich den COM_RST, weil bei mir steht er immer auf False?

Zweite Frage:
Brauch ich den Weckalarm im OB 30-38 für einen korrekten betrieb?
Weil im Cont_C Regler ist bei mir ein Wert mit T#1S=(Bei)=CYCLE hinterlegt muss ich dann die regelung nochmals in einem OB aufruffen?

Danke schon mal im Voraus
 
"Weil im Cont_C Regler ist bei mir ein Wert mit T#1S=(Bei)=CYCLE hinterlegt muss ich dann die regelung nochmals in einem OB aufruffen?"

Dann musst Du sicherstellen, dass er genau 1x pro Sekunde aufgerufen wird.
Und das macht man am einfachsten in einem Weck-OB
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ok

Den OB Anlegen ist kein Problem aber was muss ich in den OB Schreiben das der Cont_C Regler 1x pro Sekunde aufgerufen wird und das erst wen ein Merker gesetzt ist?

Und zur verständnies was würde passieren wen ich keinen Weckarlam hinterlege?
 
Einfach den Baustein in den OB3x kopieren (Cycletime in der HW-Konfig einstellen, Achtung nicht jede CPU unterstützt jeden OB3x - einzusehen in den Leistungsdaten bzw. glaub ich dass es sowieso im Hardwaremanager angezeigt wird welche OBs vorhanden sind und welche nicht) und fertig!

Ein Weckalarm wird immer in bestimmten Zeitabständen aufgerufen. Beträgt deine Ausführungszeit nun 1000ms (was genau einer Sekunde entspricht), so wird der OB3x jede Sekunde aufgerufen.
 
"Theoretisch kann sich ein PI Regler nicht arg verrechnen."
Der ist gut.

Beispiel für COM_RST:
Du hast eine Pumpe und ein Regelventil.
Nach dem Regelventil sitzt ein Durchflussmesser, Du willst den Durchfluss regeln.
Solange die Pumpe steht würde der Regler, der zB Sollwert 10m³/h hat und Istwert 0m³/h auf 100% auffahren.
Das willst Du aber aus mehreren Gründen nicht, weil Du zB mit der Pumpe gegen ein geschlossenes Ventil anfahren möchtest.
Da nimmst Du die Rückmeldung der Pumpe zeitverzögert und invertiert und belegst damit den COM_RST.
Auswirkung: Pumpe läuft an (nach irgendeinen Kriterium), nach vorgegebener Zeit beginnt der Regler zu regeln und öffnet entsprechend seiner Parameter das Regelventil.
Mit dem COM_RST kannst Du also den Regler ausschalten.
 
Also das heisst dann Theoretisch das wen dort False steht geht der Regler garnicht?

Oder müsste dort erst ein Signal anliegen und solang nix anligt (nicht verbunden) dann wird das nicht beachtet?
 
Der Regler regelt nicht wenn am Com_Rst eine 1 (true) anliegt! Heisst ja auch Reset der Eingang und nicht Enable ;-)

@borromeus: Absolut richtig, mach ich auch so! Und bei zuschalten von weiteren Lüftern/pumpen oder ähnliches auch gern schonmal nen kurzen Reset mit vorgegebenen I-Anteil damit der Regler dann nicht erst langsam seine Position erst finden muss und schonmal nen Sprung in die richtige Richtung macht
 
Ausschalten werde ich meinen Regler aber nicht mit dem Reset. Da gibt es einen Track auf 0 oder so. Der Reset initialisiert doch nur den I Anteil neu. Ausschalten mit Reset der ist echt gut.

Servus
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der CONT_C, FB41, hat leider keinen Track Eingang.
Der COM_RST setzt den I-Anteil auf Wert I_ITLVAL, der defaultmäßig 0.0 ist, alle anderen auf die Vorbelegungswerte.
Ausschalten mit COM_RST ist gut, funktioniert bei ein paar hundert Reglern bei uns.
 
MAN_ON entspricht einer Track-Funktion.
Das Problem beim Ausschalten über COM_RST ist, dass es beim Wiedereinschalten und vorhandener Soll/Ist Differenz einen großen Sprung gibt wenn man den D-Anteil aktiviert hat. Muss man wissen ob es gewünscht ist oder nicht. Bei MAN_ON wird die Differenz für den D-Anteil wie auch der I-Anteil passend "vorgeladen" damit es beim Umschalten auf Automatikbetrieb keinen Sprung in der Stellgröße gibt.
 
Zurück
Oben