Overview
The Siemens SIMATIC S7-400 CPU 416-3 DP (article number 6ES7416-3XL04-0AB0) is a high-end central processing unit for the S7-400 automation system. It combines a central rack interface, an integrated PROFIBUS DP master/slave interface, and an IFM (interface module) slot for an additional PROFIBUS DP or PROFINET interface. The CPU is rated for maximum configuration of 131,072 digital inputs, 131,072 digital outputs, 8,192 analog inputs, and 8,192 analog outputs. These limits define the upper boundary of the I/O address space and are not the amount of physical channels wired by default; they are the maximum addressable points in STEP 7.
Engineers frequently need to derive the last bit, byte, and word address from these nominal channel counts. This reference provides the formulas, the byte/word boundary reasoning, and the practical configuration verification steps in HW Config and SIMATIC Manager. It also documents the address consumption of the integrated PROFIBUS DP master, which reduces the effective analog maximum by a small number of bytes for diagnostic frames.
CPU 416-3 DP Key Technical Data
The values below are taken from the official Siemens data sheet for 6ES7416-3XL04-0AB0. Always cross-check against the current product page on the Siemens Industry Online Support portal before commissioning.
| Parameter | Value |
|---|---|
| Article number (MLFB) | 6ES7416-3XL04-0AB0 |
| Work memory (integrated) | 5.6 MB code, 5.6 MB data |
| Bit operations (min.) | 0.008 µs |
| Word operations (min.) | 0.008 µs |
| Fixed-point arithmetic (min.) | 0.008 µs |
| Floating-point arithmetic (min.) | 0.025 µs |
| Digital inputs, max. | 131,072 (central: 131,072) |
| Digital outputs, max. | 131,072 (central: 131,072) |
| Analog inputs, max. | 8,192 (central: 8,192) |
| Analog outputs, max. | 8,192 (central: 8,192) |
| Integrated PROFIBUS DP interfaces | 1 (MPI/DP master or slave) |
| IFM slot | 1 (for additional DP or PN module) |
| Number of DP slaves, max. | 125 per PROFIBUS segment; total limited by address space |
| Address space (I/O) total | 16 KB inputs / 16 KB outputs |
The 16 KB total input and output address space is the binding constraint. It is fixed by the CPU's memory mapping and applies to the combined use of digital inputs, digital outputs, analog inputs, and analog outputs in the peripheral area. STEP 7 enforces this 16 KB ceiling by rejecting HW Config configurations that exceed it.
Digital I/O Address Calculation
A digital channel is one bit. The data sheet specifies 131,072 inputs and 131,072 outputs as the maximum. STEP 7, however, addresses I/O at byte granularity in the peripheral image and process image. Each byte contains eight digital bits and is referenced as IB/QB or, when accessed as a word, IW/QW.
Formula
Last byte address = (Maximum digital channels) ÷ 8 − 1
Applying the formula for the CPU 416-3 DP:
Input side: 131,072 ÷ 8 = 16,384 bytes. Last input byte = IB16383. Last input bit within that byte = I16383.7.
Output side: 131,072 ÷ 8 = 16,384 bytes. Last output byte = QB16383. Last output bit within that byte = Q16383.7.
This means the nominal "last address can be used" for digital points is I16383.7 on the input side and Q16383.7 on the output side. Any address beyond this is rejected by STEP 7 during HW Config compile or by the CPU at download with error SF (system fault) and diagnostic buffer entry.
I131072.7. That is invalid because it lies beyond the 16 KB peripheral boundary.Analog I/O Address Calculation
An analog channel in STEP 7 occupies two bytes (one word) of address space regardless of whether it is 12-bit, 13-bit, 14-bit, or 16-bit resolution. Inputs and outputs are referenced with the operand identifiers PIW / PQW (peripheral word) when read directly from the I/O area, or IW / QW when read from the process image. There is no bit-level analog access.
Formula
Last analog word address = (Maximum analog channels × 2 bytes per channel) ÷ 2 − 1 (words, since each word = 2 bytes)
Equivalent expression in bytes: Last analog word = (Maximum analog channels × 2) ÷ 2 − 1 = Maximum analog channels − 1, expressed in word offsets.
For the CPU 416-3 DP, the maximum is 8,192 analog inputs and 8,192 analog outputs. Each occupies 2 bytes:
- Analog input bytes total: 8,192 × 2 = 16,384 bytes
- Analog output bytes total: 8,192 × 2 = 16,384 bytes
This means that using every available analog channel consumes the entire 16 KB input or 16 KB output area. In practice you would never do this because digital I/O also needs space. The last analog word address, assuming the analog area starts at byte 0, is:
Last analog input word = PIW16382 (byte offset 16382, two bytes covering 16382-16383)
Last analog output word = PQW16382
Note the parity: IW16382 is the last word because the word is two bytes aligned on even byte boundaries. Odd addresses such as IW16383 are not legal word accesses; the CPU flags them as range errors during compile.
Bit-Level Addressing in STEP 7
STEP 7 stores all inputs and outputs in byte order. The bit index follows the period after the byte index. The syntax is:
I [byte] . [bit 0..7]
Q [byte] . [bit 0..7]
Examples for the CPU 416-3 DP:
-
I 0.0— first digital input bit -
I 0.7— eighth bit of the first input byte -
I 16383.7— last legal digital input bit -
Q 16383.7— last legal digital output bit
Bits beyond .7 do not exist. STEP 7 displays an S7-Program: Address not valid warning if a symbol or operand is forced outside this range.
Word-Level (Analog) Addressing
For analog modules, the access is always 16-bit word. STEP 7 aligns word operands on even byte boundaries. The full address range for analog words on this CPU is therefore:
| Operand | Range | Byte Footprint |
|---|---|---|
| PIW / IW (process image input word) | 0 – 16382, step 2 | Bytes 0 – 16383 |
| PQW / QW (process image output word) | 0 – 16382, step 2 | Bytes 0 – 16383 |
| PIB / IB (peripheral input byte) | 0 – 16383 | 16 KB |
| PQB / QB (peripheral output byte) | 0 – 16383 | 16 KB |
When using peripheral (P) addressing for direct I/O read/write outside the process image update (OB1 cycle), the same byte range applies: PIB0 through PIB16383 and PQB0 through PQB16383.
Central vs Distributed I/O
The data sheet lists "central: 131,072" for digital inputs and "central: 8,192" for analog inputs. This is not a separate physical I/O pool. It reflects the fact that all addressable I/O on the CPU 416-3 DP can theoretically be configured in the central rack, including chained expansion racks connected via IM460/IM461 interface modules and receive interface IM463-2. The total remains capped by the 16 KB address window.
When PROFIBUS DP is used, the diagnostic frames of the DP master itself consume peripheral bytes. The integrated DP master reserves a small amount of address space for diagnostics, parameter assignment data, and the standard DP slave I/O. In heavily loaded PROFIBUS topologies the practical analog input ceiling drops by a few channels (often reported as 8,190 instead of 8,192), because the DP master needs operating bytes.
PROFIBUS DP Address Consumption
The CPU 416-3 DP ships with one integrated DP master interface (X2) and one IFM slot for an additional master or slave interface. Each DP master:
- Reserves 1 byte of diagnostic address for the master itself (PIW/PQW "master diagnostic")
- Allocates the configured I/O range per slave in HW Config
- Provides up to 244 bytes input and 244 bytes output per slave in PROFIBUS DP standard, and up to 244 bytes per slot in modular slaves
If a slave is configured for "consistent data" over multiple bytes (e.g., analog modules returning 4, 8, or 16 bytes per measurement), it is still bounded by the 16 KB total area. The CPU does not allow configurations where the cumulative slave I/O footprint exceeds the address window, including the master's own diagnostic bytes.
Computing the Last Address — Worked Example
Assume an application uses a mix of digital and analog points distributed over central I/O and PROFIBUS DP. The last legal address is calculated as follows:
- List all configured I/O modules from HW Config and note their input and output byte width.
- Sum the input bytes. The total must be ≤ 16,384 (16,384 = 16 KB).
- Sum the output bytes. The total must be ≤ 16,384.
- Locate the highest configured byte in each direction and convert to bit or word addresses as required.
Example configuration:
- 32 digital inputs across 4 DI16 modules → 64 input bytes used, highest = IB63
- 16 digital outputs across 2 DO16 modules → 32 output bytes used, highest = QB31
- 8 analog inputs across 2 AI8 modules → 32 input bytes used (combined with the 64 above = 96 bytes), highest = IB95
- 4 analog outputs on one AO8 module → 16 output bytes used (combined with 32 above = 48 bytes), highest = QB47
The configuration fits within the 16 KB address window. The last digital input bit is I95.7, the last digital output bit is Q47.7, the last analog input word is PIW94, and the last analog output word is PQW46. STEP 7 HW Config will display the same ranges in the module properties dialog.
Configuration in SIMATIC Manager / HW Config
- Open SIMATIC Manager and select your S7-400 station.
- Double-click Hardware to launch HW Config.
- Insert the CPU 416-3 DP (6ES7416-3XL04-0AB0) in slot 3 of the central rack (UR1 or UR2).
- Add signal modules (SM) in slots 4-18 and PROFIBUS DP slaves via the DP master interface.
- For each module, open Properties > Addresses. STEP 7 displays the system-assigned address and shows whether it lies in the process image (P) or peripheral (P, no process image).
- Manually override the address only if required. Valid overrides must lie within the 16 KB window and not collide with other modules.
- Click Station > Save and Compile. STEP 7 validates the address layout. Any out-of-range module produces an error in the compile log:
Error 31820: Address area exceeded on DP master system 1
Error 31821: Address area exceeded on central I/O
Resolve these errors by reducing the count of I/O channels or by switching unused channels to non-process-image access.
Verification Steps
After compile and download, verify the address layout by:
- Online > Monitor/Modify on the module's process image range.
- Reading
HWCONFIGaddress overview: Station > Open online and check the actual fitted layout. - Reading the CPU's diagnostic buffer via PLC > Diagnostic Buffer. The CPU logs
Address assignment error(event ID W#16#3311) if any module is configured beyond the 16 KB boundary at download. - Forcing one bit at the boundary: in Monitor/Modify, force
I 16383.7to verify the last legal bit is reachable. ForceI 16384.0to confirm STEP 7 rejects the address.
Common Misconceptions
- "131,072 means the last byte is 131,072." Incorrect. The data sheet figure is bits, not bytes. The byte ceiling is 16,384 (= 131,072 ÷ 8).
- "Analog last is PIW8192." Incorrect. PIW8192 is one byte beyond the word ceiling. The last legal word offset is 16,382 because each analog word is 2 bytes and the maximum is 8,192 words.
- "PIW and PQW are separate areas." True: inputs and outputs are independent 16 KB regions, not a shared 32 KB space. Each has its own byte offset from zero.
- "Using all 8,192 analog channels leaves room for digital I/O." False. Eight bytes of analog consumes the entire input or output window, leaving zero byte for digital channels on that side.
Memory Layout Summary Table
| Quantity | Data Sheet | Byte Footprint | Last Address (byte/word/bit) |
|---|---|---|---|
| Digital inputs | 131,072 channels | 16,384 bytes | IB16383, last bit I16383.7 |
| Digital outputs | 131,072 channels | 16,384 bytes | QB16383, last bit Q16383.7 |
| Analog inputs | 8,192 channels | 16,384 bytes | PIW16382 (last word) |
| Analog outputs | 8,192 channels | 16,384 bytes | PQW16382 (last word) |
| Combined inputs (D + A) | n/a | ≤ 16,384 bytes | ≤ IB16383 |
| Combined outputs (D + A) | n/a | ≤ 16,384 bytes | ≤ QB16383 |
Troubleshooting Address Errors
| Symptom | Likely Cause | Remedy |
|---|---|---|
| HW Config compile error 31820 | DP slave address footprint exceeds the 16 KB input or output window | Reduce number of channels or split the slaves across two DP masters |
| HW Config compile error 31821 | Central I/O address footprint exceeds the 16 KB window | Remove modules or remap addresses to non-process-image access |
| SF LED on after download, diagnostic buffer W#16#3311 | Module address lies outside the configured area | Recalculate the highest byte and re-enter the module in HW Config |
| Forcing I 16384.0 reports "Address invalid" | User attempted to access beyond 16 KB | Use I 16383.7 as the last legal bit or remap the channel lower |
| PIW 8192 returns -32768 or 32767 always | Out-of-range word, slot is not configured | Reduce to PIW 16382 maximum |
| OB1 process image update skips some inputs | Modules configured outside the process image but accessed as IW | Switch module to process-image access or use PIW in the program |
Commissioning Tip
During the planning phase, reserve the upper 64 bytes of each area (16320-16383) for future expansion or diagnostic addresses. This prevents immediate collisions when a late-stage PROFIBUS slave is added. STEP 7 displays the cumulative footprint in the CPU's Object Properties > Address Overview dialog. If the projected footprint exceeds 15,800 bytes in either direction, stop and rebalance the topology.
Field-Engineering Notes
- The CPU 416-3 DP does not support process image partitions for OB1 only; if you need selective process image updates, use S7-400 firmware >= V5.x and configure OB40-PARTITION mapping in HW Config.
- Consistent data > 4 bytes requires the DP master to use SFC14 / SFC15 (
DPRD_DAT/DPWR_DAT) in the user program. The byte footprint is still counted against the 16 KB window. - The IFM slot can host a CP 443-5 Extended (PROFIBUS) or CP 443-1 (PROFINET) to add a second master, which doubles the practical address bandwidth if you split the I/O between the two masters.
- When migrating from the older CPU 416-2 (6ES7416-2XL00) or 416-3 (6ES7416-3XL00/01) to the 6ES7416-3XL04-0AB0, the maximum I/O counts and the address window are unchanged. STEP 7 V5.4 SP5 or later is recommended for the upgrade.
Reference Documentation
- Siemens Industry Online Support: SIMATIC S7-400 CPU 416-3 DP product page
- SIMATIC S7-400 S7-400 Automation System Installation Manual (printout of the help)
- SIMATIC S7-400 CPU 416-3 DP (6ES7416-3XL04-0AB0) Device Manual
- STEP 7 V5.x Hardware Configuration Manual
What is the last legal digital input address on the CPU 416-3 DP?
The last legal digital input bit is I 16383.7. The data sheet figure of 131,072 channels represents 16,384 bytes (131,072 ÷ 8), so the highest byte offset is 16,383 and the highest bit within that byte is .7.
What is the last legal analog input word on the CPU 416-3 DP?
The last legal analog input word is PIW 16382. Each analog channel consumes two bytes, so 8,192 channels occupy 16,384 bytes; the highest aligned 16-bit word offset within that range is 16,382.
Can the input and output areas each use 16 KB independently?
Yes. The CPU provides two separate 16 KB windows, one for inputs (PIB0–PIB16383) and one for outputs (PQB0–PQB16383). Digital and analog modules share each window but the two directions do not overlap.
Does using all 8,192 analog inputs leave room for digital inputs?
No. Filling the analog input area consumes the entire 16,384-byte input window. You must remove digital input modules or use fewer analog channels to free byte space.
How do I verify the last address in HW Config?
Open CPU > Object Properties > Address Overview. The dialog shows the cumulative highest configured byte for inputs and outputs. If the value exceeds 16,383 STEP 7 will reject the compile with error 31820 or 31821.
Why does the PROFIBUS DP master reduce the practical analog maximum?
The integrated DP master reserves diagnostic and parameter bytes in the peripheral area. In heavily loaded topologies this can shave a few bytes off the analog maximum, but the data-sheet ceiling of 8,192 channels remains the absolute upper bound.