132 lines
8.0 KiB
Python
132 lines
8.0 KiB
Python
#!/usr/bin/env python
|
|
|
|
from enum import *
|
|
|
|
class E_AxisParameters(Enum):
|
|
# PLCopen specific parameters Index-Group 0x4000 + ID
|
|
CommandedPosition = 1 # lreal taken from NcToPlc
|
|
SWLimitFwd = 2 # lreal IndexOffset= 16#0001_000E
|
|
SWLimitBwd = 3 # lreal IndexOffset= 16#0001_000D
|
|
EnableLimitFwd = 4 # bool IndexOffset= 16#0001_000C
|
|
EnableLimitBwd = 5 # bool IndexOffset= 16#0001_000B
|
|
EnablePosLagMonitoring = 6 # bool IndexOffset= 16#0002_0010
|
|
MaxPositionLag = 7 # lreal IndexOffset= 16#0002_0012
|
|
AxisMaxVelocity = 8 # lreal IndexOffset= 16#0000_0027
|
|
ActualVelocity = 10 # lreal taken from NcToPlc
|
|
CommandedVelocity = 11 # lreal taken from NcToPlc
|
|
AxisDefaultAcceleration = 12 # lreal IndexOffset= 16#0000_0101
|
|
AxisDefaultDeceleration = 14 # lreal IndexOffset= 16#0000_0102
|
|
AxisDefaultJerk = 16 # lreal IndexOffset= 16#0000_0103
|
|
|
|
# Beckhoff specific parameters Index-Group 0x4000 + ID
|
|
AxisId = 1000 # lreal IndexOffset= 16#0000_0001
|
|
AxisManVelSlow = 1001 # lreal IndexOffset= 16#0000_0008
|
|
AxisManVelFast = 1002 # lreal IndexOffset= 16#0000_0009
|
|
AxisRapidTraverseVelocity = 1009 # lreal IndexOffset= 16#0000_000A
|
|
AxisVelocityToCam = 1012 # lreal IndexOffset= 16#0000_0006
|
|
AxisVelocityFromCam = 1013 # lreal IndexOffset= 16#0000_0007
|
|
AxisJogIncrementForward = 1014 # lreal IndexOffset= 16#0000_0018
|
|
AxisJogIncrementBackward = 1015 # lreal IndexOffset= 16#0000_0019
|
|
AxisMaxPosLagFilterTime = 1022 # lreal IndexOffset= 16#0002_0013
|
|
AxisEnPositionRangeMonitoring = 1023 # bool IndexOffset= 16#0000_000F
|
|
AxisPositionRangeWindow = 1024 # lreal IndexOffset= 16#0000_0010
|
|
AxisEnTargetPositionMonitoring = 1025 # bool IndexOffset= 16#0000_0015
|
|
AxisTargetPositionWindow = 1026 # lreal IndexOffset= 16#0000_0016
|
|
AxisTargetPositionMonitoringTime = 1027 # lreal IndexOffset= 16#0000_0017
|
|
AxisEnInTargetTimeout = 1028 # bool IndexOffset= 16#0000_0029
|
|
AxisInTargetTimeout = 1029 # lreal IndexOffset= 16#0000_002A
|
|
AxisEnMotionMonitoring = 1030 # bool IndexOffset= 16#0000_0011
|
|
AxisMotionMonitoringWindow = 1031 # lreal IndexOffset= 16#0000_0028
|
|
AxisMotionMonitoringTime = 1032 # lreal IndexOffset= 16#0000_0012
|
|
AxisDelayTimeVeloPosition = 1033 # lreal IndexOffset= 16#0000_0104
|
|
AxisEnLoopingDistance = 1034 # bool IndexOffset= 16#0000_0013
|
|
AxisLoopingDistance = 1035 # lreal IndexOffset= 16#0000_0014
|
|
AxisEnBacklashCompensation = 1036 # bool IndexOffset= 16#0000_002B
|
|
AxisBacklash = 1037 # lreal IndexOffset= 16#0000_002C
|
|
AxisEnDataPersistence = 1038 # bool IndexOffset= 16#0000_0030
|
|
AxisRefVeloOnRefOutput = 1039 # lreal IndexOffset= 16#0003_0101
|
|
AxisOverrideType = 1040 # lreal IndexOffset= 16#0000_0105
|
|
# new since 4/2007
|
|
AxisEncoderOffset = 1042 # lreal IndexOffset= 16#0001_0007
|
|
AxisEncoderDirectionInverse = 1043 # bool IndexOffset= 16#0001_0008
|
|
AxisEncoderMask = 1044 # dword IndexOffset= 16#0001_0015
|
|
AxisEncoderModuloValue = 1045 # lreal IndexOffset= 16#0001_0009
|
|
AxisModuloToleranceWindow = 1046 # lreal IndexOffset= 16#0001_001B
|
|
AxisEnablePosCorrection = 1047 # bool IndexOffset= 16#0001_0016
|
|
AxisPosCorrectionFilterTime = 1048 # lreal IndexOffset= 16#0001_0017
|
|
# new since 1/2010
|
|
AxisUnitInterpretation = 1049 # lreal IndexOffset= 16#0000_0026
|
|
AxisMotorDirectionInverse = 1050 # bool IndexOffset= 16#0003_0006
|
|
# new since 1/2011
|
|
AxisCycleTime = 1051 # lreal IndexOffset= 16#0000_0004
|
|
# new since 5/2011
|
|
AxisFastStopSignalType = 1052 # dword IndexOffset= 16#0000_001E
|
|
AxisFastAcc = 1053 # lreal IndexOffset= 16#0000_010A
|
|
AxisFastDec = 1054 # lreal IndexOffset= 16#0000_010B
|
|
AxisFastJerk = 1055 # lreal IndexOffset= 16#0000_010C
|
|
# new since 1/2012 *)
|
|
AxisEncoderScalingNumerator = 1056 # lreal IndexOffset= 16#0001_0023 - available in Tc3
|
|
AxisEncoderScalingDenominator = 1057 # lreal IndexOffset= 16#0001_0024 - available in Tc3
|
|
# new since 7/2016
|
|
AxisMaximumAcceleration = 1058 # lreal IndexOffset= 16#0000_00F1
|
|
AxisMaximumDeceleration = 1059 # lreal IndexOffset= 16#0000_00F2
|
|
AxisVeloJumpFactor = 1060 # lreal IndexOffset= 16#0000_0106
|
|
AxisToleranceBallAuxAxis = 1061 # lreal IndexOffset= 16#0000_0108
|
|
AxisMaxPositionDeviationAuxAxis = 1062 # lreal IndexOffset= 16#0000_0109
|
|
AxisErrorPropagationMode = 1063 # dword IndexOffset= 16#0000_001A
|
|
AxisErrorPropagationDelay = 1064 # lreal IndexOffset= 16#0000_001B
|
|
AxisCoupleSlaveToActualValues = 1065 # bool IndexOffset= 16#0000_001C
|
|
AxisAllowMotionCmdToSlaveAxis = 1066 # bool IndexOffset= 16#0000_0020
|
|
AxisAllowMotionCmdToExtSetAxis = 1067 # bool IndexOffset= 16#0000_0021
|
|
AxisEncoderSubMask = 1068 # dword IndexOffset= 16#0001_0108
|
|
AxisEncoderReferenceSystem = 1069 # dword IndexOffset= 16#0001_0019
|
|
AxisEncoderPositionFilterPT1 = 1070 # lreal IndexOffset= 16#0001_0010
|
|
AxisEncoderVelocityFilterPT1 = 1071 # lreal IndexOffset= 16#0001_0011
|
|
AxisEncoderAccelerationFilterPT1 = 1072 # lreal IndexOffset= 16#0001_0012
|
|
AxisEncoderMode = 1073 # dword IndexOffset= 16#0001_000A
|
|
AxisEncoderHomingInvDirCamSearch = 1074 # bool IndexOffset= 16#0001_0101
|
|
AxisEncoderHomingInvDirSyncSearch = 1075 # bool IndexOffset= 16#0001_0102
|
|
AxisEncoderHomingCalibValue = 1076 # lreal IndexOffset= 16#0001_0103
|
|
AxisEncoderReferenceMode = 1077 # dword IndexOffset= 16#0001_0107
|
|
AxisRefVeloOutputRatio = 1078 # lreal IndexOffset= 16#0003_0102
|
|
AxisDrivePositionOutputScaling = 1079 # lreal IndexOffset= 16#0003_0109
|
|
AxisDriveVelocityOutputScaling = 1080 # lreal IndexOffset= 16#0003_0105
|
|
AxisDriveVelocityOutputDelay = 1081 # lreal IndexOffset= 16#0003_010D
|
|
AxisDriveMinOutputLimitation = 1082 # lreal IndexOffset= 16#0003_000B
|
|
AxisDriveMaxOutputLimitation = 1083 # lreal IndexOffset= 16#0003_000C
|
|
AxisTorqueInputScaling = 1084 # lreal IndexOffset= 16#0003_0031 - available in Tc3
|
|
AxisTorqueInputFilterPT1 = 1085 # lreal IndexOffset= 16#0003_0032 - available in Tc3
|
|
AxisTorqueDerivationInputFilterPT1 = 1086 # lreal IndexOffset= 16#0003_0033 - available in Tc3
|
|
AxisTorqueOutputScaling = 1087 # lreal IndexOffset= 16#0003_010B
|
|
AxisTorqueOutputDelay = 1088 # lreal IndexOffset= 16#0003_010F
|
|
AxisAccelerationOutputScaling = 1089 # lreal IndexOffset= 16#0003_010A
|
|
AxisAccelerationOutputDelay = 1090 # lreal IndexOffset= 16#0003_010E
|
|
AxisDrivePositionOutputSmoothFilterType = 1091 # dword IndexOffset= 16#0003_0110
|
|
AxisDrivePositionOutputSmoothFilterTime = 1092 # lreal IndexOffset= 16#0003_0111
|
|
AxisDrivePositionOutputSmoothFilterOrder = 1093 # dword IndexOffset= 16#0003_0112
|
|
AxisDriveMode = 1094 # dword IndexOffset= 16#0003_000A
|
|
AxisDriftCompensationOffset = 1095 # lreal IndexOffset= 16#0003_0104
|
|
AxisPositionControlKv = 1096 # lreal IndexOffset= 16#0002_0102
|
|
AxisCtrlVelocityPreCtrlWeight = 1097 # lreal IndexOffset= 16#0002_000B
|
|
AxisControllerMode = 1098 # dword IndexOffset= 16#0002_000A
|
|
AxisCtrlAutoOffset = 1099 # bool IndexOffset= 16#0002_0110
|
|
AxisCtrlAutoOffsetTimer = 1100 # lreal IndexOffset= 16#0002_0115
|
|
AxisCtrlAutoOffsetLimit = 1101 # lreal IndexOffset= 16#0002_0114
|
|
AxisSlaveCouplingControlKcp = 1102 # lreal IndexOffset= 16#0002_010F
|
|
AxisCtrlOutputLimit = 1103 # lreal IndexOffset= 16#0002_0100
|
|
|
|
# Beckhoff specific axis status information - READ ONLY Index-Group 0x4100 + ID
|
|
AxisTargetPosition = 2000 # lreal IndexOffset= 16#0000_0013
|
|
AxisRemainingTimeToGo = 2001 # lreal IndexOffset= 16#0000_0014
|
|
AxisRemainingDistanceToGo = 2002 # 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 = 4001 # lreal IndexOffset= 16#0000_0012
|