======= Hexapod ======= Commands -------- clearError ~~~~~~~~~~ **Description**: Clear the fault state. :Subsystem: Hexapod :EFDB_Topic: Hexapod_command_clearError ignored ******* :IDL_Type: boolean :Units: dimensionless :Count: 1 **Description**: Ignored. configureAcceleration ~~~~~~~~~~~~~~~~~~~~~ **Description**: Set maximum acceleration for all actuators. :Subsystem: Hexapod :EFDB_Topic: Hexapod_command_configureAcceleration accmax ****** :IDL_Type: double :Units: um/s2 :Count: 1 **Description**: Maximum acceleration. configureLimits ~~~~~~~~~~~~~~~ **Description**: Set position and orientation limits. :Subsystem: Hexapod :EFDB_Topic: Hexapod_command_configureLimits xymax ***** :IDL_Type: double :Units: um :Count: 1 **Description**: xy max zmin **** :IDL_Type: double :Units: um :Count: 1 **Description**: z min zmax **** :IDL_Type: double :Units: um :Count: 1 **Description**: z max uvmax ***** :IDL_Type: double :Units: deg :Count: 1 **Description**: uv max wmin **** :IDL_Type: double :Units: deg :Count: 1 **Description**: w min wmax **** :IDL_Type: double :Units: deg :Count: 1 **Description**: w max move ~~~~ **Description**: Move the Hexapod to a specified position and orientation. :Subsystem: Hexapod :EFDB_Topic: Hexapod_command_move x * :IDL_Type: double :Units: um :Count: 1 **Description**: x position y * :IDL_Type: double :Units: um :Count: 1 **Description**: y position z * :IDL_Type: double :Units: um :Count: 1 **Description**: z position u * :IDL_Type: double :Units: deg :Count: 1 **Description**: Rotation about x v * :IDL_Type: double :Units: deg :Count: 1 **Description**: Rotation about y w * :IDL_Type: double :Units: deg :Count: 1 **Description**: Rotation about z sync **** :IDL_Type: boolean :Units: dimensionless :Count: 1 **Description**: Synchronize motion so that all actuators start and stop moving at the same time? moveLUT ~~~~~~~ **Description**: A variant of the move command that applies a correction for elevation, azimuth and temperature. :Subsystem: Hexapod :EFDB_Topic: Hexapod_command_moveLUT elevation ********* :IDL_Type: double :Units: deg :Count: 1 **Description**: Telescope elevation azimuth ******* :IDL_Type: double :Units: deg :Count: 1 **Description**: Telescope azimuth temperature *********** :IDL_Type: double :Units: Celsius :Count: 1 **Description**: Ambient temperature x * :IDL_Type: double :Units: um :Count: 1 **Description**: x position y * :IDL_Type: double :Units: um :Count: 1 **Description**: y position z * :IDL_Type: double :Units: um :Count: 1 **Description**: z position u * :IDL_Type: double :Units: deg :Count: 1 **Description**: Rotation about x v * :IDL_Type: double :Units: deg :Count: 1 **Description**: Rotation about y w * :IDL_Type: double :Units: deg :Count: 1 **Description**: Rotation about z sync **** :IDL_Type: boolean :Units: dimensionless :Count: 1 **Description**: Synchronize motion so that all actuators start and stop moving at the same time? configureVelocity ~~~~~~~~~~~~~~~~~ **Description**: Set velocity limits for position and orientation. :Subsystem: Hexapod :EFDB_Topic: Hexapod_command_configureVelocity xymax ***** :IDL_Type: double :Units: um/s :Count: 1 **Description**: xymax rxrymax ******* :IDL_Type: double :Units: deg/s :Count: 1 **Description**: rxrymax zmax **** :IDL_Type: double :Units: um/s :Count: 1 **Description**: zmax rzmax ***** :IDL_Type: double :Units: deg/s :Count: 1 **Description**: rzmax offset ~~~~~~ **Description**: Offset the Hexapod by a specified change in position and orientation. :Subsystem: Hexapod :EFDB_Topic: Hexapod_command_offset x * :IDL_Type: double :Units: um :Count: 1 **Description**: Offset in x y * :IDL_Type: double :Units: um :Count: 1 **Description**: Offset in y z * :IDL_Type: double :Units: um :Count: 1 **Description**: Offset in z u * :IDL_Type: double :Units: deg :Count: 1 **Description**: Offset of rotation about x v * :IDL_Type: double :Units: deg :Count: 1 **Description**: Offset of rotation about y w * :IDL_Type: double :Units: deg :Count: 1 **Description**: Offset of rotation about z sync **** :IDL_Type: boolean :Units: dimensionless :Count: 1 **Description**: Synchronize motion so that all actuators start and stop moving at the same time? offsetLUT ~~~~~~~~~ **Description**: A variant of the offset command that applies a correction for elevation, azimuth and temperature. :Subsystem: Hexapod :EFDB_Topic: Hexapod_command_offsetLUT elevation ********* :IDL_Type: double :Units: deg :Count: 1 **Description**: Telescope elevation azimuth ******* :IDL_Type: double :Units: deg :Count: 1 **Description**: Telescope azimuth temperature *********** :IDL_Type: double :Units: Celsius :Count: 1 **Description**: Ambient temperature x * :IDL_Type: double :Units: um :Count: 1 **Description**: Offset in x y * :IDL_Type: double :Units: um :Count: 1 **Description**: Offset in y z * :IDL_Type: double :Units: um :Count: 1 **Description**: Offset in z u * :IDL_Type: double :Units: deg :Count: 1 **Description**: Offset of rotation about x v * :IDL_Type: double :Units: deg :Count: 1 **Description**: Offset of rotation about y w * :IDL_Type: double :Units: deg :Count: 1 **Description**: Offset of rotation about z sync **** :IDL_Type: boolean :Units: dimensionless :Count: 1 **Description**: Synchronize motion so that all actuators start and stop moving at the same time? pivot ~~~~~ **Description**: Specify the pivot point (the reference point whose position and orientation is set by the move, moveLUT, offset, and offsetLUT commands). :Subsystem: Hexapod :EFDB_Topic: Hexapod_command_pivot x * :IDL_Type: double :Units: um :Count: 1 **Description**: x y * :IDL_Type: double :Units: um :Count: 1 **Description**: y z * :IDL_Type: double :Units: um :Count: 1 **Description**: z stop ~~~~ **Description**: Stop motion. :Subsystem: Hexapod :EFDB_Topic: Hexapod_command_stop ignored ******* :IDL_Type: int :Units: unitless :Count: 1 **Description**: Ignored. 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 controller. :Subsystem: Hexapod :EFDB_Topic: Hexapod_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 differ. 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: 6 **Description**: Application status; one value for each linear actuator. A bitmask of ApplicationStatus enumeration values. connected ~~~~~~~~~ **Description**: State of TCP/IP connection to the low level controller. :Subsystem: Hexapod :EFDB_Topic: Hexapod_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**: Safety interlock engaged or disengaged. :Subsystem: Hexapod :EFDB_Topic: Hexapod_logevent_interlock detail ****** :IDL_Type: string :IDL_Size: 256 :Units: dimensionless :Count: 1 **Description**: One of two values: Engaged or Disengaged timestamp ********* :IDL_Type: double :Units: dimensionless :Count: 1 **Description**: timestamp actuatorInPosition ~~~~~~~~~~~~~~~~~~ **Description**: Indicates whether each linear actuator has reached its commanded position. :Subsystem: Hexapod :EFDB_Topic: Hexapod_logevent_actuatorInPosition inPosition ********** :IDL_Type: boolean :Units: unitless :Count: 6 **Description**: Actuator in position. inPosition ~~~~~~~~~~ **Description**: Indicates whether or not all actuators have reached their commanded position. :Subsystem: Hexapod :EFDB_Topic: Hexapod_logevent_inPosition inPosition ********** :IDL_Type: boolean :Units: unitless :Count: 1 **Description**: All actuators are in position. configuration ~~~~~~~~~~~~~ **Description**: Hexapod configuration. :Subsystem: Hexapod :EFDB_Topic: Hexapod_logevent_configuration accelerationAccmax ****************** :IDL_Type: double :Units: um/s2 :Count: 1 **Description**: Maximum acceleration limitXYMax ********** :IDL_Type: double :Units: um :Count: 1 **Description**: Maximum XY (Combined linear motion limit) limitZMin ********* :IDL_Type: double :Units: um :Count: 1 **Description**: Minimum Z limitZMax ********* :IDL_Type: double :Units: um :Count: 1 **Description**: Maximum Z limit limitUVMax ********** :IDL_Type: double :Units: deg :Count: 1 **Description**: Maximum UV (Combined angular motion limit) limitWMin ********* :IDL_Type: double :Units: deg :Count: 1 **Description**: Minimum W limit limitWMax ********* :IDL_Type: double :Units: deg :Count: 1 **Description**: Maximum W limit velocityXYMax ************* :IDL_Type: double :Units: um/s :Count: 1 **Description**: Maximum XY velocity limit velocityRxRyMax *************** :IDL_Type: double :Units: deg/s :Count: 1 **Description**: Maximum RXRY velocity limit velocityZMax ************ :IDL_Type: double :Units: um/s :Count: 1 **Description**: Maximum Z velocity velocityRzMax ************* :IDL_Type: double :Units: deg/s :Count: 1 **Description**: Maximum Rz velocity positionX ********* :IDL_Type: double :Units: um :Count: 1 **Description**: x position positionY ********* :IDL_Type: double :Units: um :Count: 1 **Description**: y position positionZ ********* :IDL_Type: double :Units: um :Count: 1 **Description**: z position positionU ********* :IDL_Type: double :Units: deg :Count: 1 **Description**: U position positionV ********* :IDL_Type: double :Units: deg :Count: 1 **Description**: V position positionW ********* :IDL_Type: double :Units: deg :Count: 1 **Description**: W position pivotX ****** :IDL_Type: double :Units: um :Count: 1 **Description**: Pivot coordinate X pivotY ****** :IDL_Type: double :Units: um :Count: 1 **Description**: Pivot coordinate Y pivotZ ****** :IDL_Type: double :Units: um :Count: 1 **Description**: Pivot coordinate Z elevationRawLUTElevIndex ************************ :IDL_Type: short :Units: dimensionless :Count: 19 **Description**: elevationRawLUTElevIndex elevationRawLUTX **************** :IDL_Type: double :Units: um :Count: 19 **Description**: elevationRawLUTX elevationRawLUTY **************** :IDL_Type: double :Units: um :Count: 19 **Description**: elevationRawLUTY elevationRawLUTZ **************** :IDL_Type: double :Units: um :Count: 19 **Description**: elevationRawLUTZ elevationRawLUTRx ***************** :IDL_Type: double :Units: deg :Count: 19 **Description**: elevationRawLUTRx elevationRawLUTRy ***************** :IDL_Type: double :Units: deg :Count: 19 **Description**: elevationRawLUTRy elevationRawLUTRz ***************** :IDL_Type: double :Units: deg :Count: 19 **Description**: elevationRawLUTRz azimuthRawLUTAzIndex ******************** :IDL_Type: short :Units: dimensionless :Count: 37 **Description**: azimuthRawLUTAzIndex azimuthRawLUTX ************** :IDL_Type: double :Units: um :Count: 37 **Description**: azimuthRawLUTX azimuthRawLUTY ************** :IDL_Type: double :Units: um :Count: 37 **Description**: azimuthRawLUTY azimuthRawLUTZ ************** :IDL_Type: double :Units: um :Count: 37 **Description**: azimuthRawLUTZ azimuthRawLUTRx *************** :IDL_Type: double :Units: deg :Count: 37 **Description**: azimuthRawLUTRx azimuthRawLUTRy *************** :IDL_Type: double :Units: deg :Count: 37 **Description**: azimuthRawLUTRy azimuthRawLUTRz *************** :IDL_Type: double :Units: deg :Count: 37 **Description**: azimuthRawLUTRz temperatureRawLUTTempIndex ************************** :IDL_Type: short :Units: dimensionless :Count: 9 **Description**: temperatureRawLUTTempIndex temperatureRawLUTX ****************** :IDL_Type: double :Units: um :Count: 9 **Description**: temperatureRawLUTX temperatureRawLUTY ****************** :IDL_Type: double :Units: um :Count: 9 **Description**: temperatureRawLUTY temperatureRawLUTZ ****************** :IDL_Type: double :Units: um :Count: 9 **Description**: temperatureRawLUTZ temperatureRawLUTRx ******************* :IDL_Type: double :Units: deg :Count: 9 **Description**: temperatureRawLUTRx temperatureRawLUTRy ******************* :IDL_Type: double :Units: deg :Count: 9 **Description**: temperatureRawLUTRy temperatureRawLUTRz ******************* :IDL_Type: double :Units: deg :Count: 9 **Description**: temperatureRawLUTRz strutDisplacementMax ******************** :IDL_Type: double :Units: um :Count: 1 **Description**: strutDisplacementMax strutVelocityMax **************** :IDL_Type: double :Units: um/s :Count: 1 **Description**: strutVelocityMax commandableByDDS ~~~~~~~~~~~~~~~~ **Description**: Can the CSC can control the hexapod? :Subsystem: Hexapod :EFDB_Topic: Hexapod_logevent_commandableByDDS state ***** :IDL_Type: boolean :Units: dimensionless :Count: 1 **Description**: If true the CSC can control the hexapod; else the Engineering User Interface has control. Telemetry --------- actuators ~~~~~~~~~ :Subsystem: Hexapod :EFDB_Topic: Hexapod_actuators calibrated ********** :IDL_Type: double :Units: um :Count: 6 **Description**: Linear encoder readings from each hexapod actuator (x1,x2,x3,x4,x5,x6) in microns raw *** :IDL_Type: double :Units: dimensionless :Count: 6 **Description**: Linear encoder readings from each hexapod actuator (x1,x2,x3,x4,x5,x6)in counts application ~~~~~~~~~~~ :Subsystem: Hexapod :EFDB_Topic: Hexapod_application demand ****** :IDL_Type: double :Units: dimensionless :Count: 6 **Description**: Commanded hexapod position in order (X, Y, Z, RX, RY, RZ). Linear positions are in microns, angular positions are in degrees. position ******** :IDL_Type: double :Units: dimensionless :Count: 6 **Description**: Actual hexapod position, in order (X, Y, Z, RX, RY, RZ). Linear positions are in microns, angular positions are in degrees. error ***** :IDL_Type: double :Units: dimensionless :Count: 6 **Description**: Position error (position - demand), in order (x1,x2,x3,x4,x5,x6). Linear positions are in microns, angular positions are in degrees. electrical ~~~~~~~~~~ :Subsystem: Hexapod :EFDB_Topic: Hexapod_electrical copleyStatusWordDrive ********************* :IDL_Type: unsigned short :Units: dimensionless :Count: 6 **Description**: Bus undervoltage fault, bus overvoltage fault, and overcurrent fault are all being monitored for each drive channel copleyLatchingFaultStatus ************************* :IDL_Type: unsigned short :Units: dimensionless :Count: 6 **Description**: Copley latching fault status