MC_AxRtHybridAxisActuals_BkPlcMc (ab V3.0.44)
Der Funktionsbaustein übernimmt die Ermittlung der wesentlichen Istwerte einer servoelektrisch-hydraulischen Hybrid-Achse.
Eingänge
VAR_INPUT
stSystem_PrsIn: ST_TcPlcInputAnalog;
stAside_PrsIn: ST_TcPlcInputAnalog;
stBside_PrsIn: ST_TcPlcInputAnalog;
nTorqueFeedback: INT;
udiMotorEnc_Count: UDINT;
bUpdateActForce: ST_ BOOL;
bPumpSwitch_Ext: BOOL;
bAreaSwitch_Ext: BOOL;
Name | Typ | Beschreibung |
---|---|---|
stSystem_PrsIn | Wenn am vorgespannten Tank eine Druck-Sensorik vorhanden ist, werden hier die Input-Variablen der Klemme übergeben. | |
stAside_PrsIn | Wenn an der positiv wirkenden Fläche des Zylinders eine Druck-Sensorik vorhanden ist, werden hier die Input-Variablen der Klemme übergeben. | |
stBside_PrsIn | Wenn an der negativ wirkenden Fläche des Zylinders eine Druck-Sensorik vorhanden ist, werden hier die Input-Variablen der Klemme übergeben. | |
nTorqueFeedback | INT | Hier ist die Drehmoment-Rückmeldung des Antriebs zu übergeben. |
udiMotorEnc_Count | UDINT | Hier ist der Zählwert des Motor-Encoders zu übergeben. |
bUpdateActForce | ST_ BOOL | Bei diesem Signal errechnet der Baustein die aktuelle Istkraft der Achse und aktualisiert sie in stAxRtData.fActForce. |
bPumpSwitch_Ext | BOOL | Dieses Signal teilt dem Baustein mit, dass eine Pumpenumschaltung der Achse aktiv ist. |
bAreaSwitch_Ext | BOOL | Dieses Signal teilt dem Baustein mit, dass eine Flächenumschaltung der Achse aktiv ist. |
Ein-/Ausgänge
VAR_IN_OUT
Axis: AXIS_REF_BkPlcMc;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Axis | AXIS_REF_BkPlcMc | Hier ist die Adresse einer Variablen vom Typ AxisRef_BkPlcMc zu übergeben. |
Ausgänge
VAR_OUTPUT
Error: BOOL;
ErrorId: BOOL;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
Error | BOOL | Hier wird das Auftreten eines Fehlers signalisiert. |
ErrorId | BOOL | Hier wird eine codierte Fehlerursache bereitgestellt. |
Verhalten des Bausteins
Wenn die Achse als ‚hybrid‘ gekennzeichnet ist führt der Baustein folgende Schritte aus.
- Wenn für die Achse ein zulässiger Encodertyp für den Motor-Encoder angegeben ist ermittelt der Baustein aus udiMotorEnc_Count den aktuellen Istwinkel. Andernfalls wird die Achse in einen Störzustand versetzt und der Winkel auf 0.0° gesetzt.
- Mit der eingestellten Anzahl der Pumpen-Kavitäten wird der Modulo-Istwinkel aktualisiert.
- Die Pumpen-Istgeschwindigkeit wird ermittelt.
- Das Pumpendrehmoment wird ermittelt.
- Wenn für den Systemdruck ein Skalierungsdruck eingestellt ist und die Verbindungsüberwachung in stSystem_PrsIn kein Problem zeigt wird der Eingangswert in einen Druck umgerechnet und in stAxRtData.fSupplyPressure der Achse aktualisiert.
- Wenn für den Druck auf der positiv wirkenden Seite ein Skalierungsdruck eingestellt ist und die Verbindungsüberwachung in stAside_PrsIn kein Problem zeigt wird der Eingangswert in einen Druck umgerechnet und in stAxRtData.fActPressureA der Achse aktualisiert.
- Wenn für den Druck auf der negativ wirkenden Seite ein Skalierungsdruck eingestellt ist und die Verbindungsüberwachung in stBside_PrsIn kein Problem zeigt wird der Eingangswert in einen Druck umgerechnet und in stAxRtData.fActPressureB der Achse aktualisiert.
- Wenn in bUpdateActForce ein TRUE übergeben wird aktualisiert der Baustein stAxRtData.fActForce der Achse. Dabei verwendet er die aktuell wirksamen Flächen.
- Wenn eine Flanke an einem der Umschaltsignale (bAreaSwitch_Ext, bPumpSwitch_Ext) erkannt wird initiiert der Baustein eine Rampe für die Änderung der Vorschubkonstante und der maximalen Geschwindigkeit.
Unabhängig davon ob die Achse als ‚hybrid‘ gekennzeichnet ist ruft dieser Baustein für die Achse eine lokale Instanz von MC_AxRtEncoder_BkPlcMc() auf.
Wenn bei einer servoelektrisch-hydraulischen Achse kein Baustein dieses Typs aufgerufen wird werden Umschaltungen nicht korrekt behandelt. Damit könnte es zu unerwartetem Verhalten der Achse kommen. In diesem Fall wird die Achse in den Fehlerzustand versetzt und eine Meldung ausgegeben. |