Skip to main content

Instrument driver package for Residual Gas Analyzers (RGA) from Stanford Research Systems

Project description

srsinst.rga

srsinst.rga provides Python instrument classes to control and acquire mass spectra from Stanford Research Systems (SRS) Residual Gas Analyzers (RGA). It also provides tasks running in GUI environment based on srsgui.
To operate an SRS RGA with this package safely, you need to be familiar with SRS RGAs. For detailed information, refer to the manual.

screenshot

Installation

You need a working Python version 3.7 or later with pip (Python package installer) installed. If you don't, install Python 3 to your system.

To use its full GUI application, create a virtual environment, if necessary, and rub Python package installer pip with [full] option from the command prompt.

# To create a simple virtual environment (Optional) 
# The activate command may differ depending on your computer operating systems.
# Following is for Windows.

python -m venv venv
venv\scripts\activate

# To install full GUI application

python -m pip install srsinst.rga[full]

To install srsinst.rga as an instrument driver only, install WITHOUT the [full] option. Installation will be faster, because it does NOT install GUI related packages.

python -m pip install srsinst.rga

Run srsinst.rga as GUI application

If the Python Scripts directory is in PATH environment variable, Start the application by typing from the command line:

rga

If not,

python -m srsinst.rga

It will start the GUI application.

Connect to an RGA from the Instruments menu. Select a task from the Task menu. Press the green arrow to run the selected task.

You can write your own task or modify an existing one and run it from the application. Refer to srsgui documentation for details.

Use srsinst.rga as instrument driver

  • Start the Python program, or an editor of your choice to write a Python script.

  • import the RGA100 class from srsinst.rga package.

  • Instantiate RGA100 to connect to an SRS RGA.

      from srsinst.rga import RGA100
    
      # for TCPIP communication
      ip_address = '192.168.1.100'
      user_id = 'admin'
      password = 'admin'
    
      rga1 = RGA100('tcpip', ip_address, user_id, password)
    
      # for serial communication
      # Baud rate for RGA100 is fixed to 28800
      # rga2 = RGA('serial', /dev/ttyUSB0', 28800)  # for Linux serial communication
    
      rga2 = RGA('serial', 'COM3', 28800)  # for Windows serial communication
    
      # or initialize a RGA100 instance without connection, then connect.
      rga3 = RGA100()
      rga3.connect('tcpip', ip_address, user_id, password)
    
  • Control ionizer parameters.

      # Set ionizer values
      rga1.ionizer.electron_energy = 70
      rga1.ionizer.ion_energy = 12
      rga1.ionizer.focus_voltage = 90
    
      # or
      rga1.ionizer.set_parameters(70, 12, 90)
    
    
      # Get the ionizer parameters
      a = rga1.ionizer.electron_energy
      b = rga1.ionizer.ion_energy
      c = rga1.ionizer.focus_voltage
    
      # or
      a, b, c = rga1.ionizer.get_parameters()
    
    
      # Set the filament emsission current.
    
      rga1.ionizer.emission_current = 1.0  # in the unit of mA
      rga1.ionizer.emission_current = 0.0  # It will turn off the filament.
    
      # or
    
      rga1.filament.turn_on()  # Turn on with the default emission cureent of 1 mA.
      rga1.filament.turn_off()
    
    
      # Read back the emission current
      a = rga1.ionizer.emission_current
    
  • Control detector parameters.

      # Set CEM voltage to the calibrated CEM voltage, or 0 to turn off
      rga1.cem.voltage = rga1.cem.stored_voltage
      rga1.cem.voltage = 0
    
      # or simply turn on or off
      rga1.cem.turn_on()
      rga1.cem.turn_off()
    
      # Read back CEM voltage setting
      a = rga1.cem.voltage
    
  • Control scan parameters.

      # Set scan parameters
      rga1.scan.initial_mass = 1
      rga1.scan.final_mass = 50
      rga1.scan.scan_speed = 3
      rga1.scan.resolution = 10  # steps_per_amu
    
      # or
      rga1.scan.set_parameters(1, 50, 3, 10)
    
      # Get scan parameters
      mi, mf, nf, sa = rga1.scan.get_parameters()
    
  • Run an analog scan.

      analog_spectrum  = rga1.scan.get_analog_scan()
      spectrum_in_torr = rga1.scan.get_partial_pressure_corrected_spectrum(analog_spectrum)
    
      # Get the matching mass axis with the spectrum
      analog_mass_axis = rga1.scan.get_mass_axis(True)  # is it for analog scan? Yes.
    
  • Run a histogram scan.

      histogram_spectrum  = rga1.scan.get_histogram_scan()
    
      # Get the matching mass axis with the spectrum
      histogram_mass_axis = rga1.get_mass_axis(False)  # is it for analog scan? No.
    
  • Run a PvsT scan.

      masses_of_choice = [2, 18, 28, 32, 44]
      intensities = rga1.scan.get_multiple_mass_scan(masses_of_choice)
    
  • Measure a single mass ion current of nitrogen at 28 amu

      intensity = rga1.scan.get_single_scan(28)
    
  • Save the spectrum to a file.

      with open('spectrum.dat', 'w') as f:
          for x, y in zip(analog_mass_axis, analog_spectrum):
              f.write('{:.2f} {:.4e}\n'.format(x, y))
    
  • Plot with matplotlib.

      import matplotlib.pyplot as plt
      plt.plot(analog_mass_axis, spectrum_in_torr)
      plt.show()
    

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

srsinst.rga-0.3.1.tar.gz (404.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

srsinst.rga-0.3.1-py3-none-any.whl (54.5 kB view details)

Uploaded Python 3

File details

Details for the file srsinst.rga-0.3.1.tar.gz.

File metadata

  • Download URL: srsinst.rga-0.3.1.tar.gz
  • Upload date:
  • Size: 404.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.3

File hashes

Hashes for srsinst.rga-0.3.1.tar.gz
Algorithm Hash digest
SHA256 51561705d230356698a7718dbd5194496f750acb5f9ca88daa23e7acd35ec506
MD5 13bc18d2311cf4d2050531a65e31e992
BLAKE2b-256 efb6bc3801383b18c3bc249e1afe14a1aa9adb655fff8be23b181b6530b63f87

See more details on using hashes here.

File details

Details for the file srsinst.rga-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: srsinst.rga-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 54.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.3

File hashes

Hashes for srsinst.rga-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 741eaf1d6504ea09998f94bb385f4c3caa3d4daaab78b12d26df8e846ef97aa2
MD5 717d6083336ca79197c77f5b99f81d1e
BLAKE2b-256 1b92ed951a8782058bccce3136e03c261484b7184f398e81fc1e027330007cd2

See more details on using hashes here.

Supported by

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