Technical Article

The Beginner’s Guide to Automation: Testing, Commissioning, and Debugging

June 11, 2024 by Joshua Tidwell

When setting up a system for the first time, the process can seem complex and daunting. However, there are tools available to make the job much easier before commissioning.

After choosing the right automation project, then adding sensors and finally establishing a control system, the time has finally come: you’re ready to set up and test your system. This is where things get fun, and you’ll finally be able to see your automation cell in action!

Before commissioning your cell for demo or debugging, some useful strategies and tools are available on the market that can make the start-up of your automation cell a little less stressful. Depending on your experience, the tolerancing of your product, or operational uncertainty, bench testing before commissioning or using simulation or emulation software can make the process much smoother.


Bench Testing

Bench testing your automation cell can be extremely beneficial as it allows you to test the entire cell or specific components with uncertain parameters. Typically for my setup, I will test specific components rather than the entire cell. Depending on your company, shop floor space is a valuable resource that is hard to come by, and bench testing may even be a luxury to some that can’t be afforded.


Bench test for an automation system

Figure 1. Bench test setups do not need to be extravagant; remember that you are just testing. Image used courtesy of the author


Ideally, you will need a space that is either permanently set up with a control cabinet or a mobile station that can be easily hooked up to power and air and set up under “ideal” circumstances. This way you can set up and prove out projects with minimal cost, and an initial reduction in environmental variables.

The cells that I commission are typically much too large to bench test the entire assembly at once, so I test the individual components, like gauging, small assembly machines, in-house gantries, etc. Proving out the individual components allows for a swift integration into the entire machine, and reduces my overall time debugging the system.


Simulation/Emulation Software


Simulation software for a robotics cell

Figure 2. Easy PLC simulation software uses drag-and-drop components to allow the programmer to easily set up a virtual machine for testing. Image used courtesy of Nirtec


Simulation software, such as EasyPLC from Nirtec, is a valuable tool for testing your PLC program. This software allows you to replicate your entire complex mechanical system using drag-and-drop components. It also enables you to test your I/O and PLC programming before your system is even built. The simulation software is compatible with a variety of automation software, including Siemens TIA Portal, Rockwell Studio 5000, Codesys, and many others. The main advantage is that it reduces the time necessary to debug your system when you first start it up.

Some software, like GX Works from Mitsubishi, contain a built-in simulation environment that can debug some initial challenges before comissioning. There are not a whole lot of effective PLC simulators on the market that work independently from both commercial hardware and software, like for a new learner getting acquainted with PLCs.



It's finally time to power up your system for the first time and see your vision come to life. Your program is "finished," and you're ready to run your first part.

Just remember, no system is perfect, and the best advice I can give you is to expect there to be some bugs to work out.

The question is, how do you handle the bugs?


Machine tending robotics workcell

Figure 3. Machine tending cell. Image used courtesy of the author


When starting a system for the first time, it's important not to go full blast and try to watch everything all at once. Instead, start at the beginning of your system, work forward, and test everything. In Figure 3, I would begin by testing any possible condition that may occur at position 1, then move on to position 2, and so on.

Please keep the following information in mind:

At each position, consider all potential scenarios that may arise. For instance, position 2 is utilized to prepare a part for the robot at position 3 to load into the machine. There is a solitary sensor that sends a signal to the robot indicating the presence of a part. I would inquire about the following:

  • Can there be multiple components in this position at the same time?
  • Does the robot respond appropriately when the sensor is triggered?
  • Does the signal interfere with the robot at an inappropriate time?
  • Do multiple parts in the position cause a part to crash?
  • Does the conveyor continuously running cause parts to shift out of position?

Once you have questions, test scenarios at each position to debug your system systematically and prevent interference from other processes.


Debugging your Controls System

If you encounter a problem, the first thing to do is not to panic. Instead of immediately attempting to fix things, it's important to verify the problem. Rushing into fixing things could potentially create more problems. Therefore, it's crucial to replicate the problem and ensure it happens in the same way every time. Once the problem can be replicated, it's important to determine if it's a mechanical, electrical, or control issue.

If the problem is identified as a control issue, take your time to understand that debugging a PLC program can be very complex and there is no one-size-fits-all solution. Control issues refer to anything that occurs within a drive, PLC, HMI, or other programmable devices. Problems can range from communication protocol issues, I/O mapping, device configuration, or problems in the logic.

Start by working logically and DOCUMENT EVERY CHANGE YOU MAKE AND MAKE BACKUPS! I cannot stress this enough: if you start making changes and it doesn’t fix the issue, then it wasn’t the issue. Having no documentation can make your day much longer than it needs to be.

  • Look for the flashing lights
    • Are there any visible faults on any of your devices?
  • Double-check your configurations
    • Are your drives and I/O link devices configured correctly?
  • Verify your communications
    • Are your ethernet devices configured and talking to your PLC?
  • Verify your I/O mapping
    • This is an easy mistake and very easy to overlook. Is your input or output actually what you mapped?
  • Verify your signals
    • Does your sensor have power?
    • Are the connections connected?
    • Any broken wires or cables?
  • Verify your logic
    • Check your PLC programming for any errors.

As you install more systems, your debugging skills will improve, so this intensive process will become much smoother. However, if you’re struggling with debugging, sometimes the best thing to do is to walk away, drink a cup of coffee, and then come back to try and figure it out.

Don’t get in a rush, and always remember… DOCUMENT EVERY CHANGE AND MAKE BACKUPS!