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 – A current in Amps

clear_ramp_set()

Clears the ramp set.

clear_sequence(stack)

Clears the sequence by the stack number.

Parameters

stack – A stack number between 0-15

property current

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

property current_ppm

Control the current in parts per million..

property current_setpoint

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.

enable()

Enables the flow of current.

property id

Get the idenfitication information.

is_current_stable()

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

is_enabled()

Returns True if the current supply is enabled.

is_ready()

Returns True if the instrument is in the ready state.

is_sequence_running(stack)

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

Parameters

stack – A stack number between 0-15

local()

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

property polarity

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.

read()

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

Returns

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.

reset_interlocks()

Resets the instrument interlocks.

set_ramp_delay(time)

Sets the ramp delay time in seconds.

Parameters

time – The time delay time in seconds

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 – The final current in Amps

  • points – The number of linear points to traverse

  • delay_time – A delay time in seconds

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)

property slew_rate

Get the slew rate of the current sweep.

start_ramp()

Starts the current ramp.

start_sequence(stack)

Starts a sequence by the stack number.

Parameters

stack – A stack number between 0-15

property status

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

property status_hex

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

stop_ramp()

Stops the current ramp.

stop_sequence()

Stops the currently running sequence.

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 – A stack number between 0-15

  • delay – A delay time in seconds

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

Blocks 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 – A function that returns True if the process should stop waiting

  • delay – The delay time in seconds between each check for stability

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

Blocks 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 – A function that returns True if the process should stop waiting

  • delay – The delay time in seconds between each check for readiness