WinCC Server-Server Communication: Configuring Multi-Plant HMI

David Krause14 min read
HMI / SCADASiemensTutorial / 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

Overview: Multi-Plant Visualization with WinCC

Large industrial operations frequently span multiple physical sites, each with its own dedicated SCADA server, yet operators and engineers often need a consolidated view across plants from a single engineering room, control center, or supervisory workstation. Siemens SIMATIC WinCC provides a native Server-Server communication mechanism (sometimes called server-server or distributed server architecture) that allows one WinCC server to read tags, archives, and messages from up to twelve other WinCC servers or redundant server pairs, and to display them on a single HMI client surface without requiring a parallel OPC UA infrastructure.

The fundamental question this design solves is: Can a WinCC station that already functions as a server for its own plant also act as a client to other remote WinCC servers? The answer is yes. The server performing the remote access behaves as a client in terms of configuration and runtime operation, but retains its full WinCC Server license rights for its local plant. This article walks through the licensing, project engineering, runtime configuration, and verification steps required to deploy this architecture on both WinCC V7 (Classic) and WinCC Professional (TIA Portal) platforms.

Architectural intent: Use server-server communication when the same engineering/maintenance group owns all WinCC servers and you need tag/Alarmlogging/Taglogging read access with full WinCC picture navigation. For pure cross-plant data exchange with no shared picture set, evaluate OPC UA Pub/Sub or WinCC Unified's distributed I/O features instead.

Architectural Topology

For a typical three-plant deployment, the topology looks like this:

  • Plant A WinCC Server (Plant_A_SRV) — owns its own PLCs, tags, archives, and operator pictures.
  • Plant B WinCC Server (Plant_B_SRV) — independent server with its own license and quantity structure.
  • Plant C WinCC Server (Plant_C_SRV) — independent server with its own license and quantity structure.
  • Plant C Operator Station — runs WinCC Runtime as both the local Plant C server and a client to Plant A and Plant B via server-server communication. This is sometimes called a "combined Server/Client" or "Server-as-Client" configuration.

Each of the three servers is an independent WinCC project with its own SQL-based archive database, its own Alarm Logging, and its own Tag Logging. Server-server communication does not merge the archives; it provides read access to the remote server's configured tag interface (the "Server Package"). The local server at Plant C then exposes those remote tags to its own local picture set, Alarm Logging, and Tag Logging — meaning local scripts, faceplates, and trends can consume remote-plant data with no extra gateway layer.

Licensing Prerequisites

Server-server communication has very specific licensing rules. Misreading them is the single most common reason a deployment fails at runtime with a "no license found" or "invalid package" error.

Component License Type Required For
Local WinCC Server WinCC Server (RT) license The base plant server that owns the local I/O.
Remote Server Access Additional WinCC Server license per accessed server Plant C server must include Plant A and Plant B in its quantity structure.
Server Package Export No additional license (built-in to Server license) Each remote server must export its package.
Operator client display Counted against Server's own client count (default 1 / 3 / 10 / 30 / 64 clients) If Plant C also functions as a viewing station, that local operator session still counts.
Redundant pair WinCC Redundancy license on each partner Each redundant pair counts as ONE accessed server in the quantity structure.

From the official Siemens WinCC Client/Server Option manual (PDF): "One server is capable to access the data from up to twelve other servers or redundant pairs of servers. The server accessing the data behaves as a client in respect of the configuration and operation, except that a standard server cannot be configured." Note the limit: 12 remote servers or redundant pairs. For a 3-plant deployment this is well within budget, but it must be planned if you anticipate scaling.

Quantity structure rule: When the system is being configured, the accessing server (Plant C) must include every remote server in its quantity structure dialog. Forgetting this is the most frequent cause of a missing-license alarm after activation.

