Table of Contents

LYDAQ installation

Documentation daq_doc.pdf

Linux version

A debian Jessie (8) is required, more recent version (strech or Ubuntu 16) can be used but some patches in package name are then needed

Installation

The code is installed in /opt/lydaq and /opt/zdaq . Binaries and libraries are in /op/dhcal/[bin/lib] .

Remarks

Debian package (binaries only) installation

It works only on debian jessie amd64 architecture:

The binaries of the software is install in /data/daq and in /data/root

New version

Complete raspberry jessie image (ready to use)

LYDAQ Configuration

The description and configuration of all processes is described in a JSON file. It should be edit and then install in the Oracle database host in the CCIN2P3.

JSON file

Structure

TAGS

Each program is defined by a set of tags

SDHCAL-like DAQ parameters

DIFSERVER
CCCSERVER
FDAQ
WRITER
DBSERVER

Monitoring applications

Each slow control application has 3 mandatory parameters:

Example

{
"HOSTS": {
"lyoilcrpi02": [
{
"ARGS": [],
"ENV": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:/opt/dhcal/lib:$LD_LIBRARY_PATH",
"WEBPORT=42000"
],
"NAME": "CCCSERVER",
"PARAMETER": {
"device": "DCCCCC01"
},
"PROGRAM": "/opt/dhcal/bin/lydaq_daemon_Sdcc"
},
{
"ARGS": [],
"ENV": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:/opt/dhcal/lib:$LD_LIBRARY_PATH",
"WEBPORT=41000"
],
"NAME": "GPIO",
"PARAMETER": {
"device": "1"
},
"PROGRAM": "/opt/dhcal/bin/lydaq_daemon_GPIO"
},
{
"ARGS": [],
"ENV": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:/opt/dhcal/lib:$LD_LIBRARY_PATH",
"WEBPORT=40000",
"INSTANCE=12"
],
"NAME": "DIFSERVER",
"PARAMETER": {
"builderAddress": "tcp://lyosdhcal9:5556",
"dbcache": "tcp://lyosdhcal9:5555",
"detectorId": 100
},
"PROGRAM": "/opt/dhcal/bin/lydaq_daemon_Dif"
}
],
"lyoilcrpi13": [
{
"ARGS": [],
"ENV": [
"LD_LIBRARY_PATH=/opt/dhcal/root/lib:/usr/lib:/usr/local/lib:/opt/dhcal/lib:$LD_LIBRARY_PATH",
"WEBPORT=31000"
],
"NAME": "HIH",
"PARAMETER": {
"TCPPort": 5600,
"location": "DOME_STACK",
"period": 30
},
"PROGRAM": "/opt/dhcal/bin/lydaq_daemon_hih8000"
}
],
"lyoilcrpi24": [
{
"ARGS": [],
"ENV": [
"LD_LIBRARY_PATH=/opt/dhcal/root/lib:/usr/lib:/usr/local/lib:/opt/dhcal/lib:$LD_LIBRARY_PATH",
"WEBPORT=31000"
],
"NAME": "BMP",
"PARAMETER": {
"TCPPort": 5600,
"location": "DOME_STACK",
"period": 30
},
"PROGRAM": "/opt/dhcal/bin/lydaq_daemon_Bmp"
},
{
"ARGS": [],
"ENV": [
"LD_LIBRARY_PATH=/opt/dhcal/root/lib:/usr/lib:/usr/local/lib:/opt/dhcal/lib:$LD_LIBRARY_PATH",
"WEBPORT=32000"
],
"NAME": "ZUP",
"PARAMETER": {
"TCPPort": 5610,
"device": "/dev/ttyUSB0",
"location": "DOME_STACK",
"period": 30,
"port": 1
},
"PROGRAM": "/opt/dhcal/bin/lydaq_daemon_Zup"
}
],
"lyosdhcal9": [
{
"ARGS": [],
"ENV": [
"LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:/opt/dhcal/lib:$LD_LIBRARY_PATH",
"WEBPORT=45000"
],
"NAME": "FDAQ",
"PARAMETER": {
"s_ctrlreg": "0x815A1B40"
},
"PROGRAM": "/opt/dhcal/bin/lydaq_daemon_Control"
},
{
"ARGS": [],
"ENV": [
"LD_LIBRARY_PATH=/opt/dhcal/root/lib:/usr/lib:/usr/local/lib:/opt/dhcal/lib:$LD_LIBRARY_PATH",
"WEBPORT=51000"
],
"NAME": "WRITER",
"PARAMETER": {
"dif": 48,
"directory": "/data/NAS/stageM2",
"processor": [
"binarywriter",
"lydaq_pluggins_monitor",
"lydaq_pluggins_rootwriter",
"lydaq_pluggins_lciowriter"
],
"shmpath": "/dev/shm/monitor",
"stream": [
"tcp://*:5556"
]
},
"PROGRAM": "/opt/dhcal/bin/lydaq_daemon_Builder"
},
{
"ARGS": [],
"ENV": [
"LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:/opt/dhcal/lib:$LD_LIBRARY_PATH",
"CONFDB=ILC/fFQeV52rQy@(DESCRIPTION_LIST=(LOAD_BALANCE=off)(FAILOVER=on)(DESCRIPTION=(CONNECT_TIMEOUT=5)(TRANSPORT_CONNECT_TIMEOUT=3)(RETRY_COUNT=3)(ADDRESS_LIST=(LOAD_BALANCE=on)(ADDRESS=(PROTOCOL=TCP)(HOST=ccscanovo.in2p3.fr)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=calice.in2p3.fr)))(DESCRIPTION=(CONNECT_TIMEOUT=5)(TRANSPORT_CONNECT_TIMEOUT=3)(RETRY_COUNT=3)(ADDRESS_LIST=(LOAD_BALANCE=on)(ADDRESS=(PROTOCOL=TCP)(HOST=ccscanodgvo.in2p3.fr)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=calice.in2p3.fr))))",
"CONFDB_WEB=cmsLyon/RPC_2008@ilcconfdb.ipnl.in2p3.fr",
"WEBPORT=44000"
],
"NAME": "DBSERVER",
"PARAMETER": {
"mode": "DB",
"path": "/dev/shm/",
"publish": "tcp://*:5555",
"state": "TestChamberLPC"
},
"PROGRAM": "/opt/dhcal/bin/lydaq_daemon_ConfigurationDB"
},
{
"ARGS": [],
"ENV": [
"LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:/opt/dhcal/lib:$LD_LIBRARY_PATH",
"WEBPORT=36000"
],
"NAME": "FSLOW",
"PARAMETER": {
"account": "admin/admin@lyoac28",
"deviceName": "SY1527@DOMESTAGEM2",
"first": 0,
"last": 5,
"serverName": "tcp://*:5500"
},
"PROGRAM": "/opt/dhcal/bin/lydaq_daemon_Slow_Control"
},
{
"ARGS": [],
"ENV": [
"LD_LIBRARY_PATH=/opt/dhcal/root/lib:/usr/lib:/usr/local/lib:/opt/dhcal/lib:$LD_LIBRARY_PATH",
"WEBPORT=31000"
],
"NAME": "ISEG",
"PARAMETER": {
"TCPPort": 5600,
"address": "lyoilchv01.ipnl",
"first": 0,
"last": 55,
"location": "DOME_STACK",
"period": 120
},
"PROGRAM": "/opt/dhcal/bin/lydaq_daemon_Wiener"
}
]
},
"NAME": "chamber_stack_lpc_2"
}

