1. DEFINITIONS & BACKGROUND
============================
The "ATR" transfer line is a beamline for transporting particles, extracted
from the AGS accelerator, to be injected into the RHIC collider rings. The
Alternating Gradient Synchrotron (AGS) can accelerate protons to energies
exceeding 30 GeV, or heavy ions such as Fe or Au to somewhat lower energies
per nucleon. After extraction from AGS and transport via ATR, particle beams
are injected into each of the two rings ("blue" and "yellow") of the
Relativistic Heavy Ion Collider (RHIC).
The entire ATR consists of the "U" and "W" lines and, proceeding from the
"switching magnet", the two 90-degree arcs named "X" and "Y. The forthcoming
ATR test stops at the 3-way switching magnet which (since it will receive no
power) will allow the beam to pass straight thru and into a beam dump).
1.1 LAYOUT OF THE ATR -- "U" and "W" LINES
-------------------------------------------
Power supplies for the "W" line are in Building 1000P, and controlled by
equipment (fec013 and thirteen WFGs) located in the same building. The "A"
trailer contains the equipment (fec009 and twelve WFGs) that controls the "U"
line power supplies, most of which are located in the adjacent "A" house.
(A few are located within the Northwest experimental area of the AGS.)
=== . ======================= R H I C =================== . =====
. .
\ /
\ /
\ /
"X" Arc "Y" Arc
(90-degrees) (90-degrees)
\ /
\ BEAM /
___________ \ STOP /
| | \ *** /
| Bldg. | \ | / Switching
| 1000P | \|/ Magnet
| (fec013) | |
|___________| |
|
|
"W" line
|
|
|
20-degree bend |
\
\
\ __________
\ | |
\ |"A" House |
"U" line |__________|
\ ___________
\ | A trailer |
\ |_(fec009)__|
\
[NOT TO SCALE] \
. Extraction
.
====== A G S ========-======
1.2 CONTROL SYSTEM HIERARCHY
-----------------------------
The control system hierarchy, as regards power supplies, may be illustrated
by the following schematic:
CONSOLE-LEVEL COMPUTER (CLC) / Application Program
|
| Remote Procedure Call (RPC), via network.
|
FRONT-END COMPUTER (FEC) / Accelerator Device Object (ADO)
|
| Command message, via VME bus.
|
WAVEFORM GENERATOR / Firmware
|
| New settings calculated (@ 720 Hz)
|
WFG OUTPUT CHANNEL (on TRANSITION MODULE)
|
| New settings sent via fibre-optic link
|
INTERFACE
|
|
POWER SUPPLY
|
|
MAGNET COILS
A magnet is driven by a Power Supply whose Interface periodically receives
new settings from an output channel of a WaveForm Generator (WFG). The WFG
continues to act without requiring supervision by a Front-End Computer (FEC);
however, the WFG can modify its behavior in accordance with new commands and
tables downloaded to it by the FEC. Within the FEC, there is an Accelerator
Device Object (ADO) for each channel. Commands to the WFG are actually sent
by instructions within the "methods" of the ADO, which in turn can be
accessed by applications programs in the Console-Level Computer (CLC), by
means of an ADO Interface Server that handles Remote Procedure Calls (RPC).
1.3 CONTROL SYSTEM HARDWARE & SOFTWARE
---------------------------------------
POWER SUPPLY INTERFACE: An interface module receives the next setting value
from the WFG's fibre-optic output and adjusts the power supply accordingly.
All WFGs compute a 24-bit signed value, but different power supplies require
different precision and unipolar supplies require the interface to discard
the sign bit. Some power supply interfaces also produce readback values to
be sent back to the WFG's fibre-optic input link. Present plans call for
three types of power supply interface:
Low-Resolution: 12 bits of precision; no readbacks.
Medium-Resolution: 16 bits of precision; five readbacks,
the first of which is a digital "loopback" value.
High-Resolution: Approximately 22 bits of precision.
(Not yet available.)
WAVEFORM GENERATOR: The WFG is a BNL-designed hardware module (designated
V115) that can control up to two independent power supplies, typically at a
rate of 720 Hz. Using its embedded Intel 80960 processor, the WFG calculates
new setting values based on machine data values received (at 720 Hz.) from
the Real Time Data Link (RTDL), using a number of downloaded tables, and
switching formulae in response to events from the RHIC Event Link. For each
of the two WFG channels, there is a fibre-optic link for the output of new
settings, and another fibre optic link on which up to five readbacks can be
sent back from the power supply interface.
A WFG can continue to operate autonomously, controlling power supplies in
response to events without further intervention from outside. However, any
WFG can be monitored and/or reconfigured by the Front End Computer (FEC)
which controls the VME bus (or extended bus) on which a collection of WFGs
typically sit.
FRONT-END COMPUTER: A Front-End Computer (FEC) governs traffic on the VME
bus that also contains a set of RHIC device controllers, such as a WFGs.
The FEC processor is typically a Mororola MC-68040, with 16 Megabytes of
memory (plus some non-volatile storage, but no disks), operating under a
"VxWorks" system. (VxWorks is a POSIX.4 compliant real-time executive
system, licensed from Wind River Systems.)
FEC CONFIGURATION: When an FEC boots up, a "Configuration File" (from the
/ride/config directory) specifies its set of device names and ADOs. The
following Front-End Computers have WFG modules installed, at present:
fec Front-End Internet Number Principal
### Computer name IP Address Location of WFGs Usage
--- -------- ---------- -------- ------- -----
009 acnfec009 13099.104.37 A Trailer 12 U-line
013 acnfec013 13099.104.41 Bldg. 1000P 13 W-line
012 acnfec012 13099.104.40 Bldg. 911W 1 Calibration
T99 crapeau 13099.90.98 Bldg. 1005S 1 Development
T15 target15 192.203.218.25 Bldg. 911/Lab-1 2 Development
When RHIC is complete, there will be well over one hundred FECs, many of
which will be located in the eighteen alcoves within the ring tunnel, and
others in the power houses and other structures around the ring. All FECs
and CLCs are networked together.
COMMUNICATION BETWEEN FEC & WFG: From the perspective of the FEC, each WFG
channel is a device (e.g. "/dev/wfgA0") and it is accessed using VxWorks
drivers. There are two methods of communication between the FEC and the WFG,
both of which use WFG shared memory (which is accessible via the VME bus):
SCOREBOARDS: The WFG maintains updates status information,
including all data used in the calculation of settings, in
sections of shared memory known as scoreboards. A pair of
pointers in shared memory points to the most-recently-updated
scoreboard for each WFG channel.
MESSAGES: The FEC can prepare a command message and receive
a response message from the WFG, using a message area in
shared memory and some "handshake" harware provided on the WFG.
ACCELERATOR DEVICE OBJECTS: Accelerator Device Objects (ADOs), maintained
primarily in the FECs, form the basis of much of the control system for RHIC.
Each ADO is really an instance of a C++ class, containing "parameters" (data)
and "methods" (software functions) that pertain to a particular device (or
pseudo-device) attached to that FEC. A single class of ADO, "wfgRamp",
provides access to the WFGs for initialization, DC ramping, mode switching,
and all other necessary functions of magnet power supply control for ATR
preparation and commissioning. (Other WFG ADO classes, such as "wfgTables",
"wfgControl", "scoreboard", and "wfgDc", are not used for ATR.)
ADO INTERFACE FOR APPLICATIONS & PET PAGES: Applications programs can
communicate with the ADO methods via the "adoIf" (ADO interface) facilities
available on the CLCs (Console Level Computers). Remote Procedure Calls
(RPC) are used to obtain support from the ADOIF_SERVER task which runs
continually (under the vxWorks real-time system) on each FEC. The adoIf
utility may also be used manually from a CLC command line or by a
shellscript, to read or write individual parameters of any ADO (on any FEC).
Convenient user interface is also provided by the "pet" utility, whose
spreadsheet-like PET pages can display the "parameters" of specified ADOs and
allow writeable parameters to be modified.
1.4 POWER SUPPLY SETTINGS & SETPOINTS ("RAW" & "COOKED")
---------------------------------------------------------
SETTINGS: The WFG always produces a 24-bit signed integer value for a setting.
However, some power supply interfaces consider only a 12- or 16-bit quantity.
This digital value is, of course, sent via fibre-optic cable from the WFG to
the interface, which typically converts it into an analog voltage that causes
the power supply to output a proportional amount of current, thereby causing
the magnet's field strength to be proportionally large.
BIPOLAR & UNIPOLAR: For "bipolar" power supplies, the uppermost 12 or 16
bits are used; "unipolar" supplies take the uppermost 13 or 17 bits, but the
sign bit (MSB) is discarded and the next 12 or 16 bits are used. Thus, the
first bit of the WFG's (24-bit) output is always a sign bit and the WFG may
be regarded as bipolar only.
WIDTH: For ATR, since no High-Resolution interfaces will be used, there are
four possible WFG output widths, shown below with their corresponding ranges:
Interface Width Polarity Range
--------- ----- ------- -----
Low-Res. 12 bits Bipolar -2048 to +2047
Low-Res. 13 bits Unipolar 0 to +4095
Medium-Res. 16 bits Bipolar -32768 to +32767
Medium-Res. 17 bits Unipolar 0 to +65535
SETPOINT: The term "setpoint" is used to identify the final value in an WFG
table or, equivalently, the target value to which the WFG is in the process
of ramping. That is, when a ramp has been completed the setting will have
become equal to the setpoint specified by the operator.
"RAW" VALUES: The "raw" digital values sent as settings by the WFG or
received as readbacks are sometimes described as "counts" in other
literature. Tables downloaded to a WFG are always given in "raw" units.
ENGINEERING UNITS ("COOKED" VALUES): For convenience in using application
programs and PET pages, the wfgRamp ADO also provides features to accept a
setting value entered in engineering units and to convert measurements into
engineering units for display. The user must specify (in engineering units)
the maximum positive value corresponding to the maximum "full-scale" raw value.
Note that conversion between "raw" and "cooked" values is arbitrary, and is
meaninful only if the proper maximum was entered by the user. Cooked values
are used only for display output and user input; the WFG and power supplies
see only the "raw" digital values.
1.5 CONTROL SYSTEM NAMING CONVENTIONS
--------------------------------------
SITEWIDE NAMES: A system of unique "sitewide names" is employed (along
with a "configuration database") in order to deal with the large number
of connections, devices, and other items that will comprise the collider.
Each magnet power supply has been assigned a unique "sitewide name" that
identifies its location and function. e.g. "psuq3" is the power supply for
one of the quadrupole magnets in the "U" line.
Front End Computers also have unique names: typically, exactly three digits,
with leading zeroes, prefixed by the lower-case letters "fec" or "acnfec",
e.g. "acnfec013". (In earlier days, some FECs were named "target1",
"target2", etc., and a few others had arbitrary or misspelled names.)
In cases where there is no sitewide name (e.g. where there is no magnet
associated with the power supply or WFG channel), a five-character "ioName"
is constructed as follows: first three characters are the FEC number,
followed by an upper case letter designating the WFG and a zero or one
to specify the channel (e.g. "013A0").
2. EQUIPMENT LAYOUT
====================
Two Front-End Computers, designated "fec009" and "fec013", now control the
power supplies and thus the magnets which will transport the extracted beam
down the "U" and "W" lines for commissioning of the ATR.
For magnets in the "U" line, most power supplies are located in the "A" house
but some are located in the "Northwest" (NW) experimental area. All "U" line
power supplies are controlled by twelve WFGs in the VME extension chassis of
Front-End Computer "fec009", located in the adjacent "A" trailer.
For the "W" line magnets, power supplies are all located in building "1000-P"
and controlled by thirteen WFGs (6 on the same VME bus, 7 on the extension bus)
connected to "fec013", which is located in the same building. (Some magnets
in the "X" and "Y" lines will also be controlled by fec013.)
In addition to the four fibre-optic connections for I/O on its two separate
channels, each WFG is also connected to the Event Link and the Real-Time Data
Link. (However, the RTDL will not be used for ATR). In addition to the WFGs,
each FEC has additional modules, including a Utility module (BNL V108), an
MADC module (V113), and an Allen-Bradley PLC controller.
2.1 ASSIGNMENTS
----------------
The following tables show the assignment of specific magnets and power
supplies to WFGs and FECs:
fec009 Magnet P.S.
ioName SiteWideName name house fec /dev/ ch Base addr.
------ ------------ ---- ----- ------ ---- -- ---------
009G1 psutv1 16-11 NW fec009 wfgG 1 0xf02c0000
009F0 psuth2 16-2 NW fec009 wfgF 0 0xf0240000
009F1 psuth3 12-1 A fec009 wfgF 1 "
009H0 psutv4 16-10 A fec009 wfgH 0 0xf0280000
009H1 psutv5 16-4 A fec009 wfgH 1 "
009G0 psuth6 16-7 A fec009 wfgG 0 0xf02c0000
009I1 psutv7 16-3 A fec009 wfgI 1 0xf0300000
009A0 psuq1 113 NW fec009 wfgA 0 0xf0100000
009J0 psuq2 108 NW fec009 wfgJ 0 0xf0340000
009J1 psuq3 25-1 NW fec009 wfgJ 1 0xf0340000
009K1 psuq4 25-2 A fec009 wfgK 1 0xf0380000
009A1 psuq5 50-10 A fec009 wfgA 1 0xf0100000
009B0 psuq6 25-3 A fec009 wfgB 0 0xf0140000
009B1 psuq7 25-4 A fec009 wfgB 1 "
009C0 psuq8 25-5 A fec009 wfgC 0 0xf0180000
009C1 psuq9 25-6 A fec009 wfgC 1 "
009D0 psuq10 25-7 A fec009 wfgD 0 0xf01c0000
009D1 psuq11 25-8 A fec009 wfgD 1 "
009E0 psuq12 50-11 A fec009 wfgE 0 0xf0200000
009E1 psuq13 25-9 A fec009 wfgE 1 "
009K0 psuarc4 251 NW fec009 wfgK 0 0xf0380000
009I0 psuarc8 505 A fec009 wfgI 0 0xf0300000
fec013 Magnet P.S.
ioName SiteWideName name house fec /dev/ ch Base addr.
------ ------------ ---- ----- ------ ---- -- ---------
013A0 pswth1 600-1 1000P fec013 wfgA 0 0xf0100000
013A1 pswtv2 600-2 1000P fec013 wfgA 1 "
013B0 pswth3 600-3 1000P fec013 wfgB 0 0xf0140000
013B1 pswth4 600-4 1000P fec013 wfgB 1 "
013C0 pswth5 600-5 1000P fec013 wfgC 0 0xf0180000
013C1 pswtv6 600-6 1000P fec013 wfgC 1 "
013D0 psxtv1 600-7 1000P fec013 wfgD 0 0xf01c0000
013D0 psxtv2 600-8 1000P fec013 wfgD 1 "
013E0 psxth3 600-9 1000P fec013 wfgE 0 0xf0200000
013E0 psxth4 600-10 1000P fec013 wfgE 1 "
013F0 psytv1 600-11 1000P fec013 wfgF 0 0xf0240000
013F1 psytv2 600-12 1000P fec013 wfgF 1 "
013G0 psyth3 600-13 1000P fec013 wfgG 0 0xf0280000
013G1 psyth4 600-14 1000P fec013 wfgG 1 "
013H0 pswq1 15-1 1000P fec013 wfgH 0 0xf02c0000
013H1 pswq2 25-12 1000P fec013 wfgH 1 "
013I0 pswq3 15-2 1000P fec013 wfgI 0 0xf0300000
013I1 pswq4 15-3 1000P fec013 wfgI 1 "
013J0 pswq5 15-4 1000P fec013 wfgJ 0 0xf0340000
013J1 pswq6 25-13 1000P fec013 wfgJ 1 "
013K0 pswp1 25-10 1000P fec013 wfgK 0 0xf0380000 <
013K1 pswp2 25-11 1000P fec013 wfgK 1 " <
013L0 pswarc20 451 1000P fec013 wfgL 0 0xf03c0000 <
013L1 psswm 375 1000P fec013 wfgL 1 " <
013M0 psxarc90 1MW-1 1000P fec013 wfgM 0 0xf0400000 <
013M1 psyarc90 1MW-2 1000P fec013 wfgM 1 " <
In addition to the above WFGs for in ATR operations, WFGs are now installed
in three other Front-End Computers: "fec012" located on the mezzanine of
Bldg. 911W (Westinghouse) is used to calibrate the 16-bit interface modules.
An FEC named "crapeau" (but also known as "target99"), located in Bldg. 1005,
is being used by the RHIC Accelerator Physics Group. Finally, in Lab 1 of
Bldg. 911, "target15" is used to develop and test any new modifications
prior to installation at the other sites.
Since there are no sitewide names (no magnets are involved), "ioName" is used
for these WFG channels. The following tables show the assignment of power
supplies, ADOs, etc. to WFGs and FECs, for these non-production setups:
fec012 Magnet P.S.
ioName SiteWideName name Bldg. fec /dev/ ch Base addr.
------ ------------ ---- ----- ------ ---- -- ---------
013A0 (none) ---- 911-W fec012 wfgA 0 0xf0100000 <
013A1 (none) ---- 911-W fec012 wfgA 1 " <
crapeau Magnet P.S.
ioName SiteWideName name Bldg. fec /dev/ ch Base addr.
------ ------------ ---- ----- ------ ---- -- ---------
T99A0 (none) ---- 1005 crapeau wfgA 0 0xf0100000 <
T99A1 (none) ---- 1005 crapeau wfgA 1 " <
target15 Magnet P.S.
ioName SiteWideName name Bldg. fec /dev/ ch Base addr.
------ ------------ ---- ----- ------ ---- -- ---------
T15A0 (none) ---- 1005 target15 wfgA 0 0xf0100000
T15A1 (none) ---- 1005 target15 wfgA 1 "
T15B0 (none) ---- 1005 target15 wfgB 0 0xf0140000
T15B1 (none) ---- 1005 target15 wfgB 1 "
T15C0 (none) ---- 1005 target15 wfgC 0 0xf0180000
T15C1 (none) ---- 1005 target15 wfgC 1 "
2.2 MEMORY USAGE
-----------------
The following table identifies the Front-End Computers which have WFG modules
installed, lists all devices that are presently configured, and shows the
total number of ADO parameters and the current memory usage for each FEC:
fec Other ADO Free Mem.
### WFGs Util MADC Devices Params Mem. Size
--- ---- ---- ---- ------- ------ ----- ----
T99 wfgA - - - 285 0.55M 4M
T15 wfgA - - - 123 1.64M 4M
013 wfgA-M - madc54 - 1298 2.67M 8M
012 wfgA - - - 234 17M 4M
009 wfgA-L util madc54 stepper1-2 1822 0.89M 8M
3. D.C. RAMPING -- PET PAGES
=============================
For ATR, the control of a magnet power supply consists of ramping it to a
specified setpoint, linearly, over a specified time period. The appropriate
PET page (e.g. /ride/adoTree/operations/magnets/u-quads.pet) has one row for
each power supply (WFG channel) that is to be controlled, so that the user
can ramp that power supply to any desired setpoint value. Following is an
illustration of a typical PET page:
* U-line * DO New Output Time RDBK Measurements INIT- Max
Quads RAMP Setpt Value i (sec.) MODE (Readbacks) IDs IALIZE
---- ----- -- ----
wfgRamp.psuq1 DoIt 0.4 0.4 DONE 6.5 A [0 0 0 0 0] [...] 16 20
wfgRamp.psuq2 DoIt 0 0 0 10 A [0 0 0 0 0] [...] 16 32767
wfgRamp.psuq3 DoIt 0 0 0 10 A [0 0 0 0 0] [...] 16 32767
wfgRamp.psuq4 DoIt 0 0 0 10 A [0 0 0 0 0] [...] 16 32767
The four underlined column entries are sufficient to perform simple ramping.
After the WFG has been initialized (see below), the user may enter values for
setpoint and ramping time. Then, setting the "DoIt" entry causes the power
supply to ramp to the specified setpoint in the specified number of seconds.
(To accomplish this, the WFG "fakes" an event and switches WFG tables.)
When PET values are displayed (e.g. by pressing Ctrl-L), the "Output Value"
will be the latest value that was sent as output by the WFG. If there are
readbacks, they appear in the "Measurements" column, with IDs in the next
column. When the ramp is complete, the "i" entry becomes "DONE".
3.1 INITIALZATION
------------------
Before specifying ramp parameters for a power supply, the user initializes
the WFG (and ADO) by specifying the width of the WFG output as 12, 13, 16, or
17 bits in the "INITIALIZE!" column. After initialization, the value in the
"Max" column of any row will be forced to the maximum "raw" output value for
that power supply (i.e. is one less than 2 raised to the power W-1, where W
is the output "width"), and all displayed values will therefore be "raw".
3.2 COOKED VALUES
------------------
If the user later changes the "Max" value to the maximum positive value
(in engineering units) that is represented by full-scale output, the displayed
values and entries will be "cooked": i.e. The values for the output and five
readbacks will be converted to "cooked" values for display, and a new setpoint
will be interpreted as "cooked" and converted to "raw" before sending it to
the WFG. If different conversion is required for displaying any readbacks,
the user may enter different maximum values for any of the ten entries in the
"Max Readbacks" array. (Five for RDBK mode "A", followed by five for "B.)
3.3 SAWTOOTHS
--------------
It is possible to add "sawtooths", i.e. up and down excursions prior to ramping,
to avoid the effects of hysteresis. On the PET page, the user may specify the
number of sawtooths, the maximum and minimum values, and the durations of each.
3.4 ARBITRARY TABLES
---------------------
The table that is to be downloaded to the WFG is contained in the ADO
parameter _tableValueS, and may be displayed via adoIf. It is possible to
modify this table before downloading, replacing the default linear ramp (and
optional sawtooths) with any arbitrary waveform, and then download it by
storing an integer into the parameter _tableSizeS which specifies the number
of rows (pairs of raw values) in the table.
3.5 PARAMETER NAMES FOR PET COLUMNS
------------------------------------
Column headings on PET pages are not identical to names of ADO parameters.
When using PET, the parameter name for the current cell is displayed at the
lower left; the right mouse button brings up a doumentation window for it.
The parameter names corresponding to the PET columns are shown in the
following table.
PET Heading ADO parameter name
----------- ------------------
DO RAMP _doRampA
New Setpoint _newLevelS
Output Value _wCookedM
i _exhaustedM
Time (sec.) _rampTimeS
RDBK MODE _readbackModeS
Measurements _readbackM
IDs _readbackIDM
INITIALIZE _setupTestS
Max Range _maxLevelC
Max Readbacks _readbackMaxC
In this document, all parameter names begin with an underscore character (_).
By convention, parameter names ending in "M" are read only measurements and
the suffix "S" indicates a writeable setting. ("C" and "D" are used for
configuration and diagnostic parmeters, and "A" is used for action buttons.)
Parameters containing cooked values (or time in seconds) have "float" type;
most other parameters are long integer type.
Continued in 4. Description of the wfgRamp ADO.