Loading Multiple Programs on Siemens TP1900 Comfort HMI

David Krause13 min read
SiemensTIA PortalTutorial / How-to
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Loading Multiple Programs on a Siemens TP1900 Comfort HMI

The SIMATIC TP1900 Comfort is a 19-inch widescreen panel in the Siemens Comfort Panel family. Like every Comfort Panel, it stores a single compiled WinCC project on its internal flash and launches that project through the Siemens Runtime Loader. The Runtime Loader intentionally presents only one folder and one project to the operator, so the standard workflow of compiling and downloading a second project from TIA Portal overwrites the first. This article documents the manual file-management workaround that lets you keep several compiled projects on the panel, disable the autostart, and launch a selected project from a script or a button event. The procedure is supported on Comfort Panels running WinCC Comfort or WinCC Advanced Runtime and uses only documented TIA Portal scripting APIs plus the loader's command-line interface.

1. Problem Definition: Why the Panel Holds Only One Project

Siemens designs the Comfort Panel runtime environment around a single active project. The Runtime Loader is a small Windows Embedded Standard or Embedded Compact application that starts after the operating system finishes booting, locates the active project folder, and starts WinCC Runtime. The folder it monitors is fixed at \Flash\Simatic\Hmi\ on internal flash, or at a corresponding path on the configured SD card or USB storage medium, and only one compiled runtime container is permitted in that location. When TIA Portal performs a download, the engineering station stages the new package in this folder and the Runtime Loader picks it up at the next start. There is no built-in selector, no multi-project registry, and no provision for choosing a project from the loader UI.

The behavior is documented in the TIA Portal Help under "Runtime Loader" and in the WinCC Comfort / Advanced System Manual. The panel datasheet for the TP1900 Comfort is available on the Siemens SIMATIC HMI Panels product page and the product family overview on Siemens Industry Online Support. Treat the loader's folder as a single-tenant resource: a second download is destructive by design, and any multi-project requirement must be solved either by switching to a runtime that supports multiple projects natively or by managing the project files yourself and bypassing the loader's autostart.

2. TP1900 Comfort Hardware in Scope

Parameter Typical TP1900 Comfort Value
Display 19" TFT widescreen, 16:9
Resolution 1366 x 768 pixels
Touch Analog resistive, single-touch
Function keys None (touch-only) on most 19" variants
Processor class ARM / x86 (variant dependent)
Operating system Windows Embedded Standard 7 or Embedded Compact (firmware dependent)
Runtime software WinCC Comfort Runtime or WinCC Advanced Runtime
Configuration tool TIA Portal with the WinCC Comfort / Advanced option
Project storage Internal flash with optional SD / USB storage
Compiled project extension *.fwx (firmware-specific compressed runtime) plus launcher executable
Loader executable (typical) \Flash\Simatic\Hmi\Loader\Loader.exe

Verify the exact part number of your panel (for example 6AV2 124-1UC02-0AX0) on the rating plate at the rear and match it against the entry on Siemens Industry Online Support before applying any of the steps below. Different firmware revisions place the Runtime Loader under slightly different paths and may behave differently when the loader executable is renamed.

3. Prerequisites

  1. TIA Portal V16 or later with the WinCC Comfort / Advanced option installed and a valid license for each project that will be compiled.
  2. TP1900 Comfort panel with the firmware updated to the version listed on the panel rating plate. Update the panel with ProSave or with the TIA Portal "Update operating system" workflow if required.
  3. Each candidate project compiled as a standalone runtime package. Do not share tags or area pointers that depend on a single HMI connection if you intend to swap projects frequently, because each project carries its own PLC connection configuration.
  4. An SD card or USB stick formatted as FAT32 with sufficient free space for at least two compiled projects plus headroom for recipe data and log archives.
  5. Read / write access to the panel file system: enable the CE write filter bypass or use an external storage medium. Confirm the location of the Simatic folder on the panel by listing the contents of \Flash and the root of the storage card.
  6. Either a USB keyboard, a remote shell (Telnet over Ethernet), or a serial connection to enter command-line instructions if the loader UI is disabled.
  7. A backup of the currently installed project, taken with ProSave, so the panel can be restored if a change prevents autostart.
