ST_TcHydAxParam (from V3.0)
This structure contains all axis parameters. Under Setup (partly in preparation), suitable procedures for axis commissioning are presented.
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. |
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. |
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.
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.