LEGACY & BROWNFIELD · PROTOCOL COVERAGE
13 protocols·Serial to OPC UA·Read-only·No new hardware
You do not need to replace a 1995 Modbus PLC to put an AI agent on it. The same kernel that reads a 2025 OPC UA server reads the serial link on the machine next to it.
Read-only. Forge reads through standard industrial protocols. Nothing is written back. Your equipment is never at risk.
Around 70% of installed manufacturing equipment is 20+ years old. It is depreciated, it is running, and it is making money. The standard vendor answer: new controllers, new gateways, a capital project and an 18-month schedule: is why most brownfield AI programmes die in the budget meeting rather than the technical review.
But the equipment is not silent. A 1995 machine with a Modbus RTU serial link is already emitting everything an agent needs. Nobody translated it, because translating it was worth less than the integration cost. That calculation changes when the translation is a single API call.
Serial is not a second-class citizen here, but be clear about where the wire ends. Forge does not open a serial port. The kernel ships a Modbus TCP client; there is no RTU client, so an RS-232 / RS-485 bus is reached through a Modbus TCP gateway sitting on it: a commodity DIN-rail device, not a controller swap, and nothing about the machine changes.
What makes that a footnote rather than a caveat is that RTU and TCP share one data model: same holding registers, same function codes, and a register map written for RTU is valid over TCP unmodified. So the gateway is pure framing, and a 1995 PLC behind one produces the same canonical fields in the same response as a 2025 controller on OPC UA. The agent cannot tell which machine was older, and it should not have to. Why the two are the same protocol →
Point Forge at the existing serial link, PLC register map, MTConnect agent or historian CSV export. No controller firmware changes, no new PLC logic, no downtime window.
Raw registers and coil addresses become named canonical fields. 40001 stops being a number and starts being spindle_speed_rpm.
Four read-time validators catch stuck sensors, dropouts, impossible rates of change and broken correlations. Legacy equipment produces more of all three, which is exactly why this layer exists.
REST or MCP. The same 32-tool surface serves the 1995 machine and the 2025 one.
| Raw source in | Canonical field out | Notes | |
|---|---|---|---|
| modbus tcp 40001: 3400 | → | spindle_speed_rpm: 3400 | holding register, read from an RS-485 gateway |
| modbus tcp 40012: 785 | → | spindle_temperature_c: 78.5 | same gateway, scale factor resolved at map time |
| opc ua ns=2;s=Spindle.Speed | → | spindle_speed_rpm: 3400 | modern controller node |
| j1939 SPN 190: 1850 | → | engine_speed_rpm: 1850 | CAN bus, heavy vehicle |
The scale factor case is the one that quietly ruins retrofit projects. A register holding 785 for 78.5°C is correct in the PLC and catastrophic in an agent that reads it as 785°C. Unit and scale resolution is part of the mapping, not an exercise left to the reader.
Longer-form writing on industrial AI infrastructure by Foundry Labs.