Back up the existing project with ProSave before changing the loader behavior. A failed loader change can leave the panel in a state where it no longer auto-starts a project, and the only recovery path is a manual launch or a full operating-system restore.

4. Compile Each Project to a Separate Folder

For each project that should be selectable, perform a "Compile" to the local PC rather than a "Compile and download" to the panel. In TIA Portal, select the HMI device in the project tree, open the right-click context menu, and choose HMI device > Compile > Software (rebuild all) with a custom output path. The output is a folder containing the runtime executable, the *.fwx file, the language files, and any referenced graphics and scripts.

Suggested folder layout on a USB stick or SD card mounted on the panel:


\StorageCard\Hmi\Projects\
   Project_A\
      Project_A.fwx
      HmiRTm.exe   (or equivalent launcher for the firmware)
      ...language and graphics files...
   Project_B\
      Project_B.fwx
      ...runtime files...
   Project_C\
      Project_C.fwx
      ...runtime files...
   Selector\
      Selector.fwx
      ...selector runtime files...

Keep the folder names short and free of spaces. The Comfort Panel file system is case-insensitive but path length is limited to roughly 250 characters, and long paths can break the loader when the storage medium is changed.

5. Disable the Runtime Loader Autostart

The Runtime Loader autostart is controlled by an entry in the panel's startup group, by a registry value, or by a service on the embedded operating system. On Comfort Panels with Windows Embedded Standard 7 the loader executable is typically Loader.exe located in \Flash\Simatic\Hmi\Loader\. To prevent the loader from running on the next boot, perform one of the following actions:

  1. Open a remote shell to the panel, or reach the service desktop by holding CTRL+ESC on the panel during boot if the loader settings permit.
  2. Rename the loader executable: ren "\Flash\Simatic\Hmi\Loader\Loader.exe" "Loader.exe.bak"
  3. Alternatively, remove the loader from the startup group using StartupConfig.exe if it is available on your firmware revision.
  4. Reboot the panel. The panel should reach the Windows desktop without starting any WinCC project.
Some firmware revisions place the loader under a slightly different path or store its configuration in the registry. Verify the path with dir /s "\Flash\Simatic" before renaming, and keep the renamed file in place so it can be restored to its original name if the loader is needed again.

6. Launch a Project Manually from the Command Line

Each compiled WinCC project contains a launcher executable. For WinCC Advanced projects this is typically HmiRTm.exe. For Comfort-only projects the launcher is the project-specific executable produced by the TIA Portal compiler. To start a project, navigate to its folder and launch the executable with the project file as an argument.


cd "\StorageCard\Hmi\Projects\Project_A"
HmiRTm.exe Project_A.fwx

For a Comfort-only project that does not contain HmiRTm.exe, use the loader's command-line interface:


"\Flash\Simatic\Hmi\Loader\Loader.exe" -project "\StorageCard\Hmi\Projects\Project_A\Project_A.fwx"

This forces the loader to start a specific project from an arbitrary path. The loader accepts a project file as a positional argument and supports the -project switch in documented form. When the launcher receives a project path it terminates the currently running runtime, swaps the project context, and starts the new project. The operator sees the new project screens without a panel reboot.

7. Build a Project Selector Screen

To present the operator with a list of available projects at boot, configure a dedicated "selector" project as the autostart project. The selector is a small WinCC Comfort screen that reads the folder list of \StorageCard\Hmi\Projects\ at runtime, populates a list field, and on selection calls the Windows command shell through a script.

