200 likes | 213 Views
In January 2007, the Observatorio Astronómico Nacional P. de Vicente, Rubén Bolaño, Laura Barbas initiated the project to develop the control system for the 40-meter OAN radiotelescope with ACS. The project encompassed various sites and faced time delays related to contractors and technical challenges with structure, servos, surface, and mirrors. Despite setbacks, significant milestones were achieved including relocating backend equipment, adjusting surface with a teodolite, installing new servosystem and mirrors, running cabling, and preparing for commissioning. The Antenna Control Unit involved 2 Windows XP PCs with TwinCAT extension for real-time operation and remote access through TCP sockets. The evolving ACS system transitioned from Debian Sarge with ACS 5.0.2 to Debian Sarge with ACS 6.0, requiring compatibility adjustments and considerations for Python components. The Modus Operandi involved various devices and components like ACS Client Library, Micro IOC for monitoring analog signals, and abstract components for control and data processing. The system architecture, while challenging to adapt, offered components like ScanObs, FitsWriter, and Interactive client for observatory operations. Code contribution was noted as beneficial yet complex, demanding generalization, documentation, and centralized management for effective code reuse and enhancement. The project was a testament to collaborative efforts in advancing astronomical research and technology.
E N D
Observatorio Astronómico Nacional P. de Vicente, Rubén Bolaño, Laura Barbas January 2007 Developing the control system for the 40m OAN radiotelescope with ACS
Developing the control system for the 40m OAN radiotelescope with ACS • The OAN has four sites in Spain
40m RT. Project status • Time delays due to problems with contractors: • Structure • Servos • Surface • Mirrors
Main milestones already achieved • Backend equipment has been moved to the new antenna building. • Antenna moves with handheld pannel • Surface has been adjusted with a teodolite and measured RMS:~200 µm
2007 expectations • New servosystem for the subreflector • Servosystem tests by the contractor (MT Aerospace) • Nasmyth mirrors installation • Cabling between receiver cabin and backends room. • Holography receiver in the primary • Receivers in the secondary • Commissioning by OAN
The Antenna Control Unit • 2 CPU's: 2 Windows XP PCs. • Windows XP + TwinCAT (real time extension) • Remotely commanded using TCP sockets. • Interface Control Document is almost finished.
ACS in the OAN • Before: • Debian Sarge • ACS 5.0.2 • Compiled ACS ourselves • Now: • Debian Sarge • ACS 6.0 • ACS binary distribution
ACS 6.0 on Debian • ACS 6.0 does not compile on Etch • ACS 6.0 binary does not work on Etch. Python components do not work. • ACS 6.0 compiles on Sarge but requires Python 2.4. Too much effort to twikle the OS. • New Pcs require a new kernel => Debian Etch. Etch: next stable Sarge: current stable
Modus operandi (devices) Serial ACS Client ACS Component Library (Not ACS) Ethernet GPIB
Micro IOC Used to monitor and control analog signals from receivers Microprocessor running Debian Sarge Delivered with ACS 4.1 but we installed ACS 5.0 Created drivers ourselves Component runs inside the Micro IOC
Modus operandi (abstract components) ACS Component ACS Client Library (Not ACS)
ACU Component Antenna control schematics Astronomer Client CORBA CORBA Sockets Antenna Component Engineer Client CORBA
RT components overview • Based on APEX design • Very difficult to adapt it to our needs. • Some components: • Implemented in a totally different way: (ScanObs) • Reused part of the code (FitsWriter, Interactive client), and complete libraries (MBFITS)
Components relationship Uses Uses Ephemeris Activates /Starts /Stops Commands FITS data writer Observing engine Commands Client Antenna Configures Archiving channel Uses Creates /Starts Stops Sends data Instruments Scan Uses
Code contribution • Code contribution would be a benefit for everybody but ... • Reuse is not easy and can be a nightmare • Code reusage works if: • generalization • documentation • time • centralized server