// the find
TcOpenGroup/TcOpen
Application framework for industrial automation built on top of TwinCAT3 and .NET.
TcOpen is an application framework for Beckhoff TwinCAT 3 that brings OOP patterns and IT integration to PLC programming. It provides sequencing, messaging, CRUD-from-PLC, and component abstractions on top of IEC 61131-3 structured text. The target audience is automation engineers who want to stop writing the same state machine boilerplate for every machine and start treating PLC code more like real software.
The sequencer pattern (TcoSequencer) is the right abstraction for step-based machine logic — it replaces the ad-hoc CASE statement soup that haunts most TwinCAT projects. The data framework letting a PLC do MongoDB/JSON CRUD directly is genuinely useful for traceability and recipe management without writing a separate middleware layer. Having both WPF and Blazor HMI examples (TcOpen.Hammer) means you can see the full vertical slice in a real application, not just library docs. The Serilog MQTT sink for PLC events is a practical bridge to modern observability tooling that most industrial projects never get.
The build setup is a significant barrier: it requires VS 2019 specifically, TwinCAT XAE, .NET Framework 4.8, a custom PowerShell build script, and a hardware AMS ID to even compile — there is no way to evaluate this without a Beckhoff license and physical (or virtual) target. Last push was February 2025 and activity looks sparse; for a framework you're betting a machine program on, that's a real concern. The data framework requires Inxton/Vortex, a separate commercial-adjacent dependency with its own license terms, which isn't obvious from the top-level README. Documentation is auto-generated from twin objects via docfx and the README admits it needs improvement — the gap between 'framework exists' and 'I understand how to structure my application with it' is wide.