Program Example - Path-PLS: High Accuracy Concatenated Motions

From SoftMC-Wiki
Revision as of 13:01, 10 October 2018 by Guy (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Two motions can be chained together using a non-zero final velocity value. This method is called concatenation, and is a basic form of blending.
Unlike blending, however, each motion is fully executed according to its specified interpolation.
(See: ConcatenationOfMovements)
These two program examples show the difference in sequential movements that are blended with Vfinal>0 and with Vfinal=0.
In both programs PLSSource is a percentage of the motion.


Sequential Movements with VFinal > 0
In this program, two motions using the same PLS are executed one after another. The PLS output toggles on when the second motion starts, and toggles off when when the first motion ends.
The output toggles on again when the second motion ends.


Common Shared pathpls as PLS GXY sys.DOut.1 HWAssistance = 1

Program

   CreatePLSData 1 pathpls 
   pathpls.PLSPosition[1] = 100
   pathpls.PLSPropagationDelay = 0
   pathpls.PLSPolarity = 0
   PLSSource = PathPercentage
   sys.DOut.1 = 0
   GXY.En = 1
   move GXY {100,100} vcruise = 100 vfinal = 100
   move GXY {100,0} vcruise = 100   vfinal = 100 WithPLS = pathpls
   circle angle = -90 circlecenter = {0,0}   vcruise = 100 WithPLS = pathpls

End program

Axystems;Pls with vfinal.png

Sequential Movements with VFinal = 0

In this example, two motions using the same PLS are executed one after another.
The PLS output toggles on at the start, and off at the end of the first motion. It then toggles on at the start, and off at the end of the second motion.
Common Shared pathpls as PLS GXY sys.DOut.1 HWAssistance = 1

Program

   CreatePLSData 1 pathpls 
   pathpls.PLSPosition[1] = 100
   pathpls.PLSPropagationDelay = 0
   pathpls.PLSPolarity  = 0
   PLSSource = PathPercentage
   sys.DOut.1 = 0
   GXY.En = 1
   move GXY {100,100} vcruise = 100 
   move GXY {100,0} vcruise = 100    WithPLS = pathpls
   circle angle = -90 circlecenter = {0,0} vcruise = 100 WithPLS = pathpls

End program

Axystems;Pls with vfinal zero.png