ST_TcHydAxRtData (ab V3.0)

Die Variablen in dieser Struktur geben den Laufzeit-Zustand der Achse wieder.

ST_TcHydAxRtData (ab V3.0) 1:

Die Reihenfolge der Daten ist nicht garantiert.

Syntax

TYPE ST_TcHydAxRtData :
(* last modification: 02.07.2018 *)
STRUCT
(*-------------------------------*)
fActForce:           LREAL := 0.0;
fActiveOverlap:      LREAL := 0.0;
fActPos:             LREAL := 0.0;
fActPosDelta:        LREAL := 0.0;
fActPosOffset:       LREAL := 0.0;
fActPressure:        LREAL := 0.0;
fActPressureA:       LREAL := 0.0;
fActPressureB:       LREAL := 0.0;
fActVelo:            LREAL := 0.0;
fBrakeOffTimer:      LREAL := 0.0;
fBrakeOnTimer:       LREAL := 0.0;
fBrakeSafetyTimer:   LREAL := 0.0;
fClampingOutput:     LREAL := 0.0;
fDestAcc:            LREAL := 0.0;
fDestCreepDistanceM: LREAL := 0.0;
fDestCreepDistanceP: LREAL := 0.0;
fDestCreepSpeedM:    LREAL := 0.0;
fDestCreepSpeedP:    LREAL := 0.0;
fDestDec:            LREAL := 0.0;
fDestJerk:           LREAL := 0.0;
fDestPos:            LREAL := 0.0;
fDestRampEnd:        LREAL := 0.0;
fDestSpeed:          LREAL := 0.0;
fDistanceToTarget:   LREAL := 0.0;
fEnc_RefShift:       LREAL := 0.0;
fEnc_ZeroSwap:       LREAL := 0.0;
fGearActive:         LREAL := 0.0;
fGearSetting:        LREAL := 0.0;
fLagCtrlOutput:      LREAL := 0.0;
fLatchedPos:         LREAL := 0.0;
fOilRequirred_A:     LREAL := 0.0;
fOilRequirred_B:     LREAL := 0.0;
fOilUsed_A:          LREAL := 0.0;
fOilUsed_B:          LREAL := 0.0;
fOutput:             LREAL := 0.0;
fOverride:           LREAL := 1.0;
fParamAccTime:       LREAL := 0.0;
fPosError:           LREAL := 0.0;
fSetAcc:             LREAL := 0.0;
fSetPos:             LREAL := 0.0;
fSetPressure:        LREAL := 0.0;
fSetSpeed:           LREAL := 0.0;
fSetSpeedOld:        LREAL := 0.0;
fSetVelo:            LREAL := 0.0;
fStartPos:           LREAL := 0.0;
fStartRamp:          LREAL := 0.0;
fStartRampAnchor:    LREAL := 0.0;
fSupplyPressure:     LREAL := 0.0;
fTargetPos:          LREAL := 0.0;
fTimerPEH:           LREAL := 0.0;
fTimerTPM:           LREAL := 0.0;
fValvePressure:      LREAL := 0.0;
fVeloError:          LREAL := 0.0;
fBlockDetectDelay: LREAL := 2.0;
(*------------------------------------------------------*)
nAxisState:          DWORD := 0;
nCalibrationState:   DWORD := 0;
nDeCtrlDWord:        DWORD := 0;
nErrorCode:          DWORD := 0;
nStateDWord:         DWORD := 0;
udiAmpErrorCode:     UDINT;
(*------------------------------------------------------*)
iCurrentStep: E_TcMcCurrentStep;
wEncErrMask:         WORD:=0;
wEncErrMaskInv:      WORD:=0;
nDrvWcCount:         INT:=0;
(**)
nEncWcCount:         INT:=0;
nDrvDeviceState:     UINT:=0;
nEncDeviceState:     INT:=0;
(*------------------------------------------------------*)
bActPosCams:         BYTE := 0;
bBrakeOff:           BOOL := FALSE;
bBrakeOffInverted:   BOOL := FALSE;
bControllable:       BOOL := FALSE;
bCountedCycles:      BYTE := 1;
bCycleCounter:       BYTE := 0;
bDriveResponse:      BOOL := FALSE;
bEncDoLatch:         BOOL := FALSE;
(**)
bEncoderResponse:    BOOL := FALSE;
bEncLatchValid:      BOOL := FALSE;
bLocked_Estop:       BOOL := FALSE;
bParamsUnsave:       BOOL := FALSE;
bReloadParams:       BOOL := FALSE;
bTargeting:          BOOL := FALSE;
bUnalignedOverlap:   BOOL := FALSE;
bActPosOffsetEnable: BOOL := FALSE; (* starting with 09.03.2015 *)
(**)
bDriveStartup:       BOOL := FALSE;
bEncAlignRefShift:   BOOL := FALSE;
bDrvWcsError:        BOOL := FALSE;
bEncWcsError:        BOOL := FALSE;
bFirstWcs:           BOOL := FALSE;
bChangeCount:        BYTE := 0;
bStartAutoIdent:     BOOL := FALSE;
bParamFileComplete:  BOOL := FALSE;
(*------------------------------------------------------*)
pMasterRtData:       POINTER TO BYTE;
pMasterParam:        POINTER TO BYTE;
(*------------------------------------------------------*)
udiSercDeviceID:     UDINT := 0;
uiSercBoxAddr:       UINT := 0;
uiSercPort:          UINT := 0;
(*------------------------------------------------------*)
stPosCtrlr: stbkplcinternal_cplxctrl;
stVeloCtrlr: stbkplcinternal_cplxctrl;
(*------------------------------------------------------*)
sTopBlockName:       STRING(87) := '';

