Monitors

Dirigent offers the possibility to use monitors for different devices that run during a scan. Currently, there are monitors for 3 different types of instruments:

Name

Target instrument

Comments

Leakage Monitor

High-Voltage supply

interlock similar to compliance setting

Supply Monitor

Low-Voltage supply

different interlock for cc/cv modes

Climate Monitor

Climate Chamber

interlock for high temperature/humidity

The word monitor might be misleading for some, as there is no panel that permanently prints out the values. Current, Voltage, Temperature etc. values are taken and stored in a file, that is saved after the scan. During the scan, for each measurement, the software interlock checks the respecitve value and if it is too high, the interlock is triggered.

How to set monitors

In the config file dirigent.toml, there are a few settings, that can be used to enable monitors:

add_*_monitor      = true / false
*_monitor_settings = [name, specific settings]

To add a generic monitor with reasonable values, it is possible to just set add_*_monitor = true with * being the name of the monitor type (leakage, supply, climate). This will create a monitor with default settings. For each monitor, there are settings that can be changed:

Leakage Monitor

name

How the monitor should be called. The logs will be saved under this name,
and the name will be used for the data base broker

allowed current

Basically a software compliance current setting.
If the current crosses this value, the interlock is triggered.

polling interval

Interval in seconds of how often a measurement is to be taken
(has influence on the speed of the interlock)

integration cycles

Setting mostly for Keithley devices.
Defines polling duration for taking 1 single measurement point.

averages

How many measurement points are used to define
one averaged-out measurement

broker

For upload of data to influxDB for graphical online monitoring

Supply Monitor

name

How the monitor should be called. The logs will be saved under this name,
and the name will be used for the data base broker

polling interval

Interval in seconds of how often a measurement is to be taken
(has influence on the speed of the interlock)

enable interlock

If an interlock should be triggered when conditions are met.
This is the only monitor, that has a voluntary interlock.

mode

Power supplies can be run either in constant current (cc)
or constant voltage (cv) mode.
This has influence on how the interlock is defined.
In cc mode, the voltage level is used as trigger and in cv,
the current level is used as trigger.

channel

Defines on which of the output channels the measurements are to be taken.
Only relevant for power supplies with multiple channels

broker

For upload of data to influxDB for graphical online monitoring

Climate Monitor

name

How the monitor should be called. The logs will be saved under this name,
and the name will be used for the data base broker

max temperature

The temperature that triggers the interlock when crossed.
There is only an upper limit defined.

max humidity

The humidity level that triggers the interlock when crossed.

polling interval

Interval in seconds of how often a measurement is to be taken
(has influence on the speed of the interlock)

broker

For upload of data to influxDB for graphical online monitoring

Coldbox Monitor

name

How the monitor should be called. The logs will be saved under this name,
and the name will be used for the data base broker

max temperature

The temperature that triggers the interlock when crossed.
There is only an upper limit defined.

polling interval

Interval in seconds of how often a measurement is to be taken
(has influence on the speed of the interlock)

broker

For upload of data to influxDB for graphical online monitoring

InfluxDB Upload (Only for Expert users)

Icicle provides a possibility to send data through an mqtt client. This can then for instance be sent through telegraf to inflxuDB (the data base and possible connections to a grafana interface have to be set manually). For people interested in this, a docker container with a rudimentary setup is provided with icicle and there is also a short tutorial in the icicle documentation: icicle.docs.cern.ch/graphical_monitoring.html <icicle.docs.cern.ch/graphical_monitoring.html>

If such a graphical setup is present, dirigent can use the mqtt client too to send monitoring data. This way, the instrument status can be monitored in a browser instance during a scan.

To activate this feature, set the broker parameter for the respective monitor to a string value. If the respective entry is an empty string, no upload is being performed:

leakage_monitor_settings = ["LeakageMonitor","1e-4","1","1","10","localhost"] <-- sending data to "localhost"
leakage_monitor_settings = ["LeakageMonitor","1e-4","1","1","10",""] <-- no mqtt client involved

If the infrastructure is available, the icicle mqtt client is used to send the measured data to the data base. Currently, most of the settings for the upload are hard coded:

broker   : can be set by user. Default: 'localhost'
port     : 1883, currently fixed
username : None
password : None

In future, these settings will be adjustable.