Control System Design for Precision Engineering Applications


Introducing PMAC Programmer

Download PMAC Programmer! Unzip the file and run setup.exe.

To enable your copy, install and run the program, record the serial number displayed in the registration box, and contact us at 727-526-3700 with the registration number and your credit card information.

If you perfer to pay by check, send to Perry Automation, P.O. Box 22381 St. Petersburg, FL 33742 and we will mail you a copy.

PMAC Programmer
PMAC Programmer helps both integrators and end-users program Delta-Tau's PMAC line of motion controllers. This program was designed as a diagnostic tool with extensive data gathering and analysis features for troubleshooting difficult applications. Features such as a terminal window, a program editor, and a motor tuning window were added to provide complete functionality. Finally, in an effort to make PMAC Programmer as expandable as possible, a scripting language was developed which allows users to run a library of diagnostic routines. The result is a full-fledged programming tool which performs seven essential tasks:

1. Data Gathering and Scaling
2. Data Manipulation
3. Graphing
4. Program Editing
5. Terminal Window
6. Motor Setup and Tuning
7. Interactive Diagnostic Scripts



1. Data Gathering and Scaling



Data gathering is one of the most powerful diagnostic features available on the PMAC controllers. All PMAC controllers can gather data from 24 (or 48 for Turbo PMAC) different sources at the servo-cycle frequency. When PMAC Programmer connects to a PMAC, the user can easily select which data sources he would like to gather from. Sources can be selected as X, Y, D, or L memory addresses, or they can be selected as M, P, I, or Q variables. Next, using a simple pushbutton interface, the user controls the gathering and uploading process. Raw data is always uploaded and stored in PMAC's native 24-bit integer format.

PMAC Programmer supports all data gathering modes. Gathered data can be stored in the user buffer or in DPRAM, and data can be gathered as a one-shot or in wrap-around mode. PMAC Programmer will eventually allow for real-time graphing of data gathered at low enough sample rates.



Once the raw data is uploaded to the PC, it will usually be scaled into user-friendly units. A simple dialog box allows the user to select how the raw data will be processed. As shown above, the raw data can be scaled, offset, bitmasked, integrated, differentiated, filtered, etc to form the scaled data. PMAC Programmer always keeps track of both the raw data and the scaled data. This allows users to go back and change scaling or filtering values without having to repeat the acquisition process.

PMAC Programmer can also import PMAC Plot files so that existing plot data can be manipulated and viewed.



2. Data Manipulation



After data is gathered from the PMAC, it can be viewed and manipulated in a spreadsheet-like format. The spreadsheet displays both raw and scaled data for each series. Familiar cut/copy/paste/delete operations allow the user to move data between columns and the clipboard. This also allows for exchange of data with other programs.



3. Graphing



The heart of the PMAC Programmer software is its graphing capabilities. There are four graph types to choose from: Data vs. Time, Data vs. Number, Data vs. Freq., or X vs Y. Regardless of the graph type chosen, the program has the capability to show up to four data series simultaneously (selected from either 24 or 48 series stored in memory). These data series can be plotted on the same axis even if they were gathered at different sample rates.

Advanced plotting features include dynamic panning and zooming, data cursors for precise measurements, and the ability to combine data series on-the-fly.



4. Program Editing



A full-featured program editor is also included with the PMAC Programmer. This editor provides many unique features that are designed to make programming the PMAC easier. First, the editor automatically searches program files for "#DEFINE" statements and stores all variable definitions for future use. Then, when editing programs, all variable definitions are highlighted. PMAC keywords are also highlighted, but in a different color. This virtually eliminates typographical errors during programming, since any misspelled words will not be properly highlighted.

Next, the PMAC Programmer editor searches program files for "#INCLUDE" statements. Any files that are included are added to the project for quick access. This lets the user open a single file, but have access to an entire project. Also, this method does not require any proprietary project files to store project information.

Finally, the PMAC Programmer editor supports reverse substitution of variable definitions into programs that are uploaded from the PMAC. This is an extremely powerful feature that lets users compare files on the PMAC to their original source files.



5. Terminal Window



The terminal window is available for sending commands to the PMAC. It supports the use of previously defined variable names, and it stores the last ten commands for quick access. Color coded text is used to differentiate between commands sent by the PMAC Programmer, commands sent by the user, and responses from the PMAC. The terminal window is complemented by a real-time variable watch window.



6. Motor Setup and Tuning



A simple dialog box handles most motor tuning parameters. Users can modify the actual I-Variable settings or use the pushbuttons to change servo-loop parameters. Complete support for filtering is also included. Filters are designed using the data scaling features of PMAC Programmer. They can then be implemented with one mouse click. As servo-loop parameters are modified, the user can visualize their effect using step moves, parabolic moves, or chirp functions.

More advanced setup and tuning features are under development. These include frequency response plots, and graphical setup tools for axis parameters.



7. Interactive Diagnostic Scripts



Perhaps the most exciting feature of PMAC Programmer is its support for diagnostic scripts. Diagnostic scripts are small ACSII files, which contain instructions to query the status of the PMAC and display the results graphically. These scripts may also contain buttons to allow for user interaction. Scripts can be written to display motor status, assist in installing accessories, etc.

The example diagnostic script shown above displays the position of up to 32 motors. The script continually queries the PMAC and updates automatically. The user can change and scale the display to be in whatever units are preferred.



This script has been designed to trouble shoot and set-up an Accessory 9E for the UMAC. Other linkable screens in this script provide jumper location/setting information as well as status of inputs and outputs.

The power of these diagnostic scripts means that the PMAC Programmer program will be able to adapt as new products and features become available. A small library of diagnostic scripts will be included with the PMAC Programmer software. In addition, Perry Automation will maintain a directory of specialized diagnostic scripts on its web page for users to download.