RAC
Radio Astronomy Controller

http://DSNra.jpl.nasa.gov/devel/rac/
Last updated by Tom Kuiper on 1997 Oct 15

The Radio Astronomy Controller operates the radio astronomy and other R&D equipment (such as the Goldstone Solar System Radar) at each of the DSN Complexes. It provides both the physical interfaces and the software by which these interfaces are managed.

Contents:

  • Configuration
  • Overview
  • racsrv Architecture
  • Hardware
  • Software
  • Status

  • Configuration

    Overview

    The following figure gives a configuration overview -- relevant hardware and typical software -- for Goldstone. The other DSN Complexes will be similarly configured.

    Before anyone gets excited, be advised that the nodes participating in this or any configuration are isolated from public access by Network Encryption Units, which allow only them to communicate with each other.

    All equipment will be controlled by a dedicated server, racsrv which services requests from local and remote clients via network connections. Net Services messages conform to a particular, but quite flexible, format. The above example shows the antenna operator's GUI (xant) a couple of stripchart programs, an experimenter's control program, and an extended Tcl shell (astrosh) as clients of racsrv.

    Any (reasonable) number of (suitably encrypted) clients can connect to racsrv for monitoring purposes.

    racsrv Architecture

    The core of racsrv is the select loop. It monitors a socket for new connection requests, the sockets of current connections, and a pipe from Timer Services.

    Messages that a timer has expired causes the main Tcl interpreter to source the timer's Tcl script file. These script files can be edited while racsrv is running, so that the user can substantially modify the behaviour of racsrv in real time.

    Each connected client gets its own interpreter, so that the various users are isolated from each other. Only two clients have access to the instrument control library, known internally to racsrv as EAC and CTL, and only these are able to change the shared variables. It is planned to implement a "pass control" mechanism so that only one of the two enabled clients actually controls the equipment. Normally, it will be the EAC client but for testing purposes, it may be desirable sometimes to pass control to the CTL client for activities that are not so easily managed from the EAC.

    A description of the source code is provided in each of the racsrv pkg directories to assist in maintaining the program.

    Hardware

    Canberra

    The key hardware consists of an HP9000 model 725 running HP-UX 9.07 with the following interfaces: one IEEE-488 card, two serial ports, two (only one required) GPIO parallel cards and one LAN port.

    An identical backup system will be transferred from Goldstone.

    For binary sensing and control of equipment in the feedcone area, there is one 80-line Iotech digital interface on the IEEE-488 bus.

    DSS-14, Madrid

    The key hardware consists of an HP9000 model C180 running HP-UX 10.2 with one IEEE-488 card, two serial ports, one eight-port RS-232 multiplexer card, one GPIO parallel card, and one LAN interface port

    Each site has an identical backup system.

    All Sites

    For binary sensing and control of equipment in the feedcone area, there is one 80-line Iotech digital interface on the IEEE-488 bus.

    Software

    Key software consists of the following:
  • system libraries
  • HP Standard Instrument Control Library (SICL)
  • Tcl, Tk, TclX
  • Network Services Library
  • Tcl/Tk toolkits
  • InstrIo, instrument control toolkit based on SICL
  • NetIo, Net Services toolkit
  • Tcl/Tk procedure libraries
  • instr_io.tcl, iotech.tcl, instrument control procedures
  • obs_proc.tcl, observing procedures
  • instrument control server program
  • core program racsrv
  • Tcl start-up ("rc") and timer-driven scripts for racsrv, and star-up scripts for client tasks.
  • user interface client Tcl/Tk scripts
  • A collapsed code listing (What is that? Have a look!), available in each of the versions of racsrv, provides more details and can be an aid in code maintenance.

    Status

    Item Canberra Goldstone Madrid Notes
    HP9000 Controller 725 installed, tested C180 installed. tested C180 installed. partially tested
    SICL installed, tested installed, tested installed, tested
    Tcl installed, tested installed, tested installed, tested version 7.4
    Tk installed, tested installed, tested installed, tested version 4.0
    TclX installed, tested installed, tested installed, tested version 7.4a-b6
    Net Services installed, tested installed, tested installed, tested stable
    InstrIo toolkit old version installed, tested installed, tested stable
    NetIo toolkit installed, tested installed, tested installed, tested functional, evolving
    instr_io.tcl installed, tested installed, tested installed, tested functional, evolving
    iotech.tcl installed installed, tested installed, tested stable
    obs_proc.tcl installed, tested installed, tested partially installed, tested functional, evolving
    racsrv installed, tested installed, tested installed, tested functional
    racsrv scripts installed, tested installed, tested installed, tested functional, evolving