Configuring Wonderware InTouch Redundant Server with S7-400

Karen Mitchell17 min read
SCADA ConfigurationTechnical ReferenceWonderware
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

Configuring Wonderware InTouch Redundant Server with Siemens S7-400 over Ethernet

Plant-floor HMI/SCADA deployments frequently demand that the supervisory layer tolerate a single point of failure. A typical configuration uses two I/O Server hosts polling the same PLC, with the InTouch HMI switching from a primary to a backup access path on communication loss, then re-attaching to the primary once it recovers. This reference documents the engineering steps, parameter values, and verification procedures for building that redundant architecture with Wonderware InTouch 10.1, Archestra MMC 5.2 R2, the DASSIDirect and FSGateway I/O Servers, and a Siemens SIMATIC S7-400 controller on Industrial Ethernet.

Field-proven scope: The procedure below targets a single S7-400 on a flat /24 subnet, two DA Server hosts polling the same DB/M/IB/IQ area, and one InTouch client running WindowsViewer as a runtime-only node. It is not a substitute for Schneider Electric's official InTouch Application Redundancy white paper; treat it as a field commissioning companion.

1. Reference Architecture

The logical topology separates the data-acquisition tier (DA Server) from the presentation tier (InTouch). The S7-400 exposes its data over the ISO-on-TCP protocol (RFC 1006) on its built-in PROFINET/Industrial Ethernet port. Two Windows hosts run an instance of the same I/O Server pointed at the same PLC; an InTouch application on a third node consumes data through the Archestra framework and switches to the backup server when the primary disappears from the namespace.

S7-400 CPU 172.16.254.1/24 ISO-on-TCP (port 102) DA Server PRIMARY PC-1: 172.16.254.5 DASSIDirect / FSGateway Topic: S7400_PRIMARY DA Server BACKUP PC-2: 172.16.254.4 DASSIDirect / FSGateway Topic: S7400_BACKUP InTouch CLIENT PC-3: 172.16.254.7 WindowViewer (runtime) Access Name: S7_Access poll poll primary backup (failover)

Figure 1 — Logical topology: dual DA Server hosts polling the S7-400; InTouch client uses one Access Name with a primary and a backup node.

2. Prerequisites and Licensing

Before installing components, validate the licenses and the operating system level. InTouch 10.1 and Archestra 5.2 R2 were validated on Windows Server 2003 in the source architecture; for new deployments, Schneider Electric's compatibility matrix lists Windows Server 2016 / 2019 as supported by InTouch 2020 and later, which is the recommended path for greenfield work. If you must remain on the 10.1 codebase, lock the host OS to Windows Server 2003 R2 x86 and disable Windows Firewall, exactly as the reference plant-floor configuration required.

Component Reference version Functional role
SIMATIC S7-400 CPU S7-414/416/417 family Field controller, ISO-on-TCP server on port 102
InTouch WindowMaker 10.1 Development environment (engineering node only)
InTouch WindowViewer 10.1 Runtime, deployed on the client node
Archestra MMC 5.2 R2 System management, $User-defined hierarchy
DASSIDirect 3.x / 4.x Native Wonderware I/O Server for S7-300/400
FSGateway 2.0 Field Services Gateway (Siemens S7 TCP/IP driver option)
OS — DA Server hosts Windows Server 2003 SP2 / Server 2016+ Runs DASSIDirect or FSGateway service
OS — Client host Windows Server 2003 SP2 / Server 2016+ Runs WindowViewer runtime only
Licensing: Every machine that hosts an active I/O Server requires its own DAServer license. Two licenses are therefore required (PC-1 and PC-2). The InTouch client (PC-3) only needs a WindowViewer runtime license; do not install WindowMaker on this node, otherwise end-users can edit the application.

3. Network and Operating System Configuration

All three nodes must share the same subnet and belong to the same Windows workgroup. Domain membership is acceptable on modern platforms, but for the 10.1 / Server 2003 combination the workgroup model is the most reliable and matches the validated configuration.

