Skip to main content

Command-line client tools for EPICS-CA data processing

Project description

IOC for the Pfefiffer TPG-366 Pressure Gauge

This in an unofficial, as-simple-as-it-gets IOC for the Pfeiffer TPG-366 pressure gauge.

It does nothing else except reading out temperatrue and status data, publishing them via PV suffixes .VALUE and .STATUS for each gauge. The exact format of the PVs is {prefix}G{cnt}:STATUS, respectively {prefix}G{gauge}:VALUE with {prefix} as the EPICS prefix (e.g. "DOODLE:") and {cnt} as the gauge counter, starting at 1. For instance:

  • DOODLE:G1:VALUE
  • DOODLE:G1:STATUS
  • DOODLE:G2:VALUE
  • DOODLE:G2:STATUS ...

Obtaining & Running

Via Pip:

$ pip install tpg366-ioc
$ export PFEIFFER_EPICS_PREFIX=DOODLE:
$ export PFEIFFER_VISA_DEVICE=TCPIP::192.168.1.17::8000::SOCKET
$ tpg-366-ioc

Or via Podman:

$ podman run -ti --rm \
     -e PFEIFFER_EPICS_PREFIX=DOODLE: \
     -e PFEIFFER_VISA_DEVICE=TCPIP::192.168.1.17::8000::SOCKET
     registry.gitlab.com/kmc3-xpp/tpg366-ioc:latest

Or directly from source, via git clone:

$ git clone https://gitlab.com/kmc3-xpp/tpg366-ioc
$ pip install -e tpg366-ioc[all]
$ export PFEIFFER_EPICS_PREFIX=DOODLE:
$ export PFEIFFER_VISA_DEVICE=TCPIP::192.168.1.17::8000::SOCKET
$ tpg-366-ioc

Environment Variables

TPG-IOC is controlled via environment variables:

  • PFEIFFER_EPICS_PREFIX EPICS prefix including the trailing ":"
  • PFEIFFER_VISA_DEVICE VISA device address specification. Note that anything other than TCPIP-schemes may cause problems currently. Typically, the default port for these devices is 8000, so your TCP/IP VISA device would be something like: "TCPIP::<host>::8000::SOCKET".
  • PFEIFFER_VISA_RMAN VISA resource manager, defaults to "@py"
  • PREIFFER_NR_GAUGES number of gauges to query / display, defaults to 6.

Bugs & Caveats

Async operation, which the EPICS PV part depends on, only seems to work fine with TCP/IP VISA devices. This is owing to bugs within the VISA framework. Could be worked around, but it isn't a priority currently (contact us if you have a use case).

The IOC is very, very simple -- just reading pressure values. No configuration, no advaced features.

Normally there would be unit tests and a sim-mode prior to building the image -- this time there aren't. Eventually they'll get retrofitted (there is a test harness in place). But for now, be careful with upgrades.

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

tpg366_ioc-0.1.1.tar.gz (19.0 kB view details)

Uploaded Source

Built Distribution

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

tpg366_ioc-0.1.1-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tpg366_ioc-0.1.1.tar.gz
  • Upload date:
  • Size: 19.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for tpg366_ioc-0.1.1.tar.gz
Algorithm Hash digest
SHA256 8b1dffda2ba7ad19b3ef466ca695675dc2dd1fde141fb6ca173c1059a508049a
MD5 bcfabc28f41c6070037c6f99bf98b9c6
BLAKE2b-256 1008addc6216557441018ed1c1145061a42129f21f813391567081bbf7ef6adb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tpg366_ioc-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 18.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for tpg366_ioc-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 afb73e12be210493ca3085ce3b5b725dd2a1d706d291d8ad906e347ad10fdb27
MD5 66f3826e26368f691ade9683c01016ce
BLAKE2b-256 55111a67d298befbcea68454decc06fdfdab2e0764a520cefa173bb5d457e782

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