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.2.tar.gz (20.1 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.2-py3-none-any.whl (17.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: agilent_vacuum-0.1.2.tar.gz
  • Upload date:
  • Size: 20.1 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.2.tar.gz
Algorithm Hash digest
SHA256 aa8879c5e6039eb0f7d6fee670183a660cb29038270779cc1742c2834de3836b
MD5 0e369d2b512ae73c92be41ce2b665327
BLAKE2b-256 faf5f9f897b1259a162e7c97b616550d4002584b18f282bf59a6cfabb749cb29

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agilent_vacuum-0.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2ac530cab59c73abd7866e608db8168fe862184c4d6726818aa9cd8630f35075
MD5 83b6798fffebbc3cc8b68689b2b879e1
BLAKE2b-256 e2092fdc90ba693c03e73086405c386ea7ebf0724f09c65fe324852aca1f11a0

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