Delta Tau Forums
Different PhaseFreq between GateArrays - Printable Version

+- Delta Tau Forums (http://forums.deltatau.com)
+-- Forum: Delta Tau Data Systems (http://forums.deltatau.com/forumdisplay.php?fid=1)
+--- Forum: Power PMAC (http://forums.deltatau.com/forumdisplay.php?fid=2)
+--- Thread: Different PhaseFreq between GateArrays (/showthread.php?tid=3076)



Different PhaseFreq between GateArrays - nfgalassi - 04-30-2020

I have one axis that requires a higher phase/servo frequency, but I need "master" clock to be the default frequency.

For example:

Gate3[0].PhaseFreq = 9035;
Gate3[1].PhaseFreq = 18070;

Sys.ServoPeriod will still be calculated based on Gate3[0].PhaseFreq.

Are there any implications from doing this? What are the pitfalls?


RE: Different PhaseFreq between GateArrays - Eric Hotchkiss - 04-30-2020

I don't think that will work as you are expecting. One Gate3 will always generate clocks for the CPU and for other Gate3s in the system. Phase/Servo software tasks run on the CPU in synchronization with all of the hardware. There would not be a second Servo software task to run on the second clock signal.

Depending on whether the motor requires current loop closure and commutation, you may be able to use "Servo in Phase" for the fast motor. This feature is mostly intended for galvos. Take a look at Motor[x].PhaseCtrl in the SRM for more information.

Another option would be to set the phase/servo period based on the fast motor and then use Motor[x].STime to slow down the rest. This would work with any type of motor.


RE: Different PhaseFreq between GateArrays - nfgalassi - 04-30-2020

(04-30-2020, 09:08 AM)Eric Hotchkiss Wrote: I don't think that will work as you are expecting. One Gate3 will always generate clocks for the CPU and for other Gate3s in the system. Phase/Servo software tasks run on the CPU in synchronization with all of the hardware. There would not be a second Servo software task to run on the second clock signal.

Depending on whether the motor requires current loop closure and commutation, you may be able to use "Servo in Phase" for the fast motor. This feature is mostly intended for galvos. Take a look at Motor[x].PhaseCtrl in the SRM for more information.

Another option would be to set the phase/servo period based on the fast motor and then use Motor[x].STime to slow down the rest. This would work with any type of motor.

That is great insight. Thank you. That is what I expected, but couldn't find explicitly in the user's manual. I'll give the STime a shot.