LeCroy
High Voltage EPICS Interface
General:
To enable programs to interact with EPICS and the persistant database constructed
with Objectivity, several C++ classes were defined. There are two
separate catergories: the classes developed to interact directly
with Objectivity databases, and the wrapper classes that fit around them.
Ideally, the user should only have to write programs that use the wrapper
classes; a design decision was made to hide from the user the interactions
of the program with Objectivity database and the EPICS records. Those
.cc and .h files that begin with a "dbhv" prefix define aspects of the
Objectivity database classes; those beginning with "hv_" deal with the
wrapper classes.
Documentation:
The documentation of the HV wrapper classes can be found here.
Existing Programs Written Using These Classes:
There are currently two programs that make use of these classes:
oodb_mgr and test_stand.
oodb_mgr is a database management program that is used to access
and make changes to the Objectivity datbases that are generated.
It uses the Objectivity database classes directly, without making use of
the wrapper classes. Using oodb_mgr, databases can have modules,
mainframes, or channels added or removed; it can also make changes to the
module serial numbers and merge a database into another one. This
program does not communicate with the IOC (Input-Output Controller) or
mainframes -- it only deals with the databases.
test_stand is the program used to test the quality of the modules.
It makes use of the wrapper classes and uses them to communicate with the
IOC. In addition to testing, this program can display information
about the modules currently installed in the test stand mainframe.
This program requires that the IOC and mainframe be booted and be operating
normally. A description of the HV test procedure, which includes
instructions on how to properly boot the IOC and mainframe, can be found
here.
Other Programs:
hvcontrol is a debugging program. It does not make use of
the classes or EPICS at all -- instead, it sends LeCroy mainframe commands,
similiar to the ones used in a serial connection, to the mainframe via
the ARCNET. hvcontrol is arranged to be a bit more user-friendly
than a VT100 serial port session, and is generally preferrable. This
program requires that the IOC be booted with a separate file that doesn't
load the EPICS records; the IOC has a driver and this program loaded onto
it instead. This program is run while remotely logged onto the IOC.
Code documentation for this program can be found here.
EPICS Database Definitions:
The EPICS system used in PHENIX was adapted from a similar system used
in the CEBAF Hall B experiment. As a result, the EPICS database definition
files used are copies of the CEBAF files. They can be found in the
under EPICSB directory ($EPICSB/baseB/dbd/). Not all of them are
used; when the IOC boots, it loads those files concerned with menus, analog
input and output, output strings, high voltage records, the support database,
and the records of the individual modules installed in the mainframe.
The module records are generated from a .dat file when the text-parsing
Perl script hv2db ($EPICSB/app/hvca/db/hv2db) is run; this program
is executed when gmake is used in that directory.
Phenix
Home Page -
Online
Computing Group -
Ancillary
Home Page
Ryan Roth (rothr@db.erau.edu)
Last Modified: 12 October 1998