REST API for Beckhoff
TwinCAT ADS
Talk to your PLCs over plain HTTP, with authentication built in.
No TwinCAT installation required.
Multi-PLC Support
Connect as many TwinCAT runtimes as you like. Callers use friendly aliases like Line1, so nobody has to memorise an AMS Net ID.
Simulated PLCs
Develop against an in-memory PLC instead of real hardware. With every target simulated there’s no rack and no ADS router to run, and when you’re ready, simulated and real targets happily share one config file.
Authentication & Authorization
Bring your own OIDC provider. Roles and scopes both have to agree before a request gets through, and JWT claims decide which PLCs a caller can see at all.
Real-time Notifications
Watch variables change over SSE or WebSocket. Ask for the same symbol twice and you’ll share one ADS subscription rather than paying for two.
Alarm Monitoring
Read outstanding alarms, subscribe to them, acknowledge them. An alarm sticks around until somebody acknowledges it, even once the fault itself has cleared.
EtherCAT Diagnostics
Inspect master state, slave health, topology and CoE object dictionaries. If something couldn’t be read, you get told so, rather than an empty list you have to guess about.
Guarded by Default
Calling a PLC method means naming that method up front. Letting anything invoke anything seemed unwise. Rate limits are per user, and writes can be pinned to a symbol allowlist when you want them locked down.
Cross-Platform
The ADS router is built in, which is what frees you from Windows. Runs on Linux, macOS and Windows alike.
AI-Agent Ready
An OpenAPI spec written with agents in mind, plus a built-in MCP server so an assistant can ask about your plant in plain English.