This is easily done by disabling the position loop and running in pure velocity mode. This is a very neat trick, and Turbo SRM only hints at what you need to do in the Ixx67 section. In this mode, you can slew your machine as fast as she goes for the conditions, and resume control - e.g. J/ or start a motion control program - when you reach your destination. Think -5F temperatures, grease thick as cold fudge, and big telescopes.
First, however, I want to stress that you should not be running open loop: this is not a solution! Running open loop can be dangerous, and gives you no speed control. For example, open loop can spin up the motor to high speed under no load in two seconds, and quickly reach the back-EMF limit. Suddenly the motor will have no torque, and will drop back to a lower speed. Depending on the load, you can get into damaging oscillations. There are legitimate reasons for running open loop, but your application isn't one of them.
On a Geobrick (Turbo PMAC2 with torque mode amplifier), do the following:
0) Set Ixx32 very carefully to produce the correct velocity. To do this experimentally under no load, do steps 1 and 2 below, and then adjust Ixx32 so that the actual velocity matches the commanded velocity. On the Geobrick you may find that Ixx32 is almost Ixx31, typically just a fraction of a percent larger. Set Ixx11, Ixx69, Ixx57, and Ixx58 for your application. You might start with Ixx69 at the maximum safe continuous current for your motor, or the maximum continuous power for your amp, whichever is lower.
1) disable the position error limit Ixx67, setting it to zero.
2) You must set the integration limit Ixx63 to zero. Otherwise you may find your motor mysteriously spinning up after a stop - not a good thing! Even if Ixx33=0, just be safe and set Ixx63 to zero.
Now when you do something like J+, your motor will be running in what I call velocity/torque mode. When you hit the Ixx69 limit and your motor can't go any faster, the following error will build up and trip on Ixx11, which you can prevent by zeroing it, and use other criteria to ensure safety - you don't want your motor taking full current while stalled. Your motor will now hum along at the commanded speed or something less, depending on conditions.
When you are ready to resume position mode - you might be monitoring Mxx62 for example - first do
Ixx63=4194304 Ixx67=4194304 Mxx61=Mxx62
To force a smooth transition, the M variable assignment forces the commanded position to be the actual position, after which you can immediately do, for example, a J^* and land right on target. In some cases you'll need to do Mxx62=Mxx61, for example when you have backlash compensation on, and you're reversing direction. Otherwise the compensation can do strange things. Of course you could just stop under pure velocity control with a plain "J/".
You'll find other times when doodling directly with Mxx61 and Mxx62 is useful. Check the manuals for the full computation of following error - it involves the position bias and a couple of other things - to tell sweet lies to the PMAC.
-John Kuehne, Ph.D.
McDonald Observatory, Texas