Troubleshooting PCS 7 AS-Wide Interconnection Limit Reached Error

David Krause14 min read
Process ControlSiemensTroubleshooting
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

1. Problem Description

When configuring AS-Wide Interconnections between two PCS 7 Automation Stations (AS 1 and AS 2) on redundant S7-400H controllers — for example, two CPU 417-5H PN/DP (6ES7417-5HT06-0AB0) stations — the SIMATIC Manager / PCS 7 engineering tool issues the following diagnostic message while editing a CFC chart in OB 3x:

"200 Input interconnections to this partner CPU have already been configured in this OB."

Moving the block to a different OB 3x (e.g., from OB 33 to OB 32) postpones the error, but the second OB will also reject further interconnections after a comparable threshold is reached. The system does not crash, but the engineering tool refuses to compile the new chart until either the number of interconnections is reduced or the transport mechanism is changed.

Symptom summary:

  • CFC compile warning or error referring to OB 3x partner CPU interconnections.
  • Cross-reference view shows that all "Input" or "Output" chart-in-chart pins on a single partner AS are saturated.
  • Behavior is identical in single-station (AS 410) and H-system (AS 410H / AS 417H) topologies; the limit is a CFC / OS communication feature, not a CPU hardware feature.

2. Root Cause Analysis

AS-Wide Interconnections are a PCS 7-specific concept that exchanges process values between the WinCC-based OS archive / faceplate layer and remote AS stations through the plant bus (Industrial Ethernet / PROFINET). The CFC editor manages these links as compiled blocks that map signal sources to signal sinks across AS boundaries.

There are two different throttling models implemented over the lifetime of PCS 7:

Release Branch Limitation Model Cap User-Visible Behavior
PCS 7 V7.1 (initial release) Hard count of interconnections per partner CPU per OB 200 inputs to one partner CPU per OB 3x, 15 different AS partners max Engineering error when 200 is reached
PCS 7 V7.1 SP1 / SP2 onward Throughput-based, in bytes per second 10,000 bytes/sec aggregate, 4,800 bytes per OB 3x per partner AS (CFC V8.0 SP4 documentation) Runtime warning / degraded performance rather than hard compile stop
PCS 7 V8.0 / V8.0 SP1 / V8.1 / V8.2 / V9.0 Throughput-based, CPU-performance dependent 4,800 bytes/OB 3x cap retained, but total throughput is bounded by CPU class Performance impact, not a strict 200-count lockout

The 200-error message displayed in V8.0 SP1 is a legacy diagnostic carried forward from the original V7.1 CFC code path; it is the same string and is triggered when the per-OB partner CPU counter exceeds the legacy limit. The system is, in fact, in the throughput-limited regime, but the CFC UI surfaces the older wording until the chart is moved or reorganized.

3. AS-Wide Interconnection Limits per PCS 7 Version

The exact published figures are version-dependent and must be verified against the locally installed CFC for SIMATIC S7 manual. The table below reflects the values reported in the PCS 7 V8.0 SP4 CFC manual and field references.

Parameter Value Source
Maximum interconnections per partner CPU per OB 3x (initial V7.1) 200 PCS 7 V7.1 release notes
Maximum different AS partners per AS (V7.1) 15 PCS 7 V7.1 release notes
Aggregate AS-Wide throughput (V7.1 SP1+) 10,000 bytes/sec Siemens support response (original release article)
Per-OB 3x byte cap (V8.0 SP4 manual) 4,800 bytes CFC for S7, V8.0 SP4 manual, section "AS-wide interconnections"
CPU communication share default 20 % (initial), raised to 30 % in later service packs for AS-Wide communication CPU Properties → Communication
Note: The 10,000 bytes/sec figure was the original published throughput cap. The 4,800 bytes/OB 3x figure is a structural cap independent of the cycle time. If your OB 33 runs at 1,000 ms, an OB 33 full to the 4,800-byte cap contributes 4,800 bytes/sec to the throughput total. The two caps must both be respected.

4. Throughput-Based Limiting: Bytes/Sec Model

In PCS 7 V7.1 SP1 and later, the hard 200-count limit was replaced with a throughput budget. Each AS-Wide interconnection consumes a number of bytes that is a function of the transported data type and the OB 3x in which the source and sink blocks reside.

Byte weight per interconnection (typical published values):

Data Type Byte Weight per Update
BOOL 1 byte
REAL / INT / DINT 4 bytes
DWORD / WORD 4 bytes
BYTE 1 byte
STRING (n chars) n + 2 bytes

The per-second contribution of a single interconnection is:

bytes_per_sec = byte_weight / OB_cycle_time_seconds

For example, a single REAL interconnection from a chart in OB 35 (1,000 ms) of AS 1 to a chart in OB 35 of AS 2 contributes 4 bytes / 1 sec = 4 bytes/sec. A BOOL in OB 32 (100 ms) contributes 1 / 0.1 = 10 bytes/sec. The 10,000 bytes/sec ceiling is therefore consumed 25× faster by fast OB connections carrying small types than by slow OB connections.

5. Per-OB 3x Byte Cap (4,800 Bytes)

The CFC V8.0 SP4 manual states that each OB 3x may carry a maximum of 4,800 bytes of AS-Wide interconnection data to a single partner AS. This is a structural cap, not a per-second cap. It exists so that the OB's process image remains schedulable inside its cycle window.

OB 3x cycle time reference values on S7-400 / S7-400H:

OB Default Cycle Time Notes
OB 30 free / unused by default Reserved; rarely populated
OB 31 configurable Often unused
OB 32 500 ms (PCS 7 typical) Slow I/O / supervisory
OB 33 1,000 ms (PCS 7 typical) Default for most CFCs
OB 34 2,000 ms (PCS 7 typical) Slow scanning
OB 35 1,000 ms (PCS 7 typical) Common for control blocks
OB 36-38 configurable Application-specific

Interconnections where the source chart is in OB 33 of AS 1 and the sink chart is in OB 34 of AS 2 are classified as inter-OB and consume more bytes per update than same-OB (e.g., OB 33 to OB 33) connections. The exact multiplier depends on PCS 7 version, but field experience is that inter-OB connections cost approximately 2× to 3× the bytes/sec of same-OB connections because PCS 7 has to bridge two different cyclic task levels.

6. Diagnosing the Limit with Chart Reference Data

Open the project in SIMATIC Manager and navigate to:

  1. Select the S7 program of AS 1.
  2. Right-click → Chart Reference Data → AS-Wide Interconnections.
  3. PCS 7 builds a tabular view that lists every AS-Wide interconnection with: source chart, sink chart, OB 3x of source, OB 3x of sink, byte weight, and computed bytes/sec.

To total the throughput budget for a single partner AS:

total_bytes_per_sec = SUM(bytes_per_sec) for all rows
                    where partner = target_AS

If total_bytes_per_sec is approaching 10,000 bytes/sec, the connection is being throttled. If the per-OB 3x sum is approaching 4,800 bytes, that single OB is at its structural ceiling. The 200-count error appears when the engineering UI's per-OB partner CPU counter (an internal diagnostic) trips its legacy threshold; it is not a real communications failure.

7. Solution Path 1: Re-balance Interconnections Across OB 3x

The first remediation is non-invasive and respects the throughput model.

  1. Open Chart Reference Data → AS-Wide Interconnections.
  2. Group source and sink charts by OB 3x. Identify all inter-OB pairs (e.g., OB 33 → OB 34).
  3. For each pair, calculate the bytes/sec saving if both charts are moved to a single common OB 3x (typically OB 33 or OB 35).
  4. Move source/sink charts into the common OB. Use CFC → Block → Move to OB. Re-verify the bytes/sec column.
  5. Re-compile the S7 program. The 200-error should not reappear if the per-OB counter drops back below 200.
Engineering tip: All AS-Wide interconnections of a single project tend to gravitate toward OB 33 because that is the PCS 7 default. Spreading into OB 35 (also 1,000 ms) doubles the available budget without changing the visible cycle time of the application.

8. Solution Path 2: Switch to SEND_R / REC_R Blocks

When the throughput cap is structurally unreachable because the application genuinely has more than the supported quantity of interconnections, PCS 7's library blocks SEND_R and REC_R replace AS-Wide interconnections with bulk SEND/RECEIVE telegrams. These are not subject to the 200-count / 4,800-byte/OB 3x limit; they ride on S7 communication connections managed by the CPU's communication resources.

Capacity per SEND_R / REC_R instance (as published in the PCS 7 library):

Data Type Quantity per Block
REAL 32
BOOL 32
Block payload 32 × 4 + 32 × 1 = 160 bytes gross per call

