Why You Should Use Normally Closed For Stop Buttons
You may know the difference between normally open and normally closed contacts, but do you know where to use them? This article will teach you where to use normally open and where to use normally closed for inputs and in your PLC program. You will learn how to connect your PLC program with the physical PLC inputs.
I have been asked by many of you to explain the use of normally open and normally closed logic when working with PLC programming.
Recently, I wrote an article containing a collection of ladder logic examples, but one of the examples made some confusion. In the start/stop circuit made with ladder logic I used a normally closed contact in the ladder logic.
But, I realized that I’ve made a mistake.
Some of you noticed that in order to make this example follow good practice, I should use a normally open contact in the ladder logic, and a normally closed contact as input actuator. By doing so, the input will be not produce dangerous situations under failure.
To explain this further I will divide the PLC logic into two parts. At last I will show how you should merge the two:
- Hardware Logic
Input actuators and wiring (what is actually connected to the input).
- Software Logic
The logic of your PLC program (the logic you program into the PLC).
Let’s begin with some digital inputs and some actuators to connect to these.
All digital inputs, and therefore all the digital input actuators have two states:
- OFF (0)
- ON (1)
But the digital actuators can not only have two states. They can also have one of two functions:
- Normally open
- Normally closed
The difference between connecting normally open actuators and normally closed actuators to a digital input is when you activate the actuators.
Take these two rules and remember them. This is the difference between normally open and normally closed:
1. Normally Open Input Actuators
In the default state (inactivated) of a normally open actuator the input bit is 0.
When you activate a normally open actuator the input bit will switch to 1.
2. Normally Closed Input Actuators
In the default state (inactivated) of a normally closed actuator the input bit is 1.
When you activate a normally closed actuator, the input bit is 0.
This can also be illustrated in a table:
|State of the actuator||Input bit
|Normally Open||Inactivated (0)||0|
|Normally Closed||Inactivated (0)||1|
Normally closed actuators has the opposite effect on the state of the inputs they’re connected to compared to normally open actuators.
Keep in mind that the state of the actuator affects the state of the input and thereby the input bit. Each time the PLC scan cycle reaches the step where it updates the input bit, these are the values that the input bits will be updated to.
When you are developing a PLC program you will also be using logic. But instead of hardware logic with actuators you will now have ladder logic contacts or boolean instructions.
This is often where some confusion occurs. Because this other type of logic looks very similar to the hardware logic. In fact, the PLC programming language ladder logic is made to look like electrical circuits.
Just like the input actuators you have both normally open and normally closed contacts available in PLC programming. Often they are referred to as examine if closed (XIC) and examine if open (XIO).
The ladder logic symbols look almost like the electrical symbols for normally open and normally closed contacts, and the function of these are the same. I can even plot the same table, but this time for the PLC logic:
|Examine If Closed
|Examine If Open
As you might notice, the columns have moved and changed. The result of the boolean instructions (XIC and XIO) is now dependent on the values of the input bits. Just like the state of the input bit is dependent on the state of the actuators.
State of actuator –> Input bit –> Result of boolean instruction
At last a column containing all the results of the boolean instructions. The result is what comes after the instruction in your ladder diagram. If you have a coil connected after the bit logic instruction, the result column will be equal to the state of that coil.
Merging Software Logic and Hardware
When you create a new boolean instruction in your PLC program you will give it a certain address. This is the address of a single bit (boolean is 0 or 1 and so is a single bit). Once you’ve given the instruction an address, the state of that particular bit will now be represented as the state of that instruction.
For example you can give an instruction the address of one of the PLC inputs. When doing so, the state of the instruction will now represent the state of the input. Because each PLC input has its own bit in the PLC memory. The state of each of these bits represents the state of the corresponding input.
Let’s move back to the start/stop example, which is really just a latch of a coil with an instruction to break the latching.
Here’s an illustration of how the whole system would look like, including both hardware and software:
Notice that I use a normally open contact as input actuator, even for the stop button. This is because I’ve already used normally closed logic in the software.
When the input actuator is activated, the input bit will turn ON or 1. But in my ladder logic I’ve used an examine if open instruction and given it the address of that input.
As you can see in the table above, the result of an examine if open instruction will be 0 if the input is 1.
This is good because in the ladder logic, the instruction has to break the connection and thereby the latching of the output.
But, since the state of the input has to be 1 to break the connection (result 0), the input actuator has to turn the input ON or 1 when activated.
In the table with input actuators above, you can see that a normally open contact will change the state of the input to 1 when activated. In that way, you can use the two tables to choose between normally open and normally closed logic.
But this is not good practice.
What Is The Difference Between Normally Closed And Normally Open Inputs?
Using normally open contacts as PLC inputs is good. But for stop functions it can be bad. This is because normally open contacts can create dangerous situations when they fail…
Let me explain that a little further.
How could a circuit like the one in the example with just 2 inputs fail?
What if one of the wires broke:
Now, the stop button (the normally open contact) will have no function when the system is failing (wire-break). The wire break is one fail, but that produces another fail: The stop button isn’t working. And since the stop button is a critical function, this is why this solution is not good practice.
How could this solution be good practice?
By using a normally closed contact as stop actuator. This is because the normally closed contact as an input actuator won’t create dangerous situations under failure. Meaning that when a fail occurs (the wire-break), the input will act as the normally closed contact has been activated. So, if the wire to the stop button breaks, the same will happen as if someone activated the stop button. The latch will break.
When the input actuator is changed from normally open to normally closed, the state of the input is also changed. Before the input was always 1 or ON, when the actuator wasn’t activated. But now, the input is 0 or OFF when the actuator isn’t activated.
This means, that for the stop button to work as in the previous example, the boolean instruction should now be examine if closed instead of examine if open. If you, once again, look at the table you will see that.
Since, the input is always 1, an instruction with the result of 1 (when the input is 1) will do the job. The result of the examine if closed instruction is 1.
Now, the stop button works together – hardware and software. You can see below, what happens when the stop button is activated:
At last you might wonder why I didn’t do the same thing with the start button. That input is also a normally open contact, but with examine if closed (normally open logic) in the software.
Just like that stop button, the start button will not work if the wire breaks.
Remember that wire-breaks and other failures shouldn’t produce dangerous situations. Well, even though the start button will not work under a wire-break, the start button is not a critical function.
Why is the start function not a critical function?
Because it is not dangerous if the machine, motor or another movable part cannot start.
To develop you PLC program with what’s known as good practice, you should always keep in mind what will happen when the system is failing. Your system can fail in many different ways, but often the critical one is wire-break.
Wire-break often occurs because wires are the weakest point in a typical PLC system. Wires often go along movable parts, and are therefore exposed to a risk of being cut or ripped apart.
Another very common fail, that behaves in almost the same way as a wire-break, is loose connections. All your inputs are connected with wires. The weak points here are the connections. From the input screw-terminal on the PLC to the terminals on the input actuators are all in risk of being loose and creating a bad connection. Sometimes even no connection, which is just like a wire-break.
Do you know about other common fails, that can cause risk in a PLC program?
Join the conversation! Please leave a comment below and tell us your perspective on good practice machine design.