Skip to main content
InstroELoad provides a unified interface for programmable electronic loads. This class is initialized with a vendor-specific driver (BK85XXB, …), and provides the vendor-agnostic API (set_mode, set_level, get_voltage, …).

Creating an InstroELoad

Supported Vendors

B&K Precision 85xx

B&K Precision 85xx
If your vendor or model is not listed, see Custom Driver Development, or open a Driver Request issue on GitHub.

Example

More examples found in Examples

Details

The following presents details about the InstroELoad. Specific driver details can be found on their pages.

Driver Composition

An InstroELoad is built from a concrete driver:
  • BK85XXB owns the connection setup and vendor-specific command mapping.
  • InstroELoad owns the category-level workflow: measurements, commands, publishers, the background daemon.

Lifecycle

The typical InstroELoad workflow:
  1. Construct: instantiate the vendor driver and pass it to InstroELoad.
  2. open(): establishes the VISA connection.
  3. Configure and measure: set operating mode, level, range, and read measurements.
  4. start(): begins a periodic background daemon. (Optional)
  5. stop(): ends the background daemon (if started).
  6. close(): disconnects from hardware.

Operating Modes

Electronic loads can operate in four modes:
  • CC (Constant Current): the load draws a constant current regardless of voltage
  • CV (Constant Voltage): the load maintains a constant voltage across its terminals
  • CR (Constant Resistance): the load simulates a constant resistance
  • CP (Constant Power): the load draws constant power
Mode Configuration RequiredThe operating mode must be set using set_mode() before you can configure the level or range. Not all electronic loads support all four modes. Consult your instrument’s manual.set_range() applies to CC and CV modes only; CP and CR are auto-ranged from the level value (on the BK85XXB driver, calling set_range() in CP or CR mode raises NotImplementedError).

Init from a Config File

InstroELoad can also be constructed directly from a JSON config file, which removes the need to write any Python setup code:
Where bench_eload.json contains:
See Config Files for the full field reference.

Custom Driver Development

For more information on writing a custom driver, see Custom Driver Development.