Download presentation
Presentation is loading. Please wait.
Published byLiliana Bradley Modified over 9 years ago
1
Power PMAC – The 7th Generation! November 2013
2
What is Power PMAC? A general-purpose embedded computer with a hard real-time operating system Can run standard C applications A built-in software application for dedicated motion and machine control Can execute Script language controller programs Sequenced motion programs Asynchronous “PLC” programs Automatically executes motor servo and commutation algorithms Machine interface circuitry Analog and digital servo interfaces Analog and digital general-purpose I/O Industrial network interfaces (e.g. MACROTM and EtherCATTM) Fieldbus interfaces (e.g. DeviceNetTM and ProfibusTM)
3
Power PMAC CPU Capabilities
800 MHz – 1.2 GHz operating frequencies Single-core, dual-core configurations Full 32/64-bit architecture Hardware 64-bit (double-precision) floating-point implementation Very high-speed calculations (>10x Turbo PMAC floating-point) Huge dynamic range and resolution (>100K x Turbo PMAC) Support for very large memory 1 GB – 2 GB DDRAM active memory with error correction 64 MB NOR Flash for standard firmware 512 MB built-in NAND flash for user code/settings Interface for “USB stick” NAND flash Interface for “SD card” NAND flash Built-in USB2.0, Ethernet 100 Mbps or 1Gbps interfaces Direct connection and DMA optimize data streaming Optional direct video interface
4
Power PMAC CPU Block Diagram
Video Card Vision System Card Fieldbus Cards, etc... Disk Drive SATA PCIe (x1) PCIe (x4) Ethercat, Powerlink, Modbus, etc… Ethernet 1G Eth *Can be used as SATA or PCIe (x1) Ethernet 1G Eth PC Comm i.e. -Web, TCP Sockets RS232 RS232 Power PMAC CPU 800Mhz - 1.0Ghz Up to x2 32GB SDHC Memory Card (User Programs) Lattice CPLD UBUS I/F SD/MMC Expansion Slot (User Expansion) USB 2.0 UBUS Soldered Down NAND Flash 2 or 8GB Contains Complete Operating System Files plus Add on products ie. IEC1131, EPICS NC Application, Ethercat, etc ... User Interface Software USB Hub/Card Reader Keyboard, Mouse, RS232, Hard Drive, Memory Stick etc... AMD NOR Boot Flash 64MB Contains everything necessary to boot Linux RTOS Kernel DDR2 1GB or 2GB RAM w/ ECC Removable SOCDIMM 16M Motion Prog Buffer (adjustable) 8M PPmac Memory Map (Fixed) 1M User Shared Memory (adjustable) USB 2.0 Host Expansion Port (User Expansion) USB USB USB 2.0 Device Laptop or PC
5
Power PMAC Operating Environment
Full real-time operating system (Linux with real-time kernel) Dedicated controller runs in the real-time Linux environment Hard-real-time tasks operate on interrupts Phase: commutation and current loop Servo: interpolation, position/velocity loop “Real-time”: motion programs, foreground PLC programs Capture/compare (new!): highest priority for fast list updating Other tasks operate in general-purpose OS Background PLCs, status update, command processing Shared-memory access for RTOS, GPOS, and host communications Full file-management system Programs, tables, gathered data etc. can be transmitted and stored as files
6
Power PMAC Hardware Configurations
Power UMAC 3U-format Euro-card Rack Modular selection of interface accessories: motion, I/O, Fieldbus Power PMAC Etherlite Compact controller for networked drives and I/O Supports MACRO and EtherCAT servo drives & I/O Supports Fieldbus I/O Power PMAC Brick Integrated controller amplifier 4-, 6-, & 8-axis configurations AC version: up to 240VAC input, 3-phase motors LV version: up to 60VDC input, 2- and 3-phase motors (steppers and servos)
7
Power PMAC Integrated Development Environment (IDE)
WindowsTM PC application XP, Vista, or 7 Advanced editor with built-in debugging features Extensive project and resource-management features Integrated GNU C cross-compiler Interactive terminal window Many status and setup windows Tuning and plotting graphics screens Can incorporate windows into user applications with Visual StudioTM Terminal Intellisense Watch Motor Status Velocity F.E. Position Project User Written Code Message Window
8
Power PMAC Embedded Web Server
Any computer with web browser can communicate Laptop with direct connection Over company network* From anywhere in world over Internet* HTTP and FTP supported Many standard windows built in Terminal, position, watch Backup and restore Tuning and plotting Status reporting Basic editor/downloader User can add own windows for easy HMI implementation * Must arrange to get through any firewalls
9
Power PMAC Script Language
Easy-to-use but powerful programming language for machine and motion control Builds on Turbo PMAC language, with significant enhancements Automatic type-matching of different variable formats Fixed-point and floating-point formats Single-bit to 64-bit lengths Both “synchronous” motion programs and “asynchronous” PLC programs Motion program calculations automatically sequenced move by move PLC program calculations are “free running” Math and logic are C-like (not BASIC-like) Permits more power and flexibility Advanced built-in debugging features Break points, cycle counters, single-step Available for both motion and PLC programs
10
Power PMAC Script Language Math and Logic
Ability to mix all variable and data types freely Over 24 mathematical functions (e.g. sin, sqrt, cbrt, exp, abs) Trig functions in radians (e.g. cos, atan2) or degrees (e.g. cosd, atan2d) Random number generators with repeatable or non-repeatable seeds 12 math/logic operators (+, - ,* ,/ ,%, &, |, ^, >>, <<, ++, --) 12 assignment operators (including delayed synchronous) Array access to any numbered variable type Vector and 2D matrix operations (e.g. vscale, minv, msolve) 8 conditional comparators (==, !=, >, <=, <, >=, ~, !~) Logical structures: while, do..while, if, else, switch Subroutines in motion and PLC programs: gosub, callsub, call callsub (in same program) and call (to separate program) permit local variables in subroutines (true argument pass and return) Argument passing thru “G-code” letter/number format supported
11
Power PMAC Built-In Data Structures
Main technique for user access to Power PMAC registers Will largely replace I and M-variable use For hardware and software registers, control and status elements Key setup elements saved to flash memory (like I-variables) Accessible from Script & C programs, on-line commands “Intellisense” listing of elements in IDE windows (terminal, editor) Major structures defined: Sys, Motor[x]., Coord[x]., Gaten[i].Chan[j]., CompTable[m]. etc. Indexable for easy program access e.g.: Motor[Num].JogSpeed = Note that index numbers start at 0 (C convention)! User can substitute own name for structure element e.g.: #define M2Vj Motor[2].JogSpeed User can define M-variable to any structure element e.g.: ptr Mtr2Vjog->Motor[2].JogSpeed e.g.: ptr LaserOn->Acc68E[2].DataReg[4].6
12
Running C Code on Power PMAC
GNU public-domain cross-compiler built into Power PMAC IDE Advanced editing/debugging features in IDE Code can be for both real-time (e.g. servo) and non-real-time (e.g. PLC) tasks Can use automatically generated C code: e.g.: IEC graphical programming for PLCs MATLAB/Simulink Embedded CoderTM for servos, etc. Supplied header files give access to Power PMAC data structures through shared-memory interface For I/O, C-language access is to full registers only; must subsequently mask out to get partial-register elements Structure names in C are case-sensitive (unlike in Script) Supplied API gives access to Power PMAC function calls C subroutines automatically called in phase, servo and real-time interrupt C subroutines automatically called in background between PLC scans Independent C applications run under GPOS
13
Power PMAC Motor Calculations
Motor calculations done in 64-bit floating-point math (These were 48-bit fixed-point calculations in Turbo PMAC) Trajectory interpolation, servo loop closure, phase commutation Higher resolution permits more complex algorithms without adding too much “quantization noise” Increased dynamic range eliminates rollover & saturation concerns Position, time, etc. registers have meaningful units With hardware floating-point implementation, still faster than fixed-point calculations in fastest Turbo PMAC (>1.5x) Increased flexibility to add custom algorithms Servo, commutation, compensation, etc. Up to 256 motors controlled from 1 CPU at 2kHz update rate Networked connection (e.g. MACRO, EtherCAT) to machine required 1D, 2D, & 3D compensation tables with 1st or 3rd-order interpolation
14
Power PMAC Coordinate Systems
Up to 128 independent coordinate systems (up from 16) Up to 32 independent axes per coordinate system (up from 9) Names: A, B, C, U, V, W, X, Y, Z, AA, BB,…, HH, LL, MM,…, ZZ Multiple motors can be assigned to same axis (e.g. gantry) Two full Cartesian axis sets per coordinate system X/Y/Z with I/J/K vectors, XX/YY/ZZ with II/JJ/KK vectors For circular interpolation, tool radius compensation Motors can be assigned to C.S. axes in two ways: Simple axis-definition statements (e.g. #1->1000X) Forward and inverse-kinematic subroutines Real-time reporting of axis data possible Position (command and actual), velocity, following error Reported in user engineering units Valid for either method of C.S. definition
15
Power PMAC Motion Trajectories
All move modes of Turbo PMAC supported Enhancements to all move modes Point-to-point, triggered, alterable (jog, home, rapid) Jerk limits added (as well as acceleration and velocity) Ability to alter destination at up to servo rate Traditional blended (linear, circle) Jerk limits added (linear) All feature times (Ta, Ts, Tm) have floating-point resolution, can even go below servo period (but would be skipped over) Separate accel and decel rates/times Better optimized lookahead calculations Modern splined/contouring (pvt, spline) Ability to use lookahead (pvt) Ability to program like traditional linear mode (with F vector feedrate) Ability to change on the fly between traditional blended and pvt modes Good for custom accel/decel profiles
16
Power PMAC PLC Program Enhancements
Expanded math and logic capabilities of Power PMAC Script Subroutine and subprogram calls added Local variables permit true argument passing Ability to command axis motion directly rapid-mode point-to-point or triggered moves Can break into ongoing move at any point Program execution does not pause until move over (unlike motion programs) “Direct” motor (e.g. jog1+) and C.S. (e.g. abort1) commands No need to pass through text command queue Improved debugging features Automatic cycle counters can be put on instructions Breakpoint capability (on specified cycle count) Single-step capability
17
PMAC3 ASIC: DSPGATE3 Combines all features of existing ASICs (Servo, MACRO, and I/O) 4 servo channels plus 32 digital I/O points, plus 32-node MACRO 3 servo channels each alternately configurable as 32 added I/O points Built-in resolver excitation generator (add external DAC only) Built-in sin/cos encoder/resolver 16-bit interpolator (add external ADCs only) Built-in 12-bit hardware 1/T interpolator for servo, capture, & compare Whole-count and fractional-count info combined into single register Support for multiple serial encoder protocols (e.g. SSI, EnDat, Yaskawa) MLDT timer at 600 MHz (4.7μm resolution, no averaging) PWM counter at 300 MHz (1.5 extra bits over PMAC2 resolution) Multiple PWM frequencies supported on a single ASIC 4-phase PWM output each axis (direct support for steppers) Pulse-frequency output: pulse-and-direction or quadrature, 0-100% duty cycle 32-node MACRO interface: MACRO at 125 Mbps, or new MACRO2 at 1.25Gbps Support for configurable fast DMA processor interface
18
Power PMAC Computational Speeds
Computational Task 80 MHz Turbo PMAC 240 MHz Turbo PMAC 533 MHz Power PMAC (proto) 800 MHz Power PMAC Phase Update 1,2 1.9 μsec 1.0 μsec8 0.7 μsec8,9 Servo Update2,3 4.8 μsec 1.7 μsec 1.1 μsec 0.65 μsec9 Custom Servo4 588 μsec 326 μsec 10 μsec 1.6 μsec10 Program SQRT5 3.7 μsec 1.0 μsec 0.14 μsec 0.08 μsec Program Multiply5 3.0 μsec 0.9 μsec 0.06 μsec 0.04 μsec 4-Axis Move Eqns.6 129 μsec 36 μsec 5.0 μsec 2.8 μsec Ethernet Transfer7 4.0 sec 3.8 sec 255 msec 220 msec Notes: 1. PM brushless-motor commutation, current-loop closure, one motor 2. Fixed-point math on Turbo PMAC, floating-point math on Power PMAC 3. PID, trajectory interpolation, 1/T encoder extension, one motor 4. Control of 7 harmonics, all floating-point math, one motor 5. Uncompiled script language, floating-point math 6. Linear mode equation calculations, no segmentation, no lookahead 7. File downloaded to set 8192 variable values, 100 Mbps 8. Limited by I/O speed 9. With PMAC3 ASIC, “packed” I/O mode 10. Executing from internal memory
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.