© 2013 SPiiPlus Training Class Multi-Axis Motion 1.

Presentation on theme: "© 2013 SPiiPlus Training Class Multi-Axis Motion 1."— Presentation transcript:

© 2013 SPiiPlus Training Class Multi-Axis Motion 1

© 2013 Multi-Axis Motion The controller commands multi axis motion by generating 3 rd order motion profiles Generates position, velocity, accel/decel, and jerk command every controller cycle Types of multi axis motion: o Point to point o Jog o Segmented motion Prerequisites: Axes must be enabled and commutated (if closed loop operation) 2

© 2013 Multi-Axis Point to Point (PTP) Motion Moves axes to a location which is specified as absolute or relative to current position Multi-axis PTP command format: PTP[/switches] (axis1, axis2, …), position1, position2, …, Multi-axis motion profile is based on motion params of the leading axis in the PTP command o Unless PTP/m switch is used, in which case motion will not exceed motion params of any axis in the group 3

© 2013 Multi-Axis Point to Point (PTP) Motion Example: PTP (0,1), 1000, 1000 moves axes 0 and 1 to (1000, 1000) Vector velocity, accel, decel, and jerk based on axis 0 motion params For example, if VEL(0) = 1, then RVEL0 = RVEL1 = 0.707 when axes are at constant velocity during the move Make sure motion params for the leading axis are not beyond what is safe for other axes in the group o If they are, use /m switch 4

© 2013 Multi-Axis JOG Motion Accelerate axes to constant vector velocity based on leading axis motion params Multi-axis JOG command format: JOG[/switches] (axis1, axis2, …), axis 1 dir, axis 2 dir, … [, group velocity] Example: JOG (0,1), +- o Leading axis is zero o Axis 0 jogs in positive direction (velocity = 0.707*VEL0) o Axis 1 jogs in negative direction (velocity = -0.707*VEL0) Example: JOG/v (0,1), 10 o Leading axis is zero o Axis 0 jogs in positive direction (velocity = 7.07) o Axis 1 jogs in positive direction (velocity = 7.07) 5

© 2013 Change Motion Parameters On-the-fly Review of IMM command: o IMM is used to change motion parameters VEL, ACC, and DEC during motion o Smoothly transition from current 3 rd order motion profile to new 3 rd order motion profile During multi-axis motion, this parameter only has an effect on the leading axis (unless PTP/m is used) 6

© 2013 Motion Termination Methods Terminate motion with a deceleration profile: o HALT command – axes will decelerate to zero according to DEC of the leading axis o KILL command – axes will decelerate to zero according to KDEC of the leading axis Terminate motion without a deceleration profile: o DISABLE command 7

© 2013 Segmented Motion Moves up to eight axes along a path defined by a sequence of linear and arc segments on plane Segmented motion involves at least two axes Segmented motion commands: o XSEG – start segmented motion o LINE – linear segment o ARC1 – arc segment based on center coordinates, final coordinates, and rotation direction o ARC2 – arc segment based on center coordinates and rotation angle o ENDS – terminate segmented motion 8

© 2013 Segmented Motion The controller holds a motion queue for up to 50 segments (lines and arcs) If the segmented motion exceeds the queue limit, the program execution will be stalled until the queue is ready to receive the next motion segment Like multi-axis PTP and JOG, motion is dictated by leading axis motion params 9

© 2013 Segmented Motion Corner detection Detection of segments where required motion violates velocity/acceleration limits Building a velocity profile using multi-segment look- ahead algorithm 10

© 2013 Segmented Motion Syntax XSEG (axis0, axis1), axis0 initial position, axis1 initial position LINE (axis0, axis1), axis0 final position, axis1 final position ENDS (axis0, axis1) 11

© 2013 Segmented Motion Syntax ARC1 (axis0, axis1), axis0 center coord, axis1 center coord, axis0 final coord, axis1 final coord, rotation direction ARC2 (axis0, axis1), axis1 center coord, axis2 center coord, rotation angle (radians) 12

© 2013 Exercise 1 Application Description: A precision laser mill has a two-axis XY laser positioning system For a particular part, a diamond shape needs to be cut by moving axes to each of the points shown: The laser is triggered by OUT(0).0 o Turn laser on at first point o Turn laser off at final point Method: Load Programming 12 – Multi-axis motion.prg to the program manager, review code, and execute Determine vector velocity during the move by querying GVEL from the Communication Terminal 13 XY 00 1000 02000 -10001000 00

© 2013 Exercise 2 Initial laser mill testing has been proven out, it is now desired to increase throughput The system also needs to handle scaled parts Modify exercise 1 code such that: o Vector motion follows the more aggressive motion params of the leading axis o Diamond coords are scaled by an arbitrary factor, k o View diamond on the scope 14

© 2013 Exercise 3 A new type of part with the following profile needs to be supported Modify exercise 1 code such that: Uncomment the segmented motion code Review code, execute and view output on scope 15