XIO/XIC vs. NO/NC

That's fine for "contacts" with Coils

thunda said:
"From the ladder logic perspective:
XIC: energized coil is true;
XIO: denergized coil is true:
This is simple for "real" technicians"

I may be misunderstanding where most people have problems here, but it seems to me that few technicians have an issue with XIC and XIO contacts where associated coils can be monitored. Like when looking at Output coils or Memory coils.

Since your logic is based on the desired state of any memory coil or input when examining the state of a logic rung, all we really need to do is ask "Do I want this element to be high ("true" or XIC) or low ("false" or XIO) to allow this rung to be active".

The problem, I think, tends to arise when working with real-world INPUTS when a NC contact is attached to the PLC. This is when people get confused and why I like "Active Low" and "Active High" with respect to the internal contact itself.

When a NO contact or pushbutton is attached to the PLC, most people are content - the logic is straight forward and intuitive. On the other hand, when a NC contact or pushbutton is used, you tend to think you have to use reverse logic.

By saying "Active High" or "Active Low" you can almost not have to ask what type of device is attached. Instead, you merely need to decide what its desired state needs to be for the logic to be active. Of course you can never actually get away from needing to know what type of devices are attached.

If the input or coil needs to be in its low state for the element to be active, use an "Active Low" or XIO. This corresponds to when any internal coil is de-energized, a NO contact on an input is "engergized", or when a NC contact on an input is "de-energized".

If the input or coil needs to be in its high state for the element to be active, use an "Active High" or XIC.T his corresponds to when any internal coil is energized, a NO contact on an input is "de-engergized", or when a NC contact on an input is "energized".

Steve
 
Steve ...

Now I may be slow, but since "Active High" and "Active Low" are not terms commonly bandied about in all areas of technology, I had to read to the last line of the post to understand the definition of "HIGH" and "LOW". Fortunately I am familiar with XIC and XIO, having done some A-B stuff, and was able to make the leap (I think).

BTW ... originally, I believe, A-B used the terms "TRUE", now "XIC", (for a NO contact shown in the ladder logic) and "FALSE", now "XIO", (for a NC contact as shown in the ladder logic).

NO or NC (shelf state, de-energized state, non-current or non-logic passing) I think everybody understands.

I think this nomenclature mess started as soon as electronics technology was introduced into the industrial electrical environment. Electronics has had their own terminology issues (i.e. conventional current flow vs electron flow) and this added to the mess.

... rab
 
It's mainly a question of semantics, so whatever model works for you, go with it.

Personaaly, I refer to the logical bits as "passing power", and either they are or they aren't. XIC, XIO, not important - just whether or not they're passing power.

TM
 
Maybe the easiest thing to do is a more visual representation. I have to imagine that everyone understands how a start/stop/seal-in circuit works.

Draw the relay circuit first (NO PB, NC PB, NO Sealing Contact, Relay)

Then draw the PLC Equivilant (NO Contact, NO Contact, NO Sealing contact, coil)

(Ok, I tried to draw them, but I'm totally lame when it comes to ASCII Art (except for ascii cow-art, but that's another thing))

Just looking at the diagrams answers a lot (for some people) the similarities and differences of hardwired ladder logic and PLC Logic.


New Jersey Cow
( @@@ )
( @@ ) (------------)
@@ (__) ( *>COUGH<* )
@@ (oo) . . . ( *>COUGH<* )
/--UU--\/ (____________)
/ | ||
* ||---||

 
Tim ...

Yes, it's a matter of semantics and we will all go with what works for us. The problem here is that we have to communicate with others and are having trouble conveying a basic concept when trying to explain these differences of semantics (nomenclature, terminology), and that's what started this thread in the first place.

Obviously most of us who have been programming for a while have run into many of the varieties of expressing the NO/NC, TRUE/FALSE, XIC/XIO, ACTIVE HIGH/ACTIVE LOW (and probably more) that have been mentioned here but when we try and explain this to others the waters tend to get muddied for the uninitiated.

... rab
 
The problem here is that we have to communicate with others and are having trouble conveying a basic concept when trying to explain these differences of semantics

I think that the sheer number of metaphors that we use to illustrate the concept is simply an indication that the 'light bulb moment' is triggered differently in each of us. An explanation that is perfectly clear to me may be hopelessly obscure to you. When you're trying to explain the concepts to someone and you see his eyes glazing over, it's nice to be aware of some different methods that you can use to try to get the point across.

Keep posting all the tricks that work!

Take a look here http://users.adelphia.net/~sbailey2/HW_RLL.htm and here http://users.adelphia.net/~sbailey2/PLC_RLL.htm for a visual of what rdrast was referring to.
 
Sorry Steve that quote you took from me is one I took from the original post. There's enough tricks posted here anyone should find one that triggers the light bulb. đź“š
 
93lt1 said:


This gets really confusing when you have a Photoeye that has a NC and a NO contact as well as a LO (light on) and DO (dark on) output configuration switch.

LO= Light Operate
DO= Dark Operate

The term "on" could confuse people
 
Adding to the noise

I agree with Roger (from post 11).

There is ZERO relationship between NO / NC and XIC / XIO, except that they are both represented symbolically by -| |- / -|/|-.

XIC/XIO, as Terry and others have pointed out (more than once), are questions. They ask the question: "Is the value in the register addressed here =1?"(XIC) or " =0?"(XIO). If the answer is TRUE, then the logic continues.

NO/NC, on the other hand, are the RESTING states of contacts on inputs to the PLC.

All sorts of games can be played with the XIC/XIO question, since the PLC asks the question anew each time the instruction is encountered. If logic exists to change the value of the register (even a direct input) for the part of the scan prior to asking the question, then the answer will be different than it was before the change was made. This is how simulation logic works to overwrite the I/O image table when the input device (or even card) is not present; how you can get in trouble with double-coiling bits; why Latch/Unlatch logic is generally frowned upon; and so on.

