Really stuck - Proportionally control 2 motors from 1 data range

GreyE30:
Can anyone help me with how to do this?

If you have a circuit diagram it would be a great help. You can just draw it by hand if you need to. Also, pictures of your complete setup would be really handy if you have already assembled your sketch.

I've seen this kind of setup before and the trick is to run both DC motors so that they push against each other, not one pushing and the other pulling like you said. If it worked the way you are describing then you would only need one motor.

By having two motors pushing against each other you can have them hold at a set position so the moving object will be locked in place when not moving to another position.

(M1)---------F1>>>>|<<<<F2------------------(M2)

Steady state: Forces F1=F2 vertical bar not moving.

Looking at this simple diagram you can see that if motor M1 is pushing with equal force against motor M2 then the vertical bar will hold its position because force F1 equals force F2. To move the vertical bar to the right you don't reverse the direction of motor M2 you just reduce its force on the center bar.

Moving Slowly

(M1)-------------F1>>>>|<<<F2---------------(M2)

Moving state: 
Force F1 is slightly greater than F2 : Vertical bar moving slowly to the right.

Moving Fast

(M1)--------------F1>>>>|<F2-----------------(M2)

Moving state: 
Force F1 is much greater than F2 : Vertical bar moving quickly to the right.

This is where I'm not so sure of the solution but if each motor has it own PID controller and you use the position error of the vertical bar as the input to each PID then it should drive the vertical bar to the new position. This requires that the position error be inverted for each motor PID controller.

If, for example, you want to move the vertical bar to the half-way point but it is currently 1/4 of the distance from motor M1 and 3/4 of the distance from motor M2 then the position error for the M1 PID would be -1/4 and the position error for the M2 PID would be +1/4.