CaenHV Satellite#

Name

CaenHV

Description

Satellite controlling a CAEN high-voltage crate such as the SY5527 and its modules

Category

Power Supplies

Language

Python

Website

constellation/satellites/caenhv

Description#

This Satellite allows to control CAEN high-voltage crates such as the SY5527 with its inserted modules as well as desktop high-voltage supplies such as the NDT1470.

Installation#

The CaenHV satellite requires the pyserial and pycaenhv Python packages, however the latter one is not available on PyPI yet. The packages can be installed via:

pip install pyserial git+https://gitlab.com/hperrey/pycaenhv.git@master

Note that this is a fork of the original pycaenhv package (original package source can be found here) which additional features. Once these have been merged into the upstream sources (see this upstreaming PR), the original package can be used.

Then the satellite can be installed via:

pip install git+https://gitlab.desy.de/constellation/satellites/caenhv@main

Parameters#

The following parameters need to be specified in the configuration file. System and connection parameters are required.

Parameter

Description

Type

Default Value

system

The type of crate connected, e.g. "SY5527"

String

-

link

The type of connection, e.g. "TCPIP" or "USB"

String

-

link_argument

Additional information for the connection, e.g. the IP address "192.168.8.2"

String

-

user

The user name to connect with

String

-

password

The password to connect with

String

-

metrics_poll_interval

How often the metrics are polled, in seconds

-

-

board[BNUM]_ch[CHNUM]_[PARNAME]

Parameters for individual channels where [BNUM]is the board number, [CHNUM] the channel number and [PARNAME]the parameter to be configured.

-

-

The available parameter names for board[BNUM]_ch[CHNUM]_[PARNAME] depend on the model of the board in use. For the A7435SN, this would be V0Set, I0Set, V1Set, I1Set, RUp, RDWn, Trip, SVMax, VMon, IMon, Status, Pw, POn, TripInt, TripExt, ZCDetect, and ZCAdjust

Usage#

A minimal configuration would be:

[satellites.CaenHV.sy5527]
# Device-specific system settings for the SY5527-controlling Satellite
system = "SY5527"
link = "TCPIP"
link_argument = "192.168.8.2"
username = "myuser"
password = "mypassword!"
metrics_poll_interval = 30

board1_ch1_V0Set = 1
board1_ch1_pw = "on"

Framework Parameters#

This satellite inherits the following framework parameters from its base classes:

Parameters inherited from Satellite#

Autonomous Operation#

Parameters to control autonomy in the _autonomy section:

Parameter

Type

Description

Default Value

role

Role name

Role this satellite should take in the Constellation. Accepted values are ESSENTIAL, DYNAMIC, TRANSIENT and NONE.

DYNAMIC

max_heartbeat_interval

Unsigned integer

Maximum interval in seconds between heartbeats to be sent to other Constellation components. The time between heartbeat is adjusted automatically according to the number of nodes in the Constellation but will never exceed this value.

30

Conditional Transitions#

Parameters to control conditional transitions in the _conditions section:

Parameter

Type

Description

Default Value

require_initializing_after

List of strings

List of canonical names of remote satellites for conditional transitioning in initializing state

-

require_launching_after

List of strings

List of canonical names of remote satellites for conditional transitioning in launching state

-

require_landing_after

List of strings

List of canonical names of remote satellites for conditional transitioning in landing state

-

require_starting_after

List of strings

List of canonical names of remote satellites for conditional transitioning in starting state

-

require_stopping_after

List of strings

List of canonical names of remote satellites for conditional transitioning in stopping state

-

transition_timeout

Unsigned integer

Timeout in seconds to wait for all conditions to be satisfied for conditional transitioning

30

Framework Metrics#

This satellite inherits the following framework metrics from its base classes:

Metrics inherited from Satellite#

None