Average: 0
Rating Count: 0

Development status: Released, Release: Release_1_0
Information status: Updated
Repository: http://svn.code.sf.net/p/tango-ds/code/DeviceClasses/Motion/MotorControllers/OmsServo

Class Description

Pro-Dex/OMS servo motor controller

Families: Motion

Key words:

Platform: Unix Like

Language: Cpp

License: GPL



Manufacturer: Pro-Dex


MaxV series

Bus: VME

Class interface


Name Description
ParkingActiveScalar: DevShort
ParkingAutomaticScalar: DevShort
ParkingSettleTimeScalar: DevDouble max = 1000\nmin = 0
ConversionScalar: DevDouble
InvertEncoderDirectionScalar: DevShort
InvertVoltageScalar: DevShort
AccelerationScalar: DevDouble
AccelerationUnitsScalar: DevDouble
VelocityScalar: DevDouble
VelocityUnitsScalar: DevDouble
PIDProportionalGainScalar: DevDouble PID gain, proportional part
PIDIntegralGainScalar: DevDouble PID gain, integral part
PIDIntegralUpperSumLimitScalar: DevLong PID integral upper sum limit. Default is 200.
PIDDerivativeGainScalar: DevDouble PID gain, derivative part
PIDAccFeedforwardScalar: DevDouble PID Acceleration feedforward\nDefault = 0
PIDVelocityFeedforwardScalar: DevDouble PID Velocity feedforward\nDefault = 0
PIDFrictionCoefficientScalar: DevDouble PID Friction coefficient
PIDDeadbandHoldScalar: DevLong
PIDDeadbandHoldUnitsScalar: DevDouble
PIDDeadbandHoldTimeScalar: DevLong The axis has to hold the specified position for this many milliseconds before the axis signals done.
PIDMaxOutputVoltageScalar: DevDouble PID Maximum output voltage\nDefault = 0 (setting disabled)
PIDServoVoltageDeadbandScalar: DevDouble Deadband value for piezoelectric servo motors
PIDServoOffsetScalar: DevDouble PID offset.
PIDactiveScalar: DevShort
PIDstatusScalar: DevString
PositionScalar: DevDouble
PositionRawScalar: DevDouble
ResetModuloPositionScalar: DevDouble Divides the axis position counter by the parameter supplied and replaces the\naxis position counter with the resulting remainder.
RemainingMoveTimeScalar: DevDouble
ServoOutputVoltageScalar: DevFloat
FlagMotorHomedScalar: DevShort
HomeFoundPositionScalar: DevDouble
FlagSlipStatusScalar: DevShort
FlagCwLimitScalar: DevShort
FlagCcwLimitScalar: DevShort
FlagOvertravelScalar: DevShort
FlagSetupReadyScalar: DevShort
FlagEncoderErrorScalar: DevShort
DoneDetectionModeScalar: DevShort 0 = Interrupt when approx. done\n1 = Interrupt when in exact position (+/- deadband)
EncoderSlipToleranceScalar: DevLong Slip tolerance in counts. The closed loop will be turned off \nwhen the error exceeds this value.
EncoderSlipToleranceUnitsScalar: DevDouble Slip tolerance in units. The closed loop will be turned off \nwhen the error exceeds this value.
SlipKillModeScalar: DevShort
RampDownLimitsActiveScalar: DevShort
SoftLimitMinUnitsScalar: DevDouble
SoftLimitMaxUnitsScalar: DevDouble
HomeOffsetUnitsScalar: DevDouble
AuxiliaryControlAtVelocityScalar: DevShort 0 = The auxiliary pin is left alone\n1 = The auxiliary pin will be turned on when the motor has reached\na constant velocity, and off when the motor stops.\n
AuxiliaryControlPolarityScalar: DevShort 0 = The auxiliary pin is HIGH during move.\n1 = The auxiliary pin is LOW during move.\n
ElectronicGearingActiveScalar: DevUShort 0 = Inactive\n1 = Active
ElectronicGearingMasterAxisScalar: DevUShort 0 = X\n1 = Y\n2 = Z\n3 = T\n4 = U\n5 = V\n6 = R\n7 = S
ElectronicGearingMasterAxisRatioScalar: DevLong 0 = X\n1 = Y\n2 = Z\n3 = T\n4 = U\n5 = V\n6 = R\n7 = S
ElectronicGearingSelfAxisRatioScalar: DevLong 0 = X\n1 = Y\n2 = Z\n3 = T\n4 = U\n5 = V\n6 = R\n7 = S


Name Description
StateInput: DevVoid
Output: State
State Code
This command gets the device state (stored in its <i>device_state</i> data member) and returns it to the caller.
StatusInput: DevVoid
Output: ConstDevString
Status description
This command gets the device status (stored in its <i>device_status</i> data member) and returns it to the caller.
AbortMoveInput: DevVoid
Output: DevShort
Completion status
Aborts move
CheckMoveInput: DevVoid
Output: DevLong
return value
The function returns 1 if the motor is moving
LoadPositionInput: DevLong
Position to load as current position
Output: DevShort
Completion status
LoadPositionUnitsInput: DevFloat
Output: DevVoid
Set the current position in user units
MoveAbsoluteInput: DevDouble
Absolute position in counts
Output: DevLong
Completion status
MoveAbsoluteUnitsInput: DevFloat
Output: DevVoid
Move to an absolute position in user units
MoveHomeInput: DevVoid
Output: DevLong
Completion status
Homes the motor automatically. If no reference mark is found in either direction, it will generate an error.
MoveHomePositiveInput: DevVoid
Output: DevVoid
ResetMotorInput: DevVoid
Output: DevLong
Completion status
Reset the motor
GetBoardInfoInput: DevVoid
Output: DevString
WriteReadInput: DevString
Output: DevString



Name Description
BaseDevULong VME card base address
ChannelDevULong Channel number
TypeDevUShort Motor type. 0 -> Stepper motor 1 -> Servo motor 2 -> Stepper motor with encoder
IgnoreLimitSwitchesDevULong set to 1: the server will ignore any limit switch signals, so you can move a motor with no switches connected set to 0: the server will honour limit switch signals
InvertParkingLogicDevShort 0 means the Parking function is active when the Auxiliary bit is 1 1 means the Parking function is active when the Auxiliary bit is 0
HomeLogicDevString Defines the home logic (reference mark). Format is [Stepper home signal][Encoder reference][Encoder A][Encoder B]. See MaxV manual for more information.

Please log in to comment.

13 Jan 2018, DS Admin
The device class has been updated.
You can see previous version here .

23 Feb 2017, Piotr Goryl
The device class has been updated.
You can see previous version here .

19 Jan 2017, Piotr Goryl
The device server has been updated.
You can see previous version here .

2 Jan 2017, Piotr Goryl
The device server has been added to catalogue.
Added by:pgoryl2 on:2 Jan 2017, 2:53 p.m.