Anvil Technology®

Anvil Technology\u00ae: Heart of Every Forge

In every forge, the anvil is the central workpiece — where metal is shaped, hardened and refined. Anvil Technology\u00ae is the intermediate layer between the PLC runtime and the fieldbus bridges. This is where your process data is forged: received, transformed and distributed to the right recipients.

Anvil uses a proprietary zero-copy shared memory transport for inter-process communication. No serialization, no copies, no compromises.


Architecture

┌──────────────┐         ┌────────────┐         ┌──────────────────┐
│              │         │            │         │                  │
│ PLC Program  │◄───────►│  anvild  │◄───────►│  Modbus Bridge   │──► Field Devices
│  (IEC Code)  │  gRPC   │  (Daemon)  │  Anvil  │  EtherCAT Bridge │──► Drives
│              │         │            │ Anvil   │  Profibus Bridge  │──► Sensors
└──────────────┘         └────────────┘         │  OPC-UA Bridge   │──► SCADA
                                                └──────────────────┘

                         ◄── Anvil ──►
                         Zero-Copy IPC
                         Shared Memory

Data exchange between anvild and the protocol bridges runs through Anvil Technology\u00ae — a high-performance IPC channel based on zero-copy shared memory. Each segment gets its own communication channel.


Why Anvil Technology\u00ae?

Microsecond Latency

Conventional IPC mechanisms (pipes, sockets, message queues) copy data between processes. Anvil eliminates every copy. The data resides in shared memory — the receiver reads directly.

MethodTypical LatencyCopies
TCP Socket50–200 us2–4
Unix Socket10–50 us2
Anvil Technology\u00ae< 1 us0

Industrial Grade

  • Deterministic behavior — no dynamic memory allocation in the hot path
  • Lock-free algorithms — no blocking, no deadlocks
  • Publish/subscribe model — loose coupling between producer and consumer
  • Automatic lifecycle management — bridges are monitored and restarted on crash

PUBLISH/SUBSCRIBE in the IEC Program

Anvil Technology\u00ae integrates seamlessly into IEC 61131-3 programming:

VAR_GLOBAL PUBLISH 'Motors'
    K1_Mains    AT %QX0.0 : BOOL;
    K1_Speed    AT %QW10  : INT;
END_VAR

VAR_GLOBAL SUBSCRIBE 'Sensors'
    Temperature AT %IW0   : INT;
    Pressure    AT %IW2   : INT;
END_VAR

The PUBLISH/SUBSCRIBE keywords are a ForgeIEC extension to the IEC 61131-3 standard. The compiler automatically generates the Anvil bindings.


Supported Protocols

Anvil Technology\u00ae connects the PLC program to all industrial fieldbuses:

ProtocolBridgeStatus
Modbus TCPtongs-modbustcpAvailable
Modbus RTUtongs-modbusrtuAvailable
EtherCATtongs-ethercatIn Development
Profibus DPtongs-profibusIn Development
OPC-UAtongs-opcuaPlanned

Each bridge runs as an independent process. anvild starts, monitors and restarts bridges automatically. A bridge crash affects neither the PLC nor other bridges.


Technical Details

  • IPC Framework: Anvil Technology\u00ae (proprietary zero-copy shared memory)
  • Architecture: One publisher/subscriber channel per bus segment
  • Data Format: Raw IEC variables — no serialization, no overhead
  • Platforms: x86_64, ARM64, ARMv7 (Linux)
  • Process Model: One bridge process per active segment

Anvil Technology\u00ae — Where data is forged into control commands.

blacksmith@forgeiec.io