Host Role IP address Subnet mask Workgroup
S7-400 CPU Field controller 172.16.254.1 255.255.255.0 N/A
PC-1 DA Server primary 172.16.254.5 255.255.255.0 WG_INTOUCH
PC-2 DA Server backup 172.16.254.4 255.255.255.0 WG_INTOUCH
PC-3 InTouch client 172.16.254.7 255.255.255.0 WG_INTOUCH
  1. On each host, open Control Panel → Network Connections → Local Area Connection → Properties → Internet Protocol (TCP/IP) and assign the static addresses shown above. Disable the second NIC if one is present to avoid ambiguous routing.
  2. Disable Windows Firewall on all three nodes. For Server 2003 this is Control Panel → Windows Firewall → Off. For Server 2016+ use the PowerShell command Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False only inside a segmented industrial enclave.
  3. Open a command prompt on PC-3 and verify the round trip to the PLC and to both DA Server hosts:
    ping 172.16.254.1 -n 10
    ping 172.16.254.5 -n 10
    ping 172.16.254.4 -n 10
    The reference plant reported sent = received with an average of 1 ms on the loopback-segment LAN. Anything above 5 ms on a switched /24 indicates duplex or STP issues that must be resolved before commissioning redundancy.
  4. Confirm Windows network discovery is enabled and that the workgroup names match exactly (case-sensitive on older Windows versions).

4. Selecting the I/O Server: DASSIDirect vs FSGateway

Both products can read data from a S7-400, but they differ in protocol coverage, redundancy model, and tooling.

Criterion DASSIDirect FSGateway 2.0
Vendor Schneider Electric / Wonderware Wonderware Field Services
Siemens protocols supported S7 MPI/TCP, S7-300/400 ISO-on-TCP, PROFIBUS DP via CP S7 MPI/TCP (peer), S7 ISO-on-TCP; can host multiple PLCs on one service
Native redundancy Yes — built-in Standby Server / Hot Standby pair, coordinated via the Archestra platform No built-in pairing; failover achieved at the Access Name level in InTouch
Topic configuration Through the DASSIDirect Configuration Utility (DASIDirect Server Manager) Through the FSGateway Manager console; one port per device
Best for Dual-server with active/standby, mirrored topics, fast cutover Single-server or Access-Name-level failover, simpler license footprint
Recommended for this reference Yes — preferred for plant-floor redundancy Yes — acceptable if DASSIDirect is not licensed

Use DASSIDirect when both server hosts will be permanently active and the topic definitions are mirrored. The Archestra platform coordinates which instance is the active publisher, and InTouch simply subscribes to the logical topic name. Use FSGateway when the deployment is more loosely coupled; redundancy is then provided at the InTouch layer by configuring a primary and a backup Access Name that point to the two FSGateway instances, and InTouch will perform the cutover when the primary's $AccessName fails to update within the configured timeout.

5. Configuring the DASSIDirect DA Server for S7-400

Repeat this section on both PC-1 and PC-2. Only the host IP and the topic name differ.

  1. Install DASSIDirect from the Wonderware installation media. The installer registers the service ArchestrA.DASDirect.3 (version-dependent) and the configuration shortcut in the Start menu.
  2. Open the DASSIDirect Configuration utility. Create a new Port and select the S7-300/400 TCP/IP driver (also called TCP/IP V4 or S7 TCP/IP depending on the build).
  3. Configure the port with the values below. These settings are the conservative defaults validated for S7-414/416 CPUs.
Parameter Value (PC-1 primary) Value (PC-2 backup) Comment
Host name / IP 172.16.254.1 172.16.254.1 S7-400 ISO-on-TCP endpoint
Rack / Slot 0 / 2 (CPU slot) 0 / 2 Use STEP7 hardware config to confirm
Connection type PG (passive) or OP (active) OP (active) Only one PG connection per CPU is allowed by default
Update interval 250 ms 250 ms Match to PLC OB1 cycle
Timeout 1500 ms 1500 ms Round-trip S7 telegram budget
Topic name S7400_PRIMARY S7400_BACKUP Logical name visible to InTouch
  1. Add the items to be polled. The S7 address syntax is DB<n>,BYTE<offset>.BIT<bit> for bits and DB<n>,REAL<offset> for floating-point values, for example:
    DB100,BYTE0.0   ; discrete bit 0 in DB100
    DB100,INT2      ; 16-bit signed at byte 2 in DB100
    DB100,REAL4     ; 32-bit IEEE-754 at byte 4 in DB100
  2. Save the configuration and start the DASDirect service. Confirm that the topic transitions to Active in the System Management Console of Archestra.
  3. On the engineering node, register the two remote servers under Archestra MMC → System Management Console → DASSIDirect → Server and confirm both topics report Good.
