Jump to content
OMRON Forums

About minium block time


hibitor
 Share

Recommended Posts

hi, do you encounter this problem? a very small programmed block in a movement sequence. when the movement run into this block, the speed slow down at once. sure, this caused by the minimum block time, i.e. TA. but the TA's minimum value is 0.5ms, I compute the value this small programmed block needed to keep the speed is smaller than 0.5 ms very much. how could I deal with the situation? could you give me some tips? thanks.
Link to comment
Share on other sites

  • Replies 6
  • Created
  • Last Reply

Top Posters In This Topic

I believe you are hitting the Ixx17 Motor max program acceleration limit. I have "jog" from a motion program before simply by blending short moves inside a loop. In my case i had a long move to accelerate up to speed and then tried to blend shorter moves at the same velocity until a trigger event. At which point i wanted to decelerate with the same profile i used to reach velocity. The issue I ran into is that the blended moves would slow down to a velocity which allowed the move segment to travel from the current velocity to zero speed in the time of the move while not exceeding the Ixx17 acceleration limit. This seemed to be true even though there was a blended move at velocity following the segment move being preformed. I had to raise the Ixx17 limit during these moves even though it exceeded what my system could physically perform and simply trust the fact that program contained a blended deceleration move was a valid rate for my system.
Link to comment
Share on other sites

thank you for replies all the same, but I'm afraid that my meaning don't be clearly understood. Isx87,Isx88,Isx89 is default value, they have been overridden by TA,TS,and F in the program. So I don't worry about them too much. maybe I should describe my question like this, If there are very small length program blocks in the blended move. the length is too short that it just take very small time to over. for example, the very small time is 0.001ms exaggeratedly. Any way can prevent the speed from slowing down when over this program blocks?
Link to comment
Share on other sites

Did you check Ixx17? I think this is your problem. See below from the SRM

 

xx17 Motor xx Maximum Program Acceleration

Range: Positive Floating-Poin

Units: counts / msec2

Default: 0.5

 

Ixx17 sets a limit to the magnitude of the commanded acceleration for certain programmed moves in

certain modes on Turbo PMAC.

1. Non-segmented LINEAR mode moves: If the Isx13 segmentation time parameter for the coordinate system containing Motor xx is set to 0, which takes the coordinate system out of segmentation mode, then Ixx17 serves as the maximum velocity for Motor xx in LINEAR-mode moves in the coordinate system. If a LINEAR move command in a motion program requests a higher acceleration magnitude of this motor given its TA and TS time settings, the acceleration time for all motors in the coordinate system is extended so that the motor will not exceed this parameter, yet full coordination is maintained.

If Isx13 is set to 0, CIRCLE mode moves and cutter radius compensation can not be performed.

In this mode, Turbo PMAC cannot extend the acceleration time to a greater value than the incoming move time, because to go further would require re-calculating already executed moves. If observing acceleration limits (especially for deceleration) requires acceleration or deceleration over multiple programmed moves, the Ixx17 limit in this mode cannot guarantee that the limits will be observed. Special lookahead is required for this capability.

In this mode, the Ixx17 acceleration limit can lower the speed of short programmed moves, even if they are intended to be blended together at high speed. The algorithm limits the speed of each move so that it can decelerate to a stop within that move. Without special lookahead, it cannot assume that it will blend at full speed into another move.

2.SegmentedLINEARandCIRCLEmodemoveswithlookahead: IftheIsx13segmentationtime parameter for the coordinate system containing Motor xx is set greater than 0, put the coordinate system in segmentation mode and the special multi-block lookahead function is active (lookahead buffer defined and Isx20 greater than 0). Then Ixx17 serves as the maximum acceleration for Motor xx in all segments ofLINEARandCIRCLEmodemovesinthecoordinatesystem. Ifasegmentofoneofthese programmed moves requests a higher acceleration magnitude of this motor, the segment time for all motors in the coordinate system is extended so that the motor will not exceed this parameter, yet full coordination is maintained.

78 Turbo PMAC Global I-Variables

 

Furthermore, the Turbo PMAC will work back through already calculated, but not yet executed, segments, to make sure the change in this segment does not cause violations in any of those segments.

Note:

Ixx17 is not used for segmented LINEAR and CIRCLE mode moves when the special lookahead buffer is not active.

The Ixx17 acceleration limit calculations assume that the coordinate system is operating at the %100 override value (real-time). The true acceleration will vary proportionately with the square of the override value.

The use of the Ixx17 limit permits the setting of very small TA and/or TS values (Ixx87 and Ixx88 by default). Do not set both of these values to 0, or a division-by-zero calculation error could occur. It is advised that the TA time is set no smaller the minimum programmed move block time that should occur.

Example:

Given axis definitions of #1->10000X, #2->10000Y, Isx13=0 and Ixx17 for each motor of 0.25, and

the following motion program segment:

INC F10 TA200 TS0 X20 Y20

The rate of acceleration from the program at the corner for motor #2 (X) is ((0-10)units/sec * 10000 cts/unit * sec/1000msec) / 200 msec = -0.5 cts/msec2. The acceleration of motor #2 (Y) is +0.5 cts/msec2. Since this is twice the limit, the acceleration will be slowed so that it takes 400 msec.

With the same setup parameters and the following program segment:

INC F10 TA200 TS0 X20 Y20 X-20 Y20

The rate of acceleration from the program at the corner for motor #1 (X) is ((-7.07-7.07)units/sec * 10000 cts/unit * sec/1000msec) / 200 msec = -0.707 cts/msec2. The acceleration of motor #2 (Y) is 0.0. Since motor #1 exceeds its limit, the acceleration time will be lengthened to 200 * 0.707/0.25 = 707 msec.

Note:

In the second case, the acceleration time is made longer (the corner is made larger) for what is an identically shaped corner (90o). In a contouring XY application, this parameter should not be relied upon to produce consistently sized corners without the special lookahead algorithm.

Link to comment
Share on other sites

thank you for replies all the same, but I'm afraid that my meaning don't be clearly understood. Isx87,Isx88,Isx89 is default value, they have been overridden by TA,TS,and F in the program. So I don't worry about them too much. maybe I should describe my question like this, If there are very small length program blocks in the blended move. the length is too short that it just take very small time to over. for example, the very small time is 0.001ms exaggeratedly. Any way can prevent the speed from slowing down when over this program blocks?

 

If you are not limited by Ixx17,Ixx16,then this is where you might want to use "Lookahead". If your program blocks are shorter than your TA, PMAC will reduce the speed so that every block will execute in TA time. With lookahead you can achieve shorter program blocks and maintain your desirable TA.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share


×
×
  • Create New...