Overview
Execution Profiles
is a configuration feature in the Runtime Module that managesmanage database connections and device nodes for different environments
. It automates the application of settings for, automating configuration changes between development, validation, and production stages.
Features include selecting profiles, enabling profile settings, setting modules to read-only, and replacing connections at startup. Before use, configure the profiles and enable the settings. Use the Startup configuration interface to select and run profiles, applying environment-specific configurations.On this page:
Table of Contents | ||||
---|---|---|---|---|
|
Understanding Execution Profiles
During the solution's life cycle is typical that the same solution has to be executed in distinct environment, such as:
- Development
- Custom (like a Laboratory or a Customer site)
- Validation
- Production
In general, each of those environments may have an specific setup for testing Databases and Devices, so even though the solution you want to run and test is the same, those specific connection settings are unique to each of those environments.
Most of the platforms require a manual modification in the solution, before running on those environments. That manual intervention is time-consuming and risky, because it can easily introduce errors to the solution configuration.
Our platform provides a simple and unique way to manage that. You just define the various Profiles you may have, and you can customize specific connections to each one those profiles.
The Production profile corresponds to the Solution Configuration with no replacements. For the other Profiles, you can configure which connections shall be replaced when running on those other environments.
Configuring Execution Profiles
To configure Execution Profiles, follow these steps:
- Go to Runtime → Execution Profiles.
Choose the profile (Development, Validation, Custom).
Check the Enable Profile Settings box to activate the profile settings.
Select which modules should be set to read-only mode at Set ReadOnly on Modules.
The On Startup Replace Connections option uses the data grid to specify and manage the connections that need replacement at startup.
Access: Runtime → Execution Profiles
Parent Page: Runtime Designer UI (Reference)
Profile Overview
Execution Profiles eliminate manual configuration changes when moving solutions between environments:
Profile | Purpose | Typical Use |
---|---|---|
Production | No replacements | Live system |
Development | Dev connections | Testing/debugging |
Validation | Test environment | QA/staging |
Custom | User-defined | Lab/customer site |
Production profile uses solution's main configuration. Other profiles apply replacements at runtime.
Configuration Interface
Profile Settings
For each profile (Development/Validation/Custom):
Setting | Function |
---|---|
Enable Profile Settings | Activate this profile |
Set ReadOnly on Modules | Prevent modifications |
On Startup Replace Connections | Define replacements |
Read-Only Modules
Select modules to protect from changes:
- Tags
- Devices
- Alarms
- Scripts
- Displays
Connection Replacement
Replacement Table Columns
Column | Description | Example |
---|---|---|
ReplaceObject | Object to replace | DB_Production |
Replace | Enable replacement | True/False |
TableType | Configuration table | DatasetsDBs |
ServerIP | New server address | 192.168.1.100 |
ReplaceConnection | New connection string | Full connection |
DateCreated | Entry creation | Timestamp |
DateModified | Last change | Timestamp |
Supported Replacements
Type | Table | Use Case |
---|---|---|
Database | DatasetsDBs | Different SQL servers |
Device Node | DevicesNodes | Different PLCs |
Historian | HistorianStorageLocation | Different storage |
TagProvider | UnsTagProviders | Different sources |
Using Profiles
In Designer
- Go to Runtime → Startup
- Select Execution Profile
- Run solution
- Profile replacements apply automatically
Command Line
bash
# Development
TStartup.exe /solution:"solution.dbsln" /profile:1
# Validation
TStartup.exe /solution:"solution.dbsln" /profile:2
# Custom
TStartup.exe /solution:"solution.dbsln" /profile:3
Windows Service Configuration
Running Profiles as Service
AutoStart is Production-only by default. To run other profiles:
Using Execution Profiles
To use Execution Profiles, follow these steps:
Go to Runtime / Startup.
At Execution Profile, select the desired profile.
Run the solution with the selected profile, which dynamically applies the configured database connections or device nodes.
Info | ||
---|---|---|
| ||
Note: AutoStart is a Production-only feature. |
Running profiles as a service
To run a solution using the settings from one of the execution profiles as a Windows service, follow these steps:
Enable AutoStart for the Production ProfileIn the Runtime Execution Profiles configuration, use the AutoStart option. This setting instructs the product to create a Windows service for the Production profile.
Edit the Windows Registry Key
After enabling AutoStart, locate and edit the following registry key:
Computer\
- Enable AutoStart in Production profile
- Edit Registry Key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TStartup-<SolutionName>
- Modify ImagePath:
# Original (Production) TStartupService.exe /solution:"path\solution.dbsln" /port1:3101 # Modified (Development) TStartupService.exe /solution:"path\solution.dbsln" /profile:1 /port1:3201
Profile Index Values
Adjust the ImagePath CommandBy default, for a solution named Solution1, the ImagePath value appears as:
<installation folder>\fx-10\TStartupService.exe /solution:"<path of solution>\Solution1.dbsln" /onlineconfig:true /port1:3101
To run the Development profile, modify the key as follows:
<installation folder>\fx-10\TStartupService.exe /solution:"<path of solution>\Solution1.dbsln" /profile:1 /onlineconfig:true /port1:3201
The port must match the configuration set in the solution for the desired profile.
Profile Index Values
Use the following values to select the execution profile:
Development →
Profile | Command Parameter |
---|---|
Production | (none) |
Development |
/profile:1 |
Validation |
/profile:2 | |
Custom |
/profile:3 |
Typical Configurations
Development Profile
Common replacements:
- Local test database
- Simulation devices
- Debug file paths
- Test email server
Validation Profile
Common replacements:
- Staging database
- Test PLCs
- QA file shares
- Test notifications
Custom Profile
Use cases:
- Laboratory setup
- Customer demo
- Training environment
- Pilot installation
Best Practices
Profile Design
DO:
- Keep Production unchanged
- Document all replacements
- Test profile switching
- Use meaningful names
DON'T:
- Modify Production directly
- Mix environment data
- Skip validation testing
- Use production credentials
Security Considerations
- Never store production passwords in profiles
- Use environment-specific credentials
- Limit profile access
- Audit profile changes
Verification
Check Active Profile
Monitor shows current profile:
- Info.ProfileName property
- Runtime System Monitor page
- Client status bar
Verify Replacements
Confirm replacements applied:
- Check connection strings
- Test device communication
- Verify database access
- Monitor data flow
Troubleshooting
Issue | Cause | Solution |
---|---|---|
Profile not switching | Not enabled | Enable profile settings |
Connections unchanged | Replace unchecked | Check replacement flag |
Service wrong profile | Registry not updated | Edit ImagePath |
Port conflicts | Same port used | Change profile ports |
See Also
- Runtime Designer UI (Reference) - Parent section
- Runtime Startup (Reference) - Profile selection
- Solution Settings (Reference) - Environment setup
This approach allows you to configure and run any execution profile automatically when the service starts.
Open Windows Services (services.msc).
Find TStartup-<SolutionName> (Service).
Open Properties and check Path to Executable.
Confirm it reflects the Registry update, including the correct /profile: parameter.
Connection Properties
This table outlines each property, helping to understand its purpose and role within the Execution Profiles configuration.
Property
Description
ReplaceObject
Specifies the object (database or device node) to be replaced during execution. Identifies the target object within the solution configuration.
Replace
Indicates whether the replacement should occur. A boolean value (true/false) that enables or disables the replacement process for the specified object.
TableType
Shows which DataTable is being replaced or changed. Its name is the manual pathing to such table, e.g. DatasetsDBs for Datasets / DBs.
ServerIP
Defines the IP address of the server to connect to during execution. Used to specify the target server for the connection replacement.
DateCreated
Records the date and time when the replacement entry was created. Provides a timestamp for tracking changes in the configuration.
DateModified
Records the date and time when the replacement entry was last modified. Tracks updates and modifications to the configuration.
ReplaceConnection
In this section:
Page Tree | ||||
---|---|---|---|---|
|