130 likes | 308 Views
LBT Telescope Control System. System Layout. Subsystems. PMC (Primary Mirror Control) MCS (Mount Control System) PCS (Pointing Control System) ECS (Enclosure Control System) CSQ (Command Sequencer) TEL (Telemetry) LSS (Logging Subsystem) GCS (Guiding Control System)
E N D
Subsystems • PMC (Primary Mirror Control) • MCS (Mount Control System) • PCS (Pointing Control System) • ECS (Enclosure Control System) • CSQ (Command Sequencer) • TEL (Telemetry) • LSS (Logging Subsystem) • GCS (Guiding Control System) • PSF (Point Spread Function) • AOS (Adaptive Optics System)
Subsytem Design • Commands • Events • Hardware Interface
Clients and Interface • Subsystem and Client inherit from Interface class • Using templates: subsystem functions return strings while client functions return handles
Commands • Run in their own threads • Validate arguments • Check preconditions • Can be canceled • Each instance has a handle
Handles • Get the status • Running • Success • Failed • Get the result • Command Return • Cancel • Block till completion
Events • Records name, priority, description, date, and time • Stored to a database • Linked to callbacks in subsystems • Custom parameters
<Reflective_Memory_Dictionary_Entry> <Name>force1</Name> <Description> actual commanded vertical force </Description> <Owner>PMC</Owner> <UnitType>FLOAT</UnitType> <UnitQty>1</UnitQty> <Units>pounds</Units> <UpperLimit>600.0</UpperLimit> <LowerLimit>-600.0</LowerLimit> </Reflective_Memory_Dictionary_Entry> Data Dictionary • Specified with xml • Name • Type • Upper and lower limits • Converted to a C++ structure • Updated at approximately 50 Hz
netconfig • Daemon on each server • Start and stop subsystems • Automatic determination of optimal server • Status of running subsystems • Status of servers
/usr/commonsw • Contains xml for data dictionary, events, and command returns • Contains LBT.conf • Stores int,long,float,double, or string • Cached in shared memory • Retrieved through Configuration library
Software Control Management • CVS • Each component has a tag. • Collection of tags make a release.