Using a simple start stop program in PLC as an example. Why is the stop button a XIC? In motor control you would want your stop NC. Whats the logic behind the start and stop being in the same state at the atart up of a plc program?
In a standard relay logic 3 wire motor control your start and stop are also in the same state to start the motor. The stop button is normally closed, and for the amount of time you push the start button, it is closed as well. Then both switches have to be in the same state (open) to stop the motor.
One of the hardest things for me to get my head around when I was learning PLCs was the difference between NO and NC in relay and ladder logic.
The ---[ ]--- (XIC) is pretty straight forward...it's basically opposite of what you are used to seeing. In relay logic, NO means the power flow stops at that spot until the contacts change state, so you are waiting for something to happen. In ladder logic, the NO contact means it's already happened, the associated bit is on, and the power flow continues.
The ---[/]--- (XIO) is a little trickier. In relay logic, power flow passes a NC contact until the contacts change state. In ladder logic, the NC means that if the associated bit is off then the power flow continues. So, if it's off it's actually on. Clear as mud, right?
Another way to explain it might be that in relay logic, contacts are shown in the shelf state with no power applied, while in ladder logic XIC is normally false (true when the bit is on) and XIO is normally true (false when the bit is on)
stop start light
----------l l-------------l l------------------------------( ) PLC
--------O__O----------oTo-----------------------------( ) MC
If the stop button is closed, the first input is on and the power flow continues.
If input 2 comes on, (the start button is pushed) the power flow continues and the output is turned on. In this example the light will only be on as long as the start button is held in.
More logic would need to be added to keep the output on after the start button is released, usually utilizing a set of auxiliary contacts from the motor starter.
I probably haven't explained this well, but my advice is this: if you are really interested in learning PLCs and you have a good handle on sequential logic already, the next step might be learning some computer math. Binary, octal and hexadecimal is how a PLC sees the world, and a basic understanding of these numbering systems was a huge help to me in learning how a PLC works. After that, learning about logic gates, truth tables and boolean algebra will vastly improve your understanding of how the PLC executes its program.
Depending on where you live, there are probably community college courses you can take that would be a big help. A great book that really made the difference for me was, "Programmable Logic Controllers, Practices and Concepts" by RA Gilbert and JA Llewellyn