The Runtime Environment is the active stage where a Solution starts and operates, executing real-time data acquisition, scripts, alarms, and all configured modules to deliver the application's functionality.
Parent Page: Solution Lifecycle (Reference)
Overview
Executing a Solution, or starting the Runtime, involves:
- Loading all functional modules for execution
- Acquiring and processing data and updating visual displays
- Performing all tasks based on the Solution's configuration
When the Runtime Environment loads the module's configuration, settings such as network addresses and database connections can be applied according to the execution profile. Profiles enable the same solution configuration to interface with various databases and devices, accommodating different phases of the solution lifecycle (Development, Validation, Production).
Key Concepts
Term | Definition |
---|---|
Runtime | The execution environment when the solution is running, distinguishing it from the Configuration phase. Also denotes the software components and processes in execution |
Execution Profile | Settings allowing customization of database connections and device network addresses for different environments |
Online Configuration | Real-time modifications to a running solution without stopping execution |
Hot Updates/Hot Reload | Subset of online configurations allowing offline solution changes without disrupting runtime |
Build and Publish | Compilation of solution code and creation of read-only versions for regulated deployment |
Runtime Architecture
Real-Time In-Memory Database
When the solution executes, variables like Tags, Templates, and Assets are loaded into memory, acting as a central reference point for all functional modules.
???????????????????????????????????????????????
? TServer.exe Process ?
???????????????????????????????????????????????
? Real-Time Database ?
? • Tags, Templates, Assets ?
? • Current Values & Quality ?
? • Microsecond Updates ?
???????????????????????????????????????????????
? Module Connections ?
? • Devices → Tag Updates ?
? • Scripts → Processing ?
? • Clients → Data Access ?
???????????????????????????????????????????????
The computer process TServer.exe maintains the real-time database and can run as a Windows Service or be deployed to Linux and other supported operating systems.
Startup Procedure
1. Launching TStartup.exe
- Loads the Solution
- Reads Solution Configuration
- Parses Command Line Parameters
- Activates Main Process TServer.exe
2. Starting the Real-Time Database
TServer.exe starts by loading solution objects, tags, templates, and assets into memory. A communication service is established, allowing other modules to start and connect.
3. Modules Startup
Other modules (Historian, Alarms, Devices, Scripts, Datasets, Reports) start execution by reading solution configuration and establishing connection with the main process.
4. Applying Execution Profiles
Modules behave according to Execution Profile definitions. For example:
- Development: Temporary local SQLite database for alarm records
- Production: Alarm Database automatically mapped to SQL server
5. Solution Designer Automatic Connection
Designer automatically connects to running solution, enabling monitoring, adjustments, and troubleshooting via Monitor and Diagnostics pages.
6. Opening Client-Side Displays
Operations displays (HTML5 or WPF) can be opened from any remote computer connected to the server.
7. Applying Online Changes and Hot Updates
System can apply configuration changes and updates without disrupting runtime, maintaining high availability.
Runtime Namespaces
Info Namespace
Main location for runtime status:
Info.Solution - Information about running solution
Info.License - License information
Info.Module - Module information and start/stop commands
Info.Trace() - Display message on TraceWindow
Info.TestMode - Shows if solution running in Test Mode
Server Namespace
Information about the server computer running the solution.
Client Namespace
Information about each client computer running a graphical interface.
Configuration Components
Component | Purpose | Documentation |
---|---|---|
Runtime Startup | Start/stop execution, profile selection | Runtime Startup (Reference) |
Execution Profiles | Environment-specific configurations | Runtime Execution Profiles (Reference) |
Build and Publish | Compilation and deployment | Runtime Build and Publish (Reference) |
Runtime Diagnostics | Property Watch, Trace Window, Module Info | Runtime Diagnostics (Reference) |
System Monitor | Runtime status and metrics | Runtime System Monitor (Reference) |
Process Isolation
Configuration and Runtime Process Isolation ensures development doesn't impact production:
Process | Activities | Isolation Method |
---|---|---|
Configuration | Setting parameters, profiles | Separate environment |
Runtime | Active execution | Protected instance |
Development | Testing features | Different profile |
Working with Runtime
Starting Solution Execution
- Go to Runtime → Startup
- Select appropriate Execution Profile
- Click Run Startup button
- Monitor for errors during startup
Stopping Solution Execution
Use appropriate shutdown method to avoid data loss:
- Designer: Click Stop button
- Service: Stop Windows service
- Command line: Use shutdown command
Applying Configuration Changes
- Identify configuration file or settings
- Modify settings as needed
- Either:
- Restart application (offline changes)
- Use Online Configuration (hot updates)
Child Pages
Configuration Interface:
- Runtime Designer UI (Reference) - Designer runtime pages
- Runtime Startup
- Execution Profiles
- Build and Publish
- System Monitor
- Runtime Diagnostics
Architecture:
- Runtime Engine (Reference) - TServer components and architecture
Support:
- Runtime Troubleshooting (Reference) - Best practices and issue resolution
See Also
- Solution Lifecycle (Reference) - Parent section
- Solution Deployment (Guide) - Production deployment
- Namespaces API (Reference) - Complete programming reference
In this section: