ST_TcHydAxParam (from V3.0)

This structure contains all axis parameters. Under Setup (partly in preparation), suitable procedures for axis commissioning are presented.

ST_TcHydAxParam (from V3.0) 1:

The order of the parameters is not guaranteed.

Syntax

TYPE ST_TcHydAxParam :
(* last modification: 08.07.2020 *)
STRUCT
    (* ==================================================================
    this section isn't saved / dieser Bereich wird nicht gesichert
    ================================================================== *)
    sParamFileName: STRING(255) := 'DefAxParmFile.dat';
    (* ==================================================================
    from this point all parameters are saved /
von hier an werden alle Parameter gesichert
    ================================================================== *)
    fAcc:                         LREAL := 2000.0;
    fAreaRatio:                   LREAL := 1.0;
    fBrakeDeadTimeM:              LREAL := 0.0;
    fBrakeDeadTimeP:              LREAL := 0.0;
    fBrakeDistanceM:              LREAL := 0.1;
    fBrakeDistanceP:              LREAL := 0.1;
    fBrakeOffDelay:               LREAL := 0.0;
    fBrakeOnDelay:                LREAL := 0.0;
    fBrakeSafetyDelay:            LREAL := 0.0;
    fCreepDistanceM:              LREAL := 1.0;
    fCreepDistanceP:              LREAL := 1.0;
    fCreepSpeedM:                 LREAL := 80.0;
    fCreepSpeedP:                 LREAL := 80.0;
    fCustomerData:                ARRAY [1..iTcHydfCustDataMaxIdx] OF LREAL;
    fCycletime:                   LREAL := 0.010;
    fCylinder_ArreaA:             LREAL := 1.0;
    fCylinder_ArreaB:             LREAL := 1.0;
    fCylinder_Mass:               LREAL := 1.0;
    fCylinder_Stroke:             LREAL := 1.0;
    fDec:                         LREAL := 2000.0;
    fDrive_IncInterpolation:      LREAL := 1.0;
    fDrive_IncWeighting:          LREAL := 0.001;
    fEmergencyRamp:               LREAL := 0.1;
    fEnc_BaseDistance:            LREAL := 0.001;
    fEnc_DefaultHomePosition:     LREAL := 0.0;
    fEnc_IncInterpolation:        LREAL := 1.0;
    fEnc_IncWeighting:            LREAL := 0.001;
    fEnc_ModuloBase:              LREAL := 0.001;
    fEnc_PotiRgToRl:              LREAL := 0.0;
    fEnc_RefIndexVelo:            LREAL := 0.1;
    fEnc_RefSyncVelo:             LREAL := 0.1;
    fEnc_ZeroShift:               LREAL := 0.0;
    fJogVeloFast:                 LREAL := 100.0;
    fJogVeloSlow:                 LREAL := 25.0;
    fFeedForward:                 LREAL := 1.0;
    fAccFeedForward:              LREAL := 0.0;
    fLagAmp:                      LREAL := 0.05;
    fLagAmpDp:                    LREAL := 0.0;
    fLagAmpDx:                    LREAL := 0.0;
    fLagAmpTi:                    LREAL := 0.0;
    fLagAmpOutL:                  LREAL := 0.0;
    fLagAmpWuL:                   LREAL := 0.0;
    fLagAmpTd:                    LREAL := 0.0;
    fLagAmpTdd:                   LREAL := 0.0;
    fLagAmpCfb_kV:                LREAL := 0.0;
    fLagAmpCfb_tV:                LREAL := 0.0;
    fLagAmpCfb_kA:                LREAL := 0.0;
    fLagAmpCfb_tA:                LREAL := 0.0;
    fLagAmpCfb_kF:                LREAL := 0.0;
    fLagAmpCfb_tF:                LREAL := 0.0;
    fMaxAcc:                      LREAL := 500.0;
    fMaxDec:                      LREAL := 500.0;
    fMaxDynamicLag:               LREAL := 0.0;
    fMaxJerk:                     LREAL := 1000.0;
    fMaxLag:                      LREAL := 0.0;
    fMaxLagFilter:                LREAL := 0.0;
    fMaxVelo:                     LREAL := 500.0;
    fMonPositionRange:            LREAL := 1.0;
    fMonTargetFilter:             LREAL := 1.0;
    fMonTargetRange:              LREAL := 1.0;
    fPEH_Timeout:                 LREAL := 0.0;
    fRefVelo:                     LREAL := 500.0;
    fReposDistance:               LREAL := 0.0;
    fSoftEndMax:                  LREAL := 10000.0;
    fSoftEndMin:                  LREAL := 0.0;
    fStartAccDistance:            LREAL := 1.0;
    fStartRamp:                   LREAL := 1.0;
    fStopRamp:                    LREAL := 1.0;
    fTargetClamping:              LREAL := 0.0;
    fVeloAmp:                     LREAL := 0.0;
    fVeloAmpDx:                   LREAL := 0.0;
    fVeloAmpTi:                   LREAL := 0.0;
    fVeloAmpOutL:                 LREAL := 0.0;
    fVeloAmpWuL:                  LREAL := 0.0;
    fValve_BendPointOutput:       LREAL := 0.0;
    fValve_BendPointVelo:         LREAL := 0.0;
    fValve_OverlapCompM:          LREAL := 0.0;
    fValve_OverlapCompP:          LREAL := 0.0;
    fValve_ResponseTime:          LREAL := 0.0;
    fZeroCompensation:            LREAL := 0.0;

    nEnc_OverrunMask:             DWORD := 0;
    nEnc_PositionMask:            DWORD := 0;
    nEnc_ZeroSwap:                DINT := 0;
    nDigInReversed:               DINT := 0;

    nCycleDivider:                INT := 1;
    nDrive_Type:                  E_TcMcDriveType:=iTcMc_Drive_Customized;
    nEnc_HomingType:              E_TcMcHomingType:=iTcMc_HomingOnBlock;
   nEnc_Type:                    E_TcMcEncoderType:=iTcMc_EncoderSim;

    nJerkEnabled:                 WORD := 16#0101;
    nProfileType:                 E_TcMcProfileType:=iTcMc_ProfileCtrlBased;
    nControllerType:              WORD := 16#0101;
    nOverlapDefMode:              WORD := 0;

    bAsymetricalTargeting:        BOOL := FALSE;
    bDrive_AbsoluteOutput:        BOOL := FALSE;
    bDrive_DefaultPowerOk:        BOOL := FALSE;
    bDrive_Reversed:              BOOL := FALSE;
    bEnableAutoBrakeDistance:     BOOL := FALSE;
    bEnableControlLoopOnFault:    BOOL := FALSE;
    bEnc_RefIndexPositive:        BOOL := FALSE;
    bEnc_RefSyncPositive:         BOOL := FALSE;

    bEnc_Reversed:                BOOL := FALSE;
    bMaxLagEna:                   BOOL := FALSE;
    bPEH_Enable:                  BOOL := FALSE;
    bPosCtrlAccEna:               BOOL := FALSE;
    bSoftEndMaxEna:               BOOL := FALSE;
    bSoftEndMinEna:               BOOL := FALSE;
    bTimeBased:                   BOOL := FALSE;
    bLinTabAvailable:             BOOL := FALSE;

    bEnc_NoUpLoad:                BOOL := FALSE;
    bDrive_NoUpLoad:              BOOL := FALSE;
    bDriveIsHybrid:               BOOL := FALSE;
    bAlignedStart:                BOOL := FALSE;
    bEncModuloMode:               BOOL := FALSE;

    (*-----------------------------------------------------------------*)

    stHybrid:                     ST_TcHybridAxParam;
    stPctrl:                      ST_TcPctrlParam;
