Gracious ...
if I were a beginner trying to understand PLC stuff – I'd be thoroughly and helplessly confused by reading this thread ...
folks – it ain't that complicated ...
what's happening is that most contributors are trying to draw a relationship directly between the FIELD DEVICE (the button) and the INSTRUCTION (the XIC) used in the Ladder Logic code ... as shown in the top figure below – that is NOT the way it works ...
SECRET HANDSHAKE: in the top figure we're mistakenly leaving the BIT/BOX (which exists in the PLC's memory) – completely out of the discussion ...
the bottom figure shows that the status of the FIELD DEVICE (the button) directly affects the ONE or ZERO contents of the BIT/BOX ... in GENERAL/BASIC terms, if there is "electrical current" flowing through the button – then the BIT/BOX will contain a status of ONE ... if there is NO current flowing - then the BIT/BOX will contain a status of ZERO ...
the "updating" of the BIT/BOX – as to HOW it happens – and just as importantly, WHEN it happens - is another lesson – for another time ... and the lesson can be fundamentally different when discussing different PLC platforms ... (example: WHEN the updating happens is different for an SLC platform – than for a CONTROL-Logix platform – and different again for a COMPACT-Logix platform – and so on ) ...
for this discussion – let's just say that the BIT/BOX gets updated as shown by Arrow A – and move on ...
at some point in the "scan sequence" – let's say that the processor executes the XIC INSTRUCTION in the Ladder Logic code ... now it really makes NO difference what you call this doodad ... "Examine If Closed" ... "Normally Open" ... or even "Sam's Little Brown Dog" ... specifically, it makes NO difference what you choose to call it – as long as you know exactly what the INSTRUCTION tells the PLC processor to do ...
and it ALWAYS – ALWAYS – ALWAYS just tells the processor to "Go Look For A ONE" in the BIT/BOX with the specified address ...
if the processor finds a ONE – then it's happy – and the instruction will be evaluated as TRUE ... if the processor does NOT find a ONE – then it's unhappy – and the instruction will be evaluated as FALSE ...
this execution/evaluation of the Ladder Logic code is shown as Arrow B – in the bottom figure below ...
and once again, HOW it happens – and just as importantly, WHEN it happens - is yet another lesson – for yet another time ...
all of this is explained in the eleven YouTube videos that I linked earlier ... and I can PROVE that it works this way by demonstrating the simple experiments shown in those videos ...
now to be truthful ... over the years I have had MANY people ask this question:
"But, Ron, if the way that MOST people are WRONG in the way that they believe (and teach) even the most basic concepts behind how a PLC works – then how do they get away with that?" ...
there's a simple answer to that perfectly valid question ... here's an analogy ...
several thousands of years ago, everyone KNEW that the earth was FLAT ... and here's the secret handshake ... it's perfectly OK to believe that the earth is FLAT – just as long as you don't go too far in any one direction ...
even today – if you (or I) are planning to drive from coast to coast – we reach into the glove compartment and we pull out a FLAT road map ... specifically, we do NOT pull out a round globe ... now the round globe would be a more accurate representation of the trip that we're going to make – but a FLAT map is perfectly OK – as long as we don't go too far in one direction ...
but ...
suppose that we travel in a straight line for about 25,000 miles in any one direction ... now suddenly we're faced with a monumental problem – because now we're right back where we started from ...
here's the point ...
as long as you're trying to understand PLC Ladder Logic – and you stay at the BEGINNER LEVEL – then you can literally get away with murder ... there are any number of ways of explaining things to a beginner that can sort-of-kind-of make sense – and allow him to sort-of-kind-of handle BEGINNER LEVEL problems and programming questions ...
the big issue comes into play when the student eventually leaves the "safe space" of the classroom - and starts working on BEYOND BEGINNER LEVEL problems in the field ...
so ...
you can completely ignore the presence – and the function - of the little BIT/BOX while you're reading – (or in many cases even WRITING) – a piece of Ladder Logic code ... as long as the sun is shining – and the birds are singing – and the pope gets his Wheaties on time – then life is lovely and a flat road map is "close enough" ...
but ...
when you're called upon to TROUBLESHOOT a PLC-controlled system which is NOT working correctly – then sometimes (I'd say "often" times) you're going to need a BEYOND BEGINNER LEVEL understanding of what's REALLY going on under the hood of this thing ...
party on ...
.