What I am trying to say is that during my loading and unload session, how can I have the reed switch activation completely stop the motor without any drift?
Here is the previous history for those who want to help:
http://www.plctalk.net/qanda/showthread.php?t=77243
If the drift or coast time is always the same, you could use the reed switch trigger to control a timer that stops the motor at the exact time needed to coast to the next reed switch (seat position).
However you said the drift time is always different (bearings not good, wheel not evenly balanced, small DC motor very crude). In that case, you have to have addtional equipment, a brake of some type that can lock in the wheel in zero (almost) time.
Even if you immdeiately reverse the DC motor at the reed-switch position, it will not stop the wheel in 0 time, and could eventually damage the motor.
You are going to need another plan. Think outside the box (or the wheel). As I remember, you have control over only TWO ouputs, Motor Forward and Motor Reverse (no Brake). You were running the wheel 30 seconds forward and 30 seconds reverse, followed by the unload/load cycle. What if in the reverse cycle, you run the wheel full-speed for 25 seconds, but then for the last 5 seconds, you reduced the speed to a crawl by not keeping the motor output on constantly, but instead pulsing the Motor Reverse slowly until it stops exactly on a seat switch? (At that time, when the reed switch is on, you stop the pulse timer). You could experiment by setting up two timers, one to control the reduced-speed time, and the second to control the length of each Motor Reverse pulse.