Development status:
Released,
Release: Release_1_0
Information status: New
Repository:
http://svn.code.sf.net/p/tango-ds/code/DeviceClasses/Motion/CombinedMotor
Contact:
Class Description
Use to do coupled motion of several motors by one combined motor (VM)
To setup full the MOTOR array with (<motor>, <coupling coefficient>, <position coefficient>) tuples, where:
<motor> - tango address of motor
<coupling coefficients> - how the position, speed, acceleration of physical motor scaled relative to the CM properties i.e.:
physical motor position = coupling coefficient * combined motor position
<position coefficient> - coefficient for calculation of combined motor property out of physical motors i.e.:
combined motor position = motor1 * position coefficient1 + motor2 * position coefficient2 + ....
Important: both coefficients must obey condition: 1 = coupling coefficients1 * position coefficient1 + coupling coefficients2 * position coefficient2 + ...
- Examples:
- For slit center (cy) assuming that slit_top, slit_bottom moves positive up
coupling coefficient 1 = 1 coupling coefficient 2 = 1
position coefficient 1 = 0.5 position coefficient 2 = 0.5
- For slit gap (dy) assuming slit_top, slit_bottom moves positive up
coupling coefficient 1 = 0.5 coupling coefficient 2 = -0.5
position coefficient 1 = 1 position coefficient 2 = -1
- For table with 3 legs y1, y2, y3 using 1st leg to define value of virtual motor
coupling coefficient 1 = 1 coupling coefficient 2 = 1 coupling coefficient 3 = 1
position coefficient 1 = 1 position coefficient 2 = 0 position coefficient 3 = 0
- For theta 2 theta motor with th, 2th - real motors
coupling coefficient 1 = 1 coupling coefficient 2 = 2
position coefficient 1 = 1 position coefficient 2 = 0
Limits for motion taken correctly from soft limits of physical motors. Change of limits of virtual motor is not allowed
Calibration of the position of the virtual motor is allowed and done for via calibration of physical motors using COEF (like motion).
Families: Motion
Key words:
Platform: All Platforms
Language: Python
License: GPL
Contact:
Hardware
Manufacturer: none
Bus: Not Applicable
Class interface
Attributes:
Name | Description |
---|---|
PositionScalar: DevDouble | — |
CwLimitScalar: DevDouble | — |
Ccw_LimitScalar: DevDouble | — |
UnitLimitMinScalar: DevDouble | — |
UnitLimitMaxScalar: DevDouble | — |
ResultSimScalar: DevDouble | — |
AccelerationScalar: DevDouble | — |
BaseRateScalar: DevDouble | — |
ConversionScalar: DevDouble | — |
SlewRateScalar: DevDouble | — |
SlewRateMaxScalar: DevDouble | — |
SlewRateMinScalar: DevDouble | — |
FlagClosedLoopScalar: DevDouble | — |
PositionSimSpectrum: DevString | — |
Commands:
Name | Description |
---|---|
StateInput: DevVoid Output: State Device state |
This command gets the device state (stored in its device_state data member) and returns it to the caller. |
StatusInput: DevVoid Output: ConstDevString Device status |
This command gets the device status (stored in its device_status data member) and returns it to the caller. |
CalibrateInput: DevDouble Output: DevVoid |
— |
StopMoveInput: DevVoid Output: DevVoid |
— |
movevvcInput: DevVarStringArray Output: DevVoid |
— |
Pipes:
Properties:
Name | Description |
---|---|
MotorsCodeDevString | — |
Please log in to comment.
Created:
The device class has been added to catalogue.