finds.dev← search

// the find

leicht/TuxPLC

★ 83 · C · NOASSERTION · updated Dec 2017

Set of softwares allowing communication with industrial PLC

TuxPLC is a collection of C libraries and daemons for communicating with Allen-Bradley PLCs over Ethernet/IP and Modbus from Linux. It covers the full stack from raw EIP packet construction to a MySQL datalogging daemon and a Java HMI client. The target audience is embedded/industrial Linux developers who need to bridge factory floor PLCs to a database or scripting environment without paying for proprietary SCADA software.

The tuxeip library implements CIP/Ethernet-IP at a reasonably low level — it handles IOI path construction, Connected/Unconnected messaging, and tag read/write, which is non-trivial protocol work. Having both Ethernet/IP and Modbus under one roof means you can log from mixed Allen-Bradley and generic Modbus devices into the same MySQL schema. The tuxtag daemon exposes tag I/O as JSON over a socket, which is a practical interface for gluing PLC data into scripts or web apps. Actual PDF protocol documentation is included in the repo, which is rare for hobby-level industrial tools.

Dead since 2017 — Allen-Bradley firmware has moved on, EIP implementations have edge cases that accumulate, and this has had zero maintenance. The Java Swing HMI client ships compiled .jar and .class files checked into git alongside NetBeans project artifacts, which is a red flag for any serious deployment. There are no tests beyond a handful of manual test*.c files, no CI, and no error-handling strategy beyond scattered return codes — adopting this in production means you own the bugs. libplctag is the actively maintained alternative that covers the same Allen-Bradley ground with a much larger user base and ongoing fixes.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →