hvl_ccb.dev.fug.fug

Inheritance diagram of hvl_ccb.dev.fug.fug

Device classes for “Probus V - ADDAT30” Interfaces which are used to control power supplies from FuG Elektronik GmbH

This interface is used for many FuG power units. Manufacturer homepage: https://www.fug-elektronik.de

The Professional Series of Power Supplies from FuG is a series of low, medium and high voltage direct current power supplies as well as capacitor chargers. The class FuG is tested with a HCK 800-20 000 in Standard Mode. The addressable mode is not implemented. Check the code carefully before using it with other devices. Manufacturer homepage: https://www.fug-elektronik.de/netzgeraete/professional-series/

The documentation of the interface from the manufacturer can be found here: https://www.fug-elektronik.de/wp-content/uploads/download/de/SOFTWARE/Probus_V.zip

The provided classes support the basic and some advanced commands. The commands for calibrating the power supplies are not implemented, as they are only for very special porpoises and should not used by “normal” customers.

class FuG(com, dev_config=None)[source]

Bases: FuGProbusV

FuG power supply device class.

The power supply is controlled over a FuG ADDA Interface with the PROBUS V protocol

property config_status: FuGProbusVConfigRegisters

Returns the registers for the registers with the configuration and status values

Returns:

FuGProbusVConfigRegisters

property current: int | float

Return the measured output current in A

property current_monitor: FuGProbusVMonitorRegisters

Returns the registers for the current monitor.

A typically usage will be “self.current_monitor.value” to measure the output current

Returns:

property current_register: FuGProbusVSetRegisters

Returns the registers for the current output

property di: FuGProbusVDIRegisters

Returns the registers for the digital inputs

Returns:

FuGProbusVDIRegisters

identify_device() None[source]

Identify the device nominal voltage and current based on its model number.

Raises:

SerialCommunicationIOError – when communication port is not opened

property max_current: int | float

Returns the maximal current which could provided within the test setup

Returns:

max current in A

property max_current_hardware: int | float

Returns the maximal current which could provided with the power supply

Returns:

property max_voltage: int | float

Returns the maximal voltage which could provided within the test setup

Returns:

max voltage in V

property max_voltage_hardware: int | float

Returns the maximal voltage which could provided with the power supply

Returns:

property out_x0: FuGProbusVDORegisters

Returns the registers for the digital output X0

Returns:

FuGProbusVDORegisters

property out_x1: FuGProbusVDORegisters

Returns the registers for the digital output X1

Returns:

FuGProbusVDORegisters

property out_x2: FuGProbusVDORegisters

Returns the registers for the digital output X2

Returns:

FuGProbusVDORegisters

property out_xcmd: FuGProbusVDORegisters

Returns the registers for the digital outputX-CMD

Returns:

FuGProbusVDORegisters

property output: bool | None

State of the high voltage output

property output_register: FuGProbusVDORegisters

Returns the registers for the output switch to turn the output on or off

Returns:

FuGProbusVDORegisters

property set_current: int | float

Return the set current (may differ from actual value) in A

property set_voltage: int | float

Return the set voltage (may differ from actual voltage) in V

start(max_voltage=0, max_current=0) None[source]

Opens the communication protocol and configures the device.

Parameters:
  • max_voltage – Configure here the maximal permissible voltage which is allowed in the given experimental setup

  • max_current – Configure here the maximal permissible current which is allowed in the given experimental setup

property voltage: int | float

Return the measured output voltage in V

property voltage_monitor: FuGProbusVMonitorRegisters

Returns the registers for the voltage monitor.

A typically usage will be “self.voltage_monitor.value” to measure the output voltage

Returns:

property voltage_register: FuGProbusVSetRegisters

Returns the registers for the voltage output

class FuGConfig[source]

Bases: object

Device configuration dataclass for FuG power supplies.

clean_values()

Cleans and enforces configuration values. Does nothing by default, but may be overridden to add custom configuration value checks.

force_value(fieldname, value)

Forces a value to a dataclass field despite the class being frozen.

NOTE: you can define post_force_value method with same signature as this method to do extra processing after value has been forced on fieldname.

Parameters:
  • fieldname – name of the field

  • value – value to assign

is_configdataclass = True
classmethod keys() Sequence[str]

Returns a list of all configdataclass fields key-names.

Returns:

a list of strings containing all keys.

classmethod optional_defaults() dict[str, object]

Returns a list of all configdataclass fields, that have a default value assigned and may be optionally specified on instantiation.

Returns:

a list of strings containing all optional keys.

classmethod required_keys() Sequence[str]

Returns a list of all configdataclass fields, that have no default value assigned and need to be specified on instantiation.

Returns:

a list of strings containing all required keys.

class FuGProbusIV(com, dev_config=None)[source]

Bases: SingleCommDevice

FuG Probus IV device class

Sends basic SCPI commands and reads the answer. Only the special commands and PROBUS IV instruction set is implemented.

command(command: FuGProbusIVCommands, value=None) str[source]
Parameters:
  • command – one of the commands given within FuGProbusIVCommands

  • value – an optional value, depending on the command

Returns:

a String if a query was performed

static config_cls()[source]

Return the default configdataclass class.

Returns:

a reference to the default configdataclass class

static default_com_cls()[source]

Get the class for the default communication protocol used with this device.

Returns:

the type of the standard communication protocol for this device

output_off() None[source]

Switch DC voltage output off.

reset() None[source]

Reset of the interface: All setvalues are set to zero

start() None[source]

Open the associated communication protocol.

stop() None[source]

Close the associated communication protocol.

class FuGProbusV(com, dev_config=None)[source]

Bases: FuGProbusIV

FuG Probus V class which uses register based commands to control the power supplies

get_register(register: str) str[source]

get the value from a register

Parameters:

register – the register from which the value is requested

Returns:

the value of the register as a String

set_register(register: str, value: int | float | str) None[source]

generic method to set value to register

Parameters:
  • register – the name of the register to set the value

  • value – which should be written to the register