^ REFERENCE GUIDE ^2 PMAC Quick Reference ^3 Reference Guide for PMAC Products ^4 3A0-PMACQR-xPRx ^5 September 29, 2009 Single Source Machine Control Power // Flexibility // Ease of Use USER MANUAL 21314 Lassen Street Chatsworth, CA 91311 // Tel. (818) 998-2095 Fax. (818) 998-7807 // www.deltatau.
Copyright Information © 2003, 2009 Delta Tau Data Systems, Inc. All rights reserved. This document is furnished for the customers of Delta Tau Data Systems, Inc. Other uses are unauthorized without written permission of Delta Tau Data Systems, Inc. Information contained in this manual may be updated from time-to-time due to product improvements, etc., and may not conform in every respect to former issues. To report errors or inconsistencies, call or email: Delta Tau Data Systems, Inc.
REVISION HISTORY REV. 1 DESCRIPTION CORRECTED PMAC VME DESCRIPTION, P.2 DATE CHG APPVD 09/29/09 CP M.
PMAC Quick Reference Guide Table of Contents INTRODUCTION .......................................................................................................................................................1 Description of PMAC................................................................................................................................................1 Types of PMAC .........................................................................................................................
PMAC Quick Reference Guide Flags Power Supply (Optional) ..........................................................................................................................24 Overtravel Limits and Home Switches....................................................................................................................24 Disabling the Overtravel Limits Flags ...............................................................................................................
PMAC Quick Reference Guide External Time Base Control (Electronic Cams) .................................................................................................59 Position Following (Electronic Gearing) ...........................................................................................................59 Cutter Radius Compensation ..............................................................................................................................59 Synchronous M-Variable Assignment.
PMAC Quick Reference Guide iv Table of Contents
PMAC Quick Reference Guide INTRODUCTION Description of PMAC PMAC, pronounced Pe’-MAC, stands for Programmable Multi-Axis Controller. It is a family of highperformance servo motion controllers capable of commanding up to eight axes of motion simultaneously with a high level of sophistication. There are five hardware versions of PMAC: the PMAC PC, the PMAC Lite, the PMAC VME, the PMAC STD and the PMAC Mini.
PMAC Quick Reference Guide Types of PMAC PMAC PC or PMAC VME Features Standard Features Motorola DSP 56k digital signal processor Four output digital-to-analog (DAC) converters Four full encoder channels 16 general purpose I/O, OPTO-22 compatible Multiplexer port for expanded I/O Overtravel limit, home, amplifier fault/enable flags Display port for LCD and VFD displays Bus and/or RS-422 control Stand-alone operation G-code command processing for CNC Linear and circular interpolation 256 motion programs ca
PMAC Quick Reference Guide PMAC PC PMAC Lite PMAC Mini PMAC STD PMAC VME PMAC Pack Turbo PMAC PC Turbo PMAC VME Turbo PMAC2 3U UMAC Turbo System Turbo PMAC2 PC Ultralite Turbo PMAC2 PC PMAC Mini The PMAC Mini is recommended for applications with one or two channel requirements in either a PC based or stand alone environment. The dual-ported RAM option in a PMAC Mini is on-board.
PMAC Quick Reference Guide PMAC2 PMAC2 is available in either PC, PCI, or VME formats. It is suggested for applications that require a digital amplifier control (direct PWM signals) or applications with a combination of analog and digital axis.
PMAC Quick Reference Guide PMAC Connectors and Indicators Display Port Outputs (JDISP Port) The JDISP connector (J1) connects the PMAC to the Acc-12 or Acc-12A liquid crystal displays, or of the Acc-12C vacuum fluorescent display. Both text and variable values may be shown on these displays through the use of the DISPLAY command, executing in either motion or PLC programs.
PMAC Quick Reference Guide The new yellow LED located beside the red and green LEDs, when lit, indicates that the phase-locked loop that multiplies the CPU clock frequency from the crystal frequency on the Option CPU is operational and stable. This indicator is for diagnostic purposes only; it may not be present on all boards.
PMAC Quick Reference Guide Programming PMAC Motion or PLCs programs are entered in any text file and then downloaded with PEWIN to PMAC. PEWIN provides a built-in text editor for this purpose but any other text editor could be used conveniently. Most PMAC commands can be issued from any terminal window communicating with PMAC.
PMAC Quick Reference Guide Single Character I/O Bringing in a single character from, or sending out a single character to, the serial port or host port (PC or STD) is the highest priority in PMAC. This task takes only 200 nsec per character, but having it at this high priority ensures that the host cannot outrun PMAC on a character-by-character basis. This task is never a significant portion of PMAC’s total calculation time.
PMAC Quick Reference Guide VME Mailbox Processing Reading or writing a block of up to sixteen characters through the VME mailbox registers is the fourth highest priority in PMAC. The host controls the rate at which this happens. This never takes a significant portion of PMAC’s computational power. Real-Time Interrupt Tasks The real-time interrupt (RTI) tasks are the fifth highest priority on PMAC.
PMAC Quick Reference Guide All enabled PLCC programs execute one scan (to the end or to an ENDWHILE statement) starting from lowest numbered to highest uninterrupted by any other background task (although it can be interrupted by higher priority tasks). At power-on\reset, PLCC programs run after the first PLC program runs. The receipt of a control character from any port is a signal to PMAC that it must respond to a command.
PMAC Quick Reference Guide Most of the housekeeping functions are safety checks such as following error limits and overtravel limits. Since compiled PLCCs are executed at the same rate as the housekeeping functions, code to complement or replace these functions could be placed in a compiled PLCC. If, for example, an extra input flag is wanted for position capturing purposes either the end-of-travel limit inputs or the amplifier fault input could be used.
PMAC Quick Reference Guide A faster than 20 MHz PMAC will perform calculations faster, in proportion to the corresponding clock rate increase. In general, a clock rate increase is used to increase the real time interrupt (RTI) share of the total computational time available. These cases include applications where large move calculations are involved (small-moves contouring), maintaining the same servo-loop rate and therefore the same control performance.
PMAC Quick Reference Guide PMAC EXECUTIVE PROGRAM, PEWIN With PEWIN, PMAC can be configured and controlled. PEWIN is designed as a development tool for creating and managing PMAC implementations. It provides a terminal interface to the PMAC and a text editor for writing and editing PMAC motion programs and PLC programs.
PMAC Quick Reference Guide Quick Plot Feature To run the quick plot feature: 1. Press ALT+P and press Enter. 2. Select the motors and the feature to gather. 3. Select what to plot from the possible choices and then press Add to left or Add to right. 4. Press the Define Gather Buffer button. 5. Press the Begin Gathering button. 6. Click on the terminal part of the screen and run the motion program or Jog command. 7. Press the End Gathering button when the motion is completed. 8.
PMAC Quick Reference Guide Saving and Retrieving PMAC Parameters It is important to save the complete set of PMAC parameters in the host computer periodically. In case of a failure or replacement, a single file created this way will allow restoring all the variables and programs necessary for the particular application. To activate this function click on the terminal window, press CTRL+B for the Backup menu, select Save Configuration and Global Configuration. Select a name to be saved as.
PMAC Quick Reference Guide Downloading Compiled PLCCs PLCCs are compiled by PEWIN in the downloading process. Only the compiled code gets downloaded to PMAC. Therefore, save the ASCII source code in the host computer separately since it cannot be retrieved from PMAC. Compiled PLCs are firmware dependent and must be recompiled when the firmware is changed in PMAC. If more than one PLCC is programmed, all the PLCC code must belong to the same ASCII text file.
PMAC Quick Reference Guide a. Make sure to read the PEWIN manual section related to the safety issues of this procedure. b. Perform a DAC calibration if necessary. c. Select the type of amplifier being tuned. d. Let the Auto Tune select the bandwidth by checking Auto Select bandwidth. e. Do not activate any feed forward parameters in this first pass. f. Do not activate the integral action component in this first pass. g. Start the first Auto Tuning interaction.
PMAC Quick Reference Guide Cause: Fix: Sluggish Response Too much damping or too little proportional gain Increase KP (Ix30) or decrease KD (Ix31) Cause: Fix: Overshoot and Oscillation Too little damping or too much proportional gain Decrease KP (Ix30) or increase KD (Ix31) 4.
PMAC Quick Reference Guide Other Features • • • • • • • • Setup of the PMAC encoder conversion table Setup of the Notch and Low Pass Filter parameters Coordinate systems configurations Access to P1Setup and P2Setup (packages provided separately).
PMAC Quick Reference Guide 20 PMAC Executive Program, PEWIN
PMAC Quick Reference Guide INSTALLING AND CONFIGURING PMAC Jumpers Setup On the PMAC, there are many jumpers (pairs of metal prongs), called E-points (on the bottom board of the PMAC STD they are called W-points). Some have been shorted together; others have been left open. These jumpers customize the hardware features of the board for a given application. Each jumper configuration should be checked using the appropriate hardware reference for the particular PMAC being set.
PMAC Quick Reference Guide Establishing Host Communications Either the Executive or Setup program can be used to establish initial communications with the card. Both programs have menus that tell the PC where to expect to find the PMAC and how to communicate with it at that location. If telling it to look for PMAC on the bus, also tell it PMAC’s base address on the bus (this was set up with jumpers on PMAC).
PMAC Quick Reference Guide Resetting PMAC for First Time Use Once communications have been established, type the following commands in the terminal window: $$$*** P0..1023=0 Q0..1023=0 M0..1023->* M0..
PMAC Quick Reference Guide Flags Power Supply (Optional) Each channel of PMAC has four dedicated digital inputs on the machine connector: +LIMn, -LIMn (overtravel limits), HMFLn (home flag), and FAULTn (amplifier fault). In most PMACs, these inputs can be kept isolated from other circuits. A power supply from 12 to 24V can be used to power the corresponding opto-isolators related to these inputs. This feature is not available in PMAC PC without Option 1, PMAC VME or the PMAC STD board.
PMAC Quick Reference Guide Home Switches While normally closed-to-ground switches are required for the overtravel limits inputs, the home switches could be either normally closed or normally open types. The polarity is determined by the home sequence setup, through the I-Variables I902, I907, ... I977.
PMAC Quick Reference Guide Motor Signals Connections Incremental Encoder Connection Each JMACH connector provides two +5V outputs and two logic grounds for powering encoders and other devices. The +5V outputs are on pins 1 and 2; the grounds are on pins 3 and 4. The encoder signal pins are grouped by number: all those numbered 1 (CHA1, CHA1/, CHB1, CHC1, etc.) belong to encoder #1. The encoder number does not have to match the motor number, but usually does.
PMAC Quick Reference Guide Example for DAC #1: Type the following in the terminal window: M102->Y:$C003,8,16,S I100=0 M102=16383 M102=-16383 I100=1 DAC Output Signals If PMAC is not performing the commutation for the motor, only one analog output channel is required to command the motor.
PMAC Quick Reference Guide In addition, the amplifier enable signal can be controlled manually by setting Ix00=0 and using the properly defined Mx14 variable. Amplifier Fault Signal (FAULTn) This input can take a signal from the amplifier so PMAC knows when the amplifier is having problems, and can shut down action. The polarity is programmable with I-Variable Ix25 (I125 for motor #1) and the return signal is analog ground (AGND). FAULT1 is pin 49.
PMAC Quick Reference Guide Machine Connections Example Amplifier Motor Load ±15 Volts Power Supply Flags Encoder #1 Pin # Acc-8D or Acc-8P #3 #4 #2 Pin # Pin # Pin # SYMBOL 53 54 39 40 -LIMn 55 56 41 42 HMFLn 51 52 37 38 +LIMn 58 58 58 58 AGND 1 2 1 2 +5V 3 4 3 4 GND 17 18 5 6 CHCn 19 20 7 8 CHCn/ 21 22 9 10 CHBn 23 24 11 12 CHBn/ 25 26 13 14 CHAn 27 28 15 16 CHAn/ 43 44 29 30 DACn 45 46 31 32 DACn/ 47 48 33 34 AENAn/DIRn 49
PMAC Quick Reference Guide Software Setup PMAC has a large set of initialization parameters (I-Variables) that determine the personality of the card for a specific application. Many of these are used to configure a motor properly. Using PEWIN, follow these steps for Software Setup: 1. Fully reset PMAC to ensure a clean memory configuration before start: $$$*** P0..1023=0 Q0..1023=0 M0..1023->* M0..
PMAC Quick Reference Guide PROGRAMMING PMAC Programming PMAC is very simple; the ease of use and power is based in the following features: • A clever interrupt-driven scheme allows every task, each motion program and PLC, to run independently of each other. • Pointer M-Variables allow monitoring virtually any register in PMAC’s memory from different sources: motion programs, PLCs or the host computer. • Communications are activated continuously.
PMAC Quick Reference Guide A coordinate system is addressed by a &n command, where n is the number of the coordinate system, with a range of 1 to 8, inclusive. This coordinate system stays the one addressed until another &n command is received by the card. For instance, the command line &1B6R&2B8R tells Coordinate System 1 to run Motion Program 6 and Coordinate System 2 to run Motion Program 8. There are a variety of types of coordinate-system-specific commands.
PMAC Quick Reference Guide For I-Variables with limited range, an attempt to assign an out-of-range value does not cause an error. The value is rolled over automatically to within the range by modulo arithmetic (truncation). For example, I3 has a range of 0 to 3 (4 possible values). The command I3=5 would actually assign a value of 5 modulo 4 = 1 to the variable. On PMACs with battery-backed RAM, most of the I-Variable values can be stored in a 2K x 8 EEPROM IC with the SAVE command.
PMAC Quick Reference Guide The set of Q-Variables working within a command depends on the type of command. When accessing a Q-Variable from an on-line (immediate) command from the host, it is the Q-variable for the currently host-addressed coordinate system (with the &n command). When accessing a Q-Variable from a motion program statement, it is the Q-Variable belonging to the coordinate system running the program.
PMAC Quick Reference Guide The M-Variable definitions are stored as 24-bit codes at PMAC addresses Y:$BC00 (for M0) to Y:$BFFF (for M1023). For all but the thumbwheel multiplexer port M-Variables, the low 16 bits of this code contains the address of the register pointed to by the M-Variable (the high 8-bits tell what part of the address is used and how it is interpreted). If another M-Variable points to this part of the definition, it can be used to change the subject register.
PMAC Quick Reference Guide CLOSE ena PLC15 P1..10 ; Enable the PLC (I5 must be 2 or 3) ; List the values of P1 to P10 The same concept applies for Q-Variables and M-Variables arrays, although the address range for them is different. Operators PMAC operators work like those in any computer language: they combine values to produce new values. PMAC uses the four standard arithmetic operators: +, -, *, and /.
PMAC Quick Reference Guide Functions and operators can be used either in Motion Programs, PLCs, or as online commands. For example, the following commands can be typed in a terminal window: P1=SIN (45) P1 I130=I130/2 I125=I125|$20000 ; Reports the sine value of a 45° angle ; Lower the proportional gain of Motor #1 by half ; Disable the end-of-travel limits of Motor #1 Comparators A comparator evaluates the relationship between two values (constants or expressions).
PMAC Quick Reference Guide Warning: Certain registers that are under PMAC’s automatic control, particularly those used in the servo calculations, can cause problems if written to them directly.
PMAC Quick Reference Guide Conversion Table Structure The Encoder Conversion Table has two columns, one in the X memory space of the processor, and one in the Y memory space. The X-column holds the converted data, while the Y-column holds the addresses of the source registers, and the conversion methods used on the data in each of those source registers. Basically, the table is set up by writing to the Y-column, and PMAC uses the Y-column data to fill up the X-column each servo cycle.
PMAC Quick Reference Guide PMAC Position Registers The PMAC Executive position window or the online command P reports the value of the actual position register plus the position bias register plus the compensation correction register and if bit 16 of Ix05 is 1 (handwheel offset mode) minus the master position register: M175->X:$002A,16,1 M162->D:$002B M164->D:$0813 M167->D:$002D M169->D:$0046 ; ; ; ; ; ; Bit 16 of I105 #1 Actual position (1/[Ix08*32] cts) #1 Position bias (1/[Ix08*32] cts) #1 Present mas
PMAC Quick Reference Guide M167 is related to the master/slave relationship set through Ix05 and Ix06. It contains the present number of counts the master. To read this register in counts: P167 = M167 / (I108*32) or P167 = M167 / (I107*32) M169->D:$0046 ; #1 Compensation correction Calculated leadscrew compensation correction according to actual position (M162) and the leadscrew compensation table set through the define comp command.
PMAC Quick Reference Guide Home commands can be issued on the terminal window, a Motion Program or a PLC Program: HOME1..8 #1HM CMD”#1HM” while (…) endwhile ;Home axis 1 to 8 in a Motion Program. Program is halted ;until home is completed. ;Online command for homing motor #1 from the terminal window. ;Online command for homing motor #1 from a PLC program.
PMAC Quick Reference Guide MOTION PROGRAMS PMAC can hold up to 256 motion programs at one time. Any coordinate system can run any of these programs at any time, even if another coordinate system is already executing the same program. PMAC can run as many motion programs simultaneously as there are coordinate systems defined on the card (up to eight). A motion program can call any other motion program as a subprogram, with or without arguments.
PMAC Quick Reference Guide If calculations stop on condition 1 or 2, the calculation flag is cleared and will not be set again until actual motion progresses into the next move (1) or a new RUN command is given (2). If calculations stop on conditions 3 or 4, the flag remains set, so calculations will resume at the next RTI. In these cases there is an empty (no-motion) loop, the motion program acts much like a PLC 0 during this period.
PMAC Quick Reference Guide Axis Definition Statements A coordinate system is established by using axis definition statements. An axis is defined by matching a motor (which is numbered) to one or more axes (which are specified by letter). The simplest axis definition statement is something like #1->X. This simply assigns motor #1 to the X axis of the currently addressed coordinate system. When an X axis move is executed in this coordinate system, motor #1 will make the move.
PMAC Quick Reference Guide 9. In a motion program, PMAC has WHILE loops and IF..ELSE branches that control program flow. These constructs can be nested indefinitely. In addition, there are GOTO statements, with either constant or variable arguments (the variable GOTO can perform the same function as a CASE statement). GOSUB statements (constant or variable destination) allow subroutines to be executed within a program. CALL statements permit other programs to be entered as subprograms.
PMAC Quick Reference Guide 5. When a RUN or STEP command is issued, PMAC checks the coordinate system to make sure it is in proper working order. If it finds anything in the coordinate system is not set up properly, it will reject the command, sending a command back to the host. If I6 is set to 1 or 3, it will report an error number as well telling the reason the command was rejected.
PMAC Quick Reference Guide The CALLx command in a motion program causes a jump to PROG x, with a jump back to the command immediately following the CALL when a RETURN command is encountered. If x is an integer, the jump is to the beginning of PROG x; if there is a fractional component to x, the jump is to line label N(y*100,000), where y is the fractional part of x.
PMAC Quick Reference Guide For example: G17 will cause a jump to N17000 of PROG 1000; G117 will cause a jump to N17000 of PROG 1010; G973.1 will cause a jump to N73100 of PROG 1090. M-codes are the same, except they use PROG 10n1; T-codes use PROG 10n2; D-codes use PROG 10n3. Most of the time, these codes have numbers within the range 0 to 99, so only PROGs 1000, 1001, 1002, and 1003 are required to execute them. For those who want to extend code numbers past 100, PROGs 1010, 1011, etc.
PMAC Quick Reference Guide TS0 TM250 X10 TA250 250 msec , TA2 X40 CLOSE ; ; ; ; No S-curve component Move time is 250 msec, TM1 Move distance is 10 units, 20000 counts Acceleration \ deceleration of the blended move is ; Move distance is 40 units, 80000 counts 2. The two move commands are plotted without blending, placing a DWELL0 command in between the two moves: 3. The two moves are now plotted with the blending mode activated.
PMAC Quick Reference Guide PMAC looks two moves ahead of actual move execution to perform its acceleration limit and can recalculate these two moves to keep the accelerations under the Ix17 limit. However, there are cases where more than two moves, some much more than two, would have to be recalculated in order to keep the accelerations under the limit.
PMAC Quick Reference Guide In order to reach the desired position, since the move involves a change in direction and stop, simply place a DWELL0 command between moves. This command will disable blending for that particular move: TA100 TM250 X10 DWELL0 X-10 4. Since the value of TA determines the minimum time in which a programmed move can be executed, it could limit the maximum move velocity and therefore the programmed feedrate might not be reached.
PMAC Quick Reference Guide To be able to reach the desired velocity, a longer move can be performed split into two sections. The first move will be executed using a suitable TA to get the motor to move from rest. The second move will have a lower acceleration time TA in order to decrease the move time TM and so reach the programmed feedrate. OPEN PROG 1 CLEAR LINEAR INC TS0 F40 TA100 X3 TA75 X3 CLOSE 5. All the previous analysis was performed assuming a zero S curve component.
PMAC Quick Reference Guide Circular Interpolation PMAC allows circular interpolation on the X, Y, and Z-axes in a coordinate system. As with linear blended moves, TA and TS control the acceleration to and from a stop, and between moves. Circular blended moves can be feedrate-specified (F) or time-specified (TM), just as with linear moves. It is possible to change back and forth between linear and circular moves without stopping.
PMAC Quick Reference Guide 6. If the vector method of locating the arc center is used, the vector is specified by its I, J, and K components (I specifies the component parallel to the X axis, J to the Y axis, and K to the Z axis). This vector can be specified as a distance from the starting point (i.e. incrementally), or from the XYZ origin (i.e. absolutely). The choice is made by specifying R in an ABS or INC statement (e.g. ABS (R) or INC (R)). This affects I, J, and K specifiers together.
PMAC Quick Reference Guide Example: I13=10 NORMAL K-1 INC INC (R) definition CIRCLE 1 X20 Y0 I10 J0 ;Move Segmentation Time ;XY plane ;Incremental End Point definition ;Incremental Center Vector ;Clockwise circle ;Arc move Splined Moves PMAC can perform cubic splines (cubic in terms of the position vs. time equations) to blend together a series of points on an axis.
PMAC Quick Reference Guide The units for position or distance are the user length or angle units for the axis, as set in the Axis Definition statement. The units for velocity are defined as length units divided by time units, where the length units are the same as those for position or distance, and the time units are defined by variable Ix90 for the coordinate system (feedrate time units). The velocity specified for an axis is a signed quantity.
PMAC Quick Reference Guide vel 5⋅V⋅t P = 2 6 ⋅ I190 V V/2 V⋅t P = 1 6 ⋅ I190 t 2t vel V V/2 Time t 5⋅V⋅t P = 2 6 ⋅ I190 vel V⋅t P = 1 6 ⋅ I190 V1 2t V2 Time P= ( ) V +V ⋅t 1 2 2 ⋅ I190 t Time Replace I190 for the appropriate Ix90 variable according to coordinate system x.
PMAC Quick Reference Guide • %100 • M197 = I10 Online or CMD command that restores the real-time reference (1 msec = 1 msec). Suggested M-Variable for time base change. Equal to I10 is 100%, equal to 0 is 0%. The variable Ix94 controls the rate at which the time base changes: Ix94 = I10 2 , where t is the slew rate t ⋅ 2 23 time in msec.
PMAC Quick Reference Guide Synchronous M-Variable Assignment The scan of a motion program and execution of the commands in it are governed by the lookahead feature. PMAC will calculate move commands ahead of time for a proper blending and will execute every instruction in between immediately. This ahead-of-time situation would make an M-Variable assignment asynchronous to the motion profiles unless a double equal sign is used instead.
PMAC Quick Reference Guide PLC PROGRAMS PMAC will stop the scanning of the motion program lines when enough move commands have been calculated ahead of time. This feature is called look-ahead and it is necessary to properly blend the moves together and to observe the motion safety parameters.
PMAC Quick Reference Guide • • • • PLC2: Since PLC1 is suggested as an initialization PLC (and can run potentially only once on power-up), PLC2 is the first PLC in the remaining sequence from 2 to 31. This makes PLC2 the ideal place to copy digital input information from I\O expansion boards like the Acc-34 into its image variables. This way, PLCs 3 to 30 could use the input information, writing the necessary output changes to the outputs image variables.
PMAC Quick Reference Guide To erase an uncompiled PLC program, open the buffer, clear the contents, then close the buffer again. This can be done with three commands on one line, as in: OPEN PLC 5 CLEAR CLOSE PLC Program Structure The important thing to remember in writing a PLC program is that each PLC program is effectively in an infinite loop; it will execute over and over again until told to stop.
PMAC Quick Reference Guide WHILE Loops Normally a PLC program executes all the way from beginning to end within a single scan. The exception to this rule occurs if the program encounters a true WHILE condition. In this case, the program will execute down to the ENDWHILE statement and exit this PLC. After cycling through all of the other PLCs, it will re-enter this PLC at the WHILE condition statement, not at the beginning. This process will repeat as long as the condition is true.
PMAC Quick Reference Guide Timers Timing commands like DWELL or DELAY are reserved only to motion programs and cannot be used for timing purposes on PLCs. Instead, PMAC has four 24-bit timers to write to and count down once per servo cycle. These timers are at registers X:$0700, Y:$0700, X:$0701, and Y:$0701.
PMAC Quick Reference Guide Compiled PLC Programs PLCCs are compiled by PEWIN in the downloading process. Only the compiled code gets downloaded to PMAC. Therefore, save the ASCII source code in the host computer separately since it cannot be retrieved from PMAC. Compiled PLCs are firmware dependent and so they must be recompiled when the firmware is changed in PMAC. If more than one PLCC is programmed, all the PLCCs code must belong to the same ASCII text file.
PMAC Quick Reference Guide TROUBLESHOOTING PMAC is a highly reliable device and has several safety mechanisms to prevent continuous damage and malfunctions. When PMAC shuts down or an erratic behavior is observed, the following reset procedure should be used. Resetting PMAC to Factory Defaults 1. If PMAC is communicating with the host computer, skip steps 2-7 on this list. 2. Turn off PMAC or the host computer where PMAC is installed. 3.
PMAC Quick Reference Guide The hardware circuit for the watchdog timer requires that two basic conditions be met to keep it from tripping. First, it must see a DC voltage greater than approximately 4.75V. If the supply voltage is below this value, the circuit’s relay will trip. This prevents corruption of registers due to insufficient voltage. The second necessary condition is that the timer must see a square wave input (provided by the PMAC software) of a frequency greater than approximately 25 Hz.
PMAC Quick Reference Guide Bus Communications 1. 2. Do the bus address jumpers (E91-E92, E66-E71) set an address that matches the bus address that the Executive program is trying to communicate with? Is there something else on the bus at the same address? Try changing the bus address to see if communications can be established at a new address. Usually, Address 768 (300 hex) is open. Serial Communications 1. 2. 3. 4.
PMAC Quick Reference Guide If holding position well, but cannot move the motor, probably the hardware limits are not being held low. Check which limits I125 is addressed to (usually +/-LIM1), then make sure those points are held low (to AGND), and sourcing current (unscrew the wire from the terminal block and put the ammeter in series with this circuit to confirm this). Refer to the section Installing and Configuring PMAC for details on checking the limit inputs.
PMAC Quick Reference Guide PLC Programs PLCs and PLCCs are one of the most common sources for communication or watchdog timer failures. Any SEND, COMMAND, or DISPLAY action statement should be done only on an edge-triggered condition, because the PLC can cycle faster than these operations can process their information, and the communications channels can get overwhelmed if these statements are executed on consecutive scans through the PLC.
PMAC Quick Reference Guide 72 Troubleshooting
PMAC Quick Reference Guide APPENDIX A – PMAC ERROR CODE SUMMARY I6, Error Reporting Mode: This parameter controls how PMAC reports errors in command lines. When I6 is set to 0 or 2, PMAC reports an error with a character only. When I6 is 0, the character is given for invalid commands issued both from the host and from PMAC programs (using CMD"{command}").
PMAC Quick Reference Guide 74 Appendix A – PMAC Error Code Summary
PMAC Quick Reference Guide APPENDIX B – PMAC I-VARIABLES SUMMARY Global I-Variables Range Default I1 I2 I3 I4 I5 I6 I7 Serial Handshake Line Disable Control Panel Disable I/O Handshake Mode Communications Checksum Enable PLC Programs On/Off Error Reporting Mode In-Position # of Consecutive Cycles 0 .. 3 0 .. 3 0 .. 3 0 .. 3 0 .. 3 0 .. 3 0 .. 255 0 1 1 0 0 3 0 I8 I9 I10 I11 I12 I13 I14 I15 I16 I17 I18 Real Time Interrupt Period Full/Abbrev. Listing Form Servo Interrupt Time Program Move Calc.
PMAC Quick Reference Guide Other Global I-Variables Range I47 Address Of Pointer For Control-W $0000 .. $FFFF Command (0 .. 65,535) I48 DPRAM Servo Data Enable 0 .. 1 I49 DPRAM Background Data Enable 0 .. 1 I50 RAPID Mode Control 0 .. 1 I51 Leadscrew Compensation Enable 0 .. 1 I52 Feed Hold Slew Rate 0 .. 8,388,607 I53 Program Step Mode Control 0 .. 1 I55 DPR Background Data buffer enable 0 .. 1 I56 DPRAM Communications Interrupt 0 .. 1 Enable I57 DPRAM Binary Rotary Buffer Enable 0 ..
PMAC Quick Reference Guide Motor Safety I-Variables Ix11 Ix12 Ix13 Ix14 Ix15 Ix16 Ix17 Ix19 Ix20 Ix21 Ix22 Ix23 Encoder Counts Encoder Counts Counts/msec2 32 Counts/msec 0.015625 Counts/msec2 0.015625 Counts/msec2 Units Msec Msec Counts / msec 32 Counts / msec Ix29 Motor x DAC/1st Phase Bias Servo Control I-Variables Ix30 Motor x Proportional Gain Ix31 Motor x Derivative Gain Ix32 Motor x Velocity Feed Forward Gain Motor x Integral Gain Ix40Ix56 0 (Disabled) 0 (Disabled) 0.
PMAC Quick Reference Guide Motor Servo Loop Modifiers Range Default 0 .. 32,767 0 .. 8,388,607 0 .. 3 0 0 0 Bits of a 16-bit DAC 230 (DAC bits)2 * servo cycles None 0 .. 255 0 Servo Interrupt Periods Ix63 Motor x Continuous Current Limit Motor x Integrated Current Limit Motor x User Written Servo Enable Motor x Servo Cycle Period Extension Motor x Integration Limit 4194304 Ix64 Motor x 'Deadband Gain' -8,388,608 .. 8,388,607 -32,768 ..
PMAC Quick Reference Guide Coordinate System IVariables Ix87 C.S. x Default Acceleration Time Ix88 Ix89 C.S. x Default S-Curve Time C.S. x Default Feedrate Ix90 C.S. x Feedrate Time Units Ix91 Ix92 Ix93 C.S. x Default Working Program Number C.S. x Move Blend Disable C.S. x Time Base Address Ix94 Ix95 Ix96 C.S. x Time Base Slew Rate C.S. x FeedHold Decel Rate C.S. x Circle Error Limit Ix98 Coordinate System x Maximum Feedrate I900, I905,.. I901, I906,.. I902, I907,.. I903, I908,..
PMAC Quick Reference Guide 80 Appendix B – PMAC I-Variables Summary
PMAC Quick Reference Guide APPENDIX C – PMAC ON-LINE (IMMEDIATE) COMMANDS On-Line Command Function # #{constant} #{constant}-> #{constant}->0 #{constant}>{axis definition} $ $$$ $$$*** % %{constant} &{constant}
PMAC Quick Reference Guide / Halt program execution at end of currently executing move ? Report motor status ?? Report the status words of the addressed coordinate system ??? Report global status words @ Report currently addressed card on serial daisychain @{card} Address a card on the serial daisychain \ Do a program hold (permitting jogging while in hold mode) A Abort all programs and moves in the currently addressed coordinate system ABS Select absolute position mode for axes in addressed coordinate sy
PMAC Quick Reference Guide DELETE TCOMP DELETE TRACE DISABLE PLC Erase torque compensation table Formerly: Erase the motion program trace buffer Disable specified PLC program(s) DISABLE PLCC Disable compiled PLCC program(s) ENABLE PLC Enable specified PLC program(s) ENABLE PLCC Enable specified PLCC program(s) ENDGATHER F FRAX GATHER H HOME HOMEZ I{constant} Stop data gathering Report motor following error Specify the coordinate system's feedrate axes Begin data gathering Perform a feedhold Start
PMAC Quick Reference Guide J={constant} J=* J=={constant} J^{constant} J^* Jog to specified position Jog to specified variable position Jog to specified motor position and make that position the pre-jog position Jog relative to actual position Jog to specified variable distance from present actual position J={constant} J=* J=={constant} J^{constant} J^* {jog Jog until trigger command}^{cons tant} J=^{constant} J={constant}^{constant} J:{constant}^{constant} J^{constant}^{constant} J=*^{constant} J:*^{c
PMAC Quick Reference Guide M{constant}>TWD:{address} M{constant}>TWR:{addr},{off .} M{constant}>TWS:{address} M{constant}>X/Y:{address} MACROAUX MACROAUXREAD MACROAUXWRITE MACROSLV{command } {node#} MACROSLV{node#}, {slave variable} MACROSLV{node#}, {slave var}={const} MACROSLVREAD MACROSLVWRITE MFLUSH O{constant} OPEN PLC OPEN PROGRAM OPEN ROTARY P P{constant} P{constant}={exp ression} PAUSE PLC BCD thumbwheel-multiplexer MVariable definition M{constant}[..
PMAC Quick Reference Guide PASSWORD={string } PC PE PMATCH Enter/set program password PASSWORD={string} Report program counter PC Report program execution pointer PE Re-match axis positions to motor PMATCH positions PR Report rotary program remaining PR Q Quit program at end of move Q Q{constant} Report Q-Variable value Q{constant}[..{constant}] Q{constant}={exp Q-Variable value assignment Q{constant}[..
PMAC Quick Reference Guide APPENDIX D – PMAC PROGRAM COMMAND SPECIFICATIONS Function Syntax Syntax Position-Only Move Specification {axis}{data}[{axis}{data}...] Position and Velocity Move Specification {axis}{data}:{data} [{axis}{data}:{data}...] Move Until Trigger {axis}{data}^{data}[{axis}{ data}^{data}...] Circular Arc Move Specification {axis}{data} [{axis}{data}...] {vector}{data} A-Axis Move A{data} Absolute Move Mode ABS [({axis}[,{axis}...
PMAC Quick Reference Guide Disable Compiled PLC Program(s) DISABLE PLCC {constant}[,{constant}] DISABLE PLCC {constant}..{constant} Display Text to Display Port DISPLAY [{constant}] "{message}" DISPLAY {constant}, {constant}.{constant}, {variable} DWELL{data} ELSE ELSE {action} Formatted Display of Variable Value Dwell for Specified Time Start False Condition Branch Start False Condition Branch Enable PLC Buffer(s) ENABLE PLC {constant}[,{constant}] ENABLE PLC {constant}..
PMAC Quick Reference Guide Incremental Move Mode Incremental rotation/scaling of X, Y, and Z axes J-Vector Specification for Circular Moves K-Vector Specification for Circular Moves Blended Linear Interpolation Move Mode Set M-Variable Value Synchronous M-Variable Value Assignment M-Variable 'And-Equals' Assignment M Variable 'Or-Equals' Assignment M-Variable 'XOR-Equals' Assignment Machine Code (M-Code) Read MACRO auxiliary parameter value INC [({axis}[,{axis}...
PMAC Quick Reference Guide Return From Subroutine Jump/End Main Program Spindle data command Cause PMAC to Send Message RETURN RET S{data} SEND"{message}" SENDS"{message}" SENDP"{message}" Motion Program PROG / ROT PROG / ROT / PLC Cause PMAC to Send Control Character SEND^{letter} SENDS^{letter} SENDP^{letter} PROG / ROT / PLC Put program in uniform cubic spline motion mode Put program in non-uniform cubic spline motion mode Stop program execution SPLINE1 PROG / ROT SPLINE2 PROG / ROT STOP M
PMAC Quick Reference Guide APPENDIX E – MOTOR SUGGESTED M-VARIABLE DEFINITIONS Registers Associated with Encoder/DAC Motor #1 Motor #2 Motor #3 Motor #4 Motor #5 Motor #6 Motor #7 Motor #8 ENC 24-bit counter position DAC 16-bit analog output ENC capture/compare position register ENC interpolated position (1/32 ct) ADC 16-bit analog input M101>X:$C001,0,24,S M102>Y:$C003,8,16,S M103>X:$C003,0,24,S M104>X:$0720,0,24,S M105>Y:$C006,8,16,S M111>X:$C000,11,1 M112>X:$C000,12,1 M113>X:$C000,13,1 M114>X:
PMAC Quick Reference Guide Motor Status Bits Stopped-on-positionlimit bit Positive-end-limit-set bit Negative-end-limit-set bit Desired-velocity-zero bit Dwell-in-progress bit Running-program bit Open-loop-mode bit Amplifier-enabled status bit In-position bit Warning-following error bit Fatal-following-error bit Amplifier-fault-error bit Home-complete bit 92 Motor #1 Motor #2 Motor #3 Motor #4 M130>Y:$0814,11,1 M131>X:$003D,21,1 M132>X:$003D,22,1 M133>X:$003D,13,1 M135>X:$003D,15,1 M137>X:$003D,17,1
PMAC Quick Reference Guide Motor Move Registers Commanded position (1/[Ix08*32] cts Actual position (1/[Ix08*32] cts) Target (end) position (1/[Ix08*32] Position bias (1/[Ix08*32] cts) X-axis target position (engineering units) Actual velocity (1/[Ix09*32] cts/cyc) Present master (handwheel) pos (1/[Ix07*32] cts) Filter Output (DAC bits) Compensation correction Present phase pos.
PMAC Quick Reference Guide Coordinate System Status Bits Coordinate System 1 Coordinate System 2 Coordinate System 3 Coordinate System 4 Program-running bit M180>X:$0818,0,1 M181>Y:$0817,21,1 M182>Y:$0817,22,1 M184>X:$0818,4,1 M187>Y:$0817,17,1 M188>Y:$0817,18,1 M189>Y:$0817,19,1 M190>Y:$0817,20,1 M280>X:$08D8,0,1 M281>Y:$08D7,21,1 M282>Y:$08D7,22,1 M284>X:$08D8,4,1 M287>Y:$08D7,17,1 M288>Y:$08D7,18,1 M289>Y:$08D7,19,1 M290>Y:$08D7,20,1 M380>X:$0998,0,1 M381>Y:$0997,21,1 M382>Y:$0997,22,1 M384>X:$0
PMAC Quick Reference Guide APPENDIX F – I/O SUGGESTED M-VARIABLE DEFINITIONS I/O M-Variables Definition MI/O0 MI/O1 MI/O2 MI/O3 MI/O4 MI/O5 MI/O6 MI/O7 MI/O8 MI/O9 MI/O10 MI/O11 MI/O12 MI/O13 MI/O14 MI/O15 MI/O16 MI/O17 MI/O18 MI/O19 MI/O20 MI/O21 MI/O22 MI/O23 MI/O24 MI/O25 MI/O26 MI/O27 MI/O28 MI/O29 MI/O30 MI/O31 MI/O32 MI/O33 MI/O34 MI/O35 MI/O36 MI/O37 MI/O38 MI/O39 MI/O40 MI/O41 MI/O42 MI/O43 MI/O44 MI/O45 MI/O46 MI/O47 M900->Y:$FFD0,0,1 M901->Y:$FFD0,1,1 M902->Y:$FFD0,2,1 M903->Y:$FFD0,3,1 M904->
PMAC Quick Reference Guide Control-Panel Port Input Bits Jog Minus Input Jog Plus Input Prejog Input Start (Run) Input Step/Quit Input Stop (Abort) Input Home Command Input Feed Hold Input Motor/C.S. Select Input Bit 0 Motor/C.S. Select Input Bit 1 Motor/C.S. Select Input Bit 2 Motor/C.S. Select Input Bit 3 Selected Motor/C.S.
PMAC Quick Reference Guide General Purpose Inputs and Outputs Machine Output 1 Machine Output 2 Machine Output 3 Machine Output 4 Machine Output 5 Machine Output 6 Machine Output 7 Machine Output 8 Machine Outputs 1-8 treated as byte Machine Input 1 Machine Input 2 Machine Input 3 Machine Input 4 Machine Input 5 Machine Input 6 Machine Input 7 Machine Input 8 Machine Inputs 1-8 treated as byte PMAC Built-in timers Timer register 1 (8388608/I10 msec) Timer register 2 (8388608/I10 msec) Timer register 3 (83
PMAC Quick Reference Guide 98 Appendix F – I/O Suggested M-Variable Definitions
Appendix G – Acc-8D/8P Pinout Descriptions 99 2.81 in. (71.37 mm) 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 64 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 J3A E1 E2 E3 E4 E5 E6 E7 E8 E9 E10 E11 E12 J6 J5 J1A J2A RESERVED FOR OPTION 1 PMAC ACC-8D TERMINAL BLOCK BOARD TB1 J3B J2B J1B JPMAC/ J4B VMEBUS J4A TP1 JPMAC/ PCBUS 8.37 in. (212.60 mm) 7.87 in. (200.00) .16 in. (4.06 mm) .16 in. (4.
100 Pin # Symbol Function Encoder Inputs 3, 7, 11, 15 Analo g Power 58 AGND INPUT 59 A+15V/OPT+V INPUT 60 A-15V INPUT Refer to the appropriate PMAC Hardware Reference manual for connections and jumper descriptions.