Scripts Module provides the automation intelligence layer for FrameworX solutions, enabling custom business logic, data processing, and system integration through modern programming languages.
In this page:
Key Concepts
- ScriptTask: Script unit triggered by events or timers for automated execution
- ScriptClass: Reusable C#/VB.NET/Python class library used by scripts and displays
- ScriptExpression: Single-line expression for lightweight event-driven actions
- ScriptReference: External .NET assemblies referenced by scripts and displays
What It Does
The Scripts Module enables server-client programming and parallel execution through:
- Event-Driven Automation - Execute code in response to tag changes, alarms, or system events
- Time-Based Processing - Run tasks on schedules, intervals, or specific times
- Reusable Libraries - Create method collections for consistent calculations across the solution
- Expression Evaluation - Perform simple calculations and updates without full task overhead
- External Integration - Import third-party .NET assemblies and Python packages
- Multi-Threaded Execution - Run tasks in parallel for maximum performance
Supported Languages
Language | Best For | Performance | Key Features |
---|---|---|---|
C# | Complex logic, performance-critical operations | Excellent | Full .NET access, strongly typed, IntelliSense |
VB.NET | Legacy systems, simple automation | Excellent | Familiar syntax, .NET access |
Python | Data analysis, ML integration | Good | Extensive libraries, NumPy/Pandas support |
Quick Selection Guide:
- Maximum performance and reliability → C#
- Legacy VB code migration → VB.NET
- Data science or ML requirements → Python
- Simple expressions → Any language (all are supported in expressions)
Configuration Workflow
Step | Action | Description |
---|---|---|
Create ScriptClasses | Build function libraries | Define reusable methods for your solution |
Create ScriptTasks | Implement business logic | Add data processing and automation code |
Create ScriptExpressions | Add simple actions | Single-line responses to events |
Add ScriptReferences | Include external libraries | Import DLLs for extended functionality |
Runtime Behavior
Scripts can execute in both server and client contexts based on configuration needs. The platform manages dedicated processes with multi-threading for tasks and expressions, running them in isolated application domains for security and reliability. Built-in diagnostics track execution time, CPU usage, and error states, enabling performance optimization and troubleshooting.
Feature Highlights
- Multi-Language Support - Mix C#, VB.NET, and Python in a single solution
- Integrated Code Editor - IntelliSense, debugging, breakpoints, and step-through execution
- Server and Client Domains - Scripts execute globally (server) or locally (client)
- Flexible Triggers - Date, time, condition, tag change, or interval-based execution
- Native Object Access - Direct IntelliSense access to tags, datasets, alarms as .NET objects
- Python Integration - Configure any Python interpreter version per project
- Code Translation - Convert between C# and VB.NET automatically
- Exception Protection - Automatic error handling prevents script failures from affecting system
- Multi-Threaded Processing - Parallel task execution with thread pool management
In this section...
Overview
Content Tools
Tasks