Skip to main content

A package for commuincation with various Agilent Vacuum pump controllers and sensors.

Project description

Agilent-Vacuum

A collection of classes for communication with various Agilent Vacuum pump controllers.

This package supports:

This is was developed for internal use at Luxbright. It has been used 24/7 in production lines and R&D labs since year 2023. But we only use a subset of all implemented commands and not all commands are tested by the pytest suite.

I hope that it can be useful as it is, or as source of inspiration for somebudy else. This is not an official library from Agilent and we are not associated with the, we are only a user of their products.

This library is implemented using asyncio.

Turbo pump driver usage

from agilent_vacuum.twis_torr_74 import TwisTorr74Driver
from agilent_vacuum.communication import PressureUnit, SerialClient
from agilent_vacuum.exceptions import ComError, WinDisabled

Create a serial client, this exaple connects to a USB to RS232 adapter on a Raspberry Pi. Initiate a driver and try to connect to controller.

client = SerialClient("/dev/ttyS0")
turbo = TwisTorr74Driver(client)
try:
    await turbo.connect()
except ComError as e:
    logger.warning(f"Turbo pump connect failed. {e}")
except EOFError as e:
    logger.warning(f"Turbo pump connect failed. {e}")

Start turbo pump and read status and speed.

await turbo.start()
status = await turbo.get_status()
speed = await turbo.read_turbo_speed
logger.info(f"Turbo status {status.name} and speed {speed} rpm.")

Read vacuum gauge (requires optional gauge connected to controller)

unit = await turbo.get_pressure_unit()
value = await turbo.read_presure()
logger.info(f"{pressure} {unit.name}")

Stop turbo pump.

await turbo.stop()

Ion pump driver usage

from agilent_vacuum.ipc_mini import IpcMiniDriver, PumpStatus
from agilent_vacuum.communication import PressureUnit, SerialClient
from agilent_vacuum.exceptions import ComError, WinDisabled

Create a serial client, this exaple connects to the UART on a Raspberry Pi via an RS323 circuit. Initiate a driver and try to connect to controller.

client = SerialClient("/dev/ttyS0")
ion_pump = IpcMiniDriver(client)
try:
    await ion_pump.connect()
except ComError as e:
    logger.warning(f"Turbo pump connect failed. {e}")
except EOFError as e:
    logger.warning(f"Turbo pump connect failed. {e}")

Start the Ion Pump and read status

await ion_pump.start()
status = await ion_pump.get_status()
logger.info(f"Ion pump status {status.name}")

Read vacuum level

unit = await ion_pump.get_pressure_unit()
value = await ion_pump.read_presure()
logger.info(f"{pressure} {unit.name}")

Stop Ion Pump

await ion_pump.stop()

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

agilent_vacuum-0.1.1.tar.gz (20.2 kB view details)

Uploaded Source

Built Distribution

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

agilent_vacuum-0.1.1-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

Details for the file agilent_vacuum-0.1.1.tar.gz.

File metadata

  • Download URL: agilent_vacuum-0.1.1.tar.gz
  • Upload date:
  • Size: 20.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for agilent_vacuum-0.1.1.tar.gz
Algorithm Hash digest
SHA256 a8ea930d597dd0b3517f6059e792991b06be32ff6909904d8676ba3272ca12c3
MD5 6d6dd7b78def00a459b92f5d18585170
BLAKE2b-256 1d085780ed967494f7aae190e7a84dc6234e2ca1ae2b9a010918bb9a5126525e

See more details on using hashes here.

File details

Details for the file agilent_vacuum-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: agilent_vacuum-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 17.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for agilent_vacuum-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 175ac4e6293ef44dd6cb3822f9ee1aae538fed23bc053a83569238f9190cda5a
MD5 2b626f2969882ea8c17add0d92f36d67
BLAKE2b-256 20174ff91ff81556ebfeb3d4101ea7bfcf87b27319a74189e7e0b397ae18d7d8

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