.

Average: 0
Rating Count: 0 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.:

System Message: ERROR/3 (<string>, line 9)

Unexpected indentation.
physical motor position = coupling coefficient * combined motor position

<position coefficient> - coefficient for calculation of combined motor property out of physical motors i.e.:

System Message: ERROR/3 (<string>, line 13)

Unexpected indentation.
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

Contact:

#### Hardware

Manufacturer: none

Bus: Not Applicable

#### Class interface

Attributes:

Name Description
PositionSimSpectrum: DevString
FlagClosedLoopScalar: DevDouble
SlewRateMinScalar: DevDouble
SlewRateMaxScalar: DevDouble
SlewRateScalar: DevDouble
ConversionScalar: DevDouble
BaseRateScalar: DevDouble
AccelerationScalar: DevDouble
ResultSimScalar: DevDouble
UnitLimitMaxScalar: DevDouble
UnitLimitMinScalar: DevDouble
Ccw_LimitScalar: DevDouble
CwLimitScalar: DevDouble
PositionScalar: DevDouble

Commands:

Name Description
movevvcInput: DevVarStringArray
Output: DevVoid
StopMoveInput: DevVoid
Output: DevVoid
CalibrateInput: DevDouble
Output: DevVoid
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.
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.

Pipes:

Properties:

Name Description
MotorsCodeDevString