HTML |
---|
<style>
.text-span-6 {
background-image: linear-gradient(99deg, rgba(170, 163, 239, .5), rgba(125, 203, 207, .5));
border-radius: 50px;
padding-left: 15px;
padding-right: 15px;
}
#title-text {
display: none;
}
.panelgradient {
background-image: linear-gradient(180deg, #d5def0, whitesmoke);
border-radius: 8px;
flex-direction: column;
justify-content: center;
align-items: center;
padding: 4rem;
display: flex;
position: relative;
}
</style>
<div class ="panelgradient">
<h1 style="text-align: center;">Scripts <br> (Tasks and Classes)</h1>
</div> |
→ Solution / Alarms / Items - tags and conditions to generate alarm. Include AlarmGroup for Ack/Log settings and AlarmArea for hierarchy.
→ Solution / Alarms / Groups - Collection of AlarmItems sharing properties such as AckRequired and LogEvents.
→ Solution / Alarms / Areas - Hierarchical grouping of AlarmGroups for better organization.
→ Solution / Alarms / Audit Trail - Logs events on Operation actions, and on selected system events.
The Scripts Module manages and executes user-defined scripts for automation and process control.
Defines code that executes in reaction to an event (trigger) or periodically at specified intervals.
A library of functions and methods that can be used in Script Tasks, Expressions, or from the Code Behind on graphical Displays.
One line of code in response to an event, when the entire script isn't necessary.
External DLLs included for a script or display code compilation.
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.
Events and Scheduling: Tasks and expressions can be triggered by date, time, condition, calendar, tag change, or interval. Execution is distributed among processes, each running in its own application domain, isolated from the real-time database, ensuring maximum system security and performance.
Object Orientation and Solution Object: All solution objects, including tags, datasets, alarms, devices, and communication statuses, are immediately accessible via IntelliSense as native .NET objects. No temporary tags or function calls are required. With a single command, move data from tags to .NET objects and external data tables.
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.
Scripts Module configuration workflow | ||
---|---|---|
Action | Where | Comments |
Manage ScriptClasses | Scripts / Classes | Create or Import you function Library. Learn more at Scripts Classes. |
Manage ScriptTasks | Scripts / Tasks | Create or Import Tasks. Learn more at Scripts Tasks. |
Manage ScriptExpressions | Scripts / Expressions | For simple event or time driven actions, use Expressions. Learn more at Scripts Expressions. |
Manage Script References | Scripts / References. | If you code required their party libraries, include the references. Learn more at Scripts References. |
The key concept to be aware of regarding the execution of the tasks and expressions defined in the Script Module is that they execute on the server computer.
Only the CodeBehind of the displays is executed on each client computer. The script classes can be consumed by both server and client stations.
Current solutions are prioritizing user interfaces that are portable, meaning the exact same drawing and display configuration can run as a WPF Windows Rich Client or as a web HTML5 page inside a browser. If you intend to run the graphical interface only on WPF Windows and not on web pages, it is possible to enable this in Solution / Settings to allow tasks and expressions to run on the client side.
For complex solutions or very large solutions, it's useful to get a deeper understanding of the Module execution process. Read more at Module Script ExecutionEngine (Reference) if that is your case.
The Namespace Script is the entry point for all objects related to the Scripts module.
The Script.Class
object lists all configured tables and its runtime properties. The Script.Task
object lists all configured database connections and their runtime properties.
Examples:
Script Task Properties | ||
---|---|---|
Property | Type | Description |
| Integer | Number of times the Script Task <Task1> was executed. |
| TimeSpan | The Amount of CPU used the last time the Script Task Task1 was executed. |
→ Read more about Objects and Namespaces.
Anchor | ||||
---|---|---|---|---|
|
The Scripts module may encounter some issues in its operation. Here are some common issues and their troubleshooting:
In this section:
Page Tree | ||||
---|---|---|---|---|
|
...