bradp Posted December 3, 2010 Posted December 3, 2010 What happens with a blended move sequence of let's say move 1 and move 2? When move 1 blends to move 2 it will use the ta and ts of move two for the blending. When ta1 + ts1 <= ta2 + ts2 the blending must start before the acceleration of move 1 is finished. When segmentation is off this is not allowed so PPmac will force a dwell between move1 and move2 (this is different than Turbo Pmac). When segmentation is on PPmac will work this out like Turbo did. Therefore to properly blend between two moves you must make sure that td1 + ts1 >= ta2 + ts2. Here is an example program and plot. open prog 6 home 1..2 p2=1 Gather.Enable=2 dwell1 inc linear frax (x,z) tm(0) ts(0) ta(15) ts(5) td(35) // when Coord[].SegMoveTime = 0 to blend into next move td + ts of this move must be >= ta + ts of following move // even though the ta + ts of the following move is used in the blending // Note when Coord[].SegMoveTime > 0 this constraint is relaxed z-2000 ta(30) ts(10) td(10) // to blend into next move td + ts of this move must be >= ta + ts of following move x2000 ta(15) ts(5) z2000 dwell1 Gather.Enable=0 close [attachment=1412:name] When you want to do pure s-curve ta0 td0 ts(???) the same idea applies which means you might need to specify a td even though it will not be used. Here is an example program and plot. open prog 7 home 1..2 p2=1 Gather.Enable=2 dwell1 inc linear frax (x,z) tm(0) ta(0) ts(10) td(30) // need td specified because to blend into next move td + ts of this move must be >= ta + ts of following move z-2000 ta(0) // need to reset the td ts(20) x2000 ta(0) // need to reset the td ts(10) z2000 dwell1 Gather.Enable=0 close [attachment=1413:name] What you will notice is that this move takes a little longer than the previous example. This is because there is no seperate ts for deceleration and the trajectory gets built a little differeent. The only way around this is to make ts of the second move equal to ts of third move and this means you would not have pure s-curve going into the second move. This is the tradeoff that must be optimized for a particular motion. Using the tradeoff you can decide how much constant velocity vs constant accel to use. If this is not acceptable then using PVT mode is the alternative. Here is the example and plotfor the tradeoff. open prog 7 home 1..2 p2=1 Gather.Enable=2 dwell1 inc linear frax (x,z) tm(0) ta(0) ts(10) td(30) // need td specified because to blend into next move td + ts of this move must be >= ta + ts of following move z-2000 ta(27) // need to reset the td td(7) ts(13) x2000 ta(0) // need to reset the td ts(10) z2000 dwell1 Gather.Enable=0 close [attachment=1414:name]
Recommended Posts