Question against teachers opinion on book info

I also learnt by relay logic and saw my first PLC code more than 35 years ago and saw all these NO contacts and thought how can this work.
N/O for a stop button, when it should have been a N/C, well we all know why this is the case, BUT using XIC or XIO terminology when l later moved to an AB PLC really threw the spanner in the works (I do like Ron's vids for showing the operation of XIC, XIO, but even he changes it back to true or false 0 or 1 to be able to be understood(of course it helps that is how it ultimately works)).
I agree true or false would be a better terminology, but then America does always seem to want to be different (even if you did invent the PLC, AB tends to make things harder than they need to be IMHO and are never going to conform to the rest of the world).
 
Greetings PLCnovice61 ...

no offense taken - and I'm certain that no offense was intended - but I'm puzzled by this statement that you made:

but even he changes it back to true or false 0 or 1

I'm not sure exactly what you meant by that ... let me state it this way for the record:

a bit/box can contain a 0 - or a bit/box can contain a 1 ... period ...

specifically, a bit/box should NEVER be considered to be either TRUE - or FALSE ...

now it's a very popular misconception that a status of 1 is the same thing as TRUE ... and that a status of 0 is the same thing as FALSE ... but as I said, that is a MISconception – and it is NOT correct ...

going further ...

an XIC instruction – or an XIO instruction - may have a condition of being TRUE – or else a condition of being FALSE ... period ...

specifically, the condition of an XIC instruction - or an XIO instruction - should NEVER be considered to be either a 1 - or to be a 0 ...

I'm pretty sure that I've kept that same format throughout all of my YouTube videos ... but ... just in case you've spotted an instance of where I've made a slipup somewhere along the line, please be good enough to point it out to me ...

each individual "slide" in those videos has an identifier number in one corner – a faint four digit code – for example, something like B035 ... it would be very helpful if you could quote any slide number where I've made an old-fashioned human error ...

so back to your statement:

but even he changes it back to true or false 0 or 1

I can assure you that I did not INTENTIONALLY change things around like that ...

many people refuse to accept that there are differences between:

(A) a bit/box (which can hold only a ONE or a ZERO) ... and:

(B) an XIC or XIO instruction (which may only be considered either TRUE or FALSE) ...

much confusion is the result of misconceptions in this area – and over the years, I've found that the students who refuse to accept these differences are invariably the ones who have the most trouble grasping how PLCs work under-the-hood ...

peace to all ...
 
Last edited:
It's ironic that AB use XIC, XIO, why? most people just pick an open or closed contact from the bar, so if it is called XIC or XIO or N/O or N/C it is either true or false so it does not matter bit box input contact it is either true or false.
As it is Boolean logic it is either AND, LOAD, AND NOT, OR, OR NOT etc.
Here is an example of a latch (do not get me going on if it should be an SR or maintain contact) they are the same (exception is RS, reset before set)
Here Using two push buttons as a seal in for a start/stop so normal convention is the stop is a N/C contact so is an AND (XIC).
--------| |---+--| |-----------( )
|
--------| |--+

However, if using an SR latch then

--------| |--------------[ S ]

--------|/|--------------[ R ]

So if the stop button is used as a reset it becomes N/C (XIO), however, this means the contact (input) is true so the NOT is false, no wonder it can be confusing for some.
I disagree with the AB convention , like a previous post T or F is better, but then again it's what you are used to.
In ST there is no XIC or XIO it is AND, OR, NOT, TRUE, FALSE.
I have always thought of them as "AND" (not the physical AND function but as a N/O) and "NOT" ,TBH, I don't think of a "N/O" or "XIC" that becomes natural, I only in my mind think of them the first choice, then when I want a N/C XIO, my brain thinks N/C, NOT or FALSE, this is perhaps my days in digital systems when a process was designed using integrated logic circuits or relays.
The one thing that is common to to both XIC/XIO & N/O & N/C is looking at the de-energised state of a contact, but using those states in the logic to give a true or false signal to drive something.
 
I always referred to anything in the PLC as an "instruction". Whether it was a timer or an XIC, I always called them instructions. As such, what it is actually called was largely irrelevant. Examine On, Examine if Closed. Those are just names.

I wanted my students to view the logic as "how it works", so I tried to separate the field device from the logic. I used a concept similar to Ron's bit box to make clear that there is no such thing as "normally" in the PLC. The bit is either a 0 or a 1, there is no normal, there is only right now.

I would also try to refer to field devices as open or closed for inputs, and on or off (or energized/de-energized) for outputs. In the logic, I would try to stick with true or false. For, example, to get this output device to turn on, I need to close this switch to make the instruction true and I need to open this other switch to make this other instruction true. Once I do that then the output is now true, and the field device will turn on.

Again, making that distinction between the field devices and the logic.

People that write the IEC specifications or the manufacturers that make the products don't have to train people that have never used this stuff before. Their terminology was not always friendly for inexperienced users. That doesn't make it wrong or right, it's just what it is.

Once you know what you are doing, call them whatever you want. But when I was teaching others, I tried to do what I could to reduce confusion.

To repeat from an earlier post, this is just my opinion and how I approached teaching basic logic instructions.

OG
 
...there is no such thing as "normally" in the PLC. The bit is either a 0 or a 1, there is no normal, there is only right now. ...


Almost Yoda-like: Do, or do not. There is no try.


Anyway, this is a really good point. PLCs may have been originally created as a substitute for physical relay logic, but there are subtle differences: PLCs are digital i.e. discrete i.e. scan-driven so rung and instruction order is critical (left to right, top to bottom); physical relay logic is analog i.e. continuous i.e. the order of the rungs in the diagram of physical relay ladder logic typically does not matter.


The scan time for a PLC is short enough that the difference is usually insignificant, but it is there.


So this gets to OG's original "Grrrr" point, that the names NO and NC reinforce wrong thinking when used in a PLC context. In that sense, XIO and XIC are actually better* names, and all the claims about A-B muddying the waters with that naming convention is the same as saying "They are confusing everybody who is wrong by being right." LOL.


* XIZ(ero) and XI1 might be even better?
 
Last edited:
Like Peter, I learned controls with real genuine relays and physical timers and analog limit alarms and such. Maybe that's why I fail to see where all the confusion with RLL using NO and NC comes from.

In those ancient times, if you had a switch it would either apply voltage to a relay coil or it would not. If it applied voltage the relay would change the status of its contacts. NO would close, and NC would open.

In a PLC, if have a switch it will either apply voltage to an input or it will not. If it applies voltage the input will change the status of its contacts. NO will close, and NC will open.
 
In a PLC, if have a switch it will either apply voltage to an input or it will not. If it applies voltage the input will change the status of its contacts. NO will close, and NC will open.

This is how I see it and I have never struggled with the concept.

The input is treated as a logical relay and XIC and XIO instructions referencing it as its NO and NC contacts. An OTE to a bit and its corresponding XIC and XIO are exactly the same.

I will concede some sympathy for the position that this is an abuse of the word 'normal', however. In a standard relay there is a spring that shifts the contacts one direction if no power is applied. With physical inputs it may be easy, but if I have a pair of set/reset instructions (OTL/OTU if you prefer) for a bit address, why should one state be considered 'normal' over the other?
 
Like Peter, I learned controls with real genuine relays and physical timers and analog limit alarms and such. Maybe that's why I fail to see where all the confusion with RLL using NO and NC comes from...

A new user wants to equate a NO contact with having to use a specific instruction. So they add the XIC instruction because it looks right. But then it is called Examine if Closed and my device has open contacts. So that seems wrong. The name and the symbol don't seem to add up properly.

When they shouldn't be focused on what they have, but instead on how it should work. When should the output energize.

OG
 
Last edited:
Ok, now the comments in this post have begun to get to the real crux of the issue which is applying programming instructions to real world I/O. The programmer HAS to understand the concept of a real world normally closed PB, selector switch contact, or LS in the field.

How many people here really understand how an overtravel LS should be wired? Should it be wired only to the PLC, hardwired, or both, etc., etc?

What concerns me here is a programmer may demand a fail safe device be rewired to match their (improperly) programmed XIC or XIO PLC contact. Or, vice versa where a device is wired wrong and the programmer says “no problem, it’s easier to just change it in the program.
 
Last edited:
The programmer HAS to understand the concept of a real world normally closed PB, selector switch contact, or LS in the field.


I would go more broad than that: any programmer HAS to understand the PLC program is never more than a model of the real-world process, and should have the fullest possible knowledge of all assumptions and shortcuts in that model, and what is modeled, and what is not modeled.


What concerns me here is a programmer may demand a fail safe device be rewired to match their (improperly) programmed XIC or XIO PLC contact. Or, vice versa where a device is wired wrong and the programmer says “no problem, it’s easier to just change it in the program.


Those are valid concerns; that said, they are unrelated to the naming convention for PLC instructions.


Those concerns have conflicting causes, but they have one thing in common: the wrong person thinks they are running the show. In both cases the programmer should instead be saying the equivalent of "I code as needed to meet the needs of the properly designed and implemented physical process, and not for anyone's convenience, neither mine nor the builder's/electrician's/maintenance tech's."


And few are likely to pick up that knowledge on an internet forum.
 
Last edited:
Hi Ron, no offence implied by me re your vids, quite the contrary, l think your vids are how the PLC concept should be explained and have asked apprentices to watch your vids so they understand the correct operation and how the order of the logic matters.
What l was so poorly saying, was your vids show true or false, 0 or 1, but l shouldn't have implied that those descriptors both related to XIC, XIO.

But ultimately the reason for the OP's post was that even the instructor teaching PLC students, can't get his head around the confusing terminology that AB decided to use. It is all easy when it's explained properly or better still, use your vids to get others head around examine when open or closed, but the truth remains without understanding or better still, watching your vids, AB's terminology is not intuitive for lots of people, me included, but keep in mind for me that was more than 30+ years ago.
When writing AB code, l put in N/O or N/C contacts, l don't think of them as XIC, XIO, for me it's to confusing which is it for N/O, examine when open or examine when closed, l never use those names, to me XIC is an internal to the PLC N/O contact).
I haven't searched here, but l can't remember many similar posts on what does a N/O or N/C PLC contact mean on a bla bla model PLC, only please explain what a AB XIC or XIO means, so l rest my case.
I also wasn't trying to be offensive, re USA wanting to be different, that was my warped humour, but there must be lots of Americans with a warped sense of humour and have given us, the rest of the world, a good laugh with who you pick to run the #1 world power in the last few years.
 
I don't have much to add, except I'm a little angry :mad: that "Dr. Boolean" seems to think he knows better than the textbook's author. It would not have taken much investigation for him to see how the instructions ("contacts") are actually used and how they function. He's probably quite rigidly set in his concept, so trying to dissuade him may well be fruitless. Sorry for his students, but in a way, if their disagreement leads them to a true understanding, it may "burn in" and stand them well in the future. (y)
 

Similar Topics

Hello again..trying something on an existing poorly written program and just wanted to double check something system is an A-B MicroLogix 1200 In...
Replies
5
Views
169
Good morning! Let me start by saying, I am still learning about this type of HMI programming. I recently watched a video about recipes and how it...
Replies
0
Views
71
I have some logic that I have written within a 5380 series controller that tracks the time an event is started, while the event is running an RTO...
Replies
2
Views
93
I have an HMI 2711R - T4T Series B, and I want to know which PLCs, besides Micro 820, can communicate with it.
Replies
2
Views
92
HI i would like to know how to get a variable that will store the amount of times a program has been executed. The issue is I have 3 DBs for 1 FB...
Replies
2
Views
82
Back
Top Bottom