Step-by-step configuration in TIA Portal:

  1. Create a new TIA Portal project that targets the TP1900 Comfort. Add a single screen called "SelectorScreen" with an IO field, a Button for each project, and a status field.
  2. Bind the IO field to an internal tag of type WString that is populated at startup by a VBScript that lists the subfolders of the projects directory using the FileSystemObject.
  3. Add a button per project. In the button's "Click" event, run a script that calls the Windows shell: Shell("cmd /c \StorageCard\Hmi\Projects\Project_A\HmiRTm.exe Project_A.fwx"). The script returns immediately and the new project replaces the selector.
  4. Compile the selector to a separate folder under \StorageCard\Hmi\Projects\Selector\ and configure it as the autostart project, or set it as the only project on the internal flash so the loader always starts it.
  5. On boot the operator sees the selector, taps the desired project, and the chosen runtime starts in full screen. The selector project itself can be edited later and reloaded independently of the other projects.

This pattern is supported by WinCC Comfort / Advanced on the TP1900 Comfort and uses only documented scripting APIs. The TIA Portal Help topic "Shell command" documents the function signature and the available arguments.

> Boot

8. Alternative 1: SIMATIC WinCC Runtime Advanced on a PC

WinCC Runtime Advanced is licensed independently of the Comfort Panel runtime and can be installed on a Windows PC. The runtime on a PC supports multiple compiled projects in separate folders, accepts a project file as a command-line argument, and can be controlled by an external launcher or a SCADA system. The TP1900 Comfort is not a candidate for installing Runtime Advanced on top of its embedded OS, but a PC running Runtime Advanced can publish its screens to a TP1900 Comfort over an HMI connection, and the panel can act as a thin client. The trade-off is licensing cost and the need for an additional industrial PC. Refer to the WinCC Runtime Advanced documentation on the Siemens SIMATIC HMI product page for supported operating systems, performance classes, and licensing options.

9. Alternative 2: SIMATIC WinCC Professional or SCADA Server

If the application needs truly concurrent projects, several operators, distributed screens, or large archives, evaluate WinCC Professional or a WinCC SCADA server. WinCC Professional is outside the scope of a Comfort Panel but solves the multi-project requirement natively and centralizes recipes, archives, alarms, and user administration. A SCADA server can serve the same screens to multiple panels, including the TP1900 Comfort, through a WinCC Viewer or a custom client. For greenfield installations with more than two or three concurrent projects, a SCADA architecture is almost always more maintainable than a multi-project workaround on a single Comfort Panel.

10. Storage, Backup, and Retention Considerations

Each compiled Comfort project typically consumes 20 to 80 MB on the storage medium, depending on the number of screens, language files, scripts, and graphics. A 4 GB SD card holds dozens of projects, but flash wear, SD card corruption, and accidental removal are real risks in industrial environments. Apply these practices:

  • Keep the active selector project on the panel's internal flash and store spare projects on the SD card or USB stick. The internal flash is more reliable for the always-running artifact.
  • Maintain a backup of every compiled project on the engineering station, including the TIA Portal source project, the compiled output, and a ProSave backup taken from the panel.
  • Schedule a periodic compare between the active project on the panel and the engineering source to detect drift caused by on-panel edits or by accidental downloads.
  • Document the file layout on the storage medium in the project's Functional Design Specification. Operators should know which project lives in which folder and how to recover from a corrupted storage medium.
  • Replace SD cards on a preventive maintenance schedule. Industrial-grade SD cards from Siemens or from approved suppliers tolerate more write cycles than consumer-grade cards.

11. Troubleshooting Matrix

