Hello Stasis,
You asked for it, so here goes.
Label your I/O with desciptions that help to identify the function of the device. Instead of PE1, PE2, etc... try
...these are labeled in the prints that will accompany the install, including a drawing of the machine & location of the devices.
[QUOTE=Label your internal items like timers, counters, coils, etc with description as well.
Add some rung comments to hint at what we are looking at. This may help you as well when you have to come back to this program at a later date and can't remember what you were thinking at the time you wrote this logic.
...this is the kind of constructive critique I was shooting for!
[QUOTEYou are using the third analog input in your LIM comparisons, but you only have the first analog input enabled in the IO Setup.
The discrete input I:0/6 is not an analog as your symbol suggests. The address I:0.6 is the raw analog signal. Note the difference. You should scale your raw analog signal into engineering units that match your process variable before doing the comparison.
I'd love more detailed instruction on this...
[QUOTEYou have used a nested branch where extending the branch down would have been more appropriate on rung 2.
The use of an output for an EStop function is not advised. The logic turns on the output to initiate an EStop. What happens if that wire becomes cut or falls off? An EStop circuit should be hardwired and failsafe. You can have an input from it to let your logic know that the IO is not powered. I think your output would is actually a "Jam Stop" from your decription of the logic.
...no. the relay refers to a real-world relay.
Thanks!