Software and Firmware Prerequisites

  • WinCC V7.x (Classic): WinCC V7.4 SP1 or later is recommended for current support windows. The Server-Server scenario is part of the Client/Server option and requires the WinCC Server base package plus a sufficient PowerPack or client count.
  • WinCC Professional (TIA Portal): For TIA Portal V17 and later, server-server communication is configured as a Multi-user system with multiple HMI devices. See the Multi-user system (RT Professional) documentation in TIA Portal V21 for the canonical reference.
  • Operating system: Windows Server 2019 / 2022 (Standard or Datacenter) for the WinCC server role. Windows 10 / 11 LTSC is permitted only for engineering stations and small client stations.
  • SQL Server: Bundled Microsoft SQL Server instance installed with WinCC (WinCC V7 installs SQL Server 2019 in current SPs). Archive databases are stored locally on each server.
  • Network: TCP/IP connectivity on the WinCC port range (default 1024-65535 dynamic allocation for OPC, plus the configured WinCC project port). The official manual notes: "There is no time synchronization between server and clients. Archiving takes place centrally on one computer and this means that all of [the data is]..." — meaning each server timestamps its own archives independently.

Step-by-Step Configuration (WinCC V7)

1. Export the Server Package from each Remote Server

  1. On Plant A server, open the WinCC Explorer in the Plant_A_SRV project.
  2. Right-click on Server Data and select Server PackageCreate.
  3. WinCC compiles a self-contained .pck file containing the tag interface, message configuration, and picture references. Default location: \<project>\<server>\Packages\<ServerName>.pck.
  4. Repeat on Plant B server to produce Plant_B_SRV.pck.
  5. Copy both .pck files via network share or USB to Plant C's WinCC project directory, subfolder \Packages\.
Server Package scope: The package contains only the items you have marked as externally visible in the tag selection, message classes, and picture selection. Internal-only tags, internal-only pictures, and password-protected structures are not exported. Plan your tag interface accordingly — over-exposing tags bloats the package and complicates maintenance.

2. Import and Register the Server Package on the Accessing Server

  1. On Plant C server, open the Plant_C_SRV project in WinCC Explorer.
  2. Right-click Server DataServer PackageLoad.
  3. Select each .pck file and confirm. WinCC registers the remote server and adds its exported tags to the local namespace prefixed by the server name, e.g. Plant_A_SRV::Temperature_Tank_01 or simply ::Temperature_Tank_01 when the server context is already current.
  4. Verify the tags appear in the WinCC tag manager. Each remote tag is shown with a yellow icon overlay indicating the server-server origin.

3. Configure the OS Project Editor and Quantity Structure

  1. Open OS Project Editor from the WinCC Explorer start page (button on the right-hand pane).
  2. Navigate to the Server tab.
  3. Tick the checkbox "Use Server-Server communication".
  4. Set the Number of servers field to 2 (Plant A and Plant B). The maximum permitted value is 12.
  5. Click Apply. The OS Project Editor regenerates the @ system pictures and updates the WinCC_StationType registry entries.
Project Editor warning: If you increase the number of servers in the OS Project Editor after the project is already deployed, you must close WinCC Runtime, regenerate the project, and restart. Doing this on a live system will drop operator sessions.

4. Activate the Plant C Server with the Combined Role

  1. In WinCC Explorer, click the Activate button on the toolbar (or right-click the project root → Activate).
  2. Verify in the WinCC Runtime window: the local Plant C tags show real-time values and the imported Plant A and Plant B tags show values pulled from the remote servers.
  3. Open DiagnosticsSystem Diagnostics to confirm that the remote server connections are listed in the Connections view with status Connected (green) rather than Fault (red).

Step-by-Step Configuration (WinCC Professional / TIA Portal V21)

The TIA Portal workflow is structurally similar but lives inside the project tree rather than the WinCC Explorer.

  1. Open the TIA Portal project containing the HMI devices for all three plants.
  2. In the project tree, add an HMI device for each plant server (e.g. Plant_A_RT, Plant_B_RT, Plant_C_RT) under HMIAdd new deviceSIMATIC WinCC Runtime Professional.
  3. On the Plant C HMI device, open PropertiesMulti-user system and enable Server-side interface.
  4. Add Plant A and Plant B as remote servers in the multi-user system editor. According to the TIA Portal V21 multi-user system documentation: "The client-server technology makes it possible to easily separate WinCC clients from the WinCC server: Configure your project centrally in the TIA Portal on the engineering station."
  5. Compile the HMI devices and download the project to the Plant C runtime.
  6. Activate runtime. The local server window and the remote plant picture set coexist in the same process tree.

