Show HN: Pyhoff – Connect Python ML Models to Beckhoff/WAGO IO Hardware

github.com

7 points by Saloc 3 days ago

Built this Python package because I wanted to run hardware controlling ML stuff and other control algorithms directly connected to industrial I/O hardware without jumping into annoying PLC toolchains (Windows only, licensing hassle, no editor choice, proprietary version control - you name it). For sure its not for ms‑cycle loops, or uptime critical production stuff, but in applications with relaxed timing it allows for fast iteration on the setup - making prototyping a pleasure. Its easy to use, has no dependencies beside Python, its fully type annotated and MIT licensed. Internal it uses ModBus/TCP for hardware communication, the implementation is exposed, so it co-serves as ModBus/TCP client library.

I'd love to hear your use cases, feature ideas and PLC toolchain stories ;)

Docs: https://nonannet.github.io/pyhoff

eternityforest 3 days ago

Wow, I'd love to add this to my control app for escape rooms, if those Wago controllers were a bit more affordable!

  • Saloc 2 days ago

    For non-professional application it’s not the cheapest option, however on the used marked I payed 82 € for my last ethernet bus cupper plus 3 digital IO terminals. Often used Beckhoff variants of the functional identical terminal are a little bit cheaper than WAGO – might have to do with the different market segment they targeting. In a professional setting the hardware costs compensate often easily for saved working hours in debugging flimsy screw terminal connections and dubious firmware flaws. Also, the cheap options often need more than 5 times the control cabinet real estate per IO, witch alone can compensate for the higher price.