END_STRUCT
END_TYPE

Parameter

Name

Type

Description

sParamFileName

STRING

This file name is used for storing the axis parameter as a DAT file.

fAcc

LREAL 

[mm/s2] The absolute acceleration limitation of the axis.

fAreaRatio

LREAL 

[1] This parameter can be used to compensate the directional dependence of the velocity.

fBrakeDeadTimeM

LREAL 

[s] From V3.0.8: This parameter makes it possible to extend the set braking distance for the negative direction by an amount proportional to the actual velocity.

fBrakeDeadTimeP

LREAL 

[s] From V3.0.8: This parameter makes it possible to extend the set braking distance for the positive direction by an amount proportional to the actual velocity.

fBrakeDistanceM

LREAL 

[mm] From V3.0.8: Braking distance: If bAsymetricalTargeting is TRUE, at this negative distance from the target, active profile-controlled control value generation ceases; optionally a standstill position controller or a different mechanism that applies at target is activated.

fBrakeDistanceP

LREAL 

[mm] From V3.0.8: Braking distance: At this non-direction-dependent or (if bAsymetricalTargeting is TRUE) positive distance from the target, active profile-controlled control value generation ceases; optionally a standstill position controller or a different mechanism that applies at target is activated.

fBrakeOffDelay

LREAL 

