Telescope Performance Monitor Real-Time Displays
Los Alamos National Laboratory
Last Revision: 24 January 2000
1.1 EPICS OverviewThis document describes the Experimental Physics and Industrial Control System (EPICS) real-time database that is resident on the SDSS Telescope Performance Monitor VxWorks-based input/output Controller (IOC) and associated operator displays. This software is developed and maintained by Peregrine M. McGehee at Los Alamos National Laboratory who may be contacted by phone at (505) 667-3273, or via e-mail at firstname.lastname@example.org (or email@example.com on-site).
EPICS is a set of software tools and applications jointly developed by Argonne National Laboratory and Los Alamos National Laboratory for the purpose of controlling Particle Accelerators and Large Experiments. Present and future development is being done cooperatively by Argonne (ANL), Los Alamos National Laboratory (LANL), Lawrence Berkeley Laboratory (LBL), the Jefferson National Laboratory (TJNAF), the Spallation Neutron Source Collaboration, BESSY (Berliner Elektronenspeicherring-Gesellschaft Fr Synchrotronstrahlung m.b.H.) and DESY (Deutsches Elektronen-Synchrotron).
The basic components needed are the Operator Interface (OPI), Input Output Controller (IOC), and a Local Area Network (LAN) which allows the OPI and IOC to communicate. For detailed information about the EPICS toolkit and the channel access protocol please refer to the EPICS homepage at Los Alamos National Laboratory:http://epics.aps.anl.gov/epics/.
1.2 Access to Operator Displays on sdsshostPreliminary real-time displays of SDSS engineering data can be run by entering at the UNIX command line on sdsshost:
Please explore and send me back your comments and suggestions. I need to find out from all of you what type of displays and what information would be most useful to you.
The data that is available is scanned at 5 Hz rate from the TPM computer and shows information that the MCP writes into shared memory. So any information that is in the shared memory I can have served across the network for you to examine.
1.3 Implementation NoteA word on the implementation. The EPICS control system toolkit creates a list of named process variables that clients can connect to over the local network. Any of these displays can be created by staff with knowledge of the specific tools used to build them since it is knowledge of the process variable names that define the interface with the user. At Los Alamos, many of the operations displays in use are created not by the controls staff but by the operators and accelerator physicists.
For example, to find the name of process variable that is connected
to a display widget on the edd/dm screens click on that widget using the
middle mouse button. The resultant pop-up display shows the name of the
control system process variable. This name can then be typed or pasted
with the middle mouse button into the StripTool or Tcl/Tk xyplot tools.
1.4 User Environment RequirementsIf you wish to bring up the EPICS operator tools separately, not via the rt script, a number of environmental variables must be first set in the user's shell.
The execution path must include:
for the EPICS operator applications or extensions including edd/dm, StripTool, and the EPICS-specific et_wish that combines Tcl, Tk, BLT, Tcl-dp, and channel access client library..
1.5.1 EPICSThe EPICS distribution is installed under sdsshost:/usrdevel/peregrin/epics, hereafter referred to as $EPICS.
$EPICS/base contains the core of the EPICS system, including channel access communications, the tools to create and manage the real-time database, and the standard database recordtypes and device drivers used by the collaboration. EPICS at APO is built using the SGI as a host and the MV162 as the target.
$EPICS/extensions contains a small number of the numerous add-ons to EPICS as contributed by the many sites. This includes all of the operator display tools.
1.5.2 TPM applicationThe real-time TPM system is under sdsshost:/usrdevel/peregrin/tpm/tpmApp and contains the EPICS database, custom C source code, operator displays, and configuration files.
2. EPICS Operator ToolsThree different tools are in use.
Descriptions of the XY plot tool and of the StripTool are given below.
Additional operations and analysis utilities can be constructed using existing channel access client interfaces to IDL, Mathematica, Java, SDDS, and other software systems.
2.1 TPM edd/dm Displays
2.1.1 Main TPM DisplayThe main TPM edd/dm display, tpm.dl, provides a summary of the three axis positions in degrees and their position errors in encoder counts.
The row of four pull-down menus, from left to right, bring up:
Figure 2. Main TPM edd/dm Display
2.1.2 TPM Axis Data DisplayThis display provides text update fields of the encoder, current, and voltage readbacks from the altitude, azimuth, and rotator axes.
2.1.3 TPM Interlock DisplayThe Interlock display is meant to show the axis interlocks that are currently activated. This is implemented using edd/dm's ability to control widget visibility based on the value of a control system process variable.
2.1.4 TPM "About" DisplayThe "About" display's purpose is to provide software version and developer contact information.
2.2 Tcl/Tk-based XY PlotsThis simple utility allows the creation of real-time XY plots of upto three variables against a single variable on the same axis. The variables are EPICS process variables whose names are listed in section 3. of this document.
The values of the named process variables are fetched every 0.5 seconds. Changing the format of the axes (Min, Max, Nint) does not cause data to be lost.
The operator input fields are:
2.3.1 Program InitializationThe EPICS StripTool can be started either from the main TPM edd/dm screen or directly from the UNIX shell. The invocation syntax is:
% StripTool <optional config file name>
The configuration files presently resident in sdsshost:/usrdevel/peregrin/tpm/tpmApp/opi are:
2.3.2 Example StripTool displayThe following figure shows a StripTool chart display. The operator control features are:
2.3.3 StripTool Controls DialogThe Controls Dialog for the StripTool utility is divided into the following five regions:
126.96.36.199 Signal ConnectThe name of an EPICS process variable is typed or pasted into the text entry box and the Connect button is pushed. If the process variable can be located, a row is added in the Curves section.
188.8.131.52 Time ControlsThe user can modify the data sample interval and the redraw interval. The practical limits to these are based on the workstation and network performance since the shorter intervals pose more of a load on the system performance.
184.108.40.206 Graph OptionsThese allow the user to alter the color and general appearance of the stripcharts.
220.127.116.11 CurvesHere you may change the display limits of each channel and to remove them from the stripchart.
18.104.22.168 Application ControlThe control buttons from left to right allow the user to:
3. Real-Time EPICS Database
3.1 Database DescriptionsEach record in the real-time EPICS database is described by a number of fields (see the EPICS Record Reference Manual). For the purpose of this document we will list the following set of attributes:
3.2 Shared Memory AccessThe EPICS database on the TPM primarily serves data that is written by the SDDS Mount Control Processor (MCP) across a shared memory interface.
3.2.1 Data TransferThe tpm_getdata subroutine record is the first to be processed as part of the Hz scanning. It's purpose to to copy data from the MCP-TPM shared memory into a number of global vxWorks variables. These variables are then tied to EPICS database records using the "vxWorks Variable" or symbolic device support.
3.2.2 Altitude Axis
3.2.3 Azimuth Axis
3.2.4 Instrument Rotator
3.3 Derived QuantitiesThe raw data obtained from the shared memory interface can be transformed into other forms by use of EPICS Calculation records. For each axis we scale the encoder readings into degrees on the sky and compute the differences between the axis encoder and commanded positions.
3.4 OtherFor informational purposes we compute the time since last reboot of the TPM IOC. This is available from the system as clock ticks and we use a Calculation record to translate that into hours.