Configuring S7-300 MPI Communication with VIPA CPUs in STEP 7

David Krause15 min read
S7-300SiemensTroubleshooting
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 Overview

Engineers integrating a VIPA CPU with a Siemens SIMATIC S7-300 controller (for example, CPU 314C-2 DP, order number 6ES7314-6CG03-0AB0) frequently encounter a STEP 7 V5.6 download error such as "cannot find slave CPU on bus" or "does not see slave PLC in the bus" when attempting to configure Multi-Point Interface (MPI) peer-to-peer data exchange between the two racks. The error is not caused by a defective MPI cable or by STEP 7 configuration syntax, but by a fundamental hardware limitation of the VIPA CPU and a misunderstanding of the MPI protocol model.

This article clarifies why the native MPI port on most VIPA 300S/300V CPUs cannot carry the S7-300/400 S7 communication services, and it documents two field-proven replacement architectures:

  1. Ethernet S7 communication using a Siemens CP 343-1 Lean (6GK7343-1CX10-0XE0) in the S7-300 station and the on-board Ethernet port of the VIPA CPU, exchanging data with PUT / GET or BSEND / BRECV.
  2. PROFIBUS-DP master/slave using a Siemens CP 342-5 (6GK7342-5DA03-0XE0) as a DP slave in one of the racks, configured per the official Siemens application DP link between CP 342-5 (slave) and S7-300/400 (master) with STEP 7 V5.1.
Terminology warning: "MPI" in industrial automation refers to the Siemens proprietary Multi-Point Interface on PROFIBUS physical layer, running at 19.2 kbit/s to 12 Mbit/s. It is not the parallel-computing Message Passing Interface standard described in HPC literature. Engineers searching for "MPI" should confirm they are looking at Siemens SIMATIC documentation, not scientific computing references.

2. Root Cause: Why MPI Download Fails on VIPA CPUs

The Siemens S7-300 MPI port is a multiprotocol interface that carries three families of services:

Service Family Examples Required MPI Port Capability
PG/OP communication Online download from STEP 7, HMI tags Always present on MPI hardware
S7 basic communication X_PUT / X_GET (SFC 67/68), X_ABORT / X_RCV / X_SEND (SFC 69/70/65/66) Requires full S7 communication stack on the MPI port
S7 communication PUT / GET (SFB 8/9), USEND / URECV (FB 8/9), BSEND / BRECV (FB 10/11) Requires full S7 communication stack and configured S7 connection in NetPro

Most VIPA CPUs in the 300S and 300V families expose an MPI/DP combo port that supports PG functions only. They do not implement the S7 communication server that the Siemens CPU needs in order to register a passive or active S7 connection endpoint over MPI. The symptom is twofold:

  • STEP 7 can go online to the VIPA over MPI for programming, so the cable and addresses appear correct.
  • STEP 7 cannot establish an S7 connection from the Siemens CPU to the VIPA, so the configured connection in NetPro stays in the "not established" state, and the download error "does not see slave PLC in the bus" is reported when the configuration is downloaded to the master.

Adding to the confusion, the Siemens CPU 314C-2 DP has a combined MPI/DP interface that is being used as a DP master for a diameter gauge machine. If the engineer repurposes that port for MPI, the DP master functionality is lost, and the gauge machine loses its I/O. The correct approach is to leave the integrated port on the Siemens side dedicated to its DP master role and add a dedicated communication module on the VIPA side.

3. Prerequisites

  • STEP 7 V5.6 (or V5.5 SP2 as the minimum supported for CP 343-1 Lean firmware 3.x) installed on the engineering station.
  • Siemens SIMATIC S7-300 station with at least one free slot in the rack for a CP (slot 4–11, addressing the CP as a logical S7-300 module).
  • VIPA CPU with an on-board Ethernet port (typical of 300S+ and 300V+ variants) or free slot for a CP 342-5 if the PROFIBUS route is chosen.
  • MPI/DP cable terminated on both ends with 9-pin sub-D connectors (Siemens order code 6ES7901-0BF00-0AA0) — required only for the initial STEP 7 download to the VIPA if no Ethernet path exists yet.
  • Siemens GSD file for the CP 342-5 in DP slave mode: SIEM804D.GSE (shipped with STEP 7 V5.6, folder ...\S7DATA\GSD).
  • VIPA GSD/GSDML file matching the CPU firmware version, available from the VIPA support download portal.

4. Solution A — Ethernet S7 Communication via CP 343-1 Lean

4.1 Hardware installation

  1. Power down the S7-300 rack and insert the CP 343-1 Lean in a free slot. Tighten the front connector screws and record the slot number (for example, slot 6).
  2. Connect the CP 343-1 Lean port (RJ45) with a Cat 5e patch cable to the same Ethernet subnet as the on-board Ethernet port of the VIPA CPU.
  3. Power up the rack; the CP 343-1 Lean should display the STOP LED briefly and then transition to RUN with the LINK LED on the RJ45 lit.

