Jump to content
OMRON Forums

Servo Frequency Change results in Velocity Change


Felix

Recommended Posts

When changing the ACC24E3 phase frequency or servo clock divider motor jog commands do not result in the expected speed. After changing the phase frequency from its default value of 9.035kHz to 36.138kHz (9.035kHz*4) the resulting jog speed for i122=500 is 2000cts/msec (500cts/msec*4). The same behavior occurs when changing the servo clock divider. The resulting jog speed appears to always be scaled linear with the change in effective servo clock frequency. In both cases the Sys.ServoPeriod was updated according to the instructions given in the ACC24E manual. Are there any other parameters that I need to change? Here is the PLC code used to change gate array paramters: open plc 7 Sys.WpKey=$AAAAAAAA; Gate3[0].PhaseFreq = 9035*4; Gate3[0].ServoClockDiv = 3; //ServoFreq = PhaseFreq/ServoClockDiv Sys.ServoPeriod = 1000*(Gate3[0].ServoClockDiv + 1)/Gate3[0].PhaseFreq; Sys.WpKey=$55555555; disable plc 7 close Thank you, Felix
Link to comment
Share on other sites

  • Replies 1
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

[quote='Felix' pid='210' dateline='1254328191'] When changing the ACC24E3 phase frequency or servo clock divider motor jog commands do not result in the expected speed. After changing the phase frequency from its default value of 9.035kHz to 36.138kHz (9.035kHz*4) the resulting jog speed for i122=500 is 2000cts/msec (500cts/msec*4). The same behavior occurs when changing the servo clock divider. The resulting jog speed appears to always be scaled linear with the change in effective servo clock frequency. In both cases the Sys.ServoPeriod was updated according to the instructions given in the ACC24E manual. Are there any other parameters that I need to change? Here is the PLC code used to change gate array paramters: open plc 7 Sys.WpKey=$AAAAAAAA; Gate3[0].PhaseFreq = 9035*4; Gate3[0].ServoClockDiv = 3; //ServoFreq = PhaseFreq/ServoClockDiv Sys.ServoPeriod = 1000*(Gate3[0].ServoClockDiv + 1)/Gate3[0].PhaseFreq; Sys.WpKey=$55555555; disable plc 7 close Thank you, Felix [/quote] Normally this type of setup is done and saved and not dynamically changed as this will also change your motor tuning. But if you are doing this, besides Setting the Gate Array you must tell the PPmac about the settings. This must be done due to our "feedrate override" capability. Once you have done this the Feedrate Override will not be 100% so you will need to issue the coordinate system command %100 to all CS's you will be using. Below is the section from the "saved data structures" manual. Please look in the manual for the equations as I do not know how to get them into this post. Sys.ServoPeriod. Description: Servo update period for interpolation Range: Positive floating-point Units: msec Default: 0.44274211 Legacy I-variable alias: I8010 (I10 in Turbo PMAC) Sys.ServoPeriod tells Power PMAC software how much time there is between servo interrupts (which is controlled by hardware circuitry), so that the interpolation software knows how much time to increment each servo interrupt. It is expressed in milliseconds as a floating-point value; numerically it is the reciprocal of the servo interrupt frequency in kilohertz (kHz). If the servo-interrupt period is determined by a PMAC2-style Servo IC (DSPGATE1), it is controlled by the settings of Gate1[i].PwmPeriod, Gate1[i].PhaseClockDiv, and Gate1[i].ServoClockDiv, where i is the number of the IC that controls the servo clock for the system. (Typically n = 4 for a Power UMAC system.) It can be calculated by the following equation: If the servo-interrupt period is determined by a PMAC2-style MACRO IC (DSPGATE2), it is controlled by the settings of Gate2[i].PwmPeriod, Gate2[i].PhaseClockDiv, and Gate2[i].ServoClockDiv, where i is the number of the IC that controls the servo clock for the system. (Typically i = 0 for a Power UMAC system.) It can be calculated by the same equation as above. If the servo-interrupt period is determined by a PMAC3-style machine-interface IC (DSPGATE3, it is controlled by the settings of Gate3[i].PhaseFreq and Gate3[i].ServoClockDiv, where i is the number of the IC that controls the servo clock for the system. (Typically i = 0 for a Power UMAC system.) It can be calculated by the following equation:
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.

×
×
  • Create New...