Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Making a time-constrained move profile
#1
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

   

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

   

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

   



Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)