Python library to work with Elektro-Automatik PS 2000 B power supplies via USB.
Tested with:
- Python 2.7
- Python 3.5, 3.6
Tested on:
- Windows 7 x64
- Windows 10 x64 Version 1607 (OS Build 14393.2035)
- Ubuntu 16.04.1 LTS
- read static device information (manufacturer, serial, device type ...)
- read dynamic device information (current, voltage)
- read/write remote control
- read/write output control
- set voltage and current
- wrap error results in own telegram
The following third-party Python libraries are needed:
pyserial
- serial communication library for Python, see https://pypi.python.org/pypi/pyserial
On Windows the USB driver (fetch it from http://www.elektroautomatik.de/files/eautomatik/treiber/usb/ea_device_driver.rar) must be installed. Afterwards you can find the serial port COMxx
in the device manager.
On Linux the device is detected as /dev/ttyACMx
(abstract control model, see https://www.rfc1149.net/blog/2013/03/05/what-is-the-difference-between-devttyusbx-and-devttyacmx/). Use dmesg
after connecting the device to find out x
.
Most Linuxes will require users to elevate for accessing the device. If you want to access the device as your current user, just add it to the group dialout
(ls -lah /dev/ttyACM0
will show you the group to use, usually this is dialout
) and login again.
import time
from pyps2000b import PS2000B
device = PS2000B.PS2000B("/dev/ttyACM0")
print("Device status: %s" % device.get_device_status_information())
device.enable_remote_control()
device.enable_output()
time.sleep(1)
print("Current output: %0.2f V , %0.2f A" % (device.get_voltage(), device.get_current()))
- product website: http://www.elektroautomatik.de/en/ps2000b.html
- programming guide PS 2000 B: http://www.elektroautomatik.de/files/eautomatik/treiber/ps2000b/programming_ps2000b.zip