Connection-type pitfall: The S7-400 only accepts one PG (programming) connection and a limited number of OP (operator) connections. If STEP7 is connected to the same CPU at the same time as a DASSIDirect OP link, the second OP link may still be granted, but a second PG link will be rejected. For permanent polling, use OP on the DA Servers.

6. Configuring FSGateway 2.0 for S7-400 Ethernet

FSGateway is the simpler path and was the route originally exercised in the reference architecture. Install it on PC-1 and PC-2 with the same procedure, then create a device and a topic per host.

  1. Start the FSGateway Manager and add a new Siemens S7 TCP/IP device.
  2. Enter the PLC IP 172.16.254.1, rack 0, slot 2. The default port is 102.
  3. Set the scan rate to 250 ms and the timeout to 1500 ms. These are the same as the DASSIDirect defaults so that a like-for-like swap is possible.
  4. Define the topic name as S7400_PRIMARY on PC-1 and S7400_BACKUP on PC-2.
  5. Save and start the FSGateway service. Verify in the Manager that the topic status is Active with valid quality.

FSGateway does not coordinate failover at the server level. Redundancy is provided in InTouch by configuring two Access Names (or a single Access Name with a primary and a backup server) and letting the runtime detect when the primary stops publishing.

7. Building the InTouch Access Name with a Redundant Source

The Access Name is the glue between an InTouch tag and an I/O Server topic. Configuring redundancy is a property of the Access Name, not of individual tags.

  1. In WindowMaker, open Special → Access Name and click Add.
  2. Name the Access Name S7_Access.
  3. Set Application to DAServer for DASSIDirect or FSGateway if you went with the simpler path.
  4. Under Topic Name, enter S7400_PRIMARY for the primary path. If your I/O Server uses a logical Server Name (e.g. \\PC1\DASDirect), enter it here.
  5. If you want a true redundant Access Name, click Add → Secondary and define a second path to the backup I/O Server, typically \\PC2\DASDirect with the same topic name S7400_PRIMARY if the backup server mirrors the topic, or S7400_BACKUP if you kept distinct names per host.
  6. Enable Use Backup and set the failure timeout. The recommended starting value is 2000 ms, which gives the S7 telegram and the DA Server enough room to declare the link dead without false switches on short network blips.
Access Name field Primary Backup
Node PC-1 (172.16.254.5) PC-2 (172.16.254.4)
Application DAServer / FSGateway DAServer / FSGateway
Topic S7400_PRIMARY S7400_PRIMARY (mirrored) or S7400_BACKUP
Use Backup Enabled
Timeout (ms) 2000

Once the Access Name is defined, all tags that reference it will switch to the backup path automatically. Use the built-in attribute $AccessName on a discrete or memory tag to expose the current path name to scripts and the operator, for example to drive a banner that reads "Connected to PRIMARY" or "Connected to BACKUP".

7.1 Detecting Failover in InTouch Logic

Wire the quality attribute of a memory tag to a script to log each transition. A minimal example in the InTouch QuickScript editor:

' Application script — runs once at startup
AddItem("\\Sec\Status", "Memory", 0);

' Data-change script on tag \TagQuality.PLC_Heartbeat
IF PLC_Heartbeat.Quality <> 192 THEN
    LogMessage("Access Name degraded, switching to backup path.");
ELSE
    LogMessage("Access Name healthy on " + $AccessName("S7_Access"));
END IF;

Quality 192 (0xC0) is the OPC Good code. Anything else warrants operator attention. A non-exhaustive mapping is shown below for the most common values you will see during failover.

Quality (decimal) Quality (hex) Meaning Action
192 0xC0 Good None
0 0x00 Bad — communication failure Wait for Access Name switch
8 0x08 Bad — device failure Investigate DA Server / PLC
24 0x18 Bad — waiting for initial data Wait one scan cycle, alert if persistent
64 0x40 Uncertain — last known value Operator warning banner

8. Deploying WindowsViewer Standalone on the Client Node

PC-3 is the operator node. It must run only the InTouch runtime (WindowViewer), not the development environment (WindowMaker). The reference architecture confirmed that installing only the runtime prevents operators from opening the application source and editing it.

  1. On the engineering node, run the InTouch Application Publisher. Select the application, choose Deploy to remote node, and target \\PC3\InTouch.
  2. On PC-3, install only the InTouch runtime components. The custom setup screen allows the engineer to deselect WindowMaker, the database manager, and the application developer tools.
  3. Confirm the registry value HKLM\SOFTWARE\Wonderware\InTouch\InstallType reads Viewer and not Developer. This guarantees that no development shortcuts are present on the operator's desktop.
  4. Configure PC-3 to auto-launch the deployed application. Add a shortcut to view.exe /<appname> in the Startup group of the operator's profile, or use the InTouch Startup utility for service-style launch.
  5. Lock down the local disk. Disable the USB ports, set NTFS permissions on C:\InTouch to Read / Execute for the operator group, and configure a screen-saver password to discourage tampering.