stHybrid:           ST_TcHybridAxRtData;
(*------------------------------------------------------*)
END_STRUCT
END_TYPE

Parameter

Name

Typ

Beschreibung

fActForce

LREAL 

[N, kN] Istkraft des Zylinders. Dieser Wert wird üblicherweise durch einen Erfassungsbaustein-Baustein für die Erfassung von Kraft- oder Druckistwerten ermittelt.

fActiveOverlap

LREAL 

[1] Die aktuelle Ausgabe der Überdeckungs-Kompensation. Eine Ausgabe-Variable der Profilgeneratoren.

fActPos

LREAL 

[mm] Die aktuelle Istposition der Achse. Dieser Wert wird üblicherweise durch einen Encoder-Baustein ermittelt.

fActPosDelta

LREAL 

[mm] Die Änderung der Istposition relativ zum vorangehenden Zyklus.

fActPosOffset

LREAL 

[mm] Der Offset für die Istwert-Beeinflussung. Wenn bActPosOffsetEnable auf TRUE steht wird dieser Offset in die fActPos addiert. Wenn sich fActPosOffset ändert wird dadurch die fActVelo nicht beeinflusst.

Durch bActPosOffsetEnable:=TRUE wird fActPosOffset unmittelbar und ohne Rampe wirksam.

Beachten Sie die Informationen.

Beispiel: Bei einer Referenzposition von 100.0 mm und einem Offset von 1.0 mm wird die Istposition am Ort des Null-Impulses auf 101.0 mm gesetzt. Wenn anschließend die Beeinflussung deaktiviert oder auf 0.0 mm gesetzt wird zeigt die Istposition am Ort des Null-Impulses den Wert 100.0 mm, wie sie es auch beim Homing ohne Beeinflussung gezeigt hätte.

fActPressure

LREAL 

[bar] Istdruck im Zylinder. Dieser Wert wird üblicherweise durch einen Erfassungsbaustein-Baustein für die Erfassung von Kraft- oder Druckistwerten ermittelt.

fActPressureA

LREAL 

[bar] Istdruck auf der A-Seite des Zylinders. Dieser Wert wird üblicherweise durch einen Erfassungsbaustein-Baustein für die Erfassung von Kraft- oder Druckistwerten ermittelt.

fActPressureB

LREAL 

[bar] Istdruck auf der B-Seite des Zylinders. Dieser Wert wird üblicherweise durch einen Erfassungsbaustein-Baustein für die Erfassung von Kraft- oder Druckistwerten ermittelt.

fActVelo

LREAL 

[mm/s] Die aktuelle Istgeschwindigkeit der Achse. Dieser Wert wird üblicherweise durch einen Encoder-Baustein ermittelt.

fBrakeOffTimer

LREAL 

 

fBrakeOnTimer

LREAL 

 

fBrakeSafetyTimer

LREAL 

 

fClampingOutput

LREAL 

[V] Eine Ausgabe-Variable der Profilgeneratoren.

fDestAcc

LREAL 

[mm/s2] Die vom aktuellen oder dem zuletzt abgearbeiteten Bewegungsauftrag vorgegebene Beschleunigung.

fDestCreepDistance

LREAL

[mm] Bis V3.0.7: Die Schleichstrecke.

fDestCreepDistanceM

LREAL 

[mm] Ab V3.0.8: Die Schleichstrecke in negativer Richtung.

fDestCreepDistanceP

LREAL 

[mm] Ab V3.0.8: Die Schleichstrecke in positiver Richtung.

fDestCreepSpeed

LREAL

[mm/s] Bis V3.0.7: Die Schleichgeschwindigkeit.

fDestCreepSpeedM

LREAL 

Ab V3.0.8: Die Schleichgeschwindigkeit in negativer Richtung.

fDestCreepSpeedP

LREAL 

[mm/s] Ab V3.0.8: Die Schleichgeschwindigkeit in positiver Richtung.

fDestDec

LREAL 

[mm/s2] Die vom aktuellen oder dem zuletzt abgearbeiteten Bewegungsauftrag vorgegebene Verzögerung.

fDestJerk

LREAL 

[mm/s3] Der vom aktuellen oder dem zuletzt abgearbeiteten Bewegungsauftrag vorgegebene Ruck.

fDestPos

LREAL 

[mm] Die aktuell wirksame Zielposition.

fDestRampEnd

LREAL 

 

fDestSpeed

LREAL 

[mm/s] Die vom aktuellen oder dem zuletzt abgearbeiteten Bewegungsauftrag vorgegebene Geschwindigkeit.

fDistanceToTarget

LREAL 

[mm] Der aktuelle Restweg der Achse. Dieser Wert wird üblicherweise durch einen Generator-Baustein ermittelt.

fEnc_RefShift

LREAL 

[mm] Der Offset zwischen dem umgerechneten (eventuell intern verlängerten) Zählerstand einer Inkrementalencoder-Eingangsklemme und der Istposition der Achse. Dieser Offset wird durch eine Referenzfahrt z.B. mit einem MC_Home_BkPlcMc Baustein ermittelt oder mit einem MC_SetPosition_BkPlcMc Baustein manipuliert.

fEnc_ZeroSwap

LREAL 

 

fGearActive

LREAL 

 

fGearSetting

LREAL 

 

fLagCtrlOutput

LREAL 

[1] Die normierte Ausgabe des Lagereglers. Eine Ausgabe-Variable der Profilgeneratoren.

fLatchedPos

LREAL 

[mm] Die Position (unter Berücksichtigung von geltenden Offsets) an der ein Homing erfolgte oder die Komponenten der Istwerterfassung (Encoder, E/A-Elektronik) eingeschaltet wurden.

fOilRequirred_A

LREAL 

[l/min] Der unter Berücksichtigung der Sollgeschwindigkeit berechnete Ölbedarf der A-Seite.

fOilRequirred_B

LREAL 

[l/min] Der unter Berücksichtigung der Sollgeschwindigkeit berechnete Ölbedarf der B-Seite.

fOilUsed_A

LREAL 

[l/min] Der unter Berücksichtigung der Istgeschwindigkeit berechnete Ölverbrauch der A-Seite.

fOilUsed_B

LREAL 

[l/min] Der unter Berücksichtigung der Istgeschwindigkeit berechnete Ölverbrauch der B-Seite.

fOutput

LREAL 

[1] Die auszugebende Stellgröße. Über diese Variable kommunizieren der MC_AxRtFinish_BkPlcMc und der MC_AxRtDrive_BkPlcMc Baustein.

fOverride

LREAL 

