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:
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:
- 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
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
In this section: