We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byDarrion Jolls
Modified over 2 years ago
© 2013 SPiiPlus Training Class PEG and MARK 1
© 2013 What is PEG? PEG (Position Event Generator) creates pulses based on exact feedback position. These events can be used as a trigger for external devices, such as a camera, laser, etc. A PEG pulse is generated in hardware (delay < 0.1 microsecond) by comparing actual encoder position with a set of predefined values Two different PEG modes: Incremental PEG: Pulse at fixed position increments Random PEG: Pulse at user-defined positions Update a 4-bit state vector at each position 2
© 2013 What is PEG? PEG accuracy: ±1 count up to 10M counts/sec (using a digital encoder) Three PEG engines per SPii PEG engine outputs can be assigned to 10 physical RS422 interface outputs PEG pulses can be sent in parallel through opto-isolated general purpose digital outputs, along with physical PEG outputs PEG pulse width and polarity are programmable Physical PEG outputs can be configured as RS422 general purpose outputs 3
© 2013 Incremental PEG Mode A pulse is generated at a predetermined start position followed by a stream of pulses a fixed distance apart until a predetermined end position is reached 4
© 2013 Incremental PEG Mode o Maximum Incremental PEG pulse output frequency is 18 MHz. o Maximum Incremental PEG edge separation is (1/18MHz) = 55.56 nSec. o Pulse width range is 26.67 nSec to 1.745 mSec. o Direction of motion should correspond to sign of Interval. 5
© 2013 How to use Incremental PEG 1.Use ASSIGNPEG to define which encoder PEG will use 2.Use ASSIGNPOUTS to define physical output pins PEG will use 3.Use PEG_I to set Incremental PEG 4.Wait for PEGREADY 5.Command motion to fire PEG pulses 6.(Optional) use STOPPEG to end PEG process before completion 6
© 2013 ASSIGNPEG The ASSIGNPEG command is used for: 1.Defining which encoders PEG will use 2.Configuration of digital outputs (for optional use as PEG signals) A single ASSIGNPEG command effects all three PEG engines and all four general purpose outputs on a servo processor ASSIGNPEG axis, engines_to_encoders_code, gp_out_assign_code axis : Used to identify the relevant servo processor engines_to_encoders_code : Bit code for engines-to-encoders mapping gp_out_assign_code : General purpose outputs assignment to use as PEG state and PEG pulse outputs For relevant bit codes, refer to SPiiPlus NT PEG and MARK User Guide 7
© 2013 ASSIGNPEG Example 1 ASSIGNPEG 0, 0b000, 0b0000 0: Assign all three PEG engines on servo processor 0 0b000: The following assignments are all made: PEG engine 0 assigned to encoder 0 PEG engine 1 assigned to encoder 1 PEG engine 2 assigned to encoder 2 0b0000: The following assignments are all made: General purpose output 0 configured as general purpose output 0 General purpose output 1 configured as general purpose output 1 General purpose output 2 configured as general purpose output 2 General purpose output 3 configured as general purpose output 3 8
© 2013 ASSIGNPEG Example 2 ASSIGNPEG 5, 0b010, 0b0110 5: Assign all PEG engines on servo processor 1 0b010: The following assignments are all made: PEG engine 4 assigned to encoder 4 PEG engine 6 assigned to encoder 4 PEG engine 5 assigned to encoder 5 0b0110: The following assignments are all made: General purpose output 4 configured as PEG_Pulse(4) General purpose output 5 configured as general purpose output 5 General purpose output 6 configured as PEG_Pulse(5) General purpose output 7 configured as general purpose output 7 9
© 2013 ASSIGNPOUTS Physical PEG pins can be used for either PEG (default) or as additional general purpose outputs. The ASSIGNPOUTS command is used to configure these pins accordingly. ASSIGNPOUTS axis, output_index, bit_code oaxis : Used to identify the relevant servo processor ooutput_index : 0 for X_PEG pins, 1 for Y_PEG pins, etc. obit_code : Bit code for pin designation as PEG or as general purpose For relevant bit codes, refer to SPiiPlus NT PEG and MARK User Guide 10
© 2013 ASSIGNPOUTS Examples ASSIGNPOUTS 3, 1, 0b000 3: Pins corresponding to servo processor 0 1: Y_PEG pins to be assigned 0b000: Send PEG1_Pulse through Y_PEG pins ASSIGNPOUTS 4, 5, 0b111 4: Pins corresponding to servo processor 1 5: X_STATE0 pins to be assigned 0b111: X_STATE0 set as general purpose out (OUT(1).20) ASSIGNPOUTS 4, 5, 0b010 4: Pins corresponding to servo processor 1 5: X_STATE0 pins to be assigned 0b010: PEG4_Pulse sent through X_STATE0 output 11
© 2013 Incremental PEG PEG_I Axis, Width, First Point, Interval, Last Point 12 Axis Encoder PEG is based on Width Pulse width (ms). Range is 26.67ns to 1.745ms First Point Position of first pulse in user units Interval Distance between pulse points in user units Last Point Position for last pulse in user units
© 2013 PEG_I X, 0.003, 1000, 1000, 3000 Incremental PEG
© 2013 AST.#PEGREADY AST is an integer array containing a set of bits used for displaying the current axis state Bit 4 (#PEGREADY) indicates the readiness of a PEG engine Syntax: AST(axis).#PEGREADY Make sure this bit = 1 before commanding motion of the PEG axis 14
© 2013 STOPPEG and STARTPEG STOPPEG axis terminates PEG on the specified axis. The command is used in both Incremental and Random PEG. Useful for safety purposes to stop PEG pulses while axis is in motion If STOPPEG has been executed before the last PEG point has been reached, STARTPEG can be used to continue PEG from the current position. STARTPEG axis command initiates the PEG process on the specified axis. The command is used in both the Incremental and Random PEG modes. 15
© 2013 16 MARK MARK (position registration) provides ability to latch current axis position when digital input signal is received In many applications such as packing, it is desired to move an axis to a target that is relative to a registration mark Once an axis is moving and a MARK is detected, motion profile can be modified on-the-fly to reach new target position
© 2013 17 MARK ACSPL+ variable MARK(axis) stores last MARK position MARK inputs can be assigned as fast general purpose inputs using the ASSIGNFINS command Maximum MARK input frequency depends on CTIME and other factors, and ranges between 50Hz for CTIME = 1ms, and 100Hz for CTIME = 0.5ms MARK inputs are routed according to ACSPL+ variables SLPROUT, SLVROUT, SLCROUT. Routing two axes to a single input will cause undefined MARK behavior and should be avoided
© 2013 18 Feedback Routing SLPROUT is used for routing feedback position for the specified axis SLVROUT is used for routing feedback velocity for the specified axis SLCROUT is used for setting the feedback routing of the commutation velocity for the specified axis Syntax: SLPROUT(AXIS#) = value, SLVROUT(AXIS#) = value, SLCROUT(AXIS#) = value Where value corresponds to feedback source (see tables 34, 35, and 36 of the SPiiPlus ACSPL+ Command & Variable Reference Guide for definition)
© 2013 ASSIGNFINS can be used to set MARK inputs as fast general purpose inputs ASSIGNFINS axis, output_index, bit_code axis: Used to identify the relevant servo processor the axis is controlled by input_index: 0 for IN_0, 1 for IN_1,..., 9 for IN_9 bit_code: Bit code for mapping MARK inputs to physical inputs For relevant bit codes, refer to SPiiPlus NT PEG and MARK Operations tables 11 and 12 ASSIGNFINS 19
© 2013 20 ASSIGNFINS 1, 1, 0b111 o 1: Servo processor 0 is being used o 1: MARK Y input o 0b111: MARK Y set to FGP_IN1 o FGP_IN1 associated ACSPL+ variable: IN(0).17 ASSIGNFINS 4, 5, 0b111 o 4: Servo processor 1 is being used o 5: MARK T input o 0b111: MARK T set to FGP_IN3 o FGP_IN3 associated ACSPL+ variable: IN(1).19 ASSIGNFINS Examples
© 2013 21 MARK Example Assume the following motion should be built: Move axis at a constant velocity with no defined end point Latch exact MARK position while moving Redefine the end point on the fly and stop motion smoothly at position equal to mark position plus 15000 units IST(0).#MARK = 0 ! Enable MARK latching JOG 0 ! Jog in positive direction TILL IST(0).#MARK ! Wait for MARK signal PTP 0, MARK(0) + 15000 ! Move to MARK(0)
© 2013 Using PEG and MARK with SIN-COS Encoder When SIN-COS encoder is used PEG and MARK can only be fired/captured at zero-crossings of the sine/cosine waves (not at the exact interpolated position) 22
© 2013 GETCONF retrieves system configuration data GETCONF(71, index): Use to view the actual assignment of digital outputs to PEG states and PEG pulses outputs. Index argument contains the axis index. GETCONF(72, index): Use to view the actual encoder PEG engine assignment. Index argument contains the axis index. GETCONF(73, index): Use to view the actual output pins assignment. Index argument: 0-7 is axis index, 8-16 is OUT_0 through OUT_9 23 GETCONF
© 2013 Further Information 24 The following guides are part of the SPiiPlus NT Suite installation: PEG and MARK Application Notes ACSPL+ Command and Variable Reference Guide SPiiPlus ACSPL+ Programmers Guide
© 2013 Example 1 A non-destructive testing machine requires RS422 PEG pulses be sent to its ellipsometry system for triggering purposes during stage travel. Triggering needs to occur at fixed intervals along the stages length of travel The application is using a CMnt Method: Load and review example code 25
© 2013 Example 2 The inspection machine just had a HW revision, and now requires two metrology systems to be triggered in parallel. Being a cost sensitive application it is desired to do this without adding/designing/purchasing/testing external circuitry. Method: Modify code in previous example so two RS422 PEG pulses are sent out in parallel instead of one 26
© 2013 Example 3 For qualification purposes it needs to be verified that pulses are being fired at correct positions. Method: Physically connect PEG pins to MARK pins Modify the previous example to display MARK positions in the Communication Terminal Hint – use an autoroutine to Detect MARK latching (IST(axis).#MARK = 1) Display the latched position (MARK(axis)) Reset latch (IST(axis).#MARK = 0) so next PEG pulse can be detected 27
© 2013 SPiiPlus Training Class Motion Profile Generation 1.
© 2013 SPiiPlus Training Class Single-Axis Motion 1.
Copyright 2001 ACS-Tech80 1 ACSPL+ Training Class SPiiPlus Feedback Tuning.
© 2013 SPiiPlus Training Class Safety and Faults 1.
Topics covered: Input/Output Organization CSE243: Introduction to Computer Architecture and Hardware/Software Interface.
Copyright 2001 ACS-Tech80 1 ACS-Tech 80, Inc. SPiiPlus Control Module Overview.
Processor Data Path and Control Diana Palsetia UPenn.
© 2013 SPiiPlus Training Class Homing. © 2013 Homing Homing is a very important aspect for almost any motion system. With a wide variety of mechanical.
P IPELINED A RCHITECTURE Prof.P.C.Patil Department of Computer Engg Matoshri College of Engg.Nasik M ICROPROCESSOR A RCHITECTURE UOP.
© Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Tutorial 13 – Salary Survey Application: Introducing.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 3 CPUs.
Chapter 11 Practical Considerations for Digital Design 1.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 1 Embedded Computing.
25 seconds left….. 24 seconds left….. 23 seconds left…..
Zhongxing Telecom Pakistan (Pvt.) Ltd
Chapter 9 Multibit Latches, Registers, Counters, and Memory ECOM 4311 Digital System Design using VHDL.
1 Concurrency: Deadlock and Starvation Chapter 6.
ARM Timers. What are Timers ? Timers are hardware Counters that can be configured to run from a variety of internal or external clocks. They run concurrently.
Hash Tables Briana B. Morrison Adapted from William Collins.
© 2013 SPiiPlus Training Class Mathematical and Signal Processing Functions 1.
We will resume in: 25 Minutes We will resume in: 24 Minutes.
You have been given a mission and a code. Use the code to complete the mission and you will save the world from obliteration…
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 3 Sequential Logic Design.
©2010 Cengage Learning Engineering. All Rights Reserved.8-0 Combinational Circuit Design and Simulation Using Gates PowerPoint Presentation © Cengage.
PSSA Preparation. Question 1(no calculator) D Question 2 (no calculator)
XFEL 2D Pixel Clock and Control System Train Builder Meeting, DESY 22 October 2009 Martin Postranecky, Matt Warren, Matthew Wing.
© 2013 SPiiPlus Training Class Multi-Axis Motion 1.
Gursharan Singh Tatla 1 Gursharan Singh Tatla.
ECE 495: Integrated System Design I CLEMSON U N I V E R S I T Y Introduction to Real- Time, Closed-loop Control.
FACTORING Think unfoil Work down, Show all steps ax 2 + bx + c.
THE MOTION FUNCTION OF ASDA-A2. To Audience Material level This material is for the PR functions of ASDA-A2. The audience should know the basic operation.
7/23 Timers in Coldfire Processor Computer Science & Engineering Department Arizona State University Tempe, AZ Dr. Yann-Hang Lee (480)
System Clocks 4-1. System Clocks The LPC23xx has two main internal clocks. The first is Cclk, the CPU clock, which is used to clock the ARM7 CPU and.
Jeopardy Topic 1Topic Q 1Q 6Q 11Q 16Q 21 Q 2Q 7Q 12Q 17Q 22 Q 3Q 8Q 13Q 18Q 23 Q 4Q 9Q 14Q 19Q 24 Q 5Q 10Q 15Q 20Q 25 Final Jeopardy.
1 Chapter 3 Logic Gates. 2 Inverter 3 Inverter Truth Table.
Chapter 5 Computing Components. 5-2 Chapter Goals Read an ad for a computer and understand the jargon List the components and their function in a von.
TCP/IP Protocol Suite 1 Chapter 18 Upon completion you will be able to: Remote Login: Telnet Understand how TELNET works Understand the role of NVT in.
ABC Technology Project Mrs. Kiddle. ABCs of Technology Word 1 Word 2 Word 3 Word 4 Word 5 Word 6 Word 7 Word 8 Word 9 Word 19 Word 20 Word 21 Word 22.
Copyright © Cengage Learning. All rights reserved. 10 Topics in Analytic Geometry.
1 MySQL Access Privilege System. 2 What the Privilege System Does? The primary function of the MySQL privilege system is to authenticate a user connecting.
Chapter 10 Flip-Flops and Registers 1. Objectives You should be able to: Explain the internal circuit operation of S-R and gated S-R flip-flops. Explain.
EE:450 – Computer Networks
Slide 6-1 Equations 6.1 Solving Trigonometric Equations 6.2 More on Trigonometric Equations 6.3 Trigonometric Equations Involving Multiples Angles 6.4.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
A SMALL TRUTH TO MAKE LIFE 100%. If A B C D E F G H I J K L M N O P Q R S T U V W X Y Z is equal to
Programmable Interval Timer Block Diagram.
© 2013 SPiiPlus Training Class MC4U Trainer Setup 1.
Adders Used to perform addition, subtraction, multiplication, and division (sometimes) Half-adder adds rightmost (least significant) bit Full-adder.
1 KU College of Engineering Elec 204: Digital Systems Design Lecture 18 Registers Register – a collection of binary storage elements In theory, a register.
© 2017 SlidePlayer.com Inc. All rights reserved.