Runtime Execution Profiles (Reference)
Manage database connections and device nodes for different environments, automating configuration changes between development, validation, and production stages.
Access: Runtime → Execution Profiles
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.
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 |
Select modules to protect from changes:
Each profile carries a per-profile gate that controls whether the DesignerMCP set_object_value tool is allowed to drive runtime values (Tag.* and other Object Model paths) under that profile. The tool is the AI authoring counterpart to a Script writing into a tag — same write semantics (eRunEvent.Changed: equal-write is silent), same kernel coercion, same downstream effects on subscribers (Scripts on Tag.Changed, Alarms watching the value, Historian on-change samplers, Device output handlers).
When a profile blocks AI runtime writes, the tool refuses with errorCode AI_OBJECT_WRITE_DISABLED and a structured payload pointing to this column — the AI surfaces the exact "uncheck the AIWriteReadOnly flag on this profile” guidance to the user.
| Profile | Default | Rationale |
|---|---|---|
| Production | Blocked | Customer install never exposes AI-driven runtime writes by default. Production profile is the safe baseline. |
| Development | Allowed | Engineer-sandbox default. DesignerMCP sessions are profile-locked to Development; the AI authoring loop sees the tool working out of the box. |
| Validation | Blocked | QA/staging is treated like Production for AI-write safety. Engineer opts in per solution by unchecking the flag. |
| Custom | Blocked | Lab / customer / training profile defaults to safe. Engineer opts in per solution as needed. |
The flag has the same polarity as the Read-Only Modules family above — checked means blocked, unchecked means allowed. Partner integrations that write tags via the WebAPI use a separate JWT-scoped gate model (see Runtime API reference) and are unaffected by this column.
| 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 |
| Type | Table | Use Case |
|---|---|---|
| Database | DatasetsDBs | Different SQL servers |
| Device Node | DevicesNodes | Different PLCs |
| Historian | HistorianStorageLocation | Different storage |
| TagProvider | UnsTagProviders | Different sources |
bash
# Development
TStartup.exe /solution:"solution.dbsln" /profile:1
# Validation
TStartup.exe /solution:"solution.dbsln" /profile:2
# Custom
TStartup.exe /solution:"solution.dbsln" /profile:3AutoStart is Production-only by default. To run other profiles:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TStartup-<SolutionName># Original (Production)
TStartupService.exe /solution:"path\solution.dbsln" /port1:3101
# Modified (Development)
TStartupService.exe /solution:"path\solution.dbsln" /profile:1 /port1:3201| Profile | Command Parameter |
|---|---|
| Production | (none) |
| Development | /profile:1 |
| Validation | /profile:2 |
| Custom | /profile:3 |
Common replacements:
Common replacements:
Use cases:
DO:
DON'T:
Monitor shows current profile:
Confirm replacements applied:
| 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 |
AI set_object_value refuses with AI_OBJECT_WRITE_DISABLED | AI Runtime-Write Gate is blocked on the active profile | Open Runtime → Execution Profiles, select the active profile row, uncheck the AI runtime-write flag (Development is unchecked by default; Production / Validation / Custom ship checked). |