Engineering vs. runtime install: Schneider Electric's installation wizard hides the "Development" option under Custom. New engineers frequently miss it and ship WindowMaker onto operator consoles by accident. Always validate the InstallType registry value before handover.

9. Failover Detection, Switchback, and Tuning Parameters

The InTouch runtime monitors each Access Name's last successful update timestamp. When the primary path exceeds its configured timeout without a successful read, InTouch marks the Access Name as degraded and starts consuming data from the backup path. When the primary path returns to health, the runtime switches back automatically. The decision points and the knobs that control them are listed below.

Parameter Location Default Recommended Effect
Access Name timeout (ms) Access Name dialog 5000 2000 How long the primary may stall before InTouch gives up
DA Server update interval (ms) DASSIDirect / FSGateway topic 1000 250 Frequency of poll to the PLC
DA Server timeout (ms) DASSIDirect / FSGateway port 3000 1500 How long the S7 telegram may take before it is declared failed
Switchback delay (s) Advanced Access Name property 0 (immediate) 5 Wait time before returning to primary to avoid flapping
Quality hold time (s) Tag properties 0 2 Suppress spurious quality alarms during switch

Set the Switchback delay to at least 5 seconds in redundant networks. A primary that has been re-started may take that long to register all its topics and become ready to be polled; without the delay, InTouch will attempt to switch back, fail because the topic is still warming up, switch to backup, and oscillate.

10. Verification Procedures and Acceptance Tests

Every redundant HMI project must be commissioned with a scripted failover test. The acceptance sequence below is derived from the reference architecture and is the minimum bar to declare the system production-ready.

  1. Connectivity baseline. From each Windows host, ping the other three IPs for 60 seconds. All four must show 0% loss with average RTT below 5 ms on a switched /24.
  2. Single-server health check. Stop the DA Server service on PC-2. PC-1 must continue to deliver tags. Restart the service on PC-2 and confirm both topics report Good in the System Management Console.
  3. Primary-down failover. Stop the DA Server on PC-1. Within timeout + 1 s the operator screen on PC-3 must continue updating values sourced from PC-2. Confirm by reading a moving tag (e.g. a counter incremented in OB35 of the S7-400).
  4. Primary-up switchback. Restart the DA Server on PC-1. Within switchback delay + timeout the Access Name must show S7400_PRIMARY again and tag quality must return to 192.
  5. Network pull test. Disconnect the LAN cable from PC-1. The behaviour must be identical to stopping the service: failover to PC-2. Reconnect the cable; switchback must occur cleanly.
  6. PLC pull test. With both servers running, power-cycle the S7-400. Both servers must log a device failure, recover automatically when the CPU is back, and InTouch must not require operator intervention.
  7. Concurrent heavy load. Force a 100% CPU load on PC-1 (for example with BurnInTest) and verify that failover still occurs within the configured timeout. This catches DA Server threads starved of CPU, which is one of the most common real-world causes of unexplained failover.
  8. Operator node smoke test. Confirm that on PC-3, WindowMaker cannot be launched and that the deployed application starts under the operator's restricted account without administrative prompts.

11. Troubleshooting Matrix

Symptom Likely root cause Diagnostic Corrective action
InTouch tags show Quality 0 ("Bad") on both servers PLC unreachable, or rack/slot mismatch From each server host, ping 172.16.254.1 and verify DASSIDirect log shows the rack/slot Re-enter the correct rack/slot; check STEP7 hardware configuration
Only one server sees the PLC, the other reports device failure STEP7 occupying the only PG connection Disconnect STEP7 and re-test the failing server Switch the failing server's connection type from PG to OP
Tags flip between primary and backup every few seconds Timeout too aggressive; switchback delay too short Increase Access Name timeout to 5 s and switchback delay to 15 s, observe Re-tune the Access Name parameters (see Section 9)
Backup never takes over when primary is stopped Backup server not started, or topic name mismatch Check Archestra MMC and the FSGateway Manager on PC-2 Start the service, correct the topic name
Operator console shows "Access Name not found" Application deployed with stale Access Name Compare deployed access.db on PC-3 with the source Re-publish the application from WindowMaker
WindowMaker present on the operator console Runtime-only install skipped Check HKLM\SOFTWARE\Wonderware\InTouch\InstallType Reinstall as runtime only, hide the development shortcuts
DA Server restarts when the S7-400 reboots FSGateway or DASSIDirect is configured with an aggressive reconnect interval Inspect the service log Set reconnect interval to 5 s and verify post-recovery
InTouch quality stays at 64 ("Uncertain") PLC link present but no data item configured Open the topic, verify item list Add the missing items, restart the DA Server

