Data type MC_AxisParameter
The MC_AxisParameter data type is used in conjunction with function blocks for reading and writing of 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 *)
AxisEnBacklashCompensation, (* bool *) (* IndexOffset= 16#0000_002B *)
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 *)
(* 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 *)
(* 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. During the motion only very small changes are allowed. |