SIMATIC S7-300 I/O Expansion via PROFIBUS DP Remote I/O

David Krause14 min read
S7-300SiemensTutorial / 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

1. Problem Definition: Adding I/O When the S7-300 Cabinet Is Full

The SIMATIC S7-300 universal controller is widely deployed in machine and process automation, but its modular, DIN-rail based design is normally expected to live inside a single central cabinet. In brownfield retrofits the situation is common: the original enclosure is fully populated, the door is crowded with wiring ducts, and there is no DIN-rail free for an extra SM 321 DI or SM 322 DO module. Replacing the cabinet is rarely an option because the machine is in production, and pulling the existing S7-300 rack out of service to re-mount it in a larger enclosure usually means a multi-day shutdown.

Engineers faced with this constraint have three structurally different paths:

  1. Multi-rack expansion inside the same cabinet using IM 360 / IM 361 interface modules (limited to 3 or 4 racks and zero extra cabinet space).
  2. Side-mounting an additional PS 307 power supply and one SM 3xx module directly onto the existing DIN-rail (mechanically simple but does not solve a fully populated rail).
  3. Distributed I/O: install a new sub-panel (or stand-alone wall-mount enclosure) and connect it to the S7-300 CPU via PROFIBUS DP or PROFINET.

Path 3 is the only viable long-term solution for a crowded cabinet. It isolates the new I/O physically, supplies it from a dedicated PS, and preserves the original installation. The remainder of this article is a field-procedure for executing that path on an S7-300 system using PROFIBUS DP and an ET 200 distributed station.

Read the safety section first. The S7-300 hardware and installation manual mandates that any expansion work be performed only by qualified personnel and with the supply circuits de-energized. See the SIMATIC S7-300 Automation System, Hardware and Installation manual for binding installation rules.

2. Pre-Engineering: Mapping the Existing PROFIBUS Footprint

Before specifying a distributed I/O station, capture the present bus topology and verify that the S7-300 CPU has an available PROFIBUS master port.

CPU family Integrated DP port Optional PROFIBUS module Max DP slaves
CPU 312, CPU 313, CPU 314 None CP 342-5 (6GK7 342-5DA02-0XE0) 32 per CP
CPU 315-2 DP (6ES7 315-2AG10-0AB0) X2 (DP master/slave) n/a 32 per port
CPU 317-2 DP X2 DP + X1 MPI/DP CP 342-5 32 per port
CPU 319-3 PN/DP X1 MPI/DP + X2 DP + X3 PROFINET CP 342-5 32 per port

Document the existing bus address map. Each DP slave occupies a unique address from 0 to 125; the CPU's own MPI/DP port is typically address 2. Reserve a contiguous block of new addresses for the upcoming ET 200 station. If the existing bus is at its 32-node limit, plan an RS 485 repeater (6GK7 443-5DX02) segment before adding more slaves.

3. Choosing the Distributed I/O Station

Siemens ET 200 families are described in the SIMATIC ET 200 distributed I/O portfolio. The selection depends on the environment, I/O density, and signal types.

Station Ingress protection Typical use Interface module (DP)
ET 200S IP20 High-density discrete and motor-starter wiring inside a sub-panel IM 151-1 Standard (6ES7 151-1AA05-0AB0), IM 151-1 High Feature (6ES7 151-1BA02-0AB0)
ET 200M IP20 Re-use of standard S7-300 SM 3xx modules as distributed I/O IM 153-1 (6ES7 153-1AA03-0XB0), IM 153-2 (6ES7 153-2BA02-0XB0)
ET 200eco PN/DP IP65/67 Field-mount block I/O near the sensors Built-in DP slave, no IM required
ET 200pro IP65/67 Modular field I/O with high mechanical stress IM 154-1 DP (6ES7 154-1AA01-0AB0)

For the typical "no space inside the cabinet, but the new I/O is mostly dry-contact sensors and 24 V solenoid outputs" case, the ET 200M is the lowest-risk option: it accepts the same SM 321 / SM 322 / SM 331 / SM 332 modules the engineer already stocks, and it slots into a sub-panel using the familiar S7-300 mounting profile. The ET 200S is preferred when bit-level modularity and hot-swappable terminals are required.

4. Sub-Panel Mechanical and Power Design

