Profinet Simulator for Siemens S7-400

Pete_S

Member
Join Date
Mar 2015
Location
Portland Maine
Posts
76
Hi,

I am trying to setup a S7-400 with PI and PO memory. This memory is associated with profinet devices according to my research. I don't have a profinet device, and I was hoping to find a simulator, ideally that I could instance multiple times to simulate numerous profinet devices. If anyone is aware of a piece of software that would work for this please let me know. Or if there is a way to configure PI and PO memory without a profinet device that I am missing I would appreciate any advice. Thanks!
 
There are three ways to do this.


  1. If you don't have a physical CPU, you can use PLCsim to test your logic. You can change the value of the input and output values in the simulator to test your code. This is included in Step 7 Professional.
  2. If you have the physical CPU but no IO cards, you can access the IO memory (I0.0, IW64, etc or Q0.0, QW64, etc) directly, whether there is IO or not. The CPU would treat the IO more or less the same whether it is in the local rack, on Profibus (DP), or on Profinet (PN). There are technically some differences, but it doesn't matter too much for most logic. If you don't configure any IO, then you can do some basic simulation by writing to the inputs/reading the outputs without the CPU trying to overwrite your data.
  3. If you have the physical CPU, and really need to match real world PN IO devices, then take a look at the Simulation Unit from Siemens (9AE4120-2AA00). If you need a really detailed simulation of the IO behavior, then you may need to also get the SIMIT software. These cost quite a bit, so I'd only recommend this route if the first two options don't do what you need.
Option 1 is the simplest. Option 2 is slightly more limited than option 1, but allows you to experiment with the physical CPU to practice things like FW updates.
 
Unfortunately Plcsim for S7-300/400 does not support Profinet devices. If you have a Profinet Device with an AI module at address 500.. for example, then your Plc will go into stop mode if you access PIW500. Also you cannot change PIW500 via Plcsim program window, and also not via S7ProSim interface.

When I needed to do simulation for Profinet devices, I've created a dummy HW-configuration with Profibus devices, or at least some devices which have an address at the PI/PO area I needed, which I downloaded into Plcsim, and load only the program from my Profinet project.

If you access data with process image (IW instead of PIW), then you can overwrite the process image at the beginning of OB1 with your simulation signals.
 
Unfortunately Plcsim for S7-300/400 does not support Profinet devices. If you have a Profinet Device with an AI module at address 500.. for example, then your Plc will go into stop mode if you access PIW500. Also you cannot change PIW500 via Plcsim program window, and also not via S7ProSim interface.

When I needed to do simulation for Profinet devices, I've created a dummy HW-configuration with Profibus devices, or at least some devices which have an address at the PI/PO area I needed, which I downloaded into Plcsim, and load only the program from my Profinet project.

If you access data with process image (IW instead of PIW), then you can overwrite the process image at the beginning of OB1 with your simulation signals.

My goal is not to simulate logic before deploying on a line, I need to define PI memory, ideally with dynamic data in an effort to reproduce an issue seen with a driver reading PI memory. I don't have a Profinet device and I couldn't see a way to define PI memory in my controller without a peripheral device. Is it possible to define PI memory without a profinet device, and simply use my random number function block to feed dynamic data to this memory location?
 
Create a project that only consists of a S7 program. Copy your blocks to the project and use plcsim. To simulate your I/O you will have to write blocks that manipulate the I/Q areas.

sim.jpg
 
Create a project that only consists of a S7 program. Copy your blocks to the project and use plcsim. To simulate your I/O you will have to write blocks that manipulate the I/Q areas.

L D[AR2,P#0.0],

Thanks for your reply. I have my STL cheat sheet in front of me and I am hoping you will help me with my noob attempt to decipher the code which you sent me below:

And Input 0.0 with ACC

I0.0=Q0.0

Load 10 to ACC

Transfer ACC to PQW 600

Am I somewhere in the ballpark? Is there any reason that this wouldn't work on a real device?
 
Last edited:
Create a project that only consists of a S7 program. Copy your blocks to the project and use plcsim. To simulate your I/O you will have to write blocks that manipulate the I/Q areas.

L D[AR2,P#0.0],

Thanks for your reply. I have my STL cheat sheet in front of me and I am hoping you will help me with my noob attempt to decipher the code which you sent me below:

And Input 0.0 with ACC

assign ??? to Q0.0

Load 10 to ACC

Transfer ACC to PQW 600

Am I somewhere in the ballpark?
 

Similar Topics

Hi, I am planning to use Anybus Modbus-Profinet converter. Anyone used it before? Secondly, once I write the code to connect to Modbus-Profinet...
Replies
1
Views
2,076
I want to establish a Profinet network in my production plant to connect multiple devices, including a PLC, HMI, and multiple Profinet-based...
Replies
19
Views
552
Hi, I have a customer with a S7300 from around 2013 which they link to approx 25 inverters, 3 DP to DP converters and 5 IM153 remote I/O units...
Replies
8
Views
287
Hi Guys, I am trying to establish communication over profinet between Siemens S7-1200 PLC as IO device and codesys plc as IO controller. But I am...
Replies
39
Views
2,054
Greetings! Facing a problem I've not seen before. GE CPE100 unit, LAN2 set up as ProfiNet. Multiple Turck TBEN-L4-16DIP modules, and a...
Replies
3
Views
191
Back
Top Bottom