Execution Profiles manage database connections and device nodes for different environments, automating configuration changes between development, validation, and production stages.

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:

  1. Enable AutoStart in Production profile
  2. Edit Registry Key:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TStartup-<SolutionName>
  3. 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

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



In this section:

The root page V10:@parent could not be found in space v10.

  • No labels