Danfysik 8500 Power Supply

class pymeasure.instruments.danfysik.Danfysik8500(adapter, name='Danfysik 8500 Current Supply', **kwargs)

Bases: Instrument

Represents the Danfysik 8500 Electromanget Current Supply and provides a high-level interface for interacting with the instrument

To allow user access to the Prolific Technology PL2303 Serial port adapter in Linux, create the file: /etc/udev/rules.d/50-danfysik.rules, with contents:

SUBSYSTEMS=="usb",ATTRS{idVendor}=="067b",ATTRS{idProduct}=="2303",MODE="0666",SYMLINK+="danfysik"

Then reload the udev rules with:

sudo udevadm control --reload-rules
sudo udevadm trigger

The device will be accessible through the port /dev/danfysik.

add_ramp_step(current)

Adds a current step to the ramp set.

Parameters:

current (float) – A current in Amps

Return type:

None

clear_ramp_set()

Clears the ramp set.

Return type:

None

clear_sequence(stack)

Clears the sequence by the stack number.

Parameters:

stack (int) – A stack number between 0-15

Return type:

None

property current: float

Control the actual current in Amps. This property can be set through current_ppm.

property current_ppm: int

Control the current in parts per million..

property current_setpoint: float

Get the setpoint for the current, which can deviate from the actual current (current) while the supply is in the process of setting the value.

disable()

Disables the flow of current.

Return type:

None

enable()

Enables the flow of current.

Return type:

None

property id: Any

Get the identification information.

is_current_stable()

Returns True if the current is within 0.02 A of the setpoint value.

Return type:

bool

is_enabled()

Returns True if the current supply is enabled.

Return type:

bool

is_ready()

Returns True if the instrument is in the ready state.

Return type:

bool

is_sequence_running(stack)

Returns True if a sequence is running with a given stack number

Parameters:

stack (int) – A stack number between 0-15

Return type:

bool

local()

Sets the instrument in local mode, where the front panel can be used.

Return type:

None

property polarity: Literal[1, -1]

Control the polarity of the current supply, being either -1 or 1. This property can be set by supplying one of these values.

ramp_to_current(current, points, delay_time=1)

Executes set_ramp_to_current() and starts the ramp.

Return type:

None

read(**kwargs)

Read the device and raise exceptions if errors are reported by the instrument.

Returns:

str – String ASCII response of the instrument

Raises:

An Exception if the Danfysik raises an error

remote()

Sets the instrument in remote mode, where the the front panel is disabled.

Return type:

None

reset_interlocks()

Resets the instrument interlocks.

Return type:

None

set_ramp_delay(time)

Sets the ramp delay time in seconds.

Parameters:

time (float) – The time delay time in seconds

Return type:

None

set_ramp_to_current(current, points, delay_time=1)

Sets up a linear ramp from the initial current to a different current, with a number of points, and delay time.

Parameters:
  • current (float) – The final current in Amps

  • points (int) – The number of linear points to traverse

  • delay_time (float) – A delay time in seconds (default: 1)

Return type:

None

set_sequence(stack, currents, times, multiplier=999999)

Sets up an arbitrary ramp profile with a list of currents (Amps) and a list of interval times (seconds) on the specified stack number (0-15)

Return type:

None

property slew_rate: float

Get the slew rate of the current sweep.

start_ramp()

Starts the current ramp.

Return type:

None

start_sequence(stack)

Starts a sequence by the stack number.

Parameters:

stack (int) – A stack number between 0-15

Return type:

None

property status: list[str]

Get a list of human-readable strings that contain the instrument status information, based on status_hex.

property status_hex: int

Get the status in hexadecimal. This value is parsed in status into a human-readable list.

stop_ramp()

Stops the current ramp.

Return type:

None

stop_sequence()

Stops the currently running sequence.

Return type:

None

sync_sequence(stack, delay=0)

Arms the ramp sequence to be triggered by a hardware input to pin P33 1&2 (10 to 24 V) or a TS command. If a delay is provided, the sequence will start after the delay.

Parameters:
  • stack (int) – A stack number between 0-15

  • delay (float) – A delay time in seconds (default: 0)

Return type:

None

wait_for_current(has_aborted=<function Danfysik8500.<lambda>>, delay=0.01)

Block the process until the current has stabilized. A provided function has_aborted can be supplied, which is checked after each delay time (in seconds) in addition to the stability check. This allows an abort feature to be integrated.

Parameters:
  • has_aborted (Callable[[], bool]) – A function that returns True if the process should stop waiting (default: <function Danfysik8500.<lambda> at 0x77444bedaae0>)

  • delay (float) – The delay time in seconds between each check for stability (default: 0.01)

Return type:

None

wait_for_ready(has_aborted=<function Danfysik8500.<lambda>>, delay=0.01)

Block the process until the instrument is ready. A provided function has_aborted can be supplied, which is checked after each delay time (in seconds) in addition to the readiness check. This allows an abort feature to be integrated.

Parameters:
  • has_aborted (Callable[[], bool]) – A function that returns True if the process should stop waiting (default: <function Danfysik8500.<lambda> at 0x77444bedafb0>)

  • delay (float) – The delay time in seconds between each check for readiness (default: 0.01)

Return type:

None