Rotator

Commands

configureAcceleration

Description: Limit the minimum and maximum acceleration level of the rotator to be set within the global limit of +/- 1 deg/s2.

Subsystem:Rotator
EFDB_Topic:Rotator_command_configureAcceleration

alimit

IDL_Type:double
Units:deg/s2
Count:1

Description: acceleration limit

configureVelocity

Description: The configure Velocity command limits the minimum and maximum velocity level of the rotator to be set within the global limit of +/- 3.5 deg/s.

Subsystem:Rotator
EFDB_Topic:Rotator_command_configureVelocity

vlimit

IDL_Type:double
Units:deg/s
Count:1

Description: Velocity limit

move

Description: Move the rotator to the specified position and stop. During the move the enabled substate will be MovingPointToPoint, then it will return to Stationary.

Subsystem:Rotator
EFDB_Topic:Rotator_command_move

position

IDL_Type:double
Units:deg
Count:1

Description: Desired position.

track

Description: Specify desired rotator position and velocity “slewing or tracking” mode, which is started with the trackStart command and concluded with the stop command.

Subsystem:Rotator
EFDB_Topic:Rotator_command_track

angle

IDL_Type:double
Units:deg
Count:1

Description: Desired position at the time specified by “tai”.

velocity

IDL_Type:double
Units:deg/second
Count:1

Description: Desired velocity at the time specified by “tai”.

tai

IDL_Type:double
Units:second
Count:1

Description: TAI time of the “position” and “velocity” fields.

trackStart

Description: Enter slewing/tracking mode (enabled substate SlewingOrTracking): follow a path specified by repeated track commands. Issue the stop command when you are done tracking.

Subsystem:Rotator
EFDB_Topic:Rotator_command_trackStart

state

IDL_Type:boolean
Units:unitless
Count:1

Description: state

clearError

Description: Clear the Fault state, sending the controller into Offline substate PublishOnly. You must use the engineering user interface to transition from that to Offline substate Available before the CSC can control the rotator.

Subsystem:Rotator
EFDB_Topic:Rotator_command_clearError

state

IDL_Type:boolean
Units:unitless
Count:1

Description: state

stop

Description: Stop the rotator and go to enabled substate Stationary.

Subsystem:Rotator
EFDB_Topic:Rotator_command_stop

state

IDL_Type:int
Units:unitless
Count:1

Description: Not used.

Events

  • ControllerState_Standby=0
  • ControllerState_Disabled=1
  • ControllerState_Enabled=2
  • ControllerState_Offline=3
  • ControllerState_Fault=4
  • OfflineSubstate_PublishOnly=0
  • OfflineSubstate_Available=1
  • EnabledSubstate_Stationary = 0
  • EnabledSubstate_MovingPointToPoint=1
  • EnabledSubstate_SlewingOrTracking=2
  • EnabledSubstate_ControlledStopping=3
  • EnabledSubstate_Initializing=4
  • EnabledSubstate_Relative=5
  • EnabledSubstate_ConstantVelocity=6
  • ApplicationStatus_HEX_FOLLOWING_ERROR_MASK=0x00000001
  • ApplicationStatus_HEX_MOVE_COMPLETE_MASK=0x00000002
  • ApplicationStatus_COMMAND_REJECT_MASK=0x00000020
  • ApplicationStatus_SAFTEY_INTERLOCK=0x00000040
  • ApplicationStatus_EXTEND_LIMIT_SWITCH=0x00000080
  • ApplicationStatus_RETRACT_LIMIT_SWITCH=0x00000100
  • ApplicationStatus_ETHERCAT_PROBLEM=0x00000200
  • ApplicationStatus_DDS_COMMAND_SOURCE=0x00000400
  • ApplicationStatus_MOTION_TIMEOUT=0x00000800
  • ApplicationStatus_DRIVE_FAULT=0x00002000
  • ApplicationStatus_SIMULINK_FAULT=0x00004000
  • ApplicationStatus_ENCODER_FAULT=0x00008000

controllerState

Description: State reported by the low level controller. All values except applicationStatus are 1 greater than those reported by the controller for temporary and historical reasons.

Subsystem:Rotator
EFDB_Topic:Rotator_logevent_controllerState

controllerState

IDL_Type:long
Units:unitless
Count:1

Description: Basic state. A ControllerState enumeration value. The state names and meanings are the same as standard CSC summaryState, but the numeric values are ordered differently. We report the controller state in addition to summaryState because we need to report a summaryState even when the controller is not connected, and to aid diagnostics, e.g. in case the controller reports an unrecognized state.

offlineSubstate

IDL_Type:long
Units:unitless
Count:1

Description: Substate in OFFLINE mode. An OfflineSubstate enumeration value.

enabledSubstate

IDL_Type:long
Units:unitless
Count:1

Description: Substate in ENABLED mode. An EnabledSubstate enumeration value.

