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.