Sounds convoluted. It might have worked, but it isn't the right way to do it, and since the aim of your assignement is to learn how to do it then I'll suggest a couple of simple solutions, but its up to you to understand why the solutions work and how to apply them.
The simplest way is
Button Oneshot* SS_bit
-----] [-------[OSR]-------------------( )--
SS_bit SS_bit Motor
-+-----] [-----+---+----]\[-----+------( )--
| | | |
| | | |
| | | |
| Motor | | Motor |
+----] [------+ +----]\[-----+
The first rung produces a single shot bit that is true for one scan only. The single shot bit toggles the state of the flip-flop logic in the second rung.
*If you are using a Micrologix 1100, 1200, or 1500 then use the ONS instruction instead of the OSR instruction.
If you want to use a counter then use the least significant bit of the counter accumulator and don't worry about the counter DN bit or what the counter preset is. Look at the binary value of the counter:
0 = 000
0
1 = 000
1
2 = 001
0
3 = 001
1
4 = 010
0
5 = 010
1
Did you notice that everytime the counter changes value the least significant bit of the counter changes state. It is 0 when the number is even, and 1 when the number is odd. The only thing to watch out for is that a counter is retentive. That is, if your turn your motor on, and then the power goes out, when the power comes back on your motor will too, and sometimes that is bad.
BUTTON
------] [-----------------+-----------------+-(CU)-
| CTU |
| Counter C5:0 +-(DN)-
| Preset 0 |
| Accumulator 0 |
+-----------------+
C5:0.ACC/0 MOTOR
----] [--------------------------------------( )-
There is no need to program a reset for the counter ever,
EXCEPT if you want to use this method and you do not want the motor to restart after a power failure, in which case use the first scan bit to reset the counter.