Performance Considerations

Running a WinCC server and acting as a client to other servers on the same machine is a deliberate performance trade-off. The official WinCC V7 documentation and field experience converge on the following guidance:

Workload Factor Impact Mitigation
Local picture set refresh rate CPU load scales linearly with visible picture objects and tag count. Use picture-by-picture navigation; close unused pictures via SetVisible scripts.
Remote tag count Each subscribed tag costs ~0.1-0.5% of one core on a modern x86 server. Limit exported server packages to operational tags only. Cap archives at the remote side.
Archive data growth SQL Server disk I/O becomes the dominant load factor beyond ~50,000 tags/sec total. Use segmented archives and partition swap (WinCC V7.4+).
Network latency Round-trip > 200 ms causes user-perceptible lag in trend updates. Place server-server traffic on a dedicated VLAN; avoid routed WANs > 50 ms RTT.
Antivirus / Windows Defender real-time scan Exponential slowdown of archive writes. Add \<WinCC Project> paths to Defender exclusion list.
Rule of thumb: If a single WinCC server's CPU exceeds 60% during normal operation, do not add server-server load to that same machine. Either move the multi-plant viewer to a dedicated multi-client station or upgrade the server class.

Alternative Architecture: Dedicated Multi-Client

When the Plant C server is already heavily loaded, the recommended fallback is to deploy a WinCC Multi-Client on a separate operator station. The multi-client is a pure read-only viewer that connects to one or more WinCC servers in parallel and presents a unified picture set. Advantages:

  • No additional license load on the Plant C server (it remains a pure server).
  • Operator station can fail without affecting Plant C's own server role.
  • Multi-client supports picture caching, which reduces server load by 40-70% during navigation-heavy sessions.

Disadvantages: an additional PC, OS, and SQL client license; tag scope must be re-managed in a second station. For green-field deployments with more than 4 plants, the multi-client approach scales better than stacking server-server roles.

Time Synchronization, Archiving, and Redundancy

The Client/Server Option manual states: "There is no time synchronization between server and clients. Archiving takes place centrally on one computer and this means that all of [the archives live on the server]." Implications:

  • Each WinCC server timestamps its own messages and archives using its local system clock. You must deploy a domain time source (NTP) and synchronize every server to it — without this, alarm sequences across plants will appear scrambled in a multi-plant overview.
  • Archive data is not mirrored automatically. If Plant C needs to trend data from Plant A, the trend pulls live values from Plant A's runtime; the historical trend display is generated from Plant A's archive database. Plant C does not duplicate Plant A's archives locally.
  • For redundant pairs, configure WinCC Redundancy on each pair before enabling server-server communication. A redundant pair counts as one entry in the OS Project Editor's server count.

Verification Checklist

  1. On Plant C, open WinCC ExplorerToolsStatus of Server Connections. Confirm Plant A and Plant B are listed with state Connected.
  2. Open a local Plant C picture that uses a tag from Plant A. Verify the value updates within one refresh cycle (default 1 s; configurable in the tag properties).
  3. Trigger an alarm on Plant A. Verify the alarm appears in Plant C's Alarm Logging within 2 s of being raised on Plant A.
  4. Open a trend window that includes a remote tag. Verify the trend retrieves historical data from Plant A's SQL archive (not a blank chart).
  5. Stop the Plant A WinCC Runtime. Plant C should report the connection state as Fault within 5 s and operator picture should display the configured substitute value or "connection lost" badge.
  6. Restart Plant A. Verify automatic reconnection within 30 s without operator intervention.

Troubleshooting Matrix