The classic recipe for replacing 200 single-pin AS-Wide interconnections is to bundle them into seven SEND_R / REC_R pairs (7 × 32 = 224 real values, plus the booleans in a separate pair).

  1. Open the CFC library: PCS 7 APL V8.0 SP1 → Communication → SEND_R / REC_R.
  2. Drop one SEND_R in the source AS and one REC_R in the destination AS.
  3. Connect the 32 real-value inputs of SEND_R to the chart outputs you want to publish; map them 1:1 to the 32 real-value outputs of REC_R on the partner AS.
  4. Configure the connection ID. Each SEND_R / REC_R pair consumes one S7 connection; the connection must be defined in NetPro with ISO-on-TCP (TCP native) and a unique Local ID.
  5. Compile the program. The Chart Reference Data view will no longer list these exchanges as AS-Wide interconnections; they appear under the SEND/RECEIVE block section instead.
Performance note: SEND_R / REC_R telegram latency is bounded by the configured send/receive watchdog (default 5 s). It is not equivalent to the tight, OB-3x-synchronous update of an AS-Wide interconnection. Use it for supervisory data, not for closed-loop control signals with sub-second requirements.

9. CPU Communication Load Settings

Each CPU exposes a Communication share under CPU Properties → Communication. Default values:

  • Initial PCS 7 releases: 20 % of the OB 1 priority class reserved for communication.
  • Later service packs raised the AS-Wide communication reserve to 30 %.

Procedure to inspect / change the share:

  1. In HW Config, open the CPU 417-5H PN/DP properties.
  2. Select the Communication tab.
  3. Read the Communication reserve / maximum percentage.
  4. Increase the value (for example from 20 % to 30 %) only if the application has OB 1 headroom — raising the share steals time from cyclic execution and may extend OB 1 scan time.
  5. Download the hardware configuration and verify with a CPU diagnostic buffer readout.

For H-systems, repeat on the standby CPU. H-CPU parameters are kept consistent via the link-up procedure after the next synchronization event.

10. Inter-OB vs Same-OB Optimization Strategy

If a project's AS-Wide interconnection footprint must be reduced by, say, 30 % without dropping signals, the most efficient single change is to collapse inter-OB connections into same-OB connections. A practical approach:

Connection Pattern Approx. bytes/sec Multiplier (relative to same-OB OB 33 → OB 33 REAL)
OB 33 (1,000 ms) → OB 33 (1,000 ms), REAL 1.0× (baseline = 4 bytes/sec)
OB 33 (1,000 ms) → OB 34 (2,000 ms), REAL ~2-3×
OB 32 (500 ms) → OB 34 (2,000 ms), REAL ~3-4×
OB 35 (1,000 ms) → OB 36 (configurable), REAL ~2-3×

Field result: aligning 60 inter-OB connections into a single common OB typically frees 30 % to 50 % of the throughput budget. The per-OB 3x byte cap is also relaxed because the bytes are no longer spread across two OB contexts.

11. Verification

After any remediation, perform the following checks:

  1. Compile clean — Run CFC → Compile → Charts as Program. No warnings about partner CPU interconnections should remain.
  2. Reference data recount — Re-open Chart Reference Data → AS-Wide Interconnections. Confirm:
    • No OB 3x exceeds 4,800 bytes for any single partner AS.
    • Aggregate bytes/sec stays below 10,000 (or whatever the current Siemens-published value is for the installed version).
  3. Runtime CPU load — In WinCC, open the CPU Diagnostics view. Confirm OB 1 cycle time and communication time are within the budget. For an H-system, confirm both CPUs report the same load after a master/standby switchover test.
  4. H-system failover test — Power-down the primary CPU. Verify the standby CPU takes over within the configured H-CPU switchover time and that all AS-Wide interconnections resume without operator-visible gaps in faceplate values.
  5. OS archive consistency — Open WinCC Tag Logging and verify that the inter-AS tags are archived continuously across the failover. Any gap larger than the configured archive cycle indicates a buffered-link issue.

12. Troubleshooting Matrix

