Exchange Data Between Simatic S7 PLCs on Different Subnets

Easy data exchange between two Siemens Simatic S7 PLCs on different Ethernet subnets using a PN/PN Coupler

Suppose you have two Simatic S7 PLCs, like a S7-1200 and S7-300, on different Ethernet subnets and you need to exchange some data between them.

An extremely easy way to do this is to use a PN/PN coupler device.

The PN/PN Coupler is a device with two PROFINET interfaces, which helps to interconnect two different PROFINET subnets.

More information about it you can find on its Siemens Mall’s product page:

In this hands-on article, I will walk you through the steps of how to setup a data exchange between two CPUs via new modern version of PN/PN coupler 6ES7158-3AD10-0XA0 with Firmware V4.0.

Between IO controllers (our CPUs) you can exchange up to 1440 bytes for input data and up to 1440 bytes for output data, including user data and user data quality markers.

Generally saying you can couple up to four IO Controllers (CPUs) via PN/PN Coupler with Firmware V4.0.

For S7-1200 configuration, we will use TIA Portal Step7 Basic V14 SP1 software. And for S7-300 configuration we'll use Step7 Professional V5.5 SP4.

In Step7 Basic, in the Device configuration editor, we add a PLC CPU 1214C DC/DC/Rly (6ES7 214-1HG40-0XB0, Firmware V4.2) and set its network properties to IP address, etc:

Then we add the PN/PN coupler X2 as IO device.

Our S7-1200 PLC will be connected to X2 side of the Coupler, and our S7-300 PLC will be connected to the X1 side.

For the PN/PN coupler X2 side, we set the IP to and assign a PROFINET device name which is generated automatically.

Then we add one 32 byte input module, and one 32 byte output module, to the configuration of X2 side.

The Input module has one additional diagnostic byte, so total input data length is 33 bytes:

Next we interconnect our S7-1200 PLC to the PN Coupler's X2 side in the Network view tab, and assign the PN coupler X2 as an IO Device to the PLC S7-1200 as IO Controller:

Then we compile and download configuration to the PLC S7-1200 and to PN Coupler X2 device.

If your devices are just out from the box, you should first set their IP addresses and PROFINET Devices names via Accessible Nodes and Online and Diagnostics Tool.

Now we move on to configuring a S7-300 PLC.

In Step7 Professional V5.5 we add a CPU 315-2PN/DP (6ES7 315-2EH14-0AB0 Firmware V3.2,) and assign it an IP of

As you can see, this CPU will be connected to a different Ethernet subnet than S7-1200 is.

The next step is to add the PN/PN Coupler X1 v4.0 to the configuration.

As you can see below, we have only v1.0 – v3.0 available in the list:

So then, we need to install the appropriate GSD file for the PN/PN Coupler V4.0 which we can download using the below link:

Unzip the downloaded file, and then in the Step7 HW Configuration Editor go to Options – Install GSD File:

Now select the unzipped GSD-file from the directory you uzipped it to, and press the Install button:

If you receive the following messages during GSD file installation, press Yes in every cases:

After successfully installation of GSD file, you will receive the following message:

Next, go to the PROFINET IO devices branch and find the newly installed PN/PN Coupler V4.0:

Now drag the PN/PN Coupler X1 device onto PROFINET IO System Subnet in the configuration area:

Then in the lower area of configuration window, add 32 bytes output module into 1-st slot, and 32 bytes input module into 2-nd slot:

And in the Properties window of PN/PN Coupler set an IP address: for it. All other setting we can leave as they are by default:

Now we save and compile configuration and download it to the devices.

As it was mentioned above, if we use our PN/PN Coupler just out from the box, we should set it IP address and PROFINET device name first.

To do this in Step7 v5.5 we use PLC – Ethernet menu, and select Assign Device Name and Edit Ethernet Node points:

After downloading the programs to both PLCs, data exchange starts immediately. If everything goes well, we can test it via watch tables.

Let’s for example send a HEX constant 16#AB from S7-300 to S7-1200 and then send another HEX constant 16#CD from S7-1200 to S7-300.

Via PN Coupler an address QB0 of S7-300 CPU X1-side gets into address %IB2 of S7-1200 X2-side and an address %QB2 of S7-1200 X2-side gets into address IB0 of S7-300 CPU X1-side.

Online watch table in TIA Portal Step7 Basic V14 SP1

Online watch table (VAT) in Step7 Professional V5.5

In addition to guaranteed stable work of both PLCs, we should add in their programs several Organization Blocks for possible faults handling as the PN Coupler serves as an PROFINET IO Device. These OBs are the following:

You can find more information about necessary OBs here:

Conclusion: We have successfully implemented data exchange between two PLCs in different Ethernet subnets via PN/PN coupler device.

About the author:

Oleksandr Husiev
Lead Automation Engineer at Azov Controls LLC
Company web site:
Mariupol, Ukraine

I am a fan of Industrial Automation and IoT. I've work with the Siemens Simatic S5/S7 PLC platforms since 2001, and with the Allen-Bradley Logix PLC platforms since 2006.

Editors Footnote:

I just wanted to thank Oleksandr for taking the time to write the above article as well as for sharing it with the rest of us.

Having written many similar articles myself, I know first hand how much effort goes into documenting a procedure like the above, so in appreciation I'd like to ask anyone who finds this helpful to please take a moment and share it on social media.

And if you'll like to join the ranks of our guest bloggers, please let us know using our contact form here.

Sincerely, Shawn Tierney of The Automation Blog.