Hi all,
I'm trying to follow the application note Laser Pulse Control with Power PMAC DSPGATE3, specifically the section Equidistant Pulse Output Per Traveled Distance Along the Path. This involves setting up a virtual motor, custom user servo routine, and PFM + EQU, and I'm trying to implement this on a PowerBrick LV controller. My end goal is to output equally-spaced pulses as the machine moves in X/Y. For example, I want to generate a pulse every 0.8mm traveled.
I'm looking to use an EQU output from Gate3[1].Chan[3], and I'm using Motor 10 as my virtual motor, and I've set the L-variables in the example motor setup code as such.
As the app note example shows, I selected Motor 9 (which has no setup in my code) to run the user-written servo routine. I run the subprogram to set up EQU called PulseAlongPath(GateIndex, ChanIndex, PulsePeriod, PulseHigh) in a Motion Program, and then try to jog the machine in X and Y, however I don't see pulses on the EQU output.
I see that to enable the trajectory following, two conditions should be activated:
Motor using the user-written servo routine needs Motor[x].ServoCtrl = 1
The virtual motor with PFM needs to be closed loop
I'm a bit confused about which motor should be running the user-written servo routine - the app note shows Motor 9, but I'm not sure if I should also use Motor 9 or use a different motor. Also, how to I set the virtual motor to closed loop?
Thanks!
Laser Pulse Control with Power PMAC DSPGATE3.pdf