Skip to main content

Control instruments in the Receiver Lab over Ethernet

Project description

Receiver Lab Instruments

Control various instruments in the Receiver Lab over Ethernet

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

Note: I have not added this 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.

Supported Instruments

  • Agilent 34410A/11A/L4411A 6.5 Digit Multimeter
  • Agilent E8257D PSG Analog Signal Generator
  • Hittite HMC-T2240 Signal Generator
  • Keithley 2280 Power Supply
  • Micro Lambda Wireless (MLBF series) YIG Tuned Filter

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.rf_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

"Control a Siglent oscilloscope with Python"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

RxLab-Instruments-0.0.2.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

RxLab_Instruments-0.0.2-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file RxLab-Instruments-0.0.2.tar.gz.

File metadata

  • Download URL: RxLab-Instruments-0.0.2.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.0

File hashes

Hashes for RxLab-Instruments-0.0.2.tar.gz
Algorithm Hash digest
SHA256 4059e74eee6f629833a868754c08c63ec761002e8ce763616a6e732914983e16
MD5 657de5184a04423017c60dbd61e4f440
BLAKE2b-256 b357e4dc50fffa10af90fafd2d1716eae7805dcbd9b4fcc0eccfe74fc1f0300d

See more details on using hashes here.

File details

Details for the file RxLab_Instruments-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: RxLab_Instruments-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.0

File hashes

Hashes for RxLab_Instruments-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ce29aaa03820a3736dc4ef1a4f0cdd56f92e36ca5b5d37ed5a74633df0bbe123
MD5 2b14373480f47e1cf998b58e18ce0831
BLAKE2b-256 a1abb9cfeeca99d032bb56f87841cbb6db59b330420577ac3343b03f0025ce8b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page