This is historical information of device classes implemented in Spk device server.
Use this link to find the valid information.
    
        
         Development status:
    Released
        
    
    Development status:
    Released
    
    Information status: New
    
        
    
    
    
    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. | 
        
    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 are looking at this version now.
        
        
        
2 Jan 2017, Piotr Goryl
Created:
The device server has been added to catalogue.
    
    
    
    
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 are looking at this version now.
2 Jan 2017, Piotr Goryl
Created:
The device server has been added to catalogue.
    Added by:pgoryl2
    on:19 Jan 2017, 10:48 a.m.
    