Framework on Framework Architecture
FrameworX is literally a framework built on top of .NET. This isn't just using .NET programming languages, it's total integration where platform objects like DateTime tags are actual .NET DateTime objects. This deep integration enables features impossible with traditional SCADA scripting engines.
Different FrameworX components target different .NET flavors so each runs on the right surface: the Designer is a Windows desktop IDE on .NET Framework 4.8, the Runtime is a cross-platform service on modern .NET, and the Kernel and protocol drivers are portable libraries on netstandard 2.0 that load into either host.
Component TFM Summary
Each FrameworX component targets the .NET flavor that best fits its role:
Component | Target Framework | Platforms | Notes |
|---|---|---|---|
Runtime | .NET 10 (10.1.5 and later) | Windows, Linux, Docker | Cross-platform server. Upgrading from 10.1.4 moves the runtime from .NET 8 to .NET 10. |
Designer | .NET Framework 4.8 | Windows only | Engineering IDE. Pre-installed on all supported Windows versions, no extra runtime required. |
Kernel and drivers | netstandard 2.0 | Any .NET host | Portable libraries loaded by both the Designer and the Runtime, so the same compiled assemblies run everywhere FrameworX runs. |
The split is deliberate: the Designer leverages mature Windows desktop tooling on .NET Framework 4.8, while the Runtime gets the performance, footprint, and cross-platform reach of modern .NET. The portable Kernel keeps both sides aligned on a single object model.
Multi-platform Deployment Options
| Framework | Platforms | When to Use |
|---|---|---|
| .NET Framework 4.8 | Windows only | • Pre-installed on all Windows • Legacy library compatibility • No additional installation needed • Required for the Designer |
| Modern .NET (cross-platform) | Windows, Linux | • Better performance and memory usage • Cross-platform deployment • Modern framework features • Version matches the FrameworX release: .NET 8 for 10.1.4 and earlier, .NET 10 for 10.1.5 and later • Required for the Runtime |
| Docker | Any with Docker | • Container orchestration • Microservices architecture • Cloud deployment |
Choose the cross-platform runtime as default unless you need specific .NET 4.8 libraries or zero-installation Windows deployment. 10.1.4 and 10.1.5 can be installed side-by-side on the same machine as isolated runtimes.
100% Managed Code Benefits
Being entirely managed code provides industrial-grade reliability:
- Intrinsically safe software - Cannot cause system crashes or memory corruption
- Automatic memory management - No memory leaks from user code
- Process isolation - Scripts run in separate application domains
- 24/7 operation - Garbage collection without stopping the system
This architecture prevents the cascading failures common with native code in industrial systems.
Dynamic Assembly Generation
The built-in code editor doesn't just compile scripts—it creates new .NET assemblies on the fly:
- Runtime component creation - Generate new functionality without restarting
- AI integration capability - MCP tools can create custom methods dynamically
- Solution-level customization - Extend the platform using only built-in tools
- No external dependencies - Complete compiler toolchain included
This unique capability enables advanced features like AI-generated configurations and runtime optimization that would be impossible with traditional scripting.
Native .NET Objects Throughout
Every project element is a native .NET object accessible via IntelliSense:
- Tags, alarms, and datasets as first-class objects
- No temporary variables or type conversions
- Direct data movement between tags and DataTables
- Full object model exposed to scripts
Execution Model
Server-Client Separation
The platform automatically manages execution distribution:
- Server-side - Global logic, data processing, device communication
- Client-side - UI interactions, local calculations, display logic
Developers create sophisticated applications without managing this complexity—the platform handles it transparently.
Tasks, Classes, and Expressions
- Tasks - Scheduled or event-driven processes
- Classes - Reusable .NET libraries and components
- Expressions - One-line calculations with full .NET access
Process Isolation
Each script runs in its own application domain, isolated from the real-time database for maximum security and preventing any script from affecting system stability.
Development Environment
- Languages - Industry-standard C# and VB.NET
- Code translation - Convert between languages anytime
- Full debugging - Breakpoints, step-through, watch windows
- Online changes - Modify and debug while running
Related Concepts
- Object model leveraging .NET types
- In-memory database using .NET collections
- Cross-language capabilities
- Platform Generations - Evolution of the .NET foundation
In this section...