Symptom Likely Cause Corrective Action
Panel boots to Windows desktop, no project starts Loader executable renamed; storage medium not detected Restore Loader.exe, check storage medium presence with dir
"Project not found" dialog appears at boot Path to *.fwx changed after storage swap Verify the projects folder path, correct the loader argument or the selector script
Project starts but immediately closes License missing for the selected project Check the license dialog, transfer the license with Automation License Manager
Selector lists only one project even though multiple are present Folder name contains spaces or non-ASCII characters Rename folders to ASCII only, avoid spaces, recompile selector
Operator screen does not respond to touches Calibration drift, touch driver error Recalibrate touch, reboot panel, check ground connection
Selected project loads but PLC connection fails Connection parameters differ between projects Compare the connection configuration, set the same HMI connection name and IP for all projects
Recipes and logs lost after switch Storage paths are per-project, files closed at switch Move recipes and logs to a common folder on the storage card

12. Verification and Commissioning Checklist

Step Expected Result Verification
Boot with loader disabled Panel reaches Windows desktop, no WinCC screen visible Visual inspection, confirm Loader.exe.bak is present
Manual launch of Project_A Project_A screen appears, no error dialog Operator action, screenshot for documentation
Manual launch of Project_B Project_B screen appears, no leftover Project_A UI Operator action, screenshot
Selector project at boot Selector screen appears, lists all available projects List field reflects Projects\ folder content
Button-triggered launch Selected project replaces selector Operator action, process list shows HmiRTm.exe for selected project
Power cycle Selector autostarts, last selected project is highlighted Power cycle, repeat operator flow
PLC connection for all projects All projects reach the PLC without errors Use a tag monitoring tool to confirm live values
Storage medium swap Projects remain accessible, paths unchanged Swap the SD card, repeat operator flow

13. Field-Commissioning Tips

  • Disable the Windows write filter before renaming the loader. A write filter that is enabled silently restores the original file on reboot and the rename is lost.
  • Use the same panel image for all projects. Mixing Comfort-only and Advanced projects on the same panel can confuse the loader and the licensing manager.
  • Document the "default" project on the engineering station. When a new operator starts on the panel, they should see the same default project every time the panel boots.
  • Add a heartbeat tag to each project. The selector can show a green light next to the last-launched project to confirm that the runtime is healthy.
  • For hazardous areas where an incorrect project selection could be unsafe, lock the selector behind an authorization level. A wrong tap should not be able to swap the project while a machine is in motion.

14. Frequently Asked Questions

Can I load two TIA Portal projects on the TP1900 Comfort through the standard download?

No. The Runtime Loader monitors a single folder, and any download through TIA Portal overwrites the previously loaded project. The manual file-management workaround documented above is the only way to keep multiple compiled projects resident on the panel.

Will disabling the Runtime Loader prevent firmware updates?

No. ProSave and the TIA Portal "Update operating system" workflow restore the loader as part of the panel image, and the panel is not bricked by renaming Loader.exe. Re-enable the loader before any firmware update to keep the workflow consistent.

Can two projects share tags, area pointers, or PLC connections?

Only if both projects are compiled against the same PLC program and the same tag layout. Mixing incompatible tag sets causes connection loss at runtime. Treat each compiled project as a standalone artifact with its own PLC connection configuration.

What happens to recipes and logs when I switch projects?

Recipes and logs are stored in the project folder by default. Switching to another project closes the file handles of the previous project. To persist data across switches, configure the storage paths to a common folder on the SD card, and back up the folder before each switch.

Is there a Siemens-supported multi-project feature for Comfort Panels?

No. The TP1900 Comfort is intentionally a single-project device. Multi-project workflows belong to WinCC Runtime Advanced, WinCC Professional, or a SCADA server, none of which run on the embedded OS of the Comfort Panel.

How many projects can the panel realistically host?

Storage and licensing are the two limits. A typical 4 GB SD card holds 30 or more compiled projects, but the operator workflow, the risk of confusion, and the licensing model usually cap the practical number at two to five.

Can the selector be a separate WinCC project or must it be part of every project?

A separate selector project is cleaner and recommended. Embedding the selector into every project complicates maintenance because each project must be re-compiled and re-deployed whenever the selector logic changes.

Back to blog