Why You Should Use Normally Closed For Stop Buttons
Do you understand the difference between normally open and normally closed contacts? Great! Let’s dive deeper and explore where and how to use them in your PLC programming, connecting the dots between your PLC program and the actual 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 hazardous situations under failure. Important when it comes to the risk assessment process. The same is also true with safety relays and contacts in safety circuits.
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).
Hardware Logic
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 |
Activated (1) | 1 | |
Normally Closed | Inactivated (0) | 1 |
Activated (1) | 0 |
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.
Software Logic
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:
Input bit |
Result | |
Examine If Closed |
0 | OFF (0) |
1 | ON (1) | |
Examine If Open |
0 | OFF (1) |
1 | ON (0) |
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.
The difference between examine if closed and examine if open is that they are inversions of each other. In Function Block Diagram programming inverting a signal is done with negation.
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.
Imagine assigning an address from one of the PLC inputs to an instruction. This way, the instruction mirrors the input’s state, as every PLC input aligns with a specific bit in the PLC’s memory, reflecting its condition.
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.
Conclusion
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 breaks are common since they’re the fragile links in a typical PLC setup, often running alongside moving parts which might cut or damage them.
Loose connections also mimic wire-breaks, posing a frequent challenge. Every wire linking your inputs, from the PLC’s screw-terminal to the input actuators’ terminals, could loosen, leading to poor or even no connections, much 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.
Thanks for clear idea The Difference Between Normally Closed And Normally Open Inputs.
Thank you for your post; it helped me to understand the difference between the hardware and the software, and the best way to make them cooperate to achieve the best practice and the safety.
But I have a doubt.
In fact, just below the second of the two figures showing a possible wire-break, it is written the following:
“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 “.
Probably I have misunderstood (I’m not English native), but I think that it should be written as:
“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 0 or OFF, when the actuator wasn’t activated. But now (with normally closed), the input is 1 or ON when the actuator isn’t activated “.
Thank you for your attention and reply
Very Nice !!!
superb explanation.iwant to know how to draw ladder diagram.please send to my email adres.
Thank you very much sir, its helped me a lot, keep write good and useful articles like this.
Great post . ty
Also the website interface looks perfect !
when pressing the stop button , I observe in My program that the input instruction changes to false, but an electric motor continues to run.
what can be the possible causes?
I was thinking the motor relay contacts are welded, the output terminal point fuse is open. or the stop button is using normally closed contacts,
What do you think
For safety we always use Normally Close (NC) contacts in hardware.
Typical example: Emergency Stop buttons, where we use NC contacts.
Other examples:
1. motor thermal contact, where we use the NC connection as input to the PLC.
2. Limit switches.
3. Safe guards (eg at housing doors of machines).
Thanks for your comment, Vasileios! Good examples you come with. It is of course not only stop buttons, but also many other functions related to safety where the use of normally closed (NC) contacts are the better choice.
thank you, this really explained alot
Very good information sir