Symptom Likely Root Cause Resolution
Remote tag shows "invalid" placeholder Server Package not loaded on accessing server Re-load .pck file in WinCC Explorer; check \Packages\ path.
Alarm "No license found" on activation Quantity structure in OS Project Editor does not include all remote servers Open OS Project Editor, increment "Number of servers" to match actual count, re-apply.
Server connection stays in "Disconnected" state Firewall blocking WinCC OPC port range or DCOM Open TCP 1024-65535 between servers; enable DCOM exception rules per Client/Server manual.
Trends from remote server show only live data, no history Accessing server cannot resolve the remote archive path Verify the remote server is also running Tag Logging Runtime; check \<RemoteProject>\ArchiveManager path is reachable.
Plant C server becomes unresponsive under load CPU saturation from local + remote tag subscription Move viewer role to a multi-client; or split plant C's local project from the multi-plant picture set.
Time-stamped alarms appear out of order Servers not synchronized to a common NTP source Configure Windows Time service against a stratum-1 or stratum-2 source on every server.
After TIA Portal compile, remote tags lose namespace prefix Project migration stripped server package binding Re-import .pck after major version upgrade; re-apply OS Project Editor.

Security and Network Hardening

Server-server communication is encrypted at the WinCC application layer (TLS 1.2 in V7.4 SP1+), but the underlying DCOM and OPC Classic channels remain a target. Best practices:

  • Isolate WinCC server traffic on a dedicated VLAN (e.g. VLAN 200) separate from the corporate LAN.
  • Disable SMBv1 on all servers; restrict admin$ and C$ shares to the WinCC engineering account.
  • Apply the Siemens WinCC Security Configuration checklist: enable DCOM authentication, restrict launch permissions to the WinCC service account, and disable anonymous RPC.
  • Audit the WinCC project for hard-coded credentials; migrate to the WinCC User Administrator with role-based access (Operator / Engineer / Administrator).
  • For multi-plant sites with regulatory exposure (IEC 62443), evaluate WinCC Unified as a replacement for WinCC V7 — Unified's native OPC UA server-server communication requires no DCOM and is profile-conformant.

FAQ

Can one WinCC server act as both a server and a client at the same time?

Yes. The server accessing remote data behaves as a client for those remote connections while retaining its full WinCC Server license for its own plant. Configure the connection via Server-Server communication in the OS Project Editor and load the exported Server Package (.pck) from each remote server.

How many remote WinCC servers can a single WinCC server connect to?

Up to 12 other servers or redundant server pairs. This limit is set in the OS Project Editor's "Number of servers" field and applies to the combined count of standalone servers and redundant pairs.

Does server-server communication require a WinCC Client license on the accessing server?

No. The accessing server does not need a separate WinCC Client license; it only needs a WinCC Server license and the remote servers must be included in its quantity structure. The server acts in a dual role, not as a classic WinCC client.

Is time synchronization required between WinCC servers in this architecture?

Yes. The official WinCC Client/Server documentation states there is no built-in time synchronization. Configure every WinCC server to an external NTP source so that alarm timestamps and archive entries are consistent across plants.

What is the difference between server-server communication and a multi-client?

Server-server runs on the WinCC server itself and adds remote tags to the server's own picture set and archives. A multi-client runs on a separate operator station and acts as a pure viewer. Use server-server when the same engineering team owns all projects and you want one integrated picture set; use a multi-client when you want to keep the remote plants' projects isolated and add a dedicated visualization PC.

Does WinCC Professional in TIA Portal V21 support the same server-server scenario as WinCC V7?

Yes. The TIA Portal V21 documentation describes a Multi-user system where one RT Professional station can connect to multiple other RT Professional servers. The configuration lives in the TIA Portal project tree under HMI device properties rather than in the WinCC Explorer.

What happens to historical trends from a remote plant?

Historical trend data is read live from the remote server's SQL archive. The local server does not duplicate the archive. If the remote server is offline, the trend view shows a connection fault and any cached segment up to the disconnection time.

Back to blog