ST_TcHydAxRtData (from V3.0)

The variables in this structure indicate the runtime state of the axis.

ST_TcHydAxRtData (from V3.0) 1:

The order of the data is not guaranteed.

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

Type

Description

fActForce

LREAL 

[N, kN] Actual force of the cylinder. This value is usually determined by a function block for acquisition of actual force or pressure values.

fActiveOverlap

LREAL 

[1] The current output of the overlap compensation. An output variable of the profile generators.

fActPos

LREAL 

[mm] The current actual position of the axis. This value is usually determined by an encoder function block.

fActPosDelta

LREAL 

[mm] The change of the actual position relative to the previous cycle.

fActPosOffset

LREAL 

[mm] The offset used to influence the actual value. If bActPosOffsetEnable is TRUE, this offset is added to fActPos. If fActPosOffset changes, fActVelo is unaffected.

If bActPosOffsetEnable is TRUE, fActPosOffset takes effect immediately and without ramp.

Note the information.

Example: If the reference position is 100.0 mm and the offset is 1.0 mm, the actual position at the point of the zero pulse is set to 101.0 mm. If influencing is subsequently disabled or set to 0.0, the actual position at the point of the zero pulse shows the value 100.0 mm, just like it would have done during homing without influencing.

fActPressure

LREAL 

[bar] Actual pressure in the cylinder. This value is usually determined by a function block for acquisition of actual force or pressure values.

fActPressureA

LREAL 

[bar] Actual pressure on the A-side of the cylinder. This value is usually determined by a function block for acquisition of actual force or pressure values.

fActPressureB

LREAL 

[bar] Actual pressure on the B-side of the cylinder. This value is usually determined by a function block for acquisition of actual force or pressure values.

fActVelo

LREAL 

[mm/s] The current actual velocity of the axis. This value is usually determined by an encoder function block.

fBrakeOffTimer

LREAL 

 

fBrakeOnTimer

LREAL 

 

fBrakeSafetyTimer

LREAL 

 

fClampingOutput

LREAL 

[V] An output variable of the profile generators.

fDestAcc

LREAL 

[mm/s2] The acceleration specified by the current or last executed motion command.

fDestCreepDistance

LREAL

[mm] Up to V3.0.7: The creep distance.

fDestCreepDistanceM

LREAL 

[mm] Up to V3.0.8: The creep distance in negative direction.

fDestCreepDistanceP

LREAL 

[mm] Up to V3.0.8: The creep distance in positive direction.

fDestCreepSpeed

LREAL

[mm/s] Up to V3.0.7: The creep speed.

fDestCreepSpeedM

LREAL 

From V3.0.8: The creep speed in negative direction.

fDestCreepSpeedP

LREAL 

[mm/s] From V3.0.8: The creep speed in positive direction.

fDestDec

LREAL 

[mm/s2] The deceleration specified by the current or last executed motion command.

fDestJerk

LREAL 

[mm/s3] The jerk specified by the current or last executed motion command.

fDestPos

LREAL 

[mm] The currently active target position.

fDestRampEnd

LREAL 

 

fDestSpeed

LREAL 

[mm/s] The velocity specified by the current or last executed motion command.

fDistanceToTarget

LREAL 

[mm] The current remaining distance of the axis. This value is usually determined by a generator function block.

fEnc_RefShift

LREAL 

[mm] The offset between the converted (perhaps internal extended) counter value of an incremental encoder input terminal and the actual position of the axis. This offset is determined through homing, e.g. with an MC_Home_BkPlcMc function block, or manipulated with an MC_SetPosition_BkPlcMc function block.

fEnc_ZeroSwap

LREAL 

 

fGearActive

LREAL 

 

fGearSetting

LREAL 

 

fLagCtrlOutput

LREAL 

[1] The normalized output of the position controller. An output variable of the profile generators.

fLatchedPos

LREAL 

[mm] The position (taking into account current offsets) at which homing took place or where the components of the actual value acquisition (encoder, I/O electronics) were switched on.

fOilRequirred_A

LREAL 

[l/min] The oil consumption on the A-side, calculated taking into account the set velocity.

fOilRequirred_B

LREAL 

[l/min] The oil consumption on the B-side, calculated taking into account the set velocity.

fOilUsed_A

LREAL 

[l/min] The oil consumption on the A-side, calculated taking into account the actual velocity.

fOilUsed_B

LREAL 

[l/min] The oil consumption on the B-side, calculated taking into account the actual velocity.

fOutput

LREAL 

[1] The control value to be output. This variable is used for communication between the MC_AxRtFinish_BkPlcMc and MC_AxRtDrive_BkPlcMc function blocks.

fOverride

LREAL 

[1] The current axis velocity override.

fParamAccTime

LREAL 

 

fPosError

LREAL 

[mm] The current position error of the axis.

fSetAcc

LREAL 

[mm/s2] The current acceleration control value. An output variable of the profile generators.

fSetPos

LREAL 

[mm] The current position command value of the axis.

fSetPressure

LREAL 

[bar] The setpoint for an optional pressure or force control must be stored here.

fSetSpeed

LREAL 

[mm/s] The normalized set velocity of the axis. An output variable of the profile generators.