applicationStatus

IDL_Type:long
Units:unitless
Count:1

Description: Application state. A bitmask of ApplicationStatus enumeration values.

connected

Description: State of TCP/IP connection to the low level controller.

Subsystem:Rotator
EFDB_Topic:Rotator_logevent_connected

command

IDL_Type:boolean
Units:unitless
Count:1

Description: Is the command socket connected (true=yes, false=no)?

telemetry

IDL_Type:boolean
Units:unitless
Count:1

Description: Is the telemetry/config socket connected (true=yes, false=no)?

interlock

Description: Rotator interlock: This event is generated when safety interlock is engaged or disengaged

Subsystem:Rotator
EFDB_Topic:Rotator_logevent_interlock

detail

IDL_Type:string
IDL_Size:256
Units:unitless
Count:1

Description: detail

target

Description: Commanded target position, velocity and time.

Subsystem:Rotator
EFDB_Topic:Rotator_logevent_target

position

IDL_Type:double
Units:deg
Count:1

Description: Target position at the time specified by “tai”.

velocity

IDL_Type:double
Units:deg/second
Count:1

Description: Target velocity at the time specified by “tai”.

tai

IDL_Type:double
Units:second
Count:1

Description: TAI time of the “position” and “velocity” fields.

tracking

Description: Specify whether the rotator is tracking.

Subsystem:Rotator
EFDB_Topic:Rotator_logevent_tracking

tracking

IDL_Type:boolean
Units:unitless
Count:1

Description: Is the rotator tracking? True whenever 3 consecutive 50 ms track commands have been applied.

lost

IDL_Type:boolean
Units:unitless
Count:1

Description: Did tracking fail? True if system tracks into a limit or we do not receive a new track command within 150ms (three iterations) following the last track command.

inPosition

Description: Event to indicate rotator is in position or not

Subsystem:Rotator
EFDB_Topic:Rotator_logevent_inPosition

inPosition

IDL_Type:boolean
Units:unitless
Count:1

Description: Rotator in position

configuration

Description: Rotator configuration.

Subsystem:Rotator
EFDB_Topic:Rotator_logevent_configuration

positionAngleUpperLimit

IDL_Type:double
Units:deg
Count:1

Description: Position difference between the commanded position and the actual position that triggers system to switch between slew mode and track mode. Positive range limit (must be less than +90)

velocityLimit

IDL_Type:double
Units:deg/s
Count:1

Description: Velocity limit

accelerationLimit

IDL_Type:double
Units:deg/s2
Count:1

Description: Acceleration limit

positionErrorThreshold

IDL_Type:double
Units:deg
Count:1

Description: Position error threshold

positionAngleLowerLimit

IDL_Type:double
Units:deg
Count:1

Description: Position difference between the commanded position and the actual position that triggers system to switch between slew mode and track mode. Negative range limit (must be greater than -90)

followingErrorThreshold

IDL_Type:double
Units:deg
Count:1

Description: Deviation between commanded position and actual rotator position that triggers following error event/fault

trackingSuccessPositionThreshold

IDL_Type:double
Units:deg
Count:1

Description: RMS deviation over 150ms interval between position command and actual rotator position for triggering tracking and tracklost events

trackingLostTimeout

IDL_Type:double
Units:s
Count:1

Description: Duration between receiving slewing and tracking commands over DDS before tracklost event/fault is declared

commandableByDDS

Description: Can the CSC can control the rotator?

Subsystem:Rotator
EFDB_Topic:Rotator_logevent_commandableByDDS

state

IDL_Type:boolean
Units:unitless
Count:1

Description: If true the CSC can control the rotator; else the Engineering User Interface has control.

Telemetry

Application

Description: Commanded and actual rotator position. Note: this will be renamed to “application” once we can update the camera cable wrap system.

Subsystem:Rotator
EFDB_Topic:Rotator_Application

Demand

IDL_Type:double
Units:deg
Count:1

Description: Commanded rotator position.

Position

IDL_Type:double
Units:deg
Count:1

Description: Actual rotator position.

Error

IDL_Type:double
Units:deg
Count:1

Description: Rotator following error.

electrical

Subsystem:Rotator
EFDB_Topic:Rotator_electrical

copleyStatusWordDrive

IDL_Type:unsigned short
Units:unitless
Count:2

Description: Copley drive status word.

copleyLatchingFaultStatus

IDL_Type:unsigned short
Units:unitless
Count:2

Description: Copley latching fault status register.

motors

Description: Encoder readings from each rotator motor

Subsystem:Rotator
EFDB_Topic:Rotator_motors

calibrated

IDL_Type:double
Units:deg
Count:2

Description: Encoder readings scaled to degrees of motion of the rotator.

raw

IDL_Type:double
Units:unitless
Count:2

Description: Encoder readings in raw counts.