Managment of JSON file

In order to store data in the Oracle DB you need a login and password. Please contact Guillaume to get one if you don't know it.

Storage of a file

Access the DAQ control page.

Go to Manage Configuration page,end of page and create New configuration

Choose your file and create. Then you must click once on your configuration to have it surrounded by a red line, i.e, it is available

List files and access it

With the same account goto ilcconfdb , you will have a list of all registered configuration

To access one go to one example where the last name is the name of the config.

LYDAQ Usage

DAQ control interface

The DAQ control interface is accessible from anywhere but the browser should be able to send http commands to the DAQ computers. It should be either in the same network or accessible via SOCKS proxy using a dynamic ssh tunnel.

Once logged in, you can choose the configuration used and control the DAQ whatever the current status is.

The list of command and the sequence of acquisition is the same as the one described in the command line interface bellow (one name differs PREPARE instead of daq-service).

Command line interface

The .daqrc file

This file defines 2 aliases and for each of them the login to be used and the configuration file. It then launch the fdaq script

alias slccontrol="export DAQLOGIN=cmsLyon:RPCxxxxx;export DAQURL=https://ilcconfdb.ipnl.in2p3.fr/config-content/stageM2_daq_2;/opt/lydaq/apps/bin/fdaq.py"

alias daqcontrol="export DAQLOGIN=cmsLyon:RPCxxxxx;export DAQURL=https://ilcconfdb.ipnl.in2p3.fr/config-content/Testchamber2_23022019;/opt/lydaq/apps/bin/fdaq.py"

this file should be sourced in the .bashrc

Job control

Data acquisition

Status

Normal sequence from scratch:

  1. daqcontrol –jc-create
  2. daqcontrol –jc-start
  3. daqcontrol –jc-status
  4. daqcontrol –daq-create
  5. daqcontrol –daq-discover
  6. daqcontrol –daq-service
  7. daqcontrol –daq-initialise
  8. daqcontrol –daq-status

At this stage the DIFs should all be initialised

  1. daqcontrol –daq-configure
  2. daqcontrol –daq-status

At this stage all the DIFs should be CONFIGURED all OK

Then one can start and stop runs

  1. daqcontrol –daq-start
  2. daqcontrol –trig-resume
  3. sleep 7200 (wait 2 hrs)
  4. daqcontrol –daq-stop