[s] If this parameter is set to a value greater than 0, the control value generator observes a delay time between the rising edge at ST_TcPlcDeviceOutput.bBrakeOff and the start of the acceleration phase.

fBrakeOnDelay

LREAL 

[s] If this parameter is set to a value greater than 0, the control value generator observes a delay time between the end of the active profile generation and the falling edge at ST_TcPlcDeviceOutput.bBrakeOff.

 

fBrakeSafetyDelay

LREAL 

[s] If this parameter is set to a value greater than 0, the control value generator at the falling edge at ST_TcPlcDeviceOutput.bBrakeOff observes a delay time between the end of an active profile generation and the rising edge of the next motion command.

fCreepDistanceM

LREAL 

[mm] From V3.0.8: If bAsymetricalTargeting is TRUE, fCreepSpeedM is used as the control value from this negative distance to the target for the last phase of the profile-controlled control value generation.

fCreepDistanceP

LREAL 

[mm] From V3.0.8: From this non-direction-dependent or (with bAsymetricalTargeting = TRUE) positive distance to the target, fCreepSpeedP is used as the control value for the last phase of profile-controlled control value generation.

fCreepSpeedM

LREAL 

[mm/s] From V3.0.8: If bAsymetricalTargeting is TRUE and the direction of movement is negative, this velocity is used for the last phase of the profile-controlled control value generation.

fCreepSpeedP

LREAL 

[mm/s] From V3.0.8: This velocity is used, in non-direction-dependent mode, or (if bAsymetricalTargeting is TRUE) if the direction of movement is positive, for the last phase of the profile-controlled control value generation.

fCustomerData

ARRAY

20 LREAL parameters are available for use by the application, as required. They are loaded and stored together with the other axis parameters. Library function blocks do not use these parameters independently, by the application can instruct to use them based on the type of call.

fCycletime

LREAL 

[s] The cycle time of the PLC task, from which the library function blocks are called. This value is determined automatically by an MC_AxUtiStandardInit_BkPlcMc() function block and may be used but not be changed by the application.

fCylinder_ArreaA

LREAL 

[mm2] The active area of the cylinder, which is under pressure during a motion in positive direction.

fCylinder_ArreaB

LREAL 

[mm2] The active area of the cylinder, which is under pressure during a motion in negative direction.

fCylinder_Mass

LREAL 

reserved.

fCylinder_Stroke

LREAL 

reserved.

fDec

LREAL 

fDec: [mm/s2] The absolute deceleration limitation of the axis.

fDrive_IncInterpolation

LREAL 

This parameter is used in some output devices for internal conversion of the velocity control value.

fDrive_IncWeighting

LREAL 

This parameter is used in some output devices for internal conversion of the velocity control value.

fEmergencyRamp

LREAL 

[s] This parameter specifies the time required for deceleration from fRefVelo to standstill. It is used by different control value generators in response to unscheduled emergency stop requests (lack of controller enable, fault condition, function block call).

fEnc_BaseDistance

LREAL 

[mm] This parameter is used for the evaluation of encoders with distance-coded zero marks.

fEnc_DefaultHomePosition

LREAL 

