Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview

Execution Profiles

is a configuration feature in the Runtime Module that manages

manage 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
maxLevel3
stylenone

Image Removed

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:

  1. Go to Runtime → Execution Profiles.
  2. Choose the profile (Development, Validation, Custom).

  3. Check the Enable Profile Settings box to activate the profile settings.

  4. Select which modules should be set to read-only mode at Set ReadOnly on Modules.

  5. 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:

ProfilePurposeTypical Use
ProductionNo replacementsLive system
DevelopmentDev connectionsTesting/debugging
ValidationTest environmentQA/staging
CustomUser-definedLab/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):

SettingFunction
Enable Profile SettingsActivate this profile
Set ReadOnly on ModulesPrevent modifications
On Startup Replace ConnectionsDefine replacements

Read-Only Modules

Select modules to protect from changes:

  • Tags
  • Devices
  • Alarms
  • Scripts
  • Displays

Connection Replacement

Replacement Table Columns

ColumnDescriptionExample
ReplaceObjectObject to replaceDB_Production
ReplaceEnable replacementTrue/False
TableTypeConfiguration tableDatasetsDBs
ServerIPNew server address192.168.1.100
ReplaceConnectionNew connection stringFull connection
DateCreatedEntry creationTimestamp
DateModifiedLast changeTimestamp

Supported Replacements

TypeTableUse Case
DatabaseDatasetsDBsDifferent SQL servers
Device NodeDevicesNodesDifferent PLCs
HistorianHistorianStorageLocationDifferent storage
TagProviderUnsTagProvidersDifferent sources

Using Profiles

In Designer

  1. Go to Runtime → Startup
  2. Select Execution Profile
  3. Run solution
  4. 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:

  1. Go to Runtime / Startup.

  2. At Execution Profile, select the desired profile.

  3. Run the solution with the selected profile, which dynamically applies the configured database connections or device nodes.

Info
titleAutoStart

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 Profile
In 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\
  1. Enable AutoStart in Production profile
  2. Edit Registry Key:
  1. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TStartup-<SolutionName>
Inside this key, update the ImagePath value to include the desired profile parameter in the command line used to start the solution.
  1. 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 Command
By 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 →
ProfileCommand 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:

  1. Check connection strings
  2. Test device communication
  3. Verify database access
  4. Monitor data flow

Troubleshooting

IssueCauseSolution
Profile not switchingNot enabledEnable profile settings
Connections unchangedReplace uncheckedCheck replacement flag
Service wrong profileRegistry not updatedEdit ImagePath
Port conflictsSame port usedChange profile ports

See Also



Image Added


This approach allows you to configure and run any execution profile automatically when the service starts.
  • Verify the configuration
    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

    Specifies the connection string or parameters for the new connection. Defines the details of the replacement connection to be applied at startup.

    In this section:

    Page Tree
    rootV10:@parent
    spacesV10