[1] Der aktuelle Achs-Geschwindigkeitsoverride.

fParamAccTime

LREAL 

 

fPosError

LREAL 

[mm] Der aktuelle Lagefehler der Achse.

fSetAcc

LREAL 

[mm/s2] Der aktuelle Beschleunigungsstellwert. Eine Ausgabe-Variable der Profilgeneratoren.

fSetPos

LREAL 

[mm] Der aktuelle Lagesollwert der Achse.

fSetPressure

LREAL 

[bar] Hier ist der Sollwert einer optionalen Druck- oder Kraftregelung abzulegen.

fSetSpeed

LREAL 

[mm/s] Die normierte Sollgeschwindigkeit der Achse. Eine Ausgabe-Variable der Profilgeneratoren.

fSetSpeedOld

LREAL 

 

fSetVelo

LREAL 

 

fStartPos

LREAL 

[mm] Die Startposition des aktuellen oder des zuletzt abgearbeiteten Bewegungsauftrag.

fStartRamp

LREAL 

 

fStartRampAnchor

LREAL 

 

fSupplyPressure

LREAL 

[bar] Versorgungsdruck. Dieser Wert wird üblicherweise durch einen Erfassungsbaustein-Baustein für die Erfassung von Kraft- oder Druckistwerten ermittelt.

fTargetPos

LREAL 

[mm] Die vom aktuellen oder dem zuletzt abgearbeiteten Bewegungsauftrag vorgegebene Zielposition.

fTimerPEH

LREAL 

 

fTimerTPM

LREAL 

 

fValvePressure

LREAL 

[bar] Druckabfall am Ventil. Dieser Wert wird üblicherweise durch einen Erfassungsbaustein-Baustein für die Erfassung von Kraft- oder Druckistwerten ermittelt.

fVeloError

LREAL 

 

fBlockDetectDelay

LREAL 

[s] Die Verzögerungszeit für das Erkennen des Blocks beim Homing on Block. Dieser Wert ist mit 2.0 Sekunden initialisiert um das Default-Verhalten früherer Versionen abzubilden. Wird eine andere Zeit gewünscht muss sie vor dem Start des Homings aktualisiert sein. Wird beim Starten des Homings ein Wert kleiner Zykluszeit erkannt wird automatisch der Default-Wert 2.0 Sekunden eingetragen. Dieser Wert wird nicht als Parameter gespeichert. Diese Variable steht unter TC2 ab 12.10.2017 mit einer V3.0.41 zur Verfügung.

nAxisState

DWORD 

Der Bewegungszustand der Achse.

nCalibrationState

DWORD 

Der aktuelle Zustand einer Referenzfahrt.

nDeCtrlDWord

DWORD 

Die Kontroll-Signale der Achse.

nErrorCode

DWORD 

Der aktuelle ErrorCode der Achse.

nStateDWord

DWORD 

Die Status-Signale der Achse.

udiAmpErrorCode

UDINT

 

iCurrentStep

E_TcMcCurrentStep

Der interne Zustand der Stellwertgeneratoren. Werte aus E_TcMcCurrentStep.

wEncErrMask

WORD

 

wEncErrMaskInv

WORD

 

nDrvWcCount

INT

 

nEncWcCount

INT

 

nDrvDeviceState

UINT

 

nEncDeviceState

INT

 

bActPosCams

BYTE

Die aktuellen Positionsnocken der Achse. Dieser Wert wird nur verwendet, wenn als Encoder-Typ iTcMc_EncoderDigCam eingestellt ist.

bBrakeOff

BOOL 

Das Steuersignal für eine externe Bremse. Eine Ausgabe-Variable der Profilgeneratoren.

bBrakeOffInverted

BOOL 

Das invertierte bBrakeOff Signal.

bControllable

BOOL 

 

bCountedCycles

BYTE 

 

bCycleCounter

BYTE 

 

bDriveResponse

BOOL 

 

bEncDoLatch

BOOL 

Mit diesem Signal kommunizieren der MC_Home_BkPlcMc und der MC_AxRtEncoder_BkPlcMc Baustein der Achse während einer Referenzfahrt.

