As Goody indicated,
you do have to have a sense of what a real, hard-wired, "REAL TIME" system is and how it works. That is, after all, what a PLC is trying to mimic.
All of the devices in that kind of system are liable to operate at ANY time. There is no top-to-bottom effect in that kind of arrangement unless you have specifically designed it as such.
The key point is, you don't have to "RESET" anything in that system to tell it to "pay attention"... it is always paying attention.
It might be the case that your hard-wired system performs a sequence of steps and then stops... however, (assuming you don't have a switched hot-rail) that left-rail is always hot and always looking for a way to get to the right-rail.
Accidently tripping a limit-switch, which would normally be tripped only in the middle of the sequence, might very well cause a partial sequence starting at that point in the process. That might, or might not, cause a catastrophic crash in the machine. (This would NEVER happen in a well designed PLC Program!)
In a PLC, conditions are examined in a particular sequence. The exact sequence depends on what you are trying to do. In a hard-wired system, you can stick any device damned near anywhere on the schematic. It will work as expected. HOWEVER, you should NOT expect to create a PLC Program to look like that schematic.
Schematics of hard-wired systems represent REAL-TIME control.
PLC's are NOT REAL-TIME controllers! They can be pretty fast, but because of the sequential examination of code and the scanning scheme, they are NOT REAL-TIME! You can think of them as "conditional sequencers". And... these sequencers never stop trying.
Because these sequencers never stop trying, there is NO "END PROGRAM" as in "Stop Program". There is, however, "END OF PROGRAM" (Usually identified as "END").
PLC's have a certain maximum amount of memory allocated for the program. Your particular program might, or might not, use all of that memory.
In most PLC's, the Program "scanner" will read and execute the program until the scanner runs into "END" ("END OF PROGRAM"). If your PLC has 32K of memory available for your program but you only use 8K, then the Program-Scan will be shorter (1/4 of max program scan-time). The program then goes on to do other house-keeping chores before it returns to execute the program again.
In SOME PLC's, if you don't have an "END", the compiler gives you a fault. In other PLC's, if you don't have an "END", then the program will compile but the program-scan will read ALL 32K before moving on to the house-keeping chores. This, of course, makes your program scan-time 4 times longer than it needs to be.
So, "END" is NOT "END PROGRAM" as you might see in a BASIC or "C" program, but rather, "END OF PROGRAM" code at which point, the PLC moves on to the next task... and so on, and so on... like being stuck in a GO-TO LOOP.
TANGENT:
Anyone care to explain "Bird-Land"?