Leveraging virtualized environments is one of the best things that can be done in the new “Working from home” world.

I have a copy of PLCSIM Advanced and I make sure I get the absolute most out of it.

Incase you aren’t aware of what PLCSIM Advanced is, it’s Siemens’ answer to a completely virtual instance of an S7-1500 PLC.

Using this, you can completely simulate, including network communications, a S7-1500 PLC.

This includes Modbus, OPC UA, Profinet comms and just about anything else the PLC is capable of doing. It truly is a complete emulation of the S7 firmware.

If you have the CPU capacity on the machine hosting the PLCSIM Advanced install, you can even run more than 1 PLC at a time. I’ve been able to run 4 at once (at an absolute push)

What Are The Advantages?

The advantages are huge at the beginning of the project and also once commissioning has already been completed.

Project Start

Once a project has been given the go ahead, you can get a PLC up and running, load a template code in with your standard IO and basic library and be ready to start development. All of this in 10 minutes

There is absolutely no hardware, no wiring, no power supplies, no auxiliary requirements… Just an IP address, and even that doesn’t have to be correct at the start.

Project Development

As the project develops, it’s possible to create an “alternative” PLC to test out a particular development path and then test it against another instance of the PLC with a different development path. This means you could have a single SCADA system switch between different PLC variations to test how the logic would work, simply by turning off PLC instance A and switching on PLC instance B. Both have the same IP so can’t be on at the same time.

Project Post-Commissioning

Having the ability to upload the PLC data (via snapshots) and then dump it in a virtual PLC counterpart is a great advantage. This means I can copy data from a real process, put it into a virtual environment and then test modifications, all without running risk of damage or disruption to live processes.


Creating New Virtual PLCs

Creating a new virtual PLC

It’s super simple to create a new virtual PLC:

  1. Click the “Start Virtual S7-1500 PLC”
  2. Give it a name, IP, Subnet Mask and Gateway (if required)
  3. Hit Start

That’s it, you’re done!

Note: Make sure the PLCSIM Virtual Eth. Adapter is toggled into position at the top, otherwise you won’t be able to communicate to the PLC from outside sources or through a VM etc.

This system works so well that I can even access the PLC over a VPN network from a remote source! It really opens the door to working from home!

Virtual Memory Card

It would be pretty rubbish if you couldn’t save the state of your virtual PLC. Luckily Siemens thought of this!

Clicking the Virtual SIMATIC Memory Card button opens the history of PLCs created in the PLCSIM Advanced system:

This folder contains virtual copies of the SIMATIC Memory cards associated with different PLCs. If you want to restore one, simply drag the folder into PLCSIM Advanced (where the PLC’s sit).

The PLC will reappear and you can click start to start it up. It’s really as simple as that!

Downside

Of course there’s going to be some downsides to this!

The most noticeable is resource usage. Each PLC uses a CPU core. If your machine is below average, or lacking in power, you may struggle to run a virtual PLC as well as other applications, especially TIA Portal.

Personally, I run PLCSIM Advanced in a virtual machine, with 4 cores dedicated and 16gb of RAM. I can comfortably run 3 PLCs, but my laptop gets hot and the fans are running hard!

Leave a Reply