1. Overview: Purpose of OS Compile and Download in WinCC V7.x
The OS Compile and Download function in Siemens Simatic Manager (Classic, with Step 7 V5.x and WinCC V7.x) is the formal engineering procedure that consolidates PLC-side tag definitions, connection configuration, and graphics changes into the WinCC Operator Station (OS) project and pushes the result to the Runtime OS. It is fundamentally more than a file copy.
Three things happen during a proper OS compile and download:
-
Tag mapping — Symbolic PLC tags (configured in the S7 program) are read, normalized, and written into the WinCC tag database (
TagManagement) along with their data type, address, and any scaling. -
Connection synthesis — Logical S7 connections from the ES are instantiated as WinCC channel connections (typically
SIMATIC S7 Protocol SuitechannelsTCP/IP,Named Connections,Industrial Ethernet, orMPI/Profibus). - Project load — The compiled OS is transferred to the target runtime computer using either delta loading (changes only) or a complete project reload.
The function exists to enforce a single source of truth for process tags: the PLC program. Operators on the HMI never have to re-enter the same tag list a second time, and any name change in the S7 symbol table propagates to the OS automatically after a recompile.
2. System Architecture: ES, OS, and PLC Roles
A WinCC V7.x OS Compile and Download operation involves three logical components:
| Component | Software | Function in the Workflow |
|---|---|---|
| Engineering Station (ES) | SIMATIC Manager with Step 7 V5.5 / V5.6 + WinCC V7.4 SP1 Configuration | Holds the S7 project (HW Config, S7 programs, symbols) and the WinCC project (graphics, scripts, archives, alarms). Performs the compile and initiates the download. |
| Operator Station (OS) — Runtime | WinCC V7.x Runtime on the target PC | Hosts the Runtime database, the process pictures, the alarm logging, the tag logging, and the user archive. Receives the compiled project via the WinCC project loader. |
| PLC (AS) | Step 7 V5.x program on S7-300 / S7-400 / WinAC | Source of the symbol table and the connection configuration that the ES merges into the WinCC tag database during the OS compile. |
The Simatic Manager must be configured as an integrated project to expose the OS Compile menu entry under the WinCC OS object. Without integration, the engineer must manually maintain the WinCC tag list, which is the workflow the OS compile and download was designed to replace.
3. Prerequisites Before Compiling and Downloading
Before initiating a download, verify the following on the ES and the target OS:
- Step 7 project consistency — Run Save and Compile on every S7 program block in the project tree. Uncompiled blocks are not visible to the WinCC tag generator.
- OS connection to the AS — In the WinCC project, open Tag Management > SIMATIC S7 Protocol Suite and confirm the connection name matches the logical connection name in NetPro. A mismatch is the single most common cause of empty tag lists after a download.
- Symbol accessibility — In Step 7, open Options > Symbol Table and ensure the relevant DB, I, Q, M, and T/C symbols have their Accessible via HMI attribute set, or set the global option Symbolic names accessible via OPC/HMI in the CPU properties (only on S7-400 CPUs with adequate firmware).
- OS server name resolution — The target OS computer name must be reachable from the ES via the network. Ping by NetBIOS name, not just by IP. WinCC uses the computer name when re-binding the loaded project to the runtime environment.
- WinCC project password — If project protection is active, the downloader must have the configured author password. A wrong password aborts the download with a generic Project Loading Failed dialog.
- Free disk on target OS — A delta load typically requires 100–500 MB free; a complete project load requires enough to hold both the previous and the new project simultaneously (the runtime does not delete the old project until the new one has unpacked).
4. Step-by-Step: OS Compile Procedure
- Open the integrated project in SIMATIC Manager. The WinCC OS application must be visible in the project tree directly under the S7 program folder.
-
Right-click the OS object (for example,
OS(1)) and choose OS > Compile and Download Objects. This opens the compile wizard. -
Select the scope:
- Entire OS — recompiles every picture, every script, the entire tag database, and the entire alarm configuration.
- Changes only — recompiles only the objects marked as changed since the last successful download. Default selection; recommended for live systems.
- Confirm the AS-OS connections in the next dialog. The wizard lists every logical S7 connection it intends to push to the WinCC tag management.
- Click Compile. The status window shows the number of tags, the number of connections, the number of pictures, and the number of scripts compiled. A successful compile ends with Compilation finished without errors. Warnings (for example, Tag X has no connection assigned) are non-fatal but should be reviewed.
- Do not run the runtime during a full compile when the option Stop Runtime on target OS is implied by the load type you choose in the next step.
5. Loading Modes: Change-Only Delta vs Complete Project Load
Once the OS is compiled, the engineer selects the load type. WinCC V7.x supports two load modes that are fundamentally different in their runtime impact:
| Mode | Trigger | Runtime Behavior | Typical Use Case |
|---|---|---|---|
| Delta load (Changes only) | Default; chosen in the download wizard when only compiled changes exist | Runtime does not stop. Updated pictures, tags, and scripts are hot-swapped in memory; the operator sees a brief pause as the new DLLs are loaded. | Production systems where the line cannot be stopped for an HMI change. |
| Complete project load | Selected explicitly, or triggered when a structural change is detected (e.g., a new channel unit, a new archive, a new picture hierarchy level) | Runtime is stopped, the new project is unpacked over the old one, the computer name is rebound to the target OS name, and the runtime is restarted automatically. | Major upgrades, archive reconfigurations, OS computer name changes, or when the runtime data has drifted out of sync. |
A delta load is the operation the field report referred to when it confirmed that Runtime on Target-OS would not be stopped during Compiling on ES. That statement is accurate: the compile itself runs only on the ES, and when paired with a delta download, the runtime on the target OS continues throughout. The runtime only stops when a complete project load is chosen.
6. Runtime Behavior During OS Operations
The most common confusion in the field report is the difference between compile, download, and runtime stop. They are independent events:
| Event | Where It Runs | Does It Stop the Target OS Runtime? |
|---|---|---|
| OS Compile | ES only | No |
| Delta Download (Changes only) | ES → Target OS | No |
| Complete Project Download | ES → Target OS | Yes — Runtime is stopped, the project is replaced, the runtime is restarted |
| OS Server Computer Name Change | ES configuration | Triggers a complete project load on next download |
During a complete project load, the WinCC project loader re-binds the loaded project to the target OS computer name before the runtime is restarted. This is the behavior described in the source: after the loading the computername in the project is changed to the name of the Target-OS, before the runtime is started again. The consequence is that if the project is loaded onto a different OS computer (for example, swapping a redundant server), the computer name in the project gets re-bound to the new hardware automatically.
7. Redundant OS Server Pair Operation
When the OS is configured as a redundant WinCC server pair, the behavior of the download changes again:
- The same compiled project is loaded sequentially to both OS servers.
- One server remains in runtime at all times; the redundant partner stops runtime, takes the load, restarts runtime, and re-synchronizes with its partner via the WinCC redundancy API.
- The ES initiates the load to the master server; the master pushes the change to the standby automatically. The engineer does not need to perform two separate downloads.
- Delta loads can be performed in this configuration without bringing the visualization down — the partner server keeps serving operators during the entire procedure.
For a single-OS setup (such as the WinCC 7.4 SP1 installation described in the source), the engineer connects the ES directly to that one OS, performs either a delta or complete download, and there is no redundancy synchronization step.
8. Version Control Integration with VersionDog
Production environments typically pair WinCC with an external version control tool. The field report uses VersionDog from AUVESY as the change-data-capture and backup system. The recommended closed-loop procedure for a single-OS plant is:
- Restore the current production version of the S7 project and the WinCC project from VersionDog to the ES. This guarantees the ES is synchronized with the live system before any edit.
- Edit the WinCC project (graphics, scripts, tag mappings) and, if required, the S7 program on the ES.
- Compile the OS in the integrated project to merge any PLC tag changes into the WinCC tag database.
- Download the compiled changes to the Runtime OS — delta for in-flight fixes, complete for structural changes.
- Verify the change on the Runtime OS: open the affected pictures, watch the affected tags live, exercise the alarm line if alarms were changed, and check the archive configuration if archives were touched.
- Archive the updated ES project back into VersionDog. A new version is created because the project has been changed.
- VersionDog periodically compares the project stored in its archive to the project running on the target OS and the S7 program in the PLC, flagging any drift. If the ES is later rebuilt or another engineer takes over, they pull the same production version from VersionDog and the cycle repeats.
9. Verification After a Download
Once the download reports success, perform the following checks on the Runtime OS:
- Runtime state — Confirm the WinCC Explorer shows Runtime active (green indicator). If the runtime is stopped after a complete load, restart it manually with WinCC Explorer > Runtime > Start.
- Tag connection quality — Open WinCC Explorer > Tag Management on the runtime and inspect the connection status indicators. A red channel means the OS cannot reach the AS; verify the network path and the S7 connection name.
- Picture compilation — Open the affected pictures in Runtime. Look for missing objects, broken dynamic dialogs, or empty placeholder text where a tag was not resolved. These symptoms indicate a tag that was not properly mapped during the OS compile.
- Alarm system — Trigger a known alarm and confirm it appears in the alarm line with the correct class, priority, and acknowledgment behavior.
- Archive continuity — Open the Tag Logging editor and confirm the active archive is still receiving values. A complete project load can break in-memory archive connections if the archive configuration was changed in the same load.
- Author trace — On the ES, open the OS Project Editor > Change Log to confirm the load was recorded and to keep an audit trail for the version control archive.
10. Troubleshooting Matrix
| Symptom | Likely Root Cause | Corrective Action |
|---|---|---|
| OS Compile reports No S7 connections found | NetPro connections not assigned to the WinCC OS, or the OS application is not inserted as a WinCC Application in the project tree | Insert the OS as a WinCC station in NetPro; right-click the OS object and re-run Compile and Download Objects |
| Tags compile with addresses but no values in Runtime | Symbol not marked Accessible via HMI, or wrong CPU slot in the connection | Edit the symbol or open Properties > Communication on the connection and verify the rack/slot |
| Delta load completes but deleted picture is still visible on the OS | Delta load cannot remove objects from the runtime database | Switch to a complete project load to clear the runtime |
| Runtime does not restart after complete load | WinCC service account mismatch, or computer name re-binding failed | Check the WinCC project loader log (WinCCLoad.log) on the target OS; verify the service account has local administrator rights |
| OS Compile wizard is greyed out | Project is not integrated, or the WinCC component is missing from the ES installation | Reinstall WinCC V7.x Configuration on the ES, then re-create the OS object in the integrated project |
| Redundant OS: only the master server takes the load, standby stays on old project | Redundancy license not active on the standby, or the partner connection is broken | Validate the redundancy connection in WinCC Explorer > Redundancy; confirm the standby server has a valid WinCC Redundancy license |
| OS download from ES fails with Project Loading Failed | Wrong author password, network firewall blocking the WinCC project loader port, or service not running on target OS | Confirm the WinCC project loader service is running on the target OS; open TCP port 2308/2309 between ES and OS; re-enter the author password |
| VersionDog reports drift after every change | Downloading directly to the runtime without archiving the ES first | Always archive the ES project to VersionDog after the successful download to the runtime, never before |
11. Best-Practice Checklist for Production Plants
- Treat the ES project as a single source of truth — never edit the Runtime OS files directly.
- Use delta loads by default; reserve complete project loads for structural changes and object deletions.
- Maintain the ES in lockstep with the Runtime via a version control tool (VersionDog, Git, or Siemens SIMATIC Version Trail if licensed).
- Schedule complete project loads for planned downtime windows, even if delta loads are sufficient for the technical change.
- Keep the S7 symbol table and the WinCC tag naming convention aligned — name changes in the PLC symbols automatically rename the OS tags, and a stale name match can silently break a delta load.
- Document the load mode (delta vs complete) in the change ticket so the operator knows whether to expect a brief pause or a full runtime restart.
- For redundant OS pairs, always verify both servers are running the same project version after a load — drift between partners is the leading cause of split-brain visualization.
What does the OS Compile function actually do in WinCC V7.x?
The OS Compile function in Simatic Manager reads the S7 program symbols and connections from the integrated project and writes them into the WinCC tag database, the WinCC connection list, and the alarm configuration. It does not transfer graphics — that happens at the download step. Without a successful OS Compile, the WinCC project has no knowledge of the PLC tags and the Runtime cannot subscribe to any process data.
Does OS Compile stop the Runtime on the target OS?
No. OS Compile runs only on the Engineering Station and does not touch the target OS Runtime. Only a complete project load stops the Runtime, and only for the duration of the file transfer and the re-binding of the computer name. A delta load (changes only) does not stop the Runtime at all.
What is the difference between a delta load and a complete project load?
A delta load transfers only the changes compiled since the last successful download, hot-swaps the modified pictures, tags, and scripts in memory, and leaves the Runtime running. A complete project load stops the Runtime, replaces the entire project on the target OS, re-binds the computer name, and restarts the Runtime. Use a complete load whenever objects are deleted or when the structural configuration (archives, channel units, picture hierarchy) changes.
How does OS Compile behave on a redundant WinCC server pair?
The compiled project is loaded sequentially to both OS servers. The redundant partner stops its Runtime, takes the load, restarts, and resynchronizes with the master through the WinCC redundancy API. Operators do not lose visualization during a delta load because the other server continues serving the process.
Why should the OS project be archived to version control (e.g., VersionDog) only after the Runtime download?
If the ES project is archived before the Runtime download, any subsequent download to the Runtime may add or modify files on the Runtime side that are not yet in the archive, triggering a false drift report. Archiving after the Runtime download guarantees that the archive, the ES, and the Runtime are in lockstep, and the next engineer restoring from the archive will reproduce the exact state that is running in production.