MC_AxCtrlSlowDownOnPressureEx_BkPlcMc

MC_AxCtrlSlowDownOnPressureEx_BkPlcMc 1:

Der Funktionsbaustein bremst eine Achse so ab, dass der Istwert in Actual den in Setpoint vorgegebenen Sollwert nicht überschreitet.

Die Erfassung des Istdrucks bzw. der Istkraft kann in den meisten Fällen mit Bausteinen vom Typ MC_AxRtReadPressureSingle_BkPlcMc oder MC_AxRtReadPressureDiff_BkPlcMc bzw. MC_AxRtReadForceSingle_BkPlcMc oder MC_AxRtReadForceDiff_BkPlcMc erfolgen.

MC_AxCtrlSlowDownOnPressureEx_BkPlcMc 2: Eingänge

VAR_INPUT
    Enable:           BOOL:=FALSE;
    EnableRelief:     BOOL:=FALSE;
    Setpoint:         LREAL;
    Actual:           LREAL;
    FeedVelocity:     LREAL:=0.0;
    pParam:           POINTER TO ST_TcPctrlParam:=0;
END_VAR

Name

Typ

Beschreibung

Enable

BOOL

Durch ein TRUE an diesem Eingang wird der Regler freigegeben.

EnableRelief

BOOL

Durch ein TRUE an diesem Eingang wird dem Regler erlaubt, bei Bedarf aktiv zurückzuweichen.

Setpoint

LREAL

Der Sollwert für den zu begrenzenden Istwert.

Actual

LREAL

Der aktuelle Wert der zu begrenzenden Größe.

FeedVelocity

LREAL

Wenn sich das Objekt, gegen das der Druck bzw. die Kraft ausgeübt wird, bewegt, kann dessen Geschwindigkeit hier vorgesteuert werden.

pParam

POINTER TO ST_TcPctrlParam

Hier kann die Adresse einer Struktur vom Typ ST_TcPctrlParam übergeben werden. Wird dieser Eingang nicht oder mit 0 belegt werden die Regel-Parameter aus den Parametern der Achse verwendet.

MC_AxCtrlSlowDownOnPressureEx_BkPlcMc 3: Ein-/Ausgänge

VAR_INOUT
    Axis:             Axis_Ref_BkPlcMc;
END_VAR

Name

Typ

Beschreibung

Axis

Axis_Ref_BkPlcMc

Hier ist die Adresse einer Variablen vom Typ Axis_Ref_BkPlcMc zu übergeben.

MC_AxCtrlSlowDownOnPressureEx_BkPlcMc 4: Ausgänge

VAR_OUTPUT
    Busy:             BOOL;
    Active:           BOOL;
    Error:            BOOL;
    ErrorID:          UDINT;
END_VAR

Name

Typ

Beschreibung

Busy

BOOL

Ein TRUE an diesem Ausgang signalisiert, dass der Baustein freigegeben ist. Dies bedeutet nicht unbedingt, dass er aktiv in das Verhalten der Achse eingreift.

Active

BOOL

Ein TRUE an diesem Ausgang signalisiert, dass der Baustein freigegeben ist und aktiv in das Verhalten der Achse eingreift.

Error

BOOL

Hier wird das Auftreten eines Fehlers signalisiert.

ErrorID

UDINT

Hier wird eine codierte Fehlerursache bereitgestellt.

Verhalten des Bausteins

Durch ein FALSE an Enable oder bei fehlender Reglerfreigabe der Achse wird der Baustein in einen Ruhezustand versetzt. Dann sind Busy, Active und Error := FALSE.

Bei Enable = TRUE wird eine Reihe von Voraussetzungen überprüft.

Ist eine dieser Voraussetzungen nicht erfüllt sind Busy und Active = FALSE und Error = TRUE. Andernfalls ist Busy = TRUE.

Das Vorzeichen von Setpoint entscheidet über die Arbeitsrichtung des Bausteins. Ist er positiv greift er ein, wenn sich Actual dem Sollwert von unten in steigender Richtung nähert. Nur wenn der Baustein eingreift ist Active = TRUE.

Der Baustein ermittelt unter Berücksichtigung der Arbeitsrichtung den Abstand zwischen Sollwert und Istwert und errechnet mit dem kP aus der verwendeten Parameterstruktur die noch zulässige Geschwindigkeit. Übersteigt die Sollgeschwindigkeit diesen Wert wird Active = TRUE und die Geschwindigkeit wird limitiert.

Wenn der Istwert den Sollwert erreicht wird die noch zulässige Geschwindigkeit = 0.0 und die Achse sollte spätestens jetzt zum Stehen kommen. Steigt der Istwert weiter wird nur bei EnableRelief eine entgegengesetzte Bewegung ausgelöst.

In einigen Anwendungen muss eine Kraft oder ein Druck gegen ein sich bewegendes Objekt ausgeübt werden. In diesem Fall kann die Genauigkeit der Regelung verbessert werden, indem der Regler an FeedVelocity eine geeignete Vorsteuerung erhält.

Integration des Bausteins in die Applikation

Ein Baustein dieses Typs muss nach der Istwert- und Istdruck-Erfassung und nach der Stellwert-Generierung aufgerufen werden. Werden Bausteine zur Geschwindigkeit- oder Positionsregelung aufgerufen sind diese ebenfalls vor dem Druckregler-Baustein zu platzieren. Der nach dem Reglerbaustein zu platzierende MC_AxRtFinish_BkPlcMc Baustein berücksichtigt die Reaktion dann automatisch.