MC_AxisParameter
This data type is used in conjunction with function blocks for reading and writing axis parameters.
TYPE MC_AxisParameter : (
(* PLCopen specific parameters *) (* Index-Group 0x4000 + ID*)
CommandedPosition := 1, (* lreal *) (* taken from NcToPlc *)
SWLimitPos, (* lreal *) (* IndexOffset= 16#0001_000E *)
SWLimitNeg, (* lreal *) (* IndexOffset= 16#0001_000D *)
EnableLimitPos, (* bool *) (* IndexOffset= 16#0001_000C *)
EnableLimitNeg, (* bool *) (* IndexOffset= 16#0001_000B *)
EnablePosLagMonitoring, (* bool *) (* IndexOffset= 16#0002_0010 *)
MaxPositionLag, (* lreal *) (* IndexOffset= 16#0002_0012 *)
MaxVelocitySystem, (* lreal *) (* IndexOffset= 16#0000_0027 *)
MaxVelocityAppl, (* lreal *) (* IndexOffset= 16#0000_0027 *)
ActualVelocity, (* lreal *) (* taken from NcToPlc *)
CommandedVelocity, (* lreal *) (* taken from NcToPlc *)
MaxAccelerationSystem, (* lreal *) (* IndexOffset= 16#0000_0101 *)
MaxAccelerationAppl, (* lreal *) (* IndexOffset= 16#0000_0101 *)
MaxDecelerationSystem, (* lreal *) (* IndexOffset= 16#0000_0102 *)
MaxDecelerationAppl, (* lreal *) (* IndexOffset= 16#0000_0102 *)
MaxJerkSystem, (* lreal *) (* IndexOffset= 16#0000_0103 *)
MaxJerkAppl, (* lreal *) (* IndexOffset= 16#0000_0103 *)
(* Beckhoff specific parameters *) (* Index-Group 0x4000 + ID*)
AxisId := 1000, (* lreal *) (* IndexOffset= 16#0000_0001 *)
AxisVeloManSlow, (* lreal *) (* IndexOffset= 16#0000_0008 *)
AxisVeloManFast, (* lreal *) (* IndexOffset= 16#0000_0009 *)
AxisVeloMax, (* lreal *) (* IndexOffset= 16#0000_0027 *)
AxisAcc, (* lreal *) (* IndexOffset= 16#0000_0101 *)
AxisDec, (* lreal *) (* IndexOffset= 16#0000_0102 *)
AxisJerk, (* lreal *) (* IndexOffset= 16#0000_0103 *)
MaxJerk, (* lreal *) (* IndexOffset= 16#0000_0103 *)
AxisMaxVelocity, (* lreal *) (* IndexOffset= 16#0000_0027 *)
AxisRapidTraverseVelocity, (* lreal *) (* IndexOffset= 16#0000_000A *)
AxisManualVelocityFast, (* lreal *) (* IndexOffset= 16#0000_0009 *)
AxisManualVelocitySlow, (* lreal *) (* IndexOffset= 16#0000_0008 *)
AxisCalibrationVelocityForward, (* lreal *) (* IndexOffset= 16#0000_0006 *)
AxisCalibrationVelocityBackward, (* lreal *) (* IndexOffset= 16#0000_0007 *)
AxisJogIncrementForward, (* lreal *) (* IndexOffset= 16#0000_0018 *)
AxisJogIncrementBackward, (* lreal *) (* IndexOffset= 16#0000_0019 *)
AxisEnMinSoftPosLimit, (* bool *) (* IndexOffset= 16#0001_000B *)
AxisMinSoftPosLimit, (* lreal *) (* IndexOffset= 16#0001_000D *)
AxisEnMaxSoftPosLimit, (* bool *) (* IndexOffset= 16#0001_000C *)
AxisMaxSoftPosLimit, (* lreal *) (* IndexOffset= 16#0001_000E *)
AxisEnPositionLagMonitoring, (* bool *) (* IndexOffset= 16#0002_0010 *)
AxisMaxPosLagValue, (* lreal *) (* IndexOffset= 16#0002_0012 *)
AxisMaxPosLagFilterTime, (* lreal *) (* IndexOffset= 16#0002_0013 *)
AxisEnPositionRangeMonitoring, (* bool *) (* IndexOffset= 16#0000_000F *)
AxisPositionRangeWindow, (* lreal *) (* IndexOffset= 16#0000_0010 *)
AxisEnTargetPositionMonitoring, (* bool *) (* IndexOffset= 16#0000_0015 *)
AxisTargetPositionWindow, (* lreal *) (* IndexOffset= 16#0000_0016 *)
AxisTargetPositionMonitoringTime, (* lreal *) (* IndexOffset= 16#0000_0017 *)
AxisEnInTargetTimeout, (* bool *) (* IndexOffset= 16#0000_0029 *)
AxisInTargetTimeout, (* lreal *) (* IndexOffset= 16#0000_002A *)
AxisEnMotionMonitoring, (* bool *) (* IndexOffset= 16#0000_0011 *)
AxisMotionMonitoringWindow, (* lreal *) (* IndexOffset= 16#0000_0028 *)
AxisMotionMonitoringTime, (* lreal *) (* IndexOffset= 16#0000_0012 *)
AxisDelayTimeVeloPosition, (* lreal *) (* IndexOffset= 16#0000_0104 *)
AxisEnLoopingDistance, (* bool *) (* IndexOffset= 16#0000_0013 *)
AxisLoopingDistance, (* lreal *) (* IndexOffset= 16#0000_0014 *)
AxisBacklash, (* lreal *) (* IndexOffset= 16#0000_002C *)
AxisEnDataPersistence, (* bool *) (* IndexOffset= 16#0000_0030 *)
AxisRefVeloOnRefOutput, (* lreal *) (* IndexOffset= 16#0003_0101 *)
AxisOverrideType, (* lreal *) (* IndexOffset= 16#0000_0105 *)
(* new since 4/2007 *)
AxisEncoderScalingFactor, (* lreal *) (* IndexOffset= 16#0001_0006 *)
AxisEncoderOffset, (* lreal *) (* IndexOffset= 16#0001_0007 *)
AxisEncoderDirectionInverse, (* bool *) (* IndexOffset= 16#0001_0008 *)
AxisEncoderMask, (* dword *) (* IndexOffset= 16#0001_0015 *)
AxisEncoderModuloValue, (* lreal *) (* IndexOffset= 16#0001_0009 *)
AxisModuloToleranceWindow, (* lreal *) (* IndexOffset= 16#0001_001B *)
AxisEnablePosCorrection, (* bool *) (* IndexOffset= 16#0001_0016 *)
AxisPosCorrectionFilterTime, (* lreal *) (* IndexOffset= 16#0001_0017 *)
(* new since 1/2010 *)
AxisUnitInterpretation, (* lreal *) (* IndexOffset= 16#0000_0026 *)
AxisMotorDirectionInverse, (* bool *) (* IndexOffset= 16#0003_0006 *)
(* new since 1/2011 *)
AxisCycleTime, (* lreal *) (* IndexOffset= 16#0000_0004 *)
(* new since 5/2011 *)
AxisFastStopSignalType, (* dword *) (* IndexOffset= 16#0000_001E *)
AxisFastAcc, (* lreal *) (* IndexOffset= 16#0000_010A *)
AxisFastDec, (* lreal *) (* IndexOffset= 16#0000_010B *)
AxisFastJerk, (* lreal *) (* IndexOffset= 16#0000_010C *)
(* new since 1/2012 *)
AxisEncoderScalingNumerator, (* lreal *) (* IndexOffset= 16#0001_0023 - available in Tc3 *)
AxisEncoderScalingDenominator, (* lreal *) (* IndexOffset= 16#0001_0024 - available in Tc3 *)
(* new since 7/2016 *)
AxisMaximumAcceleration, (* lreal *) (* IndexOffset= 16#0000_00F1 - available in Tc3 *)
AxisMaximumDeceleration, (* lreal *) (* IndexOffset= 16#0000_00F2 - available in Tc3 *)
AxisVeloJumpFactor, (* lreal *) (* IndexOffset= 16#0000_0106 *)
AxisToleranceBallAuxAxis, (* lreal *) (* IndexOffset= 16#0000_0108 *)
AxisMaxPositionDeviationAuxAxis, (* lreal *) (* IndexOffset= 16#0000_0109 *)
AxisErrorPropagationMode, (* dword *) (* IndexOffset= 16#0000_001A *)
AxisErrorPropagationDelay, (* lreal *) (* IndexOffset= 16#0000_001B *)
AxisCoupleSlaveToActualValues, (* bool *) (* IndexOffset= 16#0000_001C *)
AxisAllowMotionCmdToSlaveAxis, (* bool *) (* IndexOffset= 16#0000_0020 *)
AxisAllowMotionCmdToExtSetAxis, (* bool *) (* IndexOffset= 16#0000_0021 *)
AxisEncoderSubMask, (* dword *) (* IndexOffset= 16#0001_0108 *)
AxisEncoderReferenceSystem, (* dword *) (* IndexOffset= 16#0001_0019 *)
AxisEncoderPositionFilterPT1, (* lreal *) (* IndexOffset= 16#0001_0010 *)
AxisEncoderVelocityFilterPT1, (* lreal *) (* IndexOffset= 16#0001_0011 *)
AxisEncoderAccelerationFilterPT1, (* lreal *) (* IndexOffset= 16#0001_0012 *)
AxisEncoderMode, (* dword *) (* IndexOffset= 16#0001_000A *)
AxisEncoderHomingInvDirCamSearch, (* bool *) (* IndexOffset= 16#0001_0101 *)
AxisEncoderHomingInvDirSyncSearch, (* bool *) (* IndexOffset= 16#0001_0102 *)
AxisEncoderHomingCalibValue, (* lreal *) (* IndexOffset= 16#0001_0103 *)
AxisEncoderReferenceMode, (* dword *) (* IndexOffset= 16#0001_0107 *)
AxisRefVeloOutputRatio, (* lreal *) (* IndexOffset= 16#0003_0102 *)
AxisDrivePositionOutputScaling, (* lreal *) (* IndexOffset= 16#0003_0109 *)
AxisDriveVelocityOutputScaling, (* lreal *) (* IndexOffset= 16#0003_0105 *)
AxisDriveVelocityOutputDelay, (* lreal *) (* IndexOffset= 16#0003_010D *)
AxisDriveMinOutputLimitation, (* lreal *) (* IndexOffset= 16#0003_000B *)
AxisDriveMaxOutputLimitation, (* lreal *) (* IndexOffset= 16#0003_000C *)
AxisTorqueInputScaling, (* lreal *) (* IndexOffset= 16#0003_0031 - available in Tc3 *)
AxisTorqueInputFilterPT1, (* lreal *) (* IndexOffset= 16#0003_0032 - available in Tc3 *)
AxisTorqueDerivationInputFilterPT1, (* lreal *) (* IndexOffset= 16#0003_0033 - available in Tc3 *)
AxisTorqueOutputScaling, (* lreal *) (* IndexOffset= 16#0003_010B *)
AxisTorqueOutputDelay, (* lreal *) (* IndexOffset= 16#0003_010F *)
AxisAccelerationOutputScaling, (* lreal *) (* IndexOffset= 16#0003_010A *)
AxisAccelerationOutputDelay, (* lreal *) (* IndexOffset= 16#0003_010E *)
AxisDrivePosOutputSmoothFilterType, (* dword *) (* IndexOffset= 16#0003_0110 *)
AxisDrivePosOutputSmoothFilterTime, (* lreal *) (* IndexOffset= 16#0003_0111 *)
AxisDrivePosOutputSmoothFilterOrder,(* dword *) (* IndexOffset= 16#0003_0112 *)
AxisDriveMode, (* dword *) (* IndexOffset= 16#0003_000A *)
AxisDriftCompensationOffset, (* lreal *) (* IndexOffset= 16#0003_0104 *)
AxisPositionControlKv, (* lreal *) (* IndexOffset= 16#0002_0102 *)
AxisCtrlVelocityPreCtrlWeight, (* lreal *) (* IndexOffset= 16#0002_000B *)
AxisControllerMode, (* dword *) (* IndexOffset= 16#0002_000A *)
AxisCtrlAutoOffset, (* bool *) (* IndexOffset= 16#0002_0110 *)
AxisCtrlAutoOffsetTimer, (* lreal *) (* IndexOffset= 16#0002_0115 *)
AxisCtrlAutoOffsetLimit, (* lreal *) (* IndexOffset= 16#0002_0114 *)
AxisSlaveCouplingControlKcp, (* lreal *) (* IndexOffset= 16#0002_010F *)
AxisCtrlOutputLimit, (* lreal *) (* IndexOffset= 16#0002_0100 *)
(* Beckhoff specific axis status information - READ ONLY *) (* Index-Group 0x4100 + ID*)
AxisTargetPosition := 2000, (* lreal *) (* IndexOffset= 16#0000_0013 *)
AxisRemainingTimeToGo, (* lreal *) (* IndexOffset= 16#0000_0014 *)
AxisRemainingDistanceToGo, (* lreal *) (* IndexOffset= 16#0000_0022, 16#0000_0042 *)
AxisMcSetPositionOffset, (* lreal *) (* IndexOffset= 16#00n1_0017 *)
(* Beckhoff specific axis functions *)
(* read/write gear ratio of a slave *)
AxisGearRatio := 3000, (* lreal *) (* read: IndexGroup=0x4100+ID, IdxOffset=16#0000_0022, *)
(* write:IndexGroup=0x4200+ID, IdxOffset=16#0000_0042 *)
(* Beckhoff specific other parameters *)
(* new since 1/2011 *)
NcSafCycleTime := 4000, (* lreal *) (* IndexOffset= 16#0000_0010 *)
NcSvbCycleTime (* lreal *) (* IndexOffset= 16#0000_0012 *)
);
END_TYPE
The AxisGearRatio parameter can only be read or written if the axis is coupled as a slave. Only very small changes are allowed during motion. |
Requirements
Development environment | Target system type | PLC libraries to include |
---|---|---|
TwinCAT v3.0.0 | PC or CX (x86 or x64) | Tc2_MC2 |