Mount the new station in a stand-alone wall-mount enclosure (typical: Rittal AE 1035.500 or AE 1057.500) with its own 230 V supply branch and circuit protection. Inside, lay out the S7-300-compatible DIN rail as follows:

  1. PS 307 power supply (6ES7 307-1EA01-0AA0, 24 V / 5 A) on the left.
  2. IM 153-2 interface module as DP slave (slot 3 equivalent).
  3. Up to 8 S7-300 I/O modules on slots 4-11.
  4. Terminating plate (6ES7 390-1AF30-0AA0) on the right.

The sub-panel's load budget must be checked. Each SM 3xx module draws from the 24 V backplane bus; the PS 307 has 5 A continuous and 10 A peak (10 s, 1.5x rating). Sum the worst-case loads of every module plus the IM 153 (typical 1.2 A at 24 V). If the sum exceeds 5 A, step up to a PS 307-1KA01 (10 A) or PS 307-1BA01 (2 A) and a higher capacity feed.

Wire the protective earth (PE) terminal of the PS 307 to the sub-panel bonding point. The S7-300 Hardware and Installation manual requires a minimum 10 mm² PE conductor when the supply is grounded in TN-S.

EMC note. The PROFIBUS cable shield must be bonded to the sub-panel PE rail at both ends using the shield clamp supplied with the IM 153 (EMC spring). Do not pigtail the shield; keep the exposed portion of the drain wire under 20 mm.

5. PROFIBUS DP Cabling, Connectors, and Topology

Use only the violet Siemens PROFIBUS cable (6XV1 830-0EH10) for indoor runs; it is rated for 12 Mbps and is the cable referenced in every Siemens PROFIBUS design guide. Bus length versus baud rate is non-negotiable:

Baud rate Max segment length (Type A cable) Typical application
9.6 kbps 1 200 m Slow process telemetry, legacy devices
19.2 kbps 1 200 m Same as above
45.45 kbps 1 200 m PROFIBUS PA coupling via DP/PA coupler
93.75 kbps 1 200 m Servo drives on long cables
187.5 kbps 1 000 m Mid-distance drive control
500 kbps 400 m Default ET 200 rate
1.5 Mbps 200 m Fast I/O, drive interlocking
3 Mbps 100 m Reserved for high-end drives
6 Mbps 100 m Reserved for high-end drives
12 Mbps 100 m Maximum, short runs only

Install a PROFIBUS bus connector (6GK1 500-0FC00 or 6GK1 500-0EA02 with PG socket) at each end of the segment. The connector has an integrated terminating resistor that must be switched ON at exactly two physical devices: the CPU or CP at one end, and the most distant slave at the other. All other connectors along the trunk must be OFF.

For runs exceeding the segment length, insert an RS 485 repeater (6GK7 443-5DX02). Each repeater allows another 1 200 m of Type A cable. The maximum number of repeaters in series is 9, giving a theoretical line length of 12 km at 9.6 kbps.

6. Setting the PROFIBUS Address on the ET 200 Station

Every DP slave must have a unique station address 0-125. The IM 153-2 (and IM 151-1 High Feature) supports address setting from STEP 7 via the bus, but a hardware rotary switch on the module is the recommended fallback. The default is address 0, which is invalid for a slave; always set the rotary switches explicitly.

  1. Power down the sub-panel.
  2. On the IM 153-2 front plate, set the two rotary switches to the tens and ones digits of the desired address (e.g., 0 and 6 for address 6).
  3. Re-apply 24 V; the new address is active after the IM completes its self-test (BF LED off, ON LED green).

7. STEP 7 Hardware Configuration

The project is configured in SIMATIC Manager with STEP 7 V5.5 SPx or in TIA Portal V13+. Both tools use the same logical structure: a DP master system, with the ET 200 IM 153-2 inserted as a slave.

7.1 Master System Setup

  1. Open HW Config and double-click the CPU's DP port (X2 on a CPU 315-2 DP).
  2. In the properties dialog, set Operating mode = DP master and assign the master address (default 2).
  3. Confirm the Subnet field: if no PROFIBUS subnet exists, click New and accept the default of PROFIBUS(1) at 1.5 Mbps.

7.2 Adding the ET 200M Slave

  1. Open the catalog folder PROFIBUS DP > ET 200M.
  2. Drag the IM 153-2 (order number 6ES7 153-2BA02) onto the DP master system line.
  3. Set the slave address to match the rotary switches set in step 6 (e.g., 6).
  4. Click OK. The slave is now anchored to the master system.

7.3 Slot-Level Module Insertion

