While you are programming an automation application, it is sometimes useful to do some coding without the real hardware in the field, for example with a cup of fresh coffee at the warm office.

Sure, you can disassemble the machine and put the hardware on your desk. But to help you avoid doing so, TIA Portal offers two simulation possibilities.

In yesterday's article I gave you an overview of using PLCsim, and today I'll focus on PLCsim Advanced.

TIA Portal (picture courtesy of Siemens)

Note that in both articles I cover using them to simulate either the S7-1200 and 1500. While they also simulate the S7-300 and 400, that's beyond the scope of these articles.

I should also note that PLCsim is available for use to anyone who has a license for TIA Portal, while PLCsim Advanced needs it's own license which is purchased separately.

Additionally, PLCsim and PLCsim Advanced can be run simultaneously side by side on one machine, however older versions cannot be installed on the same machine at the same a time.

S7-PLCSIM advanced [V3.0]

Installation and supported devices

S7-PLCSIM advanced is also a separate installation you can also obtain from the SIOS pages here. Also S7-PLCSIM advanced will install the S7-PLCSIM V5.x to support simulation of older PLC types.

Unfortunately the S7-PLCSIM advanced does not support S7-1200 PLCs. Therefore S7-PLCSIM V16 must be installed separately. The S7-PLCSIM Advanced supports a wide range of PLCs of the 1500 series (e.g. Failsafe, Compact and technology types). Also ET 200SP types are supported like S7-1510SP. Not supported are the OpenControl (S7-1515 PC) and IPC (IndustryPC) SoftPLCs.

Editor's note: See our TIA Portal V17 Podcast for updates on the new version of PLCsim Advanced and its support for these controllers.

Functionality

PLCSIM advanced offers mainly three different connection modes. The first one is the same as the one of PLCSIM. Here a “Softbus” will be created and the communication is done within the “Softbus”.

The second connection mode uses the “PLCSIM virtual Ethernet adapter”. That allows other applications like OPC UA clients to connect to the PLC runtimes within the same node.

The third connection mode is the “PLCSIM virtual Ethernet adapter” (vNIC) and the connection to a network interface of choice by the “PLCSIM Virtual Switch” (vSwitch). This allows also connections over network interfaces (NIC) with other nodes. Regardless if the nodes are real PCs or VMs.

HINT: Ensure the “PLCSIM virtual Switch” has a IP address from

Usage

The PLCSIM advanced UI isn’t as comprehensive as the UI of PLCSIM. This is to the fact that PLCSIM advanced has a different purpose.

The focus at PLCSIM advanced is the simulation of PLCs with interconnection to other devices and applications. Like OPC UA, S7 communication.

Also is PLCSIM advanced able to simulate features using the memory card of the plc e.g. logging.

At last but not least is PLCSIM advanced used by other tools to get PLC function into other tools like Simmit, Plant Simulate, etc.. It is also possible to create your own program using the API of PLCSIM advanced.

Create and start PLCSIM advanced PLC

First we have to select the online access PLCSIM advanced should work with. PLCSIM advanced is able to offer access like PLCSIM or over a virtual Ethernet interface.

Load PLC program into PLCSIM advanced PLC

Bevor we can load the program to the simulated PLC we have to start PLCSIM advanced. In the UI of PLCSIM advanced we select online access to “PLCSIM virtual Adapter” and TCP/IP communication with “<Local>”.

After that we have to preconfigure our target PLC instance by entering a Name, IP and Subnet Mask. By click on Start a PLC instance is created. Depending on the count of licenses we have we are able to create multiple instance of PLC (e.g. to test PLC2PLC communication).

Now we can load the PLC program into the PLCSIM advanced just like we do it with a real PLC. At the first time we load the PLC with Hardware and Software. In the “extended download dialogue” we select the PG PC interface “PLCSIM Virtual Ethernet Adapter” and start search.

After a while it will list the created instance of a plc simulation. Select the instance and load. If the PLC isn’t running you will be ask if you want to start the PLC. Click yes. Now you can see the PLC startup in the console of PLCSIM advanced.

Now you can go online with the TIA portal and test your PLC program.

HINT: sometimes it can be problematic to load a PLC we have used bevor for another project. If we encounter trouble we can go to the “Virtual SIMATIC Memory Card” by click on the button behind the entry in the UI. Here we find the storage of available virtual memory cards. If we delete the folder of the misbehaving PLC, we are able to create the instance again.

Sim Tables

For S7-PLCSIM advanced there is also a Sim Table. But for PLCSIM advanced it is extra Software that can be obtained via the SIOS site. It uses the PLCSIM Advanced API. SIOS provides a full code example to get in touch with using the API for own applications.

Conclusion

PLCSIM and PLCSIM advance are two different tools optimized for different purposes. They offer some of the same functionality, but in most things they are very different.

Basic simulation and program tests can be made with both tools. PLCSIM is mostly focused on testing the PLC program on a more PLC focused scale (e.g. routines and state machines). And PLCsim Advanced is more focused on testing the PLC program interacting with external elements such as storage card (e.g. writing log files) and external communication partner like OPC-UA Clients and Server.

PLCsim Advanced also focuses on the customer who wants to create applications using the API of PLCsim Advance for co-simulation purpose.

Written by Michael Elting
Mechatronics & Automation Engineer and Freelance Writer

Have a question or comment on this article? Join our community to take part in the discussion! You'll also find all of our courses at TheAutomationSchool.com.

Latest posts by Michael Elting (see all)