4.2 STEP 7 V5.6 hardware configuration

  1. Open the SIMATIC Manager project, expand the S7-300 station, and double-click Hardware.
  2. In the hardware catalog, navigate to SIMATIC 300 \ CP 300 \ Industrial Ethernet \ CP 343-1 Lean and drag the module into the same slot you used in step 4.1.1.
  3. Open the CP 343-1 Lean properties dialog. On the General tab set:
    • IP address: 192.168.0.10
    • Subnet mask: 255.255.255.0
    • Ethernet interface: Ethernet(1)
  4. Add the VIPA CPU Ethernet port as a second node on the same Ethernet(1) subnet, IP 192.168.0.20, mask 255.255.255.0.
  5. Save and compile the hardware (HW) configuration, then download it to the S7-300 station.

4.3 NetPro connection configuration

  1. In SIMATIC Manager, open NetPro. The CP 343-1 Lean appears on Ethernet(1) with IP 192.168.0.10; the VIPA CPU appears on the same subnet with IP 192.168.0.20.
  2. Select the CP 343-1 Lean, right-click and choose Insert New Connection.
  3. In the connection dialog, set:
    • Connection partner: VIPA CPU Ethernet port
    • Connection type: S7 connection
    • Active connection establishment: checked (the Siemens side initiates)
    • Local ID (hex): 1
    • Partner port: 0 (any ISO-on-TCP port — the Lean CP picks one automatically)
  4. Confirm the dialog. NetPro will report a green line between the two nodes indicating the S7 connection is configured.
  5. Download the NetPro configuration to the S7-300 station. The CP 343-1 Lean RUN LED should remain steady; check CP Diagnostics > S7 Connections in STEP 7 to confirm "Established".

4.4 S7 communication function blocks

Once the S7 connection is established, data exchange is performed with the standard S7 communication FBs. The two most common choices are:

Function Block Max payload Confirmation Typical use
PUT SFB 8 / FB 8 160 bytes Yes, single shot Write a small set of parameters or a recipe
GET SFB 9 / FB 9 160 bytes Yes, single shot Read a small set of measurements
USEND / URECV FB 8 / FB 9 (S7-300) 440 bytes per call No Cyclic coordination without acknowledgements
BSEND / BRECV FB 10 / FB 11 32 KB segmented Yes, segmented Large block transfers, e.g. axis records

Example: PUT to write 10 bytes of control data from the S7-300 to the VIPA every 100 ms.

// OB1 - PUT call (S7-300 master, VIPA is passive partner)
CALL  FB 8 , DB 8
  REQ        := M 10.0          // rising edge starts a new PUT
  ID         := W#16#1          // local connection ID from NetPro
  DONE       := M 10.1
  ERROR      := M 10.2
  STATUS     := MW 12
  ADDR_1     := P#DB20.DBX 0.0 BYTE 10  // local source
  ADDR_2     := P#DB50.DBX 0.0 BYTE 10  // partner destination in VIPA
  SD_1       := P#DB30.DBX 0.0 BYTE 10  // data to send
  RD_1       :=                          // not used for PUT
  LEN        := 10

For the partner side (VIPA CPU), create an equivalent SFB 8 instance, set REQ := FALSE, and use the same ID value. The PUT is initiated from the Siemens side; the VIPA side only needs the connection to be present in NetPro.

5. Solution B — PROFIBUS-DP via CP 342-5

If the VIPA CPU is later-model 300V+ and exposes a PROFIBUS interface, or if Ethernet is not available on the plant network, the second option is to add a Siemens CP 342-5 in DP slave mode. This is the architecture documented in the official Siemens application DP link between CP 342-5 (slave) and S7-300/400 (master) with STEP 7 V5.1.

  1. Insert the CP 342-5 into the VIPA rack (logical slot). In HW Config, drag SIMATIC 300 \ CP 300 \ PROFIBUS \ CP 342-5 into the station.
  2. On the Operating Mode tab of the CP 342-5 properties, select DP Slave and assign it a unique PROFIBUS address (for example, 3). The Siemens CPU 314C-2 DP remains the master on the gauge bus with address 2; either the CP 342-5 joins that bus, or it joins a separate PROFIBUS subnet terminated with a PROFIBUS connector with terminating resistor ON at both ends.
  3. Configure the I/O slot mapping: define input slots (CP 342-5 reads from the master) and output slots (CP 342-5 sends to the master). Up to 32 slots, each 0–32 bytes, total 244 bytes in each direction.
  4. In the Siemens master station (CPU 314C-2 DP), use HW Config to insert the CP 342-5 from the PROFIBUS DP / Siemens AG catalog as a slave. The slave's slots are now visible as I/O in the master's process image.
  5. Data exchange is performed with the standard DPRD_DAT (SFC 14) and DPWR_DAT (SFC 15) calls on the master. These functions are not required on the VIPA side; the CP 342-5 firmware handles the I/O update.
