macOS
brew install libplctaglocal Homebrew formula metadata
brew / rank 8880
Portable and simple API for accessing AB PLC data over Ethernet. Version 2.7.0 via Homebrew; verified from local package data. Also installable with nix: nix profile install nixpkgs#libplctag.
install
brew install libplctaglocal Homebrew formula metadata
nix profile install nixpkgs#libplctagnixpkgs package indexes · pkgs/by-name/li/libplctag/package.nix · source: api.github.com
overview
Portable and simple API for accessing AB PLC data over Ethernet
history
libplctag is an open-source C library for reading and writing programmable-logic-controller tags over EtherNet/IP and Modbus TCP. It targets industrial automation users who need a small portable API instead of a broad OPC stack.
The upstream history page says the project began because the maintainers wanted the practical PLC access they needed without the cost, size, Windows/OLE dependency, and licensing constraints they associated with OPC implementations. They evaluated older PCCC libraries and TuxEIP, found licensing, portability, maintainability, and API-shape problems, then wrote their own library without copying TuxEIP code.
The README states that libplctag has been in production use since early 2012. Over time the project kept a C core, a deliberately small API, and examples/wrappers for higher-level languages.
Upstream describes production use across radio telescopes, manufacturing, fitness equipment, food handling, and other industrial settings. That adoption pattern is narrower than a general developer library but unusually practical: it is used where software talks to physical PLC-controlled systems.
The project also grew a wrapper ecosystem, including .NET, Go, Java, Julia, C++, Python, and Pascal bindings or examples. That made the C library a common native core for language-specific automation clients.
Developers use libplctag to read and write PLC tag values, list tags, handle callbacks, and build small command-line or service tools around Allen-Bradley/Rockwell and Modbus TCP devices.
Package users see helper executables such as `tag_rw2` and examples, but the package's main role is as a native library dependency for industrial-control applications.
libplctag is notable because it packages industrial automation access as a normal open-source C dependency. That is unusual territory for package managers: real machinery, proprietary protocol history, cross-platform binaries, and wrappers all meet in one modest library.
The dual MPL-2.0/LGPL-2.0-or-later licensing also matters for integrators who need something less restrictive than GPL-only PLC code.
security posture
broad file, network, media, or database tool signal.
blue risk · medium confidence · tool
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
modbus_server | executable | indexed executable | Discovered from the local executable index. |
tag_rw2 | executable | indexed executable | Discovered from the local executable index. |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
install metadata
| Package key | brew:libplctag |
|---|---|
| Version | 2.7.0 |
| Package manager | Homebrew |
| Homepage | https://github.com/libplctag/libplctag |
| Repository | https://github.com/libplctag/libplctag |
| Bottle | not recorded |
| Service | none declared |
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
libplctag
nix profile install nixpkgs#libplctagsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.