[mm] This parameter can be used to store a position, which can be transferred as reference position to an MC_Home_BkPlcMc() function block. If homing is triggered by the PlcMcManager, the value stored here is used in this way. If this is also intended to be the case if homing is triggered by the PLC application, this parameter should be transferred when the used function block is called.

fEnc_IncInterpolation

LREAL 

[mm/n] This parameter specifies the resolution with which the actual position of the axis is determined.

fEnc_IncWeighting

LREAL 

[1] This parameter specifies the resolution with which the actual position of the axis is determined.

fEnc_ModuloBase

LREAL 

 

fEnc_PotiRgToRl

LREAL 

[1] It is used by some function blocks for linearization of simple potentiometer displacement transducer, which are subject to load from the input resistance of the interface electronics.

fEnc_RefIndexVelo

LREAL 

[1] This parameter specifies the control value as a proportion of fRefVelo, which is output during a search for the reference index (cam) during homing.

fEnc_RefSyncVelo

LREAL 

81] This parameter specifies the control value as a proportion of fRefVelo, which is output during a search for the reference pulse (sync pulse, zero pulse) during homing.

fEnc_ZeroShift

LREAL 

[mm] This parameter shifts the zero point of the actual value determination of the axis.

fJogVeloFast

LREAL 

[mm/s] Set velocity for fast manual travel.

fJogVeloSlow

LREAL 

[mm/s] Set velocity for slow manual travel.

fFeedForward

LREAL 

 

fAccFeedForward

LREAL 

[s] The optional acceleration pre-control of the axis.

fLagAmp

LREAL 

[mm/s per mm → 1/s] The Kp amplification of the standstill position controller.

fLagAmpDp

LREAL 

[mm] In preparation: The response window of the extended standstill position controller.

fLagAmpDx

LREAL 

[mm] In preparation: The response window of the standstill position controller.

fLagAmpTi

LREAL 

In preparation: The integration time of the standstill position controller.

fLagAmpOutL

LREAL 

In preparation: The output limit of the standstill position controller.

fLagAmpWuL

LREAL 

In preparation: The limit of the I part standstill position controller.

fLagAmpTd

LREAL 

[1] Optional: Rate time of the differential part of the position controller.
This parameter is only used by MC_AxRtPosPiControllerEx_BkPlcMc().

fLagAmpTdd

LREAL 

[s] Optional: Damping time of the differential part of the position controller.

This parameter is only used by MC_AxRtPosPiControllerEx_BkPlcMc().

fLagAmpCfb_kV

LREAL 

V: : [1] Optional: Weighting factor of the actual velocity activation in the condition feedback of the position controller.

This parameter is only used by MC_AxRtPosPiControllerEx_BkPlcMc().

fLagAmpCfb_tV

LREAL 

[1] Optional: Filter time of the actual velocity activation in the condition feedback of the position controller.

This parameter is only used by MC_AxRtPosPiControllerEx_BkPlcMc().

fLagAmpCfb_kA

LREAL 

[1] Optional: Weighting factor of the actual acceleration activation in the condition feedback of the position controller.

This parameter is only used by MC_AxRtPosPiControllerEx_BkPlcMc().

fLagAmpCfb_tA

LREAL 

[1] Optional: Filter time of the actual acceleration activation in the condition feedback of the position controller.

This parameter is only used by MC_AxRtPosPiControllerEx_BkPlcMc().

fLagAmpCfb_kF

LREAL 

[1] Optional: Weighting factor of the actual force activation in the condition feedback of the position controller.

This parameter is only used by MC_AxRtPosPiControllerEx_BkPlcMc().

fLagAmpCfb_tF

LREAL 

[1] Optional: Filter time of the actual force activation in the condition feedback of the position controller.

fMaxAcc

LREAL 

[mm/s2] The axis acceleration limitation applicable to the function blocks. This value is limited to fAcc.

fMaxDec

LREAL 

[mm/s2] The axis deceleration limitation applicable to the function blocks. This value is limited to fDec.

fMaxDynamicLag

LREAL 

[s] This parameter specifies one of the limit values for the lag monitoring.

fMaxJerk

LREAL 

[mm/s3] The axis jerk limitation applicable to the function blocks. This value is used if iTcMc_ProfileJerkBased is set as profile type.

fMaxLag

LREAL 

[mm] This parameter specifies one of the limit values for the lag monitoring.

fMaxLagFilter

LREAL 

[s] This parameter specifies one of the limit values for the lag monitoring.

fMaxVelo

LREAL 

[mm/s] The maximum velocity that can be used by function blocks. If a function block tries to use a higher value, the value is generally limited accordingly without an error message.
This parameter is limited to fRefVelo.

fMonPositionRange

LREAL 

[mm] This parameter is used for target window monitoring.

fMonTargetFilter

LREAL 

[s] This parameter is used for target window monitoring.

fMonTargetRange

LREAL 

[mm] This parameter is used for target window monitoring.

fPEH_Timeout

LREAL 

[s] This parameter specifies the limit value for PEH monitoring.

fRefVelo

LREAL 

[mm/s] This parameter specifies the maximum absolute axis velocity.

fReposDistance

LREAL 

[mm] If this parameter is greater than 0 and the axis has moved beyond the target by more than this distance, target positioning is automatically applied again.

fSoftEndMax

LREAL 

[mm] The upper (positive) software limit switch.

fSoftEndMin

LREAL 

[mm] The lower (negative) software limit switch.

fStartAccDistance

LREAL 

obsolete, will be removed in the near future.

fStartRamp

LREAL 

[s] This parameter specifies the time required in profile type iTcMc_ProfileTimeRamp to accelerate to fRefVelo.

fStopRamp

LREAL 

[s] This parameter specifies the time required for deceleration from fRefVelo to standstill. It is used in profile type iTcMc_ProfileTimeRamp for the target approach, and also by control value generators in response to unscheduled stop requests (lack of feed enable, fault condition, function block call).

fTargetClamping

LREAL 

[v] If this parameter is set to a value greater than zero, this control value is output with the correct sign when a target is reached. A position control is suppressed.

fVeloAmp

LREAL 

The Kp gain of the lower-level velocity controller.

fVeloAmpDx

LREAL 

The response window of the lower-level velocity controller.

fVeloAmpTi

LREAL 

The integration time of the lower-level velocity controller.

fVeloAmpOutL

LREAL 

The output limitation of the lower-level velocity controller.

fVeloAmpWuL

LREAL 

Limitation of the I part of the lower-level velocity controller.

fValve_BendPointOutput

LREAL 

[1] In valves with a bend in the characteristic curve, this parameter can be used for simple linearization.

fValve_BendPointVelo

LREAL 

[1] In valves with a bend in the characteristic curve, this parameter can be used for simple linearization.

fValve_OverlapCompM

LREAL 

[1] From V3.0.8: Compensation (if bAsymetricalTargeting = TRUE) for of a valve overlap used for the negative direction.

fValve_OverlapCompP

LREAL 

[1] From V3.0.8: Compensation of a non-direction-dependent valve overlap or (if bAsymetricalTargeting = TRUE) a valve overlap used for the positive direction.

fValve_ResponseTime

LREAL 

[s] This parameter can be used for dead time compensation of the actuator.

fZeroCompensation

LREAL 

[V] This parameter can be used to compensate an analog offset of the velocity output.

nEnc_OverrunMask

DWORD 

 

nEnc_PositionMask

DWORD 

 

nEnc_ZeroSwap

DINT 

reserved.

nDigInReversed

DINT 

 

nCycleDivider

INT

reserved.

nDrive_Type

E_TcMcDriveType

Specifies the drive type.

nEnc_HomingType

E_TcMcHomingType

Used to specify the referencing method, which an MC_Home_BkPlcMc() function block uses if MC_DefaultHomingMode_BkPlcMc is transferred as HomingMode.

nEnc_Type

E_TcMcEncoderType

Specifies the encoder type.

nJerkEnabled

WORD

This bit mask determines at which transitions in the profile jerk limitation is to be applied. This value is used if iTcMc_ProfileJerkBased is set as profile type.

nProfileType