To illustrate the point, lets take a look at a simple tank of water, with a Low and a High limit switch. Under normal operating conditions, the tank will be filled to a point between the two level switches. The switches have the same part number, and each have an NO and NC contact. When water is above the level of the switch, the NC contact opens and the NO contact closes.

We want a simple rule: "Loss of signal from the limit switch means ALARM".

First we do the hardware. To acheive that rule, the hardware must PUT a signal in the PLC I/O table under "normal" conditions. Since the level normally won't be above the High switch, we use the NC contact. But since it will almost always be above the Low switch, we must use the NO contact, in order to follow the same rule.

Now we do the programming. Since "loss of signal = alarm" for both, and since they GET a '1' from the PLC I/O table, then both use the XIO (-|/|-, in non-ABspeak) to drive the alarm bit.

So in this example, the High Switch uses the NC contant and XIO logic, while the Low Switch uses the NO contact but still the XIO logic to acheive the same result (setting the alarm) for the same part number device.

As you can see, there is no relation between whether NC or NO is used, and whether that corresponds to XIO or XIC.



Now lets take a simple motor starter example.

Again, we want to wire it for safety. If we were doing it without a PLC, we'd wire to the NO contact of the START pushbutton, but we'd want to wire to the NC contact on the STOP pushbutton, and the circuit would look like what everyone is used to:

START STOP MOTOR
---+---o-| |-o---+---o-|/|-o-----o-( )-o-
| NO | NC
| |
| MOTOR |
+---o-| |-o---+
NO



Now we throw in a PLC. We still want to use the NO on the START PB and the NC on the STOP PB (so that if a wire breaks or comes loose, the machine can't be started, and will stop). So it gets wired in like so:


+------+
| PLC |
| |
START | 1001 |
-----o-| |-o------|--( ) |
| |
STOP | 1002 |
-----o-|/|-o------|--( ) |
| |
+------+



When we go to program it, however, there is usually a '1' in register 1002. The only time there is a '0' in 1002 is when we want to motor to stop. Thus we need to have the answer to the question be TRUE when we ask the question "Is the value in the register addressed here =1", which means we use the XIC (-| |-), like so:

START STOP MOTOR
1001 1002 0501
---+----| |----+---| |------( )-
| |
| MOTOR |
| 0501 |
+----| |----+


Note that this is different from how the hard-wired circuit looks.

Now, I had said that there was no relationship between NO/NC and XIC/XIO, and that's not entirely true. If you were to reverse the contact on the input of the STOP PB from the NC to the NO (and throw out the safety concerns), then you would also reverse the logic on 1002, changing the XIC to an XIO.
 
Last edited:
It's not important as to the various logics behind the NO/NC, XIC/XIO, etc. usages. Everyone can justify why this or that makes sense for what ever reason. The mere volume of response to this thread indicates that there are too many ways to say what is essentially a simple thing. So how do you explain the differences? Again, the question is how NO/NC relates to XIC/XIO. Why really isn’t important. Maybe just a leap of faith. NO=XIC=Active High (again ... who uses this?), NC=XIO=Active Low.

Ahh … this whole thing is ridiculous anyway. A-B has polluted technical nomenclature.
 
LO= Light Operate
DO= Dark Operate

The term "on" could confuse people

It's more complicated in reality. When the light switch turns ON, a light bulb sucks all darkness. When the switch is OFF, darkness is emitted from the light bulb.

The best explanation to the initial problem was given so far by Bob Jones in post #13. At least this is how I see it, too.
XIC (or TIC, as suggested by Mr. Rdrast) instruction checks if 115 VAC (as an example) is present at the input of PLC. The NO contact of a switch has to be closed for 115 V to reach thru this switch to the terminal screw of a PLC.

XIO (or TIO) instruction checks if there is 0 (or floating zero) present at the input's terminal screw to turn the output ON. So, NO contact in this case has to be in its "normal", de-energized state. NC contact, has to be in "energized" state (that is open) to provide 0 V to the input.
 
Last edited:
Zombie thread alert! This one is fourteen years old.

I was just browsing this thread to refresh my 13-year old PLC course training.

The best explanation to the initial problem was given so far by Bob Jones in post #13. At least this is how I see it, too.
XIC (or TIC, as suggested by Mr. Rdrast) instruction checks if 115 VAC (as an example) is present at the input of PLC. The NO contact of a switch has to be closed for 115 V to reach thru this switch to the terminal screw of a PLC.

XIO (or TIO) instruction checks if there is 0 (or floating zero) present at the input's terminal screw to turn the output ON. So, NO contact in this case has to be in its "normal", de-energized state. NC contact, has to be in "energized" state (that is open) to provide 0 V to the input.
 

Similar Topics

I am a beginner at RSLogix 5000 and in ladder logic in general. I am tasked with making sense of an existing program and reprogramming it to make...
Replies
8
Views
6,029
Hi, I am using an AB PLC5. I have a rung with three branches on the right, so that it has three connections to the right (output) rail...
Replies
10
Views
7,150
This is a long, double-post explanation of XIO and XIC. It goes through the full derivation of the concept and ultimately ends with a...
Replies
46
Views
42,763
Hi, I am new to plc and i was reading the contensts in plcs.net. I have a doubt. i am not able to understand when we should go for normally...
Replies
4
Views
5,907
I'm new to the TotalFLow XIO and it has an attached TFIO DI/DO combo module. All I'm trying to do is close an output on the TFIO module. I'm...
Replies
3
Views
609
Back
Top Bottom