Skip to content

sdss/drift

Repository files navigation

SDSS-V Modbus PCL library

Versions Documentation Status Code style: black Test codecov

This library provides an asynchronous interface with modbus devices over a TCP ethernet controller (such as this one) and control of the connected I/O modules. The code is a relatively thin wrapper around Pymodbus with the main feature being that it's possible to define a PLC controller and a complete set of modules as a YAML configuration file which can then be loaded. It also provides convenience methods to read and write to the I/O modules and to convert the read values to physical units.

This code is mostly intended to interface with the SDSS-V FPS electronic boxes but is probably general enough for other uses. It's originally based on Rick Pogge's WAGO code.

Installation

To install, run

pip install sdss-drift

To install from source, git clone or download the code, navigate to the root of the downloaded directory, and do

pip install .

sdss-drift uses Poetry for development. To install it in development mode do

poetry install -E docs

Documentation

Refer to the Read the Docs documentation for more details.