User's Guide to the
Hall A


maintained by: Chris Keith,

Useful Links:
JLab Target Group             Hall A Target Webpage

  Table of Contents

1.   What's New
2.  IOC Information
3.  Starting the GUI
4.  Charts
    4.1  Starting the Charts
    4.2  Configuring Loop vs Gas Panel
    4.3  Saving and Loading Chart Options
5.  Alarms
    5.1  Starting the Alarm Handler
    5.2  Acknowledging Alarms
    5.3  Saving Alarm Set Points
6.  Target Motion
    6.1  Moving the Target
    6.2  Killing Target Motion (Emergency Stop)
    6.3  The GO HOME routine
    6.4  Status Lights
    6.5 Misc. Commands
7.  High Power Heaters
    7.1  Heater Operation Modes
    7.2  Turning the Heaters On
    7.3  Manual Heater Power
    7.4  Putting the Heater in PID Mode
    7.5  Compensating for the Beam Current
8.  Fans
    8.1 Turning the Fans On or Off
    8.2  Changing the Fan Speed
    8.3  Adjusting other Fan Settings
9.  JT Valves
    9.1  Adjusting JT Valve Positions
10.  Rebooting the IOC
  10.1  How to Reboot the Target IOC
  10.2  What to do while the Target IOC Reboots
  10.3  What to do if the IOC does not Reboot
  10.4  Use of the Auxiliary Heaters
11.  Troubleshooting

