The 8 Results of 2 Digital Input Commands

Lancie1

Lifetime Supporting Member
Join Date
Jul 2003
Location
Alabama
Posts
9,999
XIC and XIO: For you newer PLC programmers, if you get it clear in your mind about how the two common digital input commands work, (XIC and XIO for Allen-Bradley RSLogix users), then you will be well ahead of the learning curve. There are at least 8 possibilities, if you consider whether the physical device circuit power is on or off. I made up a chart to show them.
PLC_Inputs.JPG
 
Last edited:
Well, yeah, and that makes it unduly complicated in my estimation. When the power is off, meaning the I/O power I presume, what works anyway? It really does not matter about the state of the device or the resulting data table bits. If the bit conditions do not change, then some good old fashioned troubleshooting is in order. The instructions are still the same, is the input on, or is it off? There are only two instructions with two states each. Four is tough enough without having to consider four more. Just my two cents and IMHO.

 
randylud,
I see your point about the "power off" states not being important. Most of the time they are not, but I think it is wise to at least be aware of those other four states. Remember too, I said ".. at least 8 possibilities". What about the conditions when you use subroutines or state relays? Then you could double the number of possible output states to 16!

I do remember several times troubleshooting a circuit in a larger plant, and looking at a XIO bit, and saying, "Hey, that PLC input bit should be off", and then spending a good deal of time checking the logic and the PLC to make sure it was not faulted and not offline, then finally checking the control power for that circuit and finding a blown fuse for that input. With a blown fuse or a disconnected wire, an XIO bit will be on, even if it should be off when the control power is on. (See the last two lines in my table). Sometimes it does matter about those other 4 states.
 
Last edited:
RMA,

How are the equivalent two inputs for Siemens any different, or any less complicated? In my experience with Siemens, they work exactly the same.
 
Lancie is right about the state of inputs and the instructions that ask whether they are on or off. No matter the language or PLC, the same thing is true. There is an input and the program must know if the inputs in use are indeed on or off. I agree that there are times when the extra consideration of input status might be handy, but trying to learn what the instructions do and how to use them is a daunting enough task for most newbees. When you go to a problem in the field, many of us have been through the school of hard knocks on how to find a problem. I have spent time looking for problems that did not exist and finally over time learned that there are certain things you check first when getting to a new problem. I always ask is the thing on? Then I check to see for myself if it is on. It will matter how well you understand programming or instructions if the darn thing is turned off. I know, you can also observe the status lights on most input and output modules to see if there is activity and you can be fooled by that. However, before resorting to a chart of 8 or more sets of conditions, I just get out the handy multimeter and check the input. If it is possible I also exercise the machine or process to see if there is any change of state of the input under test. And so on and so on till the darn thing finally works. Sometimes, I even have amazed myself! Have you ever done that?

 
RMA,

I checked my Siemens ladder, and it calls them "Normally Open" and "Normally Closed". The NO is okay, but the NC is a misnomer, a paradox. If you didn't know how it worked, the name would mislead you. I think that why Allen-Bradley chose different names was to emphazise that the PLC Input bit is NOT the same thing as the physical device. What does a "Normally Closed" input say to Siemens users?
 
Last edited:
RMA,

Is Siemens still using the old TI mnemonics? I programmed a 5TI back in the day and seem to remember a Load, Load Not, or an LD, LD Not to examine the input status. Did not take a lot to get from there to XIC XIO the first time I encountered them. What took me a day or two to get over was the darn symbols -----] [------ and -------]/[------- after having done relay work for some years. That really messed with my head. But, I over came it. I tell my students these days that there are some people who just will never program a PLC no matter the effort put into it. You either have it or you don't. I try and give my students plenty of opportunities to find themselves when we are studying PLCs. We do use the AB SLC500 but it would not matter the hardware used, the same thing is still true. I rather enjoy the variety of programming syntax offered by all the different companies. Makes it fun, in a perverse sort of way. But that is why we are who we are.

 
In hindsight I am sure Rockwell would pick different ones if it didn't mean a largely unecessary product change, but they go back right to the earliest PLC's in the 70's and it really isn't at all complicated. I just think of them as:

XIC = eXamine If Closed = True at Logic = 1

XIO = eXamine IF Open = True at Logic = 0

The single biggest hurdle that most beginners need to leap over is that a PLC processor solves rungs according to flow of logical TRUTH, whereas relays solve according to the flow of electricity.

This is easy as long as you always use positive logic, but PLC's allow negative logic as well and this just does not have a physical equivalent in the electrical world. This is very like what happens when most students first encounter imaginary numbers in the world of maths (sqrt -1).

Having started the subject grounded in a physical model (ie real numbers/electrical relays) there is a moment of floundering when the model becomes imaginary. Most folk make the leap, some don't.
 
Last edited:
Same with me Phillip, once I saw the light, it was never a problem again! It is the same way for me with load/load not. And we get paid for this too!
 
There is another even simpler way to look at it. Think of EVERY Boolean flag in the PLC as a relay coil.

If the Boolean is set to 1 the coil is energised.

If the Boolean is set to 0 the coil is de-energised.

Now imagine every one of these relays has an unlimited number of NO and NC contacts attached to it, and you can use as many of them as you need wherever you like in the program.

In the AB world an NO contact is called XIC, an NC contact is called XIO.
 
PhilipW said:
There is another even simpler way to look at it. Think of EVERY Boolean flag in the PLC as a relay coil.

If the Boolean is set to 1 the coil is energised.

If the Boolean is set to 0 the coil is de-energised.

Now imagine every one of these relays has an unlimited number of NO and NC contacts attached to it, and you can use as many of them as you need wherever you like in the program.

That's exactly the way I explain it around here. To get the older guys of the dime I explain the PLC (aka mystrey box), I simply represent it as a "relay replacer" w/math capabilities. For the most part it seems the most effective approch.
 
What does a "Normally Closed" input say to Siemens users?
I dont see how its a misnomer, the contacts in a plc work just as they would with a relay. Regardless of how many states "YOU CREATE" using the instruction(s), it still boils down to is the input ON or OFF.

Terry Woods did an explanation of the AB instructions XIO and XIC and states it was a dumb idea.
http://www.patchn.com/xio_xic_explained.htm
 

Similar Topics

Howdy guys - Looking for some insight on the MAM instruction. Had an interesting one today: I performed a controller upgrade on an older system...
Replies
1
Views
425
Hi everyone! Accidentally closed it and it wont appear again. Checked and unchecked the option and seem to make no difference. Running v7.10.00...
Replies
16
Views
1,888
Hello everyone, We have a vendor-supplied licensed RSLogix 5000 Professional Edition, Version 20.19. The vendor-developed program came with...
Replies
1
Views
1,608
Hello. I have a problem which may be common in this part of the world. My CoDeSys program reads data from a text file that I generate from the...
Replies
10
Views
2,438
  • Poll
Luckily, I do not have to worry about this test, but I am creating this poll for atc2222.
Replies
36
Views
40,411
Back
Top Bottom