Control Systems for Telescopes – Challenges and Case Studies
The complex nature of the telescope control system (TCS) requires sophisticated software architecture with strong software engineering principles. Key elements include system integration, computer architecture, interface management, software standards, and user interface design.
In practice, telescope control systems use multiple networks and systems. This paper on the large binocular telescope system lists three systems: control, global memory, and telemetry. The control network ships commands throughout the system. The global memory network maintains a data structure which has the complete state of the system. This state is replicated to each subsystem (error correction, backup systems, etc) to manage for individual failures. The telemetry system sends messages from one sub-system to another.
Software provides a foundation layer for low-level infrastructure activities which includes the following:
1. System Data Dictionary and Network Shared Memory: all information about the system is kept in a single data structure.
2. Event Subsystem: records event, actions, and error conditions.
3. Telemetry Streams: commands and time-stamped data are sent as streams from one system to another.
4. Time Service: a GPS synchronized time server sits on the network providing time-stamping and synchronization.
A GUI is associated with each subsystem as an executable. To maintain an abstraction layer, each GUI does not communicate directly with hardware or other GUIs, but rather sends commands to obtain system status or initiates actions through a “command sequencer.” The command sequencer validates and routes commands to the appropriate destination. It also acts as a “heartbeat” which periodically obtains the “health” status of each subsystem.
Virtual instrumentation brings tools to telescope control systems. The SOuthern Astrophysical Research (SOAR) is a 4.2m telescope based in Chile. It uses an M1 control system for the mirror, and an M2 control system for the secondary mirror, and M3 for image stabilization through the use of a third mirror. LabVIEW was used for the overall control system and the datalogger function. The system interfaces with Real-time Linux as well as Windows NT.