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:
FuGProbusVFuG 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_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:
objectDevice 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:
SingleCommDeviceFuG 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
- class FuGProbusV(com, dev_config=None)[source]
Bases:
FuGProbusIVFuG Probus V class which uses register based commands to control the power supplies