Mdvsegment move statement, Motion suspend suspend statement, Segment move statement – Lenze PMSS1000 Simple Servo User Manual

Page 66: Motion suspend, Suspend statement

Advertising
background image

Indexer-Programmer-Manual.pdf REV 1.3

MDV

Segment

Move

Statement


Purpose

MDV defines incremental motion segment by specifying distance and final velocity
(for this segment) in User Units. Acceleration (or deceleration) is calculated
automatically based on this two parameters. This technique allows to create
complicated moves consist of many segments. To execute any move you must
specify at least two segments because at the end of the move final velocity has to be
0. That's why any complicated move consisting of many MDV statements must end
with statement has final velocity argument set to 0. MDV statement doesn't suspend
main program execution. They placed in Motion Queue immediately. If SSi fetches
last segment from Motion Queue with its final velocity non 0 it will generate "Motion
Queue Empty" fault #24. If "S" modifier is used in statement than velocity
acceleration/deceleration will be S-curved as opposed to be linear.


Syntax

MDV <[-]segment distance>,<segment final velocity> [,S]


S[-curve]

optional modifier specifies S-curve acceleration.


See Also

MOVE, MOVEP, MOVEDR, MOVED, MOVEPR ,MOTION SUSPEND, MOTION
RESUME

Example:

{Statements…}


MDV 5, 10

;accelerate to velocity of 10

MDV 10,10

;move 10 user units with velocity of 10

MDV 10,5

;decelerate to velocity of 5

MDV 5,0

;decelerate to velocity 0. (last MDV has to

;have 0 final velocity)

{Statements…}

MOTION

SUSPEND

Suspend

Statement


Purpose

This statement is used to temporarily suspend motion without flashing Motion Queue
content. Motion will be suspended after completion of current move. If Motion
Suspend is executed while executing series of MDV statements motion will be
suspended only after MDV segment with zero final velocity. If command is executed
while Motion Queue empty any motion related statement will be placed in Motion
Queue but not executed until Motion Resume statement allows motion. Any motion
statements without "C" modifier (except MDV statements which never suspend
program) will dead-lock user program. Consider following program:


;Program dead-locks after MOVE statement executed
…{statements}

MOTION SUSPEND

;everything placed in Queue

;after

this

statement

MOVE 20

;placed in Queue and suspend

;program until completed
…{statements}

MOTION RESUME

;never gets here because

66

Advertising