AC Potentiostat

Biologic

class nupylab.instruments.ac_potentiostat.biologic.Biologic(port: str, model: str, channels: int | Sequence[int], data_label: Sequence[str], name: str = 'Biologic', eclib_path: str | None = None)

Bases: NupylabInstrument

Biologic instrument class. Abstracts driver for NUPyLab procedures.

data_label

labels for DataTuples.

name

name of instrument.

lock

thread lock for preventing simultaneous calls to instrument.

biologic

Biologic driver class.

channels

active measurement channels.

Initialize Biologic data labels, name, and connection parameters.

Parameters:
  • port – string name of port, e.g. USB0 or IP address.

  • model – Biologic model, e.g. SP200 or SP300.

  • channels – Biologic channels to measure, zero-based.

  • data_label – labels for DataTuples. get_data() returns four results for each channel (E_we, frequency, Z_re, and -Z_im), and corresponding labels should match entries in DATA_COLUMNS.

  • name – name of instrument.

  • eclib_path – path to the directory containing the EClib DLL. If None, default is used.

Raises:

ValueError – if data_label does not contain 4 entries per channel.

connect() None

Connect to Biologic.

property eis_condition: bool

Get whether to begin eis measurement.

property finished: bool

Get whether Biologic channels are finished.

get_data() List[DataTuple]

Get OCV or eis data for each channel.

Returns:

DataTuples in the order E_we, frequency, Z_re, and -Z_im for each channel if measuring eis, E_we only if measuring OCV.

set_parameters(record_time: float, maximum_frequency: float, minimum_frequency: float, amplitude: float, points_per_decade: int, technique: str, eis_condition: Callable[[], bool], **kwargs) None

Set measurement parameters and prepare eis technique.

Parameters:
  • record_time – time between recording events.

  • maximum_frequency – maximum eis frequency in Hz.

  • minimum_frequency – minimum eis frequency in Hz.

  • amplitude – eis amplitude in Volt or Amp, depending on whether technique is PEIS or GEIS.

  • points_per_decade – eis frequency points per decade.

  • technique – eis technique to run, must be PEIS, GEIS, SPEIS, or SGEIS. Defaults to PEIS.

  • eis_condition – function indicating whether to begin eis measurement.

  • **kwargs – additional kwargs to pass to technique.

Raises:

KeyError – if technique is not supported.

shutdown() None

Disconnect from Biologic.

start() None

Start OCV measurement on Biologic channel(s).

Raises:

NupylabError – if start method is called before set_parameters.

stop_measurement() None

Stop measurement on all Biologic channels.

Agilent4284A

class nupylab.instruments.ac_potentiostat.agilent4284A.Agilent4284A(port: str, data_label: Sequence[str], name: str = 'Agilent 4284A')

Bases: NupylabInstrument

Agilent 4284A instrument class. Abstracts driver for NUPyLab procedures.

data_label

labels for DataTuples.

name

name of instrument.

lock

thread lock for preventing simultaneous calls to instrument.

agilent

Agilent 4284A driver class.

Initialize Agilent data labels, name, and connection parameters.

Parameters:
  • port – string name of port, e.g. GPIB::1::INSTR.

  • data_label – labels for DataTuples. get_data() returns frequency, Z_re, and -Z_im, and corresponding labels should match entries in DATA_COLUMNS.

  • name – name of instrument.

Raises:

ValueError – if data_label does not contain 3 entries.

connect() None

Connect to Agilent 4284A.

property eis_condition: bool

Get whether to begin eis measurement.

property finished: bool

Get whether eis measurement is finished.

get_data() List[DataTuple] | None

Get eis data.

Returns:

DataTuples in the order of frequency, Z_re, and -Z_im if measuring eis, None otherwise

set_parameters(maximum_frequency: float, minimum_frequency: float, amplitude: float, points_per_decade: int, technique: str, eis_condition: Callable[[], bool]) None

Set eis measurement parameters.

Parameters:
  • maximum_frequency – maximum eis frequency in Hz.

  • minimum_frequency – minimum eis frequency in Hz.

  • amplitude – eis amplitude in Volt or Amp, depending on whether technique is PEIS or GEIS.

  • points_per_decade – eis frequency points per decade.

  • technique – eis technique to run, must be PEIS or GEIS.

  • eis_condition – function indicating whether to begin eis measurement.

Raises:

KeyError – if technique is not supported.

shutdown() None

Disconnect from Agilent 4284A.

start() None

Prepare eis measurement. Verifies eis parameters were set.

Raises:

NupylabError – if start method is called before set_parameters.

stop_measurement() None

Stop eis measurement. Not implemented.