Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
PMAC 2 servo cycle frequency
#1
As I understand the servo cycle frequency is set with the parameters I900 and I902.

The default value of I900=6527 would limit the servo cycle frequency to 9034.6 Hz. However a I900 set to 0 would enable a servo cycle frequency of 39.3 MHz? Is that possible? What would be the reasons for limiting it then?
Reply
#2
Apparently it is limited, depending on how much is to be calculated within a servo cycle. Setting the I900 to low could yield that the calculations cannot be finished by the time interrupt. This might also depend on how many axes have to be calculated or if PLC programs are running.
Is there a rule, what maximum frequency I can get? How do I realize, I have set the freq. to high?
Reply
#3
You are starting to figure out the tradeoffs and limitations on your own. Of course, the main limiting factor for servo cycle frequency is the computational requirement of the processor. Unfortunately, there are so many variables that there is no simple answer to the maximum servo frequency in a given application.

Most users will view the "CPU Resources" window in PEWIN32 PRO (found under the "PMAC Resources" tab). This shows you graphically and numerically the amount of processor time spent at each task level. This makes it easy to see the differences as you change system parameters. Some of it can be understood pretty easily. For example, if 20% of processor time is spent in servo tasks at a given servo frequency, then if you double the servo frequency, 40% of processor time will be required for those same tasks.

Our general rule of thumb is that you do not want to spend more than 50% of your CPU time in phase and servo tasks combined.

As you try to increase servo performance by increasing servo frequency, you will find that you reach a point of diminishing returns where you stop getting noticeable increases. For example, increasing from 5kHz to 10kHz will give you more improvement than increasing from 10kHz to 20kHz. What you are really doing is decreasing the sampling delay from 200usec to 100usec (a reduction of 100) in the first case, and then from 100usec to 50usec (a reduction of only 50) in the second case. Also, with the derivative term, increasing the frequency increases the effective quantization noise from the numerical differentiation, so you can actually get a decrease in performance at some point (but the higher your position resolution, the higher the frequency you can reach before you hit this point).
Reply
#4
Thank you for this very comprehensive reply!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)