# Presentation: 418870

## 10 Years of EPICS at the Joint Astronomy Centre

- Nick Rees
- Head of Software and Computing Services
- Joint Astronomy Centre, Hilo, Hawaii.

## Outline

- Introduction
- History
- Differences between Astronomy and Accelerators
- Two developments
- UAE
- TIDE

## Introduction

- Joint Astronomy Centre (JAC)
- Administered through the UK Particle Physics and Astronomy Research Council (PPARC)
- Responsible for the two UK dominated Hawaii telescopes
- James Clerk Maxwell Telescope (JCMT)
- United Kingdom InfraRed Telescope (UKIRT)
- Two very different telescopes with very different user communities
- JCMT is UK/Dutch/Canadian collaboration
- UKIRT is UK only, but has history of specific international collaborations (e.g. Germany and Japan).

## JAC’s initial foray into EPICS

- JAC adopted EPICS in about 1993
- One of the first astronomy sites to adopt it
- Previous environment was VAX/VMS CAMAC
- Major attraction was the simple GUI’s and connection management
- Allowed us to avoid the pitfalls of our first gui-based distributed system
- First EPICS system rolled out in 1995

## Current EPICS systems

- UKIRT mount servo (~50 records)
- UKIRT primary mirror control (~500)
- UKIRT optical closed loop and active control (~500)
- UKIRT instrumentation - UFTI, UIST, Michelle (100’s - 1000’s)
- JCMT mount servo (~50)
- JCMT surface control system (~5000)
- JCMT instrumentation - HARP-B (delivery 2004), SCUBA2 (delivery 2005-6) (1000’s)

## Device support

- VME Cards
- BC635, XY240, XY566, DVME626, VMIC2534, VMIC 4514
- Various motor and array controllers
- All through to primitive records using Capfast for encapsulation.
- Most over serial links
- Most either using drvAscii or one-offs over transputer links.

## Differences with Astronomy

- Heterogeneous
- Device drivers must work in non-EPICS context
- re-wrote xy240 and xy566 drivers for this reason
- Make system must build non-EPICS software
- Vertically integrated
- EPICS control system are part of a much larger whole
- Less duplication at the low level.

## MinimumSchedulable Blocks (MSBs)

- Science Programmes

- Astronomer

## UAE

- Application Environment based on EPICS make
- Predates EPICS makeBaseApp, but similar
- Makefile independent of position in directory hierarchy.
- No “Makefile’, just Makefile.Host, Makefile.Vx and Makefile.Dirs
- Directory traversal rules generate Makefile as part of the build, and this had the information of  the position in the hierarchy.
- Can co-exist with other make systems since there are no name clashes (Perl has Makefile.PL, other systems have dmakefile, etc).

## DRAMA

- Layer immediately above EPICS in all our systems.
- Distributed object system based developed by the Anglo Australian Observatory (AAO).
- Predates CORBA
- Has tasks (objects), actions with supplied and returned parameters (methods) and task parameters (which can be got, set and monitored).
- Uses Self-describing Data System (SDS) for passing and storing parameters.
- EPICS interface with a configuration file driven library (TIDE).

## TIDE

- Turns a set of EPICS records into a DRAMA “object”
- Initialized with a configuration file.
- Places monitors on EPICS records and stores the results in DRAMA parameters (which can be monitored).
- Provides a translation between a DRAMA SDS structure and a collection of EPICS records.
- Allows “trigger” records to be specified which determine when a DRAMA structure is updated.
- Provides other control over parameter updates for efficiency (can handle several 1000 updates/second).

## TIDE Configuration File

- field irpol.timeout irpol:irpolCtrl:timeout
- field irpol.posn    irpol:irpolAxis:posn    NOTRIGGER
- field irpol.angle   irpol:irpolAxis:angle
- action irpol_pos irpol:irpolAxis:datumCmd=Active irpol:irpolAxis:datumCmd.VAL!=Active irpol:irpolAxis:errString
- action irpol_ang irpol:irpolAxis:datumCmd=Active irpol:irpolAxis:datumCmd.VAL!=Active irpol:irpolAxis:errString
- # FP stuff:
- field fp.X          fp:X:move_out
- action FPX          fp:X:cmd=Active      fp:X:cmd=!Active