The problem
OPC DA is a COM/DCOM-based protocol from the 1990s still running on a large share of the world’s PLCs, DCSs, and SCADA systems. It only works on Windows, and DCOM configuration across a network is notoriously fragile. Any modern tool that needs plant data has to solve this first.
What we built
We split the problem into two static Rust binaries. A gateway runs on the Windows host beside the OPC DA server and speaks native COM — targeting 32-bit Windows, which most legacy OPC DA servers still require. A client runs anywhere and talks to the gateway over gRPC.
The protocol definitions are published separately, so any language with gRPC tooling can integrate directly instead of shelling out to a binary. The workspace publishes a reusable client library, protocol definitions, a cross-platform CLI, and the Windows gateway as separate crates.
Where it stands
The gateway and client are functional end to end, verified against a live Kepware server for read, write, and browse. Releases publish prebuilt binaries for Linux, macOS, and Windows, alongside crates.io packages and an Arch User Repository package.