1 / 14

Power PMAC Project Management November 2013

Power PMAC Project Management November 2013. Project Management Tools. To facilitate and encourage good project organization Pre-defined project structure in IDE “Solution Explorer” Supports both Script and C Smart editor in IDE Debugger in IDE C cross-compiler in IDE

jesse
Download Presentation

Power PMAC Project Management November 2013

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. Power PMAC Project ManagementNovember 2013

  2. Project Management Tools • To facilitate and encourage good project organization • Pre-defined project structure in IDE “Solution Explorer” • Supports both Script and C • Smart editor in IDE • Debugger in IDE • C cross-compiler in IDE • Automatic downloading to Power PMAC • Full project download • Incremental download • Ability to retain project in Power PMAC’s non-volatile flash memory • Can have separate project/version in active memory • Can retain multiple versions in flash

  3. IDE Solution Explorer • A “solution” contains one or more “projects”, each in a Power PMAC • Each “project” organizes its files in folders in the Project Manager • “C Language” folder for routines and programs written in C • “Background Programs” for independent applications running under GPOS • “CPLCs” for scheduled PLC programs written in C • “Include” for “.h” header files • “Libraries” for called subroutines • “Realtime Routines” for foreground (servo, phase, capture/compare) • “Configuration” for project action files • “Documentation” for user comments and notes • “Log” for automatically generated log files • “PMAC Script Language” for Script programs and files • “Global Includes” for declarations and definitions • “Kinematic Routines” for forward and inverse kinematic transformations • “Libraries” for subprograms • “Motion Programs” for top-level sequenced motion programs • “PLC Programs” for top-level asynchronous PLC programs

  4. Download, Save, and Reset Actions

  5. Mapping User Variable Names • Project downloader scans for declared and defined variable names in all PMAC Script Language folder files • Declared variables (e.g. global PartCount) are auto-assigned to Power PMAC variables • Defined variables (e.g. #define MachineState P1) use specified variables • These variable names are made available for C programs by inclusion in pp_proj.h file in C Language/Include directory • Numbered Power PMAC variable names are substituted for declared and defined variables in process of breaking out downloaded Script programs • Table of declared and defined variables stored on Power PMAC for use by IDE and similar programs (through gpascii -2)

  6. Compiling and Downloading C Programs • Done during “build” process: select “Build”, “Rebuild”, or “Build and Download All Programs” for project • GNU cross-compiler compiles routines and programs for Power PMAC CPU • Independent background C application executable files (.out extension) copied into var/ftp/usrflash/Project/C language/Background Programs directory • C PLC program executable files (.so extension) copied into var/ftp/usrflash/Project/C language/CPLCs directory • Foreground routine (servo, phase, capture/compare) executable files (.ko extension) copied into var/ftp/usrflash/Project/C language/Realtime Routines directory • No source code automatically copied into Power PMAC • Helps protect intellectual property • User can do this separately if desired

  7. Downloading Script Programs • Done during “download” process: select “Build and Download All Programs”, “Download All Programs”, “Download Selected Programs” • Script header files (.pmh extension) copied into var/ftp/usrflash/Project/Global Includes directory • Kinematic routine files (.kin extension) copied into var/ftp/usrflash/Project/Kinematic Routines directory • Subprogram files (.pmc extension) copied into var/ftp/usrflash/Project/Libraries directory • Motion program files (.pmc extension) copied into var/ftp/usrflash/Project/Motion Programs directory • PLC program files (.plc extension) copied into var/ftp/usrflash/Project/PLC Programs directory

  8. Project Configuration Files • Contain lists of Script on-line commands to be executed automatically in different stages of transferring project files • Exist in new project with default commands • Permit user to customize actions at these stages • Located in “Configuration” folder of Project Manager • pp_disable.txt – Commands executed in preparation for full download and/or build (e.g. abort all programs) • pp_inc_disable.txt – Commands executed in preparation for incremental download and/or build • pp_startup.txt – Commands executed after full download/build from PC, or from flash memory at power-up/reset (e.g. enable PLC programs) • pp_inc_startup.txt – Commands executed after incremental download/build

  9. Project Properties • Interactive window under IDE Project Manager permits easy setting of many key project properties • Files and folders on PC • Storage buffer sizes • Declared variable ranges • Starting template version • Communications properties • Settings automatically used on next build and download to Power PMAC

  10. pp_proj.ini Configuration File • Contains key information about project configuration • Simple example file, automatically generated: [LINUX_PROGRAMS] program1=/var/ftp/usrflash/Project/C Language/Background Programs/capp1.out run1=1 last_program_number=1 [RTUSRCCODE] usrrtmodule=/var/ftp/usrflash/Project/C Language/Realtime Routines/usralgo.ko ServoCtrlName0=user_pid_ctrl PhaseName1=user_phase [PMAC_PROGRAMS] PVARSTART=8192 QVARSTART=1024 MVARSTART=8192 file1=/var/ftp/usrflash/Project/PMAC Script Language/Global Includes/global definitions.pmh inc1=2 file2=/var/ftp/usrflash/Project/PMAC Script Language/Libraries/subprog1.pmc inc2=0 file3=/var/ftp/usrflash/Project/PMAC Script Language/Motion Programs/prog1.pmc inc3=0 file4=/var/ftp/usrflash/Project/PMAC Script Language/PLC Programs/plc1.plc inc4=0 last_file_number=4 [PMAC_BUFFERS] SymbolsBufSize=1048576 UserBufSize=1048576 ProgramBufSize=16777216 TableBufSize=1048576

  11. Executing Downloaded Files • After all project files downloaded into Power PMAC • After pp_proj.ini file created and downloaded • Built-in application projpp automatically executed in Power PMAC • Uses instructions from pp_proj.ini file • Can start independent C applications • Loads Script programs from files into active buffers • Executes commands from appropriate configuration files (e.g. pp_startup.txt) • Any error messages in executing commands are stored in pp_error.log file, and uploaded to IDE

  12. Downloading Programs Outside Project • Direct downloading of Script programs outside of project is possible • Commonly used for “part programs” that are executed once • Rotary motion programs are always outside of project • Can simply use gpascii to send program lines • These programs are directly entered into active program buffer • These programs cannot be saved to flash memory

  13. Saving and Resetting Power PMAC • “Saving” action implemented by on-line save command • Copies values of saved setup elements from active memory (RAM and ASIC registers) to non-volatile flash memory • Not done automatically on project download • Copies active project files in RAM (/var/ftp/usrflash/…) to non-volatile flash memory (/opt/ppmac/usrflash/…) • Retains last 4 previously saved versions of project in /opt/ppmac/usrflash.n/(n = 1..4) • “Reset” action implemented by cycling power or on-line $$$ command • Copies saved values of setup elements from flash to active memory • Copies saved project files in flash memory (/opt/ppmac/usrflash/…) to active project files in RAM (/var/ftp/usrflash/…) • Executes projpp using pp_proj.ini to finish loading of project into active memory • Executes commands in pp_startup.txt • $$$ command does not restart Linux computer; reboot does

  14. Re-Initializing Power PMAC • Done on user-issued on-line $$$*** command • Done automatically on power-up/reset with “problem” • Corruption of saved project files • Change in hardware configuration since last save operation • Actions performed on re-initialization: • System clock source automatically specified based on ASICs present • Saved setup addressing elements automatically set based on servo interface hardware present • Saved setup (non-addressing) elements automatically set to factory default values • Active project directory in RAM cleared • Active program and table buffers in RAM cleared • Saved setup element values and saved project files in flash are not cleared (just not used)

More Related