ACS at the Atacama Pathfinder Experiment (APEX) Dirk Muders Max-Planck-Institut für Radioastronomie Bonn ACS Workshop, ESO Garching, 03/2004 The APEX Project ● ● ● APEX is a 12m radio telescope located north of the ALMA site on Chajnantor at 5100m APEX is a pathfinder mission aimed at exploring the southern sub-mm sky in preparation for ALMA APEX is a collaboration between MPIfR, AIRUB, ESO and OSO ACS Workshop, ESO Garching, 03/2004 The APEX Project (cont.) ● ● APEX is a copy of the US ALMA prototype antenna built by VERTEX Compared to the ALMA telescope APEX features two additional Nasmyth receiver cabins, an instrument container and a compressor platform ACS Workshop, ESO Garching, 03/2004 APEX Interfaces ● ● APEX uses the same vendor-supplied control computers (ACU & PTC) and the same CAN bus interface (ICD 9) like ALMA It was thus decided to re-use the ALMA prototype telescope control software (TICS) and most of the corresponding control hardware setup ACS Workshop, ESO Garching, 03/2004 APEX Instrumentation ● The APEX instrumentation will consist of: – – Bolometer cameras with several hundred pixels (e.g. LABOCA) at λ=1 mm to 350 μm Heterodyne receivers (single-pixel and arrays) at ν=230 GHz to 1.5 THz (200 μm) – Continuum backends – Auto-Correlators ACS Workshop, ESO Garching, 03/2004 APEX Status ● ● ● ● APEX has been erected in early 2003 In September 2003 the telescope control system hard- and software were installed Preliminary acceptance tests took place in November 2003 Currently the pointing is being checked with an optical telescope ACS Workshop, ESO Garching, 03/2004 ACS Workshop, ESO Garching, 03/2004 Difficulties at 5000m: Low pressure Low oxygen content Oxygenization Pressurized Hard DriveBox ACS Workshop, ESO Garching, 03/2004 ACS / TICS at APEX ● ● ● APEX is using TICS and thus ACS The ACS version in use is determined by TICS (currently ACS 2.0.1) We will probably upgrade to ACS 3.0.1 this year if a new (stable) TICS port will be available ACS Workshop, ESO Garching, 03/2004 ACS / TICS at APEX (cont.) ● ● ● TICS provides antenna control (astronomical coordinate tracking, patterns, CAN bus access, etc.) via 4 COBs ALMA's timing setup is much more complicated than needed for APEX APEX uses GPS & IRIG-B to slave the ABM to TAI and a hardware timing generator for the 48ms Timing Events ACS Workshop, ESO Garching, 03/2004 APEX Instrument Interfaces ● ● ● APEX instrumentation needs to be interfaced to the ACS -> make components Many instruments are legacy devices that use a simple ASCII protocol over a socket rather than the CAN bus that ALMA employs Thus a socket DevIO implementation is needed ACS Workshop, ESO Garching, 03/2004 APEX Socket DevIO ● ● ● The socket code needs to handle sending and parsing ASCII messages for component properties AND for methods It must handle multiplexing and concurrent accesses to the component properties The messages are standardized using the SCPI syntax ACS Workshop, ESO Garching, 03/2004 Socket DevIO Class Diagram ACS Workshop, ESO Garching, 03/2004 SCPI Syntax Component sends the device: [APEX:]<device name>:<property/method name>? The device replies: [APEX:]<device name>:<property/method name> <value> \ <ISO 8601 time stamp> Example: APEX:SIS345:LO2:MULTI1:backShort2? APEX:SIS345:LO2:MULTI1:backShort2 2.341 \ 2003-11-05T10:19:38.310+00.00 ACS Workshop, ESO Garching, 03/2004 APEX Instruments IDLs ● ● The instrument IDLs are kept as generic as possible to be able to re-use them for new instruments of the same kind; only a new CDB entry is needed Instruments are implemented via a hierarchical device tree to: – have one high-level interface for observing – have low-level interface(s) for engineering ACS Workshop, ESO Garching, 03/2004 APEX Device Hierarchy APEX:SIS345 APEX:SIS345:CALUNIT APEX:SIS345:MIXER1 APEX:SIS345:MIXER1:COLDAMP APEX:SIS345:MIXER2 APEX:SIS345:MIXER2:COLDAMP APEX:SIS345:LO1 APEX:SIS345:LO1:GUNN APEX:SIS345:LO1:PLL APEX:SIS345:LO1:MULTI1 APEX:SIS345:LO1:MULTI2 APEX:SIS345:LO2 APEX:SIS345:LO2:GUNN APEX:SIS345:LO2:PLL APEX:SIS345:LO2:MULTI1 APEX:SIS345:LO2:MULTI2 apexHFE.idl apexHFE_HCal.idl apexHFE_Mixer.idl apexHFE_ColdAmp.idl apexHFE_Mixer.idl apexHFE_ColdAmp.idl apexHFE_LO.idl apexHFE_Gunn.idl apexHFE_PLL.idl apexHFE_Multi.idl apexHFE_Multi.idl apexHFE_LO.idl apexHFE_Gunn.idl apexHFE_PLL.idl apexHFE_Multi.idl apexHFE_Multi.idl ACS Workshop, ESO Garching, 03/2004 Code generation ● ● ● ● The C++ component code is automatically generated from the IDLs using a modified version of the “bdsGenerator” from AIRUB C++, *.h, xml and xsd files are created DevIOUDPSock socket communication code & SCPI commands are automatically added Embedded system host name and port are stored in the CDB and read at startup ACS Workshop, ESO Garching, 03/2004 Serial & GPIB Devices ● ● ● ● Many commercial devices use RS232 or GPIB communication with given commands General problem of non-concurrent access -> need to serialize commands Demultiplexing is done in the standalone SCPI command parser (CID) which in turn talks to the hardware, i.e. CID is a “driver” Socket DevIO is re-used here ACS Workshop, ESO Garching, 03/2004 CID Setup ACS Workshop, ESO Garching, 03/2004 Device Emulators ● ● ● ● A simple Python script was developed to emulate socket devices The emulator uses the IDLs and sets up all property types automatically Simple funtionality such as setting actual to commanded values is included Can be extended easily ACS Workshop, ESO Garching, 03/2004 APEX Control System (APECS) ● ● ● For real observations all those components need to be set up and coordinated to perform “scans”. This is done by the “APEX Observing Engine” The APEX raw data format (MBFITS) was defined based on ALMA's TI-FITS The raw data writer collects telescope and backend data to write MBFITS files ACS Workshop, ESO Garching, 03/2004 APECS (cont.) ● APECS uses ACS to provide the necessary infrastructure to observe with APEX: – Observer CLI & GUI to set up scans for a number of standard observing modes – Telescope control (via TICS) & device setup – Raw data (MBFITS) writing – Online calibration (TA*) and data reduction for pointing, focus and skydip ACS Workshop, ESO Garching, 03/2004 APECS Class Diagram ACS Workshop, ESO Garching, 03/2004 APECS Deployment Diagram ACS Workshop, ESO Garching, 03/2004 ACS Pros ● Hides many CORBA details ● Allows for flexible distributed systems ● Simple deployment reconfiguration ● ● Component property model is very useful for hardware device implementations Remote monitoring and remote observing is easily implemented ACS Workshop, ESO Garching, 03/2004 ACS Cons ● ● ● ● Steep learning curve; lab staff typically does not want to deal with it directly ACS is pretty large; this conflicts with using it in embedded systems TCP connections get stuck when parts of the software need to be restarted Missing connection to existing lab tools such as LabView ACS Workshop, ESO Garching, 03/2004 APEX's ACS Wishlist ● ● ● Auto-reconnection does not always work but is essential for operations Rather get a stable and debugged ACS than new features since ACS is the infrastructure for everything else Share IDL and naming structure with other projects to facilitate re-using code ACS Workshop, ESO Garching, 03/2004