Key Concepts
- *ScriptTask*: Code that executes in response to events or time-based triggers
- *ScriptClass*: Library of reusable methods for server and client execution
- *ScriptExpression*: Single-line code for simple event responses
- *References*: External DLLs included for script compilation
What It Does
- Executes custom business logic and data processing
- Provides server-side and client-side code execution
- Handles event-driven and time-based automation
- Enables data normalization and enrichment
- Integrates with third-party .NET and Python libraries
- Supports multi-threaded parallel execution
Configuration Workflow
Scripts Module 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 References | Include external libraries | Import DLLs for extended functionality |
Runtime Behavior
Execution Environment
The server creates dedicated processes with multi-threading to execute tasks and expressions based on configured triggers. Each process runs in isolated application domains for security and performance.
Features HighlightsClient-Server Architecture
A service enables client displays and distributed modules to request server-side class execution, providing centralized logic accessible from any client.
Performance Monitoring
Built-in Code EditorOur platform features an integrated script editor designed for developers to craft custom functionality for the application. This editor offers a robust set of tools to aid in testing and evaluating scripts. Debugging capabilities include setting breakpoints, stepping into and over code, executing line by line, and monitoring object values as they change with each step. Our code editor supports multiple languages such as diagnostics track execution time for each task, enabling performance optimization and troubleshooting.
Features Highlights
- *Multi-Language Support* - C#, VB.NET
- ,
- Python 3,
- and JavaScript 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
Server and Client Domains
With our platform’s script editor, you have the flexibility to create scripts that execute either on the server for global accessibility or on the client side for local execution.
Tasks, Classes and Expressions
Module Highlights
Built-in Code Editor: Our code editor supports C#, VB.NET, JavaScript, and Python languages.
Server and Client Domains: Create scripts that execute on the server for global reach or on the client side for local reach.
- , time, condition, calendar, tag change, or interval
- -based execution
- *Native Object Access* - Direct IntelliSense access to
- tags, datasets, alarms
- as
- .
- NET objects
- *Python Configuration* - Configure any Python interpreter version per project
- *Isolated Execution* - Scripts run separate from real-time database for stability
- *Code Translation* - Convert
Configure Your Python Interpreter: The Scripts Module delivers exceptional scripting capabilities across various programming languages with seamless integration of Python. You can configure any version of the Python interpreter for each project.
You have the option to create tasks, .NET classes, and function libraries. Sometimes, it's more efficient or preferable to create one-line expressions instead of full methods. For this purpose, our platform offers an expression editor that grants access to all .NET operands and classes.
C#, VB.NET, Python and Javascript
Our platform supports industry-standard languages like C#, Python, JavaScript, and VB.NET, so engineers no longer have to struggle with old proprietary, single-threaded, or interpreted scripting editors. You can also translate your code- between C# and VB.NET anytime
- *Third-Party Integration* - Import and use external .NET assemblies and Python packages
- *Multi-Threaded Processing* - Parallel task execution for maximum performance
Events and Scheduling
You can trigger tasks and expressions to execute based on various factors like date, time, conditions, calendar events, tag changes, or intervals. The execution is distributed among processes, with each running in its own application domain, isolated from the real-time database. This ensures maximum system security and performance.
Object Orientation, Project Elements
You can access all project elements such as Tags, Datasets, Alarms, and devices instantly through IntelliSense, as they are native .NET objects. There's no need for temporary tags or function calls. With just one command, you can seamlessly transfer data from Tags to .NET objects and external Data-tables.
Configure your Python Interpreter
The Script module seamlessly integrates Python language and applications, providing exceptional scripting capabilities across various programming languages. You also have the flexibility to configure any version of the Python interpreter for each project.
The Scripts Module allows: