BNMR: Difference between revisions

From DaqWiki
Jump to navigation Jump to search
en>Suz
mNo edit summary
en>Suz
No edit summary
Line 10: Line 10:
The Data Acquisition System is based on the [https://midas.triumf.ca/MidasWiki/index.php/Midas_documentation MIDAS] data acquisition package.  
The Data Acquisition System is based on the [https://midas.triumf.ca/MidasWiki/index.php/Midas_documentation MIDAS] data acquisition package.  


There are two separate experimental setups :
There are two separate '''beamlines''', BNMR and BNQR, each with its own experimental setup :


*    <span style="color:#7b68ee; font-style=italic">bnmr</span> running on the  BNMR high-voltage platform
*    <span style="color:#7b68ee; font-style=italic">bnmr</span> running on the  BNMR high-voltage platform
Line 18: Line 18:
    
    
= Beam Control =
= Beam Control =
The main TRIUMF EPICS Control System is used to control the beam, which can be switched to either experiment's beamline.  There are two '''Beam Modes''' that the experiments can be run in:
The main TRIUMF EPICS Control System is used to control the beam, which can be switched to either experiment's '''beamline'''.  There are two '''Beam Modes''' that the experiments can be run in:


;   single channel mode
;     [[BNMR Dual Channel Mode #Single Channel Mode|single channel mode]]
: where the beam is sent to one channel only, either BNMR or BNQR. Only '''one''' of the DAQ systems <span style="color:#7b68ee; font-style=italic">bnmr </span> or <span style="color:#20b2aa; font-style=italic">bnqr</span> is active.
: where the beam is sent to one beamline (channel) only, either BNMR or BNQR. Only '''one''' of the DAQ systems <span style="color:#7b68ee; font-style=italic">bnmr </span> or <span style="color:#20b2aa; font-style=italic">bnqr</span> is active.
;    '''dual channel mode'''
;    [[BNMR Dual Channel Mode|dual channel mode]]
: where the beam is switched between the two channels BNMR and BNQR at regular intervals. '''Both''' DAQ systems  <span style="color:#7b68ee; font-style=italic">bnmr </span> and <span style="color:#20b2aa; font-style=italic">bnqr</span> are active.
: where the beam is switched between the two beamlines (channels) BNMR and BNQR at regular intervals. '''Both''' DAQ systems  <span style="color:#7b68ee; font-style=italic">bnmr </span> and <span style="color:#20b2aa; font-style=italic">bnqr</span> are active.


= Environment =
= Environment =
Line 32: Line 32:
*    '''Time Differential or TD (Type 2)'''
*    '''Time Differential or TD (Type 2)'''
*    Combination of the above two types
*    Combination of the above two types
 
See [[#Experimental (PPG) Modes]].




Line 96: Line 96:
|}
|}


Any of these modes may be run in [[#Beam Control|single channel mode]]. Only Type 2 modes may be run in [[#Beam Control|dual channel mode]].
= Hardware Components =
= Hardware Components =


Line 118: Line 120:
|-
|-
| MVME162 || 68040 board, cpu runs CAMP (VxWorks) || ||style="color:#7b68ee "|bnmrvw || style="color:#20b2aa"| polvw ||style="background-color: white"|
| MVME162 || 68040 board, cpu runs CAMP (VxWorks) || ||style="color:#7b68ee "|bnmrvw || style="color:#20b2aa"| polvw ||style="background-color: white"|
|-
<div id=VMIC></div>
|- style="background-color: #e0e0eb;"
|- style="background-color: #e0e0eb;"
| VMIC|| cpu runs frontend (Linux)  || ||style="color:#7b68ee "| lxbnmr || style="color:#20b2aa"|lxbnqr ||style="background-color: whitesmoke"|
| VMIC|| cpu runs frontend (Linux)  || ||style="color:#7b68ee "| lxbnmr || style="color:#20b2aa"|lxbnqr ||style="background-color: whitesmoke"|
Line 144: Line 146:
|- style="background-color: #e0e0eb;"
|- style="background-color: #e0e0eb;"


! Component  !! Hostname !!  Purpose
! colspan=2 style="text-align:center"|Component  !! colspan=2 style="text-align:center"| Host !! rowspan=2 style="text-align:center"|Experiment!! rowspan=2 style="text-align:center" |Purpose
|- style="background-color: #e0e0eb;"
! Name !! Type !! Name !!Type
|-
|-  style="background-color:floralwhite;"
| febnmr_vmic ||rowspan=2|Midas<br>frontend || lxbnmr  ||rowspan=2|[[#VMIC]]||bnmr||rowspan=2|the '''frontend''' sets up, reads out hardware modules, sends histograms.<br>The frontend code for both experiments is identical.
|-  style="background-color:floralwhite;"
|-  style="background-color:floralwhite;"
| [[BNMR_frontend|frontend]]* || lxbn[mq]r**||the '''frontend''' sets up, reads out hardware modules, sends histograms
| febnqr_vmic || lxbnqr ||bnqr
|-  style="background-color:floralwhite;"
| colspan=6|  
|- style="background-color:mintcream"
|- style="background-color:mintcream"
| [[BNMR_rf_config|rf_config]]||isdaq01|| check PPG parameters, download program to PPG   
| [[BNMR_rf_config|rf_config]]|| rowspan=6|Midas<br>Client ||rowspan=6|isdaq01||rowspan=6|Midas<br>Host||rowspan=6|both|| check PPG parameters, download program to PPG   
|- style="background-color:mintcream"
|- style="background-color:mintcream"
| [[BNMR_mdarc|mdarc]]|| isdaq01|| custom data logger saves data in MUD format
| [[BNMR_mdarc|mdarc]]|| custom data logger saves data in MUD format
|- style="background-color:mintcream;"
|- style="background-color:mintcream;"
| midbnmr ||isdaq01|| converts MIDAS format saved data files to save in MUD format
| midbnmr || converts MIDAS format saved data files to save in MUD format
|-  style="background-color:mintcream"
|-  style="background-color:mintcream"
| mheader ||isdaq01|| sends out CAMP and EPICS slow-control data to be saved in the MUD data file  
| mheader || sends out CAMP and EPICS slow-control data to be saved in the MUD data file  
|- style="background-color: mintcream;"
|- style="background-color: mintcream;"
| fe_epics ||isdaq01|| sends experimental data to EPICS (can be read by control-room)
| fe_epics || sends experimental data to EPICS (can be read by control-room)
|- style="background-color: mintcream;"
|- style="background-color: mintcream;"
| autorun||isdaq01|| automatic run controller
| autorun|| automatic run controller
|-  style="background-color:lightyellow"
|-  style="background-color:lightyellow"
| perlscripts|| isdaq01 || various perlscripts control changing experimental mode, checking and maintaining run numbering, etc.
| perlscripts|| || isdaq01|| ||both|| various perlscripts control changing experimental mode, checking and maintaining run numbering, etc.
|-  style="background-color:thistle"
| physica ||rowspan=2|  ||rowspan=2|isdaq01||rowspan=2| ||rowspan=2|both|| data analyser
|-  style="background-color:thistle"
| lcrplot || plot data
|}
|}
<br>
 
: * Frontend code for both experiments are identical and called febnmr_vmic or febnqr_vmic
: ** see [[#Nomenclature]]


Each of the DAQ components is described in more detail (click on the appropriate link in Table 3).  With the exception of the perlscripts, all components in Table 3 are MIDAS clients. The perlscripts use the MIDAS utility [https://midas.triumf.ca/MidasWiki/index.php/Odbedit odbedit] to communicate with the ODB, and may be run by one of the MIDAS clients, or by a (custom)script button on a MIDAS web page.  
Each of the DAQ components is described in more detail (click on the appropriate link in Table 3).  With the exception of the perlscripts, all components in Table 3 are MIDAS clients. The perlscripts use the MIDAS utility [https://midas.triumf.ca/MidasWiki/index.php/Odbedit odbedit] to communicate with the ODB, and may be run by one of the MIDAS clients, or by a (custom)script button on a MIDAS web page.  

Revision as of 14:43, 10 June 2016

BNMR and BNQR Experiments at TRIUMF

Main Page

Purpose

These pages describe the Data Acquisition System (DAQ) for the BetaNMR (BNMR) and BetaNQR (BNQR) experiments at TRIUMF

Introduction

The Data Acquisition System is based on the MIDAS data acquisition package.

There are two separate beamlines, BNMR and BNQR, each with its own experimental setup :

  • bnmr running on the BNMR high-voltage platform
  • bnqr running on the BNQR high-voltage platform

Each experimental setup has its own #Hardware Components (i.e. a VME crate containing DAQ modules). Each runs as a separate MIDAS experiment named bnmr or bnqr. DAQ software specific to these experiments (MIDAS clients) run the experiments - see #Software Components. Experimenters control the experiment using the MIDAS Web Server (mhttpd).

Beam Control

The main TRIUMF EPICS Control System is used to control the beam, which can be switched to either experiment's beamline. There are two Beam Modes that the experiments can be run in:

single channel mode
where the beam is sent to one beamline (channel) only, either BNMR or BNQR. Only one of the DAQ systems bnmr or bnqr is active.
dual channel mode
where the beam is switched between the two beamlines (channels) BNMR and BNQR at regular intervals. Both DAQ systems bnmr and bnqr are active.

Environment

For both experiments, two types of environment are defined (cf MUSR experiments):

  • Integral (Type 1)
  • Time Differential or TD (Type 2)
  • Combination of the above two types

See #Experimental (PPG) Modes.


Experimental (PPG) Modes

A number of different experimental modes are defined for each of Type 1 (Integral) and Type 2 (TD) #Environments. These allow different experimental modes to be run (e.g. Frequency scan, Na Cell scan). The modes used in recent years are shown in a brighter colour. These modes correspond to different programs downloaded into the PPG (i.e. to different pulse sequences) so are also known as PPG Modes. To understand what each experimental mode does, consult the appropriate timing diagram listed below and see experimental (PPG) modes.

Table 1 INTEGRAL and TIME DIFFERENTIAL Experimental (PPG) Modes
Table 1a: Type 1 Integral Modes
Mode Name Run Parameters Timing Figure
Scalers 10 Same as 1f
1a 1a 1a
1b 1b 1b
Freq 1f 1f
NaCell 1n 1n
Laser 1d Same as 1n
Camp 1c Same as 1f
Fast * 1g Not available
LCR ** 1j Not available
*Combination of Modes 20 and 1f
**Combination of Modes 20 and 1c
spacer


Table 1b: Type 2 Differential Modes
Mode Name Mode Parameters Timing Figure
SLR 20 20
2a 2a 2a
2b 2b 2b
2c 2c 2c
2d 2d same as 1b
2e 2e 2e
this
is
a
spacer
a
style="color:#20b2aa"|

Any of these modes may be run in single channel mode. Only Type 2 modes may be run in dual channel mode.

Hardware Components

DAQ hardware components for each DAQ system (BNMR/BNQR) include the following VME modules:

Table 2: VME Modules for each Experiment
Module Description VME Base Address BNMR BNQR Manual
SIS3801 version E multichannel scaler A 0x2800 yes yes SIS3801
SIS3801 version E multichannel scaler B 0x1800 yes no
PPG (Pulseblaster) Pulse Programmer 0x8000 yes yes PPG
Spincore Pulseblaster
PSM Pol Synthesizer module (RF) 0xC00000 no yes PSM
AD9857 Quadrature
Digital Upconverter

Programming Guides:
PSM / PSMII
PSMII Pol Synthesizer module II (RF) 0xC00000 yes no
NIMIO32 Input/Output Register 0x100000 yes yes NIMIO32
MVME162 68040 board, cpu runs CAMP (VxWorks) bnmrvw polvw
VMIC cpu runs frontend (Linux) lxbnmr lxbnqr


The names of the VMIC running the frontend and MVME162 (the CAMP host) for each experiment are shown in Table 2 above.

The connections between the DAQ VME Modules are shown in BNMR DAQ Hardware Connections.


Software Components

The DAQ system is based on the MIDAS package. Data acquisition software to run the bnmr and bnqr experiments has been written to run under MIDAS. This includes the frontend, custom logger etc. This software is mostly common to both experiments (differences between the two experiments are handled with ifdefs).

The experiment is controlled using the MIDAS webserver (mhttpd). Due to the large number of experimental parameters required, Midas custom pages have been written for the experimenters to control and monitor their experiment.

The custom logger (mdarc/midbnmr) saves the data into MUSR MUD format files, and the MUSR CAMP slow control system is used for slow controls. Analysis is done by physica.

The DAQ software components are started by the script start-all and stopped by the script kill-all. These include standard MIDAS utilities (e.g. mhttpd, mlogger, mserver) as well as components specific to the bnmr and bnqr experiments.

The main DAQ software components specific to the bnmr and bnqr experiments are

Table 3: DAQ Software Components
Component Host Experiment Purpose
Name Type Name Type
febnmr_vmic Midas
frontend
lxbnmr #VMIC bnmr the frontend sets up, reads out hardware modules, sends histograms.
The frontend code for both experiments is identical.
febnqr_vmic lxbnqr bnqr
rf_config Midas
Client
isdaq01 Midas
Host
both check PPG parameters, download program to PPG
mdarc custom data logger saves data in MUD format
midbnmr converts MIDAS format saved data files to save in MUD format
mheader sends out CAMP and EPICS slow-control data to be saved in the MUD data file
fe_epics sends experimental data to EPICS (can be read by control-room)
autorun automatic run controller
perlscripts isdaq01 both various perlscripts control changing experimental mode, checking and maintaining run numbering, etc.
physica isdaq01 both data analyser
lcrplot plot data


Each of the DAQ components is described in more detail (click on the appropriate link in Table 3). With the exception of the perlscripts, all components in Table 3 are MIDAS clients. The perlscripts use the MIDAS utility odbedit to communicate with the ODB, and may be run by one of the MIDAS clients, or by a (custom)script button on a MIDAS web page.

Analysis of the data is done by physica, and plotting by lcrplot.


DAQ Summary

The VMIC front end computer runs the frontend code which
  • controls PSM,PPG, VMEIO
  • acquires data from SIS MCS module(s), builds histograms
  • acquires data from CAMP, EPICS
  • sends the data out into the data buffer
The host computer (isdaq01)
  • run all other software components
  • starts/stops runs
  • acquires the data from the data buffer
  • logs the data
  • monitors the experiment


Nomenclature

In this document, " bnmr or bnqr " may be written as " bn[mq]r " or " <beamline> ".

For example, directories :

/home/bnmr/online/bnmr spc or spc /home/bnqr/online/bnqr

are referred to by shortcuts such as

space /home/bn[nm]r/online/b[nm]r spc or spc ~/online/b[nm]r

and

space /home/<beamline>/online/<beamline> bl or bl ~/online/<beamline>, bl where <beamline> is bnmr or bnqr