Master/Slave policy: A single PROFIBUS interface can only be configured as either master or slave. If both the Siemens CPU 314C-2 DP and the VIPA must remain masters (for example, each controls a separate DP line of remote I/O), do not change either one to a slave. Insert a DP/DP coupler (Siemens 6ES7158-0AD01-0XA0) between the two DP masters instead. The coupler passes up to 244 bytes of input and 244 bytes of output in each direction without requiring any PLC code on the coupler itself.

6. NetPro and HW Config — S7 Connection States

After downloading the configuration, monitor the connection state via PLC > Diagnostics/Setting > Diagnostics of S7 Connections in NetPro or via the CP's online diagnostics. A healthy S7 connection shows the following SF/Status codes:

Status (hex) Meaning Corrective action
0000 Connection established, idle No action — link is healthy
0001 Connection establishment in progress Wait; if it persists, check IP reachability with ping from a service laptop
0010 Connection not yet established Check Active connection establishment flag and downloaded NetPro on both stations
0011 Partner CPU in STOP Switch the VIPA CPU to RUN; check the VIPA SF LED for faults
01A1 Connection rejected, partner unreachable Check subnet, IP address, and that the CP 343-1 Lean is in RUN
0E0F Security level mismatch Match PUT/GET permission on the partner CPU properties

7. Hardware Diagnostic LEDs on CP 343-1 Lean

LED State Indication
SF (red) Off No group fault
SF (red) On, flashing CP group fault — open CP Diagnostics > Buffer in STEP 7
RUN (green) On, steady CP is in RUN, all configured connections active
RUN (green) Flashing (2 Hz) CP is starting; configuration is being loaded
RUN (green) Off CP is in STOP — configuration missing or invalid
LINK (green, on RJ45) On Physical link established at 10/100 Mbit/s
ACT (yellow, on RJ45) Flashing Frame traffic in progress

8. Commissioning and Verification

  1. From the engineering station, ping 192.168.0.10 and ping 192.168.0.20. Both must reply with <2 ms on a copper subnet.
  2. In NetPro, right-click the S7 connection and choose Status > Connection Status. The status should be "Established" with status code 0000.
  3. On the S7-300, open VAT view of the test DBs created in §4.4. Toggle a few M bits that are written to the VIPA via PUT and confirm they change at the partner DB.
  4. On the VIPA side, use the VIPA SPEED7 Studio or TIA Portal (if applicable) to monitor the same DBs. Confirm the data round-trips within the 100 ms cycle time of the OB35 call.
  5. Force a CPU restart on the VIPA side. Within 30 seconds, the S7 connection must re-establish automatically — the CP 343-1 Lean initiates the connection on every restart of the partner.
  6. Capture a 60-second trace of STATUS from the PUT/GET FBs. The error word must remain W#16#0000; if STATUS <> 0, refer to the table in §6.

9. Troubleshooting Matrix

Symptom Likely cause Verification Action
"Does not see slave PLC in the bus" during download VIPA CPU has no MPI S7 services Check VIPA catalogue for the S7 communication server entry on the MPI port Migrate to Ethernet (Solution A) or PROFIBUS-DP (Solution B)
NetPro shows connection as "Not established" after download Wrong local ID, or partner CPU still in STOP Check the partner CPU RUN LED and the VIPA SF LED Bring the VIPA CPU to RUN; correct the local ID to match NetPro
PUT returns STATUS = 0E0F PUT/GET permission disabled on the partner In VIPA CPU properties, open Protection tab Tick Permit access with PUT/GET from remote partner
CP 343-1 Lean RUN LED off Hardware configuration not downloaded to the CP Online > Module Information > Diagnostic Buffer Download HW Config including the CP 343-1 Lean to the S7-300
CP 343-1 Lean SF LED on after firmware update Firmware version mismatch with STEP 7 V5.6 GSD Check CP firmware in Module Information Update to CP 343-1 Lean firmware 3.0 or later per the Options for communications via MPI guidance
DP slave is in "Bus fault" on the master PROFIBUS address conflict, or termination missing Use a PROFIBUS tester to read the bus topology Power the bus termination resistors at both ends, ensure no duplicate address
Engineering station cannot ping the VIPA Different subnet, or VIPA firewall enabled Check the VIPA Ethernet port IP and mask Set the VIPA port to 192.168.0.20 / 255.255.255.0 matching the CP 343-1 Lean

10. Alternative Controller Notes