Open the ET 200M slave to reveal the slot table (slot 1 is reserved, slot 2 = IM, slots 4-11 = I/O). Drag the S7-300 modules from SIMATIC 300 > SM-300 into the slots. For a typical expansion of 16 digital inputs and 16 digital outputs:

Slot Module Order number I/O addresses
2 IM 153-2 6ES7 153-2BA02-0XB0 Diagnostics 16383
4 SM 321 DI 16x24 V DC 6ES7 321-1BH02-0AA0 IB 0 ... IB 1
5 SM 321 DI 16x24 V DC 6ES7 321-1BH02-0AA0 IB 2 ... IB 3
6 SM 322 DO 16x24 V DC/0.5 A 6ES7 322-1BH01-0AA0 QB 0 ... QB 1
7 SM 322 DO 16x24 V DC/0.5 A 6ES7 322-1BH01-0AA0 QB 2 ... QB 3

Compile and download to the CPU. The CPU automatically assigns the process-image addresses shown above; these are independent of any existing central I/O addresses because each DP slave is its own address space.

8. GSD File Installation for Third-Party Slaves

If the distributed station is a non-Siemens device (variable-frequency drive, third-party valve manifold, weighing terminal), install its GSD file before dragging the device onto the master system.

  1. In HW Config, choose Options > Install GSD File.
  2. Browse to the manufacturer's GSD file (file name pattern *GSD or *.gsd; some vendors also ship a *.bmp icon file).
  3. Restart HW Config; the device now appears in PROFIBUS DP > Other field devices.

Always verify the GSD file revision against the device firmware using the vendor's GSD compatibility matrix. A GSD that lists firmware V2.0 as supported will refuse to bring up a V1.0 device; the symptom is a bus-fault LED on the slave with the diagnostic buffer showing "DP slave: not yet ready for parameter assignment."

9. CPU User Program Adjustments

Insert the DP slaves' I/O addresses into the process image and the existing logic. For an ET 200M at slave address 6 with inputs on IB 0/IB 1 and outputs on QB 0/QB 1, the simplest pattern is symbolic naming in the symbol table:

// Symbol table
E_TankHigh       I  0.0    // IB 0, bit 0  = tank high level
E_PumpRun        I  0.1    // IB 0, bit 1  = pump running feedback
A_Heater         Q  0.0    // QB 0, bit 0  = heater contactor
A_ValveOpen      Q  0.1    // QB 0, bit 1  = fill valve

Ensure OB 1 (main cyclic program), OB 82 (I/O point fault), and OB 86 (rack/DP slave failure) exist in the program. The default S7-300 project ships with OB 1 only; without OB 82 and OB 86, a wire break on a single channel or loss of the new ET 200 will trip the CPU into STOP.

// OB 86 - rack failure (excerpt, STEP 7 STL)
L     #OB86_EV_CLASS        // 0x39 entering, 0x38 leaving
L     B#16#39
==I
JC    FAIL
BEU

FAIL:  NOP 0                // user-specific handling
       BE

Calling SFC 13 (DPNRM_DG) inside OB 82 reads the four-byte channel diagnostic block from a failed SM module; the structure is documented in the STEP 7 help under "Reading diagnostic data with SFC 13."

10. Commissioning and Verification Procedure

  1. With the CPU in STOP, open Online > Accessible Nodes and confirm the new ET 200 appears at the configured address.
  2. Switch the CPU to RUN-P.
  3. Check the IM 153-2 LEDs: ON = green, BF = off, SF = off. Any other pattern requires investigation.
  4. Force a digital input on the new DI module and verify the corresponding I bit flips in the STEP 7 variable table (VAT).
  5. Set an output bit in the VAT and measure 24 V on the corresponding terminal of the new DO module.
  6. Pull the PROFIBUS connector from the IM 153-2 to simulate a slave failure; OB 86 should execute and the CPU should remain in RUN (provided OB 86 is present in the program).
  7. Re-insert the connector; OB 86 should report "leaving event" and the I/O should resume within one DP cycle.
Acceptance criterion. A PROFIBUS DP cycle at 1.5 Mbps over a single segment is typically 2-5 ms with eight slaves. If the bus diagnostic shows > 10 ms with the new station included, check for missing terminating resistors, shield pigtails, or mismatched baud rates.

11. Troubleshooting Matrix

