Lenze PMSS1000 Simple Servo User Manual

Page 24

Advertising
background image

Indexer-Programmer-Manual.pdf REV 1.3

S-Curve Acceleration
Very often it is important for a move profile to be as smooth as possible. This could be to minimize the
wear on a machine, or it could be that a smooth profile is critical to the successful completion of an
operation. To perform smooth motion profiles, the Sis supports S-curve acceleration.
With normal, straight line acceleration, the axis is accelerated to the target velocity in a linear fashion.
S curve acceleration accelerates axis slowly at the first, twice as fast as the straight line acceleration in
the middle, and then slowly stops accelerating. With straight line acceleration, the acceleration changes
abruptly and then at the end of acceleration period, changes abruptly again to no acceleration. With S-
curve acceleration the acceleration gradually builds to the peak value the gradually decreases to no
acceleration. The disadvantage with S-curve acceleration is that for the same acceleration distance the
peak acceleration is twice that of straight line acceleration - which often requires twice the peak torque.
Notice that the axis arrive at the target position at the same time regardless which type of acceleration is
used.

To use S-curve acceleration in MOVED,MOVEP or MDV statement requires only the additional ",S" at the
end of the statement.
Examples:

MOVED

10 , S

MOVEP

10 , S

MDV

10,20,S

MDV

10,0,S


Motion Queue
By default when program executes MOVE, MOVED or MOVEP statements, it waits motion complete
before to go to the next statement. This effectively will suspend the program until requested motion is
done. Note that event are not suspended however and keep on executing in parallel. While this is
convenient for simple motion program it could be a troublesome when trying to do monitoring and
controlling I/O at the same time when execute motion. Consider a short program:

;This program monitors I/O in parallel with motion:
START:

MOVED 100,C

;start moving max 100 revs

WHILE FLAG_MOTION

;while moving

IF IN_A2 == 1

;if sensor detected

OUT1=1 ;turn

ON

output

for

WAIT TIME 10

;10 mS

OUT1=0 ;turn

output

OFF

ENDIF
ENDWHILE
;Return mechanism back

MOVED -100

;Return back

WAIT TIME 1000

;wait time

GOTO START

;and start all over

END

This program starts motion and moves for maximum 100 revs. While in motion if it sees sensor (or switch)
it turns output for 10mS. The programs able to look for the sensor while executing motion because of ",C"
modifier for MOVED statement. Without this modifier program would be suspended until all motion is
done making impossible to look for the sensor on input #1. After it travels the full distance it returns back
to initial position and process repeats. This program could be used for simple paint mechanism which
turns ON paint spray as soon as part edge (or part guide) crosses the sensor(s).

24

Advertising