For engineers on TIA Portal V17 or later, the CP 343-1 Lean can be replaced by the CP 343-1 (full version, 6GK7343-1EX30-0XE0) or by the on-board PROFINET interface of newer S7-300 CPUs (315-2 PN/DP, 317-2 PN/DP). The NetPro-equivalent is the Devices & Networks editor in TIA Portal, where the S7 connection is created with the same parameters (local ID, partner IP, active/passive flag). The SFB 8/9/FB 8/9/10/11 calls remain identical.

For S7-1200/S7-1500 replacements, the VIPA CPU 015PN or 021PN implements the same S7 connection server on its PROFINET port, and PUT/GET are invoked as the standard PUT/GET instructions in the TIA Portal program blocks.

11. Field-Proven Caveats

  • CP 343-1 Lean firmware < V2.0 does not support S7 connections with a local ID other than 1. Keep the local ID at W#16#1 on every project to avoid surprises when an older firmware module is reused as a spare.
  • The 314C-2 DP integrated DP port and the CP 342-5 cannot both be DP masters on the same physical PROFIBUS segment. Use a repeater (Siemens 6GK1500-0AA10) to isolate the segments if both masters must coexist.
  • On the VIPA side, the Protection tab must allow PUT/GET access. This setting is CPU-firmware dependent; in SPEED7 Studio it is under CPU Properties > Security > Connection mechanisms.
  • Maximum cycle time for a 100-byte PUT over the CP 343-1 Lean at 100 Mbit/s is approximately 12 ms. Increase OB35 priority or use BSEND/BRECV with a hand-shake for larger payloads.
  • If the project is migrated to TIA Portal in the future, the CP 343-1 Lean must be re-inserted from the TIA hardware catalog — it is not back-compatible with the STEP 7 V5.6 GSD file.

12. Summary Recommendation

For new installations, deploy the Ethernet S7 communication option (Solution A) using the CP 343-1 Lean in the S7-300 and the on-board Ethernet port of the VIPA CPU. The hardware is cheaper, the bus speed is 100 Mbit/s versus 12 Mbit/s for PROFIBUS, and the configuration maps directly to the S7 basic communication model that STEP 7 V5.6 documents. Reserve the PROFIBUS-DP CP 342-5 option (Solution B) for plants that already run a PROFIBUS backbone and need deterministic <1 ms cycle times for safety-relevant I/O. Both solutions are documented in official Siemens application notes and require no changes to the existing DP master role of the 314C-2 DP.

Frequently Asked Questions

Why does STEP 7 V5.6 report "does not see slave PLC in the bus" when I download to a VIPA CPU over MPI?

Most VIPA 300S/300V CPUs expose an MPI/DP port that supports PG functions only — the S7 communication server (SFB 8/9, FB 8/9/10/11) is not implemented on the MPI port. Replace the MPI path with Ethernet (CP 343-1 Lean, IP 192.168.0.10) and use PUT/GET, or add a CP 342-5 in DP slave mode per the Siemens application 6519580.

Can I keep the Siemens CPU 314C-2 DP as the DP master for the diameter gauge machine and still exchange data with the VIPA CPU?

Yes. Leave the integrated MPI/DP port of the 314C-2 DP as the DP master for the gauge bus. Add a CP 343-1 Lean (6GK7343-1CX10-0XE0) for Ethernet S7 communication with the VIPA, or add a CP 342-5 in DP slave mode on the VIPA side and connect it to a separate PROFIBUS segment. The DP master role of the 314C-2 DP remains untouched.

What is the maximum data payload per PUT/GET call between an S7-300 and a VIPA CPU?

The S7 standard PUT (SFB 8) and GET (SFB 9) blocks transfer up to 160 user-data bytes per call. For larger transfers use BSEND/BRECV (FB 10/FB 11), which segments the data into 480-byte blocks and is acknowledged by the partner. USEND/URECV (FB 8/FB 9) transfers up to 440 bytes per call without acknowledgement.

How do I enable PUT/GET access on a VIPA CPU that rejects the connection with status 0E0F?

Open the VIPA CPU properties in SPEED7 Studio or the relevant VIPA programming tool, go to the Protection tab, and enable Permit access with PUT/GET from remote partner. The same option in TIA Portal for a Siemens S7-300 is under CPU Properties > Protection & Security > Connection mechanisms > Permit access with PUT/GET from remote partner. Save, download to the CPU, and the connection establishes within 30 seconds.

Do I need a DP/DP coupler if both the S7-300 and the VIPA must remain DP masters?

Yes. A DP/DP coupler (Siemens 6ES7158-0AD01-0XA0) is the cleanest way to exchange up to 244 bytes of input and 244 bytes of output between two DP masters without changing either CPU's master role. Each side sees the coupler as a regular DP slave; the coupler handles the master-to-master data pass-through and requires no PLC code on the coupler itself.

Back to blog