Back to tutorials
PLC Programming Career

PLC Simulator - PLC Programming & Testing within a Simulated Environment

Vladimir Romanov
Table of Contents

A PLC simulator is a piece of software that allows the programmer to test their code without the actual hardware. Such software allows the engineer to save time on commissioning, minimize system critical errors and uncover potential system deadlocks. A PLC simulator is often used for training and learning purposes as it allows users to test various logic configurations without any impact on external hardware. Lastly, as a PLC simulator is software based, users aren’t required to purchase additional components that are often very costly.

How do you simulate a PLC?

A PLC is a robust industrial processor that reads inputs, executes a set of internal instructions and sets outputs accordingly. It is possible to use programs that will run code written for a PLC on a regular laptop or desktop computer. Furthermore, it is possible to access online tools that will simulate basic PLC programs on a web server and allow users to practice building PLC software without the need of any additional software installation.

There is a vast difference between various PLC simulators on the current market. Most Original Equipment Manufacturers (OEMs) provide (generally at a price) a means to simulate their PLC programs. An example for Allen Bradley would be an RSLogix Emulate environment that would simulate the code that would run on an RSLogix 500 based PLC. The advantage of native PLC simulators are as follows:

  • The code is run directly from the file that will be used on an actual PLC.
  • The simulation results they provide are highly accurate to an actual PLC.

The drawbacks of these systems are that they’re often costly and are locked to a specific OEM.

Getting Started in PLC Simulation

If you’re looking to test code that will eventually be deployed within a manufacturing environment, we highly recommend that you invest in the simulator that is native to the platform your code was written in. As mentioned above, this will give you the most accurate result and allow you to extensively test the system within the same environment you wrote the code in.

If your goal is to test code that was written for learning purposes; you have two options: use the OEM software or utilize a free simulator.

If your goal is to learn Allen Bradley PLC programming, we recommend that you start by downloading the free tools for the RSLogix 500 platform:

  • RSLogix 500
  • RSLinx
  • RSLogix Emulate

We’ve got en entire guide on where to download and how to install these tools: RSLogix Free Download

Note that although RSLogix is still heavily utilized in the industry, it is quickly being phased out by the higher-end alternative from Allen Bradley: RSLogix and Studio 5000. The PLC simulation tools for these software packages are expensive when purchased from authorized distributors.

Executing Programs in RSLogix Emulate

RSLogix Emulate is the PLC simulation environment for RSLogix 500 programs. This software allows the user to simulate the functionality of PLC families such as the MicroLogix and the SLC. By loading the program into the simulator and going online with the virtual environment, the user can interact, toggle and execute logic the same way as they would on an actual PLC.

As common sense may suggest, such simulation has limits. It is impossible to actuate the inputs or outputs of the software as they aren’t tied to any external hardware. Due to the lack of control, software programmers can either utilize forces to toggle the inputs/outputs or simulate the bits using internal boolean tags.

Step 1 - Launch RSLogix Enumate500.

Step 2 - Select a program written in RSLogix 500 to Emulate.

Step 3 - Press “RUN”.

RSLogix Emulate500 - Creating a PLC Simulator
RSLogix Emulate500 - Creating a PLC Simulator

Step 4 - Launch RSLogix 500.

Step 5 - Launch the program you’ve developed. Note: it must be the same as the one opened in RSLogix Emulate500.

Step 6 - Use “Comms” to Go Online with the PLC.

Step 7 - Browse to the Emulated PLC under the Emulate500 driver.

Step 8 - Go Online

RSLogix 500 - Going Online with the Simulated PLC
RSLogix 500 - Going Online with the Simulated PLC

At this point, you are ONLINE with the virtual PLC that has been simulated through Emulate500 software.

RSLogix 500 - Online Logic Edits with a Simulated PLC
RSLogix 500 - Online Logic Edits with a Simulated PLC

How do you use a PLC ladder simulator?

RSLogix 500 and Emulate500 are an excellent software solution for a PLC ladder simulator. Once the steps outlined above are implemented, the user can create any ladder logic within the program and execute them as one would on a physical PLC. It is common to combine such a virtual environment with an HMI simulation in order to simulate operator interaction with the control system and objects that would be typically present in an industrial environment: tanks, valves, motors, etc.


A PLC Simulator is an excellent avenue to practice PLC ladder logic programming. Although the software environment is not the perfect substitute for hands on experience on an actual PLC, the simulation delivers a very accurate representation of ladder logic execution.

Back to tutorials

Related Tutorials


PowerFlex 525 Parameter, Input and Output Programming Tutorial in RSLogix Studio 5000

The PowerFlex 525 series of Variable Frequency Drives from Allen Bradley is highly utilized and respected within the automation field. The drives are compact, versatile and easy to use. We’ve written an extensive tutorial on how to get started with these drives in a previous tutorial; it covers how to initialize the drive, connect it to an EtherNet/IP based PLC and how to set the right parameters. In this tutorial, we’re looking to expand on the concepts and demonstrate a way to access and utilize the multiple Input and Output options available on the drive. The reason you may want to utilize the IO is to save money on purchasing external components, integrate instrumentation into your drive and save floor space, wiring and cost. We’ve seen the need to integrate closely related sensors into a PowerFlex 525 application; this would be the right way to do it.

Vladimir Romanov

Publishing MQTT Data Using Opto 22 groov EPIC PAC

MQTT is a communication protocol that has taken off in the IIoT community. It’s a light-weight, efficient protocol that works through a publisher / broker / subscriber model. It creates an easy way for field devices to communicate and retrieve data from a single location. In this article, we’ll go over MQTT and dive into an example of how you can publish data using a groov EPIC PAC and retrieve the data using a MQTT client.

Vladimir Romanov

HMI Design - Best Practices for Effective HMI Screens

HMI Design is the practice of building HMI screens that are intuitive to the end user, pleasing to the eye and are efficient to operate. As control systems within manufacturing are migrated from traditional push button designs to primarily operated from HMI displays, HMI Design has become trivial to any new installation.Although there is a wide range of HMI based systems, the basic principles of good design remain the same. Different industries may dictate different patterns of layout for their systems, but the good practices remain.

Vladimir Romanov