12. Field-Proven Caveats

  • Workgroup vs. domain: With InTouch 10.1 and Windows Server 2003, the workgroup model is the most reliable. If the host must be domain-joined, ensure the InTouchApp share and the view account have read/execute rights for the operator group on every node, otherwise application deployment from the engineering station will fail intermittently.
  • Virtual PC hosts: The reference architecture runs all three Windows nodes on a single VMware Workstation / Hyper-V host for testing. This is acceptable for a lab validation; for production, each node should run on physically separate hardware (or at least on separate hypervisors) so a host failure does not take down both servers.
  • CPU load on the DA Server host: DASSIDirect and FSGateway are both single-threaded for the protocol driver. A noisy-neighbour application (anti-virus scan, Windows Update) can stall the driver thread long enough to trigger a false failover. Exclude the C:\Program Files\Wonderware directory from real-time AV scanning.
  • STEP7 coexistence: Never leave STEP7 connected with a PG link to the S7-400 while commissioning redundancy; the PG connection occupies a slot that the OP connection of the second server may need. Open STEP7, download the project, disconnect, and re-test.
  • License server: Schneider Electric's licensing is host-bound for DA Servers. Confirm the license is registered to the host's HostID (MAC address or SSD volume serial) and not to a USB dongle that may be ejected by a careless operator.
Disclaimer: The procedure above documents a working field configuration for InTouch 10.1 and Archestra 5.2 R2. New deployments should validate against the latest Schneider Electric compatibility matrix for the chosen InTouch version (2020, 2023, 2024) and against the corresponding DASSIDirect / FSGateway release notes. Always confirm the supported Windows version before ordering the host hardware.

FAQ

What is the difference between DASSIDirect and FSGateway for S7-400 redundancy?

DASSIDirect is the native Wonderware I/O Server for Siemens S7-300/400 over MPI, TCP/IP and PROFIBUS, and it supports a true Standby Server pairing coordinated by the Archestra platform. FSGateway is a lighter-weight gateway that exposes S7 TCP/IP as topics, with redundancy implemented at the InTouch Access Name level rather than at the server. For active/standby mirroring, prefer DASSIDirect; for simple Access-Name failover with a smaller license footprint, FSGateway is acceptable.

How do I prevent operators from editing the InTouch application on the client node?

Install only the InTouch runtime (WindowViewer) on the client machine and do not select WindowMaker during the custom setup. Verify the registry value HKLM\SOFTWARE\Wonderware\InTouch\InstallType reads Viewer, then deploy the application from the engineering node using Application Publisher and restrict NTFS rights on C:\InTouch to Read/Execute for the operator group.

What timeout values should I use for the Access Name and the DA Server?

Start with an Access Name timeout of 2000 ms, a DA Server update interval of 250 ms, and a DA Server S7 timeout of 1500 ms. Add a switchback delay of 5 seconds to prevent the runtime from oscillating between the primary and the backup during a primary restart. Always validate by physically pulling the LAN cable from the primary server.

Why do my tags show Quality 0 ("Bad") even though the PLC responds to ping?

ICMP echo is not the same as an ISO-on-TCP (port 102) connection. Verify the S7 port is reachable using Test-NetConnection 172.16.254.1 -Port 102 in PowerShell, confirm the rack/slot in DASSIDirect or FSGateway matches the STEP7 hardware configuration, and check that STEP7 is not holding the only PG connection to the CPU.

Can I run the three Wonderware nodes on a single virtualisation host?

Yes, for a lab or pre-FAT validation this is the reference architecture used here. For production, run each node on physically separate hardware (or at least on separate hypervisors) so a single host failure cannot take down both the primary and the backup DA Server simultaneously, which would defeat the purpose of the redundant design.

Back to blog