bEncoderResponse

BOOL 

 

bEncLatchValid

BOOL 

Mit diesem Signal kommunizieren der MC_Home_BkPlcMc und der MC_AxRtEncoder_BkPlcMc Baustein der Achse während einer Referenzfahrt.

bLocked_Estop

BOOL 

Durch ein TRUE in dieser Variablen werden die Stellwertgeneratoren daran gehindert, den Zustand iTcHydStateEmergencyBreak / McState_Errorstop zu verlassen, obwohl die Ausgaben an den Antrieb auf 0 abgebaut werden. Verwendet von MC_EmergencyStop_BkPlcMc und MC_ImediateStop_BkPlcMc.

bParamsUnsave

BOOL 

Die Bausteine MC_WriteParameter_BkPlcMc und MC_WriteBoolParameter_BkPlcMc setzen dieses Flag wenn sie den Wert eines Parameters verändern. Ein MC_AxParamSave_BkPlcMc Baustein löscht das Flag beim erfolgreichen Speichern der Parameter. Im Online Modus des PlcMcManagers wird dieses Flag für die Status-Anzeige genutzt.

bReloadParams

BOOL 

 

bTargeting

BOOL 

 

bUnalignedOverlap

BOOL 

Hier wird die Charakteristik der Überdeckungs-Kompensation festgelegt.

bActPosOffsetEnable

BOOL 

Durch ein TRUE in dieser Variablen wird die Istwert-Beeinflussung aktiviert. Siehe auch unter fActPosOffset.

bDriveStartup

BOOL 

 

bEncAlignRefShift

BOOL 

reserviert.

bDrvWcsError

BOOL 

 

bEncWcsError

BOOL 

 

bFirstWcs

BOOL 

 

bChangeCount

BYTE

Dieser Wert wird bei jeder Parameteränderung erhöht.

bStartAutoIdent

BOOL 

 

bParamFileComplete

BOOL 

Dieses Flag wird gesetzt, wenn beim Laden der Parameter am Dateiende eine entsprechende Kennung gefunden und der CRC-Check erfolgreich war.

pMasterRtData

POINTER TO BYTE

 

pMasterParam

POINTER TO BYTE

 

udiSercDeviceID

UDINT

 

uiSercBoxAddr

UINT

 

uiSercPort

UINT

 

stPosCtrlr

stbkplcinternal_cplxctrl

 

stVeloCtrlr

stbkplcinternal_cplxctrl

 

sTopBlockName

STRING

Die meisten von der Applikation direkt aufgerufenen Bausteine der Bibliothek tragen hier eine Debug-Kennung ein.

stHybrid

ST_TcHybridAxRtData

Die erweiterten Zustandsdaten für servoelektrisch-hydraulische Hybrid-Achsen.

ST_TcHydAxRtData (ab V3.0) 2:

Informationen für fActPosOffset

  • Ist die Istwert-Beeinflussung während eines Homings aktiv wird fActPosOffset beim Setzen der Ist-Position berücksichtigt.
  • Diese Funktion ist nur für die folgenden Encoder-Typen realisiert: iTcMc_EncoderCoE_DS406, iTcMc_EncoderEL3255, iTcMc_EncoderSim, iTcMc_EncoderEL5101, iTcMc_EncoderKL5101, iTcMc_EncoderKL5111, iTcMc_EncoderEL5001, iTcMc_EncoderKL5001, iTcMc_EncoderKL3002, iTcMc_EncoderEL3102, iTcMc_EncoderKL3042, iTcMc_EncoderKL3062, iTcMc_EncoderEL3142, iTcMc_EncoderEM8908_A, iTcMc_EncoderEL3162, iTcMc_EncoderKL3162.
  • Ist für ein zu einem dieser Typen kompatibles E/A-Gerät einer der aufgeführten Typen eingestellt, wird die beschriebene Funktion ebenfalls realisiert.
ST_TcHydAxRtData (ab V3.0) 3:

Alle anderen Elemente dieser Struktur sind für eine interne Verwendung reserviert. Sie sind nicht garantiert und dürfen nicht von der Applikation verwendet oder verändert werden.