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.