Receiver Lab Instruments
Control various instruments in the Receiver Lab over LAN.
Installation
To install via pip:
# From the GitHub repo (latest version)
python3 -m pip install git+https://github.com/Smithsonian/RxLab-Instruments.git
# From PyPI (latest stable release)
python3 -m pip install RxLab-Instruments
To use Keithley instruments, you need to install the vxi11 package:
python3 -m pip install git+https://github.com/python-ivi/python-vxi11.git
To use Rohde & Schwarz instruments, you need to install the pyvisa package:
python3 -m pip install -U pyvisa
Note: I have not added these packages to the requirements in setup.py because this allows you to decide which packages you want/need to install. For example, if you only want to use the Hittite module, you don't need to install vxi11 or pyvisa.
Supported Instruments
- Agilent 34410A/11A/L4411A 6.5 Digit Multimeter
- Agilent E8257D/67D PSG Analog Signal Generator
- Hittite HMC-T2240 Signal Generator
- Keithley 2280 Power Supply
- Keithley 2602 Source Meter
- Micro Lambda Wireless (MLBF series) YIG Tuned Filters
- Micro Lambda Wireless YIG Tuned Synthesizers
- Rohde & Schwarz FSVA40 Spectrum Analyzer
- Siglent SDS-1104X-E Oscilloscope
This package will probably also work with closely related instruments, but I have only tested this package with the instruments listed above.
Example
from labinstruments.agilent import Agilent34411A, AgilentE8257D
from labinstruments.hittite import Hittite
from labinstruments.keithley import Keithley2280
from labinstruments.microlambda import YigFilter
# Agilent multimeter
dmm = Agilent34411A("192.168.0.3")
print("DC voltage: {:.2f} V".format(dmm.measure_dc_voltage('V')))
dmm.close()
# Agilent signal generator
sig = AgilentE8257D("192.168.0.31")
sig.set_frequency(15, "GHz")
sig.set_power(-20, "dBm")
sig.power_on()
sig.close()
# Connect to Hittite signal generator
sg = Hittite('192.168.0.159')
sg.set_power(-40, 'dBm')
sg.set_frequency(5, 'GHz')
sg.power_on()
sg.close()
# Connect to Keithley power supply
ps = Keithley2280('192.168.0.117')
ps.reset()
ps.output_on()
ps.set_voltage_limit(12)
ps.set_voltage(2)
ps.set_current(0.1)
ps.power_on()
ps.close()
# Connect to Micro Lambda YIG filter
yig = YigFilter('192.168.0.3')
yig.set_frequency(5, 'GHz')
yig.close()
References
"System Power Supply Programming Using SCPI Commands" from Keysight
Metadata
Release files for RxLab-Instruments 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| RxLab-Instruments-0.0.3.tar.gz | 12.5 kB | Details |
Release files / RxLab-Instruments-0.0.3.tar.gz
| Download URL | RxLab-Instruments-0.0.3.tar.gz |
|---|---|
| Size | 12.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4264148374ddeaa61a0311c0f7db8994309ed2f865aa1bdec5caf43fcdaceed7
|
|
BLAKE2b-256 checksum How to use checksums |
3d6eea19557f1c4c467f87557ab556930c9cddb961d8e67ce99030e11e9da5e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.1 CPython/3.8.11
|