Problem Overview
OPC Scout V10 (bundled with SIMATIC NET PC software) is the canonical diagnostic client for verifying S7 connections against a SIMATIC NET OPC DA server. When item qualities in the OPC Scout browsing tree report QUALITY=BAD or QUALITY=BAD/INVALID, the client is acknowledging the subscription but the server cannot deliver a valid process value. The connection from the engineering station to the S7-400 is technically reachable (ICMP ping succeeds, STEP 7 online functions work, item symbols are visible in OPC Scout), but no usable data crosses the S7 transport connection.
This is a distinct failure mode from a hard socket failure, where the item is reported as QUALITY=BAD/COMMUNICATION_FAILURE. A BAD/INVALID or generic BAD state almost always points to a configuration mismatch between the PC station project in STEP 7 / NETPro and the running SIMATIC NET OPC server service, or to a missing PC Station download of the XDB/PCD file that the OPC server runtime loads at boot.
This reference covers the full diagnostic chain for SIMATIC NET V8.x through V16 with OPC Scout V10 against an S7-400 / CP443-1 (Industrial Ethernet) target. Specific topics: PC station configuration, S7 connection establishment in NETPro, XDB download, OPC server runtime startup, item group definition, and quality-code interpretation per the OPC DA 2.05a / 3.0 specification.
Architecture and Component Identification
A correct deployment for OPC Scout V10 against an S7-400 uses the following components. Each must be identified in your project before diagnostics begin, because SIMATIC NET binds connections by logical names, not by IP address, and a mismatch at any layer produces a generic BAD quality.
| Layer | Component | Typical Part / Version | Role |
|---|---|---|---|
| Field controller | S7-400 CPU | 6ES7414-3EM07-0AB0, 6ES7416-3ES07-0AB0, 6ES7417-4XT05-0AB0 | Source of process symbols |
| Field controller | CP443-1 (Industrial Ethernet) | 6GK7443-1EX11-0XE0, 6GK7443-1EX20-0XE0, 6GK7443-1EX30-0XE0, 6GK7443-1EX40-0XE0, 6GK7443-1EX50-0XE0 | PROFINET / S7 transport endpoint |
| Network | Industrial Ethernet / managed switch / access point | SCALANCE XC/XB/XR, third-party (Belkin, Cisco, etc.) | L2/L3 transport, may perform NAT |
| PC station | SIMATIC NET PC software | V8.2, V12 SP2, V13 SP2, V14 SP1, V15, V15.1, V16, V17 | Hosts OPC DA server, S7 transport DLLs |
| PC station | OPC Scout V10 (S7OPT) | Bundled with SIMATIC NET, ships as S7OPCSCOUT.exe
|
Diagnostic OPC DA client |
| Configuration | STEP 7 V5.5 / V5.6 or TIA Portal V13–V17 | With NETPro (V5.x) or Devices & Networks (TIA) | Authoring of S7 connection and PC station |
Confirm the version pairing on the engineering station before continuing. SIMATIC NET V12 and later cannot coexist on the same machine with SIMATIC NET V8.x; mismatched or partially upgraded installations are a leading cause of items that browse cleanly yet stay BAD.
Required PC Station Components in HW Config
The PC station in STEP 7 HW Config (or TIA Portal "Devices & Networks") must contain both of the following slots, in the order shown. The order is enforced by SIMATIC NET and is verified against the running configuration during OPC server start-up.
- Slot 1: OPC Server (component type index 16) — provided by SIMATIC NET PC software. In TIA Portal, the catalog item is SIMATIC NET OPC Server under PC Station > User Application.
- Slot 2: IE General / CP1613 / CP1623 / Softnet IE — the Ethernet interface used to reach the S7-400. For wireless or virtual adapters, use the IE General (Layer-2 capable) component and set the Mode to Ethernet or ISO-on-TCP. Never assign a S7 connection to a generic NDIS adapter in PC station slot 2 without first binding the IE General to that physical interface via Configuration Console (SIMATIC NET V8.x) or Commissioning > Set PC station (TIA Portal).
Root Cause Analysis: Why OPC Scout Reports BAD
Per the OPC quality code semantics preserved from the OPC DA 3.0 specification, a BAD quality is the server's statement that "no usable value is available for this item." The cause is not always a wire problem; it is most often a state inside the OPC server engine that prevents the requested item from being associated with a valid source. The following five root causes account for the overwhelming majority of OPC Scout V10 BAD-quality incidents against S7-400.
Root Cause 1: PC Station XDB Not Downloaded to the Local Runtime
The single most common cause. The PC station was edited in NETPro, but the configuration was never written to the live PC station database (the *.XDB / *.PCD file the OPC server reads at startup). OPC Scout will browse the items (because it queries the project), but every read returns BAD because the OPC server engine has no active S7 connection matching the symbol's owner connection.
Root Cause 2: S7 Connection Built but Not Downloaded to the S7-400
STEP 7 / TIA Portal may export the configuration from the PC side only. If the S7-400's CP443-1 has no matching S7 connection, the CP443-1 will reject the OPC server's connection-establishment request, and OPC Scout items will report BAD/CONFIGURATION_ERROR (sub-code 0x80040000 range). Download must be performed to both the PC station and the S7-400 in the same NETPro session.
Root Cause 3: IP / Subnet Mismatch Between OPC Server's IE General and CP443-1
The OPC server sends the S7 connection request from the IP of the bound IE General adapter. If the CP443-1's IP is in a different subnet (or behind a NAT router that does not preserve the source port for ISO-on-TCP port 102), the S7 connection cannot establish. ICMP ping working through a consumer-grade router is not sufficient evidence; many routers block the TCP/102 path while permitting echo. Verify with telnet 192.168.0.1 102 from the engineering station command line — it must open.
Root Cause 4: PG/PC Interface Not Set to the IE General Bound Adapter
For SIMATIC NET V8.x, the Configuration Console binds the IE General component to a specific NDIS adapter. If the PG/PC Interface (in the Control Panel applet, or via Set PG/PC Interface) is left on PC-Internal (local), STEP 7 online functions still work, but the SIMATIC NET OPC server cannot resolve the IE General to a physical interface and starts without an active S7 transport.
Root Cause 5: Symbol Resolution Mismatch in OPC Scout V10
OPC Scout V10's "S7" access path uses the syntax S7:[<connectionname>]<symbolpath>. The <connectionname> is the logical S7 connection name as defined in NETPro, not the IP address. A typo, a renamed connection, or a connection that exists in NETPro but is disabled produces a browsable item that returns BAD/INVALID on every read.
Pre-Diagnostic Checklist
Run the following checks before editing any project. Each check costs less than 30 seconds and rules out 80% of bad-quality reports without project modification.
-
Ping CP443-1:
ping 192.168.0.1from the engineering station. A reply proves L3 reachability only. -
Test S7 port:
telnet 192.168.0.1 102from a Windows command prompt. The cursor should land on a blank black screen. If it fails, the OPC server will not be able to connect either. - Verify STEP 7 online: In STEP 7 V5.5, choose PLC > Display Accessible Nodes with the PG/PC interface set to the IE General adapter. The S7-400 must appear. Online capability proves the S7 transport DLLs are functional and the IE General is correctly bound.
- Check SIMATIC NET services: Open services.msc. The SIMATIC NET OPC Server and S7DOS services must be Started and Automatic.
- Configuration Console state: Open SIMATIC NET Configuration Console and confirm the IE General mode is Ethernet (not PG mode), the assigned physical adapter is the correct NDIS instance, and the configured IP matches the engineering station's wired or wireless adapter IP.
Step-by-Step Resolution Procedure
The following procedure is the canonical fix for OPC Scout V10 reporting BAD on items after the S7 station was reconfigured. It assumes STEP 7 V5.5 + SIMATIC NET V8.x; equivalent TIA Portal / V16 steps are noted in brackets where they differ.
Step 1 — Validate the PC Station Project
In STEP 7 V5.5 HW Config, double-click the PC station and verify:
- Slot 1: OPC Server (firmware version matches the installed SIMATIC NET CD, e.g. V8.2).
- Slot 2: IE General with IP
192.168.0.241(or your engineering station IP) and subnet mask matching the CP443-1 (typically255.255.255.0). - The PC station's Name matches the Windows hostname exactly. Use
hostnamein cmd to confirm.
Step 2 — Create the S7 Connection in NETPro
Right-click the OPC Server slot → Insert New Connection. In the connection dialog:
| Field | Value |
|---|---|
| Connection partner | S7-400 / CP443-1 (the partner must be inserted in NETPro and configured with its own IP) |
| Connection type | S7 connection |
| Local ID / Name | A descriptive name, e.g. OPC_to_S7400. This name will appear in OPC Scout's access path. |
| Partner address (IP) |
192.168.0.1 (CP443-1 IP) |
| Rack / Slot of partner CPU | 0 / 3 (typical for S7-400) |
| Connection resource | Auto, or one of the 16 S7 connection resources on CP443-1 |
Save and close NETPro. The connection object becomes visible as a yellow "ladder" line between the PC station and the S7-400 station.
Step 3 — Download the Configuration to the PC Station (XDB)
This is the step that is most often skipped, producing the exact "symbols visible, quality BAD" symptom.
- In NETPro, right-click the PC station and choose Download > Selected Stations.
- Confirm the target is the local PC station (it must show the local PC station name and IP).
- STEP 7 will prompt whether to stop the SIMATIC NET OPC server. Click Yes. The service stops, the XDB is written to
%ProgramFiles%\Siemens\Automation\SIMATIC_NET\<version>\S7opc\Data\<stationname>.XDB, and the service restarts.
Step 4 — Download the Configuration to the S7-400 (CP443-1)
With the S7-400 selected as the target, choose PLC > Download in NETPro (or Online > Download to device in TIA Portal). This pushes the matching S7 connection into the CP443-1's connection table. The CP443-1 must be in Run with configuration (not Run without configuration) for the connection to become active; verify with the CP443-1's MODE switch position.
Step 5 — Restart SIMATIC NET OPC Server Service
Even if step 3 reported success, manually restart the service to force a clean read of the new XDB:
sc stop "SIMATIC NET OPC Server"
sc start "SIMATIC NET OPC Server"
Or via services.msc → right-click SIMATIC NET OPC Server → Restart. Wait 10–15 seconds for the S7 transports to establish; the service logs to %ProgramFiles%\Siemens\Automation\SIMATIC_NET\<ver>\S7opc\Trace\s7opc.log.
Step 6 — Add Items in OPC Scout V10
Open S7OPCSCOUT.exe from %ProgramFiles%\Siemens\Automation\SIMATIC_NET\<ver>\OPC\Bin (or the Start menu Siemens Automation > SIMATIC NET > OPC Scout).
- Double-click OPC.SimaticNET under Local Server(s). The DA 2.05/3.0 server progID for SIMATIC NET is
OPC.SimaticNET(DA 2.05a) orOPC.SimaticNET.DA(DA 3.0, V14+). - Navigate the tree to S7 → <connectionname> → CPU_4xx → Symbols. The connection name from step 2 appears here.
- Drag a symbol (e.g.
DB1.DBD0or a named tag) into the right-hand item pane. - The quality cell should transition from
BADtoGOODwithin 1–2 seconds. If it does not, the diagnostic tree in the next section applies.
Verification
Once OPC Scout reports GOOD for at least one item, run the following verification suite before closing the commissioning session.
| Check | Procedure | Expected Result |
|---|---|---|
| Quality flip on demand | In STEP 7, force DB1.DBD0 to a known value (VAT table or Watch table) |
OPC Scout item updates within the configured update rate (default 1000 ms) |
| Subscription stability | Leave OPC Scout running 15 minutes | Quality remains GOOD; no BAD events in the s7opc.log |
| Connection state in Station Configuration Editor | Open Station Configuration Editor; observe the S7 connection status | Connection shows green / "Established" / "OK" |
| Second client test | Open OPC Quick Client (bundled) or a third-party client | Same items report GOOD, proving server, not client |
| Disconnect/reconnect | Unplug the CP443-1 Ethernet, wait 30 s, plug back | OPC Scout briefly reports BAD/COMMUNICATION_FAILURE then recovers to GOOD
|
A passing disconnect/reconnect test is the strongest evidence that the S7 connection is properly bound on both ends; it also confirms the OPC server's auto-reconnect timeout (default 30 s) is functioning.
Troubleshooting Matrix
Use this matrix when the steps above do not produce a GOOD result. Each row maps a symptom to the most likely cause and the corrective action.
| OPC Scout Symptom | Most Likely Cause | Corrective Action |
|---|---|---|
Tree browses, all items BAD/INVALID
|
XDB not downloaded to PC station | Re-run Step 3 of the procedure above |
| Items missing from the tree | S7 connection not created or wrong partner | Re-run Step 2; verify connection partner is the S7-400 station, not an HMI station |
All items BAD/CONFIGURATION_ERROR
|
S7-400 has no matching connection | Re-run Step 4; verify CP443-1 MODE switch is on Run with configuration |
All items BAD/COMMUNICATION_FAILURE
|
TCP/102 blocked or wrong IP |
telnet <CP443-1 IP> 102; check Windows Firewall and any router ACLs |
| Quality oscillates GOOD/BAD | Wireless link flapping or duplicate IP |
arp -a; check for MAC flapping; replace consumer AP with industrial switch for the cell |
Items report GOOD in OPC Scout but BAD in third-party client |
DCOM security mismatch; client running as wrong user | Configure Launch and Activation Permissions on OpcEnum and OPC.SimaticNET for the client user |
| OPC server service will not start after download | XDB corruption or IE General adapter disabled | Reopen Configuration Console; re-bind IE General; re-download XDB; check s7opc.log
|
Items report BAD only after a few hours |
Connection resource exhausted on CP443-1 (max 16 S7 connections) | Audit S7 connection count in CP443-1 diagnostics; consolidate connections or use S7-Routing |
Quality-Code Reference for OPC DA 2.05a / 3.0
The OPC DA specification defines the quality word as a 16-bit field: 2 bits for Quality, 6 bits for Sub-status, 8 bits for Limit. The values most commonly observed in OPC Scout V10 are listed below for quick reference.
| Hex (Quality + Sub-status) | Name | Meaning in SIMATIC NET context |
|---|---|---|
| 0x0000 | BAD / Non-specific | Generic: no usable value, no specific reason |
| 0x0004 | BAD / Configuration Error | S7 connection missing or misconfigured in XDB |
| 0x0008 | BAD / Not Connected | Server has not established S7 transport to CP443-1 |
| 0x000C | BAD / Device Failure | CP443-1 rejected the S7 connection (no partner config) |
| 0x0010 | BAD / Sensor Failure | PLC reported an I/O / diagnostic fault on the underlying tag |
| 0x0020 | BAD / Last Known Value | Connection lost, server returning last cached value |
| 0x0040 | BAD / Communication Failure | TCP/102 path broken; CP443-1 unreachable |
| 0x0060 | BAD / Out of Service | Item marked inactive in OPC server (e.g. server in "simulation off") |
| 0x4000 | UNCERTAIN / Non-specific | Server started, value not yet received from PLC |
| 0xC000 | GOOD / Non-specific | Value is current and valid |
The OPC Foundation documents the full list in the OPC DA 3.0 specification, also referenced in OPC UA Standard forum note on BAD quality semantics.
Log and Trace Locations
When the matrix above does not pinpoint the cause, harvest the following logs and attach them to a Siemens Industry Online Support request.
| Component | Path (SIMATIC NET V8.x) | What to look for |
|---|---|---|
| OPC server trace | %ProgramFiles%\Siemens\Automation\SIMATIC_NET\<v>\OPC\Trace\s7opc_*.log |
Connection state changes, item errors |
| S7 transport trace | %ProgramFiles%\Siemens\Automation\SIMATIC_NET\<v>\S7trace\*.log |
PDU exchange with CP443-1 |
| Configuration Console | Start > Siemens Automation > SIMATIC NET > Configuration Console | IE General binding, mode, diagnostic |
| Station Configuration Editor | Start > Siemens Automation > SIMATIC NET > Station Configuration Editor | Per-slot status of OPC Server and IE General |
| STEP 7 diagnostic buffer (S7-400) | PLC > Diagnostic / Setting > Diagnostic Buffer | CP443-1 connection-establishment errors |
For V12 and later, the trace directory is reorganised under %ProgramFiles%\Siemens\Automation\SIMATIC_NET\v<ver>\Trace; the S7OPCSCOUT log remains the primary correlation point.
Preventive Best Practices
Build these into commissioning procedure documents to prevent recurrence.
- Version lock: Document the exact SIMATIC NET build, STEP 7 / TIA Portal build, and S7-400 firmware version in a commissioning report. Cross-version mismatches are the most common latent cause of intermittent BAD qualities after Windows updates.
- Single source of truth: Always edit S7 connections in NETPro / Devices & Networks, never directly in the Configuration Console. The Configuration Console only binds the IE General to a physical adapter; the S7 connection lives in NETPro.
- Industrial network: For production cells, replace consumer wireless routers (Belkin N150 etc.) with SCALANCE W access points configured as a transparent bridge; the CP443-1 and the engineering station must be in the same L2 broadcast domain without NAT for ISO-on-TCP / S7 transport reliability.
-
XDB backup: After every NETPro change, archive the resulting
<stationname>.XDBalongside the STEP 7 project. This is the only file the OPC server reads; restoring a known-good XDB is often faster than re-editing the project. - Service account: Run OPC server and OPC Scout under a dedicated Windows user, not SYSTEM. This keeps DCOM security simple when third-party clients (Ignition, Kepware, WinCC) are added later.
FAQ
Why does OPC Scout V10 see all my symbols but every read returns BAD?
OPC Scout enumerates items from the offline STEP 7 project, not from the live OPC server connection. A BAD quality on read means the OPC server engine has the symbol registered but no active S7 transport can resolve it. The most common cause is that the PC station XDB has not been downloaded to the local runtime after the S7 connection was added in NETPro. Use NETPro > right-click PC station > Download > Selected Stations to push the XDB, then restart the SIMATIC NET OPC server service.
ICMP ping to CP443-1 succeeds but OPC Scout shows BAD/COMMUNICATION_FAILURE. What's wrong?
Ping uses ICMP, which is independently routed and does not exercise the S7 transport port. Verify with telnet 192.168.0.1 102 from the engineering station; the connection must open to a blank terminal. If it fails, check Windows Firewall (allow S7DOS.exe and S7OPCSRV.exe), any consumer router ACLs, and confirm the CP443-1 firmware supports the negotiated ISO-on-TCP variant (typically fine on CP443-1 EX20 and later).
My S7-400 is visible in STEP 7 "Accessible Nodes" but OPC Scout items stay BAD. Is the connection correct?
Accessible Nodes exercises the PG/PC interface path, not the OPC server's S7 transport. Accessible Nodes succeeding only proves your PG/PC interface is correctly bound. You still need a dedicated S7 connection from the OPC Server slot to the S7-400 station in NETPro, downloaded to both sides, for the OPC server to read process data.
How do I confirm the OPC server is actually using the S7 connection I built in NETPro?
Open the Station Configuration Editor (Start > Siemens Automation > SIMATIC NET > Station Configuration Editor). The OPC Server slot shows a live state; expanding the IE General slot shows the S7 connection name and its current status (Established / Not Connected / Aborted). A "Not Connected" status after several seconds indicates the partner S7-400 has not received the matching connection — re-download the CP443-1 configuration.
Quality was GOOD for a day and is now BAD again with no project changes. What changed?
Almost always one of three things: a Windows update replaced the SIMATIC NET driver files (re-run the SIMATIC NET setup in "Repair" mode), an antivirus quarantine deleted the XDB (restore from the project archive and re-download), or the CP443-1 lost a connection resource because another engineering station opened a competing S7 connection (audit S7 connection count, max 16 per CP443-1). The s7opc.log will show whether the S7 transport was closed by peer or by local timeout, which discriminates these cases.