E_TcMcProfileType

Specifies the control value generator.

nControllerType

WORD 

This parameter is set automatically by the called position controller. It is not saved.

nOverlapDefMode

WORD 

reserved.

bAsymetricalTargeting

BOOL 

From V3.0.8: If this parameter is TRUE, direction-dependent parameters take effect during target approach and overlap compensation.

bDrive_AbsoluteOutput

BOOL 

If this parameter is set to TRUE, control values are always output positively, regardless of the direction.

bDrive_DefaultPowerOk

BOOL 

If this parameter is set, the PowerOk feedback in the ST_TcPlcDeviceInput structure of the axis is ignored.

bDrive_Reversed

BOOL 

If this parameter is set, the control value output is negated.

bEnableAutoBrakeDistance

BOOL 

If this parameter is TRUE, fCreepDistanceM and fCreepDistanceP are calculated automatically from fCreepSpeedM or fCreepSpeedP and fLagAmp.

bEnableControlLoopOnFault

BOOL 

If this parameter is TRUE, the standstill position controller of the axis also becomes active in the event of an error. Requirement: Its parameters are suitable for this, and the axis is in a suitable state.

bEnc_RefIndexPositive

BOOL 

If this parameter is set, while searching for the reference index (cam) during homing a positive control value is output, otherwise a negative value.

bEnc_RefSyncPositive

BOOL 

If this parameter is set, while searching for the reference pulse (sync pulse, zero pulse) during homing a positive control value is output, otherwise a negative value.

bEnc_Reversed

BOOL 

If this parameter is set, the actual position value is evaluated in negated form.

bMaxLagEna

BOOL 

This parameter activates lag monitoring.

bPEH_Enable

BOOL 

This parameter activates the PEH monitoring.

bPosCtrlAccEna

BOOL 

obsolete, will be removed in the near future.

bSoftEndMaxEna

BOOL 

This parameter activates the upper software limit switch.

bSoftEndMinEna

BOOL 

This parameter activates the lower software limit switch.

bTimeBased

BOOL 

If this parameter is TRUE, the profile calculations are timer-controlled. The position controller is always active.

bLinTabAvailable

BOOL 

TRUE here means that each pointer was associated with a linearization table during initialization, which contains a successfully determined characteristic curve.

bEnc_NoUpLoad

BOOL 

If this parameter is set, no parameters are read from the device, even in configurations with fieldbus encoders.

bDrive_NoUpLoad

BOOL 

If this parameter is set, no parameters are read from the device, even in configurations with fieldbus drives and valves.

bDriveIsHybrid

BOOL 

This parameter is used to identify a servo-electric/hydraulic hybrid axis. The extended parameters in stHybrid take effect and appear in the PlcMcManager.

bAlignedStart

BOOL 

From V3.x.y: If this parameter is TRUE, a jump of the output is avoided when starting from a lag error.

bEncModuloMode

BOOL 

reserved.

stHybrid

ST_TcHybridAxParam

This structure pools parameters for hybrid electro/hydraulic axes.

stPctrl

ST_TcPctrlParam

This structure contains parameters that can be used for a force or pressure controller.

fBrakeDistance: [mm] Up to V3.0.7: Braking distance: At this non-direction-dependent positive distance from the target, active profile-controlled control value generation ceases; optionally a standstill position controller or a different mechanism that applies at target is activated.

fBrakeDeadTime:[s] Up to V3.0.7: This parameter allows to extend the set braking distance with a portion proportional to the actual speed.

fCreepSpeed:[mm/s] Up to V3.0.7: This velocity is used non-direction-dependent for the last phase of profile-controlled control value generation.

fCreepDistance:[mm] Up to V3.0.7: From this non-direction-dependent distance to the target, fCreepSpeed is used as the control value for the last phase of profile-controlled control value generation.

ST_TcHydAxParam (from V3.0) 2:

This parameter is only used by MC_AxRtPosPiControllerEx_BkPlcMc().

fValve_OverlapComp:[1] Up to V3.0.7: Compensation of a non-direction-dependent valve overlap.

See Setup for more information about axis commissioning.