Documentation daq_doc.pdf
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
The code is installed in /opt/lydaq and /opt/zdaq . Binaries and libraries are in /op/dhcal/[bin/lib] .
It works only on debian jessie amd64 architecture:
sudo dpkg -i lydaq_1.0_amd64.deb
The binaries of the software is install in /data/daq
and in /data/root
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.
Each program is defined by a set of tags
Each slow control application has 3 mandatory parameters:
{ "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" }
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.
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
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.
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).
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
Normal sequence from scratch:
At this stage the DIFs should all be initialised
At this stage all the DIFs should be CONFIGURED all OK
Then one can start and stop runs