POL
Links
DAQ VERSIONS
There are currently two versions of the DAQ. This wiki documents the new version, written in 2021/2022. Documentation of the old DAQ can be found on the triumf.info wiki.
The old DAQ is setup to work in the csh shell, and the new DAQ in the bash shell.
When you first log in you are in the csh shell, so all commands refer to the OLD DAQ. Type bash
to get to a bash shell an have commands refer to the new DAQ. Type exit
to leave the bash shell and return to the csh shell.
The prompts of csh/bash are set to show which one you are in, using prefixes (old daq)
and (new daq)
.
- If you see
(old daq)
and want to interact with the new DAQ typebash
. - If you see
(new daq)
and want to interact with the old DAQ typeexit
.
You should only have one version of the DAQ running at once! Use the following instructions to change between which DAQ version is running:
Starting the new DAQ
ssh pol@isdaq01 # By default you're interacting with the old DAQ. Make sure all those programs are stopped. kill-all # Change to bash to use the new DAQ bash # Start the new DAQ start-all
Then go to https://isdaq01.triumf.ca:8446 to see the new DAQ webpages.
Data is written to /data1/pol/data/current/new_daq
.
Starting the old DAQ
ssh pol@isdaq01 # By default you're interacting with the old DAQ. First we will make sure all the new DAQ programs are stopped. bash kill-all exit # Now we're back to using csh and the old DAQ start-all
Then go to https://isdaq01.triumf.ca:8445 to see the old DAQ webpages.
Data is written to /data1/pol/data/current/old_daq
DAQ machines
- isdaq01 - main daq computer, located in ISAC counting room, shared with bnmr/bnqr experiments
- lxpol - VME interface
- isdaq04 - ISAC1 floor terminal
Main account is pol@isdaq01.
The POL DAQ System
The DAQ system for the POL experiment uses MIDAS, the standard DAQ system at TRIUMF.
The POL experiment has its own DAQ hardware (i.e. VME crate and DAQ modules). These are controlled and read out by a MIDAS frontend fepol_32bit.exe, which runs on a VMIC VME processor called lxpol.
All the other software runs on the host computer (currently isdaq01). Both lxpol and isdaq01 run linux.
Running the POL Experiment
Starting the POL Experiment from scratch
- Log on to DAQ host isdaq01 with username pol
- In an terminal, type start-all
More details about start-all is in the [POL: Hardware and software#Scripts|scripts section].
Viewing the state of the DAQ programs
Most interaction with the DAQ is done through the web interface at https://isdaq01.triumf.ca:8446.
However, you can also view the state of the main DAQ program (called the frontend) by typing show-windows in a terminal when logged in as pol@isdaq01. (If connecting to remotely via ssh, you'll need to enable X11 forwarding to see the window - e.g. ssh -Y pol@isdaq01
).
Shutdown the POL DAQ
To shutdown the POL DAQ software completely:
- Log on to DAQ host isdaq01 with username pol
- In an terminal, type kill-all
This will shut down all the clients for the POL experiment, including the web server mhttpd.
Nomenclature
- Bin
see #time bin
- Cycle
see #PPG Cycle
- DAC
- Dwell Time
The Dwell Time is the same as the Bin Width. This is the time the Scaler collects the data for each #time bin.
- DAC Scan (or Sweep)
- Users configure the voltage range and number of increments the DAC should step through. Note that if you specify 10 steps, data will be taken at 11 different voltages. This makes the step size calculation more intuitive (0 to 4V in 10 steps ⇒ 0.4V between data points ⇒ 11 data points as we must include both the lower and upper bounds).
- At begin-of-run, the DAC is set to the value given by DAC Start (V).
- After one #supercycle (i.e. one or more PPG #cycles), the DAC voltage is incremented by the value given by DAC increment (V)
- When the requested number of Number of DAC increments are done, one DAC scan has been completed.
- A number of DAC scans is usually done during each #run.
- Galil RIO
DAC/ADC module (see Galil Rio)
- Input Parameters
The Input Parameters are parameters whose values are input by the user at the beginning of each run. These parameters control the experiment. The input parameters are available on the POL custom page.
- PPG
VME Pulse programmer module (see DAQ Hardware). The PPG outputs a pattern of pulses to control the experiment.
- PPG Cycle
- One PPG Cycle is called a cycle.
- A PPG Cycle starts when the PPG receives a "start" signal by
- software or
- a hardware signal sent to the PPG "external trigger" input
- A PPG Cycle ends when its program finishes.
- The length of the PPG cycle*is determined by the input parameters.
- number of time bins and
- dwell time (ms)
- *assuming that the input parameters DAC sleep time (ms) and TOF pulse width (ms), which are also part of the PPG cycle, are set to 0 (i.e. the minimum delay (30ns)).
- Run
- A run starts when the user starts the DAQ system (by pressing Starton the main status page or Pol custom page)
- A run ends
- when the user stops the DAQ system (by pressing Stop on the main status or custom page) or
- automatically if an error is detected
- SIS3820 Scaler/MCS
VME multichannel scaler module (see DAQ Hardware).
- Supercycle
- One or more #ppg cycles at the same DAC voltage is called one supercycle
- The number of ppg cycles per supercycle is determined by the input parameter Num PPG cycles per DAC increment
- If the DAC is incremented after each PPG cycle i.e. Num PPG cycles per DAC increment = 1, cycle and supercycle are identical
- The time bin data from each cycle within one supercycle is summed.
- At the end of each supercycle, the scaler data are output (as MIDAS Banks) and the DAC is incremented.
- Time Bin
The time during the #scaler is enabled to collect data is divided into a number of time bins, each of length given by the dwell time. Both of these values are input parameters used to program the PPG. The scaler advances to the next time bin when it receives the LNE signal from the PPG (see Hardware).
Troubleshooting
The run would not start
Check the Error/Information message log for more information. Reasons for the run not starting include :
- frontend code is not running
- error in frontend parameter values
- VME crate powered down
The run stopped unexpectedly
Check the Error/Information message log for more information. Reasons for the run stopping unexpectedly include:
- Run reached number of scans requested (input parameter number of scans is non-zero)
- DAC value did not change after increment
- The frontend code detected a fatal error - see message log and frontend xterm
Run starts but DAC not scanning, no data
The frontend code is probably not running, and the alarm system disabled. If the alarm system is enabled, the run will be prevented from starting, and an alarm banner will appear to indicate the problem.
Otherwise, check that the hardware (Galil Rio, Power supply etc.) is all switched on and working. The PPG relies on an external signal from the TOF to start the next cycle. If this signal is not present, the PPG will run one cycle then stop, waiting for an external start.
For testing, can switch PPG external start to internal (under Frontend Flags on the Custom Page) . The PPG should then continue past the first cycle. In this case, investigate connection of End TOF Signal to PPG External Start.
Alarm banner is present
This indicates an error that may prevent the run from starting. Fix the problem and clear the alarm.
Frontend code will not run - frontend window disappears immediately
This means that the frontend code has detected an error, and exits. Check for Error Messages. If necessary, start the frontend code in an xterm to get more information, because the window will not disappear on failure.
This error will occur if there is a problem with the VME Crate (e.g. powered down), frontend program not running, Galil Rio DAC/ADC not responding etc.
How to Start frontend code in an xterm
Log onto the VMIC device lxpol, e.g. from an xterm on the host or local computer, and start the frontend code, e.g.
[pol@isdaq01 pol]$ ssh lxpol [pol@lxpol ~]$ bash (bash) [pol@lxpol ~]$ pol_new/packages/pol/bin/fepol_32bit.exe
The frontend will run and go through its initialization procedure.
It may detect an error, e.g.
Connecting to Galil device at IP 192.168.1.100 terminate called after throwing an instance of 'KOsocketException' Abort
In this case, there is a hardware problem with the Galil Rio DAC and the frontend code is aborted. Check that the Galil Rio DAC is present, powered up and connected to the VMIC via a network connection.
- NOTE
- If you cannot ssh to lxpol, check that the VME crate is powered up and the network is working.
How to switch the Host Computer
The host computer is the desktop computer that users of the pol experiment log into to run the DAQ. Currently it is isdaq01. If isdaq01 dies, the experiment can be switched to run on an alternate host that is part of the isdaq00 NIS cluster, e.g. isdaq06. The alternate machine also has access to the /home/pol directory.
- If the current host computer (isdaq01) is still running, type kill-all and log out.
- Log onto the alternate host computer (isdaq06)
- Edit the definition of
$DAQ_HOST
in /home/pol/.bashrc - Edit the SHM host file
/home/pol/pol_new/online/.SHM_HOST.TXT
- Log out and log in again
- Check environment variable DAQ_HOST is now set to isdaq06
- Execute start-all and point the webserver to isdaq06:8088
- Edit the definition of
POL DAQ updates
- January 2022 Rewritten using the cycling framework
- April 2016 DAQ Host is now isdaq01
- May 2015 frontend window now created using screen utility
- July 2014 Galil Rio loaded with internal program (by Donald) to average ADC0-3 values. Averaged values are sent to banks CYCL.
- May 2014 DAQ frontend code partially rewritten to reduce dead time.
- April 2014 Galil Rio DAC/ADC replaces GPIB DAC . DAQ host is now isdaq06.
- 2013 GPIB DAC controlled directly from isdaq01 rather than midtis07
- April 2011 VMIC- based system for POL (replaces PPC-based system shared with BNQR expt). Pol's new scaler isthe VME scaler (SIS3820)