The pyhoff package allows you to read and write the most common Beckhoff and WAGO bus terminals ("Busklemmen") using the Ethernet bus coupler ("Busskoppler") BK9000, BK9050, BK9100, or WAGO 750_352 over Ethernet TCP/IP based on ModBus TCP.
- Supports a wide range of Beckhoff and WAGO analog and digital bus terminals.
- Very lightweight: no dependencies; compact code base
- Easy to extend
- Using standardized ModBus TCP.
- Provides high-level abstractions for reading and writing data from/to IO-terminals with minimal code
- Industrial test setups.
- Research automation setups.
- Data acquisition and monitoring.
The package has no additional decencies. It can be installed with pip:
It is easy to use as the following example code shows:
Other analog and digital IO terminals are easy to complement. Contributions are welcome! Please open an issue or submit a pull request on GitHub.
To get started with developing the pyhoff package, follow these steps:
-
Clone the Repository First, clone the repository to your local machine using Git:
git clone https://github.com/Nonannet/pyhoff.git cd pyhoff -
Set Up a Virtual Environment It is recommended to use a virtual environment to manage dependencies. You can create one using venv:
python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate` -
Install Dev Dependencies Install pyhoff from source plus the dependencies required for development using pip:
-
Run Tests Ensure that everything is set up correctly by running the tests:
This project is licensed under the MIT License - see the LICENSE file for details.
.png)