fSetSpeedOld

LREAL 

 

fSetVelo

LREAL 

 

fStartPos

LREAL 

[mm] The start position of the current or last processed motion command.

fStartRamp

LREAL 

 

fStartRampAnchor

LREAL 

 

fSupplyPressure

LREAL 

[bar] Supply pressure. This value is usually determined by a function block for acquisition of actual force or pressure values.

fTargetPos

LREAL 

[mm] The target position specified by the current or last processed motion command.

fTimerPEH

LREAL 

 

fTimerTPM

LREAL 

 

fValvePressure

LREAL 

[bar] Pressure drop at the valve. This value is usually determined by a function block for acquisition of actual force or pressure values.

fVeloError

LREAL 

 

fBlockDetectDelay

LREAL 

[s] The delay time for the detection of the function block during homing on block. This value is initialized with 2.0 seconds to reflect the default behavior of previous versions. If a different time is required, it must be updated before homing commences. If a value of less than the cycle time is detected when homing commences, the default value of 2.0 seconds is entered automatically. This value is not saved as a parameter. This variable has been available under TC2 in V3.0.41 from 12 October 2017.

nAxisState

DWORD 

The motion state of the axis.

nCalibrationState

DWORD 

The current homing state.

nDeCtrlDWord

DWORD 

The control signals of the axis.

nErrorCode

DWORD 

The current ErrorCode of the axis.

nStateDWord

DWORD 

The state signals of the axis.

udiAmpErrorCode

UDINT

 

iCurrentStep

E_TcMcCurrentStep

The internal state of the control value generators. Values from E_TcMcCurrentStep.

wEncErrMask

WORD

 

wEncErrMaskInv

WORD

 

nDrvWcCount

INT

 

nEncWcCount

INT

 

nDrvDeviceState

UINT

 

nEncDeviceState

INT

 

bActPosCams

BYTE

The current position cam of the axis. This value is only used, if iTcMc_EncoderDigCam is set as encoder type.

bBrakeOff

BOOL 

The control signal for an external brake. An output variable of the profile generators.

bBrakeOffInverted

BOOL 

The inverted bBrakeOff signal.

bControllable

BOOL 

 

bCountedCycles

BYTE 

 

bCycleCounter

BYTE 

 

bDriveResponse

BOOL 

 

bEncDoLatch

BOOL 

This signal is used for communication by the MC_Home_BkPlcMc and MC_AxRtEncoder_BkPlcMc function blocks of the axis during homing.

bEncoderResponse

BOOL 

 

bEncLatchValid

BOOL 

This signal is used for communication by the MC_Home_BkPlcMc and MC_AxRtEncoder_BkPlcMc function blocks of the axis during homing.

bLocked_Estop

BOOL 

A TRUE in this variable prevents the control value generators from exiting the state iTcHydStateEmergencyBreak / McState_Errorstop, despite the fact that the drive outputs are reduced to 0. Used by MC_EmergencyStop_BkPlcMc and MC_ImediateStop_BkPlcMc.

bParamsUnsave

BOOL 

The function blocks MC_WriteParameter_BkPlcMc and MC_WriteBoolParameter_BkPlcMc set this flag if they change a parameter value. An MC_AxParamSave_BkPlcMc function block clears the flag when the parameters are successfully saved. In online mode of the PlcMcManager, this flag is used for the state display.

bReloadParams

BOOL 

 

bTargeting

BOOL 

 

bUnalignedOverlap

BOOL 

The characteristic of the overlap compensation is defined here.

bActPosOffsetEnable

BOOL 

A TRUE in this variable activates actual value influencing. See also under fActPosOffset.

bDriveStartup

BOOL 

 

bEncAlignRefShift

BOOL 

reserved.

bDrvWcsError

BOOL 

 

bEncWcsError

BOOL 

 

bFirstWcs

BOOL 

 

bChangeCount

BYTE

This value is incremented with each parameter change.

bStartAutoIdent

BOOL 

 

bParamFileComplete

BOOL 

This flag is set if a corresponding identifier was found at the end of the file when the parameters were loaded and the CRC check was successful.

pMasterRtData

POINTER TO BYTE

 

pMasterParam

POINTER TO BYTE

 

udiSercDeviceID

UDINT

 

uiSercBoxAddr

UINT

 

uiSercPort

UINT

 

stPosCtrlr

stbkplcinternal_cplxctrl

 

stVeloCtrlr

stbkplcinternal_cplxctrl

 

sTopBlockName

STRING

Most of the library function blocks called directly by application enter a debug ID here.

stHybrid

ST_TcHybridAxRtData

Extended status data for servo-electric/hydraulic hybrid axes.

ST_TcHydAxRtData (from V3.0) 2:

Information for fActPosOffset

  • If actual value influencing is active during homing, bActPosOffset is taken into account when the actual position is set.
  • This function is only realized for the following encoder types: 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.
  • If one of the types listed is set for an I/O device that is compatible with one of these types, the function described is also realized.
ST_TcHydAxRtData (from V3.0) 3:

All other elements of this structure are reserved for internal use. They are not guaranteed and must not be used or modified by the application.