Symptom Likely Cause Remediation
200 input interconnections error on first OB attempted Legacy per-OB partner counter tripped (V7.1-era code path) Move block to another OB 3x; re-balance per the throughput table
Same error appears immediately on the second OB Aggregate bytes/sec budget exhausted Use Chart Reference Data to find high-byte consumers; consolidate to common OB or switch to SEND_R/REC_R
Slow faceplate update from a remote AS Inter-OB AS-Wide interconnection from slow OBs Move source and sink into a common OB 3x (typically OB 33 or OB 35)
Buffer overrun messages in diagnostic buffer for SEND_R SEND_R/REC_R watchdog too short for the plant-bus latency Increase the Time monitoring parameter on the SEND_R instance; check plant-bus health
H-system reports inconsistent AS-Wide interconnections on failover Different communication reserve between primary and standby CPU Synchronize CPU properties; force a LINK update after the parameter change
Engineering tool error persists after rebalance NetPro connection resource exhausted Check S7 connection count: S7-417-5H supports up to 120 S7 connections; consolidate SEND/RECEIVE pairs to fit

13. Safety and Performance Considerations

  • Never raise the CPU communication reserve above the engineering-tested 30 % for AS-Wide without re-running the application FAT. Closed-loop control blocks that depend on a stable OB 1 budget will misbehave if communication time crowds cyclic time.
  • H-system rules: AS-Wide interconnections are evaluated on the primary CPU only. The standby does not double-count the budget, so the per-OB 3x cap is still 4,800 bytes per OB, not per CPU pair.
  • Plant-bus segmentation: If AS 1 and AS 2 sit on the same PROFINET ring, the plant-bus load is additive. Use managed switches with IGMP snooping and PROFINET QoS to keep multicast (used by WinCC redundancy) off the AS-Wide link.
  • Firmware consistency: V8.0 SP1 must run on firmware that is in the PCS 7 V8.0 SP1 released-by-Siemens list. Mismatched firmware (e.g., a CPU 417-5H with V6.0.7 firmware against a project compiled under V4.5.7) can produce compile-time warnings that look like the 200-interconnection error.

14. Reference: Key Document Anchors

Important: The byte/sec and per-OB 3x cap figures in this article are derived from the PCS 7 V8.0 SP4 CFC manual and from the field discussion summary. For projects on PCS 7 V9.0 / V9.0 SPx, the current Siemens Service & Support portal is the authoritative source — the cap may have been revised upward with later CPU firmware.

What does the "200 input interconnections to this partner CPU have already been configured in this OB" error mean?

It is the legacy PCS 7 V7.1 hard-count diagnostic message that surfaces when the engineering tool's internal counter for AS-Wide interconnections from a single partner CPU to one OB 3x exceeds 200. In PCS 7 V8.0+ the active limiting model is throughput-based (4,800 bytes per OB 3x, 10,000 bytes/sec aggregate), but the error string from V7.1 is still shown until the chart is rebalanced.

How many AS-Wide interconnections are supported on PCS 7 V8.0 SP1?

The published limits are 4,800 bytes per OB 3x per partner AS and roughly 10,000 bytes/sec aggregate across all OBs, with a CPU-class-dependent maximum number of interconnections. On an S7-417-5H PN/DP, the practical cap is set by the throughput budget, not by a fixed count.

Can I just keep moving the chart into another OB 3x to bypass the error?

It works for one or two moves because each OB 3x has its own 4,800-byte budget, but the aggregate bytes/sec limit is shared. Once the throughput budget is exhausted, moving blocks does not help. The permanent remedies are consolidating into a common OB 3x, or replacing the affected interconnections with SEND_R / REC_R blocks.

Why do inter-OB connections (for example, OB 33 to OB 34) cost more bytes/sec?

P CS 7 has to bridge two different cyclic task levels, which adds handshaking overhead and a second scheduling window. The multiplier depends on PCS 7 version but is typically 2× to 3× the bytes/sec of an OB 33 to OB 33 connection. Aligning source and sink into a common OB 3x is the most effective single optimization.

Are SEND_R / REC_R a drop-in replacement for AS-Wide interconnections?

Functionally they carry the same process values, but they ride on S7 connection resources, are limited to 32 REAL + 32 BOOL per instance, and use a watchdog for delivery confirmation. Latency is typically 1-5 s versus the OB 3x cycle for AS-Wide. They are appropriate for supervisory and trending data, not for fast closed-loop control.

Does raising the CPU communication share from 20% to 30% solve the throughput limit?

It frees more OB 1 time for the AS-Wide communication task, which can help if the diagnostic buffer shows communication timeouts. It does not raise the 4,800-byte per-OB 3x structural cap, and it does not relax the legacy 200-count diagnostic in the engineering UI. The structural cap is enforced by the CFC compiler, not by CPU run-time.

Back to blog