Back to tutorials

PLC Interview Questions - Building a 2 Button Motor Starter System

Vladimir Romanov
Table of Contents


There is a number of scenarios one can create to test PLC Programmers. One of the most simple, yet challenging for a beginner, questions is the famous motor starter. A simple system which utilizes two buttons and an output stumbles those who’ve little to no experience with PLCs. Furthermore, this question will reveal if the candidate asks the right questions, makes the correct assumptions and is able to reason through a simple assignment presented to him.

Step 1 | The Problem Definition Stage


Before you start implementing a solution to any problem, it’s important to stop and think about the requirements. This is true in every field and especially controls. Spending a moment to reason your implementation will save you debugging time down the road.

The problem is most commonly presented as follows. Two buttons are used to control a motor starter. One should start the motor and the other should stop the motor. In certain cases, the interviewer will specify the polarity of the buttons (Normally Closed or Normally Open) as well as the type (Momentary or Latched), but I personally wouldn’t expect them to. This is where critical thinking comes in.

Based on the specs mentioned above, you should start by asking basic questions to clarify the problem. Does the motor need to stay running when the “Start” button is released? Common sense would dictate so. If it’s a maintained push button, the hardware will take care of it; if it isn’t you’ll need to consider it in code. Are the buttons normally open? In certain cases, the “Stop” buttons are always Normally Closed. This is due to the fact that you can easily use them in that state to build a hardware-based circuit. In other words, you don’t need any programming at all and the current flows through the button terminals.

Step 2 | The Ladder Logic Programming Stage

Once the problem is clear, we can start working on a solution. Although the final answer may not be immediately obvious, we can start implementing several rungs of logic before we start the troubleshooting process.

Just like in any other problem, we can break down the problem into smaller pieces. We can begin the problem above by programming the “Start” button alone. As we think about the requirements, we create the most basic rung which has one input (the “Start” button) and one output (the Motor Contactor). By implementing this rung, we realize that we need to keep the button pressed for the motor to run. The solution to this problem is to add an additional XIC instruction around the “Start” button which will maintain the motor starter latched in place after it has been energized.

At this point, we can start the motor, but it stays running forever. We need to add a “Stop” button based on our second input. To achieve this, we need to break the start bit, but at the same time, we need to prevent it from breaking during a normal condition until the button is pressed. The solution is to add an XIO instruction immediately prior to the OTE of the motor contactor.

Here’s the final solution to this interview question:



Even the simplest interview questions require some thought & careful consideration. The 2 button motor starter question is one of the most fundamental interview questions you will encounter as a PLC programmer & control engineer or technician. The main purpose is to see that you’re capable of asking the right questions, reasoning & write basic ladder logic programs.

Back to tutorials

Ready To Learn More?

Level-up your career with unlimited access to practical, in-depth technical courses taught by industry experts. Explore our courses