This is historical information of device classes implemented in Spk device server.
Use this link to find the valid information.
Development status:
Released
Information status: Updated
Repository:
http://svn.code.sf.net/p/tango-ds/code/DeviceClasses/Motion/MotorControllers/Spk
Contact:
Class Description
the interface to the large offset monochromator motors
Families: Motion
Key words:
Platform: Unix Like
Language: Cpp
Contact:
Hardware
Manufacturer: none
Bus: Not Applicable
Class interface
Attributes:
| Name | Description |
|---|---|
| CwLimitScalar: DevLong | CW limit status, hardware |
| CcwLimitScalar: DevLong | CCW limit status, hardware |
| UnitLimitMaxScalar: DevDouble | software limit, rw |
| UnitLimitMinScalar: DevDouble | software limit, rw |
| SettleTimeScalar: DevDouble | Online sleeps SettleTime seconds after each move |
| FlagProtectedScalar: DevLong | if 1, no write operations to the server are allowed |
| FlagMotorReadyScalar: DevLong | OmsVme58 compatibility feature |
| StepPositionControllerScalar: DevLong | compatibility feature |
| StepPositionInternalScalar: DevLong | — |
| SlewRateScalar: DevLong | compatibility feature |
| UnitBacklashScalar: DevDouble | if > 0, the backlash is done when goind down |
| PositionScalar: DevDouble | — |
| HomePositionScalar: DevDouble | Setting the offset effectively sets the home position,\nmaintained by the PLC - no need to memorize |
| FlagEncoderHomedScalar: DevLong | 1, if the encoder was homed |
| FlagEncoderHomeDefinedScalar: DevLong | always 1 |
| CurrentUnitPositionScalar: DevDouble | obsolete, use Position instead |
| ErrorCodeScalar: DevLong | the error code\n0 no error\n1 emergency power off\n2 unexpected limit switch\n3 at a limit during power-on\n4 both limits\n5 homing blocked by limit switch\n6 wrong limit during homing\n7 schlupf more than 1 mm\n8 inconsistent limits\n9 hardware error, motor\n10 hardware error, encoder |
| ConversionFactorScalar: DevDouble | the factor is used to convert the PLC positions to \nphysical quantities, pos = PlcUnits*convFactor/1000. \n'1000' because the PLC measures the position in microns. |
| IgnoreLimitsScalar: DevLong | if set, the limit switches are ignored |
| PositionSetPointScalar: DevDouble | stores the setpoint |
| UnitLimitMaxHWScalar: DevDouble | the hardware limit, in units, conversion and home position\nare taken into account, ro |
| UnitLimitMinHWScalar: DevDouble | the hardware limit, in unit, conversion and home position\nare taken into account, ro |
| EncoderOffsetScalar: DevDouble | in micrometer, posPLC = Encoder + HomePosition + EncoderOffset, \npos = posPLC/1000*conversion |
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. |
| CompleteMoveInput: DevVoid Output: DevLong return status of execution |
It no action |
| 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 == 1 is started, the function returns immediately, Better: move a motor by writing to Position attribute |
| 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. Better: move a motor by writing to the 'Position' attribute |
| ResetMotorInput: DevVoid Output: DevLong Completion status |
Sets and clears the 'Reinitialisierung'-Bit |
| 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, changes the home position |
| UserCalibrateInput: DevDouble Value to be calibrated Output: DevLong Completion status |
Uses an user calibration for calibrating the motor keeping the general one. |
| CheckMoveInput: DevVoid Output: DevLong |
returns MOVING or ON |
| GetStepPositionInput: DevVoid Output: DevLong |
— |
| MoveHomeInput: DevVoid Output: DevVoid |
Start the homing procedure |
| ClearErrorInput: DevVoid Output: DevVoid |
resets the errors |
| SaveEncoderOffsetInput: DevVoid Output: DevVoid |
saves the encoder offset |
| LoadEncoderOffsetInput: DevVoid Output: DevVoid |
loads the encoder offset |
| CalibrateEncoderInput: DevDouble Value to be calibrated Output: DevLong Completion status |
changes the encoder offset |
| ResetLimitPositionsInput: DevVoid Output: DevVoid |
resets the PLC limit positions |
| ClearLimitPositionsInput: DevVoid Output: DevVoid |
If limts are hit, the SPS memorized the positions and uses the value as a hardware limit. This command restores the default hardware limits. |
Pipes:
Properties:
| Name | Description |
|---|---|
| PlcServerDevString | the server which exports the SPK PLC |
| ChannelDevLong | the channel selects the motor, the first motor starts at offset 512, the next motor at 512 + 256 |
| SimulationModeDevULong | 0 real mode, 1 simulation mode |
| FlagUseCollisionsSensorDevLong | Set to 1 for using CollisionsSensor Server for checking possible collisions |
| CollisionsSensorDSDevString | Name of the CollisionsSensor Device Server to be connected to. |
| CollisionsSensorBLDevString | Beamline identification as string, needs for sending to CollisionsSensor. |
README
b"\nthis server controls a Beckhoff PLC the steers 4 axes\n\nit depends on the ADS class\n\nit creates the Spk and Slt servers, they are identical\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\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 are looking at this version now.
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.