Symptom LED on IM 153-2 Likely cause Corrective action
Slave not visible in HW Config ON=off, BF=red No 24 V supply to sub-panel Check PS 307 output, fuse, MCB
Slave visible but CPU in STOP after download ON=green, BF=red flashing Bus fault, no parameter assignment Verify baud rate, address, terminator
BF off but SF solid red SF=red, BF=off Slot configuration mismatch Compare STEP 7 slot table with physical modules
Intermittent loss of I/O BF flickers Loose connector, EMI on cable Re-tap PROFIBUS connector; verify shield clamp
CPU trips to STOP on first I/O read n/a OB 82/86 missing Insert OBs and re-download
Diagnostic buffer: "parameter assignment error" SF=red GSD mismatch, wrong module inserted Match module order number with catalog entry
Diagnostic buffer: "station failure" on every power-up BF=off initially, red after timeout Another slave has duplicate address Audit all rotary switches on the bus

12. Long-Term Considerations and Migration Path

PROFIBUS DP is a mature fieldbus with decades of installed base, but Siemens has progressively redirected greenfield designs to PROFINET. An S7-300 CPU with a PROFINET port (e.g., CPU 315-2 PN/DP, 6ES7 315-2EH14-0AB0) can be converted by adding an IE/PB Link (6GK1 411-5AB00) for the existing DP slaves and using native PROFINET for any new I/O. A Siemens Industry Online Support search for "ET 200 migration S7-300 PROFINET" returns the application note describing the gateway in detail.

For the original S7-300 / ET 200M installation, expect spare-part availability through 2023-2028 depending on the module's MLFB; the latest product-status notices are published in the SIMATIC S7-300 product page. Plan a migration to S7-1500 + ET 200MP once the S7-300 is on "phase-out" status and the firmware repair service window closes.

13. Summary Workflow

  1. Confirm the CPU has a free DP port (or fit a CP 342-5).
  2. Choose ET 200M for the lowest engineering risk; specify the same SM 3xx modules already in use.
  3. Build a remote sub-panel: PS 307, IM 153-2, slots 4-11, terminating plate.
  4. Run a PROFIBUS DP cable, fit bus connectors, enable terminator on the two end devices only.
  5. Set the slave address on the IM 153-2 rotary switch.
  6. Configure master system in STEP 7, insert the ET 200M, populate slots.
  7. Ensure OB 82 and OB 86 are present in the CPU program.
  8. Commission, verify I/O, simulate a bus failure to confirm OB 86 behaviour.

How many ET 200 slaves can one S7-300 CPU address on PROFIBUS DP?

Each PROFIBUS master port supports up to 32 slaves per segment; with RS 485 repeaters (6GK7 443-5DX02) the total rises to 126. The CPU's own MPI/DP port can be configured as a master with a similar limit, so a single CPU 315-2 DP typically supports 32-64 DP slaves plus MPI/DP routing.

Can I reuse the same SM 321 / SM 322 modules in an ET 200M that I have on the central rack?

Yes. The ET 200M is electrically and mechanically a standard S7-300 station, and any module supported in the central rack is supported as a distributed I/O module when the IM 153-2 is configured for it in HW Config. The GSD file matches the central catalog.

What baud rate should I use for a 60 m run between the cabinet and the new sub-panel?

At 60 m, every PROFIBUS baud rate from 9.6 kbps to 12 Mbps is supported, but 1.5 Mbps is the standard default that delivers sub-5 ms cycle times for ET 200 slaves. Use the Siemens PROFIBUS cable 6XV1 830-0EH10 and a 6GK1 500-0EA02 bus connector with terminating resistor ON at the ET 200 end and ON at the CPU end only.

Why does my CPU go to STOP as soon as I pull the PROFIBUS connector from the new ET 200?

The CPU needs OB 86 (rack/DP slave failure) in the program to handle the loss of a distributed station gracefully. Without OB 86, a DP slave drop is treated as a fatal error and the CPU enters STOP. Insert OB 86 from the standard library and reload the program; the same applies to OB 82 for channel-level diagnostics.

Do I need a separate power supply for the ET 200M in the sub-panel, or can I share the existing 24 V bus?

A separate PS 307 is recommended. The backplane of the IM 153-2 draws 1.2 A typical at 24 V plus the load of every module. Running a 24 V feeder from the original cabinet defeats the purpose of the new sub-panel, increases voltage drop on long runs, and breaks the EMC/grounding isolation that the sub-panel was designed to provide.

Back to blog