1 / 15

SPiiPlus Training Class

SPiiPlus Training Class. Multi-Axis Motion. 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: Point to point Jog

waldo
Download Presentation

SPiiPlus Training Class

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SPiiPlus Training Class Multi-Axis Motion

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

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

  4. 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 • If they are, use /m switch

  5. 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), +- • Leading axis is zero • Axis 0 jogs in positive direction (velocity = 0.707*VEL0) • Axis 1 jogs in negative direction (velocity = -0.707*VEL0) • Example: JOG/v (0,1), 10 • Leading axis is zero • Axis 0 jogs in positive direction (velocity = 7.07) • Axis 1 jogs in positive direction (velocity = 7.07)

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

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

  8. SegmentedMotion • 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: • XSEG – start segmented motion • LINE – linear segment • ARC1 – arc segment based on center coordinates, final coordinates, and rotation direction • ARC2 – arc segment based on center coordinates and rotation angle • ENDS – terminate segmented motion

  9. SegmentedMotion • 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

  10. SegmentedMotion • Corner detection • Detection of segments where required motion violates velocity/acceleration limits • Building a velocity profile using multi-segment look-ahead algorithm

  11. SegmentedMotion Syntax XSEG(axis0, axis1), axis0 initial position,axis1 initial position LINE (axis0, axis1), axis0 final position, axis1 final position ENDS (axis0, axis1)

  12. SegmentedMotion 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)

  13. Exercise 1 Application Description: • A precision laser mill has a two-axis XY laser positioning system • For a particular part, a diamond shapeneeds to be cut by moving axes to each of the points shown: • The laser is triggered by OUT(0).0 • Turn laser on at first point • 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

  14. 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: • Vector motion follows the more aggressive motion params of the leading axis • Diamond coords are scaled by an arbitrary factor, k • View diamond on the scope

  15. 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

More Related