This is historical information of device classes implemented in OmsVme58 device server.
Use this link to find the valid information.
Development status:
Released,
Release: Release_1_60
Information status: Updated
Repository:
http://svn.code.sf.net/p/tango-ds/code/DeviceClasses/Motion/MotorControllers/OmsVme58
Contact:
Class Description
Stepping motor
Families: Motion
Key words:
Platform: Unix Like
Language: Cpp
Contact:
Hardware
Manufacturer: none
Bus: VME
Class interface
Attributes:
Name | Description |
---|---|
AccelerationScalar: DevLong | the acceleration |
BaseRateScalar: DevLong | the motor starts to move with this rate, then accelerates |
ConversionScalar: DevDouble | the conversion factor, steps = conversion*units |
FlagCalibrationDefinedScalar: DevLong | set to 1, when the calibration is defined |
FlagCalibrationUserDefinedScalar: DevLong | set to 1, when the user calibration is defined |
FlagConversionDefinedScalar: DevLong | set to 1, when the conversion is defined |
SettleTimeScalar: DevDouble | used by completeMove to wait after a motor comes to \nrest |
SlewRateScalar: DevLong | the motor speed |
SlewRateMaxScalar: DevLong | the maximum slew rate |
SlewRateMinScalar: DevLong | the minumum slew rate |
StepBacklashScalar: DevLong | backlash is used for movements which have NOT\n (steps > 0 && StepBacklash) > 0 ||\n (steps < 0 && StepsBacklash) < 0 |
StepCalibrationScalar: DevLong | see the description of unitCalibration |
StepCalibrationUserScalar: DevLong | this value may be changed by the user, it is an offset to\nstepCalibration, see the explanations at unitCalibration |
StepLimitMaxScalar: DevLong | corresponds to the upper unit limit, changing on affects the other |
StepLimitMinScalar: DevLong | corresponds to unit limit min, changing one affects the other |
StepPositionInternalScalar: DevLong | the internal (Software) position |
StepPositionControllerScalar: DevLong | the controller (Software) position |
UnitBacklashScalar: DevDouble | this value corresponds to stepBacklash, changing one\nchanges the other, see the explanations given \nfor stepBacklash |
UnitCalibrationScalar: DevDouble | the calibration point is specified by a unit position and\nthe corresponding step position, the formular for\nunits2steps is then: \n\nsteps = stepsCalibration + conversion*( unit - unitCalibration) |
UnitCalibrationUserScalar: DevDouble | this value may be changed by the user, an offset to the\nunitCalibration, see the explanation there |
UnitLimitMaxScalar: DevDouble | the upper motor limit |
UnitLimitMinScalar: DevDouble | the lower limit of a motor |
DerivativeGainScalar: DevDouble | — |
IntegralGainScalar: DevDouble | — |
ProportionalGainScalar: DevDouble | — |
TotalMoveTimeScalar: DevFloat | — |
RemainingTimeScalar: DevFloat | — |
CwLimitScalar: DevLong | — |
CcwLimitScalar: DevLong | — |
FlagProtectedScalar: DevLong | Protection mask |
MagnitudeScalar: DevLong | — |
FlagMotorReadyScalar: DevLong | — |
FlagBacklashScalar: DevLong | Internally set to 1 if a backlash compensation will be performed at the end of the current movement. It shows always 0 if the motor is not moving or a backlash will not be added at the end of the started movement. |
PositionScalar: DevDouble | — |
AccuLimitMinScalar: DevLong | — |
AccuLimitMaxScalar: DevLong | — |
FlagEncoderConversionDefinedScalar: DevLong | 1 if the conversion factor of the encoder was defined |
FlagEncoderHomeDefinedScalar: DevLong | 1 if the encoder home position was defined |
FlagEncoderHomedScalar: DevLong | 1 if the encoder went through a homing procedure. Can be set\nafter a server restart, if VME stayed on. |
ConversionEncoderScalar: DevDouble | the encoder conversion factor |
HomePositionScalar: DevDouble | the unit position of the encoder home switch |
PositionEncoderScalar: DevDouble | the motor postition calculated from the encoder reading,\nthe encoder conversion and the encoder home position |
FlagUseEncoderPositionScalar: DevLong | if 1, the server returns the encoder position when asked \nfor the motor position |
PositionEncoderRawScalar: DevDouble | the raw value from the encoder, does not involve a home position,\na homing procedure, etc. |
FlagClosedLoopScalar: DevLong | closed loop stepping mode on/off |
SlewRateCorrectionScalar: DevLong | the maximum slew used in closed loop corrections |
StepDeadBandScalar: DevLong | dead band in encoder counts (steps * encConv/Conv) |
CorrectionGainScalar: DevLong | [1,32000], SlewCorr = CorrGain*PositionError (but\n< SlewRateCorrection) |
SlipToleranceScalar: DevLong | slit tolerance, in encoder units, [0,65535] |
CutOrMapScalar: DevDouble | the value of the cut/mapping point, for explanations\nsee flagCutOrMap |
FlagInvertEncoderDirectionScalar: DevLong | — |
EncoderRatioScalar: DevDouble | the output of the ER? command |
FlagCutOrMapScalar: DevLong | mirror the state of the FlagCutOrMap property, \nread-only |
HomeStatusBitsScalar: DevLong | represents the status of the home switch bits |
RecentWritesSpectrum: DevString | A debugging tool. This array contains records about the \nrecent write operations to the server. |
Commands:
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. |
CheckMoveInput: DevVoid Output: DevLong return value |
the function returns 1, if the motor is moving |
CompleteMoveInput: DevVoid Output: DevLong return status of execution |
waits for the move to be finished, does the backlash, if FlagBacklash |
GetRegisterInput: DevVoid Output: DevLong the register contents |
returns the stepper controller register contents, hardware |
GetPositionInput: DevVoid Output: DevDouble the position |
— |
SetRegisterInput: DevLong the new register contents Output: DevLong completion status |
loads the motor register with a value, the hardware |
SetupStepMoveInput: DevLong final position, in steps Output: DevLong completion status |
prepares a move, takes backlash into account, sets FlagMotorReady |
SetupUnitMoveInput: DevDouble final position, in units Output: DevLong completion status |
prepares a move, calulates the new step position from the argument, the calibration value and the conversion factor, takes backlash into account, sets FlagMotorReady |
StartMoveInput: DevVoid Output: DevLong completion status |
a motor with FlagMotorReady is started, the function returns immediately |
StopMoveInput: DevVoid Output: DevLong completion status |
stop a movement, return immediately, don't wait for de-acceleation, don't do backlash |
MoveInput: DevDouble Final position, in units Output: DevLong Completion status |
Setup motor, start move, complete move. |
GetStepPositionInput: DevVoid Output: DevLong Position in steps |
Returns the motor position in steps in case the internal and the controller stored positions agree. In other case it gives an error. |
SetStepPositionInput: DevLong Steps to set in Registers Output: DevLong Completion status |
If StepPositonInternal== StepPositionController, changes these values to the input |
ResetMotorInput: DevVoid Output: DevLong Completion status |
Reset the motor |
CalibrateInput: DevDouble Value to be calibrated Output: DevLong Completion status |
Calibrate the motor: current position is calibrated to be the value given as an argument |
UserCalibrateInput: DevDouble Value to be calibrated Output: DevLong Completion status |
User an user calibration for calibrating the motor keeping the general one. |
SetStepRegisterInput: DevLong The new value, internal and controller Output: DevLong Completion status |
This command changes the internal value and the controller. The unit position remains unchanged |
MoveHomeInput: DevVoid Output: DevLong completion status |
executes the encoder homing procedure |
CalibrateEncoderInput: DevVoid Output: DevVoid |
Uses the current motor unit position and the encoder home position to load the encoder raw position. |
WriteReadInput: DevString Output: DevString |
Sends a command to the controller and returns the answer. The axis specification is automatically added to the command. |
MoveToCwLimitInput: DevVoid Output: DevLong completion status |
Moves the motor until the CW limit is reached (positive step direction, MA214700000). Software limits are ignored. StopMove works. |
MoveToCcwLimitInput: DevVoid Output: DevLong completion status |
Moves the motor until the CCW limit is reached (negative step direction, MA-214700000). Software limits are ignored. StopMove works. |
ThreadActionInput: DevVoid Output: DevVoid |
Allows threads to execute preselected actions in the main thread |
movevvcInput: DevVarStringArray a list of strings representing the segments: ``slew:50000, position: 0.1``, ``slew: 30000, position: 0.2``, ``slew: 40000, position: 0.3`` Output: DevLong 1, if the setup was OK and the move could be started |
executes a move using the variable velocity feature - the end positions of the segments have to be ordered - the current position has to comply with the order of the segments - no backlash is executed - the motor must not be in a limit - the motor must not be in closed loop - at the end of the last segment, the motor is decelerated to base - the collision check is done for the end position of the last segment |
Pipes:
Properties:
Name | Description |
---|---|
CollisionsSensorDSDevString | Name of the CollisionsSensor Device Server to be connected to. |
CollisionsSensorBLDevString | Beamline identification as string, needs for sending to CollisionsSensor. |
BaseDevULong | vme base address |
ChannelDevULong | channel number |
AccuMaxDevLong | the maximum step register value |
AccuMinDevLong | minimum step register value |
SlewRateMinHwDevLong | the minumal slew rate, hardware |
SlewRateMaxHwDevLong | the maximum slew rate, hardware |
AccelerationMinHwDevULong | minimum acceleration, hardware |
AccelerationMaxHwDevULong | the maximum acceleration |
TypeDevUShort | Motor type. 0 -> StepperMotor 1 -> Servo |
SimulationModeDevULong | 0 real mode, 1 simulation mode |
MaxVSerieDevShort | 0 not MaxV 1 MaxV |
IgnoreLimitSwDevULong | 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 |
FlagEncoderDevLong | 1 if an encoder Rnishaw rgh24 is connected 2 if an SSI encoder is connected |
FlagUseCollisionsSensorDevLong | Set to 1 for using CollisionsSensor Server for checking possible collisions. |
ZMXDeviceDevString | Name of the zmx device corresponding to the ZMX hardware connected to this motor. |
FlagSendDataToCollisionsSensorDevLong | If one limits are send to the collision sensor before checking the movement. It is necessary if any attribute of this server has to be used in the check routine. |
FlagCutOrMapDevLong | 0 - ignore, 1 - cut, 2 - map Cutting point: cannot be passed through, the position stays in [cut, cut+360[ Mapping point: the position is kept in [map, map+360[, automatic re-calibrations |
AbsoluteEncoderOffsetDevLong | SSI absolute encoder difference (in counts) between absolute encoder zero and your desired zero position |
AbsoluteEncoderResolutionDevShort | SSI encoder resolution in bits |
AbsoluteEncoderFrequencyDevULong | SSI encoder data rate in Hz. Valid rates are 31250, 62500, 125000, 250000, 500000, 1000000, 2000000 and 4000000 |
HomeDefinitionDevString | EHhiba h home i index b phase a phase |
HomeIndexDefinitionDevString | 1 - enables encoder index, phase A and B 0 - disables I, A, B |
VmeCardDevULong | identifies the VME card, can be 0 or 1, default: 0 |
README
b"\n\nFor DESY\n\n to make a new release: \n\n - edit Makefile to set a new version number and say 'make tag'\n - and commit the trunk directory\n\n to update an existing release\n\n - copy the relevant files to the release directory and commit it\n\n"
Updated:
The device class has been updated.
You can see previous version here .
19 May 2018, DS Admin
Updated:
The device class has been updated.
You can see previous version here .
31 Mar 2018, DS Admin
Updated:
A device class has been added.
You can see previous version here .
31 Mar 2018, DS Admin
Updated:
The device class has been updated.
You can see previous version here .
17 Feb 2018, DS Admin
Updated:
The device class has been updated.
You can see previous version here .
5 Jan 2018, DS Admin
Updated:
The device class has been updated.
You can see previous version here .
9 Sep 2017, Piotr Goryl
Updated:
The device class has been updated.
You can see previous version here .
20 Apr 2017, Piotr Goryl
Updated:
The device class has been updated.
You are looking at this version now.
23 Feb 2017, Piotr Goryl
Updated:
The device class has been updated.
You can see previous version here .
19 Jan 2017, Piotr Goryl
Updated:
The device server has been updated.
You can see previous version here .
2 Jan 2017, Piotr Goryl
Created:
The device server has been added to catalogue.