1.  What's new
(since the last manual)

  1. This manual (Sept. '02)
  2. New MEDM-based control screens  (Sept. '02)
  3. A new control algorithm for the High Power Heaters (Sept. '02)
  4. The KILL MOTION button on the target lifter is more reliable (Sept. '02)
  5. The fan controllers each have their own serial port (Oct '01)
  6. Updated to EPICS version 3.13c3 (Oct '01)
  7. The control computer (IOC) is updated to a MVE-177 (Oct '01)
  8. IOC now boots from HLASRV instead of HAC (Oct '01)
  9. The pressure sensor controllers (Sensotecs) have been dumped and replaced by controllers built by the Fast Electronics group. (Oct '01)
  10. New IOC break-out box and ADC/DAC channel assignments (Oct '01)

Back to Table of Contents

2.  IOC Information

The control software for the Hall A cryotarget runs on an VME-based MVE177 input-output computer (IOC) located inside Hall A.  The computer name is IOCHA13 (  The operating system for the IOC is VxWorks , and the EPICS software that is used to control the target must be loaded onto the IOC each time it is rebooted.  This is an automated process, and is performed from the Hall A server, hlasrv, which is managed by the JLAB Accelerator Controls Group.  The boot directory is /usr/hlasite/op/iocs/iocha13.

Additional information about the Hall Cryotarget IOC can be found here.

Back to Table of Contents

3. Starting the GUI

As of Sept. 2002, there is a MEDM-based replacement for the old Tcl/Tk screens.  The latter will no longer be supported and will not operate the JT valves or the High Power Heaters.  The MEDM screens duplicate all the important functions of the Tcl/Tk screens.  To launch the new GUI, use the same steps as before:
  1. As user atarg on computer cryotarg, open a terminal window.
  2. Type $GUI
  3. Type tgtgui   ( The main control screen shown below should appear. )
  4. The charts and alarm handler can be launched from the upper rightmost button on the main control screen.
Since an effort was made to reproduce the look and feel of the old Tcl/Tk screens, the MEDM controls should be self-explanatory to the experienced Target Operator.   However, the remainder of this manual will instruct the new user on its operation.  This manual will not attempt to describe every control screen available, but will concentrate on those that the Target Operator will be most likely to use during the course of a target shift: Charts, Alarms, Target Motion , High Power Heaters, Fans, and JT valves .

Main Control Screen, ATARG.adl  

Back to Table of Contents

4. Charts
The charts for the Hall A cryotarget are still based on Fraser Duncan's Tcl/Tk charting scripts. 

4.1  Starting the Charts
The main chart menu can be launched from the pull down menu located in the upper right corner of the main control screen.  It is labelled Charts & Alarms.  The chart menu is shown below, and has several preselected combinations which can be accessed under the Chart menu.   The most common charts are grouped under the menu item Loop Charts .  These are probably the only charts that the target operator needs.
Back to Table of Contents

Main Tcl/Tk Charts Menu

4.2  Configuring Loop vs Gas Panel

The first entry, Configure Loop vs Gaspanel, can be used to specify which gas panel (hydrogen, deuterium, or helium) is connected to which target loop (1, 2, or 3).  This configuration is always made by the JLab Target Group, so the Hall A operator should not alter this screen unless specified to do so.   Once configured, the chart maker will automatically generate the proper groups of charts for each loop (e.g. as indicated above, the deuterium pressures will be charted alongside the LOOP2 temperatures).

Loop vs Gas Panel configuration

Back to Table of Contents
4.2  Saving Chart Options
Once the charts have been configured by the user (usually only the y-axes need to be set), he or she should use the Charts menu to Save Strip Chart Options.   This will launch the FIle Dialog Box shown directly below.  Type a new (or old) name into the lower text enty box and click OK.  To load an alternative set of options, choose Load Strip Chart Options from the main chart menu.

dialog box for saving Chart parameters

Back to Table of Contents

5. Alarms
5.1  Starting the Alarm Handler
Like the Charts, the Alarm Handler for the Hall A cryotarget is still based on Fraser Duncan's Tcl/Tk code and can be launched from the pull-down menu located in the upper right corner of the main control screen.  After this choice is made, a new Xterm window and the two Tcl/Tk windows shown below should appear.

The File Dialog Window allows you to select the proper alarm file to be used by the alarm handler.  The file that is normally used during data-taking is atarg.alh.  Choose this file (or another) and press "OK".  After the file is read into the alarm handler the dialog box will disappear and the alarm handler is enabled.

Menus for Tcl/Tk alarms

Back to Table of Contents
5.2  Acknowledging Alarms
After the alarm handler has been enabled, the above window labelled tgtalh,  should have a single button whose color indicates the alarm status of the target:
By clicking on this button, a window showing the "alarm tree" for the Hall A target appears.  If you click on the name of a component in this window, (e.g. temperatures2) the tree opens to display the various alarm records in that group.  An Epics record (e.g. a temperature sensor) that has exceeded a certain prescribed limit will produce an alarm.  The records that alarmed will have a colored box to their sides.  The alarm handler captures both transient alarms in addition to continuing alarms.  A bell will sound until the alarm is acknowledged.  To acknowledge an alarm, click on the colored alarm box on the left panel.

If an alarm persists, it may be necessary to adjust its limits.   Consult Target On-Call before adjusting any alarm limits.

 Tcl/Tk "Alarm tree"

Window for changing the alarm limits

Back to Table of Contents
5.3  Saving and Loading Alarm Set Points
Once the alarm limits have been properly set, they should be saved as a file with an " alh" extension.  Under the Options menu on the atarg Alarm Tree, choose Save Alarm Set Points in order to create or update the alh file on the local computer.  Next, choose Save Current Set Points to Boot File.   This will copy the alh file to the IOC boot directory and ensures that the new alarm settings will remain the same following a reboot of the IOC. Contact Target On-Call if the new alarms limit are not automatically loaded into the control computer following an IOC reboot.

Saving the alarm settings

Back to Table of Contents

6. Target Motion

The target is positioned vertically in the path of the electron beam by three servo motors, each connected to its own motion controller called a BDS.  Two of the BDS units are configured as "Slaves" and are controlled by the third, the "Master".  The target operator communicates with the Master BDS through the IOC in order to move the target.  The position is determined by an encoder attached to the Master's servo motor.  The various target positions (Loop1 top cell, Loop1 bottom cell, Carbon target, etc) are stored as 15 encoder values on the control computer (IOC).

Target Motion is controlled by the operator through the Lifter GUI shown below.  The 15 encoder values can be viewed by clicking on BDS  positions at the top of this GUI.  On the left of the Lifter GUI are a column of buttons for selecting amongst the available scattering targets (4 cm H2, 15 cm D2, Carbon, etc).  Clicking one of these buttons sends the "MOVE" command to the Master BDS along with that target's encoder value.

The current position of the target is
indicated in three ways on the GUI:
Back to Table of Contents

6.1  Moving the Target
To change to a new position:
Page Target On-Call in case of any target motion difficulties!

Back to Table of Contents

6.2 Killing Target Motion (Emergency Stop)
If you need to suddenly stop the target, hit the KILL MOTION button.  To resume motion, press Clear Select Record and then click the desired target button.

Back to Table of Contents

6.3 The GO HOME routine
Whenever power to a BDS motion controller is interrupted, it loses it current encoder value.  A pre-programmed motion routine called  "HOME" is used to recover the encoder position in the following way.  If the GO Home option is chosen from the column of target positions, the lifter moves the target upward until it contacts the "Home Switch", mounted on the outside of the scattering chamber.  The lifter will reverse its motion for a couple of centimeters, and then move upwards to the home switch once more, very slowly this time.  When "home" is contacted a second time, the Lifter stops, and a value of -46952 (this value may change) is loaded into its encoder. Each of the 15 encoder positions stored on the IOC are relative to the "Home" position and were determined prior to the experiment by the JLab Alignment Group.

Never run the Go Home routine unless instructed to do so by Target On-Call or another Target Expert!

Back to Table of Contents

6.4 Lifter Status Lights

The Lifter reports the status BDS motion controller by means of the following indicators located at the bottom left corner of the GUI.  

Back to Table of Contents

6.5 Miscellaneous Comands
Lifter GUI

Back to Table of Contents

7.  High Power Heaters
7.1 Operation Modes
The high power heaters (HPH) are used to regulate the target loop temperatures and are located inside each of the three heat exchangers.  The control GUI for each heater (Loop 1, 2, or 3) can be launched either from the main control GUI, or from the bottom of the given LOOP GUI.  The heaters have three operation modes:
  1. Off - no power is sent to the heater.  The heater must be ON for any other operation mode to function.
  2. MAN - the operator manually selects the power (in Watts) for the high power heater;
  3. PID - the control computer (IOC) adjusts the heater power in order to maintain a specific target temperature
There is a new feature to the heaters, namely "Beam Compensation".  You can read about it below.

Back to Table of Contents

High Power Heater GUI

7.2 Turning the Heaters On and Off

To turn the heater on, click the red ON button in the upper left corner of the Heater GUI.  "Heater On" should appear in RED.  The actual heater output will depend on whether it is in PID or Manual mode, described below.
To turn the heater off, click the Off button.  This will immediately set the power to zero, regardless of the other operation modes.  
"Heater Off" should appear in RED.

Back to Table of Contents

7.3  Setting a manual heater power
Assuming that the heater is Off:
Back to Table of Contents

7.4  Putting the Heaters in PID mode
During normal operations, the heater powers are determined by the IOC using a feedback (PID) loop to maintain a constant target temperature.  The temperature is measured by one of several thermometers in the target loop, and the selection of which thermometer to use cannot be changed by the operator.

Each PID loop has several parameters which can be viewed/changed by pressing the PID Parameters button on the Heater GUI.  The PID_settings window shown below ought to appear.  The setting have the following meaning and should not be changed without the authorization of Target On-Call or another target expert.
  1. Set Pt - the temperature set point that the feedback loop attempts to maintain (usually 19.00 for H2, and 22.00 for D2);
  2. Cur. Temp - the actual temperature of the target;
  3. PID Output - the power setting that the PID loop is sending to the HPH.  The power deposited by the beam may or may not be subtracted from this value (see Compensating for the Beam Current below).
  4. Prop - proportional gain of feedback loop (usually 600);
  5. Integ - integral gain of the feedback loop(usually 40) ;
  6. Deriv - derivative gain of the feedback loop (usually 0);
  7. Scan - scan time (in sec) of feedback (i.e. how often the heater adjusts itself) (usually 1);
  8. MIN - minimum PID power setting (usually 0);
  9. MAX - maximum PID power setting (usually 500);
  10. dMIN - the minimum change in heater power that the PID loop will allow in one Scan period (usually 0);
  11. dMAX - the maximum change that the PID loop will allow in one Scan period (usually 50);
Assuming that the heater is Off, follow the steps below to place a heater in PID mode:
Back to Table of Contents

  PID settings GUI

7.5  Compensating for the Beam Current
Sizeable fluctuations have been observed in the target temperature whenever the electron beam is unstable. The beam can deposit several hundred watts on a target, and the PID simply can't respond quickly enough if the beam current changes suddenly.  To combat this problem, we have implemented a new term in the HPH control algorithm called "Beam Compensation".

When ENABLED, the target computer (IOC) measures the beam current on the target loop using IBCxxxxCRCUR2 - this is Accelerator's "official Hall B beam current monitor".  The IOC converts this current to a power (in Watts) deposited on the target via
                    Pbeam = I*Length*Density*dE/dX
Values for Length, Density, and energy loss (dE/dx) are specific to each of the six target cells and can be adjusted by clicking on the Cell Properties button on the Heater GUI.

This value is automatically subtracted from the power that the PID loop calculates.  The result is then sent to the HPH.  For example, imagine that the electron beam current is zero, and that the PID loop has empirically determined that 500 W is necessary to maintain a target temperature of 19.00 K.  The heater output will of course be 500 W.  If the electron beam current suddenly increases and deposits 300 W on the target, the heater output power will automatically drop to 200 W (500-300).  The total heat load on the loop will still be the necessary 500 W (300 from the beam, 200 from the HPH) so there should be little or no change in the target temperature.  Since there is no temperature change, the PID will continue to calculate 500 W, and the heater will remain at 200 W (500-300).  If the beam current again drops to zero, the heater output will automatically jump back to 500 W (500-0) and again, there should be little or no temperature fluctuation.  Ideally, the PID loop should only respond to changes in coolant flow, fan circulation speed, etc.  

To enable this term to the heater controls, press the Enabled button at the bottom left corner of the Heater GUI.
Click Off if you wish to disable this feature.

A separate value for
Pbeam is calculate for each of the 3 target loops.  The control computer monitors the position of the target and using the settings loaded in Cell Properties can automatically determine the proper values to use for Length, Density, and dE/dx.  When a  loop is no longer in the beam path, its Length is automatically set to zero.  This forces the corresponding value of Pbeam to zero so that this loop's heater is no longer affected by the beam current.

Cell Properties GUI

Back to Table of Contents

  8. Fan Controls

Fans (or "pumps") located inside the three heat exchangers are used to circulate the target fluid (LH2, LD2 or Helium) from the target cells through the heat exchangers where the fluid is cooled by cold, high pressure helium from the End Station Refrigerator (ESR).  The control settings for the fans can be adjusted from the GUI below, which can be launched either from the main control GUI or from one of the 3 LOOP GUIs.  The rotational speed of the fan blades are measured by tachometers attached directly to the blades.  The speed is set by specifying a "Percent Frequency" to the Fan Controllers, with 25% corresponding to about 60 Hz.

Back to Table of Contents

8.1 Turning the Fans On or Off
To turn a Fan off:
To turn a Fan on:
Back to Table of Contents

8.2 Changing the Fan Speed
Assuming that the fan is already running, change the fan speed using the following steps:
NOTE:  I don't know why the percent frequency readback is sometimes 2% low.  The important quantity is the tachometer reading listed in the READBACK box.  You should see it change as you adjust the fan frequency.  

Back to Table of Contents

8.2 Adjusting Other Fan Settings
Additional settings for the Fan Controller can be accessed by pressing the INPUT WINDOW button.  These settings should never be changed without authorization from Target On-Call or another Target Expert.

GUI for Fan Controls

Back to Table of Contents

9. JT Valve Controls

Three Joule-Thompson (JT) valves are used to control the flow of coolant from ESR through the three cryotarget heat exchangers.  There is a fourth JT valve, the "Precool JT", that is only used during the initial cooling of the cryotarget and remains closed thereafter.  Likewise a relay-controlled ball valve called the "Warm Return Valve" is only used during the initial cooldown is should be closed otherwise. The controls for the JT valves can be launched from several places:
  1. the main ATARG GUI
  2. from a button at the bottom of each LOOP GUI
  3. from the blue "JT" valve icon near the top of each LOOP GUI
  4. from the CRYOSTAT GUI
Regardless of where it is launched from, the control GUI for a JT valve looks like this .  The readback is in units of percent open, with 100% meaning fully open.

Control screen for a Joule-Thompson valve

Back to Table of Contents
9.1 Adjusting JT valve positions  
There are two way to set the position of a JT valve.
  1. Specify the amount that you the want the valve to move (say 10%) in the STEP Size entry box.  Then press either the Step Open or Step Close
  2. Specify the new position that you wish for the valve using the entry box to the left of the GOTO button, then press the GOTO button.  
The calibrations are not perfect, so you may need to hit the GOTO button a few times to get it exactly right.

Back to Table of Contents

10.  Rebooting the IOC

Under normal conditions the Target IOC should not require rebooting.  Compared to the Tcl/Tk controls, the MEDM control screens present a much smaller load to the IOC's CPU.  The load on the IOC can be monitored from the the main control menu.  Under normal circumstances, the IOC %CPU Free number should be 50-70%.

During an experiment it has been observed that intense radiation can cause the IOC to reboot itself  or "freeze" (require rebooting externally).  You can tell that the IOC is frozen when the MEDM screens go "white".  The reboot procedure requires about 5 minutes, so please be patient.  If the IOC never comes back to life, contact Target On-Call and follow the procedures outlined in What to do whlle the IOC Reboots.

Back to Table of Contents

10.1  How to Reboot the Target IOC
If you need to reboot the Target IOC (from the counting house), follow these steps:
Back to Table of Contents

10.2  What to do while the IOC Reboots
During the reboot procedure the operator's primary concern is the temperature of the 3 Loops.  While the IOC reboots, the High Power Heaters will continue to provide exactly the same amount of power as just before the reboot (e.g. if the PID was providing 310 W just before the reboot, the heater will stay at exactly 310 W during most of the reboot).  There is a period of a few seconds when this power will drop to zero.  During this time the operator may need to use the Auxiliary heaters to maintain the loop temperatures.
Following a reboot the High Power Heaters should return to exactly the same state they were before the reboot (PID, MAN or OFF).  Since it is initialized with zero watts following a reboot, the PID loop will require a few seconds before it can successfully regulate the temperature at the set point.

Back to Table of Contents

10.3  What To Do If the IOC Does Not Reboot
This is an indication of a serious problem.  Contact Target-On Call immediately and use the Auxiliary heaters
to maintain the loop temperatures.

Back to Table of Contents

10.4  Use of the Auxiliary Heaters
The auxiliary power supplies for the high power heaters are mounted in a rack in the middle room of the counting house.  During an "extended" IOC reboot, these supplies for (at least) the deuterium loop should be turned on by pressing the on/off switch on the left hand side of the box.  The power output to the heater is then controlled by individually setting the voltage and current outputs with two knobs located on the front of the supply (voltage=left knob, current=right knob).

When the auxiliary power set by the operator exceeds that of the primary supply in the hall, the heater inside the loop will begin to draw current from the auxlliary supply.  This will be evident when the voltage and current readbacks both begin to display non-zero numbers.  If the auxiliary supply isn't putting out enough power to maintain the desired temperature, it may have reached either a voltage or current limit.  These limits are indicated by the illumination of two lights on the front of the power supply, close to the knobs.  Simply increase the voltage or current output by turning the knobs until you have passed the limit.

Back to Table of Contents

11.  Troubleshooting (under construction)

11.1 When I launch the GUI with the tgtgui command, the screens appear, but all the readback are white.
There are two possiblities.  Either the IOC is dead and needs rebooting (try pinging it from an Xterminal -- ping iocha13 ), Or there is a network problem - contact MCC?

11.2 I receive an error message when I type
Make sure that your current working directory is
/home/atarg/gui/MEDM.  If not, change to that directory.  Type source setup.  Then try tgtgui again.

11.3 All the signals from ESR are white
Two possibilities: The GUI was not launched with the proper EPICS variables.  Try quiting MEDM.  Type
source setup in the original Xterminal.  Try tgtgui again.
Or, there is a problem with the IOC that provides the ESR signals.  Contact MCC.

11.4 The charts/alarms won't start
Tcl/Tk *&#$*#@!!  Contact either Kathy McCormick or Chris Keith.

11.5  The percent frequency input box for the fans say "0", but the tachometer indicates that the fan is turning.
The value in the input box automatically returns to zero after a new setting is entered.  The frequency readback is displayed to the right of the input box.

Back to Table of Contents

11.6 I don't see a Beam arrow on the Lifter GUI.
This indicates that the target stack is not at one of the predetermined target positions.  Click BDS positions button at the top of the Lifter GUI and compare the current encoder value to the values listed on the BDS positions  Next contact Target On-Call and ask for instructions. page.